www.hakin9.org hakin9 Nº 3/2006 3­ Fiche technique I PSec a été développé par l

www.hakin9.org hakin9 Nº 3/2006 3­ Fiche technique I PSec a été développé par l'IETF dans le but de sécuriser TCP/IP au niveau de la couche 3 (couche réseau du modèle OSI), contrai­ rement à SSL/TLS ou SSH qui sécurisent res­ pectivement les couches 6 et 7 (ce qui évite de rattacher IPSec à un port donné -22 pour SSH ou 443 pour HTTPs-). Il peut être implémenté sur des connexions hôte vers hôte, hôte vers passerelle ou passerelle vers passerelle. Le premier type requiert soit le mode transport, soit le mode tunnel, tandis que les deux der­ niers cas demandent forcément un mode tun­ nel. Par l'authentification et le chiffrement des paquets IP, IPSec permet de sécuriser toute transmission de données reposant sur TCP. Nous présenterons donc IPSec comme : • étant un patch de sécurité pour IP (IPSec étant en option sous IPv4, mais obligatoire avec le futur Ipv6), • étant un protocole pouvant être utilisé sous deux modes (transport et tunnel), • faisant appel à deux sous-protocoles (AH et ESP), • et se basant sur plusieurs autres protoco­ les plus ou moins utilisés dans leur totalité (ISAKMP, IKE, Oakley, Photuris, Skeme et SKIP). IPSec permet donc principalement : • l’authentification – cette fonctionnalité re­ pose entre autres sur le concept de cookie comme nous le verrons par la suite et est basée sur des clés prépartagées, adres­ ses IP, noms FQDN, certificats X.509, ..., • l’intégrité des données – via l’utilisation d’algorithmes de hachage, nous pouvons vérifier que les données n’ont pas été altérées entre le départ et l’arrivée. Cette intégrité repose sur deux types particuliers de fonctions de hachage : les MACs -cf. Encadré- et les HMACs -cf. Encadré-, IPSec : Techniques Bénoni MARTIN Degré de difficulté L’un des protocoles les plus complexes, complexité notamment dûe au fait que IPSec se base sur d’autres protocoles (AH, ESP, ISAKMP, IKE, ...) qu’il faut donc appréhender avant d'aborder IPSec ; complexité qui se traduit d'ailleurs par le nombre élevé de RFCs traitant du sujet. Pour certains, IPSec est basé sur le trio AH/ESP/IKE ; pour d’autres ce sera plutôt le trio IKE/ ISAKMP/Oakley ; pour d’autres encore, IPSec est un ensemble de mécanismes destiné à pallier le manque de sécurité de IPv4, … Cet article explique... • Comment fonctionne IPSec en détail. Ce qu'il faut savoir... • Idéalement avoir des connaissances de base sur les protocoles TCP/UDP et IP. • Des notions de base en cryptographie (clé prépartagée, échange de Diffie-Hellman, cer­ tificats et signatures numériques, ...). IPSec hakin9 Nº 3/2006 www.hakin9.org 3­ • la non-répudiation – possibilité d’identifier formellement l’émet­ teur de manière à ce que ce der­ nier ne puisse nier être l’auteur du message. Cette option repose sur le concept de signature nu­ mérique -cf. Encadré-, • la confidentialité des données – via le cryptage, nous pouvons empêcher qu’un attaquant ne puisse lire nos données, • l’anti-rejeu – cette option sera dé­ veloppée en détail lorsque nous parlerons du PFS (protection anti-rejeu). Ces fonctionnalités sont données à travers l’utilisation de deux sous- protocoles de IPSec : • l'AH -Authentication Header- qui est conçu pour assurer principa­ lement l’intégrité et l’authentifica­ tion des données, • l'ESP -Encapsulating Security Payload- qui assure la confidenti­ alité par cryptage, et aussi éven­ tuellement l’authentification. ESP est largement plus utilisée que AH. IPSec en détail Une connexion IPSec repose sur l’usage d’une association de sécurité (SA -Security Association-) unidirec­ tionnelle (il en faudra donc deux par connexion, une pour chaque sens) préalablement établie entre les cor­ respondants et qui va permettre aux deux parties de convenir des diffé­ rents paramètres de la SA utilisés durant l’échange des données. Trois paramètres l’identifient : • un index de paramètres de sé­ curité (SPI -Security Parameters Index). Il s’agit d’une chaîne de 32 bits de signification locale (propre au système qui gère l’association), véhiculée en clair dans les en-têtes AH et ESP. Une SPI de valeur 0 est un cas particulier pour dire qu’aucune SA n’a été encore créée, • l’adresse de destination, il peut s’agir d’un système d’extrémité ou d’un système intermédiaire (routeur, firewall ou poste de tra­ vail), • l’identifiant de protocole de sé­ curité (SPId -Security Protocol Identifier-) qui indique la nature de la SA (AH ou ESP). Cette association de sécurité contient en plus les paramètres suivants : • les ports source et destination (peuvent aussi jouer le rôle de paramètres pour identifier la SA), • l'adresse IP source, • le nom (user ID ou nom système comme un nom FQDN / X.500, …), • algorithme d’authentification et clés publiques associées éven­ tuelles, • algorithme de cryptage et clés publiques associées éventuelles, • durée de vie de la SA, • mode (tunnel ou transport), • numéro de séquence, • fenêtre anti-rejeu si cette option est activée (cette option est dé­ crite en détail dans la suite), • débordement du numéro d’ordre (drapeau indiquant si le débor­ dement du numéro de séquence doit produire un évènement d’audit et empêcher toute nou­ velle transmission sur cette SA), • le Path MTU. Soient I et R res­ pectivement l'Initiateur et le Répondant du tunnel (soit tout simplement respectivement l'ex­ trémité du tunnel qui va initier le tunnel et l'autre extrémité). I va envoyer un paquet ayant comme taille Max{MTUI, MTUR} avec le bit DF à 1 (bit Don't Fragment -pas de fragmentation-). S'il y a un routeur nécessitant de frag­ menter le paquet, il retournera un ICMP destination inatteignable code 4, ce qui permettra à I de renvoyer un paquet moins grand. Le processus continue jusqu'à que R recoive le paquet et I n'ait plus de message d'erreur ICMP. la dernière valeur du MTU sera le PMTU, soit la taille maximale des La gestion des clés Les 3 types de clés existantes On a trois grands types de clés : • les clés de chiffrement de clés. Servant à chiffrer d’autres clés (par exemple crypter la clé qui va permettre de transmettre la clé symétrique de chiffrement de données), ce type de clé doit être par conséquent très solide (d’où une utilisation recomman­ dée de la cryptographie à clé publique) et a une durée de vie en général assez longue, • les clés de chiffrement de données. Comme son nom l’indique, ce type de clés permet de crypter les données échangées. Les données à échanger pouvant être très grandes, le cryptage / décryptage doit être le plus rapide possible, d'où le choix de clés symétriques. La « fragilité » de ce type de clés est compensée par le fait que dans la plupart des cas, ces clés changent souvent (elles ne durent pas plus de 10 minutes par défaut par exemple sur un VPN monté sur un Firewall NetASQ), • les clés maîtresses. Ces clés permettent de générer d’autres clés par dérivation, par exemple pour le chiffrement ou les signatures numériques. Comment sont gérées les clés ? La distribution des clés peut se faire soit manuellement soit automatiquement : • dans la distribution manuelle, l'administrateur configure chaque équipement avec sa clé. Cette technique n'est réalisable que si le réseau est statique et de taille accep­ table. • dans la distribution automatique, les participants pourront utiliser des clés via DNS en utilisant un algorithme asymétrique. Ces clés authentifieront les messages de distribution de clés. Les protocoles les plus utilisés dans cette dernière distribution sont ISAKMP, OAKLEY et IKE. hakin9 Nº 3/2006 www.hakin9.org Fiche technique 4­ paquets pouvant être envoyés sur le futur tunnel, • lien vers la SPD. C'est l'identi­ fiant qui va permettre de trouver la correspondance dans la SPD à partir de la SAD (cf. ci-dessous). Remarques : • nous parlons d’une SA en gé­ néral. Il existe des SA IPSec, ISAKMP, TLS…, la SA ISAKMP par exemple n’étant définie que par le SPI et le SPId, • si ESP et AH sont employés, alors deux SA seront nécessai­ res, une pour chaque type, • en général, on n'attend pas la fin d'une SA pour commencer à en négocier une nouvelle : le début de cette nouvelle négociation se fait un peu avant la fin de négo­ ciation de l'ancienne (c'est ce qui est fait dans les routeurs CISCO, dans les Firewalls NetASQ ou encore dans le démon IKE Pluto de FreeS/WAN via le paramètre rekeymargin). La version 2 de IKE intègre cette fonctionalité en standard (CREATE_CHILD_SA). La base des associations de sécurité (SAD -Security Association Database-) Chaque SA va être contenue dans ce que l’on appelle une base des associations de sécurité (SAD - Security Association Database-). Cette base va contenir pour chaque SA les informations qui lui sont re­ latives, ce qui permettra de savoir comment traiter chaque paquet à envoyer. C’est une simple base de données qui va être consultée par la SPD. Cette base de données contient toutes les informations de la SA dont la liste a été donnée plus haut. La base de politique de sécurité (SPD -Security Political Database-) On définit aussi une base de politi­ que de sécurité (SPD -Security Poli­ tical Database-), qui va uploads/Litterature/ ipsec-techniques-pdf.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager