1
Virtual Private Networks
• Présentation des VPN• Scénarios VPN• Choix de technologies VPN• VPN termes clés• IPSec
2
Présentation des VPN
Un VPN transporte du trafic privé sur un réseau public en utilisant du cryptage et des tunnels pour obtenir :• la confidentialité des données (cryptage) :
l'émetteur doit crypter les paquets avant de les transmettre dans le réseau. Par ce moyen, si la communication est interceptée les données ne pourront pas être lues
• l'intégrité des données : le récepteur peut vérifier si les données n'ont pas été altérées lors de leur passage dans le réseau
• l'authentification des utilisateurs : le récepteur peut authentifier la source du paquet, garantissant et certifiant la source de l'information
3
Présentation des VPN
• Un réseau privé virtuel (VPN) est défini comme une connectivité réseau déployée sur une infrastructure partagée avec les mêmes politiques de sécurité que sur un réseau privé
• Un VPN peut être entre deux systèmes d'extrémité ou entre deux ou plusieurs réseaux
• Un VPN est construit en utilisant des tunnels et du cryptage• Un VPN peut être construit au niveau de différentes couches
du modèle TCP/IP• Un VPN est une infrastructure WAN alternative aux réseaux
privés qui utilisent des ligneslouées ou des réseaux d'entreprise utilisant Fame Relay ou ATM
4
Présentation des VPN
Internet
Site Central
Site distant
FrameRelay
FrameRelay
• Coût élevé• Peu flexible• Gestion WAN• Topologies complexes
• Faible coût • Plus flexible• Gestion simplifiée• Topologie tunnel
RéseauFrame Relay
RéseauFrame Relay
Internet
Site Central
Site distantFrameRelay
FrameRelay
TunnelVPN
VPNConventionnel
5
Présentation des VPN
• Caractère virtuel :– C’est la technique du tunneling qui permet d’étendre de façon
« virtuelle » le réseau privé à travers un réseau public
• Caractère privé :– C’est le cryptage qui confère son caractère privé aux données
puisqu’elles ne peuvent être décodées que par les interlocuteurs d’extrémité
Réseau Privé : cryptage
Réseau Virtuel : tunneling
6
Présentation des VPN
• Exemples de protocoles de tunneling :
– GRE (Generic Routing Encapsulation)– L2TP (Layer 2 Tunneling Protocol) – IPSec
7
Présentation des VPN
Cryptage Décryptage
MessageCrypté
Tunnel
Infos Infos
• Un tunnel est une connexion point à point virtuelle :• connexion point à point au travers d'un réseau IP en mode non-connecté
• Un tunnel transporte un protocole à l'intérieur d'un autre : • encapsulation d’IP dans IP par exemple !
• Le cryptage transforme les informations en texte chiffré• Le décryptage restaure les informations à partir du texte chiffré
8
Scénarios VPN
Interconnexion de plusieurs sites avec routage
PC à Firewall / Routeur à Firewall
PC à Routeur/Concentrateur VPNInterconnexion de deux sites
9
Scénarios VPN
• Baser le réseau uniquement sur des connexionx fixes n’est plus envisageable
• Le VPN est assez souple pour autoriser l’accès au réseau facilement et dans de bonnes conditions de sécurité
ServiceDistant
OpérateurB
OpérateurA
Entreprise
DMZAAA
Partenaire
Fournisseur
Agence
AgenceRégionale
Utilisateur Mobileou Télétravailleur
Serveurs WebServeur DNSRelais Mail SMTP
10
Scénarios VPN
• Deux types de VPN :– accès distant (remote access ou VPDN Virtual Private Dial-up
Network) : utilisateurs mobiles, télétravailleurs, utilisateurs du réseau ayant le moyen de travailler depuis leur domicile
Il faut dans ce cas identifier l’utilisateur, voire sa machine
– interconnexion de sites (LAN to LAN VPN ou site to site VPN) : • Intranet VPN : bureaux distants, succursales, pour les data et aussi la
voix sur IP (encore confidentiel)• Extranet VPN : clients, fournisseurs, partenaires de l’entreprise, …
Dans ce cas, ce sont les éléments d’interconnexion qui doivent s’identifier les uns aux autres
• Le dénominateur commun est l’accès aux ressources du réseau privé, au-delà des serveurs publics, à travers un réseau publique
Qui crée des VPN ?
11
Scénarios VPN
• Les administrateurs réseaux des entreprises :– ils créent des VPN LAN to LAN aussi bien que des VPN d’accès distant,
pour les besoins des personnels et des partenaires de l’entreprise
• Les opérateurs téléphoniques et les fournisseurs d’accès à Internet :– ils créent des VPN LAN to LAN « clefs en main » qu’ils proposent aux
entreprises
– ces offres de VPN s’accompagnent souvent de services comme :• l’accès à Internet• l’hébergement de serveurs• le filtrage de paquets• la fonction FireWall• l’antivirus• la détection d’intrusions
12
Scénarios VPN
• Exemple de VPN d’accès distant :– Connexion sur l’équipement frontal de l’entreprise :
• routeur• pare-feu• concentrateur VPN
– Les clients distants peuvent être : • petit routeur• clients VPN
client VPN
13
Scénarios VPN
• Exemple de VPN d’interconnexion :– Connexion entre les deux équipements frontaux
• routeurs et/ou firewall• concentrateur VPN
– Les clients et serveurs ignorent le VPN
ou ou
ouou
14
Choix de la technologie
• Plusieurs techniques existent pour sécuriser des échanges entre sites
• Les premières techniques apparues sont de niveau applicatif, et correspondent donc à des applications particulières :– SSH : telnet sécurisé (authentifié et crypté)
– S/MIME : SMTP sécurisé
Couche Application
CryptageCoucheLiaison
CryptageCoucheLiaison
Couche Transport
SSHS/MIME
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
SSL
15
Choix de la technologie
• L’inconvénient des techniques de niveau applicatif est qu’elles sont spécifiques à l'application et doivent être implémentées à chaque nouvelle application
Couche Application
CryptageCoucheLiaison
CryptageCoucheLiaison
Couche Transport
SSHS/MIME
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
SSL
16
Choix de la technologie
• Le protocole SSL (Secure Socket Layer) fournit du cryptage, de l'authentification et de l'intégrité aux applications basées sur TCP
• SSL est communément utilisé par les sites de e-commerce mais manque de flexibilité, n'est pas facile à implémenter et dépend de l'application
Couche Application
CryptageCoucheLiaison
CryptageCoucheLiaison
Couche Transport
SSHS/MIME
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
SSL
17
Choix de la technologie
• La protection au niveau de la couche liaison coûte cher car elle doit être réalisée pour chaque intermédiaire (niveau liaison)
• Elle n'exclut pas l'intrusion au moyen de stations intermédiaires ou sur les routeurs
• Elle est très souvent propriétaire
Couche Application
CryptageCoucheLiaison
CryptageCoucheLiaison
Couche Transport
SSHS/MIME
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
SSL
18
Choix de la technologie
• Il existe plusieurs techniques « de niveau 3 », les plus utilisées sont L2TP (et encore un peu PPTP), GRE et IPsec
Couche Réseau
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
IPSec
GRE
L2FL2TPPPTP
Protocoles VPN Description Standard
L2TP Layer 2 tunneling Protocol RFC 2661
GRE Generic Routing Encapsulation
RFC 1701 et 2784
IPSec Unternet Protocol Security RFC 2401
19
Choix de la technologie
• Avant L2TP (Août 1999), Cisco utilisait L2F (Layer 2 Forwarding) qui est un protocole de tunneling propriétaire– L2TP est compatible avec L2F
– L2F n'est pas compatible avec L2TP
• L2TP est une cominaison de Cisco L2F et Microsoft PPTP– Microsoft supporte PPTP dans les anciennes versions de Windows
et PPTP/L2TP dans Windows NT/2000 et supérieur
Couche Réseau
ApplicationCouches (5-7)
Réseau/TransportCouches (3-4)
Physique/LiaisonCouches (1-2)
IPSec
GRE
L2FL2TPPPTP
20
Choix de la technologie
L2F (cisco)
PPTP (microsoft)
L2TP IPsec
• L2F n’est plus utilisé• PPTP et L2TP sont encore utilisés pour faire des VPDN, mais
ils sont de moins en moins répandus
21
• 10.10 émet un paquet à destination de 20.20
• A le reçoit, mais il ne peut l’envoyer vers B avec une @IP destination privée
• Pourtant, si ce paquet pouvait être livré tel quel à B, il pourrait continuer à voyager dans le réseau 20, comment faire ?
• Il faudrait faire en sorte que A crypte la paquet et l’envoie à B à travers une liaison point à point (comme si A et B étaient reliés directement l’un avec l’autre)
• C’est ce que font les protocole PPTP (Point to Point Tunneling Protocol) et L2TP (Layer 2 Tuneling Protocol) en encapsulant le paquet dans une trame PPP, puis en ré-encapsulant l’ensemble dans un paquet IP (via GRE pour PPTP ou UDP pour L2TP) à destination de B (!)
Choix de la technologie
198.168.10.0/24 198.168.20.0/24
198.168.10.10 198.168.20.20A B
22
Choix de la technologie : PPTP192.168.10.0/24 192.168.20.0/24
192.168.10.10 192.168.20.20A B
192.168.10.10 192.168.20.20
192.168.10.10 192.168.20.20PPPGRE
DATA
DATA
crypté
############ ###############GRE ######195.150.23.44
195.150.23.44 193.25.238.17
193.25.238.17
Protocole PPTPRouteur A
• PPTP encapsule une trame PPP dans un paquet IP, via le protocole GRE (Generic Routing Encapsulation), c’est le canal de données
• GRE est utile car IP n’est pas fait pour encapsuler PPP
• PPTP utilise une deuxième connexion pour le contrôle (tcp/1723)
• PPTP permet d’établir des connexions PPP à travers un réseau IP comme Internet, qui n’est pas du tout fait pour cela
• L’authentification se fait par CHAP, le chiffrement par MPPE
23
Choix de la technologie : L2TP
192.168.10.0/24 192.168.20.0/24
192.168.10.10 192.168.20.20A B
192.168.10.10 192.168.20.20
192.168.10.10 192.168.20.20PPPUDP
DATA
DATA
crypté
############ ###############UDP ######195.150.23.44
195.150.23.44 193.25.238.17
193.25.238.17
Protocole PPTPRouteur A
• L2TP Layer 2 Tunneling Protocol
• Encapsule le paquet IP dans une trame PPP et ré-encapsule l’ensemble dans UDP et IP
• UDP accepte d’encapsuler PPP
• IP encapsule naturellement UDP
24
Choix de la technologie : IPsec
• IPSec est un bon choix pour sécuriser les VPNs d'entreprise• IPSEc est un ensemble de protocoles qui fournissent
l'authentification la confidentialité et l'intégrité des données entre les deux extrémités
• IPSec fournit ces services de sécurité en utilisant IKE (Internet Key Exchange) ou ISAKMP (Internet Security Association Key Management Protocol) pour :– négocier certains algorithmes par exemple de cryptage ou
d’échange de clefs– confronter les paramètres de sécurité (SA pour Securit
Association) de part et d’autre• IPSec ne permet pas le transport de paquets multicast
25
VPN : termes clés
• Tunnel : technique d’encapsulation utilisée pour créer des liaison point à point « virtuelles »
• Exemple IP dans IP
TunnelInfos Infos
26
VPN : termes clés
• Cryptage : – Symétrique
– Asymétrique
– Plus ou moins complexe
– Plus ou moins coûteux en calculs
Cryptage
SymétriqueClé secrète:DES, 3DES,AES
AsymétriqueClé publique:RSA
27
VPN : termes clés
• Cryptage symétrique ou cryptage à clé secrète• Utilisé pour de grands volumes de données car beaucoup
moins gourmand en ressources CPU que les algorithmes asymétriques
• Durant l'échange, les clés peuvent changer plusieurs fois• L’important ici est de bien protéger la clé
Cryptage Décryptage
MessageCryptéInfos Infos
Clé secrètepartagée Clé secrète
partagée
28
VPN : termes clés
• Il a de nombreuses technologies de cryptage disponibles pour fournir de la confidentialité
• DES (Data Encryption Standard) crypte les paquets avec une clé d'une longueur de 56 bits.
• A sa création dans les années 1970, DES paraissait inviolable• Aujourd'hui, le cryptage DES peut être décodé assez facilement
DES ?
29
VPN : termes clés
• 3DES utilise une clé d'une longueur de 168 bits et exécute trois opérations DES en séquence
• 3DES est 256 fois plus fiable que DES• AES (Advanced Encryption Standard) utilise des clés de
longueur 128, 192 ou 256 bits pour crypter des blocs de 128, 192 ou 256 bits (les 9 combinaisons de tailles de clés et de tailles de blocs sont possibles)
3DES ? AES ?
30
VPN : termes clés
• Dans le cas du cryptage asymétrique, un message codé avec la clé publique ne peut être décodé qu’avec la clé privée
• Les mécanismes utilisés pour générer les paires de clés sont complexes et permettent de garantir l'unicité de la paire clé publique/clé privée
• Les algorithmes de crytage à clé publique sont souvent utilisés pour : – l’authentification– le transport de clés
• Les algorithmes les plus connus sont : RSA (Rivest, Shamir, Adleman) et El Gamal
Cryptage Décryptage
MessageCryptéInfos Infos
Clé publiquedu receveur
Clé privéedu receveur
• La clé privée est connue uniquement par le récepteur• La clé publique est diffusée à qui la demande
31
VPN : termes clés
• Hachage : technique utilisée pour garantir l’intégrité des données
• Utilise une clé secrète• Largement utilisé pour transporter des messages qui sont en
fait des clés
Local Distant
Payer à JC Puce50 € et 22 cents
Clé secrètepartagée Clé secrète
partagée
Payer à JC Puce50 € et 22 cents
Payer à JC Puce50 € et 22 cents
Message delongueur variable Message reçu
4ehlDx67NM0p94ehlDx67NM0p9
4ehlDx67NM0p9
Message + Hash
Fonctionde Hachage Fonction
de Hachage
32
VPN : termes clés
• Les deux algorithmes de hachage les plus communs sont :– HMAC-MD5 - utilise une clé secrète de 128 bits
• A la sortie l'algorithme donne une valeur "hash" de 128 bits• La valeur "hash" est ajouté en fin de message et le tout est transmis
vers l'autre extrémité
– HMAC- SHA1 - Utilise une clé secrète de 160 bits• A la sortie l'algorithme donne une valeur "hash" de 160 bits• La valeur "hash" est ajouté en fin de message et le tout est transmis
vers l'autre extrémité
• HMAC-SHA1 est considéré comme étant plus robuste que HMAC-MD5
33
VPN : termes clés
• Gestion des clés : quand on monte un tunnel VPN, on utilise plusieurs clés
• Ces clés doivent être créées, changées, transmises, etc…• Il faudra choisir une stratégie de gestion des clés
Gestion de clés
Gestion Manuelle Echange de clés secètesDiffie-Hellman
Echange de clés publiquesAutorité de Certificats
34
VPN : termes clés
• L'algorithme Diffie-Hellman est un moyen pour deux firewalls, A et B, de calculer une clé secrète partagée sans jamais la transmettre
• Cette clé secrète peut être établie même si le canal de communication n'est pas sécurisé
• Cette clé sera utilisée pour crypter les données avec l'algorithme choisi par A et B
Routeur A Routeur B
Réalise un échange authentifié de clés
YA
YB
YA= gXA mod p YB= gXB mod p
Valeur privée XA
Valeur publique YA
Valeur privée XB
Valeur publique YB
YBXA mod p = k YA
XB mod p = k
35
VPN : termes clés
• p et g sont choisis par A et B tels que n > g > 1• p est choisi très grand : 1024 bits par exemple• p et g peuvent être échangés sur un lien non sécurisé (on
accepte qu’un éventuel pirate entande p et g)
• A choisit XA aléatoire et B choisit XB aléatoire
Routeur A Routeur B
p et g en accord avec BXA aléatoire
p et g en accord avec AXB aléatoire
échange de p et g
36
VPN : termes clés
• A calcule YA et B calcule YB
• YA et YB sont échangés sur le canal sécurisé
• le pirate peut intercepter YA et YB, il ne pourra recalculer XA et XB
• A calcule k et B calcule k’• En fait k = k’ = K, servira de clé privée• K ne peut être recalculée à partir de ce que le pirate a pu entendre
(c’est-à-dire p, g, YA et YB )
Routeur A Routeur B
YA
YB
YA= gXA mod p YB= gXB mod p
YBXA mod p = k YA
XB mod p = k’
p et g en accord avec BXA aléatoire
p et g en accord avec AXB aléatoire
En fait k = k’
37
VPN : termes clés
• Les outils sont maintenant expliqués :– Tunnel– Cryptage– Hachage– Gestion des clés
• Ils vont être utilisés par les différents protocoles qui participent à la création d’un VPN
• Les deux firewalls qui cherchent à monter un VPN doivent utiliser la même combinaison de cet ensemble d’outils
38
IPSec
IPsec
SPD
SAD
Administrateur
IKE
demande la création d’une SA
négocie, modifie, supprime
alerte
configure
consulte
consulte
pointe vers
Security Assocition Database
Security Policy Database
Internet Key Exchange
39
IPsec, AH et ESP en mode tunnel • Les routeurs ont accès à une base de
données SPD qui contient la définition des flux devant être sécurisés (access list)
• Ils exploitent par ailleurs une base de données SAD qui contient plusieurs jeux de paramétrage d’IPsec
• Un paramétrage d’IPsec est appelé SA (Security Association) et correspond à un certain niveau de sécurité
• Le SA qui doit être appliqué est choisi pour chaque paquet en utilisant le SPI (Security Parameter Index) récupéré dans la SPD et qui sera joint dans l’en-tête AH
• Le module IKE permet une bonne gestion des clefs (diffusion, renouvellement)
IPsec
SPD
SAD
Administrateur
IKE
demande la création d’une SA
négocie, modifie, supprime
alerte
configure
consulte
consultepointe vers
Security Assocition Database
Security Policy Database
Internet Key Exchange
40
IPSec : protocoles
• Authenticaton Header (AH)• Encapsulation Payload (ESP)• Security Association (SA)• Internet Key Exchange (IKE)• Internet Security Association Key Management Protocol
(ISAKMP)
41
IPSec : AH
• AH (Authentication Header) - Protocole de sécurité qui fournit l'authentification, l'intégrité des données
• AH est dans la charge utile du paquet
En-têt
eIP
En-têt
eIP
Sec
Char
ge U
tile
IP
sécu
risé
e
En-têteIP
En-têteIPSec
Charge utile IPsécurisé
En-têteIP
Charge utile IP
En-têteIP
Charge utile IP
Sytèmeavec IPsec
Internetou Réseau Privé
En-t
ête
IPEn-t
ête
IPSec
Charg
e U
tile
IP
sécu
risé
e
Sequence Number
Données authentifiées(Variable)
Security Parameters Index (SPI)
Next Header PayloadLength RESERVED
42
IPSec : ESP
• ESP (Encapsulation Security payload) - Protocole de sécurité qui fournit la confidentialité (entre autres)
• ESP encapsule les données à protéger
En-têteIP original
TCP DonnéesIPv4
(a) Paquet IP original
En-têteIP original
TCP DonnéesEn-tête
ESPQueue
ESPAuthESP
(b) Mode Transport
Authentifié
Crypté
IPv4
En-têteIP original
TCP DonnéesEn-tête
ESPQueue
ESPAuthESP
NouveauEn-tête IP
(c) Mode Tunnel
Authentifié
Crypté
IPv4
43
IPsec, AH et ESP en mode transport
• En mode transport, les en-tête IP d’origine sont conservés• Il est utilisé pour sécuriser la communication entre deux postes
ayant des adresses publiques • Ce n’est donc pas ce mode qui sera utilisé pour réaliser un VPN,
puisque nous souhaitons adresser des machines privées• On peut utiliser cette technique pour sécuriser la communication
entre une machine publique sur Internet (l’administrateur depuis son domicile par exemple) et un serveur publique (pour du paramétrage à distance par exemple), mais pour ce cas, il existe d’autres techniques comme SSH (Secure Shell)
44
IPsec, AH et ESP en mode transport
ESP DATAAHEn-tête IP ESP
crypté (ESP)
authentifié (AH)
Utilisation de AH et de ESP en mode transport
En-tête IP DATAIP
IPsec
• AH et ESP peuvent, dans ce mode, être vus comme un protocole intermédiaire entre TCP et IP• L’en-tête IP doit porter des adresses publiques pour voyager à travers Internet
45
IPsec, AH et ESP en mode transport
Serveur avec adresse publique
Poste avec adresse publique
• IPsec permet de sécuriser les échanges entre un poste publique et un serveur publique• Ce cas particulier correspond en fait à une application particulière (donner des ordres au
système du serveur) et doit donc être sécurisé au niveau application• Dans ce cas on utilisera plutôt SSH qui sécurise au niveau application, en fournissant un
interpréteur de commandes sécurisé
Internet
46
IPsec, AH et ESP en mode tunnel
• En mode tunnel, les en-tête d’origine sont cryptés, et un autre en-tête IP sera ajouté (on encapsule de l’IP dans de l’IP)
• Il est utilisé pour sécuriser la communication entre deux équipements d’interconnexion (entre des routeurs ou des firewalls)
• C’est le mode qui sera utilisé pour réaliser un VPN, puisque nous souhaitons adresser des machines privées
• C’est la technique la plus répandue pour faire du LAN to LAN VPN
47
IPsec, AH et ESP en mode tunnel
ESP En-tête IP (ancienne) DATAAHEn-tête IP (nouvelle) ESP
crypté (ESP)
authentifié (AH)
Utilisation de AH et de ESP en mode tunnel
• ESP crypte le paquet d’origine, en-tête IP compris• AH assure l’authentification et l’intégrité de l’ensemble• L’en-tête IP initiale peut contenir des adresses privées puisqu’elle n’est pas utilisée par les
routeurs d’Internet• L’en-tête IP ajouté portera les @ IP des routeurs (ou firewalls) d’interconnexion, qui sont
forcément publiques
En-tête IP (ancienne) DATAIP
IPsec
48
IPsec, AH et ESP en mode tunnel
Réseau privé Serveurs privésInternet
• IPsec sécurise les échanges entre les routeurs d’interconnexion• Il encapsule des paquets portant des @IP privées dans des paquets portant des @IP publiques• Le passage à travers Internet est complètement transparent pour les deux réseaux privés• Les routeurs deviennent alors le lieu d’application de la politique des échanges sécurisés,
puisque seule certaines communications seront cryptées
49
IPSec : SA
• SA (Security Association) : c’est l’ensemble de principes (politiques) et de clés utilisés pour protéger l'information
• Plusieurs SA sont utiles pour « monter » un tunnel IPSec– il faut une SA pour IKE (tunnel de service, on dit aussi SA ISAKMP)– il faut une SA pour IPSec (tunnel de données)
• Les SAs ISAKMP sont bidirectionnelles
• Les SAs IPSec sont unidirectionnelles
• Les équipements VPN stockent leurs SAs dans une base de données locale appelée la SA Database (SAD)
50
IPSec : SA IKE
• Exemple de SA IKE (on dit aussi SA ISAKMP)
Transform 15DESMD5
pre-shareDH1
lifetime
Transform 10DESMD5
pre-shareDH1
lifetime
IKE Policy Sets
Transform 203DESSHA
pre-shareDH1
lifetime
Host A Host BRouter A Router B
10.0.1.3 10.0.2.3Negotiate IKE Proposals
51
IPSec : exemple de SA IPSec
• Exemple de SA IPSec : pour le trafic entre A et B, utilisez ESP 3DES avec les clés K1,K2 et K3 pour le cryptage de la charge utile, SHA-1 avec la clé K4 pour l'authentification
Transform set 55ESP
3DESSHA
TunnelLifetime
Transform set 30ESP
3DESSHA
TunnelLifetime
IPSec Transform Sets
Transform set 40ESPDESMD5
TunnelLifetime
Host A Host BRouter A Router B
10.0.1.3 10.0.2.3Negotiate transform sets
52
IPSec : IKE
• IKE est un protocole utile pour négocier une partie de la politique de sécurité (Security Association : SA) qui servira pour l’échange des données
• IKE est orienté gestion des clés• IKE est issu des anciens protocoles de gestion de clés SKEME
et Oakley• IKE fonctionne dans le cadre de ISAKMP• IKE n’est pas le seul protocole de gestion de clés disponible,
mais il est le seul utilisé en pratique pour IPSec
IPSec
IKE IKE
IPSec
Routeur A Routeur B
Tunnel IKE
53
IPSec : ISAKMP
A B
A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s
B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s
SADB SADB
Accèsclient
Accèsclient
A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s
B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s
BackboneOpérateur
• La négociation des SAs ne concerne pas que la gestion des clés• ISAKMP est le protocole « cadre » qui va permettre à IKE de
fonctionner, mais il sert aussi à négocier les autres paramètres des SAs
• ISAKMP sert à négocier les SAs, mais n’impose rien quant aux paramètres qui composent ces SAs
• ISAKMP définit les procédures et les formats de paquets pour créer, gérer, détruire des SAs
• ISAKMP permet aussi d’authentifier les partenaires d’une SA
54
IPSec : ISAKMP
• On parle de tunnel ISAKMP• ISAKMP est le tunnel de service du tunnel IPSec : il fonctionne
donc avec cryptage et a donc lui aussi une SA• Il doit obligatoirement fonctionner et permettre la négociation
de la politique de sécurité du tunnel de données pour que IPSec fonctionne
A B
A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s
B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s
SADB SADB
Accèsclient
Accèsclient
A vers BESP/DES/SHA-1Keys K1,K2,...lifetime=3600s
B vers AESP/DES/SHA-1keys K6,K7,...lifetime=3600s
BackboneOpérateur
55
IPSec : les 5 étapes
• On distigue 5 étapes lors de l’utilisation d’un tunnel VPN
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
56
IPSec : les 5 étapes
• Etape 1 : A reconnaît des informations à transmettre vers le B par le VPN
• le trafic est dit "intéressant" quand l'équipement VPN reconnaît que les données doivent être protégées : définition d’une ACL
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
57
IPSec : les 5 étapes
• Etape 2 : – IKE Phase 1 authentifie les extrémités IPSec et négocie la SA IKE (ou
SA ISAKMP)
– Ceci crée un canal sécurisé pour négocier les SAs IPSec en Phase 2
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
58
IKE : les modes
IKE phase 1 : Main Mode ou Aggressive Mode
Négociation de la SA ISAKMP
IKE phase 2 : Quick Mode
Négociation de la SA IPSec
59
IKE phase 1
• IKE essentiellement comprend 3 modes :
– Main Mode
– Aggressive Mode
– Quick Mode
– Le « aggressive mode » est presque identique au « main mode » : il utilise 3 messages au lieu de 6
– Par défaut, les routeurs utilisent le Main Mode
Phase 1 de ISAKMP
Phase 2 de ISAKMP
60
IKE phase 1
• Le Main Mode est composé de trois étapes :
– négociation d’une SA ISAKMP
– établissement d’un secret partagé par Diffie Hellman
– échanges des identités (en crypté)
61
Les 3 étapes du Main Mode d’IKE phase 1
• Le Main Mode sert à la négociation :– de la méthode d’authentification (signature numérique,
authentification par chiffrement à clé publique ou secret partagé)
– de l’algorithme de chiffrement
– de la fonction de hachage
– du groupe mathématique relatif à Diffie Hellman
– Cet ensemble constitue la SA ISAKMP
• Le Main Mode utilise Diffie Hellman pour l’établissement d’un secret partagé qui permet de créer des clés pour :– l’algorithme de chiffrement de la SA ISAKMP
– l’algorithme de hachage de la SA ISAKMP
– Une fois cette étape franchie, le tunnel ISAKMP est crypté
• Enfin le Main Mode permet aux deux firewalls d’échanger leurs identités pour réaliser l’authentification
62
Les 3 étapes du Main Mode d’IKE phase 1
• La négociation se fait de la façon suivante : – l’initiateur propose plusieurs combinaisons d’algorithmes
– le partenaire IKE en choisit une
3DESSHARSA signatureDH groupe 2
choix 1
DESMD5Pre-sharedDH groupe 1
choix 2
Propositions
Négociation des paramètres IKE
3DESSHARSA signatureDH groupe 2
choix 1
Sélection
63
IKE phase 2
• Une fois la SA ISAKMP mise en place grâce à la phase 1, le Quick Mode est utilisé pour négocier les SAs IPSec
• La négociation doit aboutir à l’obtention de deux jeux de SAs
De A vers B :SA1
De A vers B :SA1
De B vers A :SA2
De B vers A :SA2
A B
64
IPSec : les 5 étapes
• Etape 3 : – IKE phase 2 négocie les SAs IPSec en cherchant une correspondance
entre les SAs IPSec des extrémités
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
65
IPSec : les 5 étapes
• Etape 4 : – Le transfert de données est effectué entre les extrémités IPSec sur la
base des paramètres IPSec et des clés stockées dans les SAs négociées en étape 3
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
66
IPSec : les 5 étapes
• Etape 5 : – La libération du tunnel IPSec survient quand la session qui a motivé le
montage du VPN se termine ou sur « time out »
Host A Host B
Routeur A Routeur B
1. A reconnait des informations à transmettre vers le B par le VPN2. Les routeurs A et B négocient une session IKE Phase 1
3. Les routeurs négocient une session IKE Phase 2
4. Les information sont échangées via le Tunnel IPSec
5. Le tunnel IPSec est libéré.
IKE SA IKE SAIKE Phase 1
IKE SA IKE SAIKE Phase 2
67
IPSec : les 5 étapes
Cryptage?
SA IPSec?
SA IKE?
Authentificationavec CA?
Transmettresur interface
Cryptage dupaquet et
transmission
Négocie les SAsIPSec avec SAISAKMP
Négocie les SAsISAKMP avec l'extrémité
Récupère la clé publique du CARécupère le certificat pour sa propreclé publique.
access-list 1XX permit
crypto ipsectransform-setcrypto map name
crypto isakmp policycrypto isakmp identitycrypto key generatecrypto key public-chain
crypto ca identitycrypto ca authenticatecrypto ca enrollcrypto ca crl request
IOSLe trafic est choisiavec les listes d'accès
IPSec
ISAKMP
Certificate Authorities CA :Authentification des clés publiques
Non
Non
Non
Non
Oui
Oui
Oui
Oui
Clés
68
Mise en oeuvre
VPN 1
Table des VPNs(appliquée à une interface)
VPN 2
ACL 1
ACL 2
Une entrée dans la table par VPN
Appliqué à une interface : 1 map par interface
SA ISAKMP 1
SA ISAKMP 2
SA IPSec 1
SA IPSec 2
69
Critique d’IPSec
• Les performances sur le lien IPSec sont réduites à cause du chiffrement
• IPSec ne supporte pas le multicast : AH et ESP l’autorisent, mais IKE ne prévoit pas de négocier des SAs entre plus de deux firewalls
• La complexité de IKE conduit à des incompatibilités entre les différents constructeurs
• Le trafic est suspendu pendant le renouvellement des SAs
• La gestion des messages ICMP n’est pas triviale : si un message ICMP vient d’un équipement par lequel transite le tunnel, il ne peut remonter que jusqu’au firewall d’origine. Il faut alors que ce firewall sache prévenir la vraie source des données pour lui faire comprendre que le VPN est indisponible
• Il ne doit pas y avoir de NAT au dessus de VPN (le NAT en dessous de VPN est courant, voire obligatoire sur un firewall)