Upload
tichatata
View
87
Download
0
Embed Size (px)
Citation preview
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 1
Déploiement d’un Réseau Privé Virtuel (VPN)
Support logique pour des échanges
Échanges sécurisés:• entités identifiées• intégrité et confidentialité
Ne nécessite pas d’infrastructure dédiée
Il est possible, comme nous le verrons, que dans certains types de déploiement, il est nécessaire d’utiliser en partie une infrastructure dédiée.
Nous utilisons comme ouvrage de référence :
R. Corvalan, E. Corvalan et Y. Le Corvic, Les VPN, Principes, conception et déploiement des réseaux privés virtuels. Dunod, Paris, 2003, en particulier la première et la deuxième partie.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 2
2006-07Marie-Ange Remiche 2
Motivation : Vue horizontaleSite A
LAN privé
Internet
Site B
LAN privéLAN privé
Site C
Ligne louée
Passerelle LAN
POP de l’ISP
Un employé doit pouvoir se connecter de son domicile aux différents serveurs de son entreprise. Pour ce faire, il est possible que son trafic passe par Internet et pas nécessairement par une ligne louée propre àl’entreprise.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 3
2006-07Marie-Ange Remiche 3
Besoins en terme de sécurité
• Disponibilité : données, services disponibles pour utilisateurs autorisés
• Intégrité : pas de modification possible• Confidentialité : pas de consultation possible• Preuve, non-répudiation : entité à l’origine ne peut
nier l’envoi• Non-rejeu
Selon l’ouvrage de référence :
« La sécurité est généralement abordée suivant quatre critères :
La disponibilité : assurer que les données, applications et services sont disponibles pour les utilisateurs autorisés.
L’intégrité : assurer que les données en transit ne peuvent être modifiées par une personne non habilitée sans que le destinataire ne s’en aperçoive.
La confidentialité : assurer que les données en transit ne peuvent être consultées par une personne autre que le destinataire du message.
La preuve, non-répudiation : assurer qu’une entité à l’origine d’un message ou d’une transaction ne peut le nier a posteriori. »
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 4
2006-07Marie-Ange Remiche 4
Physique
Liaison
Réseau
Transport
Applications &
Services
Chiffrer le contenu du mail
SSH & SSL
IPSec
GRE, PPTP, L2TP
Un boîtier qui chiffre tous les bits sortants
Solutions envisageables : vue verticale
A chaque couche correspond une solution possible. Chacune a cependant ses avantages et ses inconvénients, comme nous le verrons.
SSH signifie Secure Shell
SSL Secure Socket Layer
IPSec IP Security
GRE Generic Routing Encapsulation
PPTP Point-to-Point Tunneling Protocol
L2TP Layer 2 Tunneling Protocol
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 5
2006-07Marie-Ange Remiche 5
Rappel/intro : Concepts de chiffrement
Nous rappelons les points suivants : 1. Chiffrement symétrique
– Par blocs– Par flux
2. Algorithme de Diffie-Hellman : Protocole de négociation de clé secrète
3. Chiffrement asymétrique4. Algorithme de hachage5. Authentification
– Signature numérique– HMAC
Nous allons dans un premier temps décrire les principes à la base du chiffrement. Nous ne parlons pas d’une implémentation de sécuritéparticulière: Alice et Bob sont simplement deux entités homologues situées sur deux ordinateurs distants.
Nous verrons ensuite, comment ces concepts sont mis en œuvre dans un réseau d’ordinateurs, selon la couche où ils sont mis en œuvre.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 6
2006-07Marie-Ange Remiche 6
Point 1. Chiffrement symétrique
Réseau publicAlice
Bob
Réunion mardi
iLD455DDKqssvvhkJIlxxxmp
iLD455DDKqssvvhkJIlxxxmp
Réunion mardi
1. Echange sécurisé de la clé secrète
2. C
hiff
rem
ent 3. D
échiffrement
« La cinématique des échanges est la suivante :
1. La clé secrète doit être échangée en utilisant un canal sûr, autre que celui emprunté par le message.
2. En utilisant la clé secrète, Bob chiffre le message.
3. Le message est émis vers le destinataire Alice.
4. Alice déchiffre le message en utilisant la clé secrète reçue précédemment. »
Il existe deux familles d’algorithmes de chiffrement symétrique : par blocs et de flux.
Les algorithmes de chiffrement par blocs « chiffrent les données bloc par bloc. Le message originel est découpé en plusieurs segments, dont la taille dépend de l’algorithme de chiffrement. […] Les opérations de chiffrement sont ensuite réalisées sur chacun de ces blocs… ».
Exemple : Pour les mécanismes de sécurité, IPSec s’appuie sur des algorithmes de chiffrement symétriques.
Le chiffrement par flux opère sur le message en générant un flux de bits obtenus après une opération binaire particulière.
Exemple : le protocole SSL/TLS (Secure socket Layer/Transport Layer Security).
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 7
2006-07 7
Point 2. Algorithme de Diffie-Hellman : Protocole de négociation de clé secrète
Réseau public
Alice
Bob
XbXa
Nombres aléatoires1. Calcul de Pb Pb=gXb mod p 1. Calcul de Pa
Pa=gXa mod pValeurs publiques
Calcul clé secrètePaXb mod p = SAB
2. Echange
Calcul clé secrètePbXa mod p = SAB
Mais !Man-in-the middle
L’algorithme de diffie-Hellman est un algorithme de négociation de clésecrète entre deux entités.
« Alice et Bob s’accordent sur une valeur de base de « g » et une valeur publique « p », g étant inférieure à p. Ces valeurs peuvent être obtenues à partir d’un serveur, codées en dur dans l’implémentation de l’algorithme ou négociées. Ensuite :
1. Alice et Bob génèrent deux nombres aléatoires qui leur serviront de valeurs privées, respectivement Xa et Xb.
2. Bob calcule sa valeur publique Pb et l’envoie à Alice.
3. Alice en fait de même avec Pa
4. La clé secrète peut être calculée par Bob et Alice à partir des données en leur possession, chacun en élevant à la puissance de leur valeur privée la valeur publique de son correspondant. »
L’attaque « Man-in-the-middle » se décrit de la manière suivante : « un intrus qui parviendrait à intercepter les communications entre deux entités lors d’une négociation Diffie-Hellman pourrait détourner la génération du secret partagé. »
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 8
2006-07Marie-Ange Remiche 8
Point 3. Chiffrement asymétrique
Réseau publicAlice
Bob
Réunion mardi
iLD455DDKqssvvhkJIlxxxmp
iLD455DDKqssvvhkJIlxxxmp
Réunion mardi
1. envoi de la clé publique d’Alice à Bob
Chiff
rem
ent D
échiffrementClé publique
Clé privé
Qui fournit ces clés ?
La clé publique peut être diffusée largement.
La clé privée est comme son nom l’indique, privée, et ne peut être communiquée à tiers sur un canal non-sécurisé.
Il existe des infrastructures qui ont la charge de gérer la répartition des clés publiques. On parle d’infrastructures à clés publiques, elles sont «conçues pour réponse à ce besoin : associer un certificat à une entité(pouvant être une personne, un serveur, une organisation), garantissant que cette dernière détient la clé privée associée. »
Il existe plusieurs algorithmes qui réalisent un chiffrement asymétrique.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 9
2006-07Marie-Ange Remiche 9
Point 4. Algorithme de hachage
Réseau publicAlice
Bob
Réunion mardi
iLD455DDKqssvvhkJIlxxxmp
iLD455DDKqssvvhkJIlxxxmp
Réunion mardi
1. C
alcu
l de
l’em
prei
nte
3. Déchiffrem
entHachage iLD455DDKqssvvhkJIlxxxmp
Hachage
4. comparaison
2. envoi
« Le hachage est un cas particulier de chiffrement. Il est irréversible. »
On parle d’empreinte électronique pour désigner le résultat d’un algorithme de hachage.
« Les algorithmes de hachage peuvent être utilisés pour garantir l’intégritéd’un message lors du transit sur le réseau en associant au message son empreinte électronique. »
Les algorithmes de hachage sont publiques. On peut donc imaginer qu’un intrus puisse intercepter un message et son empreinte et les modifier en utilisant l’algorithme pour le recalcul de l’empreinte…
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 10
10
Point 5. Authentification : signature numérique
Réseau publicAlice
Bob
Réunion mardi
iLD455DDKqssvvhkJIlxxxmp
Réunion mardi
5. C
alcu
l de
l’em
prei
nte
2. Calcul em
preinte
HachageHachage
3. calcul signature
1. Bob obtient la clé publique de Alice
jjKKIOZPCKKmmijhb3
4. envoi
Clé privéeiLD455DDKqssvvhkJIlxxxmp
iLD455DDKqssvvhkJIlxxxmp
7. c
ompa
rais
on
jjKKIOZPCKKmmijhb3 6. Déchiffrement
Clé publique
Nous présentons dans ce slide la dynamique pour l’utilisation d’une signature électronique entre deux entités.
On le voit, l’empreinte est chiffrée en utilisant une clé privée. Bob n’a plus que déchiffré l’empreinte chiffrée d’Alice en utilisant sa clé publique. Si l’empreinte résultante est bien la même qu’il a obtenu en utilisant l’algorithme de hachage publique d’Alice, alors Bob sait que le message est correct et a été envoyé par Alice.
HMAC pour Hashed Message Authentication Code est un mécanisme similaire à la signature. Cependant, il se base sur une clé secrète partagée.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 11
2006-07 11
Algorithme de Diffie-Hellman avec authentification des valeurs publiques
Réseau public
Alice
Bob
XbXa
1. Calcul de Pb Pb=gXb mod p 1. Calcul de Pa
Pa=gXa mod pCalcul clé secrètePaXb mod p = SAB
1. Envoi
Calcul clé secrètePbXa mod p = SAB
SigA=fnA(Pb,PA)
YYDIkhqdE
Chiffrée avec SAB
YYDIkhqdE
Déchiffre avec SAB
SigA=fnA(Pb,PA)
Fait de même…
SigA=fnA(Pb,PA)
compare
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 12
12
Les différentes solutions
Nous abordons chaque solution en remontant le modèle OSI :
Physique
Liaison
Réseau
Transport
Applications &
Services
Chiffrer le contenu du mail
SSH & SSL
IPSec
GRE, PPTP, L2TP
Un boîtier qui chiffre tous les bits sortants
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 13
2006-07Marie-Ange Remiche 13
1. Solution de niveau physique
• Aucun mécanisme d’acheminement, de routage, aucun traitement intermédiaire n’est possible !
• Transparent pour les répéteurs • Aucune consultation possible des en-têtes pour les
entités supérieures à la couche 1…
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 14
2006-07Marie-Ange Remiche 14
2. Solutions de niveau 2
Présentation des protocoles pour • Etablir un tunnel au niveau 2L’intérêt est • D’établir un tunnel et d’y associer des mécanismes de
sécuritéSolutions envisagées • PPTP, L2F et L2TP
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 15
2006-07Marie-Ange Remiche 15
PPTP
Internet
Site privé
POP du ISP
NAS : Accepte les connexions PPP des clients du ISP
Serveur accès
Objectif : communication sécurisée de type End-to-LAN
Phase 1
Phase 1 : Etablissement d’une connexion PPP
PAC : tout élément réseau connectéà une ligne téléphonique& Capable de gérer PPP et PPTP
Point to point tuneling protocol pour PPTP.
NAS signifie Network Access Server.
PAC signifie PPTP Access Concentrator.
Objectif initial : permettre encapsulation de datagrammes non TCP/IP (comme Apple Talk ou IPX) pour être téléportés à travers un réseau IP.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 16
2006-07 16
Internet
Site privé
POP du ISPServeur accès
Phase 2
Etablissement connexion de contrôle PPTP•Au-dessus de TCP•Objectif : négocier paramètres
du tunnel PPTP•Mettre en place une session
ou notifier l’arrivée d’un appel au PNS
NAS et PNS : implémente la partie serveur de PPTP
Création du tunnel PPTP
Session PPP n°2
Volontary mode
PNS signifie PPTP Network Server.
Avec cette session n°2, tout se passe comme si le PAC se connecte en session PPP directement avec le PNS. Tout se passe comme si on avait une vrai ligne dédiée entre le PC et le PNS, ce qui n’est pas vrai.
Dans le cas présenté ici, la session PPTP a été établie de manière volontaire et à la demande du PAC. C’est ce qu’on appelle le volontarymode.
Remarquons que le fournisseur d’accès Internet sur lequel se connecte le PAC n’a rien à configurer pour que cette connexion PPTP ait lieu.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 17
2006-07Marie-Ange Remiche 17
Données
DonnéesTCP/UDP
DonnéesIP
DonnéesPPP
DonnéesGRE
DonnéesIP
DonnéesPPP
La première encapsulation PPP correspond à la session PPP n°2 établie entre le PC et le PNS. Dans l’ouvrage de référence, on peut lire que l’utilisation de ce protocole va réduire les coûts de communication et accroître le taux de transfert. Pourquoi d’après vous ?
Ensuite, intervient GRE. Ce protocole permet d’ encapsuler n’importe quel type de paquet (pour autant que ce paquet soit véhiculé par un protocole défini dans le RFC 1700) dans n’importe quel protocole de niveau 3 (couche réseau). La RFC 2784 rentre dans les détails lorsque le protocole d’encapsulation est IP.
La seconde encapsulation PPP correspond à la session PPP n°1 établie entre le PC et le NAS.
On a donc une double encapsulation PPP due aux deux sessions PPPnégocées.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 18
2006-07Marie-Ange Remiche 18
GRE
En-tête du protocole encapsulant
En-tête GRE Données encapsulées
c réservé version Protocole encapsulé
Cheksum (optionnel) Réservé (optionnel)
GRE est une comme une « colle » entre un protocole encapsulant
et un protocole encapsulé
GRE signifie Generic routing Encapsulation. Generic car il peut encapsuler n’importe quel type d’unité de données (pour autant que cette unité soit véhiculée par un protocole défini dans le RFC 1700) dans n’importe quelle unité de données correspondant à un protocole de niveau 3 (couche réseau). La RFC 2784 rentre dans les détails lorsque le protocole d’encapsulation est IP.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 19
2006-07Marie-Ange Remiche 19
L2F
Internet
Site privé
POP du ISP
Serveur accès
Session PPP
Tunnel L2F
Acheminement de la session PPP
Compulsory mode
L2F signifie Layer Two forwarding, créé par Cisco. Idem que PPTP sur ces principes, excéptés quelques différences, et en particulier les deux principales différences présentées ici.
1. Le tunnel est complètement transparent pour l’ordinateur distant. C’est le NAS du fournisseur d’accès Internet qui se charge de le mettre en place entre lui et le réseau d’entreprise. C’est ce qu’on appele le compulsory mode.
2. Le FAI a donc une visibilité sur les données qui transite entre le PC nomade et le réseau LAN de l’entreprise.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 20
2006-07Marie-Ange Remiche 20
L2TP
Internet
Site privé
POP du ISP
Serveur accès
Session PPP
Connexion de contrôle L2TP + tunnel L2TP
Session PPP n°2
Même principe de création de tunnel que PPTP
NAS + LNS
L2TP signifie Layer Two Tunneling Protocol.
L2TP peut être vu comme une encapsulation de PPP dans des paquestsIP, X.25, Frame Relay ou ATM. En utilisant donc IP comme protocole d’encapsulation, L2TP peut ainsi être utilisé comme protocole de tunnelage à travers Internet.
LNS signifie L2TP Network Server. Il s’agit de l’entité au-dessus de IP qui en réception enlevera l’en-tête IP et remettra au NAS (Network Access Server), le paquet. LNS doit par exemple traiter les informations spécifiques à L2TP (par exemple identifier le tunnel).
Le NAS obtient donc à nouveau une trame PPP dont il extrait le paquet IP.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 21
2006-07Marie-Ange Remiche 21
Encapsulation successives des données
Données
DonnéesTCP/UDP
DonnéesIP
DonnéesPPP
DonnéesUDP
DonnéesIP
DonnéesPPP
Sur le port 1701
Remis au LNS
Remis au NAS
Reprise de traitement habituel
Il s’agit ici du cas particulier où une trame PPP est encapsulée dans IP. IP est le protocole d’encapsulation. L2TP peut être vu comme un protocole de tunnelage à travers Internet (défini par IP).
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 22
2006-07Marie-Ange Remiche 22
Aspect sécurisation
• Si le protocole encapsulant est IP, alors utilisation de IPSec, on parle de
L2TP/IPSec• Mieux que IPSec en mode tunnel, car
– L2TP s’appuie sur PPP • PPP permet une authentification de l’utilisateur
et est un support multiprotocole– Pas d’authentification aboutie de l’utilisateur IPSec
IPSec comprend un protocole de tunnelisation auquel sont associés des mécanismes de sécurité. L2TP est un protocole de tunnelisation. En l’associant à IPSec, on dispose des mécanismes de sécurité associés.
Mais, la création de la session PPP prévoit une phase d’authentification entre les deux entités et les spécifications de l’authentification en mode tunnel sur IPsec ont eu quelques difficultés pour aboutir à une définition claire.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 23
2006-07Marie-Ange Remiche 23
3. IPSec
IPSec• Permet la sécurisation des échanges au niveau réseau • Est une norme qui définit un ensemble de protocoles• Comprend deux protocoles de sécurisation des flux :
AH et ESP, non liés à un algorithme cryptographique particulier.
• Comprend un mécanisme de négociation des paramètres de sécurité : IKE
• Présente deux modes de fonctionnement : – mode transport et mode tunnel
Selon le mode choisi, on aura présence ou non de tunnel au niveau 3.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 24
2006-07Marie-Ange Remiche 24
Protocole de sécurisation des flux : AH
Objectif: • Garantir l’origine des trames• Garantir l’intégrité des trames• Attention : pas de garantie de confidentialité (donc pas
de chiffrement du contenu du message)
Moyen: • Via des mécanismes de hachage associés (ou non) à
des algorithmes de chiffrement asymétrique pour créer une signature
AH signifie Authentication Header
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 25
2006-07Marie-Ange Remiche 25
AH - mode Transport DonnéesTCP/UDPIP
DonnéesTCP/UDPIP AH
Authentification
AH - mode Tunnel DonnéesTCP/UDPIP
DonnéesTCP/UDPIP
Authentification
AHNouvel en-tête IP
Dans le mode transport, l’en-tête AH est simplement inséré dans la trame IP originelle entre l’en-tête IP d’origine et l’en-tête de niveau 4. Grâce à cet en-tête, la fonction d’authentification est réalisée.
Dans le mode tunnel, un nouvel en-tête IP est calculé. Celui-ci est requis dès qu’une passerelle RPV entre en jeu. Donc l’en-tête IP encapsulé est l’en-tête de la station dans le LAN de l’entreprise à qui est destinéfinalement le trafic. Alors que l’en-tête IP nouveau est l’en-tête de la passerelle RPV. La passerelle permet de protéger l’ensemble du réseau LAN, et pas seulement un de ses serveurs, ou un de ses PC. Dans ce cas, on a une solution securisée LAN-to-LAN si les passerelles RPV sont disjointes des PCs situés aux extrémités de l’échange.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 26
26
Mode transport -- Mode tunnel
Internet
Site ASite B
Passerelle LAN munie d’un équipement VPN
Adresse IP : 1
Adresse IP : 2
Adresse IP : 3
Adresse IP : 4
Mode tunnel :
MessageIP destination = 4 IP source = 1
Au niveau de la passerelle dans site A :
MessageIP destination = 4 IP source = 1AHIP destination = 3 IP source =2
Cas : Connexion VPN de type LAN-to-LAN
Protocole = 51
En mode tunnel, l’application sur la station IP:1 discute avec la station sur le site B directement. Mais au niveau 3, il y a de la part de l’équipement VPN encapsulation dans un paquet IP à destination de Adresse 3. Là, le paquet originel est repris et réenvoyé à IP 4, après authentification.
Dans le cas de ESP, c’est le numéro de protocol 50.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 27
2006-07Marie-Ange Remiche 27
En-tête AH
En-tête suivant
Taille du Bloc AH
Réservé
SPI (Index des paramètres de sécurité)
Numéro de séquence
Donnés d’authentification
4 bits 8 bits
Numéro du protocole protégé
00000000
Identifier l’association de sécurité (SA)
Prévenir des attaquespar rejeu
Application de l’algo d’authentification Négocié. Couvre toute la Trame IP sauf TTL et AH
Dans le champ « En-tête suivant », on trouvera 6 pour TCP, 17 pour UDP et 4 pour IP si on est en mode tunnel.
La taille du bloc AH permet de trouver rapidement le bloc de « données »ou IP selon le mode.
SPI signifie Security Parameter Index
Les deux parties (TTL et AH) ne sont pas couvertes par l’algorithme d’authentification lorsque celui-ci calcule une empreinte car ce sont des champs qui peuvent changer.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 28
2006-07Marie-Ange Remiche 28
Protocole de sécurisation des flux : ESP
Objectif: • Garantir l’origine des trames• Garantir l’intégrité des trames• Garantir la confidentialité du message échangé
Lors de l’établissement de la connexion RPV, on peut décider
• D’appliquer le contrôle d’intégrité, ou • De chiffrer les échanges, ou • D’appliquer les deux mécanismes
ESP signifie Encapsulating Security Payload.
Le principe reste le même: il consiste à générer à partir du paquet IP, un nouveau paquet IP dans lequel l’en-tête original (éventuellement) et les données sont chiffrées.
Il y a établissement de la connexion RPV par le biais des associations de sécurité, nous y reviendrons.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 29
2006-07Marie-Ange Remiche 29
ESP - mode Transport DonnéesTCP/UDPIP
DonnéesTCP/UDPIP ESP Terminaison ESP Données D’authentification
ESP - mode Tunnel DonnéesTCP/UDPIP
TCP/UDPIPNouvel En-tête IP
ESP Données Données D’authentification
TerminaisonESP
ConfidentialitéAuthentification
ConfidentialitéAuthentification
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 30
2006-07Marie-Ange Remiche 30
En-tête ESP
32 bits Numéro du protocole protégé
Les champs « Longueur de bourrage » et « en-tête suivant » doivent être les 4 derniers octets d’un mot de 8 octets. Chacun fait en effet 2 octets.
La charge utile peut correspondre à des données non-chiffrées si cette option n’a pas été négociée.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 31
2006-07Marie-Ange Remiche 31
Principe de fonctionnement
Nous expliquons à présent le principe de fonctionnement
SAD signifie Security Association Database.
SPD signifie Security Policy Database.
SA signifie Security Associations
AH et ESP peuvent être combinés entre eux, en mode tunnel ou transport. Toute combinaison est envisageable et en fonction, il y a lieu d’obtenir une ou plusieurs SA. Nous détaillons à présent chaque élément de ce fonctionnement.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 32
2006-07Marie-Ange Remiche 32
Associations de sécurité: SA
Une SA • Correspond à une structure de données servant à
stocker l’ensemble des paramètres des mécanismes de sécurité d’une communication (dans un sens seulement). Elle est associée à un protocole (AH ou ESP).
• Est identifiée par – le SPI : valeur de 32 bits– L’adresse IP destination– Le type de protocole
SPI signifie Security Parameter Index.
Le SPI est particulièrement utile lorsque il y a plusieurs SA pour une même adresse IP et un même protocole.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 33
2006-07Marie-Ange Remiche 33
Base de données SAD
La SAD• Stocke les SA définies sur un dispositif IPSec• Permet de déterminer COMMENT appliquer les
services de sécurité
La SPD• Permet de déterminer SI les services doivent être
appliqués• Est consultée dès qu’il y a trafic entrant• Fait référence à la SA correspondante
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 34
2006-07Marie-Ange Remiche 34
Comment retrouver une SA dans une SAD ? Via • Adresse IP destination• Protocole de sécurisation des flux : AH ou ESP• SPI : valeur sur 32 bitsQue trouve-t-on pour les paramètres de la SA d’une AH ? • Algorithme d’authentification utilisé• ClésQue trouve-t-on pour les paramètres de la SA d’une ESP
?• Chiffrement :
– Algorithme de chiffrement– Vecteur d’initialisation si nécessaire
• Authentification : – Algorithme d’authentification– Clés
• Durée de vie de la SA
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 35
2006-07Marie-Ange Remiche 35
Détails
Pour le trafic entrant, il y a : 1. Assemblage des trames si elles sont fragmentées2. Recherche de la SA correspondante dans la SAD et application des mécanismes
définis dans la SA trouvée (déchiffrement et authentification)3. Localisation de l’entrée dans la SPD en utilisant un pointeur dans la SAD ou des
critères de l’en-tête de la trame originelle (pas l’en-tête AH et ESP) et vérification de la conformité de la trame reçue par rapport à la politique de sécurité:
• Vérification que la trame reçue correspond à une entrée dans la SPD• Vérification que la SA utilisée pour le traitement de la trame correspond à
celle paramétré dans la SPD4. Transmission à la couche transport si toutes les vérifications sont positives. Pour le trafic sortant, il y a :1. La trame en provenance des couches supérieures parvient à la chaîne de traitement
IPSec2. A la réception de la trame, une recherche est lancée pour trouver l’entrée
correspondante dans la SPD et déterminer l’action à appliquer• Appliquer IPSec, ou • Transmission sans IPSec, ou • Rejet de la trame
3. Si l’application d’IPSec est choisie, l’entrée correspondante sera recherchée dans la SAD et deux cas de figure se présentent:
• La SA est localisée: dans ce cas, la trame sera modifiée par l’application des mécanismes définis dans la SA (algo de chiffrement, authentification en mode tunnel ou transport)
• La SA n’est pas localisée: une nouvelle SA est alors créée. Si cette création est réussie, alors le traitement se poursuit
4. Ensuite traitement habituel
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 36
2006-07Marie-Ange Remiche 36
IKE : protocole de gestion automatique de clé
IKE est un protocole explicitant • La génération, la distribution, le stockage et la
suppression des SA et donc en particulier l’échange des clé de session
• Cette gestion est donc faite « hors bande »:– Les données relatives à la gestion sont transportées dans un protocole de couche supérieure à IP.
On distingue deux phases à cette gestion et quatre modes
IKE signifie Internet Key Exchange
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 37
2006-07Marie-Ange Remiche 37
Phase 1
• Créer une première clé : la clé maîtresse selon une authentification particulière : – Authentification par chiffrement à clé partagée – Authentification par chiffrement à clé publique– Authentification par signature
• En déduire trois autres clés utiles pour la création du tunnel IKE sécurisé (= association de sécurité ISAKMP) entre les hôtes pour la suite des échanges sur les SA : – Une pour l’authentification– Une pour le chiffrement– Une pour la phase 2
Trois remarques : 1. L’authentification se base également sur les adresses IP des extrémités du RPV
(attention au NAT). 2. IKE travaille avec le port source et destination 500 et le service UDP. 3. ISAKMP signifie Internet Security Association Key Management Protocol. Ce protocole
explicite la construction des messages échangés entre les entitésIKE. Cette phase va servir à la création d'une première clé qui va permettre par la suite la
génération de 3 autres clés dérivant de celle-ci. Plus précisément, lors de cette phase, les échanges réalisés entre entités IKE permettent de définir l'association de sécuritépuis d'établir le secret partagé et enfin d'authentifier les hôtes.
La première clé peut être générée selon 3 modes offerts par IKE. Le mode «secret partagé» implique que les hôtes partagent déjà un secret qui permettra la mise au point de cette clé. Le mode « Chiffrement asymétrique » se base sur les systèmes cryptographiques à clé publique pour échanger les données sensibles et donc établir le secret partagé. Le mode «Signature», quant à lui, se sert du chiffrement asymétrique pour signer et authentifier les hôtes alors que le secret partagé est établi grâce à Diffie-Hellman.
Une fois la première clé générée, elle est dérivée en 3 autres clés qui serviront à la création du tunnel IKE sécurisé entre les hôtes (en faîte une association de sécuritéISAKMP). L'une des clés sera utilisée pour l'authentification, l'autre pour le chiffrement et la dernière sera utilisé lors de la phase 2 du protocole. Ce canal, sécurisé, est ensuite utilisé pour la deuxième phase IKE.
Il faut noter que le mode aggressif permet de limiter les communications en utilisant certains paramètres d'office. D'autre part, les SA ISAKMP utilisent un chiffrement (DES ou 3DES) lors de l'échange des clefs de session.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 38
2006-07Marie-Ange Remiche 38
Phase 2
• Créer les SA pour les échanges effectifs entre les hôtes• En utilisant des clés de session, générées à partir
d’une clé de la phase 1.• Dans un esprit « Perfect Forward Secrecy » (PFS), de
nouveaux secrets sont échangés (via Diffie=Hellman), pour remplacer cette clé de la phase 1.
L'objectif de la deuxième phase est de créer des tunnels IPSec (SA) pour les échanges effectifs entre les hôtes : Deux SA par hôtes, un pour chaque sens de communication, conservées dans la SAD (SecurityAssociation Database). C'est lors de cette phase que chaque hôte donne ses préférences en matière d'algorithme. Les clés de session sont générées à partir de l'une des clés dérivées, générées durant la phase 1 de IKE. Cependant, lorsque le mode «Perfect Secrecy» est utilisé, les hôtes doivent échanger de nouveaux secrets, ceci afin de couper la relation systématique entre les nouvelles clés générés et la clé de la phase 1 IKE. Cet échange s'effectue via le protocole d'échange Diffie-Hellman. Cette phase sert aussi à spécifier les échanges devant bénéficier des services IPSec (utilisation de la Security Policy Database),
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 39
2006-07Marie-Ange Remiche 39
Remarques : IPSec et le NAT
La translation d’adresse: • NAT statique : une adresse IP publique = une adresse
IP privée• NAT dynamique avec une adresse publique par
adresse privée • NAT dynamique avec une adresse publique pour
plusieurs adresses privées : implique une modification du numéro de port source
D’un point de vue de IPSec…
IP source = 192.168.0.3, port = 1223 IP source = 164.81.23.2, port = 2234IP source = 192.168.0.4, port = 1233 IP source = 164.81.23.2, port = 2235
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 40
2006-07Marie-Ange Remiche 40
Internet
Site ASite B
Passerelle LAN munie d’un équipement VPN
Adresse IP : 192.168.0.1
Adresse IP : 192.168.0.2
Adresse IP : 14.15.4.3
Cas : Connexion VPN de type LAN-to-LAN, mode AH
NAT
Adresse IP : 193.1.1.200 14.15.16.1
Autres cas ?ESP ? IKE ?
La trame part du serveur dans le site A; l’adresse source est 192.168.0.1
La trame est traitée par l’extrémité A du RPV, un nouvel en-tête IP est créé et l’adresse source est maintenant 192.168.0.2.
La trame subit la translation d’adresse. L’adresse réelle d’origine 192.168.0.1 n’est pas modifiée car, elle est encapsulée en mode tunnel comme un message. Seule l’adresse 192.168.0.2 est vue et est modifiée en 193.1.1.200. On conserve donc le port source de l’en-tête TCP et l’adresse source intranet…
Arrivée à 14.15.16.1 (destination en mode tunnel), on récupère la trame originelle mais l’adresse source est 192.168.0.1, à qui est cette adresse source ???
Envisagez tous les autres cas d’architecture !
Attention !!! On ne peut pas modifier l’en-tête originel car cela sera considéré comme une attaque (la signature ne correspond plus au contenu).
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 41
2006-07Marie-Ange Remiche 41
Problèmes ?
• AH & ESP : réaliser la translation d’adresse avant l’application de sécurisation
• Divers draft sur le sujet, comme celui d’encapsuler trames ESP dans UDP…
IncompatibleCompatibleCompatibleTunnel
IncompatibleCompatibleCompatibleTransportIPSecESP
Incompatible IncompatibleIncompatibleTunnel
Incompatible IncompatibleIncompatibleTransportIPSecAH
NAT DynamiqueNAT Dynamique simple
NAT Statique
Solutions ?
Démontrez que la première solution en est bien une.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 42
2006-07Marie-Ange Remiche 42
4. Solutions de niveau 4 : SSL
Services offerts : • Echange sécurisé de clés de chiffrement• Authentification du serveur (option)• Authentification du client (option)
Attention : • Possibilité de mise en œuvre de tunnels au niveau 4,
grâce à une redirection de port • Uniquement disponible pour flux TCP• Ex : http sécurisé = https, port 443
SSL Signifie Secure Socket Layer
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 43
2006-07Marie-Ange Remiche 43
1. Client Hello
2. Server Hello
3. Certificat Server
4. Requête certificat client5. Server Hello done
6. Certificat client
7. Vérification certificat client
Secret négocié
8. Change Cipher Spec{Fin}Change Cipher Spec
9. Change Cipher Spec{Fin}Change Cipher Spec Fin négociation
Transmission sécurisée
Client Serveur
1. Client Hello : le client émet une requête de connexion au serveur accompagnée de la version de SSL et des algorithmes (chiffrement et intégrité) supportés . Les algos sont présentés sous forme d’une chaîne de caractère appelée CipherSuite dans les spécifications SSL. 2. Serveur Hello : le serveur répond au client en retournant la Ciphersuitequi sera utilisée pour la session et qu’il aura choisie dans la liste envoyée par le client. 3. Certificat Serveur : le serveur transmet son certificat au client. Si ce certificat n’est utilisable que pour la signature ou si les valeurs publiquesDiffie-Hellman n’y sont pas présentes (+ rare), il transmet également les données nécessaires à l’échange des clés. 4. Requête de certificat client : le serveur émet une requête de certificat au client pour pouvoir l’authentifier. 5. Server Hello Done : message indiquant que le serveur a terminé sa communication pour la phase « Hello » et qu’il attend maintenant une réponse du client. 6. Certificat Client - Paramètres d’échange de clés : le client communique son certificat au serveur ainsi que les paramètres d’échange de clés. Ces paramètres sont fn du choix de l’algo de négociation de clé réalisé lors de phase « hello ». Cas 1 : RSA et Cas 2 : Diffie-Hellman (transmission de sa clé publique)7. Données de vérification du certificat client : le cas échéant, signature8. ChangeCipherSpec - Fin : le client informe le serveur qu’à partir de ce moment il utilise la clé de session négociée. Il émet ensuite un message, protégé par chiffrement et authentifié pour indiquer la session SSL. 9. ChangeCipherSpec -Fin : idem serveur.
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 44
2006-07Marie-Ange Remiche 44
SSH
Services offerts : • Authentification du serveur• Authentification du client• Protection en confidentialité des flux• Protection en intégrité des flux
Attention : • Tunneliser TCP par redirection des ports• SSH -- port 22
SSH signifie SecureShell
ELEC 379 : Réseaux d'ordinateurs II 2006-07
Les VPNs 45
2006-07Marie-Ange Remiche 45
1. Connexion via port 22
Accord version SSH
3. Authentification serveur
4. Authentification client
5. client chiffre valeur aléatoireavec clé publique serveur = clé session
6. Serveur chiffre clé session, authentifie
Par mot de passe, ouPar algo à clé publique:Le client doit déchiffrer un challenge
Rien ne transite en clair Chiffrement
« L’établissement d’une connexion SSH entre un client et un serveur se déroule suivant le processus suivant :
1. Le client se connecte au serveur sur le port SSH (22 par défaut, mais peut être changé).
2. Le client et le serveur s’accordent sur la version SSH à utiliser. La version 1 et la version 2 sont incompatibles.
3. Le serveur doit s’authentifier au client pour assurer à ce dernier qu’il est bien connecté au serveur avec lequel il veut communiquer.
4. Le client s’authentifie au serveur. Pour cela plusieurs mécanismes sont utilisables, les plus courants étant l’authentification par mot de passe ou par algorithme à clé publique, ce dernier étant bien plus sûr.
5. Le client chiffre une valeur aléatoire avec la clé publique du serveur et lui transmet le résultat. Ceci est la clé de session.
6. Le serveur transmet une confirmation chiffrée avec la clé de session prouvant par la même occasion son identité dans la mesure où il est le seul à pouvoir déchiffrer le message précédent. »