Vous êtes sur la page 1sur 35

Rapportd'

expos

Prsentation sur les VPN

tudiants :
Denis de REYNAL
Jehan-Guillaume de RORTHAIS
Sun Seng TAN

Informatique et Rseaux 3me anne Fvrier 2004

UFRIngnieurs2000

13/02/2004

Rapport VPN

Table des matires


IIntroductionauxVPNs................................................................................5
ALesrseauxprivs....................................................................................................5
BRseauprivvirtuel.................................................................................................5
CCasd'
utilisation........................................................................................................6
DPrsentationdestermes............................................................................................6

IILesalternatives:TunnelsetVPNditlgers........................................7
ATunnelsetVPNLgers............................................................................................7
BForwardingdeportavecSSHetSSL......................................................................8
1Portforwarding............................................................................................................................8
2PortforwardingetSSH...............................................................................................................9
3PortforwardingetSSL................................................................................................................9

CEncapsulationdeprotocoles..................................................................................10
1Ipsurip......................................................................................................................................10
2IPsurGRE(GenericRoutingEncapsulation)...........................................................................10

DCombinerlesdeuxsolutions..................................................................................11
EVPNsousMsWindows.........................................................................................11
FAutressolutions......................................................................................................11

IIIIPSec:Prsentationglobale....................................................................12
APrsentation............................................................................................................12
1Gnralits.................................................................................................................................12
2Aspectstechnique......................................................................................................................12

BDtailsduprotocole...............................................................................................13
2/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
1GestiondesfluxIPSec..............................................................................................................13
a)SecurityPolicy.......................................................................................................................13
b)SecurityAssociation..............................................................................................................13
c)BasesdedonnesSPDetSAD..............................................................................................14
2Modesd'
IPSec..........................................................................................................................14
a)ModeTransport.....................................................................................................................14
b)ModeTunnel.........................................................................................................................15
3Dtailsdesprotocolesajouts...................................................................................................15
a)EntteAH.............................................................................................................................15
b)ChampsESP..........................................................................................................................16

IVGestiondesclefsIPSec...........................................................................18
ALesdiffrentstypesdeclefs..................................................................................18
BPKIPublicKeyInfrastructure............................................................................18
CEchangedeclefsetauthentification......................................................................18
1Lesmcanismesdescurisationdeschanges..........................................................................18
2AlgorithmedeDiffieHellman..................................................................................................19

DISAKMPetIKE.....................................................................................................19
1ISAKMP....................................................................................................................................20
2IKE............................................................................................................................................20
a)Phase1...................................................................................................................................20
Mainmode............................................................................................................................21
Agressivemode.....................................................................................................................23
b)Phase2 :QuickMode...........................................................................................................24
c)SynthsedelangociationIKE.............................................................................................26

VConclusion................................................................................................26

3/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

4/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

I - Introduction aux VPNs


Indniablement, internet est rentr dans nos meurs. A travers, ce rseau informatique, tout un monde

parallle s'est dvelopp : des sites marchands ont fleuris, les services pour les particuliers comme les guides
d'itinraire pour nos voyages nous simplifient bien la vie. Enfin on en vient a changer des donnes travers
des programmes d'change de fichiers et chater entre internautes. Nous retiendrons de tout a

qu'Internet est un vritable outil de communication. A la fois high tech et dmod par sa technique, internet

n'a pas su voluer dans l'utilisation de ses protocoles, la plupart des protocoles utiliss ont plusieurs annes
d'existence et certains n'ont pas t cre dans une optique ou le rseau prendrait une tel envergure. Les mots

de passe traversent ainsi les rseaux en clair, et l o transitent des applications de plus en plus critiques sur
le rseau, la scurit, elle, peu volu.

Quand on parle de scurit, c'est en faisant rfrence aux pirates, virus, vers, cheval de Troie, etc ... Ils
profitent de failles des protocoles, du systme, mais surtout du faite que le rseau n'tait pas dvelopp dans
une optique scurit .

Internet dans ce contexte l n'a pas la vocation d'tre une zone scurise. La plupart des donnes y circule
nue. On alors recours des algorithmes de cryptage, pour garder nos donnes confidentielles.

A - Les rseaux privs


Couramment utiliss dans les entreprises, les rseaux privs entreposent souvent des donnes

confidentielles l'intrieur de l'entreprise. De plus en plus, pour des raisons d'interoprabilit, on y utilise les
mmes protocoles que ceux utiliss dans l'Internet. On appelle alors ces rseaux privs intranet . Y sont

stocks des serveurs propres l'entreprise : portails, serveurs de partage de donnes, etc ... Pour garantir
cette confidentialit, le rseau priv est coup logiquement du rseau internet. En gnral, les machines se

trouvant l'extrieur du rseau priv ne peut accder celui-ci. L'inverse n'tant pas forcment vrai.
L'utilisateur au sein d'un rseau priv pourra accder au rseau internet.

B - Rseau priv virtuel


Le but d'un rseau priv virtuel (Virtual Private Network ou VPN) est de fournir aux utilisateurs et

5/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
administrateurs du systme d'information des conditions d'exploitation, d'utilisation et de scurit travers un
rseau public identiques celles disponibles sur un rseau prive . En d'autre terme, on veut regrouper des

rseaux privs, spar par un rseau public (internet) en donnant l'illusion pour l'utilisateur qu'ils ne sont pas
spars, et toute en gardant l'aspect scuris qui tait assur par de la coupure logique au rseau internet.

C - Cas d'utilisation
On peut trouver plusieurs cas d'utilisation d'un VPN dont :

Le Tltravail. Il existe des entreprises sans locaux, ou les employs travaillent chez eux. Quand ce type

de travail est possible, pourquoi dpenser plus pour des locaux, des problmes de transport, etc ... ? Le

