Sunteți pe pagina 1din 45

ELEC 379 : Réseaux d'ordinateurs II 2006-07

Déploiement d’un
Réseau Privé Virtuel (VPN)

Support logique pour des échanges Ne nécessite pas


d’infrastructure dédiée
Échanges sécurisés:
• entités identifiées
• intégrité et confidentialité

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.

Les VPNs 1
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Site A Motivation : Vue horizontale

LAN privé POP de l’ISP

Internet
Passerelle LAN

Site B
Site C
LAN privé
LAN privé

Ligne louée
Marie-Ange Remiche 2006-07 2

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.

Les VPNs 2
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 3

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. »

Les VPNs 3
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Solutions envisageables : vue verticale

Applications Chiffrer le contenu du mail


&
Services

Transport SSH & SSL

Réseau IPSec

Liaison GRE, PPTP, L2TP

Physique Un boîtier qui chiffre tous les bits sortants

Marie-Ange Remiche 2006-07 4

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

Les VPNs 4
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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étrique
4. Algorithme de hachage
5. Authentification
– Signature numérique
– HMAC

Marie-Ange Remiche 2006-07 5

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.

Les VPNs 5
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Point 1. Chiffrement symétrique

1. Echange sécurisé de la clé secrète


Bob
2. Chiffrement

Alice

3. Déchiffrement
Réseau public
iLD455DDKqss
Réunion mardi
vvhkJIlxxxmp

iLD455DDKqss
Réunion mardi
vvhkJIlxxxmp

Marie-Ange Remiche 2006-07 6

« 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).

Les VPNs 6
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Point 2. Algorithme de Diffie-Hellman :


Protocole de négociation de clé secrète

Bob
Réseau public 2. Echange

Xb Alice
Nombres aléatoires
Xa
1. Calcul de Pb
Pb=gXb mod p Valeurs publiques 1. Calcul de Pa
Pa=gXa mod p

Calcul clé secrète


Pa Xb mod p = SAB Calcul clé secrète
PbXa mod p = SAB
Mais !
Man-in-the middle
2006-07 7

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é. »

Les VPNs 7
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Point 3. Chiffrement asymétrique

1. envoi de la clé publique d’Alice à Bob


Bob

Alice
Chiffrement

Déchiffrement
Réseau public
iLD455DDKqss
Réunion mardi
vvhkJIlxxxmp
Clé publique

Clé priv é

iLD455DDKqss
Réunion mardi
vvhkJIlxxxmp
Qui fournit ces clés ?
Marie-Ange Remiche 2006-07 8

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.

Les VPNs 8
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Point 4. Algorithme de hachage

Bob

Alice

3. Déchiffrement
Réseau public
1. Calcul de l’empreinte

Réunion mardi
Réunion mardi
Hachage

Hachage iLD455DDKqss
2. envoi vvhkJIlxxxmp
4. comparaison
iLD455DDKqss
iLD455DDKqss
vvhkJIlxxxmp
vvhkJIlxxxmp

Marie-Ange Remiche 2006-07 9

« 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…

Les VPNs 9
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Point 5. Authentification : signature


numérique
1. Bob obtient la clé publique de Alice

Bob

2. Calcul empreinte
5. Calcul de l’empreinte

Alice
Réseau public
Réunion mardi
Réunion mardi Hachage
Hachage
iLD455DDKqss
iLD455DDKqss
7. comparaison

vvhkJIlxxxmp vvhkJIlxxxmp

3. calcul signature
4. envoi

Clé privée
iLD455DDKqss
vvhkJIlxxxmp
jjKKIOZPCKK
Clé publique
jjKKIOZPCKK mmijhb3
mmijhb3 6. Déchiffrement
10

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.

Les VPNs 10
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Algorithme de Diffie-Hellman avec authentification


des valeurs publiques

Bob
Réseau public 1. Envoi

Xb Alice
Xa
1. Calcul de Pb
Pb=gXb mod p 1. Calcul de Pa
Pa=gXa mod p
Calcul clé secrète
PaXb mod p = SA B
Calcul clé secrète
PbXa mod p = SA B
YYDIkhqdE SigA=fnA(Pb,PA)
Déchiffre avec SAB
compare
SigA=fnA(Pb,PA)
SigA=fnA(Pb,PA)
Chiffrée avec SA B
Fait de même… YYDIkhqdE
2006-07 11

