loader

Ceci est une page d’exemple. C’est différent d’un article de blog parce qu’elle restera au même endroit et apparaîtra Les VPN ont aujourd’hui pris une place importante dans les réseaux informatique et l’informatique distribuées. Nous verrons ici quelles sont les principales caractéristiques des VPN. Nous nous intéresserons ensuite au protocole IPSEC permettant leur mise en place.

Principe général d’un VPN

Un réseau VPN repose sur un protocole appelé « protocole de tunneling ». Ce protocole permet de faire circuler les informations de l’entreprise de façon cryptée d’un bout à l’autre du tunnel. Ainsi, les utilisateurs ont l’impression de se connecter directement sur le réseau de leur entreprise.
Le principe de tunneling consiste à construire un chemin virtuel après avoir identifié l’émetteur et le destinataire. Par la suite, la source chiffre les données et les achemine en empruntant ce chemin virtuel. Afin d’assurer un accès aisé et peu coûteux aux intranets ou aux extranets d’entreprise, les réseaux privés virtuels d’accès simulent un réseau privé, alors qu’ils utilisent en réalité une infrastructure d’accès partagée, comme Internet.
Les données à transmettre peuvent être prises en charge par un protocole différent d’IP. Dans Ce cas, le protocole de tunneling encapsule les données en ajoutant un en-tête. Le tunneling est l’ensemble des processus d’encapsulation, de transmission et de désencapsulation.

Fonctionnalités des VPN

Les VPN d’accès

Le VPN d’accès est utilisé pour permettre à des utilisateurs itinérants d’accéder au réseau privé. L’utilisateur se sert d’une connexion Internet pour établir la connexion VPN. Il existe deux cas :

  • L’utilisateur demande au fournisseur d’accès de lui établir une connexion cryptée vers le serveur distant : il communique avec le NAS (Network Access Server) du fournisseur d’accès et c’est le NAS qui établit la connexion cryptée.
  • L’utilisateur possède son propre logiciel client pour le VPN auquel cas il établit directement la communication de manière cryptée vers le réseau de l’entreprise.

Les deux méthodes possèdent chacune leurs avantages et leurs inconvénients :

  • La première permet à l’utilisateur de communiquer sur plusieurs réseaux en créant plusieurs tunnels, mais nécessite un fournisseur d’accès proposant un NAS compatible avec la solution VPN choisie par l’entreprise. De plus, la demande de connexion par le NAS n’est pas cryptée, ce qui peut poser des problèmes de sécurité.
  • Sur la deuxième méthode, ce problème disparaît puisque l’intégralité des informations sera cryptée dès l’établissement de la connexion. Par contre, cette solution nécessite que chaque client transporte avec lui le logiciel, lui permettant d’établir une communication cryptée.
  • Quelle que soit la méthode de connexion choisie, Ce type d’utilisation montre bien l’importance dans le VPN d’avoir une authentification forte des utilisateurs. Cette authentification peut se faire par une vérification « login / mot de passe ».

L’Intranet VPN

L’intranet VPN est utilisé pour relier au moins deux intranets entre eux. Ce type de réseau est particulièrement utile au sein d’une entreprise possédant plusieurs sites distants. Le plus important dans ce type de réseau est de garantir la sécurité et l’intégrité des données. Certaines données très sensibles peuvent être amenées à transiter sur le VPN (base de données clients, informations financières…). Des techniques de cryptographie sont mises en œuvre pour vérifier que les données n’ont pas été altérées. Il s’agit d’une authentification au niveau paquet pour assurer la validité des données, de l’identification de leur source ainsi que leur non-répudiation. La plupart des algorithmes utilisés font appel à des signatures numériques qui sont ajoutées aux paquets. La confidentialité des données est, elle aussi, basée sur des algorithmes de cryptographie. La technologie en la matière est suffisamment avancée pour permettre une sécurité quasi parfaite. Le coût matériel des équipements de cryptage et décryptage ainsi que les limites légales interdisent l’utilisation d’un codage « infaillible ». Généralement pour la confidentialité, le codage en lui-même pourra être moyen à faible, mais sera combiné avec d’autres techniques comme l’encapsulation IP dans IP pour assurer une sécurité raisonnable.

L’Extranet VPN

Une entreprise peut utiliser le VPN pour communiquer avec ses clients et ses partenaires. Elle ouvre alors son réseau local à ces derniers. Dans ce cadre, il est fondamental que l’administrateur du VPN puisse tracer les clients sur le réseau et gérer les droits de chacun sur celui-ci. Un système de VPN doit pouvoir mettre en œuvre les fonctionnalités suivantes :

  • Authentification d’utilisateur. Seuls les utilisateurs autorisés doivent pouvoir s’identifier sur le réseau virtuel.
  • Gestion d’adresses. Chaque client sur le réseau doit avoir une adresse privée. Cette adresse privée doit rester confidentielle. Un nouveau client doit pourvoir se connecter facilement au réseau et recevoir une adresse.
  • Cryptage des données. Lors de leurs transports sur le réseau public les données doivent être protégées par un cryptage efficace.
  • Gestion de clefs. Les clefs de cryptage pour le client et le serveur doivent pouvoir être générées et régénérées.

