Professional Documents
Culture Documents
et
Scurit des changes au niveau de la couche rseau Transparent pour les applications RFC 2401 : Security Architecture for the Internet Protocol
Datagrammed'origine
donnes
nouvel entteIP
entte IPSec
donnes
Modetunnel
En mode transport, seules les donnes des protocoles de niveau suprieur sont protges.Le mode transport ne devrait tre utilis qu'entre des quipements connects par une liaison point point En mode tunnel, l'en-tte IP d'origine est protg et est remplac par un nouvel en-tte. En particulier, les adresses source et destination du datagramme original sont masques. C'est le mode utilis pour mettre en uvre des VPN
Les paramtres de chaque connexion sont dcrits par une SA. La connection est unidirectionnelle, ainsi un change bidirectionnel necssite 2 SA Les attributs d'une SA sont :
adresses IP source et destination algorithmes d'authentification et de chiffrement cls utilises type de protection (AH ou ESP) index SPI (Security Parameter Index) dure de vie
L'ensemble des SA est gr l'aide d'une base de donnes : SAD (Security Association Database) Au sein de cette base, chaque SA est identifie par 3 paramtres :
Le SPI (32bits) permet la source (resp. destination) de choisir la SA adquate afin de traiter les donnes transmises (resp. reues)
Gestion des SA
2 possibilits :
gestion manuelle gestion automatique l'aide du protocole ISAKMP (Internet Security Association and Key Management Protocol)
ISAKMP est un protocole gnrique et ne peut tre utilis en tant que tel. Il existe plusieurs implantations de ce protocole, l'une d'entre elles tant IKE (Internet Key Exchange)
Une politique de scurit est un ensemble de rgles appliquer aux paquets entrant et sortant. Ces rgles portent sur les en-tte des paquets :
Cet ensemble de rgles est stock dans une base de donnes appele SPD (Security Policy Database)
SAD
Trafficsortant
SAD
Trafficentrant
AH ne garantit pas la confidentialit des donnes AH protge contre le vol de session et l'IP spoofing Inutilisable en prsence de NAT (IPv4)
donnes
donnes
L'authentificationportegalementsurl'entteIPd'origine (modetransport)
entte suivant
longueur
rserv
L'entteAH(RFC2402)
en-tte suivant : identifie le type des donnes qui suivent l'en-tte AH longueur : longueur de l'en-tte AH en mots de 32 bits moins 2 (le moins 2 vient des en-ttes optionnelles du protocole IPv6) numro de squence : obligatoire mme si la protection anti-rejeu n'est pas active donnes d'authentification : contient l'ICV (Integrity Check Value) du paquet
ESP offre les mmes services que AH et en outre garantit la confidentialit grce un mcanisme de chiffrement Contrairement AH, ESP peut tre interdit d'utilisation (vrifiez que la lgislation autorise le chiffrement) Spcifi par le RFC 2406
entte IPd'origine
donnes
Datagrammed'origine
entte IPd'origine
entte ESP
donnes
chiffr authentifi
remorque ESP
donnes d'authen.
(modetransport)
donnesd'authentification(longueurvariable)
L'entteESP(RFC2406)
index SPI : identifie la SA pour ce datagramme numro de squence : obligatoire mme si la protection antirejeu n'est pas active donnes : donnes chiffres remplissage : remplissage ventuellement impos par l'algorithme de chiffrement longueur : longueur du remplissage (0 si aucun remplissage) en-tte suivant : identifie le type des donnes chiffres donnes d'authentification : contient l'ICV (Integrity Check Value) du paquet
Fonctionnement d'ESP
1. recherche de la SA associe au paquet traiter 2. encapsulation dans le champ donnes d'ESP :
en mode transport, des donnes du protocole de niveau suprieur en mode tunnel, de la totalit du datagramme IP d'origine
3. ajout du remplissage ventuellement ncessaire 4. chiffrement des donnes (algorithme indiqu dans la SA associe) 5. calcul des valeurs d'authentification (ICV)
HMAC-MD5, 128 bits (RFC 2403) HMAC-SHA1, 160 bits (RFC 2404) HMAC-RIPEMD160, 160 bits (RFC 2857) AES-XCBC-MAC, 128 bits (RFC 3566) etc... (sous UNIX, faire man setkey pour avoir la liste complte)
NULL, 0 2048 bits (RFC 2410) 3DES-CBC, 192 bits, (RFC 2451) BLOWFISH-CBC, 40 448 (RFC 2451) CAST128-CBC, 40 128 (RFC 2451) RIJNDAEL-CBC, 128/192/256 bits (RFC 3602) etc... (sous UNIX, faire man setkey pour avoir la liste complte)
le protocole cadre ISAKMP (RFC 2408) pour la dfinition et l'administration des SA le protocole Oakley (RFC 2412) pour la cration des cls le protocole SKEME pour l'change de ces cls
ISAKMP
ISAKMP procde selon 2 phases de ngociation :
Durant la premire phase, 2 entits (serveurs ISAKMP par exemple) vont tablir une association de scurit ISAKMP afin de protger le traffic ultrieur La deuxime phase est consacre la cration de SA pour d'autres protocoles de scurit La SA ISAKMP cre durant la premire phase permet de protger les changes de la deuxime phase
OAKLEY / SKEME
Mcanisme gnrique de cration et de diffusion scurise de cls S'appuie sur l'algorithme d'change de cls de Diffie-Hellman Ncessite un bon gnrateur de nombres alatoires (c'est un point crucial !) Compatible avec le protocole ISAKMP Les noms des cls gnres servent engendrer les SA des protocoles AH et ESP
IPcomp (RFC 2393) est un protocole destin rduire la taille des datagrammes IP. IPcomp est particulirement utile lorsque le datagramme a t chiffr. Pour tre efficace, IPcomp doit tre appliqu avant le chiffrement du datagramme IPcomp est un protocole cadre indpendant de l'algorithme de compression Un exemple d'algorithme de compression : DEFLATE (RFC 2394)
donnes
AHmodetransport
entte IPd'origine
entte ESP
entte IPComp
donnes
remorque ESP
donnes d'authen.
ESPmodetransport
rseau priv
rseau priv
192.168.1.0/24 10.0.1.0/24
passerelle IPSec
tunnelc h
iffr
passerelle IPSec
Internetpublic
Linux FreeS/Wan, [Linux], (www.freeswan.org) Openswan, [Linux], (www.openswan.org) Racoon [FreeBSD, NetBSD, OpenBSD, Linux 2.6], (www.kame.net)
FreeS/Wan n'volue plus gure et devrait tre dlaiss au profit d'Openswan qui intgre FreeS/Wan et Racoon
/dev/random -> gnrateur de nombre alatoires 12345 -> SPI (Security Parameter Index)
-m tunnel -> prcise le mode du protocole de scurit (autres modes : transport ou any, any valeur par dfaut)
hard: 0(s)
hard: 0 soft: 0
10.0.1.0/24
rseau priv
rseau priv
10.0.2.0/24
192.168.1.1
passerelle IPSec
tunnelc h
iffr
192.168.2.1
passerelle IPSec
Internetpublic
Editer le fichier /etc/racoon/psk.txt sur la passerelle 192.168.1.1 et ajouter la ligne : 192.168.1.2 0x52a149926ba4e5c94f28 ou 192.168.1.2 ceci est le mot de passe
Ne pas oublier de protger ce fichier : # chmod 400 /etc/racoon/psk.txt Procder de manire analogue sur 192.168.2.1
Procder de manire analogue sur 192.168.2.1 pfs_group -> Perfect Forward Secrecy (optionnel). Attention aux temps de calcul importants si on choisit un modulo lev
Peu de diffrences concernant la configuration avec le cas prcdent Dans le catalogue o se trouvent les certificats (par exemple /etc/racoon/certs), excuter :
ln -s CAfile.pem `openssl x509 -noout -hash < CAfile.pem`.0 ln -s CRLfile.pem `openssl x509 -noout -hash < CAfile.pem`.r0 o CAfile.pem est le certificat de l'autorit de certification et CRLfile.pem est le fichier des certificats rvoqus
Lancement de racoon