• Aucun résultat trouvé

IPSec VPN. JTO Rennes 27 Mars. Bertrand Wallrich

N/A
N/A
Protected

Academic year: 2022

Partager "IPSec VPN. JTO Rennes 27 Mars. Bertrand Wallrich"

Copied!
82
0
0

Texte intégral

(1)

IPSec VPN

Bertrand Wallrich

JTO

Rennes

27 Mars

(2)

2

Plan

1. Généralités

2. Rappels sur le chiffrement

3. VPN site à site : IPSec

4. Rappels sur PPP

5. VPN client : PPTP, L2F, L2TP

(3)

Plan

1. Généralités

2. Rappels sur le chiffrement

3. VPN site à site : IPSec

4. Rappels sur PPP

5. VPN client : PPTP, L2F, L2TP

(4)

4

Généralités

n

Les VPN peuvent être utilisés pour différents types d’accès :

n

Utilisateur distant

n

Intranet

n

Extranet

n

Les utilisateurs distants sont des utilisateurs internes de confiance qui ont besoin de pouvoir accéder aux

ressources depuis des endroits distants

n

L’accès Intranet est nécessaire à partir de tous les sites distants

n

L’accès Extranet limite les utilisateurs externes à

l’information qui les concerne.

(5)

Sites distants

Remote Office/Branch Office (ROBO)

(6)

6

Utilisateurs distants

n

Télétravailleur :

n

Cable

n

Modem

n

ADSL

n

Wavelan , partages de lignes ADSL

n

Numéris…

n

Nomades

n

ADSL dans les hôtels

n

Modem

n

GPRS

n

Ethernet temporaire chez le client, fournisseur, site visit é…

n

Expatriés

n

En permanence dans un autre réseau.

(7)

Partenaires professionnels

n

Fournisseurs / clients :

n

Accès extranet, limité

n

Infogérance

n

Accès limité.

n

Accès administrateur.

n

Centres d’appels

n

Accès sous ensemble de l’intranet.

ACCES AVEC LIMITATIONS

Accès restreints suivant les tunnels.

Protection individuelle des partenaires.

(8)

8

Menaces & objectifs

n

Menaces :

1.

Interruption (DoS) Le VPN ne peut rien .

2.

Interception (sniffing)

3.

Usurpation d'identité (spoofing)

4.

Modification ( 2 + 3 , man in the middle)

n

VPN Site à site è

n

Se protéger contre les "ISPs" traversés.

n

Se protéger contre 3. (Authentification des machines/réseaux)

n

VPN utilisateur è

n

Se protéger contre les "ISPs" traversés.

n

Se protéger contre le site d'accueil.

n

Accéder au réseau interne indépendemment de :

n

Des adresses IPs

n

Des applications

(9)

Les solutions de VPN

n

Services VPN

n

Les fournisseurs de service Internet (ISP)

n

Basé sur IPSec

n

ISDNet -> VPN Premium

n

MCI WorldCom -> UUSecure

n

KPNQwest -> IP VPN

n

FT -> Oléane Control

n

n

Les compagnies de t élécommunications, opérateurs, …

n

(ATM, MPLS, Frame relay, …)

n

Les Sociétés de services

n

Matériel “dédié”, …

(10)

10

Les solutions de VPN

n Offre matériel ou logiciels (1/2)

n

Applications qui tournent sur un serveur

n

MS RAS NT server,

n

MS Routing & Remote Access W2K Server,

n

poptop / l2TP / freeswan (linux).

n

Matériel dédié

n

Conçu spécifiquement pour le VPN

n

Intel (shiva)

n

Radguard

n

Cisco (altiga)

n

Redcreek

n

Nortel (contivity)

n

V-One (smartguard)

n

Avaya (VPNet)

n

GTA

n

Lucent (Brick)

n

(11)

Les solutions de VPN

n Offre matériel ou logiciels (2/2)

n

Essentiellement site à site

n

(IOS FW cisco)

n

Firewall

n

Utilisé par de nombreuses organisations pour protéger leur réseau interne

n

M>Tunnel (Mwall Matra)

n

VPN-1 (Checkpoint)

n

Gauntlet VPN

n

(12)

12

Les technologies

n Technologies mises en œuvre

n

Tunneling / Routage / filtrage

n

Technologies d’authentification

n

Authentification des machines

n

Authentification des utilisateurs

n

Confidentialité

n

Chiffrement, échange de clefs, …

(13)

Internet

Rappel, le tunneling

R1

Paquet normal

A B C

Données D

A

Source Dest 1

D E F

Données D

A

Source Dest

Paquet normal 3

R2

R1

A D Données

2

R2

(14)

14

Rappel, le tunneling

R1

Paquet normal

A B C

Données D

G

Source Dest 1

Internet

D E F

Données D

G

Source Dest Paquet normal 3

R2

R2

A

G D Données

2

G

En général, la machine G a plusieurs interfaces réseau, dont une virtuelle,