VPN apporte la possibilit pour tous ses employs de travailler sur un mme rseau priv virtuel. Il doit
alors videment disposer d'une connexion internet qui lui permet de travailler distance, et d'utiliser les
diffrents services du rseau, et mme exploiter des outils de travail collaboratif.
Connexion de sites distants. Pour en entreprise possdant plusieurs sites, il est parfois avantageux de les

relier. Une premire solution serait d'utiliser une LS. Mais cette solution un coup, et le VPN ne cote pas
plus que 2 connexion d'accs internet.

Les nouvelles normes de communication telles que le Wifi ont vu le jour. Cette dernire par exemple, est de
plus en plus utilise, dans les bibliothques, entreprises ou universits, les rseaux sont accessibles partout.
Mais posent des problmes videntes de scurits : le mur de scurit physique que l'on avait travers

l'utilisation de cble n'existe plus. Il est alors simple d'intercepter les flux rseaux qui sont transports dans

les ondes radio. Le rseau priv ne conserve alors plus la confidentialit qu'elle avait. Certes un cryptage est
spcifi dans la norme 802.11b, mais n'est pas assez robuste (WEP). C'est pour cette raison que pour des
rseaux sensibles , on recours aux techniques utilises par les VPN. Ainsi, il est possible, de manire
scurise, d'utiliser le rseau sans fil.

D - Prsentation des termes


Le VPN est ne reprsente donc qu'un concept, derrire lui, plusieurs implmentations ont vu le jour, selon
l'utilisation que l'on veut en faire, le niveau de scurit, la taille du rseau, etc ...

6/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Plusieurs moyens techniques peuvent tre utiliss et coupls pour mettre en oeuvre des VPN : le chiffrement,
l'authentification, le contrle d'intgrit et les tunnels.

Chiffrement. Utilis pour que les donnes traversant le rseau ne puisse pas tre lu par une autre
personne. On utilise pour cela notre baguage mathmatique et surtout arithmtique. Les deux principaux

type de cryptage utiliss sont : le chiffrement asymtrique et symtrique. Le chiffrage symtrique utilis la
mme cl pour chiffrer et pour dchiffrer. L'inconvnient, est clair : chaque partie de la communication
devra avoir la mme cl, et la communiquer la partie adverse sans que les autres puisses le rcuprer.

Plusieurs algorithmes de cryptage peuvent tre utiliss : DES, AES, RC4/5. Le cryptage asymtrique n'a
pas cette inconvnient la : deux cls sont utilises : une cl publique et une cl prive. La cl public est

disponible par tout le monde. Elle sert a crypter des donnes. Si on veut communiquer avec un autre, on
doit rcuprer sa cl publique et seul lui pourra la dcrypter avec sa cl priv. Bien sur le cryptage et le

dcryptage se font de manire prcise suivant la mthode utilis. La plus connue est la mthode RSA,
acronyme des chercheurs qui ont publis cette mthode : Rivest, Shamir et Adleman.

Le chiffrement est utilis dans le contexte du VPN pour garantir la confidentialit des donnes circulant sur
le rseau publique. En effet, le rseau priv n'est que virtuellement coup du rseau publique.

Authentification : On veut garantir qu'a chaque instant de la communication, on parle au bon interlocuteur.
Dans le cadre du VPN, on parle des deux passerelles qui sont spar par internet.

Contrle d'intgrit : il garantit que les donnes transmit entre les interlocuteur n'ont pas t modifi.

Tunnel : le tunnel consiste tablir un canal entre 2 points sans ce soucier des problmatique
d'interconnexion (de faon transparente). Nous verrons plus en dtail cet aspect important du VPN.

Finalement il n'y a pas qu'une seule faon de dployer un VPN : Dans la plupart des cas, le protocole IPSec

est utilis. Mais il n'est pas le seul. Les spcifications de votre VPN dpendra aussi de l'utilisation que vous
allez en faire. C'est pourquoi nous allons dans les chapitres venir, voir un aperu des diffrents solutions
existantes en parcourant quelques exemples de tunnel et VPN dit lgers , et enfin nous tudierons plus en
dtail le protocole IPSec et son dploiement dans un environnement GNU/Linux.

7/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

II - Les alternatives : Tunnels et VPN dit lgers


A - Tunnels et VPN Lgers
Le tunnel est une composante indispensable des VPN ; la problmatique est la suivante : on veut relier deux
rseaux privs qui sont spars par un rseau publique (internet) de faon transparente pour l'utilisateur.

L'utilisateur utilisera ainsi des interfaces rseaux virtuel et aura l'illusion de discuter directement avec le
rseau qui se trouve, en fait, de l'autre cot d'Internet. La solution technique utilise, dans la plupart des cas,
pour mettre en oeuvre des tunnels est l'encapsulation de protocole. Technique dj utilise par nos

fournisseur d'accs internet, elle sera utilis dans pas mal de VPN, mais la diffrence de nos FAI,
l'encapsulation masquera le rseau internet (au lieu du rseau priv du provider). Une autre technique utilis,
est le forwarding de port.
Le concept du tunnel ne sous entend rien concernant le chiffrement ; l'essentiel est de garantir la
transparence de la communication entre les 2 rseaux qui ne sont pas directement interconnects.

Illustration1:TunnelinterconnectantlerseausousrseauAausousrseauBtraverslerseauInternet.
L'informatique pour les informaticiens ? Srement pas ! L'informatique doit tre un moyen simple pour
n'importe qui d'exploiter les machines. Paralllement, les VPN que l'on cre doivent tre la mesure des

8/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
utilisateurs, personne ne veut passer des nuits configurer sa passerelle pour mettre en place un simple VPN

pour une petite infrastructure. De plus, le VPN n'est pas toujours utilis pour transfr des donnes
critiques , une politique de scurit dure est elle forcment exige ?

On parle de VPN Lgers, car certains moyens techniques n'offrent pas pas toutes les composantes du VPN :
scurit, transparences quand on ne dispose pas de moyens techniques, matriel ou financier de
dvelopper?

