Réseaux privés virtuels : présentation

Sur cette page

Réseaux privés virtuels : présentation Réseaux privés virtuels : présentation
Résumé Résumé
Introduction Introduction
Utilisation classique des réseaux privés virtuels Utilisation classique des réseaux privés virtuels
Accès d'utilisateur distant sur Internet Accès d'utilisateur distant sur Internet
Connexion de réseaux sur Internet Connexion de réseaux sur Internet
Connexion d'ordinateurs sur un intranet Connexion d'ordinateurs sur un intranet
Caractéristiques de base des réseaux privés virtuels Caractéristiques de base des réseaux privés virtuels
Notions fondamentales concernant le tunneling Notions fondamentales concernant le tunneling
Protocoles de tunneling Protocoles de tunneling
Fonctionnement du tunneling Fonctionnement du tunneling
Les protocoles de tunneling et leurs fonctionnalités de base Les protocoles de tunneling et leurs fonctionnalités de base
Protocole PPP (Point-to-Point Protocol) Protocole PPP (Point-to-Point Protocol)
Phase 1 : Etablissement d'une liaison PPP Phase 1 : Etablissement d'une liaison PPP
Phase 2 : Authentification d'utilisateur Phase 2 : Authentification d'utilisateur
Phase 3 : Contrôle de rappel PPP Phase 3 : Contrôle de rappel PPP
Phase 4 : Appel des protocoles de couche de réseau Phase 4 : Appel des protocoles de couche de réseau
Phase de transfert de données Phase de transfert de données
Protocole PPTP Protocole PPTP
Protocole L2F Protocole L2F
Protocole L2TP Protocole L2TP
Comparaison des protocoles PPTP et L2TP Comparaison des protocoles PPTP et L2TP
Mode tunnel IPSec Mode tunnel IPSec
Types de tunnel Types de tunnel
Tunneling facultatif Tunneling facultatif
Tunneling obligatoire Tunneling obligatoire
Fonctions de sécurité avancée Fonctions de sécurité avancée
Cryptage symétrique ou cryptage asymétrique (clé privée ou clé publique) Cryptage symétrique ou cryptage asymétrique (clé privée ou clé publique)
Certificats Certificats
Protocole EAP (Extensible Authentication Protocol) Protocole EAP (Extensible Authentication Protocol)
Sécurité au niveau des transactions (EAP-TLS) Sécurité au niveau des transactions (EAP-TLS)
Sécurité IP (IPSec) Sécurité IP (IPSec)
Association de sécurité négociée Association de sécurité négociée
En-tête d'authentification En-tête d'authentification
En-tête de sécurité d'encapsulation En-tête de sécurité d'encapsulation
Administration des utilisateurs Administration des utilisateurs
Prise en charge dans RAS Prise en charge dans RAS
Evolutivité Evolutivité
RADIUS RADIUS
Comptabilisation, audit et alarmes Comptabilisation, audit et alarmes
Conclusion Conclusion

Réseaux privés virtuels : présentation

Système d'exploitation

Résumé

Ce livre blanc fournit une présentation des réseaux privés virtuels (VPN, Virtual Private Networks), décrit les critères de base qu'ils doivent remplir et présente certaines technologies clés permettant une mise en place de réseaux privés sur des réseaux publics.

Introduction

Un réseau privé virtuel (VPN, Virtual Private Network) connecte les composants d'un réseau sur un autre réseau. Les VPN obtiennent ce résultat en permettant à l'utilisateur de se connecter par tunnel à travers Internet ou un autre réseau public avec la sécurité et les fonctionnalités disponibles jusqu'à présent uniquement sur les réseaux privés (voir la Figure 1).

Réseau privé virtuel

Figure 1 : Réseau privé virtuel

Les réseaux privés virtuels permettent aux utilisateurs travaillant à domicile ou en déplacement de se connecter de façon sécurisée à un serveur d'entreprise distant à l'aide de l'infrastructure de routage fournie par un réseau public (tel qu'Internet). Du point de vue de l'utilisateur, le réseau privé virtuel est une connexion point à point entre l'ordinateur de l'utilisateur et un serveur d'entreprise. La nature du réseau intermédiaire est transparente pour l'utilisateur puisque les données semblent transiter directement sur une liaison privée dédiée.

La technologie VPN permet également à une entreprise de se connecter à ses succursales ou à d'autres sociétés sur un réseau public (tel qu'Internet), tout en maintenant des communications entièrement sécurisées. La connexion VPN sur Internet fonctionne logiquement comme une liaison de réseau étendu entre les sites.

Dans ces deux cas, la connexion sécurisée sur le réseau est perçue par l'utilisateur comme une communication de réseau privé, malgré le fait que cette communication s'effectue sur un réseau public, d'où le nom de réseau privé virtuel.

La technologie VPN est conçue pour résoudre les problèmes posés par le développement du télétravail et des activités mondiales fortement distribuées, une tendance créant un environnement dans lequel les employés doivent pouvoir se connecter à des ressources centrales et communiquer entre eux.

Pour offrir aux employés la possibilité de se connecter aux ressources informatiques de l'entreprise, quelle que soit leur situation géographique, une société doit déployer une solution d'accès à distance évolutive. En règle générale, les entreprises optent soit pour une solution interne, dans laquelle leur service informatique a la responsabilité d'acheter, d'installer et de gérer des pools de modems d'entreprise ainsi qu'une infrastructure de réseau privé, soit pour une solution de réseau à valeur ajoutée (VAN, Value-Added Network), dans laquelle elles confient à une société externe l'achat, l'installation et la maintenance de pools de modems et d'une infrastructure de télécommunication.

Aucune de ces solutions n'offre l'évolutivité nécessaire en termes de coût, de souplesse d'administration et de disponibilité de connexions. Par conséquent, il semble judicieux de remplacer les pools de modems et l'infrastructure de réseau privé par une solution moins coûteuse basée sur la technologie Internet afin que l'entreprise puisse se concentrer sur ses principales compétences. Avec une solution Internet, un nombre relativement réduit de connexions Internet (par l'intermédiaire de fournisseurs de services indépendants) et de serveurs VPN peut répondre aux besoins de mise en réseau distant de centaines voire de milliers de clients et de succursales, comme l'illustrent les paragraphes qui suivent.

Utilisation classique des réseaux privés virtuels

Les sous-sections suivantes décrivent de façon détaillée les applications de réseaux privés virtuels les plus fréquemment rencontrées.

Accès d'utilisateur distant sur Internet

Les réseaux privés virtuels permettent un accès distant aux ressources des entreprises via Internet, tout en préservant la confidentialité des informations. La figure 2 illustre un réseau privé virtuel servant à connecter un utilisateur distant à un intranet d'entreprise.

Utilisation d'un VPN pour connecter un client distant à un réseau local privé

Figure 2 : Utilisation d'un VPN pour connecter un client distant à un réseau local privé

Plutôt que de passer un appel longue distance à une entreprise ou à un serveur d'accès réseau (NAS, Network Access Server) externe, l'utilisateur appelle un fournisseur de services Internet (ISP) local. En utilisant la connexion à ce fournisseur, le logiciel VPN crée un réseau privé virtuel entre l'utilisateur connecté à distance et le serveur VPN d'entreprise sur Internet.

Connexion de réseaux sur Internet