correspondant au tunnel (ici dont l'adresse IP est « A »). C’est le routage qui

décide par quelle interface (ie tunnel ou pas) émettre le paquet.

(15)

Plan

1.

Généralités

2.

Rappels sur le chiffrement

3.

VPN site à site : IPSec

n

TP 1 : IPSec transport

n

TP 2 : IPSec tunnel

4.

Rappels sur PPP

5.

VPN client : PPTP, L2F, L2TP

n

TP 3 : L2TP

n

TP 4 : L2TP + IPSec

(16)

16

Algorithmes symétriques

Algorithme Rijndael 128, 192, 256

AES

Algorithme open source 40–128 bits

CAST-128

Algorithme open source 1–448 bits

Blowfish

Algorithme propriétaire de RSA Variable

RC4

Développée en Suisse 128 bits

IDEA

DES triple passage à trois clefs 168 bits

Triple DES

DES triple passage à deux clefs 112 bits

Triple DES

FIPS PUB 46 56 bits

DES

Commentaire Longueur

de la clef Algorithme

DES = Data Encryption Standard RSA = Rivest, Shamir, and Adelman FIPS = Federal Information Processing Standard AES = Advanced Encryption Standard IDEA = International Data Encryption Algorithm

(17)

chiffrement asymétrique

n

Les algorithmes à clef publique sont utilisés pour

n

RSA est un algorithme à clef publique célèbre qui porte le nom de ses trois inventeurs—Ron Rivest, Adi Shamir, et Leonard Adelman

n

Génération uni latérale du secret partagé.

n

RSA peut être utilisé aussi pour la confidentialit é, l'authentification et la non répudiation

n

Diffie-Hellman, le premier algorithme à clef publique inventé, peut être utilisé pour la distribution des clés

n

Génération bi-latérale du secret partag é.

n

L’authentification

n

La non-répudiation

n

La distribution des clés

n

La confidentialité

(18)

18

Man in the middle & DH

n

Marc croit échanger avec Sophie

n

Sophie croit échanger avec Marc

n

Tous deux échangent avec le pirate.

n

Diffie Hellman permet l’échange de secret partagé, mais n’assure pas l’authentification.

è Crypto système hybride. Diffie Hellman + RSA

(19)

signatures numériques

n

Fournir l’intégrité des données

n

Résumé de message

n

Message Digest 5 (MD5)

n

Secure Hash Algorithm (SHA-1)

n

Signature digitale

n

Combinaison Hashage + cryptographie à clef publique.

n

Digital Signature Algorithm (DSA)

n

RSA

n

Digital Signature Standard (DSS), FIPS 186-2

n

Spécifie des algorithmes de signature numérique approuvés

n

DSA

n

RSA ds algorithm

n

Elliptic Curve Digital Signature Algorithm (ECDSA)

n

Secure Hash Algorithm (SHA-1) pour le résumé du message

(20)

20

Code d'authentification des messages

n

Les signatures numériques assurent l'authentification et l'intégrité

n

Ne nécessitent pas l'utilisation d'une clef secrète partagée

n

Un Message Authentication Code (MAC) permet aussi l'authentification et l'intégrité

n

C'est une fonction de hachage à sens unique qui utilise une clef secrète

n

La clef est nécessaire pour vérifier la valeur de hachage

n

Exemples de codes d'authentification de message :

n

Keyed MD5

n

Hashed Message Authentication Code (HMAC)

(21)

Types de clefs

n

Clefs de chiffrement de clefs

n

Servent exclusivement à chiffrer d'autres clefs.

n

Durée de vie longue.

n

Souvent cryptographie à clef publique.

n

Clefs maîtresses

n

servent à générer d'autres clefs par dérivation.

n

Clefs de session ou de chiffrement de données

n

Chiffre les données proprement dites.

(22)

22 Propriétés des protocoles d'échange de clefs

n

Perfect Forward Secrecy (PFS)

n

Si la découverte du secret à long terme n’entraîne pas la compromission des clefs de session.

n

Back Traffic Protection

n

Si la génération de chaque clef de session se fait de manière indépendante.

n

authentification directe

(Direct Authentication)

n

Si les valeurs servant à générer le secret partagé sont authentifiées ou si chaque tiers a prouvé qu'il connaissait la clef de session.

n

protection de l'identité

(Identity Protection)

n

Si un attaquant espionnant les échanges ne peut pas connaître les

identités des tiers communicants.

(23)

Certificats

n

Certification des clefs publiques

n

Distribution des clefs

n

Opposition DNSSEC / PGP

n

Souvent utilisés dans les produits VPN du commerce.

n

Manque de portabilité

n

Stockage du certificat sur le poste nomade.

SPKI : Simple Public Key Infrastructure

(24)

24

Normes

n

FIPS

n

Federal Information Processing Standards Publications

n

Normes mis en place par le NIST

n

FIPS46 – DES

n

FIPS197 – AES

n

n

PKCS

n

« Normes » de chez RSA.

PKCS #1: RSA Cryptography Standard

PKCS #3: Diffie-Hellman Key Agreement Standard PKCS #5: Password-Based Cryptography Standard PKCS #6: Extended-Certificate Syntax Standard PKCS #7: Cryptographic Message Syntax Standard PKCS #8: Private-Key Information Syntax Standard PKCS #9: Selected AttributeTypes

PKCS #10: Certification Request Syntax Standard PKCS #11: Cryptographic Token Interface Standard PKCS #12: Personal Information Exchange Syntax Standard PKCS #13: Elliptic Curve Cryptography Standard

PKCS #15: Cryptographic Token Information Format Standard

(25)

Normes

n

RFCs

n

PKIX Working group à l’IETF

n

Développement d’une PKI sur X509v3 et LDAPv2.

Harmonisation des Certification Practices Statement (CPS) et des valeurs des Certificate Policy (CP)

n

SPKI Simple Public Key Certificate (Working group)

n

Généralisation des formats de certificats pour accéder à différents modèles de confiance

RFC du WG PKIX :

•Internet X.509 Public Key Infrastructure Certificate and CRL Profile (RFC 2459)

•Internet X.509 Public Key Infrastructure CertificateManagement Protocols (RFC 2510)

•Internet X.509 Certificate Request Message Format (RFC 2511)

•Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework (RFC 2527)

•Internet X.509 Public Key Infrastructure Representation of Key Exchange Algorithm (KEA) Keys in Internet X.509 Public Key Infrastructure Certificates (RFC 2528)

•Internet X.509 Public Key Infrastructure Operational Protocols - LDAPv2 (RFC 2559)

•Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP (RFC 2585)

•Internet X.509 Public Key Infrastructure LDAPv2 Schema (RFC 2587)

•X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP (RFC 2560)

•Certificate Management Messages over CMS (RFC 2797)

•Diffie-Hellman Proof-of-Possession Algorithms(RFC 2875)

•Internet X.509 Public Key Infrastructure Qualified Certificates Profile (RFC 3039)

•Internet X.509 Public Key Infrastructure Data Validation and Certification Server Protocols (RFC 3029)

•Internet X.509 Public Key Infrastructure Time Stamp Protocols (TSP) (RFC 3161) RFC du WG SPKI :

•SPKI Requirements(RFC 2692)

•SPKI Certificate Theory (RFC 2693)

(26)

26

Législation française

Autorisation Autorisation

Autorisation Chiffrement

Clef > 128 bits - Tiers de confiance

Autorisation Autorisation

Libre Chiffrement

Clef > 128 bits + Tiers de confiance

Libre Déclaration

Libre (1) Chiffrement

40 bits < clef <= 128 bits

Libre Déclaration

Libre Chiffrement

clef<=40 bits

Libre Déclaration

simplifiée Libre

Authentification, signature, intégrité

Importation Fourniture

Utilisation

(1) Soumis à déclaration si le fournisseur ou l’importateur ne l’a pas déclaré et si l’usage n’est pas à titre personnel.

(en général, cas des softs GPL)

(27)

Plan

1. Généralités

2. Rappels sur le chiffrement

3. VPN site à site : IPSec

4. Rappels sur PPP

5. VPN client : PPTP, L2F, L2TP

(28)

28

IPSec

n

IP Security (IPSec) a été développé par l’IETF pour fournir des services cryptographiques de sécurité de la couche Réseau (niveau 3) qui supporte de façon flexible des combinaisons de :

n

Authentification

n

Intégrit é

n

Confidentialité

n

Un système conforme à IPSec peut :

n

Choisir des protocoles de sécurit é

n

Déterminer les algorithmes à utiliser pour les services

n

Utiliser les clés cryptographiques et les certificats

Liste des RFC sur IPSec : (1/2)

•IP Authentication using Keyed MD5 (RFC 1828)

•The ESP DES-CBC Transform (RFC 1829)

•HMAC:Keyed-Hashing for Message Authentication (RFC 2104)

•HMAC-MD5 IP Authentication with Replay Prevention (RFC 2085)

•Security Architecture for the Internet Protocol (RFC 2401)

•The NULL Encryption Algorithm and Its Use With IPsec (RFC 2410)

•IP Security Document Roadmap (RFC 2411)

•IP Authentication Header (RFC 2402)

•The OAKLEY Key Determination Protocol (RFC 2412)

•The ESP CBC-Mode Cipher Algorithms (RFC 2451)

•The Use of HMAC-MD5-96 within ESP and AH (RFC 2403)

•The Use of HMAC-SHA-1-96 within ESP and AH (RFC 2404)

(29)

IPSec

n Les associations de sécurité

n Une association de sécurité (Security Association, SA) est une connexion logique unilatérale entre un émetteur et un récepteur

n La communication bilatérale entre deux systèmes IPSec signifie qu’une SA doit être définie dans chaque direction.

Site : Rennes Site :

Sophia

SA # 2 SA # 1

Liste des RFC sur IPSec : (2/2)

•The ESP CBC-Mode Cipher Algorithms (RFC 2451)

•The Use of HMAC-MD5-96 within ESP and AH (RFC 2403)

•The Use of HMAC-SHA-1-96 within ESP and AH (RFC 2404)

•The ESP DES-CBC Cipher Algorithm With Explicit IV (RFC 2405)

•IP Encapsulating Security Payload (ESP) (RFC 2406)

•The Internet IP Security Domain of Interpretation for ISAKMP (RFC 2407)

•Internet Security Association and Key Management Protocol (ISAKMP) (RFC 2408)

•The Internet Key Exchange (IKE) (RFC 2409)

•The Use of HMAC-RIPEMD-160-96 within ESP and AH (RFC

2857)

(30)

30

IPSec

n Les associations de sécurité

n

Les SA sont identifiées uniquement par :

n

<Index de paramètre de sécurité, Adresse de destination IP, Protocole de sécurité>

n

Un Index de paramètre de sécurité (Security Parameter Index, SPI) est une valeur de 32 bits qui identifie la SA de chaque paquet

n

Il se trouve dans l’en-tête sécurité du protocole

(31)

IPSec

n

Les associations de sécurité

n La Security Association Database (SAD) définit les paramètres associés avec chaque SA

n Les paramètres incluent :(pas normalisés, diffèrent suivant l’implémentation)

n Un compteur de numéro de Séquence (Sequence Number Counter)

n Un indicateur d’overflow (Sequence Counter Overflow)

n Une fenêtre anti-rejeu (Anti-replay window)

n L’information AH (AH information, nécessaire pour implémenter AH)

n L’information ESP (ESP information, nécessaire pour implémenter ESP)

n La durée de vie de SA (SA Lifetime)

n Le mode de protocole IPSec (IPSec Protocol Mode)

n Le MTU sur le chemin (Path MTU)

(32)

32

IPSec

n

La politique de sécurité

n Le trafic IP est rattaché à une SA spécifique utilisant la Security Policy Database (SPD)

n Chaque entrée de SPD est définie par un ensemble de valeurs de champs des protocoles IP et des couches supérieures, appelées des sélecteurs

n Les sélecteurs qui déterminent une entrée SPD comprennent

n Adresse IP Source et Destination + netmask (1)

n UserID (2)

n Protocole de la couche Transport

n Ports Source et Destination

n IPv4 Type Of Service (TOS)

n

(1) Le plus souvent utilisé

(2) Jamais vu d'implémentation… ;-(

(33)

En-tête d’authentification IP

n AH est utilisé pour assurer l’intégrité et l’authentification des paquets IP

n L’intégrité des données assure que des modifications non détectées du contenu d’un paquet en transit ne sont pas possibles

n L’authentification permet à une extrémité d’authentifier la machine

n Un service de protection contre le rejeu doit être mis en œuvre par un système compatible IPSec

n Son utilisation est optionnelle

n AH est un en-tête séparé qui suit l’en-tête IP

n Il authentifie le plus de champs IP possibles (les champs ‘non mutables’)

n Ne passe pas le NAT !

AH est identifié par le numéro de protocole 51

(34)

34

Format d’en-tête AH

En-tête

En-tête IP AH Données utilisateur

En-tête suivant

Longueur de la

charge Réservé

Security Parameter Index (SPI)

Numéro de séquence

Données d’authentification

(Integrity Check Value) (taille variable) 32 bits

(35)

Format d’en-tête AH

n En-tête suivant identifie le type de charge après AH

n Longueur de la charge contient la longueur du champ Données d’authentification

n Données d ’authentification est un champ de longueur variable qui contient la valeur de contrôle d’intégrité (Integrity Check Value, ICV) pour le paquet

n Utilisé par le destinataire pour vérifier l’intégrité du paquet entrant

n Généré à partir du contenu de l’en-tête et des données du paquet

n Calculé avec l’algorithme sélectionné au moment de l’initialisation de la SA

n Les algorithmes par défaut nécessaires pour l’interopérabilité sont

n HMAC with MD5

n HMAC with SHA-1

(36)

36

Utilisation d’AH

n

AH peut être utilisé de deux manières différentes

n

Mode transport

n

Mode tunnel

n

Le mode transport est utilisé par les machines et produit moins d’overhead

n

Le mode tunnel est utilisé entre des passerelles

En-tête IP

En-tête

AH Charge

Transport mode

Nouvel En-tête IP

En-tête

AH Ancien Charge

en-tête IP Mode tunnel Authentifié

Authentifié

(37)

Encapsulating Security Payload (ESP)

n ESP est utilisé pour permettre

n Chiffrement

n Intégrité des données

n Authentification

n Le champ ''Données Utilisateur'', Payload Data, est composé d’un nombre variable d’octets de données décrits par le champ "En-tête suivant"

n Ce champ est chiffré avec l’algorithme cryptographique sélectionné au cours de l’établissement de la SA

n

Auth ESP à partir de ESP v2

n

Possibilité de chiffrement ESPNULL è uniquement authentification

ESP est identifi é par le numéro de protocole 50

(38)

38

Encapsulating Security Payload (ESP)

En-tête

En-tête IP ESP Données utilisateur En-queue ESP

Auth ESP

Données d’authentification (variable)

32 bits

Security Paramet er Index (SPI)

Numéro de séquence

Données utilisateur (variable)

Longueur de remplissage

En-tête suivant Remplissage (0-255 octets)

Chiffré

Authentifié

(39)

Utilisation d’ESP

n Comme avec AH, ESP peut être utilisé de deux manières différentes :

n Mode transport

n Mode tunnel

Mode Transport

Mode Tunnel Authentifié

Trailer ESP En-tête

ESP

En-tête ESP

Chiffré

Auth ESP

Charge Charge

Authentifié Chiffré

Trailer ESP

Auth ESP En-tête

IP

Nouvel en-tête IP

Ancien en-tête IP

(40)

40

Internet

ESP et le NAT / PAT : problématique

n NAT change les @IP, PAT change les numéros de port TCP et UDP, mais ESP est un protocole…

IP ESP Data Hash

IP ESP Data Hash

10.1.1.1

NAT / PAT

10.1.1.2

VPN gateway

IP ESP Data Hash

123.1.1.1 123.1.1.1 10.1.1.254

IP ESP Data Hash

123.1.1.1

?

(41)

NAT-Traversal

n Utilisation d’IPSEC(ESP) encapsulé dans UDP :

n Mode transport

n Mode tunnel

Mode Transport

Mode Tunnel Authentifié

Trailer ESP En-tête

ESP

En-tête ESP

Chiffré

Auth ESP

Charge Charge

Authentifié Chiffré

Trailer ESP

Auth ESP En-tête

IP

Nouvel en-tête IP

Ancien en-tête IP UDP

(500/500)

Non- IKE

Non- IKE UDP

(500/500)

Drafts :

"Negotiation of NAT-Traversal in the IKE", Tero Kivinen, 08-JAN-03.

"UDP Encapsulation of IPsec Packets", Ari Huttunen, 14-JAN-03.

(42)

42

Internet Key Exchange (IKE)

n

protocole Internet Key Exchange (IKE) est un protocole de gestion de clef utilisé par IPSec.

n

IKE est composé de :

n ISAKMP (Internet Security Association and Key Management Protocol)

n Oakley / SKEME (Secure Key Exchange Mechanism)

n IPSEC DOI (Domain Of Interpretation) rfc 2407

n IKE assure une gestion sécurisée des clés et l’échange des clés cryptographiques

n Authentification des homologues IPSec

n Négocie les clés IPSec

n Négocie les associations de sécurité (SA) IPSec

(43)

Internet Key Exchange (IKE)

n ISAKMP

n ISAKMPest inutilisable seul : c'est un cadre générique qui permet l'utilisation de plusieurs protocoles d'échange de clef et qui peut être utilisé pour d'autres mécanismes de sécurité que ceux de Ipsec.

n ISAKMPa pour but la négociation, l'établissement, la modificationet la suppressiondes associations de sécurité et de leurs attributs.

n

Oakley (RFC 2412) / SKEME

n permettre le partage, de façon sûre entre les tiers, d'un ensemble d'informations relatives au chiffrement :

n Clef secrète, identités des tiers, algorithmes de chiffrement, d'authentification et fonction de hachage.

n

IPSEC DOI

n Spécifie des paramètres des échanges ISAKMP ; indique que ce dernier travaille pour IPSEC.

ISAKMP : UDP port 500

(44)

44

IPSec / IKE

n

Relation entre IPSec, SAD, SPD

link IP/Ipsec (AH,ESP) Transport (TCP,UDP)

Socket

Application protocol Application

IKE DOI Oakley

SKEME ISAKMP

SAD

SPD

consulte Administrateur

consulte Pointe sur

Négocie, Modifie, supprime

configure

Demande Création de SA alerte

(45)

Négociation ISAKMP

n

Isakmp phase 1

n

Négociation des paramètres de sécurité pour ISAKMP.

n SA Isakmp bi-directionnelle

n SA Isakmp Générique (pour tout échange de clefs), ou SA Isakmp IPSec (uniquement pour les échanges de clefs pour IPSec)

n

Isakmp phase 2

n SA à établir pour le compte d'un mécanisme de sécurité donné (par exemple AH ou ESP).

n échanges de cette phase sont sécurisés (confidentialité, authenticité...) grâce à la SA ISAKMP.

(46)

46

Négociation ISAKMP

n

Isakmp indépendant de la génération des clefs.

n

Fonctionne par chaînage de blocs (en-tête Next payload ).

Champs propriétaires.

VID Vendor ID

Message d’effacement d’une SA.

D Delete

Message d'erreur ou d'information.

N Notification

Aléats NONCE Nonce

Résultat d’un algorithme de signature numérique.

SIG Signature

Résultat d’un "hashage" sur le message isakmp.

HASH Hash

Demande de certificats.

CR Certificat Request

Certificat, ou Information sur un certificat (3) CERT

Certificate

identification des tiers (2) ID

Identification

Données nécéssaires à la gestion des clefs (dépend du contexte) KE

Key Exchange

Algorithme + attributs T

Transform

Mécanisme de sécurité (AH, ESP), suivi par un enchaînement de T P

Proposal

Indique le DOI de la négociation (1) SA

Security Association

Commentaire Sigle

Nom

(1) Par exemple :

0 pour le DOI è SA ISAKMP générique.

1 pour le DOI è SA ISAKMP IPsec.

(2) Pour ISAKMP c’est une adresse IP.

(3) Un champ Certificate Encoding (c’est le type) et un champ Certificate Data.

Les types définis actuellement sont :

• PKCS #7 wrapped X.509 certificate

• PGP certificate

• DNS signed key

• X.509 certificate - signature

• X.509 certificate - key exchange

• Kerberos tokens

• Certificate revocation list (CRL)

• Authority revocation list (ARL)

• SPKI certificate

• X.509 certificate - attribute

(47)

Négociation ISAKMP

n

Les types d’échange :

Signifie que le message est chiffré

*

Nonce Payload NONCE

Authentication Payload (HASH ou SIG) AUTH

Payload Identity ID

Key ExchangePayload KE

Security Association Payload SA

ISAKMP Header HDR

Commentaire Sigle

SA- DOI - Situation

P1- Mécanisme - SPI

T1.1- Transfo.

- Attr.

T1.2- Transfo.

- Attr.

P2- Mécanisme - SPI

T2.1- Transfo.

- Attr.

T2.2- Transfo.

- Attr.

Les types d’échange définissent des groupes de blocs, afin d’avo ir une

meilleure intéropérabilité, et des fonctions précises (authentification

mutuelle, PFS, …) [RFC2408]

(48)

48

Négociation ISAKMP

(49)

Négociation ISAKMP

n

Isakmp phase 1 : Main mode (Identity Protection Exchange)

Source Destination

HDR, SA 1 HDR, SA

2

HDR, KE, NONCE 3

HDR, KE, NONCE 4

HDR* , IDs, AUTH 5

HDR* , IDd, AUTH 6

(50)

50

Négociation ISAKMP

n

Isakmp phase 1 : Aggressive mode ( Aggressive Exchange)

Source Destination

HDR, SA, KE, NONCE, IDs 1

HDR, SA, KE, NONCE, IDd, AUTH 2

HDR*, AUTH 3

(51)

Négociation ISAKMP

n

Isakmp phase 2 : Quick mode

Source Destination

HDR*, HASH, SA, NONCE [, KE] [,IDs, IDd]

1

HDR*, HASH, SA, NONCE [, KE] [,IDs, IDd]

2 HDR*, HASH

3

(52)

52

IKE et le NAT-Traversal

n

Détection du support du NAT traversal

n

Utilisation du vendor-string (VID) pour y mettre un hash de RFC XXXX… ;-)