Finalement pour mettre en place ces alternatives (nous parlons bien d'alternatives IPSec qui est le plus
utilis pour dployer des VPN) plusieurs solutions existent selon vos besoins.

B - Forwarding de port avec SSH et SSL


1 - Port forwarding
Le principe est est de faire transiter n'importe quel type de donne IP travers un canal scuris.
Considrons 2 passerelles : elles seront configurer de manire ce que les connections sur un port du
premier sont redirig sur un port d'une machine situ dans le rseau derrire la deuxime passerelle.

Illustration2:Exempledeforwardingdeport.

9/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Sur ce schma, le client SSH de l'hte 10.1.1.7 "forward" les requte qu'il reoit sur 127.0.0.1:9999 vers le
serveur SSH de l'hte 10.1.1.7 qui lui mme forwardera les paquets reus vers 127.0.0.1:123.

2 - Port forwarding et SSH


SSH est un outils permettant travers des mcanisme d'authentification, de chiffrement et de compression
d'accder un shell distant, de transfrer des fichiers (scp) et de faire du fowarding de port.

C'est cette dernire fonctionnalit qui nous intresse, pour cela nous disposons d'un client ssh sur une des
passerelles et du serveur sur la deuxime passerelle.

Sur le serveur, on rajoutera la ligne GatewayPorts yes au fichier /etc/ssh/sshd_config et sur le client on
tablira le tunnel par la commande suivante :

# ssh -g -L <portSurLeClientSSSH>:<ipDuServeurDistant>:<portDaccsAuServeurDistant> <ipDuServeurSSH>

Si on veut par exemple pourvoir accder un serveur web situ sur un serveur du rseau adverse :

# ssh -g -L 80:192.168.1.2:80 sunix.homelinux.net

192.168.1.2 tant l'adresse du serveur dans le rseau priv adverse, sunix.homelinux.net tant le la
passerelle adverse ou se trouve le serveur ssh.

Ainsi, partir d'un client web dans notre rseau, on rentrera l'adresse de notre passerelle pour accder au
serveur web.

3 - Port forwarding et SSL


Netscape en 1994, cre le protocole SSL afin de scuriser les transmissions entre les navigateurs web. Nous
pouvons exploiter ce protocole aujourd'hui pour faire du port forwarding, travers un wrapper nomm
stunnel : http://www.stunnel.org/. On peut ainsi effectuer le mme genre de tunnel grce cette outil.

L'avantage de ces solutions est qu'elles prsentent tous les composants d'un vritable VPN : authentification,

chiffrement des donnes, tunnel. Nanmoins, elles ont t conu pour faire transiter des paquets IP. Le
deuxime type de solution pour raliser nos tunnel s'appuie sur l'encapsulation de protocole; ces solutions
peuvent tre utilis sur n'importe quel protocole (du moins en thorie).

10/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

C - Encapsulation de protocoles
Les protocoles rseaux permettent de transporter des donnes travers les rseaux. Et pourquoi se donnes
ne serait pas d'autre paquet rseau qui transporte eux mme l'information ? Pourquoi faire ? On se trouve

dans la problmatique ou on veut crer des tunnels, et on veut donner l'illusion l'utilisateur qu'il discute
directement avec le rseau adverse alors qu'en fait il passe par internet. L'ide de l'encapsulation : l'utilisateur
va envoyer des informations travers une interface rseau virtuel, ces paquets seront encapsuls et
transporter travers un autre rseau puis dcapsul sur le rseau adverse derrire une autre interface
virtuelle. Voici quelques exemple de solution utilisant l'encapsulation de protocole :

1 - Ip sur ip
Les tunnels IP sur IP encapsule les paquets IP sur des paquets IP. Ce type de tunnel peut servir relier deux

rseaux non connect mais relier internet. L'intrt, comme dans plupart des tunnels, est de crer une
interface rseau virtuel qui accdera virtuellement et directement au rseau adverse. Les paquets utiliss
dans cette interface virtuel sera encapsul.

Son Linux, le module ipip permet de mettre en oeuvre ce mcanisme, cette exemple de script de dmarrage
permet de mettre en oeuvre un tel rseau : http://www.xs4all.nl/~yskes/howto/linux_ipip_tunnel.htm

2 - IP sur GRE (Generic Routing Encapsulation)


GRE est un protocole dvelopp par Cisco. Le protocole intgre la notion d'encapsulation de protocole. Il

permet ainsi de supporter plusieurs types de protocoles pour les transporter sur de l'IP. Il est dfini par la RFC
2784.
http://www.routage.org/gre.html
GRE l'avantage de pouvoir interconnecter des rseaux ip ou non travers un rseau ip comme internet, on
peut notamment faire du tunneling de paquet ipv6 ou multicast sur de l'IP. Il est supporter par un grand
nombre de d'appareils, de routeurs, et d'OS. Avec Linux, le module ip_gre permet permet de mettre en place
ce genre de tunnel.

On peut mettre en place ce type de tunnel sous Linux l'aide du module ip_gre et des outils iproute2 qui
servent d'interface avec ip_gre.

11/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
D - Combiner les deux solutions
PPPD est un dmon qui permet d'injecter du trafic au niveau 3 de la couche ISO et les faire transiter travers
un tunnel. On peut galement spcifier au dmon, les programmes sur lequel le tunnel va transiter. Grce

cette fonctionnalit, il est alors possible d'utiliser ssh ou stunnel et bnficier de leurs avantage
(authentification, certificat, etc ...).

PPP over SSH, tait l'une des premire solution VPN mise en place : http://www.tldp.org/HOWTO/VPNHOWTO/

Pour la mettre en oeuvre, on utilise le dmon PPPD coupl avec SSH.


PPP over SSL fonctionne de la mme faon, mais avec stunnel.

E - VPN sous Ms Windows.