Deux méthodes permettent d'utiliser des VPN pour connecter des réseaux locaux à des sites distants :

  • Utilisation de lignes spécialisées pour connecter une succursale à un réseau local d'entreprise. Plutôt que d'utiliser des circuits spécialisés longue distance très coûteux entre la succursale et le concentrateur de l'entreprise, les routeurs de la succursale et du concentrateur de l'entreprise peuvent employer un circuit spécialisé local et un fournisseur de services Internet local pour se connecter à Internet. Le logiciel VPN utilise les connexions ISP locales et l'Internet public pour créer un réseau privé virtuel entre le routeur de la succursale et le routeur du concentrateur de l'entreprise.

  • Utilisation d'une ligne d'accès à distance pour connecter une succursale à un réseau local d'entreprise. Plutôt que d'employer un routeur dans la succursale pour établir un appel longue distance à une entreprise ou à un NAS externe, le routeur dans la succursale peut appeler le fournisseur de services Internet local. Le logiciel VPN emploie la connexion à ce fournisseur local pour créer un réseau privé virtuel entre le routeur de la succursale et le routeur du concentrateur de l'entreprise à travers Internet.

Utilisation d'un VPN pour connecter deux sites distants

Figure 3 : Utilisation d'un VPN pour connecter deux sites distants

Notez que dans les deux cas, les services qui connectent la succursale et le siège social de l'entreprise à Internet sont locaux. Le routeur du concentrateur de l'entreprise qui fait office de serveur VPN doit être connecté à un fournisseur de services Internet local au moyen d'une ligne spécialisée. Ce serveur VPN doit être en position d'écoute 24 heures sur 24 pour recevoir du trafic VPN entrant.

Connexion d'ordinateurs sur un intranet

Dans certains réseaux d'entreprise, des données départementales sont tellement sensibles que le réseau local du département est physiquement déconnecté du reste du réseau de l'entreprise. Bien que cette configuration protège la confidentialité des informations de ce département, elle crée des problèmes d'accessibilité aux informations pour les utilisateurs qui ne sont pas physiquement connectés à ce réseau local séparé.

Utilisation d'un réseau privé virtuel pour connecter deux ordinateurs sur le même réseau local

Figure 4 : Utilisation d'un réseau privé virtuel pour connecter deux ordinateurs sur le même réseau local

Les réseaux privés virtuels permettent au réseau local du département d'être physiquement connectés au réseau de l'entreprise mais séparés par un serveur VPN. Notez que le serveur VPN n'agit PAS comme un routeur entre le réseau de l'entreprise et le réseau local du département. Un routeur interconnecterait les deux réseaux, permettant ainsi à quiconque d'accéder au réseau local sensible. En utilisant un réseau privé virtuel, l'administrateur de réseau peut s'assurer que seuls les utilisateurs ayant les références appropriées (en fonction d'une stratégie sélective de la société) sur le réseau de l'entreprise peuvent établir un réseau privé virtuel avec le serveur VPN et ainsi avoir accès aux ressources protégées du département. En outre, toutes les communications effectuées par l'intermédiaire du réseau privé virtuel peuvent être cryptées pour garantir la confidentialité des données. Les utilisateurs qui n'ont pas les références adéquates ne peuvent pas voir le réseau local du département.

Caractéristiques de base des réseaux privés virtuels

En général, lors du déploiement d'une solution de réseau distant, une entreprise doit faciliter l'accès contrôlé à ses ressources et informations. La solution doit permettre aux clients itinérants ou distants de se connecter aux ressources de réseau local de l'entreprise, et aux bureaux distants de se connecter entre eux pour partager des ressources et des informations (connexion de réseau local à réseau local). En outre, cette solution doit garantir la confidentialité et l'intégrité des données lorsque celles-ci transitent sur Internet. Les mêmes contraintes s'appliquent dans le cas de données sensibles empruntant un réseau d'entreprise.

Par conséquent, une solution VPN doit, au minimum, mettre en œuvre l'ensemble des fonctionnalités suivantes :

  • Authentification d'utilisateur. La solution doit vérifier l'identité de l'utilisateur et permettre l'accès VPN uniquement aux personnes autorisées. En outre, elle doit fournir des informations d'audit et de comptabilisation permettant de savoir quelles personnes ont accédé à quelles données et à quel moment.

  • Gestion d'adresses. La solution doit affecter une adresse de client sur le réseau privé, et doit garantir en permanence la confidentialité des adresses privées.

  • Cryptage des données. Les données transportées sur le réseau public doivent être illisibles pour les clients non autorisés sur le réseau.

  • Gestion de clés. La solution doit générer et régénérer des clés de cryptage pour le client et le serveur.

  • Prise en charge multiprotocole. La solution doit être en mesure de gérer les protocoles les plus fréquemment employés sur les réseaux publics. Cela inclut notamment le protocole Internet (IP, Internet Protocol), le protocole IPX (Internet Packet Exchange), etc.

Une solution VPN Internet basée sur le protocole PPTP (Point-to-Point Tunneling Protocol) ou L2TP (Layer 2 Tunneling Protocol) satisfait toutes ces exigences de base et bénéficie de la disponibilité mondiale d'Internet. D'autres solutions, notamment le nouveau protocole de sécurité Internet IPSec (IP Security Protocol), répondent à certaines de ces exigences, mais restent très utiles dans des situations spécifiques.

Le reste de ce document décrit de façon détaillée les concepts, protocoles et composants des réseaux privés virtuels.

Notions fondamentales concernant le tunneling

Le tunneling est une méthode d'utilisation d'une infrastructure de réseau permettant de transférer des données d'un réseau via un autre. Les données à transférer (ou charge utile) peuvent être les trames (ou paquets) d'un autre protocole. Au lieu d'envoyer une trame lors de sa production par le nœud initial, le protocole de tunneling encapsule la trame dans un en-tête supplémentaire. Ce dernier fournit les informations d'acheminement afin que la charge utile encapsulée puisse traverser le réseau intermédiaire. Les paquets encapsulés sont ensuite acheminés entre des extrémités de tunnel sur le réseau. Le chemin logique que les paquets encapsulés empruntent par l'intermédiaire du réseau est qualifié de tunnel. Une fois que les trames encapsulées atteignent leur destination sur le réseau, la trame est désencapsulée et transférée à sa destination finale. Notez que le tunneling englobe l'intégralité de ce processus (encapsulage, transmission et désencapsulage de paquets).

Tunneling

Figure 5 : Tunneling

Notez que le réseau de transit peut être n'importe quel réseau (Internet est un réseau public et constitue l'exemple le plus largement utilisé dans le monde). Il existe de nombreux exemples de tunnels mis en œuvre sur des réseaux d'entreprise. Bien qu'Internet soit le réseau le plus répandu et le plus économique, toutes les références à Internet dans ce document peuvent être remplacées par tout autre réseau public ou privé faisant office de réseau de transit.

Les technologies de tunneling sont appliquées depuis un certain temps. Voici certains exemples déjà arrivés à maturité :

  • Tunneling SNA sur des réseaux IP. Lorsque du trafic SNA (System Network Architecture) est envoyé sur un réseau IP d'entreprise, la trame SNA est encapsulée dans un en-tête UDP et IP.

  • Tunneling IPX pour Novell NetWare sur des réseaux IP. Lorsqu'un paquet IPX est envoyé à un serveur NetWare ou un routeur IPX, le serveur ou le routeur conditionne le paquet IPX dans un en-tête UDP et IP, puis l'envoie sur un réseau IP. Le routeur de destination IP à IPX retire l'en-tête UDP et IP, et transfère le paquet vers la destination IPX.