n

Détection de la présence d’un NAT

n

NAT-D Payload : contient un hash de l’@IP et du numéro de port.

n

Utilisation d’un marqueur “Non-ESP” pour démultiplexer ESP d’ISAKMP

Il est conseillé alors d’utiliser un numéro de port <> de 500, car certain

boitiers NAT/PAT ne font justement pas de PAT sur le port IKE, pour ne

pas le perturber…

(53)

Plan

1. Généralités

2. Rappels sur le chiffrement

3. VPN site à site : IPSec

4. Rappels sur PPP

5. VPN client : PPTP, L2F, L2TP

(54)

54

PPP

n

Le processus de connexion PPP comporte trois phases principales :

n Établissement de la liaison

n Configuration du protocole de la couche réseau

n Fin de la liaison

n

Link Control Protocol (LCP) (1)

n Configure, surveille et termine la liaison

n L'authentification est une phase optionnelle qui suit l'établissement de la liaison (Par exemple, PAP et CHAP [rfc1334])

n

Network Control Protocol (NCP)

n Configure les protocoles de la couche réseau transportés dans la connexion PPP

n Il existe un NCP séparé pour chaque protocole de la couche réseau que supporte PPP (2)

(1) LCP :

• HDLC : RFC 1549

• X25 : RFC 1598

