expos
tudiants :
Denis de REYNAL
Jehan-Guillaume de RORTHAIS
Sun Seng TAN
UFRIngnieurs2000
13/02/2004
Rapport VPN
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
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.
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.
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.
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
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.
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.
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 :
Si on veut par exemple pourvoir accder un serveur web situ sur un serveur du rseau adverse :
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.
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
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/
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
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.
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 :
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
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.
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
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.
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.
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).
17/35
Tan Sun Seng de Reynal de Rorthais
Rapport VPN
16
Longueur des donnes
32
Rserv
Longueur des donnes : longueur de l'entte AH par facteur de 32-bit, le minimum tant 2 ;
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.
19/35
Tan Sun Seng de Reynal de Rorthais
Rapport VPN
24
32
Entte souvante
Bourrage : sert l'encryption des donnes. Certains protocoles ncessitent une certaine taille afin d'tre
plus efficace et/ou applicable ;
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
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.
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).
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
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.
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..) ;
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
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 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";
# 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";
# 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;
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
Nous allons donc crer un second fichier de configuration pour racoon qui aura la forme suivante
(/etc/racoon.conf) :
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.
35/35
Tan Sun Seng de Reynal de Rorthais