En outre, de nouvelles technologies de tunneling ont été introduites ces dernières années. Ces nouvelles technologies (constituant le sujet principal de ce document) incluent notamment :

  • Protocole PPTP (Point-to-Point Tunneling Protocol). Le protocole PPTP permet à du trafic IP, IPX ou NetBEUI d'être crypté puis encapsulé dans un en-tête IP afin d'être envoyé sur un réseau IP d'entreprise ou un réseau IP public tel qu'Internet.

  • Protocole L2TP (Layer 2 Tunneling Protocol). Le protocole L2TP permet à du trafic IP, IPX ou NetBEUI d'être crypté puis envoyé sur n'importe quel support prenant en charge la remise de datagrammes point à point, tel que IP, X.25, relais de trame ou ATM.

  • Mode tunneling IPSec (IP Security). Le mode tunneling IPSec permet à des charges utiles IP d'être cryptées puis encapsulées dans un en-tête IP afin d'être envoyées sur un réseau IP d'entreprise ou un réseau IP public tel qu'Internet.

Protocoles de tunneling

Pour qu'un tunnel puisse être établi, le client de tunnel et le serveur de tunnel doivent utiliser le même protocole de tunneling.

La technologie de tunneling peut être basée sur un protocole de tunneling de couche 2 ou de couche 3. Ces couches correspondent au modèle de référence OSI (Open Systems Interconnexion). Les protocoles de couche 2 correspondent à la couche de liaison de données, et emploient des trames comme unité d'échange. PPTP, L2TP et L2F (Layer 2 Forwarding) sont des protocoles de tunneling de couche 2. Tous deux encapsulent la charge utile dans une trame PPP (Point-to-Point Protocol) à envoyer sur un réseau. Les protocoles de couche 3 correspondent à la couche réseau et emploient des paquets. IP sur IP et le mode tunnel IPSec constituent des exemples de protocole de tunneling de couche 3. Ces protocoles encapsulent les paquets IP dans un en-tête IP supplémentaire avant de les envoyer sur un réseau IP.

Fonctionnement du tunneling

Pour les technologies de tunneling de couche 2 telles que PPTP et L2TP, un tunnel est similaire à une session ; les deux extrémités du tunnel doivent convenir d'un tunnel et négocier des variables de configuration, telles qu'une affectation d'adresses ou des paramètres de cryptage ou de compression. Dans la plupart des cas, les données transférées via le tunnel sont envoyées à l'aide d'un protocole basé sur des datagrammes. Un protocole de gestion de tunnel est employé comme mécanisme de gestion du tunnel.

Les technologies de tunneling de couche 3 partent généralement du principe que tous les problèmes de configuration sont gérés hors bande, souvent par des processus manuels. Ces protocoles peuvent être caractérisés par une absence de phase de gestion de tunnel. Pour les protocoles de couche 2 (PPTP et L2TP), un tunnel doit toutefois être créé, maintenu puis arrêté. Une fois que le tunnel est établi, les données transmises par celui-ci peuvent être envoyées. Le client de tunnel ou le serveur de tunnel utilise un protocole de transfert de données par tunnel pour préparer les données en vue de leur transfert. Par exemple, lorsque le client de tunnel envoie une charge utile au serveur de tunnel, il ajoute d'abord un en-tête de protocole de transfert de données par tunnel à la charge utile. Le client envoie ensuite la charge utile encapsulée résultante sur le réseau, qui l'achemine jusqu'au serveur de tunnel. Ce dernier accepte les paquets, retire l'en-tête de protocole de transfert de données par tunnel, puis transfère la charge utile au réseau cible. Les informations envoyées entre le serveur de tunnel et le client de tunnel se comportent de façon similaire.

Les protocoles de tunneling et leurs fonctionnalités de base

Basés sur le protocole PPP bien défini, les protocoles de couche 2 (tels que PPTP et L2TP) héritent d'une série de fonctionnalités très utiles. Celles-ci et leurs contreparties de couche 3 mettent en œuvre les fonctionnalités VPN de base telles qu'indiquées ci-dessous.

  • Authentification d'utilisateur. Les protocoles de tunneling de couche 2 héritent des modèles d'authentification d'utilisateur de PPP, notamment des méthodes EAP décrites ci-dessous. De nombreux modèles de tunneling de couche 3 partent du principe que les extrémités étaient bien connues (et authentifiées) avant l'établissement du tunnel. La négociation IPSec ISAKMP constitue une exception à cette règle, et fournit une authentification mutuelle des extrémités du tunnel. Notez que la plupart des mises en œuvre IPSec prennent en charge uniquement des certificats basés sur des ordinateurs, plutôt que des certificats basés sur des utilisateurs. Ainsi, n'importe quel utilisateur ayant accès à l'un des ordinateurs d'extrémité peut employer le tunnel. Cette faiblesse de sécurité potentielle peut être éliminée lorsque IPSec est associé à un protocole de couche 2 tel que L2TP.

  • Prise en charge des cartes à "jeton" (Token). A l'aide du protocole EAP (Extensible Authentication Protocol), les protocoles de tunneling de couche 2 peuvent prendre en charge une large variété de méthodes d'authentification, notamment des mots de passe utilisables une seule fois, des calculateurs cryptographiques et des cartes à puce. Les protocoles de tunneling de couche 3 peuvent employer des méthodes similaires ; par exemple, IPSec définit une authentification de certificat de clé publique dans sa négociation ISAKMP/Oakley.

  • Affectation d'adresse dynamique. Le tunneling de couche 2 prend en charge une affectation dynamique d'adresses client basée sur le mécanisme de négociation du protocole NTP (Network Control Protocol). En général, les modèles de tunneling de couche 3 partent du principe qu'une adresse a déjà été affectée avant l'initialisation du tunnel. Des modèles d'affectation d'adresses en mode tunnel IPSec sont actuellement en cours de développement et ne sont pas encore disponibles.

  • Compression de données. Les protocoles de tunneling de couche 2 prennent en charge des types de compression PPP. Par exemple, les mises en œuvre Microsoft de PPTP et L2TP emploient la compression MPPC (Microsoft Point-to-Point Compression). L'IETF étudie des mécanismes similaires (tels qu'une compression IP) pour les protocoles de tunneling de couche 3.

  • Cryptage des données. Les protocoles de tunneling de couche 2 prennent en charge des mécanismes de cryptage de données PPP. La mise en œuvre Microsoft de PPTP prend en charge l'utilisation facultative du cryptage MPPE (Microsoft Point-to-Point Encryption), basé sur l'algorithme RSA/RC4. Les protocoles de tunneling de couche 3 peuvent employer des méthodes similaires ; par exemple, IPSec définit plusieurs méthodes de cryptage de données facultatives qui sont négociées pendant l'échange ISAKMP/Oakley. La mise en œuvre Microsoft du protocole L2TP emploie le cryptage IPSec pour protéger le flux de données du client au serveur de tunnel.

  • Gestion de clés. MPPE, un protocole de couche 2, repose sur la clé initiale générée pendant l'authentification de l'utilisateur, puis la régénère périodiquement. IPSec négocie explicitement une clé commune pendant l'échange ISAKMP, et la régénère également périodiquement.

  • Prise en charge multiprotocole. Le tunneling de couche 2 prend en charge plusieurs protocoles de charge utile, ce qui simplifie pour les clients de tunneling l'accès à leurs réseaux d'entreprise à l'aide d'IP, d'IPX, de NetBEUI, etc. Par opposition, les protocoles de tunneling de couche 3, tels que le mode tunnel IPSec, prennent généralement en charge uniquement les réseaux cibles employant le protocole IP.