• ISDN : RFC 1618

• SONET/SDH : RFC 1619

• PPPoE : RFC 2516

• …

PPP Multilink Protocol (MP) : rfc1717

(2) NCP :

• IPCP (IP) : RFC 1332

• DNCP (Decnet) : RFC 1376 & RFC 1762

• ATCP (Appletalk ) : RFC 1378

• IPXCP (IPX) : RFC 1552

• BVCP (Bayan) : RFC 1763

• XNSCP (Xerox) : RFC 1764

• IPv6 : RFC2472

• …

(55)

PPP

LCP ConfReq LCP ConfAck LCP ConfReq LCP ConfAck

Chap Challenge (name=isp)

Chap Response (name=dupont@loria.fr)

Requête NCP Réponse NCP

Données Utilisateur

NAS ISP

Chap Auth OK

(56)

56

PPP & la sécurité

n

CCP (Compression Control protocol)

n Possibilité de compresser l’en-tête IP

n Jacobson, V., "Compressing TCP/IP Headers", RFC 1144,

n RFC 1962, 1977, 1993, 2509

n

ECP (Encryption Control protocol)

n RFC 1968

n Paquets LCP, donc avant tout transfert de DATAs.

n négociation des algorithmes (champ type du paquet LCP)

n è~ un RFC par algorithme.