Par dfaut dans tous les Windows, est disponible la solution PPTP (Point to Point Tunneling Protocol) qui
permet de dployer des VPN. PPTP encapsule du PPP sur du GRE. Il est gnralement coupl avec MSCHAP pour l'authentification.
Une analyse ralis par Bruce Schneier et Mudge, dmontre les failles de cette solution. La solution t
rvis depuis une autre tude redmontr que des failles persistait. Pour en savoir plus :
http://www.schneier.com

F - Autres solutions
Bien d'autres solutions existent, comme CIPS, ou TUN/TAP. Nanmoins nous n'en parlerons pas plus dans
cette article.

Nous avons vu que les VPN peuvent tre dployer par des moyens assez divers. Nanmoins les VPN

majoritairement utilis pour travers le rseau internet qui repose sur IP. IPSec, propose des solutions
robustes bases sur la version 4 et intgr dans la version 6 du protocole. Voyons IPSec de plus prs.

12/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

III - IPSec : Prsentation globale


A - Prsentation
1 - Gnralits
IPSec (Internet Protocol Security) a t conu pour scuriser les communications rseau partir de la couche
3 du modle OSI. Il a t conus de manire tre support par Ipv4 et a t intgr dans le protocole Ipv6.

IPSec n'est pas un remplaant d'IP mais un complment. Ainsi, il intgre des notions essentielle de scurit
au datagramme IP qui en assureront l'authenticit1, l'authentification2 et le cryptage3. Pour cela, il fait
largement usage de cl de sessions (voir 4.1.Types de clefs)
Sa position dans les couche basse du modle OSI lui permet donc de scuriser tous type d'applications et
protocoles rseaux base sur IP sans distinction.

IPSec est trs largement utilis pour le dploiement de rseau VPN travers Internet petite et grande
chelle.

2 - Aspects technique
IPSec est bas sur 2 mcanismes diffrents assurant les rles de scurisation des donnes : AH
(Authentification header) et ESP (Encapsuling Security Payload).

IPSec est largement configurable. Ainsi, chacun des deux mcanismes AH et ESP peuvent tre utiliss seuls
ou combins avec le second afin de dfinir le niveau de scurit voulu. De plus, il est possible d'indiquer les
algorithmes de hachage ou d'encrytion voulu lors d'une communication.

Les cls de session sont de type symtrique (dfinition manuelles des cls) ou asymtrique (gnration
automatique des cls). Voir : 4. La gestion des clefs

1 L'a
uthenticitdesdonnespermetd'as
surerquelesdonnesreuessontstrictementidentiquescellesmise.
2 L'a
uthentificationpermetd'a
ssurerquel'm
etteurdesdonnesestbienceluiqu'il
prtendtre.

3 Lecryptagepermetd'as
surerquelesdonnestransmiseneserontniluenicopierparunetiercepersonnedurantleur
acheminement.

13/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

L'authentification et l'authenticit des donnes sont assure par un mcanisme de hachage des donnes
traite. si les deux partie de la communication trouve la mme signature, c'est qu'ils utilisent bien les mme
cls de sessions qui ont permis de gnrer cette mme signature des deux cot.

Notons que tous ces choix influencerons sur les performances des transferts.

B - Dtails du protocole
Le mcanisme interne d'IPSec est complexe. Le fait que ce protocole soit hautement configurable introduit
des notions de gestion et configuration inconnues du monde IP.

1 - Gestion des flux IPSec


Les flux IPSec sont gr unidirectionnellement. Ainsi, une communication bidirectionnelle entre deux machine
utilisant IPSec sera dfinie par diverse processus pour chacun des sens de communication. Les procds
dtaill ci-dessous respectent tout deux cette lois.

a) Security Policy
Une SP dfini ce qui doit tre trait sur un flux. Comment nous voulons transformer un paquet.
Il y sera indiqu pour un flux donn :

Les adresses IP de l'metteur et du rcepteur (unicast, mulitcast ou broadcast);

Par quel protocole il devra tre trait (AH ou ESP) ;

Le mode IPSec utiliser (tunnel ou transport) ;.

Le sens de la liaison (entrante ou sortante) ;

Notons qu'une SP ne dfini qu'un protocole de traitement la fois. Pour utiliser AH ET ESP sur une
communication, deux SP devront tre cre.

b) Security Association
Une SA dfini comment sera trait le paquet en fonction de sa SP associe. Elle ne sont que la "ralisation"
des SP. Elle possde l'ensemble des proprits de la liaison. Ainsi, elle sera reprsente par une structure de
donne contenant les informations suivantes :

14/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Un compteur permettant de gnrer les numros de squence des enttes AH et ESP ;
Un flag (drapeau) permettant d'avertir qu'en cas de dpassement du compteur prcdemment dcrit, on

doit interrompre la communication ;


Une fentre d'anti rptition dans laquelle doit tomber le prochain numros de squence ;
Information sur l'AH : algorithme d'authentification, clefs, dure de bie, etc ;
Information sur l'ESP : algorithme d'authentification et de chiffrement, clefs, etc ;
Mode IPSec : tunnel ou transport ;
Dure de vie de la SA ;
MTU.

Nous dtaillerons les modes d'IPSec dans le prochain chapitre.


Une SA est identifie un seul et unique flux unidirectionnel grce trois champs :

L'adresse IP de destination (unicast, multicast ou broadcast);

Le protocole utilis, AH ou ESP ;

Le SPI (Security Parameter Index).

Comme nous pouvons le voir, une SA ne sera associe qu'a un seul des protocole AH ou ESP. si nous
voulons protger un flux avec ces deux protocoles, deux SA devront tre cr.

LE SPI est un indice (ou ID) sur 32 bits attribu au SA lors de sa cration. Nous verrons plus loin que sa
gnration dpendra du mode de gestion des cls de sessions. Il sert distinguer les diffrentes SA qui
aboutissent une mme destination et utilisant le mme protocole.

c) Bases de donnes SPD et SAD


Tout systme implmentant IPSec possde donc 2 bases de donne distinctes dans laquelle ils stockent
leurs SP (ici, SPDatabase) et leurs SA (ici, SADatabase).