Protocole PPP (Point-to-Point Protocol)

Les protocoles de couche 2 dépendant largement des fonctionnalités spécifiées initialement pour PPP, il convient d'étudier ce protocole de plus près. PPP a été conçu pour envoyer des données sur des connexions d'accès à distance ou point à point spécialisées. Il encapsule des paquets IP, IPX et NetBEUI dans des trames PPP, puis transmet les paquets encapsulés PPP sur une liaison point à point. PPP est employé entre un client d'accès à distance et un serveur d'accès réseau (NAS).

Il existe quatre phases de négociation distinctes dans une session d'accès à distance PPP. Chacune de ces phases doit aboutir pour que la connexion PPP soit prête à transférer des données utilisateur. Ces phases sont décrites ci-dessous.

Phase 1 : Etablissement d'une liaison PPP

PPP utilise le protocole LCP (Link Control Protocol) pour établir, maintenir et terminer la connexion physique. Pendant la phase LCP initiale, des options de communication de base sont sélectionnées. Notez toutefois que pendant la phase d'établissement de liaison (phase 1), des protocoles d'authentification sont sélectionnés, mais ils ne sont pas réellement mis en œuvre avant la phase d'authentification de connexion (phase 2). De même, pendant LCP, une décision est prise déterminant si les deux homologues négocieront l'emploi de la compression et/ou du cryptage. Le choix final des algorithmes de compression/cryptage et d'autres détails intervient à la phase 4.

Phase 2 : Authentification d'utilisateur

Pendant la deuxième phase, l'ordinateur client présente les références de l'utilisateur au serveur d'accès à distance. Un modèle d'authentification sécurisé assure une protection contre les attaques par réémission et les emprunts d'identité du client distant. Une attaque par réémission se produit lorsqu'un tiers surveille une connexion ayant abouti et utilise les paquets capturés pour fournir une nouvelle fois la réponse du client distant afin d'obtenir une connexion authentifiée. L'emprunt d'identité de client distant se produit lorsqu'un tiers s'empare d'une connexion authentifiée. L'intrus attend que la connexion ait été identifiée, puis intercepte les paramètres de conversation, déconnecte l'utilisateur authentifié et prend le contrôle de la connexion authentifiée.

La plupart des mises en œuvre de PPP fournissent des méthodes d'authentification limitées, généralement les protocoles PAP (Password Authentication Protocol), CHAP (Challenge Handshake Authentication Protocol) et MS-CHAP (Microsoft Challenge Handshake Authentication Protocol).

  • Protocole PAP. Il fournit un modèle d'authentification simple, en texte clair. Le NAS demande le nom et le mot de passe de l'utilisateur, puis PAP les renvoie en texte clair (non crypté). Evidemment, ce modèle d'authentification n'est pas sécurisé puisqu'un tiers peut capturer le nom et le mot de passe de l'utilisateur et l'employer pour obtenir un accès au NAS et à toutes les ressources fournies par ce dernier. PAP n'assure aucune protection contre les attaques par réémission ou l'emprunt d'identité de client distant une fois que le mot de passe de l'utilisateur est compromis.

  • Protocole CHAP. Il s'agit d'un mécanisme d'authentification crypté qui évite la transmission du mot de passe sur la connexion. Le NAS envoie au client distant une stimulation composée d'un ID de session et d'une chaîne de stimulation arbitraire. Le client doit utiliser l'algorithme de hachage unidirectionnel MD5 pour renvoyer le nom de l'utilisateur et un cryptage de la stimulation, de l'ID de session et de son mot de passe. Le nom de l'utilisateur est envoyé non haché.

Le processus CHAP

Figure 6 : Le processus CHAP

CHAP apporte une amélioration par rapport à PAP en ce sens que le mot de passe en texte clair n'est pas envoyé sur la liaison. Il est utilisé pour créer un hachage crypté provenant de la stimulation d'origine. Le serveur connaît le mot de passe en texte clair du client et peut, par conséquent, reproduire l'opération et comparer le résultat au mot de passe envoyé dans la réponse du client. CHAP assure la protection contre les attaques par réémission en utilisant une chaîne de stimulation arbitraire pour chaque tentative d'authentification. CHAP assure la protection contre l'emprunt d'identité du client distant en envoyant de façon aléatoire des stimulations répétées au client distant pendant toute la durée de la connexion.

  • Protocole MS-CHAP. MS-CHAP est un mécanisme d'authentification crypté très proche de CHAP. A l'instar de CHAP, le serveur d'accès réseau (NAS) envoie au client distant une stimulation composée d'un ID de session et d'une chaîne de stimulation arbitraire. Le client doit renvoyer le nom de l'utilisateur et un hachage MD4 de la chaîne de stimulation, de l'ID de session et du mot de passe haché MD4. Cette approche, qui manipule un hachage du hachage MD4 du mot de passe, offre un niveau supplémentaire de sécurité puisqu'elle permet au serveur d'enregistrer des mots de passe hachés à la place de mots de passe en texte clair. MS-CHAP fournit également des codes d'erreur supplémentaires, notamment un code de mot de passe expiré, et des messages client-serveur cryptés supplémentaires qui permettent aux utilisateurs de changer leurs mots de passe. Dans la mise en œuvre Microsoft de MS-CHAP, le client et le NAS génèrent indépendamment une clé initiale pour le cryptage des données suivantes par MPPE. Ce dernier point est très important, puisqu'il explique pourquoi l'authentification MS-CHAP est requise afin de permettre un cryptage de données basé sur MPP.

Pendant la phase 2 de la configuration de liaison PPP, le NAS recueille les données d'authentification puis valide ces données par rapport à sa propre base de données utilisateur ou auprès d'un serveur de base de données d'authentification centralisé, tel que celui géré par un contrôleur principal de domaine (CPD) de Microsoft Windows NT ou un serveur RADIUS (Remote Authentication Dial-In User Service).

Phase 3 : Contrôle de rappel PPP

La mise en œuvre Microsoft de PPP inclut une phase de contrôle de rappel facultative. Cette phase emploie le protocole CBCP (Callback Control Protocol) immédiatement après la phase d'authentification. S'ils sont configurés pour le rappel, après l'authentification, le client distant et le NAS se déconnectent. Le NAS rappelle ensuite le client distant à un numéro de téléphone spécifié. Cela offre un niveau supplémentaire de sécurité par rapport à l'accès réseau à distance. Le NAS autorisera des connexions à partir de clients distants résidant physiquement uniquement aux numéros de téléphone spécifiés.

Phase 4 : Appel des protocoles de couche de réseau

Une fois que les phases précédentes ont été exécutées, PPP appelle les protocoles NCP (Network Control Protocol) qui ont été sélectionnés pendant la phase d'établissement de liaison (phase 1) pour configurer les protocoles utilisés par le client distant. Par exemple, pendant cette phase, le protocole IPCP (IP Control Protocol) peut affecter une adresse dynamique à l'utilisateur appelant. Dans la mise en œuvre Microsoft de PPP, le protocole de contrôle de compression est employé pour négocier la compression de données (à l'aide de MPPC) et le cryptage de données (à l'aide de MPPE) pour la raison simple que tous deux sont mis en œuvre dans la même routine.

Phase de transfert de données