n èpre-shared secret

DESE (PPP DES Encryption Protocol) : RFC 1969, rfc 2419

3DESE (PPP Triple-DES Encryption Protocol ) : RFC 2420

(57)

Authentification PPP

n

PAP (PPP Authentification Protocol RFC1334)

n Le mot de passe circule en clair.

è Peut être stock é chiffré sur le NAS.

n

CHAP (Challenge Handshake Authentication Protocol RFC1994)

n Challenge qui authentifie l’utilisateur auprès du NAS (hash md5).

è Doit être stocké “en clair” sur le NAS.

n

MS-CHAP[v2] (Microsoft PPP CHAP Extensions [version 2])

n RFC 2433 er 2759

n double chiffrement

n Intégration avec les domaines NT et 2k.

n Authentification du serveur (v2)

(58)

58

Challenge Chap

Hachage clef

Secrète (*)

Client (homologue)

Serveur (authentificateur)

Hachage

clef secrète Valeur de hachage

Compare Valeur de hachage

Challenge Demande de connexion

Challenge

(valeur de hachage) réponse

(*) La clef secrète est bien souvent dérivée d'un mot de passe par un

hash MD5 (windows2OOO + kerberos)

(59)

Ms Chap v1

3 chiffrement DES Hash LANMAN

Du mdp