Les VPNs 11
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Les différentes solutions

Nous abordons chaque solution en remontant le modèle


OSI :

Applications Chiffrer le contenu du mail


&
Services

Transport SSH & SSL

Réseau IPSec

Liaison GRE, PPTP, L2TP

Physique Un boîtier qui chiffre tous les bits sortants 12

Les VPNs 12
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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…

Marie-Ange Remiche 2006-07 13

Les VPNs 13
ELEC 379 : Réseaux d'ordinateurs II 2006-07

2. Solutions de niveau 2

Présentation des protocoles pour


• Etablir un tunnel au niveau 2
L’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

Marie-Ange Remiche 2006-07 14

Les VPNs 14
ELEC 379 : Réseaux d'ordinateurs II 2006-07

PPTP
POP du ISP

Internet
Site privé
PAC : tout élément réseau connecté
à une ligne téléphonique Serveur accès
& Capable de gérer PPP et PPTP

NAS : Accepte les connexions PPP


des clients du ISP
Phase 1

Phase 1 : Etablissement d’une


connexion PPP

Objectif : communication sécurisée


de type End-to-LAN

Marie-Ange Remiche 2006-07 15

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.

Les VPNs 15
ELEC 379 : Réseaux d'ordinateurs II 2006-07

NAS et PNS : implémente la partie serveur de PPTP


POP du ISP
Serveur accès

Internet
Site privé

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
Volontary mode
ou notifier l’arrivée d’un appel au PNS

Création du tunnel PPTP

Session PPP n°2

2006-07 16

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 volontary
mode.
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.

Les VPNs 16
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Données

TCP/UDP Données

IP Données

PPP Données

GRE Données

IP Données

PPP Données

Marie-Ange Remiche 2006-07 17

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 PPP
négocées.

Les VPNs 17
ELEC 379 : Réseaux d'ordinateurs II 2006-07

GRE

En-tête En-tête GRE Données encapsulées


du protocole
encapsulant

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é
Marie-Ange Remiche 2006-07 18

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.

Les VPNs 18
ELEC 379 : Réseaux d'ordinateurs II 2006-07

POP du ISP
L2F

Internet
Site privé
Serveur accès

Session PPP

Tunnel L2F

Acheminement de la session PPP

Compulsory mode

Marie-Ange Remiche 2006-07 19

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.

Les VPNs 19
ELEC 379 : Réseaux d'ordinateurs II 2006-07

L2TP NAS + LNS


POP du ISP

Internet
Site privé
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
Marie-Ange Remiche 2006-07 20

L2TP signifie Layer Two Tunneling Protocol.


L2TP peut être vu comme une encapsulation de PPP dans des paquests
IP, 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.

Les VPNs 20
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Encapsulation successives des données

Données

TCP/UDP Données

Reprise de traitement
Sur le port 1701 IP Données habituel

PPP Données Remis au NAS

UDP Données Remis au LNS

IP Données

PPP Données
Marie-Ange Remiche 2006-07 21

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).

Les VPNs 21
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 22

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.

Les VPNs 22
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 23

Selon le mode choisi, on aura présence ou non de tunnel au niveau 3.

Les VPNs 23
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 24

AH signifie Authentication Header

Les VPNs 24
ELEC 379 : Réseaux d'ordinateurs II 2006-07

AH - mode Transport IP TCP/UDP Données

IP AH TCP/UDP Données

Authentification

AH - mode Tunnel IP TCP/UDP Données

Nouvel en-tête IP AH IP TCP/UDP Données

Authentification

Marie-Ange Remiche 2006-07 25

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.

Les VPNs 25
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Mode transport -- Mode tunnel


Cas : Connexion VPN de type LAN-to-LAN Site B
Site A
Adresse IP : 2
Adresse IP : 3
Internet
Adresse IP : 4

Adresse IP : 1
Passerelle LAN munie
d’un équipement VPN

Mode tunnel :
IP destination = 4 IP source = 1 Message

Au niveau de la passerelle dans site A :


IP destination = 3 IP source =2 AH IP destination = 4 IP source = 1 Message
Protocole = 51
26

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.

Les VPNs 26
ELEC 379 : Réseaux d'ordinateurs II 2006-07

En-tête AH

8 bits 00000000
4 bits

En-tête Taille du Réservé


suivant Bloc AH
Numéro du
Identifier
protocole protégé
SPI (Index des paramètres de sécurité) l’association de sécurité (SA)