Une fois que les quatre phases de négociation ont été exécutées, PPP commence à transférer les données vers et depuis les deux homologues. Chaque paquet de données transmis est conditionné dans un en-tête PPP qui est retiré par le système récepteur. Si une compression de données a été sélectionnée dans la phase 1 et négociée dans la phase 4, les données seront compressées avant transmission. Si le cryptage de données a été sélectionné et négocié de façon similaire, les données (éventuellement compressées) seront cryptées avant transmission.

Protocole PPTP

PPTP est un protocole de couche 2 qui encapsule des trames PPP dans des datagrammes IP pour une transmission sur un réseau IP, tel qu'Internet. PPTP peut également être employé lors de la mise en place d'un réseau privé de réseau local à réseau local. PPTP est documenté dans la RFC préliminaire "Point-to-Point Tunneling Protocol" (pptp-draft-ietf - ppext - pptp - 02.txt). Ce document a été soumis à l'IETF en juin 1996 par les sociétés membres du PPTP Forum, incluant notamment Microsoft Corporation, Ascend Communications, 3Com/Primary Access, ECI Telematics et US Robotics (maintenant 3Com).

Remarque : Les documents préliminaires Internet doivent être considérés comme en préparation. Pour obtenir des copies de ces documents, visitez le site www.ietf.org.

Le protocole PPTP utilise une connexion TCP pour la gestion de tunnel et des trames PPP encapsulées de type GRE (Generic Routing Encapsulation) pour les données transmises par tunnel. Les charges utiles des trames PPP encapsulées peuvent être cryptées et/ou compressées. La figure 7 indique comment un paquet PPTP est assemblé avant la transmission. Le schéma montre un client d'accès à distance créant un tunnel sur un réseau. La disposition de trame finale illustre l'encapsulation pour un client d'accès à distance (pilote de périphérique PPP).

Construction d'un paquet PPTP

Figure 7 : Construction d'un paquet PPTP

Protocole L2F

Le protocole L2F, une technologie mise au point par Cisco, permet aux serveurs d'accès à distance de conditionner un trafic d'accès à distance sous forme de trames dans PPP et de le transmettre sur des liaisons de réseau étendu à un serveur L2F (un routeur). Ce serveur désencapsule les paquets et les injecte dans le réseau. Contrairement à PPTP et L2TP, L2F n'a aucun client défini. Notez que L2F fonctionne uniquement dans le cas de tunnels obligatoires. Pour obtenir une description détaillée des tunnels facultatifs et obligatoires, reportez-vous à la section, "Types de tunnel", plus loin dans ce document.

Protocole L2TP

Le protocole L2TP est une combinaison de PPTP et L2F. Ses concepteurs espèrent qu'il reprendra les meilleures fonctionnalités de ces deux protocoles.

L2TP est un protocole réseau qui encapsule des trames PPP envoyées sur des réseaux IP, X.25, à relais de trame ou ATM (Asynchronous Transfer Mode). Lorsqu'il est configuré pour utiliser IP comme transport de datagrammes, L2TP peut être employé comme protocole de tunneling sur Internet. Il peut également être employé directement sur divers supports de réseau étendu (tels que le relais de trame) sans couche de transport IP.

L2TP est documenté dans la RFC préliminaire, Layer 2 Tunneling Protocol "L2TP" (draft-ietf-pppext-l2tp-09.txt). Ce document a été soumis à l'IETF en janvier 1998.

Remarque : Les documents préliminaires Internet doivent être considérés comme en préparation. Pour obtenir des copies de ces documents, visitez le site www.ietf.org.

L2TP sur les réseaux IP emploie UDP et une série de messages L2TP pour la gestion du tunnel. L2TP emploie également UDP pour envoyer des trames PPP encapsulées L2TP comme données transmises par tunnel. Les charges utiles des trames PPP encapsulées peuvent être cryptées et/ou compressées. La figure 8 montre comment un paquet L2TP est assemblé avant la transmission. L'illustration montre un client d'accès à distance créant un tunnel sur un réseau. La disposition finale des trames montre l'encapsulage pour un client d'accès à distance (pilote de périphérique PPP). L'encapsulage suppose l'emploi de L2TP sur IP.

Construction d'un paquet L2TP

Figure 8 : Construction d'un paquet L2TP

Comparaison des protocoles PPTP et L2TP

Les protocoles PPTP et L2TP emploient PPP en vue de fournir une enveloppe initiale pour les données, puis ajoutent des en-têtes supplémentaires pour assurer le transport sur le réseau. Bien que très similaires, ces deux protocoles présentent des différences :

  • Le protocole PPTP ne fonctionne que sur un réseau IP. Le protocole L2TP nécessite seulement que le support de tunnel fournisse une connectivité point à point orientée paquets. L2TP peut être employé sur IP (en utilisant UDP), des circuits virtuels permanents de relais de trame (PVC), des circuits virtuels (VC) X.25 ou des circuits virtuels ATM.

  • Le protocole PPTP ne peut prendre en charge qu'un seul tunnel entre des extrémités. Le protocole L2TP permet d'employer plusieurs tunnels entre des extrémités et, avec celui-ci, vous pouvez créer différents tunnels pour différentes qualités de service.

  • Le protocole L2TP assure la compression des en-têtes. Lorsque cette possibilité est activée, L2TP fonctionne avec 4 octets supplémentaires, PPTP en utilise 6.

  • Le protocole L2TP assure l'authentification du tunnel, ce que ne fait pas PPTP. Cependant, lorsque l'un ou l'autre de ces protocoles est employé sur IPSec, l'authentification du tunnel est assurée par IPSec afin que l'authentification de tunnel de couche 2 ne soit pas nécessaire.

Mode tunnel IPSec

La norme de couche 3 IPSec (Internet Protocol Security) prend en charge le transfert sécurisé d'informations sur un réseau IP. IPSec est décrit plus en détail dans la section "Fonctions de sécurité avancée" ci-dessous. Cependant, l'un des aspects d'IPSec doit être décrit dans le contexte des protocoles de tunneling. Outre sa définition des mécanismes de cryptage pour le trafic IP, IPSec définit le format des paquets pour un mode tunnel IP sur IP, généralement qualifié de mode tunnel IPSec. Un tunnel IPSec est composé d'un client de tunnel et d'un serveur de tunnel, tous deux configurés pour utiliser le tunneling IPSec et un mécanisme de cryptage négocié.

Le mode tunnel IPSec emploie la méthode de sécurité négociée (le cas échéant) pour encapsuler et crypter tous les paquets IP afin de sécuriser le transfert sur un réseau IP privé ou public. La charge utile cryptée est ensuite encapsulée de nouveau avec un en-tête IP en texte ordinaire, puis envoyée sur le réseau pour une remise au serveur de tunnel. A la réception du datagramme, le serveur de tunnel traite et supprime l'en-tête IP en texte ordinaire puis décrypte son contenu pour extraire le paquet IP de charge utile original. Le paquet IP de charge utile est ensuite traité normalement puis acheminé vers sa destination sur le réseau cible.

Le mode tunnel IPSec est caractérisé par les fonctionnalités et les restrictions suivantes :

  • Il prend uniquement en charge le trafic IP.

  • Il fonctionne au bas de la pile IP ; par conséquent, les applications et les protocoles de niveau supérieur héritent de son comportement.

  • Il est contrôlé par une stratégie de sécurité (ensemble de règles de correspondance de filtre). Celle-ci établit les mécanismes de cryptage et de tunneling disponibles par ordre de préférence et les méthodes d'authentification disponibles, également par ordre de préférence. En présence de trafic, les deux ordinateurs effectuent une authentification mutuelle, puis négocient les méthodes de cryptage à employer. Ensuite, tout le trafic est crypté à l'aide du mécanisme de cryptage négocié puis encapsulé dans l'en-tête de tunnel.

