Tutorial VPN
Tutorial VPN
VPN
Tutorial sur les VPN, destin aux tudiants; rdig dans le cadre du travail de diplme. Tutorial VPN Complment au laboratoire sur les VPN Auteur: Christian Tettamanti
Principales abrviations
Christian Tettamanti
AH CHAP ESP GRE ICV IETF IKE IPSec ISAKMP ISP L2TP MPPE MS-CHAP NAS PAP PPP PPTP SA SPI VPN
Authentication Header Challenge Handshake Authentication Protocol Encapsulating Security Payload Internet Generic Routing Encapsulation Integrity Check Value Internet Engineering Task Force Internet Key Exchange IP Security Protocol Internet Security Association and Key Management Protocol Internet Service Provider Layer 2 Tunneling Protocol Microsoft Point-to-Point Encryption Microsoft Challenge Handshake Authentication Protocol Network Access Server Password Authentication Protocol Point-to-Point Protocol Point-to-Point Tunneling Protocol Security Association Security Parameter Index Virtual Private Network
Page 2
Christian Tettamanti
5. 6.
7. 8.
Page 3
Christian Tettamanti
Page 4
Christian Tettamanti
2. Introduction
Ce document est suppos tre un complment au laboratoire 'Configuration d'un VPN'. Il explique les bases thoriques pour pouvoir bien comprendre la manipulation pratique. Ceci dit, le tutorial devrait tre connu pralablement la manipulation pratique.
private :
Page 5
Christian Tettamanti
virtual :
Le concept "virtuel" (virtual) est le plus compliqu des trois mots qui composent l'acronyme VPN. Dans le contexte des VPN il pourrait tre dfini par : simul, qui excute des fonctions d'un objet non rel. L'aspect de virtualisation est similaire la dfinition de "priv" qu'on vient de dcrire, bien que le scnario soit un peu modifi. La communication prive est tablie sur une infrastructure de rseau partage par plus qu'une organisation. De cette faon, la ressource prive est construite en se basant sur un partitionnement logique de la ressource partag la place d'utiliser des connexions de circuits physiques. Le rseau priv est une cration qui n'a pas de contrepartie physique. La communication virtuelle entre deux ou plusieurs machines est due au fait que les machines qui ne sont pas concernes par la communication n'ont pas la possibilit de percevoir des donnes. Ceci dit, elles sont incapables de dterminer la relation entre les machines concernes. L'infrastructure du rseau partag peut tre par exemple reprsente par le rseau global Internet et un nombre d'organisations utilisant des rseaux virtuels. Ces dernires peuvent tre des centaines, des milliers, voir des millions!
La combinaison de ces termes produit VPN un rseau priv dont la confidentialit est introduite par des moyens de virtualisation. Un VPN peut tre cr entre deux systmes, entre deux organisations, entre plusieurs systmes et une organisation ou entre plusieurs organisations rpandues dans Internet, soit encore entre des applications individuelles ou une combinaison des ces possibilits. La dfinition, la plus utilise, qui caractrise un VPN est la suivante: Un VPN est un environnement de communication dans lequel l'accs est contrl, afin de permettre des connections entre une communaut d'intrts seulement. Un VPN est construit avec un partitionnement d'un mdia de communication commun qui offre des services de faon non exclusive. Voil une autre dfinition, plus simple et approximative: Un VPN est un rseau priv construit sur l'infrastructure d'un rseau public, comme l'est Internet. On peut noter qu'une solution exhaustive de VPN fournit un support pour l'accs via modem, pour l'accs avec des lignes ddies, et la possibilit de supporter des connexions depuis le rseau global Internet.
Page 6
Christian Tettamanti
On a vu qu'un VPN permet de crer un rseau priv travers un rseau public comme Internet; voil un exemple de VPN construit sur Internet:
Page 7
Christian Tettamanti
Une autre motivation concerne la confidentialit des communications. Les caractristiques et l'intgrit des services de communications isols diffrent des autres environnements qui partagent un mdia commun. Le niveau de confidentialit dpend de la politique de l'organisation. Si le besoin de confidentialit est bas, la simple abstraction de discrtion pourra suffire. Tandis que si le besoin en confidentialit est grand, il y a un fort besoin de scuriser les accs et les donnes passant dans le mdia commun.
Page 8
Christian Tettamanti
4.1 Utilisations communes des VPN Cette section dcrit brivement les solutions VPN les plus souvent utilises.
Figure 5 : Utilisation d'un VPN pour connecter un client distant un rseau priv.
L'utilisateur distant sera connect logiquement au rseau LAN de l'entreprise comme s'il l'tait physiquement.
Page 9
Christian Tettamanti
Ces deux solutions diffrent uniquement dans la faon de se connecter son propre ISP. L'image suivante montre ces solutions.
Page 10
Christian Tettamanti
Une solution VPN peut tre base sur le protocole PPTP (Point-to-Point Tunneling Protocol), le protocole L2TP (Layer 2 Tunneling Protocol) ou IPSec (IP Security Protocol).
6. Protocoles VPN
6.1 Concepts de base sur les tunnels Le tunneling permet l'envoi de donnes d'un rseau un autre en utilisant une infrastructure d'inter rseau. Les donnes transfrer (ou la charge utile - payload) peuvent tre les trames (ou des paquets) d'un autre protocole. Au lieu d'envoyer une trame dans son tat originaire, le protocole qui implmente le tunnel encapsule la trame dans une en-tte supplmentaire. L'en-tte supplmentaire fournit des informations de routage de sorte que la charge utile encapsule puisse traverser le rseau intermdiaire. Les paquets encapsuls sont alors conduits entre les points finaux du tunnel travers le rseau intermdiaire. Le chemin d'accs logique, par lequel les paquets encapsuls traversent l'inter rseau, s'appelle tunnel. Une fois que les trames encapsules atteignent leur destination, la trame est dcapsule et expdie sa destination finale. Le tunneling inclut l'entier processus : encapsulation, transmission, et dcapsulation des paquets.
Figure 8 : Tunneling.
Pour la cration d'un tunnel, tant le client que le serveur doivent implmenter le mme protocole. Les technologies utilisant le tunneling peuvent tre bases sur des protocoles de niveau 2 ou 3. Ces niveaux correspondent aux diffrentes couches du modle de rfrence OSI (Open Systems Interconnection). Les protocoles de niveau 2 correspondent des protocoles de couche liaison. PPTP (Point-to-Point Tunneling Protocol) et L2TP (Layer 2 Tunneling Protocol) sont des protocoles de niveau 2; les deux encapsulent la charge utile dans une trame PPP (Point-to-Point Protocol) pour tre ensuite envoy travers le rseau intermdiaire. Les protocoles de niveau 3 correspondent des protocoles de couche rseau. Le mode tunnel de IPSec (IP Security) reprsente un exemple d'un protocole de niveau 3. En bref : PPTP permet au trafic IP, IPX ou NetBEUI d'tre encrypt et ensuite d'tre encapsul dans un paquet IP, afin d'tre envoy travers un rseau intermdiaire IP, comme Internet. L2TP permet au trafic IP, IPX ou NetBEUI d'tre encrypt et ensuite d'tre envoy travers n'importe quel type de mdia qui supporte la livraison de datagramme point point, comme IP, X.25, Frame Relay ou ATM. IPSec (configur en mode tunnel) permet l'encryptage de la charge utile IP, l'encapsulation dans un autre paquet IP, et l'envoi travers un rseau intermdiaire IP, comme Internet.
Ces protocoles feront respectivement l'objet d'une prsentation dans les chapitres 6.2, 6.3 et 6.4.
Travail de diplme Tutorial VPN
Page 11
Christian Tettamanti
6.2
6.2.1 Prambule
PPTP (Point-to-Point Tunnelling Protocol) est un protocole rseau permettant le transfert scuris de donnes entre un client distant et un serveur priv. Ceci est possible par la cration d'un VPN utilisant TCP/IP. PPTP supporte les VPN la demande multiprotocole sur des rseaux publics comme Internet. La technologie utilise par PPTP est une extension du protocole permettant l'accs distance PPP (Pointto-Point Protocol) dfini dans le document de l'IETF (Internet Engineering Task Force) intitul "The Pointto-Point Protocol for the transmission of multiprotocols Datagrams over Point-to-Point Links" (RFC 1171, v. CD en annexe). PPTP est un protocole qui encapsule les paquets PPP dans des datagrammes IP pour la transmission sur Internet ou un autre rseau public bas sur TCP/IP. PPTP peut tre de mme utilis pour des liaisons LAN-to-LAN. Le protocole PPTP est expliqu dans le document "Point-to-Point Tunnelling Protocol, (RFC 2637, v. CD en annexe).Un avant-projet de ce document fut envoy l'IETF en juin 1996 par les entreprises du PPTP forum. US Robotics, ECI Telematics, 3 Com/Primary Access, Ascend Communications, Microsofts Corporation sont inclus.
Page 12
Christian Tettamanti
L'usage d'un serveur d'accs rseau pour la cration d'un tunnel PPTP entre deux dispositifs sur le mme LAN n'est pas ncessaire. Ceci, en raison du fait que les dispositifs se trouvent dj sur le mme rseau. Le sous-chapitre suivant dcrira un scnario typique de l'usage de PPTP entre deux ordinateurs et en expliquera la relation.
Le processus permettant l'envoie de paquets vers un ordinateur se trouvant dans un rseau priv, en faisant un routage des paquets sur d'autres rseaux, comme Internet, est appel "Tunneling". Les routeurs des autres rseaux ne peuvent pas accder l'ordinateur qui se trouve dans le rseau priv. Toutefois, le tunneling permet au rseau public de transmettre les paquets un dispositif intermdiaire, comme un serveur PPTP, qui est connect, tant au rseau public qu'au rseau priv. Le client et le serveur PPTP utilisent le tunnel pour router les paquets vers un ordinateur situ dans le rseau priv en utilisant des routeurs qui connaissent seulement l'adresse publique du serveur intermdiaire qui fait office de passerelle. Lorsque le serveur PPTP reoit des paquets provenant du rseau public, il les envoie l'ordinateur destinataire qui se trouve dans le rseau priv. Le serveur PPTP fait cela aprs avoir analys le paquet PPTP et avoir obtenu le nom de la machine destinatrice, soit l'adresse dans le paquet PPP encapsul. Il faut remarquer que le paquet PPP encapsul peut contenir plusieurs types de protocoles comme TCP/IP, IPX ou NetBEUI. Puisque le serveur PPTP est configur pour communiquer travers le rseau priv en utilisant les protocoles du rseau priv, il est capable de comprendre les paquets de plusieurs protocoles.
1 NAS Network Acces Server : Les serveurs d'accs-rseau sont rfrencs de mme en tant que FEPs (Front End Processors). Les serveurs Dial-in comme POP (Point-Of-Presence servers).
Page 13
Christian Tettamanti
La figure suivante montre le support multiprotocole de PPTP. Un paquet envoy par le client vers le serveur PPTP passe travers le tunnel et va rejoindre la machine destinatrice dans le rseau local.
PPTP encapsule les paquets PPP crypts et compresss dans un datagramme IP pour la transmission sur Internet. Ces datagrammes sont routs travers Internet jusqu'au serveur PPTP qui est connect tant au rseau public qu'au rseau priv. Ensuite le serveur PPTP dsassemble ces datagrammes dans des paquets PPP et encode ces paquets dans le protocole utilis dans le rseau local (IPX, TCP/IP, NetBEUI).
En pratique, le dispositif VPN est un module sur Linux ou une carte VPN fictive sur Windows.
Page 14
Christian Tettamanti
Page 15
Christian Tettamanti
paquets sont encrypts, le trafic entre un client PPP et un serveur d'accs peut tre considr comme sr.
6.2.9.1 Messages de gestion de la connexion Ces messages sont utiliss pour tablir et terminer une session d'utilisateur. Ces messages sont envoys
Travail de diplme Tutorial VPN
Page 16
Christian Tettamanti
comme donnes dans la connexion TCP 1723 tablie auparavant entre le client et le serveur PPTP. Start-Control-Connection-Request Le Start-Control-Connection-Request est un message de contrle PPTP employ pour tablir la connexion de contrle entre un client et un serveur. Une connexion de contrle doit tre cre pour chaque paire client-serveur. Une connexion de contrle doit tre tablie avant que tous les autres messages de contrle PPTP puissent tre mis.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Protocol Version Reserved1 Framing Capabilities Bearer Capabilities Maximum Channels Firmware Revision Host Name (64 octets) Vendor String (64 octets)
Figure 11 : message de contrle Start-Control-Connection-Request
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Protocol Version Reserved1 Framing Capabilities Bearer Capabilities Maximum Channels Firmware Revision Host Name Vendor Name Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 1 pour indiquer le message Start-Control-Connection-Request. Ce champ doit tre 0. Indique la version de PPTP utilise. Ce champ doit tre 0. Indique le type des trames. Deux valeurs sont possibles: 1 - Asynchronous Framing 2 - Synchronous Framing Indique le type d'accs. Deux valeurs sont possibles: 1 - Accs analogique support 2 - Accs numrique support Indique le nombre maximal de session PPP individuelles. Dans le cas du message Start-Control-Connection-Requests envoy par le client, cette valeur doit tre 0. Ce champ contient la version du firmware Indique le nom du client ou du serveur. Ce champ est de 64 octets. Indique le nom du constructeur du client ou du serveur. Ce champ est de 64 octets.
Page 17
Christian Tettamanti
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Protocol Version Result Code Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 2 pour indiquer le message Start-Control-Connection-Reply. Ce champ doit tre 0. Indique la version de PPTP utilise. Indique le rsultat de la tentative de connexion. Les valeurs possibles sont: 1 - Connexion tablie avec succs 2 - Erreur gnrale. Si dfini, il est spcifi dans le champ Error Code 3 - La connexion de contrle existe dj 4 - Le client n'est pas autoris crer la connexion de contrle. 5 - La version du protocole n'est pas supporte Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Indique le type des trames. Deux valeurs sont possibles: 1 - Asynchronous Framing 2 - Synchronous Framing Indique le type d'accs. Deux valeurs sont possibles: 1 - Accs analogique support 2 - Accs numrique support Indique le nombre maximal de sessions PPP individuelles. Dans le cas du message Start-Control-Connection-Requests envoy par le client, cette valeur doit tre 0. Ce champ contient la version du firmware Indique le nom du client ou du serveur. Ce champ est de 64 octets. Indique le nom du constructeur du client ou du serveur. Ce champ est de 64 octets.
Error Code Framing Capabilities Bearer Capabilities Maximum Channels Firmware Revision Host Name Vendor Name
Stop-Control-Connection-Request Le Stop-Control-Connection-Request est un message de contrle envoy par un pair de la connexion afin
Travail de diplme Tutorial VPN
Page 18
Christian Tettamanti
d'informer l'autre que la connexion de contrle devrait tre ferme. En plus de fermer la connexion, tous les appels d'utilisateur actifs sont implicitement effacs. La raison de l'mission de cette demande est indique dans le champ Reason.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Reason Reserved1 Reserved2
Figure 13 : message de contrle Stop-Control-Connection-Request
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Reason Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 3 pour indiquer le message Stop-Control-Connection-Request. Ce champ doit tre 0. Indique la raison pour la fermeture de la connexion. Che champs peut avoir les valeurs: 1 - (None) Requte gnrale pour la fermeture de la connexion 2 - (Stop-Protocol) Version de protocole non supporte 3 - (Stop-Local-Shutdown) Arrt de l'ordinateur qui fait la requte Ce champ doit tre 0.
Reserved1, Reserved2
Stop-Control-Connection-Reply Le Stop-Control-Connection-Reply est un message de contrle envoy par un pair d'une connexion de contrle la rception d'un message Control-Connection-Request de l'autre pair.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Result Code Error Code Reserved1 16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Result Code sont: Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 4 pour indiquer le message Stop-Control-Connection-Reply. Ce champ doit tre 0. Indique le resultat de la demande de dconnexion. Les valeurs possibles 1 (OK) - Connexion de contrle freme. 2 (General Error) - Connexion de contrle pas ferme cause de Error Code
Page 19
Christian Tettamanti
Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Ce champ doit tre 0.
Echo-Request L'Echo-Request est un message de contrle envoy par l'un ou l'autre pair d'une connexion de contrle. Ce message est utilis comme test d'existance de la connexion de contrle. Le pair de rception met un Echo-Reply chaque Echo-Request reu. Si l'expditeur ne reoit pas un Echo-Reply en rponse un Echo-Request, il peut fermer la connexion.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Identifier
Figure 14 : message de contrle Echo-Request
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Control Message Type Valeur 5 pour indiquer le message Echo-Request. Reserved0 Ce champ doit tre 0. Identifier Valeur choisit par l'metteur pour la correspondance avec le message suivant Echo-Reply. Echo-Reply L'Echo-Reply est un message de contrle envoy par l'un ou l'autre pair d'une connexion de contrle en rponse la rception d'une demande d'cho.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Identifier Result Code Error Code Reserved1
Figure 15 : message de contrle Echo-Reply
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Identifier Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 6 pour indiquer le message Echo-Reply. Ce champ doit tre 0. Valeur choisit par l'metteur pour la correspondance avec le message EchoRequest. La valeur est celle reue dans le champ Identifier du message Echo-Request.
Page 20
Christian Tettamanti
Indique le rsultat de la requte Echo-Request. Les valeurs possibles sont: 1 (OK) - Requte valide 2 (General Error) - Requte Echo-Request non accepte Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Ce champ doit tre 0.
6.2.9.2 Messages de gestion du tunnel Ces messages servent la gestion du tunnel GRE. Outgoing-Call-Request L'Outgoing-Call-Request est un message envoy par le client pour indiquer qu'un tunnel pour les donnes doit tre tabli. Cette demande fournit au serveur des informations qui permettent la rgulation de la transmission des donnes.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Call Serial Number Minimum BPS Maximum BPS Bearer Type Framing Type Packet Recv. Window Size Packet Processing Delay Phone Number Length Reserved1 Phone Number (64 octets) Subaddress (64 octets)
Figure 16 : message de contrle Outgoing-Call-Request
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Call Serial Number Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 7 pour indiquer le message Outgoing-Call-Request. Ce champ doit tre 0. Un identificateur unique assign par le client cette session. Elle est employe pour multiplexer et dmultiplexer des donnes envoyes dans le tunnel. Un identificateur assign par le client cette. la diffrence de l'identification d'appel, le client et le serveur associent le mme numro d'appel une session donne. La combinaison du numro de srie et de l'adresse IP et d'appel devrait tre unique. Vitesse de ligne minimale (in bits/sec) pour cette session. Vitesse de ligne maximale (in bits/sec) pour cette session. Indique le type d'accs. Deux valeurs sont possibles: 1 - Accs analogique support
Page 21
Christian Tettamanti
2 - Accs numrique support 3 - Tous les types d'accs sont supports Framing Capabilities Indique le type des trames. Deux valeurs sont possibles: 1 - Asynchronous Framing 2 - Synchronous Framing 3 - Tous les types sont supports Packet Recv. Window Size Le nombre de paquets de donnes reus que le client protgera pour cette session. Packet Processing Delay Une mesure du retard de traitement de paquet qui pourrait tre impos aux donnes a envoy au client. Cette valeur est indique dans les units de 1/10 de secondes. Pour le client ce nombre devrait tre trs petit. Phone Number Length Le nombre rel de chiffres valides dans le domaine de numro de tlphone. Reserved1 Ce champ doit tre 0. Phone Number Le nombre composer pour tablir la session sortante. Pour des appels numriques et analogiques cette zone est une chane de caractres ascii. Si le numro de tlphone est moins de 64 octets de longueur, le reste de cette zone est rempli d'octets de valeur 0. Subaddress Une zone de 64 octets indiquant de l'information supplmentaire. Outgoing-Call-Reply L'Outgoing-Call-Reply est un message de contrle du serveur en rponse un message Outgoing-CallRequest. La rponse indique le rsultat de la tentative d'appel sortant. Elle fournit galement des informations au client au sujet des paramtres particuliers utiliss pour l'appel.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Peer's Call ID Result Code Error Code Cause Code Connect Speed Packet Recv. Window Size Packet Processing Delay Physical Channel ID
Figure 17 : message de contrle Outgoing-Call-Reply
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Peer's Call ID Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 8 pour indiquer le message Outgoing-Call-Reply. Ce champ doit tre 0. Un identificateur unique assign par le serveur cette session. Elle est employe pour multiplexer et dmultiplexer des donnes envoyes dans le tunnel. Dans ce champ se trouve la valeur reue dans le domaine d'identification d'appel du message prcedent d'Outgoing-Call-Request. Elle est employe par le client pour comparer l'Outgoing-Call-Reply avec l'Outgoing-CallRequest qu'il a mis.
Page 22
Christian Tettamanti
Result Code
Indique le rsultat de la requte Outgoing-Call-Request. Les valeurs possibles sont: 1 - Connexion tablie avec succs 2 - Erreur gnrale. Si dfini, il est spcifi dans le champ Error Code 3 (No Carrier) - Aucune porteuse dtecte 4 (Busy) - Ligne occupe 5 (No Dial Tone) - L'appel sortant est chou en raison du manque de la tonalit 6 (Time-out) - L'appel sortant n'a pas t tabli dans le temps tabli par le serveur 7 (Do Not Accept) - Appel sortant administrativement interdit Error Code Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Cause Code Ce champ fournit l'information supplmentaire de panne. Sa valeur peut changer dpendance du type d'appel. Connect Speed La vitesse relle de connexion utilise, en bits/sec. Packet Recv. Window Size Le nombre de paquets de donnes reus que le serveur protgera pour cette session. Packet Processing Delay Une mesure du retard de traitement de paquet qui pourrait tre impos aux donnes a envoy au serveur. Cette valeur est indique dans les units de 1/10 de secondes. Pour le client ce nombre devrait tre trs petit. Physical Channel ID Ce champ est configur par le serveur avec le numro de canal physique employ pour cet appel. Il est utilis pour des buts d'enregistrements seulement. Incoming-Call-Request L'Incoming-Call-Request est un message de contrle envoy par le serveur pour indiquer qu'un tunnel doit tre tabli. Le serveur ne peut pas le crer jusqu' ce qu'elle ait reu un Incoming-Call-Reply du client, indiquant que l'appel peut tre tabli. Ce mcanisme permet au client d'obtenir des informations suffisantes sur le tunnel avant qu'on lui rponde pour dterminer si l'appel doit tre rpondu ou pas.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Call Serial Number Call Bearer Type Physical Channel ID Dialed Number Length Dialing Number Length Dialed Number (64 octets) Dialing Number (64 octets) Subaddress (64 octets)
Figure 18 : message de contrle Incoming-Call-Request
16 bit Length
Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle.
Page 23
Christian Tettamanti
Magic Cookie Control Message Type Reserved0 Call ID Call Serial Number
Bearer Type
Physical Channel ID Dialed Number Length Dialing Number Length Dialed Number
Dialing Number
Subaddress
Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 9 pour indiquer le message Incoming-Call-Request. Ce champ doit tre 0. Un identificateur unique assign par le serveur cette session. Elle est employe pour multiplexer et dmultiplexer des donnes envoyes dans le tunnel. Un identificateur assign par le serveur cette. la diffrence de l'identification d'appel, le client et le serveur associent le mme numro d'appel une session donne. La combinaison du numro de srie et de l'adresse IP et d'appel devrait tre unique. Valeur indiquant le type de canal utilis pour l'appel entrant. Les valeurs possibles sont: 1 - Call is on an analog channel 2 - Call is on a digital channel Ce champ est configur par le serveur avec le numro de canal physique employ pour cet appel. Il est utilis pour des buts d'enregistrements seulement. Le nombre rel de chiffres valides dans le champ du nombre compos. Le nombre rel de chiffres valides dans le champ du nombre composer. Le numro qui a t compos par l'appelant. Pour des appels de numriques et analogiques ce champ est une chane de caractres ascii. Si le numro compos est moins de 64 octets de longueur, le reste de ces champs est rempli d'octets de valeur 0. Le numro qui est composer. Pour des appels de numriques et analogiques ce champ est une chane de caractres ascii. Si le numro compos est moins de 64 octets de longueur, le reste de ce champs est rempli d'octets de valeur 0. Une zone de 64 octets indiquant de l'information supplmentaire.
Incoming-Call-Reply L'Incoming-Call-Reply est un message envoy par le client en rponse un message d'Incoming-CallRequest. La rponse indique le rsultat de la tentative d'appel d'arrive. Elle fournit galement des informations pour permettre au client de rgler la transmission de donnes. Il indique au serveur si l'appel doit tre rpondu ou pas.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Peer's Call ID Result Code Error Code Packet Recv. Window Size Packet Transmit Delay Reserved1 Physical Channel ID
Figure 19 : message de contrle Incoming-Call-Reply
16 bit Length
Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle.
Page 24
Christian Tettamanti
Magic Cookie
Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Control Message Type Valeur 10 pour indiquer le message Incoming-Call-Reply. Reserved0 Ce champ doit tre 0. Call ID Un identificateur unique assign par le client cette session. Elle est employe pour multiplexer et dmultiplexer des donnes envoyes dans le tunnel. Peer's Call ID Dans ce champ se trouve la valeur reue dans le champ d'identification d'appel du message Incoming-Call-Request. Elle est employe par le serveur pour comparer l'Incoming-Call-Reply avec l'Incoming-Call-Request qu'il a mis. Result Code Indique le rsultat de la requte Incoming-Call-Request. Les valeurs possibles sont: 1 - Connexion tablie avec succs 2 - Erreur gnrale. Si dfini, il est spcifi dans le champ Error Code 3 - (Do Not Accept) Le serveur n'accepte pas la requte. Il doit accrocher ou envoyer un signal d'occupation Error Code Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Packet Recv. Window Size Le nombre de paquets de donnes reus que le serveur protgera pour cette session. Packet Transmit Delay Une mesure du retard de traitement de paquet qui pourrait tre impos aux donnes a envoy au serveur. Cette valeur est indique dans les units de 1/10 de secondes. Pour le client ce nombre devrait tre trs petit. Reserved1 Ce champ doit tre 0. Incoming-Call-Connected Le message d'Incoming-Call-Connected est un message envoy par le serveur en rponse un IncomingCall-Reply reu. Il fournit des informations au client au sujet des paramtres particuliers utiliss pour l'appel. Il fournit un mcanisme pour donner au client des informations supplmentaires sur l'appel qui ne peut pas, en gnral, tre obtenu lorsque l'Incoming-Call-Request est mis par le serveur.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Peer's Call ID Reserved1 Connect Speed Packet Recv. Window Size Packet Transmit Delay Framing Type
Figure 20 : message de contrle Incoming-Call-Connected
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0
Travail de diplme Tutorial VPN
Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 11 pour indiquer le message Incoming-Call-Connected. Ce champ doit tre 0.
Page 25
Christian Tettamanti
Peer's Call ID
Dans ce champ se trouve la valeur reue dans le champ d'identification d'appel du message Incoming-Call-Reply. Elle est employe par le client pour comparer l'Incoming-Call-Connected avec l'Incoming-Call-Reply qu'il a mis. Connect Speed La vitesse relle de connexion utilise, en bits/sec. Packet Recv. Window Size Le nombre de paquets de donnes reus que le serveur protgera pour cette session. Packet Transmit Delay Une mesure du retard de traitement de paquet qui pourrait tre impos aux donnes a envoy au serveur. Cette valeur est indique dans les units de 1/10 de secondes. Pour le client ce nombre devrait tre trs petit. Framing Type Valeur indiquant le type de trame utilis. Ce champ peut valoir: 1 - Appel de type asynchrone 2 - Appel de type synchrone Call-Clear-Request Le Call-Clear-Request est un message de contrle envoy par le client indiquant qu'un tunnel particulier doit tre ferm. Le tunnel terminer peut tre un tunnel entrant ou sortant, dans n'importe quel tat. Le serveur rpond ce message avec un Call-Disconnect-Notify.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Reserved1 Framing Type
Figure 21 : message de contrle Call-Clear-Request
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Reserved1 Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 12 pour indiquer le message Call-Clear-Request. Ce champ doit tre 0. Le numro d'authentification assign par le client cet appel. Ce champ doit tre 0.
Call-Disconnect-Notify
Page 26
Christian Tettamanti
Le message de Call-Disconnect-Notify est un contrle envoy par le serveur. Il est mis toutes les fois qu'un tunnel est ferm, en raison de la rception par le serveur d'un Call-Clear-Request ou pour n'importe quelle autre raison. Son but est d'informer le client du tunnel et de la raison de cette fermeture.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Call ID Result Code Error Code Cause Code Reserved1 Call Statistics (128 octets)
Figure 22 : message de contrle Call-Disconnect-Notify
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Control Message Type Valeur 13 pour indiquer le message Call-Disconnect-Notify. Reserved0 Ce champ doit tre 0. Call ID Le numro d'authentification assign par le serveur cet appel. Result Code Indique la raison de la dconnexion. Les valeurs possibles sont: 1 (Lost Carrier) - Perte de la porteuse 2 (General Error) - Erreur gnrale 3 (Admin Shutdown) - Dconnect pour der raisons administratives 4 (Request) - Dconnect a cause d'une requte Call-Clear-Request Tant qu'il n'y a pas d'erreur gnrale, ce champ vaut 0. Sinon il indique le type d'erreur. Ce champ fournit l'information supplmentaire de panne. Sa valeur peut changer dpendance du type d'appel. Ce champ contient un texte ascii contenant des statistiques d'appel et qui peuvent tre enregistrs pour des diagnostiques. Si la longueur de ce texte est infrieure 128, les bit restants sont mis 0.
Page 27
Christian Tettamanti
6.2.9.3
Messages d'erreurs
WAN-Error-Notify Le message WAN-Error-Notify est un message de contrle envoy par le serveur pour indiquer des erreurs WAN (qui se produisent sur l'interface PPP supportante). Les compteurs dans ce message sont cumulatifs. Ce message devrait seulement tre envoy quand une erreur se produit, et pas plus d'une fois toutes les 60 secondes. Les compteurs sont remis l'tat initial quand un nouvel appel est tabli.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Peer's Call ID Reserved1 CRC Errors Framing Errors Hardware Overruns Buffer Overruns Time-out Errors Alignment Errors
Figure 23 : message de contrle WAN-Error-Notify
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Peer's Call ID Reserved0 CRC Errors session. Framing Errors Hardware Overruns Buffer Overruns Time-out Errors Alignment Errors Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 14 pour indiquer le message Wan-Error-Notify. Ce champ doit tre 0. Call ID assign par le client. Ce champ doit tre 1. Nombre de trames PPP reues avec erreur CRC depuis le dbut de la Nombre d'erreurs dans les paquets PPP. Nombre de buffer over-runs en reception depuis le dbut de la session. Nombre de buffer over-runs depuis le dbut de la session. Nombre de time-outs depuis le dbut de la session. Nombre d'erreurs d'alignement depuis le dbut de la session.
Page 28
Christian Tettamanti
6.2.9.4
Set-Link-Info Le message de Set-Link-Info est un message de contrle envoy par le client pour paramtrer les options de PPP. Puisque ces options peuvent changer tout moment pendant la vie de l'appel, le serveur doit pouvoir mettre jour sa configuration dynamiquement et excuter la ngociation de PPP sur une session active de PPP.
16 bit PPTP Message Type Magic Cookie Control Message Type Reserved0 Peer's Call ID Reserved1 Send ACCM Receive ACCM
Figure 24 : message de contrle Set-Link-Info
16 bit Length
Dscription des champs de la trame: Length PPTP Message Type Magic Cookie Control Message Type Reserved0 Peer's Call ID Reserved0 Send ACCM Receive ACCM Longueur totale en octets du message PPTP. L'entte est incluse. Valeur 1 pour un message de contrle. Valeur 0x1A2B3C4D. Cette constante est utilise comme test pour les paquets reus. Valeur 15 pour indiquer le message Set-Link-Info. Ce champ doit tre 0. Call ID assign par le client. Ce champ doit tre 0. Valeur utilis par le client pour traiter les paquets PPP sortants. La valeur par dfaut est 0XFFFFFFFF. Valeur utilis par le client pour traiter les paquets PPP entrants. La valeur par dfaut est 0XFFFFFFFF.
Codes d'erreur gnraux. Les codes d'erreurs gnraux concernent des types d'erreurs qui ne sont pas spcifiques dans aucune requte particulire de PPTP, mais plutt des erreurs de format de protocole ou de message. Si une rponse PPTP indique qu'une erreur gnrale s'est produite, la valeur gnrale d'erreur devrait tre examine. Les codes d'erreur gnraux actuels dfinis et leurs significations sont: 0 (None) 1 (Not-Connected) 2 (Bad-Format) 3 (Bad-Value) 4 (No-Resource) 5 (Bad-Call ID) 6 (Server-Error) Aucune erreur gnrale Connexion de contrle inexistante Longueur ou Magic Cookie incorrects Champs rservs non 0, ou valeur incorrecte dans un champ Ressources insuffisantes pour excuter l'opration Identificateur d'appel Call ID incorrect Erreur gnrique dans le serveur
Page 29
Christian Tettamanti
Les messages de contrle sont envoys dans des paquets TCP (port 1723). Une fois que la connexion est cre entre le client et le serveur, cette connexion de contrle est utilise pour l'change de messages de contrle Chaque datagramme contient une entte PPP, une entte TCP, un message de contrle PPTP et des conteneurs appropris. La figure suivante montre un datagramme PPTP avec des messages de contrle.
PPTP Control Message TCP IP Header PPP Delivery Header
Figure 25 : Datagramme PPTP avec message de contrle.
L'change de messages entre le client et le serveur PPTP travers la connexion TCP est utilis pour la cration et le maintient du tunnel PPTP. Dans le cas que le client distant n'est pas habilit l'usage de PPTP, mais par contre il utilise un ISP qui en est habilit, l'ISP sera le client. Ceci dit, la connexion de contrle se fera directement entre lui et le serveur. Toutefois, il faudra s'assurer que la connexion entre le vrai client et l'ISP est scurise. Par exemple, lorsqu'on se connecte travers une ligne tlphonique, l'on pourra dire que la connexion est dj scurise, car on utilise un mdia non partag. Par contre, dans le cas o l'on se connecterait en utilisant le CATV (Community Antenna TV), on ne pourra pas exclure la probabilit que personne nous espionne, compte tenu du type de mdia utilis; le cble coaxial tant un mdia partag.
Page 30
Christian Tettamanti
Le datagramme IP GRE cre par PPTP est montr par l'image suivante.
16 bit 16 bit C R K S s Recur A Flags Ver Protocol Type Key (HW) Payload Length Key (LW) Call ID Sequence Number (Optional) Acknowledgment Number (Optional)
Figure 26 : Datagramme GRE
Dscription des champs de la trame: C (bit 0) R (bit 1) K (bit 2) S (bit 3) S (bit 4) Recur (bits 5-7) A (bit 8) Flags (bits 9-12) Ver (bits 13-15) Protocol Type Key Payload Length Key Call ID Sequence Number Acknowledgment Number Checksum prsent. Ce champ doit tre 0. Routage prsent. Ce champ doit tre 0. Cl prsente. Ce champ doit tre 1. Numro de squence. Ce champ doit tre 1.si un paquet utile (donnes) est prsent. Ce champ doit tre 0. si la charge utile n'est pas prsente (le paquet de GRE est un accus de rception seulement). Routage de source prsent. Ce champ doit tre 0. Commande de rcursivit. Ces champs doivent tre 0. Numro de squence d'accus de rception. Ce champ doit tre 1si le paquet contient le nombre d'accus de rception. utiliser pour reconnatre des donnes prcdemment transmises. Ces champs doivent tre 0. Ce champ doit tre 1 (GRE avanc). Ce champ doit tre 0x0880B. Taille des donnes utiles. L'entte GRE n'est pas incluse. Contient l'identificateur de l'appel pour cette session. Contient le numro de sequence des donnes. Il est prsent si le bit S (bit 3) est 1. Contient le numro de squence du paquet GRE reu par le pair pour cette session d'utilisateur. Prsent si le bit A (bit 8) est 1.
La figure suivante montre les diffrentes encapsulations des donnes utiles dans le cas de PPTP:
Data TCP Header IP Header PPP Header GRE Header IP Header PPP Delivery Header
Figure 27 : Encapsulation des donnes dans GRE dans le cas de PPTP.
Page 31
Christian Tettamanti
TCP 1723
GRE - IP 47
TCP 1723
Echo-Request Echo-Reply
GRE - IP 47
TCP 1723
Clear-Call-Request Disconnect-Notify
Page 32
Christian Tettamanti
Le CHAP se prsente en tant qu'une amlioration du PAP, car le mot de passe n'est pas envoy en clair. Ceci dit, le mot de passe est employ, afin de crer un code de hachage de l'preuve initiale. Le serveur connat le mot de passe du client (en clair) et il doit faire, de son ct, la mme opration de hachage. Ensuite, il compare le rsultat au mot de passe introduit dans la rponse du client. Si les deux codes de hachage correspondent, l'utilisateur est authentifi. Le CHAP se protge contre les attaques d'usurpation d'identit l'aide d'une chane de caractres d'preuve. Chane gnre alatoirement pour chaque tentative d'authentification. Le CHAP se protge contre ces attaques en envoyant de manire imprvisible des preuves rptes au client distant pendant toute la dure de la connexion.
Page 33
Christian Tettamanti
MS-CHAP (Microsoft Challenge Handshake Authentication Protocol) est un mcanisme d'authentification chiffr, trs semblable au CHAP. Comme dans CHAP, le serveur NAS envoie une preuve au client. L'preuve se compose d'un identificateur de session et d'une chane de caractres alatoire. Le client distant emploie l'algorithme de hachage MD4 sens unique, afin de renvoyer un chiffrement de l'preuve, de l'identificateur de session, et du mot de passe du client. Cette conception, qui manipule les codes de hachage du mot de passe, fournit un niveau supplmentaire de scurit. Le serveur possde les codes de hachage des mots de passe seulement, au lieu des mots de passe en clair. MS-CHAP fournit des codes d'erreur supplmentaires galement, y compris un code pour les mots de passe expirs, et des messages chiffrs supplmentaires permettant des utilisateurs de changer leurs mots de passe. Dans MS-CHAP, le client et le NAS produisent, chacun de leur ct, une premire cl pour un chiffrement ultrieur par MPPE (Microsoft Point-toPoint Encryption). Par consquent, l'authentification de MS-CHAP est exige, afin de permettre le chiffrement de donnes bas sur MPPE. L'encryptage MPPE sera dcrit dans le chapitre 6.2.14.1.
Une gestion soigneuse des comptes d'utilisateur est ncessaire pour rduire les risques de scurit. Avoir un modle sr de la structure des mots de passe est critique pour le bon dploiement de PPTP. Ceci, car les connexions Internet sont plus susceptibles d'tre attaques : des crackers pourraient essayer des milliers de combinaisons de mot de passe et de nom d'utilisateur, afin de s'introduire dans le rseau priv. La seule faon de rduire au minimum ce type d'attaque est de choisir une politique de mot de passe sre. Par exemple, une bonne politique consisterait exiger l'usage de mots de passe contenant un mlange de lettres majuscules, minuscules, ainsi que de nombres, et de caractres spciaux.
Page 34
Christian Tettamanti
6.2.14.1 Cryptage MPPE PPTP hrite le chiffrement MPPE, qui utilise le chiffrage RC4 de RSA (Rivest-Shamir-Adleman). MPPE est seulement disponible quand MS-CHAP (version 1 ou version 2) est utilis. MPPE peut utiliser 40 bit, 56 bit ou des cls de chiffrement de 128 bit. La cl 40 bit fournit la compatibilit avec des clients utilisant des anciennes versions de Windows. Par dfaut, la cl la plus grande supporte par le client VPN et le serveur VPN est ngocie pendant le processus d'tablissement de connexion. Si le serveur VPN exige une cl plus rsistante que celle support par le client, la tentative de connexion est rejete. MPPE a t initialement conu pour le chiffrement avec un lien point point, o les paquets arrivent dans la mme ordre dans laquelle ils ont t envoys. Dans cet environnement, le dchiffrage de chaque paquet dpend du dchiffrage du paquet prcdent. Pour les VPN, cependant, les datagrammes IP envoys travers Internet arrivent dans un ordre diffrent de celle dans laquelle ils ont t envoys, et une partie des paquets peut tre dtruite. Par consquent MPPE change la cl de chiffrement pour chaque paquet. Le dchiffrage de chaque paquet est indpendant du paquet prcdent. MPPE inclut un numro de squence dans son entte. Si des paquets sont dtruits ou ont des erreurs, les cls de chiffrement sont changes relativement au numro de squence. 6.2.14.2 Filtrage de paquet PPP Les activits malveillantes peuvent tre limites en activant le filtrage sur le serveur PPTP. Quand le filtrage PPTP est activ, le serveur reoit et route seulement les paquets des utilisateurs authentifis. Ceci empche tous les autres paquets d'entrer dans le rseau priv. Avec le chiffrement de PPP, ceci assure que seulement les donnes chiffres autorises entrent ou sortent du rseau priv.
Page 35
Christian Tettamanti
6.3 L2TP Layer 2 Tunneling Protocol PPP (RFC1661. Voir CD annexe) dfinit un mcanisme d'encapsulation multiprotocole pour le transport des paquets travers des connexions de la couche 2 (L2). Typiquement, un utilisateur obtient une connexion L2 un serveur d'accs rseau (NAS) en utilisant par exemple une ligne analogique, une ligne RNIS, ADSL, etc. et cre alors un tunnel PPP travers cette connexion. Dans une telle configuration, le point de terminaison de L2 et le point final de la session PPP rsident dans le mme dispositif physique. L2TP tend le modle PPP, permettant ainsi aux points finaux de la connexion L2 et PPP de rsider sur des dispositifs diffrents interconnects par un rseau de commutation de paquets. Avec L2TP, un utilisateur a une connexion L2 avec un concentrateur d'accs (par exemple, un modem, ADSL, etc.), et le concentrateur envoie dans le tunnel les diffrentes trames PPP destination du NAS. Ceci permet au traitement des paquets PPP d'tre spars de la terminaison du circuit L2. Un avantage vident d'une telle sparation est qu' la place d'exiger la terminaison de la connexion L2 au NAS (qui peut exiger un appel long distance coteux), la connexion peut se terminer au concentrateur de circuit local, lequel tend la session PPP logique au-dessus d'une infrastructure partage telle que Frame Relay ou Internet. Du point de vu de l'utilisateur, il n'y a aucune diffrence fonctionnelle entre avoir directement la terminaison du circuit L2 au NAS ou en utilisant L2TP.
(unreliable)
(reliable)
Packet Transport (UDP, FR, ATM, etc.) Figure 31 : Structure du protocole L2TP
La figure prcdente montre le rapport des trames PPP et des messages de contrle au-dessus des canaux de contrle et de donnes de L2TP. Les trames PPP sont envoyes dans un canal de donnes, encapsuls d'abord par une entte L2TP et puis dans un paquet de transport tel que UDP, Frame Relay, ATM, etc. Les messages de contrle sont envoys dans un canal fiable L2TP qui transmet des paquets inband au-dessus du mme paquet de transport. Les numros de squence sont exigs dans tous les messages de contrle et sont employs pour fournir une livraison fiable dans le canal. Les messages de donnes peuvent employer des numros de squence pour demander nouveau des paquets et pour dtecter les paquets perdus. Toutes les valeurs sont places dans leurs champs respectifs et introduites dans la commande (octets d'ordre suprieur d'abord).
Page 36
Christian Tettamanti
T L x x S x O P x x x x
Tunnel ID Ns (opt) Offset Size (opt)
Ver
Dscription des champs de la trame:: Type (T) Length (L) x Sequence (S) Offset (O) Priority (P) Indique le type du message. Il peut avoir les valeurs suivantes: 0 Message de donnes 1 Message de contrle Si 1, le champ Length existe. Ce bit doit tre 1 pour tous les messages de contrle. Les bits 'x' sont rservs pour des extension futures du protocole. Ces bits doivent tre 0 pour les messages sortant et ignors pour les messages entrants. Si 1, le champ Ns et Nr existent. Ce bit doit tre 1 pour tous les messages de contrle. Si 1, le champ Offset existe. Ce bit doit tre 1 pour tous les messages de contrle. Si 1, le traitement de ce message de donnes doit tre prioritaire dans la queue locale et dans la transmission. Les echo-requests utiliss pour maintenir la connexion doivent tre envoys avec ce bit 1, sinon peut arriver une congestion temporaire et une perte de donnes. Cette fonctionnalit est utilise seulement avec des messages de donnes. Ce bit doit tre 0 pour tous les messages de contrle. Ce champ doit valoir 2. Il indique la version de l'entte L2TP pour des paquets de donnes. Ce champ indique la longueur du message en octets. Indique l'identificateur pour la connexion de contrle. Les tunnels L2TP sont nomms par des identificateurs qui ont une signification locale seulement. C'est--dire, pour le mme tunnel sera donn un ID diffrent pour chaque extrmit du tunnel. Indique l'identificateur pour une session dans un tunnel. Les sessions L2TP sont nommes d identificateurs qui ont une signification locale seulement. C'est--dire, pour la mme session sera donne un ID diffrent pour chaque extrmit de la session. Indique le numro de squence pour ce message de donnes ou de contrle, commenant 0 et incrmentant par un (modulo 216) pour chaque message envoy.
Session ID
Ns
Page 37
Christian Tettamanti
Nr
Offset Size
Indique le numro de squence prvu pour le prochain message de contrle reu. Ainsi, Nr est plac au NS du dernier message de contrle reu plus un (modulo 216). Dans les messages de donnes, Nr est rserv et, si prsent (comme indiqu par le bit S), il doit tre ignor la rception. Si prsente, indique le nombre d'octets aprs l'entte L2TP partir desquels on s'attend le dbut des donnes utiles.
Page 38
Christian Tettamanti
6.4 IPSec IP Security Protocol Cr par l'IETF3, le protocole IPSec est conceptuellement unique, car il permet de scuriser le rseau mme, et ne pas les applications l'exploitant. Le protocole IPSec garantit la scurit pour chaque application utilisant le rseau. IPSec permet donc la ralisation de VPN trs sres. On doit forcement utiliser IP4 pour le transport des donnes, afin de pouvoir scuriser un rseau avec IPSec. La force fondamentale de cette approche est son fonctionnement des couches de bas niveau. Comme IP est transparent aux utilisateurs, IPSec l'est aussi en rajoutant une couche qui permet d'assurer la scurit et l'intgrit des communications.
Malheureusement, l'architecture des rseaux base sur IP, permettent difficilement d'assurer ces besoins. IPSec offres trois technologies, qui combines entre elles permettent de se protger des diffrentes attaques la scurit: Authentication header (AH) Entte qui attache les donnes de chaque paquet une signature qui vous permet de vrifier l'identit de la personne envoyant les donnes et que les donnes n'ont pas t modifies. Encapsulating Security Payload (ESP) Embrouille les donnes (et mme certaines adresses IP sensibles) de chaque paquet en utilisant le chiffrement dur de noyau - ainsi un renifleur quelque part sur le rseau n'obtiendra rien d'utilisable. Internet Key Exchange (IKE) Un protocole puissant flexible de ngociation qui permet des utilisateurs de convenir sur des mthodes d'authentification, les mthodes de chiffrement, les cls d'utilisation, le temps d'utilisation des cls avant de les changer, et qui permet l'change intelligent et sr des cls.
Le document de rfrence RFC 2401 (voir CD annexe) dcrit les bases de l'architecture IPSec. Il dfinit les services de scurit, la structure des paquets de ces services et quand ils peuvent tre utiliss.
3 4
Internet Engineering Task Force IPSec peut tre utilis avec le standard existant IPv.4 et celui mandataire IPv.6
Page 39
Christian Tettamanti
IPSec implmente deux protocoles : le AH et le ESP. Ces protocoles permettent IPSec de travailler selon deux modes distincts. Si on veut scuriser tant les donnes que toute la couche IP, on utilisera le mode Tunnel, tandis que si on veut scuriser seulement les donnes on prfrera le mode Transport. Le mode Transport est utilis pour l'acheminement direct des donnes protges par IPSec. Il sert donc pour des configurations Host-to-Host. Dans ce mode, les protocoles AH et ESP protgent la couche transport en interceptant les paquets provenant de la couche transport dans la couche rseau.
Application TCP UDP IPSec IP
Figure 33 : Mode transport d'IPSec.
Dans le mode Tunnel, utilis en gnral pour des configurations LAN-to-LAN, le trafic non protg est envoy vers une passerelle implmentant IPSec. Comme le montre la figure suivante, le gateway encapsule tout le paquet IP, entte comprise, avec l'encryptage de IPSec. Il rajoute ensuite une nouvelle entte IP et envoie ce nouveau paquet travers le rseau public vers le gateway destinataire. L, les paquets sont ensuite dchiffrs et envoys sous forme originale sa propre dstination.
Application TCP UDP IP Donnes protges IPSec IP Gateway IPSec Donnes protges IPSec IP Gateway IPSec Application TCP UDP IP
Une option importante de IPSec dans le domaine des VPN est la gestion des cls de chiffrage et d'authentification. Cette gestion peut tre manuelle ou automatique avec le protocole IKE. Ce dernier aspect fera l'objet d'une prsentation plus dtaill dans le chapitre 6.4.4. Pour pouvoir encapsuler et dsencapsuler les paquets IPSec, on doit pouvoir en dterminer le sens de transmission. Ceci, afin de pouvoir associer les diffrents services de scurit et les cls avec le trafic unidirectionnel. Une telle construction est appele SA (Security Association). Une SA est identifie par : Un Security Parameter Index (SPI); Le protocole IPSec utilis; L'adresse de destination.
La SA peut tre cre de faon dynamique (dans le cas d'utilisation de IKE), soit manuellement (gestion des cls manuelles). Le temps de vie d'une SA (SA life time) dpend des paramtres choisis lors de sa cration. Dans le cas d'une gnration manuelle, son temps de vie est infini, jusqu' quand la modification d'un paramtre interviendra. Tandis que dans le cas d'une gnration dynamique, son temps de vie est gnralement dfinit par les deux extrmits lors de la phase de ngociation des paramtres (IKE).
Page 40
Christian Tettamanti
Dscription des champs de la trame : Next header Payload length Reserved SPI Ce champ indique le protocole de couche suprieur. En mode transport, ce champ indique la premire entte protge (TCP ou UDP), tandis qu'en mode tunnel, il vaut 4, ce qui correspond l'identificateur pour le protocole IP. Taille de l'entte. N'est pas utilis et il est rserv pour des applications futures. Ce champ doit tre 0. Le SPI correspond une valeur de 32 bits arbitraire qui, en alliance avec l'adresse IP de destination et du protocole de scurit (AH) identifie la SA qui doit tre utilis pour authentifier ce paquet. Elle est d'habitude choisie par Ie systme destinataire, lors de l'tablissement de la SA.
Page 41
Christian Tettamanti
Sequence number
Authentication data
Numro de squence de 32 bits auto incrment, employ pour se protger d'une retransmission du paquet (fonction d' anti-replay). Ce champ est obligatoire et toujours prsent mme si le rcepteur dsactive la fonction d'anti-replay. La longueur de ce champ dpend de I'algorithme d'authentification utilis. II contient le rsultant du calcul de l'intgrit du message ICV (Integrity Check Value) suivi d'un remplissage avec des 0, pour que le champ soit multiple de 32 bits.
6.4.2.2 Emplacement de I' entte d'authentification AH peut tre utilis tant en mode transport qu'en mode tunnel, comme ESP. Le mode transport s'applique seulement aux applications Host-to-Host et il assure la protection des protocoles des couches suprieures, ainsi que des champs non modifiables de l'entte IP. AH s'insre la suite de l'entte IP et avant les protocoles de couches suprieurs comme par exemple TCP, UDP, ICMP ou pralablement tous les autres enttes IPSec qui ont dj t insres. La figure suivante montre l'entte AH dans le mode transport:
Original IP Header Next Header Payload Length Reserved Security Parameters Index (SPI) Sequence Number Authentication data IP Payload
Figure 36 : AH en mode Transport
Authentifi
En mode tunnel, l'entte IP originale est place la suite de AH et inclut les adresses de source et de destination finales, alors que la nouvelle entte IP, place antrieurement AH, comporte les adresses des gateways. AH protge l'entte IP originale et ses donnes de mme que les champs non modifiables de la nouvelle entte IP. La figure suivante montre l'entte AH en mode tunnel.
New IP Header Next Header Payload Length Reserved Security Parameters Index (SPI) Sequence Number Authentication data Original IP Header IP Payload
Figure 37 : AH en mode Tunnel.
Authentifi
Page 42
Christian Tettamanti
6.4.2.3 Traitement des paquets sortants Le protocole AH, pour les paquets sortants, est utilis seulement si configur pralablement dans l'implmentation IPSec utilis. La gnration du numro de squence est ralise comme suit : Lorsque la SA est tablie, le compteur de l'expditeur et le compteur du rcepteur sont initialiss 0. L'metteur incrmente le numro de squence pour sa propre association et annonce la nouvelle valeur dans le champ du numro de squence. Ceci dit, le premier paquet envoy en utilisant la SA donne vaudra 1. Le numro de squence transmis ne doit jamais faire un cycle complet. Si l'anti-replay est autoris, l'expditeur contrle la valeur du numro de squence, afin de s'assurer que le compteur n'aurait pas fait un cycle complet avant d'insrer celle-ci dans le champ prvu. Cela dit, l'ordinateur de l'expditeur et le compteur du rcepteur doivent tre remis l'tat initial en tablissant nouvelle SA et ainsi une nouvelle cl, sauf si gestion manuelle, avant la transmission du paquet 232 de la SA en cours. Les autres champs de l'entte sont ensuite mis jour : le champ SPI aura donc la valeur dfinie par la SA, le champ next header aura la valeur du protocole suivant AH, le champ payload length sera calcul et le champ authentication data sera mis 0. Enfin les bits restants de l'entte seront mis 0, afin d'avoir l'entte multiple de 32 bit. Le champ ICV (lntegrity Check Value) est calcul avec l'algorithme d'authentification dfinit par la SA et utilisant comme paramtres la cl d'authentification et le datagramme IP, entte AH incluse. Les champs modifiables, n'tant pas pris en compte dans le calcul de l'ICV, doivent tre mis 0 avant ce calcul. Ensuite la valeur rsultante est place dans le champ de l'entte AH et les champs modifiables reprennent leurs valeurs. Le traitement est maintenant termin et le datagramme peut tre envoy. Le datagramme peut tre fragment, en fonction de la taille du paquet. 6.4.2.4 Traitement des paquets entrants Si les datagrammes IP ont t fragments, ils doivent tre rassembls avant leur traitement. La premire opration effectuer consiste identifier la SA utilise, afin de protger le paquet entrant. Cette identification est faite l'aide de l'adresse de destination, du protocole utilis (dans le cas de AH, le protocole IP 51) et le SPI. Si aucune SA n'est identifie, le paquet est ignor. Une fois la SA reconnue, on procde par la vrification du numro de squence. Cette tape est optionnelle, en fonction de l'activation de l'anti-replay. Cette vrification dtermine s'il s'agit d'un nouveau ou d'un ancien paquet qui a t dj reu. Si ce contrle rvle la prsence d'un paquet dj reu, celui-ci est ignor. Ceci dit, le contrle de l'ICV peut tre effectu. L'ICV reu est mmoris et son champ est mis 0, de mme que tous les champs modifiables. Ensuite l'algorithme d'authentification est appliqu au paquet IP pour le calcul d'un nouvel ICV. Si le paquet correspond celui sauvegard prcdemment, il est authentifi, autrement rejet. La vrification tant termine, le paquet peut tre transmis la couche suprieure.
Page 43
Christian Tettamanti
La grande diffrence entre l'authentification fournie par AH et celle fournie par ESP se trouve dans le protocole ESP. Avec ce protocole les donnes contenues dans l'entte IP ne sont pas authentifies. De mme que pour AH, le service d'anti-replay est optionnel. La dcision d'activer ce service est la charge du destinataire du paquet. ESP fournit le service de la confidentialit avec un algorithme de cryptage et l'intgrit des donnes avec un algorithme d'authentification. Ces algorithmes doivent absolument tre les mmes pour les deux extrmits de la SA utilisant ESP. 6.4.3.1 Format de l'entte ESP Dans le cas de ESP, le champ Protocol type du paquet IP vaut 50. Ceci dit, si ce champ IP vaut 50, cela signifie que le protocole de couche suprieur seraESP. La figure suivante montre le format de l'entte ESP :
16 bit 16 bit Security Parameters Index (SPI) Sequence number Initialization vector Protected data Padding Pad Length Authentication data
Figure 38 : Entte du protocole ESP.
Next Header
Description des champs de la trame : SPI Le SPI correspond une valeur de 32 bits arbitraire qui, en alliance avec l'adresse IP de destination et du protocole de scurit (AH) identifie la SA qui doit tre utilis pour authentifier ce paquet. Elle est d'habitude choisie par Ie systme destinataire, lors de l'tablissement de la SA.. Ce champ est authentifi, mais pas encrypt. Numro de squence de 32 bits auto incrment, employ pour se protger d'une retransmission du paquet (fonction d' anti-replay). Ce champ est obligatoire et toujours prsent mme si le rcepteur dsactive la fonction d'anti-replay. Le traitement de ce champ est fait uniquement par le rcepteur et l'expditeur doit toujours le transmettre. Ce champ est galement authentifi, mais pas encrypt pour la faciliter la dtection des rptitions des paquets. Ce champ contient les donnes chiffres, de mme que le vecteur d'initialisation. Ce dernier est utilis avec l'algorithme d'encryption, afin de
Page 44
Sequence number
Protected data
Christian Tettamanti
Padding
produire la confidentialit des donnes. Ce champ est galement authentifi, toutefois pas encrypt. Gnralement, il est plac dans les huit premiers bytes du champ protected data. Ce champ sert d'alignement pour le protocole ESP. Certains algorithmes de cryptage ncessitent que la longueur du datagramme soit un multiple exact d'un nombre fixe de bytes. En fonction de l'algorithme employ, ce champ sera rempli par des 0 jusqu' l'obtention du multiple dsir. Ce champ donne la longueur du champ padding. Ce champ indique le protocole de couche suprieur. En mode transport, ce champ indique la premire entte protge (TCP ou UDP), tandis qu'en mode tunnel, il vaut 4, qui correspond la valeur pour le protocole IP. La longueur de ce champ dpend de I'algorithme d'authentification utilis. II contient le rsultant du calcul de l'intgrit du message ICV (Integrity Check Value) suivi d'un remplissage avec des 0, pour que le champ soit multiple de 32 bits.
6.4.3.2 Emplacement de l'entte ESP Comme AH, ESP peut tre utilis tant en mode transport qu'en mode tunnel. En mode transport, ESP s'insr la suite de l'entte IP et avant les protocoles de couche suprieurs comme par exemple TCP, UDP, ICMP ou pralablement tous les autres enttes IPSec qui ont dj t insres. La figure suivante montre l'entte ESP dans le mode transport:
Original IP Header Security Parameters Index (SPI) Sequence Number Initialization vector IP Payload Padding Pad Length Next Header Authentication data
Figure 39 : ESP en mode Transport
Encrypt
Authentifi
En mode tunnel, l'entte IP originale est place la suite de ESP et elle inclut les adresses de source et de destination finales, alors que la nouvelle entte IP, place antrieurement ESP, comporte les adresses des gateways. ESP protge l'entte IP originale et ses. La figure suivante montre l'entte ESP en mode tunnel.
New IP Header Security Parameters Index (SPI) Sequence Number Initialization vector Original IP Header IP Payload Padding Pad Length Next Header Authentication data
Figure 40 : ESP en mode Tunnel.
Encrypt
Authentifi
Page 45
Christian Tettamanti
6.4.3.3 Traitement des paquets sortants Le protocole ESP, pour les paquets sortants, est utilis seulement si configur pralablement dans l'implmentation IPSec utilis. Dans le mode transport, I'entte ESP est insre dans le paquet sortant immdiatement aprs l'entte IP. Le champ protocol type de l'entte IP est copi dans le champ next header de ESP et il est remplac par la valeur 50 qui correspond au protocole ESP. Dans le mode tunnel, l'entte ESP est insre avant I'entte IP. Le champ next header ESP prend la valeur 4 (qui correspond au protocole IP). Les autres champs de l'entte sont ensuite mis jour: Le champ SPI aura donc la valeur dfinie par la SA,. le champ sequence number prend la valeur du prochain numro de squence (soit 0 s'il s'agit du premier paquet mis par la SA). Enfin les champs padding et padding length seront calculs et affcts. La suite des oprations est indpendante du mode utilis. Le paquet est encrypt avec l'algorithme dfinit par la SA. Cet encryptage commence au dbut des donnes utiles jusqu' la fin du champ next header. Ensuite, le paquet est authentifi par I'algorithme dfinit par la SA depuis le dbut de l'entte ESP jusqu' la fin du champ next header. Le rsultat de l'algorithme d'authentification est insr dans le champ authentication data. La dernire tape effectuer avant d'envoyer le paquet est de recalculer le checksum de I'entte IP qui prcde ESP. Le traitement est maintenant termin et le datagramme peut tre envoy. 6.4.3.4 Traitement des paquets entrants Lorsque le rcepteur reoit un paquet ESP, il ne connat pas le mode d'encapsulation utilis. Pour savoir si le mode employ tait celui de transport ou de tunnel, il doit se baser uniquement sur les informations de la SA associe. En fait, avant que le paquet soit dcrypt, il n'y a aucun moyen pratique de connatre le mode employ. Ceci, pour se protger des personnes malintentionnes qui pourraient analyser le rseau en cherche de ces informations. La premire opration effectuer consiste identifier la SA utilise, afin de protger le paquet entrant. Cette identification est faite l'aide de l'adresse de destination, du protocole utilis (dans le cas de ESP, le protocole IP 50) et le SPI. Si aucune SA n'est identifie, le paquet est ignor. Une fois la SA reconnue, on procde par la vrification du numro de squence. Si ce dernier est valide, cela signifie qu'il n'a jamais t utilis et qu'il doit tre en squence avec la fentre contenue dans la SA. Ceci dit, le contrle de l'ICV peut tre effectu. L'ICV reu est mmoris et son champ est mis 0, de mme que tous les champs modifiables. Ensuite l'algorithme d'authentification est appliqu au paquet IP pour le calcul d'un nouvel ICV. Si le paquet correspond celui sauvegard prcdemment, il est authentifi, autrement rejet. La vrification tant termine, le paquet peut tre transmis la couche suprieure. La seconde tape corresponde l'authentification du paquet. L'algorithme d'authentification est appliqu toute la trame sauf au champ authentication data, pour le calcul d'un nouvel ICV. Si le paquet correspond celui du champ authentication data, il est authentifi, autrement rejet. Le paquet ESP est ensuite dcrypt I'aide de la cl et de I'algorithme dfini par la SA depuis le dbut des donnes utiles jusqu' la fin du champ next header. Une fois le paquet authentifi et dcrypt, il peut tre envoy la couche suprieure s'il s'agit du mode transport (le poste ayant effectu ces oprations tant le destinataire du message) ou envoy au vrai destinataire s'il s'agit du mode tunnel (le destinataire du message n'tant pas le mme dispositif).
Page 46
Christian Tettamanti
16 bit
Description des champs de la trame : Initiator cookie (8 bytes) Cookie du dispositif qui a initi l'tablissement, la modification ou la suppression de la SA. Responder cookie (8 bytes) Cookie de l'entit qui a rpondu la demande d'initiation de I'tablissement, la modification ou la suppression de la SA. Next payload Indique le type des premires donnes utiles contenues dans le message. Major/Minor version Indique la version d'ISAKMP utilis. Exchange type Indique le type d'change utilis et dfini I'ordre des messages et des donnes utiles de I'change ISAKMP. Flags Indiquent les diffrentes options contenues dans le message. Ces options peuvent tre: Encryption, Commit ou Authentication only. Message ID Identificateur unique du message. Message length Longueur totale du message. La structure des donnes dfinies par ISAKMP est toujours la mme et elle est montr par la figure suivante :
16 bit Next Header Reserved 16 bit Payload Length
Page 47
Christian Tettamanti
Certains de ces messages dpendent les un des autres. Par exemple, le security association payload encapsule un proposal payload, qui lui-mme contient un transform payload. Les messages dfinis dans ISAKMP sont : Hash payload : il contient le message condens d'une fonction de hachage particulire; Signature payload : il contient la signature numrique; Nonce payload : il contient certaines informations pseudo alatoires ncessaires I'change; Vendor ID payload : c'est l'identificateur du fournisseur. Chaque fournisseur y place les informations qu'il souhaite; Key exchange payload : il contient les informations ncessaires pour effectuer I'change des cls; security association payload; Certificate payload; Identification payload; Proposal payload : il contient une simple proposition pour la SA et un/des transform payload; Transform payload : il contient un certain nombre d'attributs permettant de mettre en oeuvre la proposition contenue dans le proposal payload.
Proposal payload
Next payload: NONE (0) Length: 40 Proposal number: 1 Protocol ID: ISAKMP (1) SPI size: 0 Number of transforms: 1
Transform payload
Next payload: NONE (0) Length: 32 Transform number: 1 Transform ID: KEY_IKE (1) Encryption-Algorithm (1): 3DES-CBC (5) Hash-Algorithm (2): MD5 (1) Group-Description (4): Group-Value (1) Authentication-Method (3): PSK (1) Life-Type (11): Seconds (1) Life-Duration (12): Duration-Value (18000) Bad Offset: 122
Page 48
Christian Tettamanti
KE Nonce 0
Initiator Cookie Responder Cookie Version Exchange Flags Message ID Message Length 0 KE Payload Length KE Payload Data 0 Nonce Payload Length Nonce Payload Data
Figure 43 : Chanage possible d'un message ISAKMP.
ISAKMP Header
6.4.4.1.1 Echanges et phases ISAKMP dfinit deux phases lors de la ngociation des paramtres. La premire phase concerne l'authentification des deux pairs et la scurisation du canal entre eux. La deuxime phase utilise le canal scuris pour ngocier les paramtres de scurit des diffrents protocoles IPSec. ISAKMP dfinit cinq types d'change, dont : Base exchange; Identity protection exchange; Authentication only exchange; Agressive exchange; Informational exchange.
6.4.4.2 IKE ISAKMP ne dfinissant pas d'change de cls, c'est le rle d'autres protocoles de dfinir ces changes. IPSec utilise pour cet effet le protocole IKE, qui lui utilise le support d'lSAKMP pour dfinir l'change des cls. IKE dfinit plusieurs types de messages et d'options applicables ces changes; leur but est celui de crer l'association de scurit SA dans les deux pairs l'aide des deux phases d'lSAKMP. La premire est utilise pour crer une SA IKE et la deuxime pour ngocier les paramtres ncessaires la cration de la SA IPSec. Pour la premire phase de I'change, IKE utilise les changes identity protect exchange et aggressive exchange d'ISAKMP et les appels main mode et aggressive mode. Pour la deuxime phase, IKE dfinit un quick mode exchange. Ce dernier ngocie les diffrents paramtres des protocoles IPSec autre que IKE (AH et ESP). 6.4.4.2.1 Main Mode Exchange Pour l'tablissement de la SA IKE, sont utiliss six messages, trois requtes et trois rponses, pour tablire la SA IKE. Ces messages font partie de trois tapes : change des paramtres Diffie-HeIIman, tel que le group; change d'un payload nonce; Authentification des deux pairs.
Page 49
Christian Tettamanti
Pair 1 Header + SA
Pair 2
Header + SA Header + KE + Nonce Header + KE + Nonce Header + Idi + Hash Header + Idi + Hash
Le premier change sert la ngociation des paramtres ncessaires la mise en place de la SA d'IKE. Le deuxime change sert la ngociation des valeurs publiques de I'algorithme Diffie-Hellman et des valeurs pseudo-alatoires contenues dans le nonce payload. Lors du dernier change les deux pairs s'envoient leur identit respective et le hash digest ncessaire I'authentification. 6.4.4.2.2 Aggressive Mode Exchange Les donnes changes en mode agressive mode exchange sont les mmes que celles pour le main mode exchange. La seule diffrence existante entre ces deux modes rside dans le nombre de paquets changs passe de six trois. En rduisant le nombre de paquets changs, I'aggressive mode exchange limite sa puissance de ngociation. 6.4.4.2.3 Quick Mode Exchange Une fois la SA IKE tablie avec le main mode ou I'aggressive mode, le quick mode peut tre utilis pour tablir une SA pour un autre protocole de scurit, tel que AH et ESP. Le quick mode est effectu sous la protection de la SA IKE prcdemment tablie. Dans un change en quick mode, les deux pairs ngocient les caractristiques de la SA IPSec tablir, et gnrent les cls correspondantes. La SA IKE protge ces changes en chiffrant et en authentifiant les messages transmis.
Pair 2 Page 50
Christian Tettamanti
En plus de l'entte ISAKMP, du Hash, de la SA, du Nonce et des paramtres optionnels de Diffie-Hellman, les deux pairs peuvent s'changer des informations concernant leur identit tel que leur adresse IP.
7. Conclusions
Ce document a permis l'auteur de bien se familiariser avec la problmatique des rseaux privs virtuels, notamment les problmes lis aux protocoles tudis. Le tutorial donne un vaste aperu des protocoles le plus souvent utiliss, comme PPTP, L2TP et IPSec. Les sujets traits sont mis en pratique dans le laboratoire annexe intitul Laboratoire sur les VPN.
Page 51
Christian Tettamanti
8. Bibliographie
8.1 Ouvrages
[SLACKWARE] [IPSECRFC00] Slackware Linux Unleashed Authors : Bao Ha, Tina Nguyen 1999 Sams Edition Big Book of IPSec RFCs Compiled by: Pete Loshin 2000 Morgan Kaufmann
8.2
[MICROSOFT1] [RFC2401] [RFC2402] [RFC2403] [RFC2404] [RFC2405] [RFC2406] [RFC2407] [RFC2408] [RFC2409] [RFC2410] [RFC2411] [RFC2412]
8.3
Complments (annexs)
[TUTORIAL1] Tutorial VPN C.Tettamanti 2000 TCOM EiVD Installation de Linux Slackware pour des solutions VPN C.Tettamanti 2000 TCOM - EiVD [CONFIG1] Configuration dun VPN PPTP et IPSec C.Tettamanti 2000 TCOM - EiVD
[CONFIG0]
Page 52