Numéro de séquence Prévenir des attaques


par rejeu

Donnés d’authentification

Application de l’algo d’authentification


Négocié. Couvre toute la
Trame IP sauf TTL et AH
Marie-Ange Remiche 2006-07 27

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.

Les VPNs 27
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 28

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.

Les VPNs 28
ELEC 379 : Réseaux d'ordinateurs II 2006-07

ESP - mode Transport IP TCP/UDP Données

IP ESP TCP/UDP Données Terminaison ESP Données


D’authentification
Confidentialité
Authentification

ESP - mode Tunnel IP TCP/UDP Données

Nouvel ESP IP TCP/UDP Données Terminaison Données


En-tête IP ESP D’authentification

Confidentialité
Authentification

Marie-Ange Remiche 2006-07 29

Les VPNs 29
ELEC 379 : Réseaux d'ordinateurs II 2006-07

En-tête ESP

32 bits Numéro du protocole


protégé

Marie-Ange Remiche 2006-07 30

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.

Les VPNs 30
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Principe de fonctionnement
Nous expliquons à présent le principe de fonctionnement

Marie-Ange Remiche 2006-07 31

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.

Les VPNs 31
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 32

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.

Les VPNs 32
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 33

Les VPNs 33
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Comment retrouver une SA dans une SAD ?


Via
• Adresse IP destination
• Protocole de sécurisation des flux : AH ou ESP
• SPI : valeur sur 32 bits
Que trouve-t-on pour les paramètres de la SA d’une AH ?
• Algorithme d’authentification utilisé
• Clés
Que 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
Marie-Ange Remiche 2006-07 34

Les VPNs 34
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Détails

Marie-Ange Remiche 2006-07 35

Pour le trafic entrant, il y a :


1. Assemblage des trames si elles sont fragmentées
2. 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 SPD
4. 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
IPSec
2. 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

Les VPNs 35
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 36

IKE signifie Internet Key Exchange

Les VPNs 36
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 37

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.

Les VPNs 37
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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.

Marie-Ange Remiche 2006-07 38

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 (Security
Association 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),

Les VPNs 38
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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 = 2234


IP source = 192.168.0.4, port = 1233 IP source = 164.81.23.2, port = 2235
Marie-Ange Remiche 2006-07 39

Les VPNs 39
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Cas : Connexion VPN de type LAN-to-LAN, mode AH

Passerelle LAN munie


d’un équipement VPN
Site B
Site A
Adresse IP : 192.168.0.2

Internet
Adresse IP : 14.15.4.3

NAT
Adresse IP : 192.168.0.1
Adresse IP : 193.1.1.200 14.15.16.1

Autres cas ?
ESP ?
IKE ?

Marie-Ange Remiche 2006-07 40

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).

Les VPNs 40
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Problèmes ?

NAT Statique NAT Dynamique NAT Dynamique


simple

IPSec Transport Incompatible Incompatible Incompatible


AH
Tunnel Incompatible Incompatible Incompatible

IPSec Transport Compatible Compatible Incompatible


ESP
Tunnel Compatible Compatible Incompatible

Solutions ?
• 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…

Marie-Ange Remiche 2006-07 41

Démontrez que la première solution en est bien une.

Les VPNs 41
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 42

SSL Signifie Secure Socket Layer

Les VPNs 42
ELEC 379 : Réseaux d'ordinateurs II 2006-07

Client 1. Client Hello Serveur


2. Server Hello

3. Certificat Server

4. Requête certificat client


5. 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

Marie-Ange Remiche 2006-07 43

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 Ciphersuite
qui 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 publiques
Diffie-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, signature
8. 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.

Les VPNs 43
ELEC 379 : Réseaux d'ordinateurs II 2006-07

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

Marie-Ange Remiche 2006-07 44

SSH signifie SecureShell

Les VPNs 44
ELEC 379 : Réseaux d'ordinateurs II 2006-07

1. Connexion via port 22 Par mot de passe, ou


Par algo à clé publique:
Accord version SSH Le client doit déchiffrer
3. Authentification serveur un challenge

4. Authentification client

5. client chiffre valeur aléatoire


avec clé publique serveur = clé session

6. Serveur chiffre clé session, authentifie

Rien ne transite en clair Chiffrement

Marie-Ange Remiche 2006-07 45

« 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. »

Les VPNs 45

S-ar putea să vă placă și