Pour plus d'informations sur IPSec, reportez-vous à la section "Fonctions de sécurité avancée", plus loin dans ce document.

Types de tunnel

Les tunnels peuvent être créés de différentes manières :

  • Tunnels facultatifs : Un utilisateur ou un ordinateur client peut émettre une demande VPN pour configurer et créer un tunnel facultatif. Dans ce cas, l'ordinateur de l'utilisateur est une extrémité de tunnel et agit comme le client de tunnel.

  • Tunnels obligatoires : Un serveur d'accès à distance prenant en charge les VPN configure et crée un tunnel obligatoire. Avec ce type de tunnel, l'ordinateur de l'utilisateur n'est pas une extrémité de tunnel. Un autre périphérique, le serveur d'accès à distance, situé entre l'ordinateur de l'utilisateur et le serveur de tunnel, est l'extrémité du tunnel et fait office de client de tunnel.

A ce jour, les tunnels facultatifs sont plus répandus. Les sections suivantes décrivent les deux types de tunnel de façon détaillée.

Tunneling facultatif

Un tunneling facultatif se produit lorsqu'une station de travail ou un serveur de routage emploient un logiciel client de tunneling pour créer une connexion virtuelle au serveur de tunnel cible. Pour cela, le protocole de tunneling approprié doit être installé sur l'ordinateur client. Pour les protocoles décrits dans ce document, les tunnels facultatifs nécessitent une connexion IP (soit par l'intermédiaire d'un réseau local, soit par un accès à distance).

Dans une situation d'accès à distance, le client doit établir une connexion d'accès à distance au réseau avant que le client puisse établir un tunnel. C'est le cas le plus fréquent. Par exemple, un utilisateur d'accès à distance Internet doit composer le numéro d'un fournisseur de services Internet et obtenir une connexion Internet avant qu'un tunnel sur Internet puisse être créé. Pour un PC raccordé à un réseau local, le client a déjà une connexion au réseau qui peut fournir un acheminement de charges utiles encapsulées au serveur de tunnel de réseau local choisi. Cela peut être le cas pour un client sur un réseau local d'entreprise qui initialise un tunnel pour atteindre un sous-réseau privé ou caché sur le même réseau local (tel que le réseau de ressources humaines décrit précédemment).

On pense généralement à tort que les VPN nécessitent une connexion d'accès à distance. Ils nécessitent simplement une mise en réseau IP. Certains clients (tels que des ordinateurs personnels) utilisent des connexions d'accès à distance à Internet pour établir un transport IP. Cela constitue une étape préliminaire dans la préparation de la création d'un tunnel, et ne fait pas partie du protocole de tunnel proprement dit.

Tunneling obligatoire

Un certain nombre de fournisseurs proposant des serveurs d'accès à distance ont introduit la possibilité de créer un tunnel pour le client d'accès à distance. L'ordinateur ou le périphérique réseau fournissant le tunnel pour l'ordinateur client est qualifié de processeur frontal (FEP, Front End Processor) dans PPTP, concentrateur d'accès L2TP (LAC, L2TP Access Concentrator) dans L2TP, ou passerelle de sécurité IP dans IPSec. Dans ce document, le terme FEP est employé pour décrire cette fonctionnalité, quel que soit le protocole de tunneling. Pour fonctionner, le FEP doit être doté du protocole de tunneling approprié et doit pouvoir établir le tunnel lorsque l'ordinateur client se connecte.

Tunneling obligatoire

Figure 9 : Tunneling obligatoire

Dans l'exemple Internet, l'ordinateur client effectue un appel d'accès à distance à un NAS prenant en charge le tunneling, chez le fournisseur de services Internet. Par exemple, une entreprise peut avoir souscrit un contrat avec un fournisseur de services Internet pour déployer un ensemble de FEP à l'échelle d'un pays. Ces FEP peuvent établir des tunnels sur Internet vers un serveur de tunnel connecté au réseau privé de l'entreprise, regroupant ainsi les appels provenant de divers lieux géographiques en une connexion Internet unique au réseau de l'entreprise.

Cette configuration est qualifiée de tunneling "obligatoire" puisque le client se voit imposer l'utilisation du tunnel créé par le FEP. Une fois la connexion initiale établie, tout le trafic réseau vers et depuis le client est automatiquement envoyé par le tunnel. Avec le tunneling obligatoire, l'ordinateur client établit une simple connexion PPP, et lorsqu'un client effectue un accès à distance au NAS, un tunnel est créé et tout le trafic est automatiquement acheminé par celui-ci. Un FEP peut être configuré pour connecter tous les clients d'accès à distance par tunnel à un serveur de tunnel spécifique. Le FEP peut également connecter par tunnel des clients individuels en fonction du nom de l'utilisateur ou de la destination.

Contrairement aux tunnels séparés créés pour chaque client facultatif, un tunnel entre le FEP et le serveur de tunnel peut être partagé par plusieurs clients d'accès à distance. Lorsqu'un deuxième client appelle le serveur d'accès (FEP) afin d'atteindre une destination pour laquelle un tunnel existe déjà, il n'est pas nécessaire de créer une nouvelle instance de tunnel entre le FEP et le serveur de tunnel. Le trafic de données pour le nouveau client est transporté sur le tunnel existant. Plusieurs clients pouvant exister dans un tunnel unique, le tunnel n'est pas terminé tant que le dernier utilisateur du tunnel ne s'est pas déconnecté.

Fonctions de sécurité avancée

Dans la mesure où Internet simplifie la création de VPN depuis n'importe quel emplacement, les réseaux nécessitent des fonctionnalités de sécurité puissantes pour éviter un accès non autorisé à des réseaux privés et pour protéger les données privées lorsque celles-ci transitent sur le réseau public. L'authentification d'utilisateur et le cryptage des données ont déjà été décrits. Cette section présente un bref aperçu des possibilités d'authentification et de cryptage renforcées fournies par EAP et IPSec. Nous commencerons par une présentation générale du cryptage par clé publique et des certificats basés sur des clés publiques puisque ces dispositifs joueront un rôle prépondérant dans les nouvelles fonctionnalités de sécurité EAP et IPSec actuellement en cours de développement par Microsoft et d'autres éditeurs de logiciels.

Cryptage symétrique ou cryptage asymétrique (clé privée ou clé publique)

Le cryptage symétrique, ou par clé privée (également qualifié de cryptage conventionnel) est basé sur une clé secrète partagée par les deux correspondants. L'émetteur utilise la clé secrète dans l'opération mathématique assurant le cryptage (ou le codage) du texte en clair en texte codé. Le destinataire utilise la même clé secrète pour déchiffrer (or décoder) le texte codé en texte en clair. Voici quelques exemples de cryptage symétrique : l'algorithme RSA RC4 (qui constitue la base de MPPE), DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm) et la technologie de cryptage Skipjack proposée par le gouvernement des Etats-Unis d'Amérique (et mise en œuvre dans la puce Clipper).

Le cryptage asymétrique ou par clé publique emploie deux clés différentes pour chaque utilisateur. L'une d'elles est une clé privée connue uniquement de cet utilisateur ; l'autre est une clé publique correspondante, accessible à tous. Les clés privées et publiques sont associées mathématiquement par l'algorithme de cryptage. Une clé est employée pour le cryptage, l'autre pour le décryptage, selon la nature du service de communication mis en œuvre.

