6 d%e9ploiement d'un r%e9seau priv%e9 virtuel (vpn)!!!!!!!!!!!!!!!!!!!!!

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

Upload: tichatata

Post on 25-Jun-2015

86 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 2: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 3: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 4: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 5: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 6: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 7: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 8: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 9: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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…

Page 10: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 11: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 12: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 13: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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…

Page 14: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 15: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 16: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 17: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 18: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 19: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 20: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 21: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 22: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 23: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 24: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 25: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 26: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 27: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 28: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 29: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 30: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 31: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 32: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 33: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 34: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 35: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 36: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 37: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 38: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 39: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 40: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 41: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 42: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 43: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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.

Page 44: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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

Page 45: 6 D%E9ploiement d'un R%E9seau Priv%E9 Virtuel (VPN)!!!!!!!!!!!!!!!!!!!!!

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