Protocoles utilisés pour réaliser une connexion VPN

Le protocole IPSEC

IPSEC, définit par la RFC 2401, est un protocole qui vise à sécuriser l’échange de données au niveau de la couche réseau. Le réseau IPV4 étant largement déployé et la migration vers IPV6 étant inévitable, mais néanmoins longue, il est apparu intéressant de développer des techniques de protection des données communes à IPV4 et IPV6. Ces mécanismes sont couramment désignés par le terme IPSEC pour IP Security Protocols. IPSEC est basé sur deux mécanismes. Le premier, AH, pour Authentication Header vise à assurer l’intégrité et l’authenticité des datagrammes IP. Il ne fournit par contre aucune confidentialité : les données fournies et transmises par ce protocole ne sont pas encodées. Le second, ESP, pour Encapsulating Security Payload peut aussi permettre l’authentification des données mais est principalement utilisé pour le cryptage des informations. Bien qu’indépendants ces deux mécanismes sont presque toujours utilisés conjointement. Enfin, le protocole IKE permet de gérer les échanges ou les associations entre protocoles de sécurité. Avant de décrire ces différents protocoles, nous allons exposer les différents éléments utilisés dans IPSEC.

Les mécanismes mentionnés ci-dessus font bien sûr appel à la cryptographie et utilisent donc un certain nombre de paramètres (algorithmes de chiffrement utilisés, clefs, mécanismes sélectionnés…) sur lesquels les tiers communicants doivent se mettre d’accord. Afin de gérer ces paramètres, IPSEC a recours à la notion d’association de sécurité (Security Association, SA).
Une association de sécurité IPSEC est une « connexion » simplexe qui fournit des services de sécurité au trafic qu’elle transporte. On peut aussi la considérer comme une structure de données servant à stocker l’ensemble des paramètres associés à une communication donnée.
Une SA est unidirectionnelle ; en conséquence, protéger les deux sens d’une communication classique requiert deux associations, une dans chaque sens. Les services de sécurité sont fournis par l’utilisation soit de AH soit de ESP.
Chaque association est identifiée de manière unique à l’aide d’un triplet composé de :

  • L’adresse de destination des paquets,
  • L’identifiant du protocole de sécurité utilisé (AH ou ESP),
  • Un index des paramètres de sécurité (Security Parameter Index, SPI). Un SPI est un bloc de 32 bits inscrit en clair dans l’en-tête de chaque paquet échangé ; il est choisi par le récepteur.

Pour gérer les associations de sécurité actives, on utilise une « base de données des associations de sécurité » (Security Association Database, SAD). Elle contient tous les paramètres relatifs à chaque SA et sera consultée pour savoir comment traiter chaque paquet reçu ou à émettre.

Les protections offertes par IPSEC sont basées sur des choix définis dans une « base de données de politique de sécurité » (Security Policy Database, SPD). Cette base de données est établie et maintenue par un utilisateur, un administrateur système ou une application mise en place par ceux-ci. Elle permet de décider, pour chaque paquet, s’il se verra apporter des services de sécurité, s’il sera autorisé à passer ou rejeté.

Principe de fonctionnement du protocole IPSEC

On distingue deux situations :

  • Trafic sortant

Lorsque la couche IPSEC reçoit des données à envoyer, elle commence par consulter la base de données des politiques de sécurité (SPD) pour savoir comment traiter ces données. Si cette base lui indique que le trafic doit se voir appliquer des mécanismes de sécurité, elle récupère les caractéristiques requises pour la SA correspondante et va consulter la base des SA (SAD). Si la SA nécessaire existe déjà, elle est utilisée pour traiter le trafic en question. Dans le cas contraire, IPSEC fait appel à IKE pour établir une nouvelle SA avec les caractéristiques requises.

  • Trafic entrant

Lorsque la couche IPSEC reçoit un paquet en provenance du réseau, elle examine l’en-tête pour savoir si ce paquet s’est vu appliquer un ou plusieurs services IPSEC et si oui, quelles sont les références de la SA. Elle consulte alors la SAD pour connaître les paramètres à utiliser pour la vérification et/ou le déchiffrement du paquet. Une fois le paquet vérifié et/ou déchiffré, la Spd est consultée pour savoir si l’association de sécurité appliquée au paquet correspondait bien à celle requise par les politiques de sécurité.


Dans le cas où le paquet reçu est un paquet IP classique, la SPD permet de savoir s’il a néanmoins le droit de passer. Par exemple, les paquets IKE sont une exception. Ils sont traités par IKE, qui peut envoyer des alertes administratives en cas de tentative de connexion infructueuse.