En outre, des technologies de cryptage par clé publique permettent l'inclusion de signatures numériques dans des messages. Une signature numérique utilise la clé privée de l'émetteur pour crypter une partie du message. A la réception du message, le destinataire emploie la clé publique de l'émetteur pour décoder la signature numérique et ainsi vérifier l'identité de celui-ci.

Certificats

Avec le cryptage symétrique, l'émetteur et le destinataire partagent une clé secrète. La distribution de cette clé secrète doit intervenir (avec une protection adéquate) avant la communication cryptée. Cependant, avec le cryptage asymétrique, l'émetteur utilise une clé privée pour crypter ou signer numériquement les messages, tandis que le destinataire emploie une clé publique pour décoder ces messages. La clé publique peut être distribuée librement à quiconque doit recevoir les messages cryptés ou signés numériquement. L'émetteur ne doit protéger soigneusement que la clé privée.

Pour sécuriser l'intégrité de la clé publique, cette dernière est publiée avec un certificat. Un certificat (ou certificat de clé publique) est une structure de données qui est signée numériquement par une autorité de certification (CA) en laquelle les utilisateurs du certificat ont confiance. Ce certificat contient une série de valeurs, telles que le nom et l'utilisation du certificat, des informations identifiant le propriétaire de la clé publique, la clé publique proprement dite, une date d'expiration et le nom de l'autorité de certification. Cette dernière emploie sa clé privée pour signer le certificat. Si le destinataire connaît la clé publique de l'autorité de certification, il peut vérifier que le certificat provient effectivement de l'autorité de certification de confiance, et par conséquent contient des informations fiables ainsi qu'une clé publique valide. Les certificats peuvent être distribués électroniquement (par l'intermédiaire d'un accès Web ou par courrier électronique), sur des cartes à puce ou sur des disquettes.

En résumé, les certificats de clé publique constituent une méthode pratique et fiable pour vérifier l'identité d'un émetteur. IPSec peut facultativement employer cette méthode pour une authentification de bout en bout. Les serveurs d'accès à distance peuvent employer des certificats de clé publique pour l'authentification des utilisateurs, telle que décrite dans la section "Sécurité au niveau des transactions (EAP-TLS)", ci-dessous.

Protocole EAP (Extensible Authentication Protocol)

Comme indiqué précédemment dans ce document, la plupart des mises en œuvre de PPP fournissent des méthodes d'authentification très limitées. EAP est une extension à PPP proposée par l'IETF et qui permet l'emploi de mécanismes d'authentification arbitraires assurant la validation d'une connexion PPP. EAP a été conçu pour permettre l'ajout dynamique de modules complémentaires d'authentification aux extrémités client et serveur d'une connexion. Cela permet aux fournisseurs de proposer un nouveau modèle d'authentification à tout moment. Le protocole EAP offre la plus grande souplesse en termes d'unicité et de diversité de l'authentification.

Le protocole EAP sera mis en œuvre dans Microsoft Windows 2000.

Sécurité au niveau des transactions (EAP-TLS)

EAP-TLS a été soumis à l'IETF comme proposition préliminaire pour une méthode d'authentification renforcée basée sur des certificats de clé publique. Avec EAP-TLS, un client présente un certificat utilisateur au serveur d'appel, alors qu'au même moment, le serveur présente un certificat de serveur au client. Le premier fournit une authentification utilisateur renforcée au serveur ; le second offre l'assurance que l'utilisateur accède au serveur souhaité. Les deux systèmes reposent sur une chaîne d'autorités de confiance pour vérifier la validité du certificat offert.

Le certificat de l'utilisateur peut être stocké sur le PC client d'accès à distance, ou dans une carte à puce externe. Dans les deux cas, le certificat n'est pas accessible sans une forme d'identification d'utilisateur (numéro d'identification personnel ou échange de nom/mot de passe) entre l'utilisateur et l'ordinateur client. Cette approche satisfait les critères "élément connu plus élément possédé" recommandés par la plupart des experts en matière de sécurité.

EAP-TLS est la méthode EAP spécifique qui sera mise en œuvre dans Microsoft Windows 2000. A l'instar de MS-CHAP, EAP-TLS renvoie une clé de cryptage pour permettre le cryptage des données suivantes par MPPE.

Sécurité IP (IPSec)

IPSec (Internet Protocol Security) a été conçu par l'IETF (Internet Engineering Task Force) comme mécanisme de bout en bout assurant la sécurité des données dans des communications IP. IPSec a été défini dans une série de RFC, notamment les RFC 1825, 1826 et 1827, qui définissent la structure globale, un en-tête d'authentification assurant la vérification de l'intégrité des données, et une charge utile de sécurité d'encapsulation garantissant l'intégrité des données et leur cryptage.

IPSec définit deux fonctions assurant la confidentialité : le cryptage et l'intégrité des données. Tel que défini par l'IETF, IPSec utilise un en-tête d'authentification (AH, Authentication Header) pour assurer l'authentification et l'intégrité de la source sans cryptage, et ESP (Encapsulated Security Payload) pour garantir l'authentification et l'intégrité avec le cryptage. Avec la sécurité IP, seuls l'émetteur et le destinataire connaissent la clé de sécurité. Si les données d'authentification sont valides, le destinataire sait que la communication provient de l'émetteur, et qu'elle n'a pas changé en cours de transit.

IPSec peut être perçu comme une couche sous la pile TCP/IP. Cette couche est contrôlée par une stratégie de sécurité sur chaque ordinateur et une association de sécurité négociée entre l'émetteur et le destinataire. La stratégie est composée d'une série de filtres et de comportements de sécurité associés. Si l'adresse IP, le protocole et le numéro de port d'un paquet correspondent à un filtre, le paquet est soumis au comportement de sécurité associé.

Association de sécurité négociée

Le premier paquet de ce type déclenche une négociation d'une association de sécurité entre l'émetteur et le destinataire. ISAKMP/Oakley est le protocole standard pour cette négociation. Pendant un échange ISAKMP/Oakley, les deux ordinateurs conviennent de méthodes d'authentification et de sécurité de données, effectuent une authentification mutuelle, puis génèrent une clé partagée pour un cryptage des données suivantes.

Une fois l'association de sécurité établie, la transmission de données peut se poursuivre pour chaque ordinateur appliquant un traitement de sécurité de données aux paquets qu'il transmet au destinataire distant. Le traitement peut simplement garantir l'intégrité des données transmises, ou il peut également assurer un cryptage. Ces options sont décrites dans les paragraphes qui suivent.

En-tête d'authentification

L'intégrité et l'authentification des données pour les charges utiles IP peuvent être assurées par un en-tête d'authentification situé entre l'en-tête IP et l'en-tête de transport. L'en-tête d'authentification inclut des données d'authentification et un numéro de séquence, qui sont utilisés ensemble pour vérifier l'émetteur, garantir que le message n'a pas été modifié au cours du transit, et empêcher une attaque par réémission.

L'en-tête d'authentification IPSec n'assure aucun cryptage de données ; des messages en texte clair peuvent êtres envoyés et l'en-tête d'authentification garantit qu'ils proviennent d'un utilisateur spécifique et n'ont pas été modifiés pendant le transit.

En-tête de sécurité d'encapsulation

Pour la confidentialité des données et la protection contre la capture par un tiers, le protocole ESP (Encapsulation Security Payload) met en œuvre un mécanisme permettant de crypter la charge utile IP. Le protocole ESP fournit également des services d'authentification et d'intégrité des données ; par conséquent, les en-têtes ESP constituent une alternative aux en-têtes AH dans les paquets IPSec.