La SPD dfini donc le traitement de chaque type de trafic entrant ou sortant, en fonction des metteurs /
rcepteurs, selon trois type :

15/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
DISCARD, dans ce cas celui-ci sera tout simplement jet. Il n'est pas autoris sortir de la passerelle ni

la traverser ni tre dlivr une quelconque application.

BYPASS IPSEC laisse passer le trafic sans traitement IPSec.


APPLY IPSEC signifie que des services IPSec sont appliquer ce trafic.

Pour chaque trafic soumis des services IPSec, la base SPD possde une rfrence vers la SA
correspondante dans la base SAD. Si cette entrs n'est pas dfinie, dans le cas d'une gestion dynamique des
cls, celle-ci sera alors cre en accord avec la configuration dfinie par l'administrateur.

2 - Modes d' IPSec


Il existe deux modes d'utilisation d'IPSec : le mode transport et le mode tunnel. La gnration des
datagrammes sera diffrente selon le mode utilis.

a) Mode Transport
Ce mode est utilis pour crer une communication entre deux htes qui supportent IPSec. Une SA est tablie

entre les deux htes. Les enttes IP ne sont pas modifies et les protocoles AH et ESP sont intgrs entre
cette entte et l'entte du protocole transport.
Ce mode est souvent utiliser pour scuriser une connexion Point-To-Point.

b) Mode Tunnel
Ce mode est utiliser pour encapsuler les datagrammes IP dans IPSec. La SA est applique sur un tunnel IP.

Ainsi, les enttes IP originales ne sont pas modifie et un entte propre IPSec est cre. Ce mode est
souvent utilis pour crer des tunnels entre rseaux LAN distant. Effectivement, il permet de relier deux
passerelle tant capable d'utiliser IPSec sans perturber le trafic IP des machines du rseau qui ne sont donc
pas forcment prte utiliser le protocole IPSec.

3 - Dtails des protocoles ajouts


Nous verrons que certains champs sont prsent dans les deux protocoles AH et ESP. En cas d'utilisation des
deux protocoles pour un mme flux de donne, il n'y aura cependant pas redondance d'information.
Effectivement, il faut garder l'esprit que AH et ESP seront gr sparment par des SA diffrents.

AH et ESP sont deux protocoles utilisant des cls des sessions utiles leurs traitement sur le datagramme IP.

16/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
a) En-tte AH
AH permet une scurisation du maximum de donnes du datagramme IP en assurant l'intgrit des donnes
et leur authentification. Toutes les donnes ne pourront tre scurise pour une raison simple : certain
champs dans les enttes sont variables et donc de nature non prdictible. Ces champs pourront donc pas
tre considr comme sr, ce qui en fait le talon d'achille d'AH.

En revanche, il ajoute tout de mme un contrle contre les rptition et de d'intgrit des donnes sur un
mode non connect (couche IP).

Illustration 3: Intgration d'AH dans un datagramme Ipv4 en mode transport.

17/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Illustration 4 Intgration d'AH dans un datagramme IPv4 en mode tunnel.

Dtails des champs de l'en-tte AH :


8
Entte suivante

16
Longueur des donnes

32
Rserv

Security parameters index (SPI)


Numros de squence
Donnes Authentification (variable)

Entte suivante : ce champs permet de spcifier le type du protocole transport ;

Longueur des donnes : longueur de l'entte AH par facteur de 32-bit, le minimum tant 2 ;

SPI : index unique dfinissant la SA pour ce paquet ;

Numros de squence: compteur utile au mcanisme d'anti-rptition ;

Donnes Authentification (variable) : champs contenant les signatures de hachages permettant

d'authentifier l'metteur et l'authenticit des donnes. la taille de ce champs dpend des protocoles de
hachage utiliss.

b) Champs ESP

18/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
ESP permet la scurisation des donnes du datagramme IP par le chiffrement (confidentialit), l'intgrit et
l'authentification des donnes. En mode transport, seuls les donnes transportes par le datagramme seront
protge, en mode tunnels, ce sera l'intgralit du datagramme qui sera protg.
L'authentification et l'intgrit des donnes sont assurs par les mme mcanismes que pour AH.

Illustration 5: Intgration d'ESP dans un datagramme Ipv4 en mode transport.

Illustration 6 Illustration 5: Intgration d'ESP dans un datagramme Ipv4 en mode tunnel.

19/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Dtails des champs du protocole ESP :


16

24

32

Security association identifier (SPI)


Numros de squence
Donnes
Bourrage (0-255 octets)
Taille du bourrage

Entte souvante

Donnes Authentification (variable)

SPI : index unique dfinissant la SA pour ce paquet ;

Numros de squence: compteur utile au mcanisme d'anti-rptition ;

Donnes : donne du protocole de couche suprieure ;

Bourrage : sert l'encryption des donnes. Certains protocoles ncessitent une certaine taille afin d'tre
plus efficace et/ou applicable ;

Taille du bourrage : indique la taille du bourrage ;

Entte suivante : ce champs permet de spcifier le type du protocole transport ;

Donnes Authentification (variable) : champs contenant les signatures de hachages permettant

d'authentifier l'metteur et l'authenticit des donnes. la taille de ce champs dpend des protocoles de
hachage et d'encryption utiliss.

Tous les processus que nous venons de dcouvrir son donc bas sur des mcanisme de cryptage et de
hachage complexe qui utilisent des cls de longueurs variable. Avant d'utiliser un VPN, il faut donc
s'intresser la gestion de ses cls.

20/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

IV - Gestion des clefs IPSec


A - Les diffrents types de clefs
Clefs de chiffrement de clefs

Ces clefs sont utilises afin de chiffrer d'autres clefs et ont gnralement une dure de vie longue. Les
clefs tant des valeurs alatoires, l'utilisation d'autres clefs pour les chiffrer rend les attaques par
cryptanalyse (tentatives de dchiffrement du message) plus difficiles leur niveau. La cryptographie clef

