easy-rezo
  • Accueil
  • Réseau

Protocole


Introduction

Comme je l’avais dit, IPsec est une base de travail qui nécessite d’un protocole de transport (Couche 3 OSI). 

Il va nous permettre donc de transporter le trafic chiffrer.

Nous irons étudier les entêtes des protocoles ESP et AH mais avant cela, il faut comprendre certaines choses :

  • Il vont devoir informer à IPsec la politique de chiffrement
  • ESP et AH sont de niveau 3. On casse donc le modèle TCP/IP sur lequel se base le NAT
  • Ces mêmes protocoles vont encapsuler la données IP (payload)
Delà il en découle certaines choses. Dans l’ordre
  • Avec IPsec, on utilise du chiffrement, des durées de vie, du hash etc … il faut que ces protocoles puissent avertir de la politique de chiffrement
  • NAT reposant sur les numéros de port TCP et de UDP, dans le cas ou il faut travers un routeur (une box, un firewall matériel etc …), il va falloir utiliser du NAT traversal (appeler NATT) qui ajoutera une entête UDP et donc de faire du NAT
  • IPsec se retrouve principalement deux deux types de configuration. site-to-site ( réseaux à réseau) et client to site (pc raccorder à une réseau). Nous verrons l’impact sur la donnée transportéedans ces deux configuration
Entête
Afin de limiter la répéter la définition des champs, cette partie sera divisé de cette manière
- Entête ESP
- Entête AH
- Définition des champs
  1. ESP
  2. Je vous fais une piqûre de rappel. ESP permet :

    • le chiffrement des données (confidentialité)
    • l’authentification (non répudiation)
    • l’intégrité des données
    • l’anti-rejeu 
  3. AH
  4. Une seconde piqûre de rappe :
    • L’authentification
    • L’intégrité des données
    • Anti - rejeu

On serait tenté de dire que AH ne sert à rien en vu des possibilités de ESP. Il s’avère qu’à la différence de ce dernier, AH permet d’authentifier tout le paquet IP (y compris l’entête) ce qui n’est pas sans pauser de problème. En effet, il n’est pas rare que cette entête soit modifier notamment lors NAT. Un entête modifier aura la conséquence de ne plus passer l’authentification. 
Comme je l’avais énoncé dans l’introduction, l’authentification repose sur HMAC qui lui même repose sur la signature digitale qui est également utilisé dans les certificat SSL. 
Voici un très bon article parlant de HMAC http://fr.wikipedia.org/wiki/Keyed-Hash_Message_Authentication_Code
         

  1. Définition des champs
    • SPI (Security Parameter Index ) : Pointeur sur la base SPD (voir plus bas). Pour résumé, elle permet d’identifier un tunnel par rapport à un autre
    • Prochain entête : Défini le protocol qui sera dans le champs donné (par exemple IP)
    • Numéro de Séquence : Utilisé dans la fonctionnalité d’anti-rejeu. Elle permet de différencié une trame par rapport à l’autre.
    • IV (Vecteur d’initialisation) : Associé au premier “bloc” de donné chiffré, il permet de réaliser les opérations de chiffrement / déchiffrement.
    • Padding (bouurage) : Le bourrage est utilisé par les algorithmes de chiffrement. En effet, ces derniers travaillent sur des “blocs” de données
    • Longueur Padding : Permet de différencier La donnée utile du bourrage
    • Longueur Utile : Taille total
    • HMAC : Donné d’authentification. En sachant que le procédé d’authentification est une signature digitale (identique à la signature d’un certificat X.509). 
  2.  

     

  3. Encapsulation
ESP et AH étant des protocoles réseau et qui ont comme principal intérêt d’acheminer des … informations (sisi je vous assure), ils faut donc comprendre de quel nature sont ces informations. 
Nous sommes donc au niveau 3, nous allons avoir en toute logique un protocole de niveau 4 (TCP ou UDP) … rien de plus logique jusqu’ici …
SAUF que pour certaines raisons, nous allons être obligé d’encapsuler un protocole de niveau 3 … (RAAAhhhhh je vous entend ragé …). Pas de panique …
NOTE : Les exemples qui suit, sont réalisé avec ESP, évidemment, il en va de même avec AH.
  • Mode tunnel