Administration des utilisateurs

Lors de la sélection d'une technologie VPN, il est important de tenir compte des problèmes administratifs. Les réseaux de grande taille doivent stocker des informations d'annuaire par utilisateur dans un magasin centralisé, ou service d'annuaire, afin que les administrateurs et les applications puissent ajouter, modifier ou interroger ces informations. Chaque serveur d'accès ou de tunnel peut gérer sa propre base de données interne de propriétés utilisateur, telles que des noms, des mots de passe et des attributs de permission d'appel. Cependant, puisqu'il est administrativement impossible de gérer plusieurs comptes d'utilisateur sur plusieurs serveurs et de les actualiser simultanément, la plupart des administrateurs créent une base de données de comptes maître sur le serveur d'annuaire ou le contrôleur principal de domaine, ou encore sur un serveur RADIUS.

Prise en charge dans RAS

Le serveur d'accès distant (RAS, Remote Access Server) de Microsoft est conçu pour fonctionner avec des informations utilisateur stockées sur le contrôleur de domaine ou sur un serveur RADIUS. L'utilisation d'un contrôleur de domaine simplifie l'administration système puisque les permissions d'accès à distance constituent un sous-ensemble des informations utilisateur que l'administrateur gère déjà dans une base de données unique.

Microsoft RAS a été conçu initialement comme serveur d'accès pour les utilisateurs d'accès à distance. RAS est également un serveur de tunnel pour les connexions PPTP et L2TP. Par conséquent, ces solutions VPN de couche 2 héritent de toute l'infrastructure de gestion déjà en place pour la mise en place d'un réseau d'accès à distance.

Sous Windows 2000, RAS tirera parti des nouveaux services d'annuaire, une base de données répliquée à l'échelle de l'entreprise reposant sur le protocole LDAP (Lightweight Directory Access Protocol). LDAP est un protocole normalisé pour l'accès aux services d'annuaire, et a été développé comme alternative simplifiée au protocole X.500 DAP. LDAP est à la fois extensible, indépendant des fournisseurs et basé sur les normes. Cette intégration avec le service d'annuaire permet à un administrateur d'affecter diverses propriétés de connexion pour des sessions d'accès à distance ou VPN à des utilisateurs individuels ou à des groupes. Ces propriétés peuvent définir des filtres utilisateur, des méthodes d'authentification et de cryptage requises, des restrictions horaires, etc.

Evolutivité

La redondance et l'équilibrage de charge sont mis en œuvre à l'aide de l'approche DNS à répétition alternée pour répartir les requêtes entre un certain nombre de serveurs de tunnel VPN partageant un périmètre de sécurité commun. Un périmètre de sécurité possède un nom DNS externe (par exemple vpnx.support.bigcompany.com) mais plusieurs adresses IP, et les charges sont réparties de façon aléatoire entre toutes ces adresses IP. Tous les serveurs peuvent authentifier les requêtes d'accès par rapport à une base de données partagée, telle qu'un contrôleur de domaine Windows NT. Notez que, de par leur conception, les bases de données de domaine Windows NT prennent en charge la réplication.

RADIUS

Le protocole RADIUS (Remote Authentication Dial-In User Service) est une méthode largement répandue pour gérer l'authentification et l'autorisation des utilisateurs distants. RADIUS est un protocole UDP allégé. Les serveurs RADIUS peuvent se trouver n'importe où sur Internet et assurer l'authentification (notamment PPP PAP, CHAP, MS-CHAP et EAP) à leur NAS client.

En outre, des serveurs RADIUS peuvent fournir un service proxy pour l'acheminement des requêtes d'authentification de transfert vers des serveurs RADIUS distants. Par exemple, plusieurs fournisseurs de services Internet se sont regroupés afin de permettre à des abonnés itinérants d'employer des services locaux proposés par le fournisseur de services Internet le plus proche pour un accès à distance à Internet. Ces "alliances d'utilisation itinérante" tirent parti du service proxy RADIUS. Si un fournisseur de services Internet reconnaît un nom d'utilisateur comme étant un abonné à un réseau distant, ce fournisseur utilise un proxy RADIUS pour transférer la demande d'accès au réseau approprié.

Comptabilisation, audit et alarmes

Pour gérer de manière appropriée un système VPN, les administrateurs de réseau doivent pouvoir assurer le suivi des personnes utilisant le système et savoir à tout moment combien de connexions sont établies. Ils doivent également être en mesure de détecter une activité inhabituelle, des conditions d'erreur et des situations pouvant indiquer une panne d'équipement. Ces informations peuvent être employées pour la facturation, l'audit et la génération d'alarmes, ou simplement à des fins de notification d'erreur.

Par exemple, un administrateur devra savoir qui s'est connecté au système et pendant combien de temps pour construire des données de facturation. Une activité inhabituelle peut indiquer une mauvaise utilisation du système ou des ressources système inadéquates. Une surveillance en temps réel des équipements (par exemple, détectant une activité anormalement élevée sur un modem et une inactivité sur un autre) peut générer des alertes pour avertir l'administrateur d'une panne de modem. Le serveur de tunnel doit fournir toutes ces informations, et le système doit fournir des journaux d'événements, des rapports ainsi qu'un espace de stockage de données pour gérer correctement les données.

Microsoft Windows NT 4 assure la comptabilisation, l'audit et la notification d'erreur dans RAS.

Le protocole RADIUS définit une série de requêtes de comptabilisation d'appels indépendante des requêtes d'authentification décrites ci-dessus. Ces messages du serveur RAS au serveur RADIUS demandent à ce dernier de générer des enregistrements de comptabilisation au début d'un appel, à la fin d'un appel, et à des intervalles prédéterminés pendant un appel. Windows 2000 générera ces requêtes de comptabilisation RADIUS séparément des requêtes d'authentification d'accès (destinées éventuellement au contrôleur de domaine ou à un serveur RADIUS). Cela permet à un administrateur de configurer un serveur RADIUS de comptabilisation, que RADIUS soit employé ou non pour l'authentification. Un serveur de comptabilisation peut ensuite recueillir des enregistrements pour chaque connexion VPN en vue d'une analyse ultérieure. De nombreux tiers ont déjà écrit des packages de facturation et d'audit lisant ces enregistrements de comptabilisation RADIUS et produisant divers rapports utiles.

Conclusion

Comme expliqué dans ce document, les réseaux privés virtuels permettent aux utilisateurs ou aux entreprises de se connecter à des serveurs distants, des succursales ou d'autres sociétés sur un réseau public, tout en garantissant la sécurité des communications. Dans tous ces cas de figure, la connexion sécurisée est perçue par l'utilisateur comme une communication de réseau privé, bien qu'elle soit établie sur un réseau public. La technologie VPN est conçue pour résoudre les problèmes posés par le développement du télétravail et des activités mondiales fortement distribuées, une tendance créant un environnement dans lequel les employés doivent pouvoir se connecter à des ressources centrales et communiquer entre eux.

Ce livre blanc fournit une présentation des réseaux privés virtuels et décrit les critères de base que les technologies VPN doivent satisfaire (authentification d'utilisateur, gestion d'adresses, cryptage de données, gestion de clés et prise en charge multiprotocole). Il indique comment les protocoles de couche 2, notamment PPTP et L2TP, satisfont ces exigences, et comment IPSec (protocole de couche 3) répondra à ces exigences dans l'avenir.

Dernière mise à jour le mardi 9 mai 2000

Pour en savoir plus