publique est souvent utilise pour le transport de clefs, en chiffrant la clef transporter l'aide d'une clef
publique.

Clefs matresses

Les clefs matresses sont des clefs qui ne servent pas chiffrer mais uniquement gnrer d'autres clefs

par drivation. Une clef matresse peut ainsi tre utilise, par exemple, pour gnrer deux clefs : une pour
le chiffrement et une pour la signature.

Clefs de session ou de chiffrement de donnes

Ces clefs, contrairement aux prcdentes, servent chiffrer des donnes.

B - PKI - Public Key Infrastructure


De nombreuses applications et protocoles utilisent le cryptage chef publiques sur d'importants rseaux. Il
est ncessaire de pouvoir grer dans ce cas un nombre important de clefs publiques. Pour cela, on a recours
des Infrastructures Clefs Publiques, ou PKI (Public Key Infrastructure). Ces infrastructures se basent

gnralement sur des autorits de certification (CA : Certificate Authorities), qui garantissent l'authenticit des
clefs publiques et permettent une gestion hirarchise de celles ci

21/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
C - Echange de clefs et authentification
La premire tape lors de l'tablissement d'une communication scurise, est l'authentification des

interlocuteurs. Ensuite, un change de clef permet l'utilisation d'un mcanisme de scurisation des
changes : l'authentification est ainsi tendue la suite de la communication (L'change de clef devant bien
sur tre authentifi).

1 - Les mcanismes de scurisation des changes


Le Perfect Forward Secrecy (PFS) est assure par une rengociation rgulire des clefs. Dans le cas ou
un attaquant intercepterait et dchiffrerait une clef de session, celle ci serait probablement dj prime
avant qu'il puisse l'utiliser.

L'Identity Protection, ou protection de l'identit, est respecte si un message intercept ne permet pas de
dterminer l'identit des tiers communiquant.

Le Back Traffic Protection consiste en une gnration de nouvelles clefs de sessions sans utilisation de clefs
matresses. Les nouvelles clefs tant indpendantes des clefs prcdentes, la dcouverte d'une clef de
session ne permet ni de retrouver les clefs de session passes ni d'en dduire les clefs venir.

2 - Algorithme de Diffie-Hellman
Invent en 1976 par Diffie et Hellman, ce protocole permet deux tiers de gnrer un secret partag sans

avoir aucune information pralable l'un sur l'autre. Il est bas sur un mcanisme de cryptage clef publique,
et fait donc intervenir les valeurs publiques et prives des tiers. Le secret gnr l'aide de ce protocole peut
ensuite tre utilis pour driver une ou plusieurs clefs (clef secrte, clef de chiffrement de clefs...).
Cette algorithme est trs simple pour l'change des clefs :
Soient 2 personnes A et B dsirant communiquer sans utiliser une clef secrte. Pour cela ils se mettent
d'accord sur 2 nombres g et n tels que n soit suprieur g et g suprieur 1, et cela sur un canal non
scuris (il faut que n soit grand: de l'ordre de 512 ou 1024 bits pour que l'change des clefs soit scuris). Ils
prennent chacun chez eux un nombre alatoire :
A choisit x ,calcul X=g^x mod n et l'envoie B ;

22/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
B choisit y ,calcul Y=g^y mod n et l'envoie A.

Ainsi le pirate peut intercepter X, et Y mais il lui est trs trs difficile d'en dduire x et y (c'est sur ce principe
que repose la scurit de l'algorithme). Une fois dans son coin, A calcule k=Y^x mod n et B calcule k'=X^y

mod n. En regardant de plus prs, on constate que : k=k'=g^xy mod n. Ainsi, A et B ont russi crer un
clef prive dont ils sont les seuls dtenteurs

D - ISAKMP et IKE
IKE (Internet Key Exchange) est un systme dvelopp spcifiquement pour IPsec qui vise fournir des

mcanismes d'authentification et d'change de clef adapts l'ensemble des situations qui peuvent se
prsenter sur l'Internet. Il est compos de plusieurs lments : le cadre gnrique ISAKMP et une partie des

protocoles Oakley et SKEME. Lorsqu'il est utilis pour IPsec, IKE est de plus complt par un "domaine
d'interprtation" pour IPsec.

1 - ISAKMP
ISAKMP (Internet Security Association and Key Management Protocol) permet la ngociation, l'tablissement,
et la suppression d'associations de scurit (SA), permettant ainsi la scurisation de paquets devant tre
achemins.

Il s'agit d'un cadre gnrique permettant la ngociation des associations de scurit, mais il n'impose rien
quant aux paramtres qui les composent. Cette ngociation s'effectue en deux phases, permettant de sparer

la ngociation des SA pour la protection des donnes transfrer, de celle pour la protection du trafic propre
ISAKMP :

Durant la premire phase, un ensemble d'attributs relatifs la scurit est ngoci, les identits des tiers

sont authentifies et des clefs sont gnres. Ces lments forment la SA/ISAKMP. Contrairement aux SA
IPsec, la SA ISAKMP est bidirectionnelle. Elle srvira scuriser l'ensemble des changes ISAKMP futurs.

La seconde phase permet de ngocier les paramtres de scurit qui interviendront pour le transferts des

donnes applicatives (le paquet IP qui devait tre transmis, et qui est l'origine de l'tablissement d'une

23/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
SA). Les changes de cette phase sont scuriss grce la SA ISAKMP.

2 - IKE
IKE utilise ISAKMP, pour construire un protocole pratique. Le protocole de gestion des clefs associ
ISAKMP dans ce but est inspir la fois d'Oakley et de SKEME. Plus exactement, IKE utilise certains des

modes dfinis par Oakley et emprunte SKEME son utilisation du chiffrement clef publique pour
l'authentification et sa mthode de changement de clef.
IKE comprend quatre modes : le mode principal (Main Mode), le mode agressif (Aggressive Mode), le mode
rapide (Quick Mode) et le mode nouveau groupe (New Group Mode).
Main Mode et Aggressive Mode sont utiliss durant la phase 1, et sont dtaills ci dessous. Quick Mode,
quand lui, est un change de phase 2, dtaill en 4.4.2.2.
New Group Mode sert se mettre d'accord sur un nouveau groupe pour de futurs changes Diffie-Hellman.

a) Phase 1
Les attributs suivants sont utiliss par IKE et ngocis durant la phase 1 : un algorithme de chiffrement, une
fonction de hachage, une mthode d'authentification et un groupe pour Diffie-Hellman.

Trois clefs sont gnres l'issue de la phase 1 : une pour le chiffrement, une pour l'authentification et une

pour la drivation d'autres clefs. Ces clefs dpendent des cookies, des alas changs et des valeurs
publiques Diffie-Hellman ou du secret partag pralable. Leur calcul fait intervenir la fonction de hachage
choisie pour la SA ISAKMP et dpend du mode d'authentification choisi.

Mainmode
Compos de six messages, Main Mode est une instance de l'change ISAKMP Identity Protection Exchange :

24/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

25/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Les deux premiers messages servent ngocier les paramtres IKE : algorithme de chiffrement, fonction

de hachage, mthode d'authentification des tiers et groupe pour Diffie-Hellman.

Les quatre mthodes d'authentification possibles sont la signature numrique, deux formes d'authentification
par chiffrement clef publique et l'utilisation d'un secret partag pralable.

Les deux seconds messages permettent l'tablissement d'un secret partag via l'utilisation du protocole

Diffie-Hellman.

Le secret partag sert driver des clefs de session, deux d'entre elles tant utilises pour protger la suite
des changes avec les algorithmes de chiffrement et de hachage ngocis prcdemment.

Les deux derniers messages servent l'authentification des changes et notamment des valeurs publiques.

26/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Agressivemode
Aggressive Mode est une instance de l'change ISAKMP Aggressive Exchange : il combine les changes
dcrits ci-dessus pour Main Mode de faon ramener le nombre total de messages trois.

Dans les deux cas, la mthode choisie pour l'authentification influence le contenu des messages et la
mthode de gnration de la clef de session. Les quatre mthodes d'authentification possibles sont la

signature numrique, deux formes d'authentification par chiffrement clef publique et l'utilisation d'un secret
partag pralable.

b) Phase 2 : Quick Mode


Les messages changs durant la phase 2 sont protgs en authenticit et en confidentialit grce aux
lments ngocis durant la phase 1. L'authenticit des messages est assure par l'ajout d'un bloc HASH

aprs l'en-tte ISAKMP, et la confidentialit est assure par le chiffrement de l'ensemble des blocs du
message.
Quick Mode est utilis pour la ngociation de SA pour des protocoles de scurit donns comme IPsec.
Chaque ngociation aboutit en fait deux SA, une dans chaque sens de la communication.

27/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

28/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
Durant cette phase, il s'agit de :
Ngocier les paramtres IPSec ;
Gnrer une nouvelle clef drive de celle ngocie en phase 1 grace au protocole Diffie-Hellman. (si on

prend on compte les mcanismes de scurisation des changes tels que PFS Perfect Forward Secrecy,

ou le Back trafic Protection cus plus hauts, il peut y avoir d'autres changes tels qu'une nouvelle
ngociation Diffie-Hellman..) ;

Identifier le trafic que les SA ngocies protgeront.

c) Synthse de la ngociation IKE

29/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

V Dmonstration
Ce dossier n'tant pas port sur la configuration fine et l'explication de celles-ci, nous ne
nous contenterons que de mettre disposition nos configuration avec un minimum
d'information.

A - Configuration du kernel
Pour base de nos maquette, nous avons configur un noyau Linux 2.6.1 avec le support IPSec. Pour pouvoir
utiliser IPSec avec ce noyau, il vous faudra compil votre noyau avec les options suivante :
Dans "Networking options" :
IP : AH transformation (CONFIG_INET_AH) ;
IP : ESP transformation (CONFIG_INET_ESP) ;
IPSec user configuration interface (CONFIG_XFRM_USER) ;

La dernire option nous permettra de pouvoir configurer IPSec depuis une interface utilisateur grce des
outils Linux natif.
Vous pourrez aussi ajouter "IPComp transformation" (CONFIG_INET_IPCOMP) si vous voulez que votre
noyau soit capable d'effectuer de la compression sur les donnes mise.
Dans "Cryptographic options", vous aurez la possibilit de slectionner les diffrents algorithme que vous
voudrez utiliser pour votre VPN, certains son coch d'office. Voici les options gnralement voulues :
Null algorithm ;
MD5 digest algorithm ;
SHA1 digest algorithm ;
DES and Triple DES EDE cipher algorithms ;
AES cipher algorithms.

30/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
B - Pr-requis de la maquette
1 - Configuration d'IPSec
Pour pouvoir utiliser et configurer correctement IPSec il nous faudra utiliser un outil spcifique qui aura pour
rle l'interface entre l'administration et le noyau.

Cet outil s'appelle "ipsec-tools" et est un portage de "KAME IPSec utilities" pour linux (http://ipsectools.sourceforge.net/).

Utilisant un systme Debian pour la maquette j'ai pu installer cet outil avec la commande suivante :
# apt-get install ipsec-tools

Mais cet outil est aussi disponnible en paquage rpm.

2 - Configuration d'IKE
Pour pouvoir utiliser IPSec avec une gestion d'change dynamique des cl, nous devons installer un serveur
qui tiendra ce rle. Le serveur que nous allons utiliser s'appelle "racoon" et est directement intgr dans
ipsec-tools.

3 - Configuration rseau
Pour notre maquette nous avons d simuler des rseaux locaux (172.16.0.0/16 et 172.15.0.0/16) utilisant les
interfaces relles de nos machines comme des passerelles de communication pour leurs change. Ces deux
interfaces (eth0) seront donc les points d'entrs dans notre tunnels IPSec.