Imaginé deux réseaux LAN (deux entreprises) distantes qui communiquent entre elles via Internet à l’aide de IPSEC. 
Imaginé (encore une fois) que la station A veut communiqué avec la station B. 
Voici une pseudo équivalence ci-dessous qui nous simplifierais la vie. deux réseau séparé par un routeur. Ici le routeur fait va simplement routé les deux réseaux. Cela reste le moyen le plus simple et le plus transparent pour les utilisateurs ( et aussi l’administrateur :) ). 
En toute logique La station B verra l’adresse IP de la sation A et vice versa
Si on revient sur notre schéma, on induit donc que ESP et AH devront donc transporter des paquets IP complets (entête + donnée). 
Cela s’appel du tunneling de protocole. ESP et AH auront pour tâche de faire une sorte de routeur virtuelle. Qui dit routeur, dit deux réseaux différents (en effet, un routeur ne peut pas avoir deux interfaces routés dans le même réseau ( et si vous l’avez vu en pratique c’était un switch de niveau 3). 
ça devrait être plus claire. On entrevoit bien ce que cela implique … Pour que le destinataire (hôte A) identifie l’émetteur, il faut que l’entête IP soit préservé.
La partie chiffré contient donc l’entête ainsi que le data (payload) IP.
  • Mode transport
  • Vous vous imaginez bien que le VPN IPsec n’est pas uniquement pour de la communication inter site. 

    Imaginé un second contexte. Le télétravailleur qui doit bosser de chez lui, il a donc besoin de se connecter à son entreprise pour accéder à des ressources (mail, fichier etc …).  Ici pas question faire du mode tunnel. Ce dernier nécessiterais que le télétravailleur dispose d’un équipement qui gère IP … ce qui n’est pas notre cas. 

    On va donc devoir installer un programme sur le pc de l’utilisateur qui aura pour rôle de monter la connexion IPsec.

    On est donc dans cette situation

    La connexion Internet est maintenant par notre box mais la connexion IPsec sera effectuée par le poste de l’utilisateur. Dans ce cas précis, il n’est pas nécessaire de transporter l’entête IP … POURQUOI ? Etant donnée que le contexte IPsec vous sera attribué par votre box … par du NAT … 

    Mais mais … étant donné que ESP et AH sont des protocoles de niveau, comment est-il possible de faire du NAT ? 

    et vous n’aurez pas tord … 

    Ceci n’est vrai que pour les réseaux domestiques disposant d’un équipement de type modem routeur (une box)

    Puisque le NAT n > 1 (port overload) repose sur les ports TCP/UDP qui sont des protocoles de niveau … 4, ce traffic est donc chiffré. Il ne peut donc pas être naté …

    C’est là qu’intervient le NAT traversal. Etant donné que seul le NAT peut nous sortir de l’impasse, il a bien fallut en mettre quelque part. 

    Le NAT traversal, c’est l’ajout d’une entête UDP après l’entête IP non chiffré.

    Pourquoi UDP et pas TCP ? Tout simplement car UDP à un entête beaucoup plus petit et que nous n’avons besoin que des ports sources et destinations. 

    Il existe également la même technique avec un entête TCP.

    Port destination UDP : 2500

    Port destination TCP : 10000

    Ceci n’a pas lieu d’être dans les réseaux domestiques ne disposant pas d’un routeur (donc pas de NAT). 

    • Pages

      • Réseau
        • Introduction à IPsec
          • Protocole
          • Négociation
          • Application
        • Introduction à SSL/TLS et HTTPS
          • Fonctionnalité de HTTPS
          • Mécanisme de SSL
          • Chiffrement
          • Certificat
          • Condensé (hache)
          • Application
        • Introduction au WI-FI
          • Mode de fonctionnement
          • Mode Infrastructure
          • Couche Liaison de données
          • Recettage de wifi pré N selon Apple
    • Blogoliste

      • http://thomasgallinari.e3b.org
    Copyright © 2010 easy-rezo All Rights Reserved
    RSS XHTML CSS Connexion
    Wp Theme by n Graphic Design
    Powered by Wordpress