Client (homologue)

Serveur (authentificateur) Demande de connexion

Challenge

Challenge (8 octets) Hash Windows NT

Du mdp

3 chiffrement DES

Réponse de 2X 24 octets

(60)

60

Ms Chap v2

1. Le client demande une épreuve au serveur.

2. Le serveur envoie en réponse une épreuve de 16 octets aléatoires.

3. A- Le client génère un nombre aléatoire de 16 octets, appelé "l'épreuve égale d'authentification.“

B- Le client génére une épreuve de 8 octets en hachant l'épreuve de 16 octets reçue à l'étape (2), les 16 octets de l'épreuve égale

d'authentification générés à l'étape (3a) et le nom de l'utilisateur du client.

C- Le client crée une réponse de 24 octets, en utilisant la fonction de hachage Windows NT et les 8 octets de l'épreuve générés à l'étape (3b).

Ce processus est identique à celui de MS-CHAPv1.

D- Le client transmet au serveur les résultats des étapes (3a) et (3c).

Quelques différences v1- v2 :

MS-CHAP version 1

• Négociation CHAP avec une valeur d'algorithme de 0x80.

• Le serveur envoie une valeur épreuve de 8 octets.

• Le client envoie 24 octets LANMAN et 24 octets NT en réponse aux 8 octets d'épreuve.

• Le serveur envoie une réponse indiquant le SUCCES ou l'ECHEC.

• Le client décide de continuer en fonction de la réponse SUCCES ou ECHEC du serveur.

(61)

Ms Chap v2

4.

A- Le serveur utilise les hachages du mot de passe du client, conservé dans une base de données, afin de déchiffrer les réponses. Si les blocs déchiffrés correspondent à l'épreuve, le client est authentifié.

B- Le serveur utilise les 16 octets de l'épreuve égale

d'authentification du client, tout comme le mot de passe haché du client, afin de créer une "réponse d'authentification“ de 20 octets.

5.

Le client calcule aussi une réponse d'authentification. Si celle-ci correspond à celle reçue en réponse, le serveur est authentifié.

Quelques différences v1- v2 :

MS-CHAP version 2

• Négociation CHAP avec une valeur d'algorithme de 0x81.

• Le serveur envoie une valeur de 16 octets qui devra être utilisée par le client dans la création d'une valeur d'épreuve de 8 octets

• Le client envoie 16 octets d'épreuve égale qui ont été utilisés pour créer l'épreuve de 8 octets cachés, et la réponse NT en 24 octets.

• Le serveur envoie une réponse indiquant SUCCES ou ECHEC et transmet une réponse d'authentification de 16 octets.

• Le client décide de continuer en fonction de la réponse SUCCES ou ECHEC. En plus, le client vérifie la validité de la réponse d'authentification et se déconnecte si elle est incorrecte.

(62)

62

Authentification PPP

n