Pour cela, nous avons donc configur des interfaces virtuelles sur chaque machine avec la commande
suivante :

Sur la premire machine :


# ifconfig eth0:1 172.16.0.0 netmask 255.255.0.0
route add -net 172.15.0.0 netmask 255.255.0.0 gw 192.168.0.2

Sur la seconde :
# ifconfig eth0:1 172.15.0.0 netmask 255.255.0.0
route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.10

31/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
C - Gestion des cls Manuelle
Ce mode permet de crer des VPN IPSec en utilisant toujours les mme cls de chiffrage.
Les deux hte concern par la communication doivent alors possder ces mme cls.

Voici un la configuration que nous avons utilis pour une maquette de ce type ( fichier /
etc/ipsec.conf ) :
#!/sbin/setkey -f
flush;
spdflush;

# AH
#--add 192.168.0.2 192.168.0.10 ah 15700 -A hmac-md5 "1234567890129999";
add 192.168.0.10 192.168.0.2 ah 24500 -A hmac-md5 "1234567890120000";

add 172.16.0.10 172.15.0.10 ah 15701 -A hmac-md5 "1234567890123499";


add 172.15.0.10 172.16.0.10 ah 24501 -A hmac-md5 "1234567890123400";

# ESP
#---add 192.168.0.2 192.168.0.10 esp 15702 -E 3des-cbc "123456789012123456789999";
add 192.168.0.10 192.168.0.2 esp 24502 -E 3des-cbc "123456789012123456780000";

add 172.16.0.10 172.15.0.10 esp 15703 -E 3des-cbc "123456789012123456789099";


add 172.15.0.10 172.16.0.10 esp 24503 -E 3des-cbc "123456789012123456789000";

# Polices de Scurit...
#----------------------spdadd 192.168.0.2 192.168.0.10 any -P in ipsec
esp/transport//require

32/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
ah/transport//require;

spdadd 192.168.0.10 192.168.0.2 any -P out ipsec


esp/transport//require
ah/transport//require;

spdadd 172.16.0.10 172.15.0.10 any -P in ipsec


esp/transport//require
ah/transport//require;

spdadd 172.15.0.10 172.16.0.10 any -P out ipsec


esp/transport//require
ah/transport//require;

Sur la seconde le machine, le fichier de configuration sera identique mis part les "in" et les "out" qui devront
tre chang.
Pour mettre en place la configuration dcrite dans ces fichiers, nous devrons lancer la commande suivante
sur les deux machines :
# setkey -f /etc/ipsec.conf

D - Gestion des cls dynamique


Nous allons continuer utiliser un fichier de configuration /etc/ipsec.conf, mais cette fois-ci, nous n'y
configurerons que la partie sur les polices de scurit. Effectivement, ici les cls ainsi que les protocoles
utiliser seront ngocis par racoon.

Nous allons donc crer un second fichier de configuration pour racoon qui aura la forme suivante
(/etc/racoon.conf) :

path certificate "/etc/certs";

33/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN
remote 192.168.0.2
{
exchange_mode aggressive,main;
my_identifier asn1dn;
peers_identifier asn1dn;
certificate_type x509 "iG4x.public" "iG4x.private";

peers_certfile "denix.public";
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method rsasig;
dh_group 2;
}

sainfo anonymous
{
pfs_group 1;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}

Ce fichier de configuration permet de dfinir des information tels que le rpertoire contenant les certificats, les
protocoles utiliser, les mode d'change, etc.

VI - Conclusion
A travers ce dossier, nous avons vu un aperu des diffrentes possibilits afin de dployer un VPN, et
particulirement la solution que reprsente IPSec. Nous avions en effet pour objectif de vous donner les
concepts qui tournes autour de cette solution et de vous montrer un exemple de dploiement. Mais galement

que le terme de VPN ne se rfrenait pas qu'a la solution IPSec. Certes cette solution est la plus utilise et
est une rfrence. Mais le VPN est avant tout un concept et ne prcise rien concernant ses moyens.

Ainsi s'achve notre tude sur les VPNs. On se rend compte que derrire ce concept, une multitude de
protocoles, techniques et architectures existent pour leur dploiement. Nanmoins, le choix d'une solution
pour votre VPN dpendra videment de l'utilisation que vous en ferez et de l'investissement financier que
vous y mettrez.

34/35
Tan Sun Seng de Reynal de Rorthais

Rapport VPN

Le VPN pris une dimension proportionnelle au dveloppement d'internet. A l'origine pour dployer les
rseaux privs, une nouvelle utilisation voit le jour aujourd'hui avec l'arrive des technologies sans file. En

effet, ds les premires mise en place du 802.11 (WIFI), on nous dmontr ses failles en matire de
confidentialit et de scurit. Un risque parmi d'autres, est de voir ses donnes transitant dans le rseau tre
lues par un homme du milieu . Ses problmes de scurit sont une grande problmatique quand des

donnes sensibles sont communiques. Les solutions VPN offre une possibilit de garantir cette scurit et

on peut alors penser la possibilit d'allier le confort d'utilisation d'un rseau sans file la scurit des
donnes qu'on transmet.
Nous tenons remercier les rdacteurs du magazine MISC ainsi des diffrents articles sur Internet, qui nous
ont permis de mettre en oeuvre et d'approfondir notre tude sur les VPN. Nous esprons que ce dossier vous
aura permis d'acqurir de bonnes bases et une bonne culture pour aller plus loin avec les VPN.

Ressources et documentation
Liens / Documentation :
Magasine MISC. N10 Novembre-Dcembre 2003
http://ipsec-tools.sourceforge.net/
http://lartc.org/howto/lartc.ipsec.html
http://www.ipsec-howto.org/x242.html

RFC :
2407 : IP Security Domain.
2402 : AH.
2406 : ESP.
2409 : IKE.

Autre projet d'implmentation d'IPSec :


http://ipsec-tools.sourceforge.net/.

35/35
Tan Sun Seng de Reynal de Rorthais