EAP (PPP Extensible Authentication Protocol RFC 2284)

n Dissociation de l’authentification de LCP (EAP après LCP)

n Négociation de la méthode d’authentification

n Identity (juste un login)

n MD5-challenge (= CHAP)

n OTP (RFC 1938)

n Generic Token Card

n

n EAP-TLS (Transport Level Security) (RFC 2716)

n Utilisation de TLS pour de l’authentification mutuel, pour la négociation des clefs pour ECP.

(63)

Plan

1. Généralités

2. Rappels sur le chiffrement

3. VPN site à site : IPSec

4. Rappels sur PPP

5. VPN client : PPTP, L2F, L2TP

(64)

64

VPN client – généralité

n

Fournir à la machine distante une @IP du réseau interne sur authentification utilisateur.

n

Utilisation de PPP

n

La machine a déjà une adresse IP (routée ou NATée)

è

Le tunnel sera effectué par la machine elle-même.

n

En accord avec un ISP, fournir au nomade distant une @IP du réseau interne de l’entreprise sur authentification utilisateur.

n

Négociacion PPP avec la passerelle VPN de l’entreprise.

(65)

VPN client – PPTP

n

Point-to-Point Tunneling Protocol (PPTP)

n

Développé en partenariat avec Ascend Communications, 3Com Corporation/U.S. Robotics, ECI Telematics, et Microsoft

n

En tant qu’extension de la norme PPP, PPTP est utilisé pour créer des VPN multi-protocoles .

n

Les datagrammes des protocoles réseau sont encapsulés dans une enveloppe IP (utilisation de GRE et GREv2 pour

l’encapsulation)

n

Une session de contrôle du tunnel (1723/TCP)

n

Plusieurs "sessions" dans le même tunnel

PPTP : RFC 2637

GRE (Generic Routing Encapsulation) : RFC 1701 et RFC 1702

GREv2 : Ajout d’aquittements dans GRE.

(66)

66

VPN client – GRE

n

Les datagrammes des protocoles réseau sont encapsulés dans une enveloppe IP (utilisation de GRE et GREv2 pour l’encapsulation)

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|C|R|K|S|s|Recur| Flags | Ver | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Checksum (optional) | Offset (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Key (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number (optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Routing (optional)

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

GRE : IP protocole 47.

Protocol Type ~= Protocol type d’ethernet (ftp://ftp.isi.edu/in-

notes/iana /assignments/ethernet- numbers.)

(67)

VPN client – PPTP

Utilisateur distant

Dans le cas de L2TP, le NAS s’appelle un LAC ( L2TP Access Concentrator)

La passerelle s’appelle alors un LNS (L2TP Network Server)

(68)

68

VPN client – PPTP

En-tête

IP Data

En- tête GRE

En- tête PPP

Données PPP En-tète IP Données

Peut être chiffré Utilisateur distant

NAS (PAC)

RAS (PNS)

En-tête IP 2

IP PPP Tunnel PPTP

Contrôle PPTP

NAS : Network Access Server RAS : Remote Access Server PAC : PPTP Access Concentrator PNS : PPTP Network Server

GRE (Generic Routing Encapsulation) : RFC 1701 et RFC 1702

PPTP liaison de contrôle : 1723/tcp

(69)

VPN client – PPTP

(don’t session de CTRL)

(70)

70

VPN client – L2F / L2TP

n

La technologie L2F (Layer 2 Forwarding) a été développée par Cisco Systems

n

L2F fournit un tunnel sécurisé entre utilisateurs distants et la passerelle VPN

n

Authentification basée sur PPP / Chiffrement basé sur PPP

n

Layer 2 Tunneling Protocol (L2TP) associe les fonctions des protocoles L2F et PPTP

(Joint venture entre Cisco et Microsoft )

n

Authentification basée sur PPP

n

Supporte l’utilisation de IPSec pour le chiffrement des données

L2F: RFC 2341 L2TP : RFC 2661

Différences L2F / L2TP :

• Contrôle de flux en L2TP

• AVP (attribute-value pair) hiding

• Authentification du tunnel optionnel (obligatoire en L2F)

(71)

VPN client – L2F / L2TP

Dans le cas de L2TP, le NAS s’appelle un LAC ( L2TP Access Concentrator)

La passerelle s’appelle alors un LNS (L2TP Network Server)

(72)

72

VPN client – L2F / L2TP

1.

L’utilisateur distant initie une connexion PPP vers un ISP (via RTCP, ISDN, xDSL ou un modem câble…)

2.

L’ISP authentifie l’utilisateur. Il détermine aussi si un service VPN est nécessaire.

3.

L’ISP initie ensuite un tunnel L2F / L2TP vers la passerelle de l’entreprise.

4.

La passerelle de l’entreprise authentifie l’utilisateur

5.

S’il est authentifié , la passerelle de l’entreprise effectue des négociations PPP avec l’utilisateur distant

6.

Les données sont encapsulées PPP de bout en bout, de

l’utilisateur vers la passerelle

(73)

VPN client – L2F / L2TP

IP PPP Tunnel L2F / L2TP

Utilisateur distant

LAC LNS

Paquet PPP Données

PPP Somme

L2F Charges

(PPP + données) En-tête

L2F / L2TP En-tête

IP

Paquet L2F /L2TP

L2F/L2TP : UDP port 1701

(74)

74

VPN client – L2F / L2TP

Dans le cas de L2TP, le NAS s’appelle un LAC ( L2TP Access Concentrator)

La passerelle s’appelle alors un LNS (L2TP Network Server)

(75)

VPN client – L2F / L2TP

LCP ConfReq LCP ConfAck LCP ConfReq LCP ConfAck

Chap Auth OK

Chap Response (name=dupont@loria.fr)

Requête NCP Réponse NCP Utilisateur

NAS

ISP LNS

L2tp Conf L2tp Conf L2tp Open L2tp Open

L2tp Open Mid (Chap info & LCP info) L2tp Open Mid

Chap Challenge (name=isp)

Session Tunnel

(76)

76

VPN client – L2TP et radius

n

Authentification par user name (rfc 2809)

n Client et LAC : Call Connected

n Client et LAC : PPP LCP negotiation

n Client et LAC : Authentication (juste basé sur le userid via radius)

n LAC vers LNS : L2TP Incoming-Call-Request

n LNS vers LAC : L2TP Incoming-Call-Reply

n LAC vers LNS : L2TP Incoming-Call-Connected

n Client et LNS : PPP LCP re-negotiation

n Client et LNS : PPP authentication

n LNS et Client : RADIUS Access-Accept/Access-Reject

n Client et LNS : NCP negotiation

(77)

VPN client – L2TP et IPSEC

n

Shéma de sécurisation

LAC

@IP = Loc

@IP = Nom

routeur FW

LNS (proxy arp )

@IP = Dest internet

@IP = Nom

ESP IP (@Nom,@Dest) Data

IP(@Loc,@LNS)

IP (@Nom,@Dest) Data L2TP PPP

(78)

78

VPN client – L2TP et IPSEC

n

Shéma proposé de sécurisation (RFC2888)

LAC

@IP = Nom routeur FW

LNS (routeur)

@IP = Dest internet

@IP = Nom

PPP IP(@Nom,@LNS) ESP IP (@Nom,@Dest) Data PPP

IP(@LAC,@LNS) L2TP IP (@Nom,@Dest) Data

(79)

VPN client – routage & filtrage

n

Split tunneling

n

= Seule une partie des informations passe dans le VPN.

n Routage par défaut dans le VPN ?

n èAccès au site "hôte" vu comme une machine extérieure !

n èfirewall en entrée de site sans doute mal configuré (pour le retour).

n

Tunnel = accès privilégié

n

Le nomade doit être "inaccessible" du reste du réseau local ?

n èfirewall local au nomade seulement durant le VPN ? (*) n

Le meilleur des 2 mondes (réseau invité ET réseau mère).

(*) Client "Checkpoint Secure remote"

(80)

80

VPN client – filtrage

n

En entrée de site (source = any, destination = passerelle VPN)

n UDP 500 (ISAKMP)

n UDP 1701 (L2TP) (RFC2888 ou en clair)

n TCP 1723 (PPTP CTRL) (si on utilise pptp)

n Proto 50 (ESP) (si pas d'AH, à cause du NAT)

n Proto 51 (AH)

n

En entrée du site hôte (source = any, destination = subnet nomades)

n UDP 500 (ISAKMP) si pas de suivi de session sur UDP

n UDP 1701 (L2TP) si pas de suivi de session sur UDP

n Proto 50 (ESP) suivi de session ?

n Proto 51 (AH) suivi de session ?

(*) Client "Checkpoint Secure remote"

(81)

Résumé

ESP PPP AH AUTH-ESP

X -

PPTP+

IPSec

ESP PPP(2)

PPP(2) ESP

Confiden- tialité

PPP PPP

PPP -

Auth User

AH AUTH-ESP -

X(1) AH

AUTH-ESP

Auth

Machine

X X

X -

Client

- -

- X

ROBO

L2TP+

IPSec PPTP

L2TP IPSec

(1) Optionnel en L2TP, obligatoire en L2F, basé sur un secret partagé.

Identifie juste le LAC et le LNS, pas la machine client.

(2) Secret pré-partagé seulement.

(82)

82

Bibliographie

n Les rfcs : http://www.ietf.orget http://www.rfc-editor.org

n Ipsec : http://www.hsc.fr/ressources/articles/ipsec-tech/index.html.fr

n Divers (chap, pptp, etc) : http://www.counterpane.com/publish.html

n L2F : http://www.cisco.com/warp/public/471/vpdn_20980.html

n Freeswan : http://www.freeswan.org

n "Cryptographie appliquée" (Bruce Schneier), International Thomson Publishing.

n Couterpane : http://www.counterpane.com

n "Digital certificates" (Jalal Feghhi, Jalil Feghhi, Peter Williams), Addison-Welsley

n …Et bien d'autres…

Références

Documents relatifs

☐ Il n'a pas été repéré d'anomalie ☒ Il a été repéré une ou des anomalies : Un des équipements n’est ne sont pas raccordés ☒ Des eaux usées se déversent dans le

Pour terminer sur le choix de la solution de mise en œuvre du VPN IPsec site à site, la configuration d'un tunnel GRE puis des communications IPsec en mode transport avec le

943-4 du code rural et de la pêche maritime, en cas de saisie conservatoire opérée dans le cadre de la pêche maritime : « Dans un délai qui ne peut excéder trois jours ouvrés

Une table T préserve la clé dans une vue V si la clé primaire de la table T désigne une seule ligne de la vue (elle pourrait être une clé de la vue si celle-ci était une vraie

VTI designs are relatively new, but can be used for the same customer requirements where a p2p GRE over IPsec design or DMVPN hub-and-spoke topology design would be recommended;

The extensive portfolio of Cisco ® VPN solutions includes Cisco routers, Cisco Catalyst ® 6500 Series Switches, and Cisco ASA 5500 Series Adaptive Security Appliances..

NOTA : Cas de « stop » : Prospero stopped to smoke (he stopped in order to smoke ; il s'est arrêté dans le but de/pour fumer) # Prospero stopped smoking (il s'est arrêté de

Tout ce qui peut faire obstacle sur les voies biliaires tels que des obstacles au niveau du pancréas ou des ganglions au niveau du hile hépatique, peut se traduire par un