Procédé de traduction d'un protocole d'authentification
L'invention concerne un procédé de traduction de messages conformes à un premier protocole d'authentification en messages conformes à un deuxième protocole d'authentification au cours d'une phase d'authentification pendant laquelle un pair, doté d'une identité et qui souhaite accéder à une ressource d'un réseau se connecte à un authentifiant, ledit authentifiant autorisant l'accès au réseau en fonction d'une vérification de l'identité et de droits du pair faite par un serveur d'authentification en fonction de données d'authentification reçues dans des messages conformes au deuxième protocole d'authentification.
La présente invention se situe dans le domaine des télécommunications et des réseaux. II est connu que des utilisateurs qui souhaitent accéder à un réseau IP et qui ont souscrit un service d'accès auprès d'un Fournisseur d'Accès Internet (FAI) doivent au préalable s'authentifier auprès du FAI. L'authentification permet de contrôler qu'une personne identifiée est bien celle qu'elle prétend être, par l'usage d'un mot de passe par exemple. Cela permet ensuite de vérifier qu'elle dispose de droits pour accéder à une ressource physique.
L'authentification d'un client, composé d'une machine et d'un utilisateur, est réalisée par un serveur d'authentification qui récupère des données d'authentification du client au cours d'un dialogue basé sur un protocole d'authentification. Le protocole le plus utilisé et le plus implanté par des équipementiers réseau est le protocole RADIUS (Remote Authentication Dial In User Service) avec PPP (Point to Point Protocol), tous deux issus de NETF (Internet Engineering Task Force) http://wwwJetf.org/rfc/rfc2865.txt, http://wwwJetf.org/rfc/rfc1661.txt. Les serveurs d'authentification qui supportent le protocole RADIUS sont appelés serveurs RADIUS.
Le protocole PPP supporte différentes méthodes d'authentification, par exemple, et de façon non exhaustive, PPP CHAP (Point to Point Protocol
Challenge Handshake Authentication Protocol) issu de I1IETF http://www.ietf.org/rfc/rfc1994.txt, et PPP EAP (Point to Point Protocol Extensible Authentication Protocol) issu de NETF http://www.ietf.org/rfc/rfc3748.txt. PPP CHAP permet de vérifier périodiquement l'identité d'un client par envoi au client d'une requête PPP CHAP contenant un défi qui est une valeur aléatoire. Le client envoie en retour une valeur calculée à partir de plusieurs données dont le défi et un secret qu'il détient, permettant ainsi au serveur RADIUS de contrôler l'identité du client en calculant une valeur à partir des mêmes données. Le secret est un mot de passe propre à l'utilisateur et connu du serveur RADIUS.
EAP permet l'authentification d'un client souhaitant s'associer à un réseau d'accès. EAP a ceci de particulier qu'il définit des échanges génériques permettant de transporter diverses méthodes d'authentification EAP. EAP supporte une douzaine de méthodes d'authentification EAP, par exemple et de façon non exhaustive EAP MD5-Challenge issue de I1IETF http://www.ietf.org/rfc/rfc3748.txt, EAP-TTLS (Tunneled Transport Layer Security) en discussion à I1IETF http://www.ietf.org/internet-drafts/draft-funk- eap-ttls-v1 -00.txt. La généricité qui caractérise EAP en fait un protocole très flexible qui est de plus en plus utilisé.
EAP MD5-Challenge est la plus simple des méthodes d'authentification EAP à mettre en œuvre : l'authentification se fait par envoi au client d'une requête de type EAP MD5-Challenge contenant un défi. Le client répond en hachant le défi à l'aide d'une fonction de hachage MD5 (Message Digest-5), définie par I1IETF http://www.ietf.org/rfc/rfc1321 .txt et en utilisant comme paramètre un secret qui est le mot de passe de l'utilisateur. Le serveur RADIUS contrôle l'identité du client en calculant une valeur à partir des mêmes données.
Les deux mécanismes d'authentification RADIUS pour PPP CHAP et
RADIUS pour EAP MD5-Challenge existent et fonctionnent séparément. Cependant un client EAP MD5-Challenge ne peut pas s'authentifier auprès d'un serveur RADIUS supportant la méthode d'authentification PPP CHAP mais ne disposant pas d'une fonction EAP nécessaire à une authentification EAP MD5-
Challenge. De nombreux serveurs, déjà installés dans le réseau ne disposent pas de la fonction EAP permettant au serveur d'authentifier un client EAP MD5- Challenge.
La présente invention a pour but de résoudre les inconvénients de la technique antérieure en proposant un procédé de traduction adapté pour authentifier un client EAP MD5-Challenge auprès d'un serveur PPP CHAP- RADIUS ne supportant pas le protocole d'authentification EAP.
Le but est atteint avec un procédé selon l'invention tel que décrit dans le paragraphe introductif et caractérisé en ce qu'il comprend :
- une étape consistant à recevoir l'identité du pair dans un message conforme au premier protocole d'authentification,
- une étape consistant à générer un défi et à envoyer ledit défi, - une étape consistant à recevoir une première réponse qui est une réponse audit défi, à générer une demande d'accès au réseau conforme au deuxième protocole d'authentification et à envoyer ladite demande au serveur d'authentification,
- une étape consistant à recevoir une deuxième réponse qui est une réponse à ladite demande, à traduire la deuxième réponse pour générer un résultat d'authentification conforme au premier protocole d'authentification. Les avantages de ce procédé sont considérables :
- un client EAP MD5-Challenge peut s'authentifier auprès d'un serveur RADIUS ne disposant pas de la fonction EAP, - aucune modification du client EAP MD5-Challenge n'est nécessaire,
- aucune modification du serveur RADIUS n'est nécessaire. C'est un avantage lorsque le serveur RADIUS est déjà opérationnel dans le réseau.
Avantageusement, le procédé de traduction comprend une étape de choix d'une méthode d'authentification supportée par le premier protocole d'authentification.
Ainsi, des méthodes basées sur l'encapsulation de EAP MD5-Challenge dans un tunnel, comme par exemple EAP-TTLS, sont compatibles avec le procédé de traduction.
Avantageusement, la génération du défi comprend : - une étape consistant à demander ledit défi au serveur d'authentification,
- une étape consistant à recevoir ledit défi.
La possibilité de faire générer le défi par un serveur externe assure une compatibilité avec les méthodes d'authentification normalisées et utilisées par le procédé d'authentification.
L'invention concerne aussi un procédé d'authentification d'un pair doté d'une identité et qui pour accéder à une ressource d'un réseau se connecte à un authentifiant-traducteur conformément à un premier protocole d'authentification, ledit authentifiant-traducteur autorisant l'accès au réseau en fonction d'une vérification de l'identité et de droits du pair faite par un serveur d'authentification en fonction de données d'authentification reçues dans des messages conformes à un deuxième protocole d'authentification, comprenant :
- une étape consistant à envoyer une demande d'identité au pair,
- une étape consistant à recevoir l'identité du pair dans un message conforme au premier protocole d'authentification,
- une étape consistant à générer un défi et à envoyer ledit défi, caractérisé en ce que le procédé d'authentification intègre des fonctions de traduction de messages conformes au premier protocole d'authentification en messages conformes au deuxième protocole d'authentification et qu'il comprend :
- une étape consistant à recevoir une première réponse qui est une réponse audit défi, à générer une demande d'accès au réseau conforme au deuxième protocole d'authentification et à envoyer ladite demande au serveur d'authentification, - une étape consistant à recevoir une deuxième réponse qui est une réponse à ladite demande, à traduire la deuxième réponse pour générer un
résultat d'authentification conforme au premier protocole d'authentification et à envoyer ledit résultat d'authentification.
L'invention concerne aussi un dispositif traducteur prévu pour traduire des messages conformes à un premier protocole d'authentification en messages conformes à un deuxième protocole d'authentification au cours d'une phase d'authentification pendant laquelle un pair, doté d'une identité et qui souhaite accéder à une ressource d'un réseau se connecte à un authentifiant, ledit authentifiant autorisant l'accès au réseau en fonction d'une vérification de l'identité et de droits du pair faite par un serveur d'authentification en fonction de données d'authentification reçues dans des messages conformes au deuxième protocole d'authentification, caractérisé en ce qu'il comprend :
- un module d'obtention d'un défi,
- un module d'émission dudit défi et d'une demande d'accès au réseau,
- un module de réception de l'identité du pair, d'une première réponse qui est une réponse audit défi et d'une deuxième réponse qui est une réponse à ladite demande d'accès au réseau,
- un module de traitement qui génère la demande d'accès au réseau conforme au deuxième protocole d'authentification et traduit un résultat d'authentification conformément au premier protocole d'authentification. De façon avantageuse, le dispositif traducteur comprend un module de choix d'une méthode d'authentification supportée par le premier protocole d'authentification.
L'invention concerne aussi un dispositif authentifiant-traducteur prévu pour authentifier un pair doté d'une identité et qui pour accéder à une ressource d'un réseau, dialogue avec ledit dispositif conformément à un premier protocole d'authentification, ledit dispositif autorisant l'accès au réseau en fonction d'une vérification de l'identité et de droits du pair faite par un serveur d'authentification en fonction de données d'authentification reçues dans des messages conformes au deuxième protocole d'authentification, comprenant : - un module d'obtention d'un défi,
- un module d'émission d'une demande d'identité du pair, dudit défi, d'une demande d'accès au réseau et d'un résultat d'authentification,
- un module de réception de ladite identité, d'une première réponse qui est une réponse audit défi et d'une deuxième réponse qui est une réponse à ladite demande d'accès au réseau, caractérisé en ce qu'il est prévu pour traduire des messages conformes au premier protocole d'authentification en messages conformes au deuxième protocole d'authentification et qu'il comprend :
- un module de traitement qui génère la demande d'accès au réseau conforme au deuxième protocole d'authentification et traduit le résultat d'authentification conformément au premier protocole d'authentification. L'invention concerne également un système d'authentification comprenant un pair souhaitant accéder à une ressource d'un réseau et qui doit s'authentifier auprès d'un système authentifiant en envoyant des données d'authentification conformes à un premier protocole d'authentification, reçues et vérifiées par un serveur d'authentification selon un deuxième protocole d'authentification caractérisé en ce qu'il comprend :
- des moyens pour traduire les données d'authentification du premier protocole en données d'authentification du deuxième protocole,
- des moyens pour authentifier le client.
Avantageusement, les moyens pour traduire les données d'authentification du premier protocole en données d'authentification du deuxième protocole sont réalisés par le dispositif traducteur.
Avantageusement, les moyens pour traduire les données d'authentification du premier protocole en données d'authentification du deuxième protocole sont réalisés par le dispositif authentifiant-traducteur. L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de traduction selon l'invention lorsqu'il est exécuté par un microprocesseur.
L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d'authentification selon l'invention lorsqu'il est exécuté par un microprocesseur.
De nombreux détails et avantages de l'invention seront mieux compris à la lecture de la description d'un mode particulier de réalisation en référence aux schémas annexés donnés à titre non limitatif et dans lesquels :
La figure 1 est un schéma présentant le format des messages de défi et de réponse PPP CHAP selon l'état de la technique, échangés entre un client à authentifier et un système authentifiant en phase d'authentification.
La figure 2 est un schéma présentant le format des messages de type requête ou réponse EAP de type EAP MD5-Challenge, selon l'état de la technique, échangés entre un client à authentifier et système authentifiant en phase d'authentification.
La figure 3 est un schéma représentant une méthode d'authentification selon l'état de la technique conforme au protocole PPP CHAP.
La figure 4 est un schéma représentant une méthode d'authentification selon l'état de la technique conforme au protocole EAP et à la méthode d'authentification EAP MD5-Challenge.
La figure 5 est un schéma représentant une première variante d'un procédé de traduction selon l'invention.
La figure 6 est un schéma représentant une seconde variante du procédé de traduction selon l'invention. La figure 7 est un schéma d'architecture réseau conforme à une première variante de l'invention.
La figure 8 est un schéma d'architecture réseau conforme à une seconde variante de l'invention.
La figure 9 est un schéma présentant l'organisation fonctionnelle d'un traducteur et d'un authentifiant-traducteur selon l'invention.
La figure 10 est un schéma où figurent les principaux composants d'un traducteur selon l'invention.
Dans un processus d'authentification réseau classique trois entités interagissent : un système authentifiant, un client à authentifier et un serveur d'authentification. Le système authentifiant contrôle une ressource physique via un point d'accès au réseau. Le client à authentifier souhaite accéder à la
ressource et doit pour cela, s'authentifier. Le serveur d'authentification est la machine qui va vérifier, sur demande du système authentifiant, si le client à authentifier est bien celui qu'il prétend être, et s'il a le droit d'accéder à la ressource demandée. Si l'authentification réussit, le système authentifiant donne l'accès à la ressource qu'il contrôle. Le serveur d'authentification gère l'authentification proprement dite, en dialoguant avec le client à authentifier sur la base d'un protocole d'authentification établi.
Le client à authentifier est constitué d'une machine et d'un utilisateur. Dans la plupart des implantations réseau actuelles, le système authentifiant est un équipement réseau, comme par exemple une borne d'accès sans fil ou Point d'Accès (l'acronyme couramment utilisé est l'acronyme anglais AP pour Access Point), un commutateur/routeur IP appelé NAS (Network Access Server) lors d'un accès RTC (Réseau Téléphonique Commuté) ou ADSL (Asymmetric Digital Subscriber Une). Dans les terminologies EAP et PPP CHAP, le client à authentifier s'appelle pair (le terme couramment utilisé est le terme anglais "peer") et le système authentifiant s'appelle authentifiant (le terme couramment utilisé est le terme anglais "authenticator"). Le serveur d'authentification est typiquement un serveur RADIUS ou tout autre équipement capable de faire de l'authentification. Le serveur RADIUS est l'équipement le plus utilisé pour l'authentification notamment par les fournisseurs d'accès Internet.
Le protocole RADIUS fonctionne selon un mode client/serveur. Le système authentifiant fonctionne comme un client RADIUS. Un client RADIUS émet des requêtes RADIUS et agit en fonction des réponses reçues. Un serveur RADIUS peut agir en tant que mandataire RADIUS pour d'autres serveurs RADIUS, ainsi que pour d'autres systèmes d'authentification. Le principe de fonctionnement du protocole RADIUS réside dans l'utilisation d'un secret détenu par le serveur RADIUS et le pair à authentifier qui n'est pas transmis sur le réseau dans le cas d'une authentification PPP CHAP. Un exemple de secret est un mot de passe. Le protocole RADIUS permet une authentification utilisateur/mot de passe ou utilisateur/défi/réponse. Le protocole est basé sur un échange de
requêtes/réponses pouvant être de quatre types différents : "Access-Request", " Access- Accept", "Access- Reject" et "Access-Challenge".
Un client RADIUS envoie une requête d'autorisation d'accès au serveur RADIUS. C'est une requête RADIUS de type "Access-Request". Le serveur RADIUS envoie une réponse d'acceptation, de rejet ou de demande d'informations complémentaires. Une réponse d'acceptation est une réponse RADIUS de type "Access-Accept", une réponse de rejet est une réponse RADIUS de type "Access- Reject" et une réponse de demande d'informations complémentaires est une requête RADIUS de type "Access-Challenge" envoyée par le serveur RADIUS qui envoie un défi et qui attend une réponse.
Le protocole RADIUS transporte des informations d'authentification et d'autorisation dans des champs de requêtes RADIUS, par exemple dans des éléments d'informations appelés attributs. Le nombre d'attributs dans un message RADIUS est variable. Il peut n'y en avoir aucun, un ou plusieurs. Chaque attribut possède un type qui le qualifie, une valeur et une taille. Par exemple et de façon non limitative, un attribut de type "User-Name" correspond à un identifiant ou un login d'utilisateur à authentifier, un attribut de type "CHAP- Challenge" correspond à un défi PPP CHAP généré par un système authentifiant et envoyé au client à authentifier, un attribut de type "CHAP- Password" correspond à une réponse à un défi PPP CHAP envoyée par le client à authentifier, un attribut "Reply-Message", lorsqu'il est envoyé dans un requête RADIUS de type "Access-Challenge" contient un défi. Des éléments d'authentification peuvent également être contenus dans un champ d'une requête/réponse RADIUS appelé "Authenticator".
La figure 1 présente le format des messages de défi et de réponse conforme au protocole PPP CHAP selon l'état de la technique. Les messages de défi et de réponse sont échangés entre un pair et un authentifiant.
Un premier champ d permet de qualifier le type d'un message selon qu'il s'agit d'un défi ou d'une réponse au défi. Le champ d porte le nom de "Code".
Un deuxième champ c2, appelé "Identifier", contient une valeur qui identifie un échange de messages. Il doit être changé à chaque fois qu'un nouveau défi est envoyé. Pour un message de réponse au défi, la valeur du champ est la même que la valeur du champ "Identifier" du message de défi. Un troisième champ c3, appelé "Length", contient la taille du message
PPP CHAP.
Un quatrième champ c4, appelé "Value-Size", correspond à la longueur d'un cinquième champ c5 appelé "Value" défini ci-dessous.
Le cinquième champ c5, appelé "Value", contient la valeur du défi ou de la réponse au défi. Un défi est une valeur aléatoire qui est changée chaque fois qu'un nouveau défi est envoyé. La réponse au défi est calculée à l'aide d'une fonction de hachage, par application de la fonction de hachage à un flux d'octets composé de la valeur du champ c2 "Identifier", suivie d'un secret connu de l'utilisateur associé au pair et du serveur d'authentification, suivie de la valeur du défi. Dans le cas de PPP CHAP la fonction de hachage est MD5. Le secret est un mot de passe propre à l'utilisateur.
Un sixième champ c6, appelé "Name", correspond à l'identification du système qui transmet le message.
La figure 2 illustre le format d'une requête ou d'une réponse EAP selon l'état de la technique. Les requêtes et réponses EAP sont échangées entre un pair et un authentifiant.
Un premier champ c7, appelé "Code", précise s'il s'agit d'une requête ou d'une réponse à la requête. Un deuxième champ c8, appelé "Identifier", identifie un échange de messages : le champ c8 d'une réponse sera le même que le champ c8 de la requête à l'origine de la réponse.
Un troisième champ c9, appelé "Length", précise la longueur du message EAP. Un quatrième champ d 0, appelé "Type" précise le type de la requête ou de la réponse. Par exemple, un type particulier appelé "Identity" correspond à une requête de demande d'identité ou une réponse à la demande d'identité. Un
message de réponse à une demande d'identité contient dans un cinquième champ c1 1 appelé "Type-Data" l'identité de l'utilisateur associé au pair. Un autre type de requête qui est précisé dans le champ c10, correspond à une méthode d'authentification EAP. Par exemple, un type appelé "MD5-Challenge" précise que la méthode d'authentification EAP est EAP MD5-Challenge. Le type "MD5-Challenge" est analogue au protocole PPP CHAP avec MD5 comme fonction de hachage. Dans ce cas, le champ c1 1 , appelé "Type-Data", est composé des champs suivants :
- un sixième champ c12, appelé "Value-Size", comparable au champ c4 de la figure 1 , correspond à la longueur du champ c13.
- un septième champ c13, appelé "Value", comparable au champ c5 de la figure 1 correspond à un défi ou à une réponse à ce défi.
- un huitième champ c14, appelé "Name", comparable au champ c6 de la figure 1 correspond à l'identification d'un système qui transmet la requête ou la réponse EAP.
La figure 3 illustre le mécanisme d'authentification PPP CHAP-RADIUS selon l'état de la technique en décrivant des échanges de messages entre trois entités concernées par le processus d'authentification. Un pair 100 désigne le client à authentifier. Un serveur d'accès au réseau (l'expression couramment utilisée est l'expression anglaise "Network Access Server" ou "NAS") 1 10 désigne le système authentifiant. Le "NAS" 1 10 contrôle l'accès du pair 100 à une ressource physique du réseau. Un serveur RADIUS 120 est le serveur d'authentification en charge de l'authentification du pair 100. Le format des messages de défi et de réponse PPP CHAP échangés entre le pair 100 et le "NAS" 1 10 est conforme à celui illustré par la figure 1 .
Dans un état initial 1 , le pair 100 et le "NAS" 1 10 sont dans une phase de négociation PPP au cours de laquelle le pair 100 et le "NAS" 1 10 établissent une liaison PPP et se mettent d'accord sur l'authentification à utiliser. En particulier, c'est dans cette phase qu'il est fait le choix de la méthode d'authentification PPP CHAP.
Dans une étape 2, consécutive à la phase de négociation PPP qui s'est déroulée dans l'état initial 1 , le "NAS" 1 10 génère un défi et envoie au pair 100 un message de défi PPP CHAP si qui inclut le défi. Dans une réalisation alternative de l'authentification PPP CHAP-RADIUS, non représentée sur la figure 3, le "NAS" 1 10 délègue la génération du défi au serveur RADIUS 120 : le serveur "NAS" 1 10 envoie une requête RADIUS "Access- Requ est" au serveur RADIUS 120 qui répond par une réponse RADIUS "Access-Challenge" qui contient le défi dans un attribut RADIUS "Reply-Message". Dans le message de défi PPP CHAP si il est possible de préciser dans le champ c6 l'identification du "NAS" 1 10 qui envoie le message. Dans la réalisation alternative de l'authentification où le défi est généré par le serveur RADIUS 120, il est possible de préciser dans le champ c6 l'identification du serveur RADIUS 120 qui a généré le défi.
Dans une étape 3, consécutive à la réception du message de défi PPP CHAP si , le pair 100 extrait la valeur du défi du message de défi PPP CHAP si et calcule une réponse à ce défi. La réponse est calculée par application d'une fonction de hachage MD5 à une donnée constituée de la valeur du champ c2 du message de défi PPP CHAP si , suivie d'un secret détenu par le pair 100, suivie de la valeur du défi reçue dans le message de défi PPP CHAP si et qui figure dans le champs c5 du message si . En fin d'étape 3, le pair 100 envoie la réponse dans un message de réponse PPP CHAP s2. Le champ c6 est utilisé pour préciser l'identifiant du pair 100 qui émet le message.
Dans une étape 4, consécutive à la réception du message de réponse PPP CHAP s2, le "NAS" 1 10 génère une requête RADIUS "Access-Request" s3 à l'attention du serveur RADIUS 120. La requête comprend les attributs RADIUS suivants :
- un attribut RADIUS "User-name" dont la valeur est l'identifiant du pair 100. La valeur de l'attribut RADIUS "User-name" est récupérée dans le champ c6 du message de réponse PPP CHAP s2, - un attribut RADIUS "CHAP-Challenge" dont la valeur correspond au défi calculé par le "NAS" 1 10 au cours de l'étape 2. Dans la réalisation alternative
de l'authentification où le défi a été généré par le serveur RADIUS 120 à l'étape 2, l'attribut "CHAP-Challenge" peut ne pas être envoyé,
- un attribut RADIUS "CHAP-Password" dont la valeur est constituée de l'identifiant du message PPP CHAP si précisé dans le champ c2 du message PPP CHAP si et de la réponse au défi reçue à l'étape 4 dans le message de réponse PPP CHAP s2. Dans la réalisation alternative de l'authentification où le défi a été généré par le serveur RADIUS 120 à l'étape 2, et dans le cas où l'attribut "CHAP-Challenge" n'est pas envoyé dans la requête RADIUS "Access- Request" s3, l'attribut "CHAP-Password" n'est pas inséré dans la requête RADIUS "Access-Request" s3,
- dans la réalisation alternative de l'authentification où le défi a été généré par le serveur RADIUS 120 à l'étape 2, et dans le cas où l'attribut "CHAP-Challenge" n'est pas envoyé dans la requête RADIUS "Access-Request" s3, ladite requête comprend un attribut "User-Password". La valeur de l'attribut "User-Password" est constituée de l'identifiant du message PPP CHAP si précisé dans le champ c2 du message PPP CHAP si et de la réponse au défi reçue à l'étape 4 dans le message de réponse PPP CHAP s2.
En fin d'étape 4, le "NAS" 1 10 envoie au serveur RADIUS 120 la requête RADIUS "Access-Request" s3. Dans une étape 5, consécutive à la réception de la requête RADIUS
"Access-Request" s3 émise en étape 4, le serveur RADIUS 120 vérifie l'authentification de l'utilisateur. Pour cela il calcule une valeur d'authentification à l'aide de la même fonction de hachage MD5 que celle utilisée par le pair 100 qu'il applique à un flux d'octets constitué du défi présent dans l'attribut "CHAP- Challenge" de la requête RADIUS "Access-Request" s3, suivi du secret de l'utilisateur qu'il détient et de l'identifiant du message PPP CHAP si présent dans l'attribut "CHAP-password" de la requête RADIUS "Access-Request" s3. Le serveur RADIUS 120 compare la valeur d'authentification à la réponse au défi présente dans l'attribut "CHAP-Challenge" de la requête RADIUS "Access- Request" s3. Dans la réalisation alternative de l'authentification où le défi a été généré par le serveur RADIUS 120 à l'étape 2 et où le défi n'a pas été envoyé dans la requête RADIUS "Access-Request" s3, le serveur d'authentification
utilise le défi qu'il détient pour calculer la valeur d'authentification et le contenu de l'attribut "User-Password" qui contient la réponse au défi pour vérifier l'authentification. Si la valeur d'authentification est égale à la réponse au défi alors l'authentification a réussi, sinon, elle a échoué. Dans les deux cas, le serveur RADIUS 120 renvoie, en fin d'étape 5, un message s4 au "NAS" 1 10 précisant le résultat de l'authentification. Dans le cas d'une authenti fi cation réussie le message s4 est une réponse RADIUS " Access- Accept". Dans le cas où l'authentification a échoué, le message s4 est une réponse RADIUS "Access-Reject". Dans une étape 6, consécutive à la réception du message s4, le "NAS"
1 10 génère un message de réponse s5 à l'attention du pair 100. Le message s5 est un message PPP CHAP de type "CHAP-Success" si l'authentification a réussi et un message PPP CHAP "CHAP-Failure" si l'authentification a échoué. A la fin de l'étape 6, le "NAS" 1 10 envoie le message de réponse s5 au pair 100.
Dans une étape 7, consécutive à la réception du message de réponse s5, le pair 100 est autorisé ou non à accéder à la ressource physique.
La figure 4 illustre le mécanisme d'authentification conforme à la méthode EAP MD5-Challenge selon l'état de la technique en décrivant les échanges de messages entre les trois entités concernées par le processus d'authentification. Un pair 130 souhaite accéder à une ressource physique du réseau et s'adresse à un authentifiant 140 qui réalise le contrôle d'accès à la ressource physique. Un serveur d'authentification 150 est en charge de l'authentification du pair 130.
Le format d'un message de requête ou de réponse EAP est conforme au format illustré par la figure 2.
Dans une étape initiale 1 1 , l'authentifiant 140 envoie au pair 130 une requête EAP s10 de demande d'identité. Conformément au format de messages EAP décrit dans la figure 2, le message contient dans le champ c10 une valeur qui correspond au type "Identity".
Dans une étape 12, consécutive à la réception de la requête EAP s10 de demande d'identité, le pair 130 construit un message de réponse EAP si 1 qui contient l'identité du pair 130 dans le champ d 1 du message de réponse EAP si 1 . Le pair 130 envoie le message de réponse EAP si 1 à l'authentifiant 140. Dans une étape 13, consécutive à la réception du message de réponse
EAP s1 1 , l'authentifiant relaie le message de réponse EAP s1 1 au serveur d'authentification 150 dans un message de réponse EAP s12.
Dans une étape 14, consécutive à la réception du message de réponse EAP s12, le serveur d'authentification 150 génère un défi et un message de requête EAP s13 de type EAP MD5-Challenge. Le message de requête EAP s13 contient le défi dans le champ c13 du message. En plus du défi il est possible de préciser l'identité du serveur d'authentification à l'origine du message de requête dans le champ c14. Le serveur d'authentification 150 envoie le message de requête EAP s13 à l'authentifiant 140. Dans une étape 15, consécutive à la réception du message de requête
EAP s13, l'authentifiant 140 relaie le message de requête EAP s13 au pair 130 dans un message de requête EAP s14.
Dans une étape 16, consécutive à la réception du message de requête EAP s14, le pair 130 extrait le défi du message de requête EAP s13 et l'utilise pour construire une réponse. La réponse est calculée par application de la fonction de hachage MD5 à un flux d'octets constitué du défi, suivi du secret détenu par le pair 130 et de l'identifiant du message de requête s14 récupéré dans le champ c8 du message. Le pair 130 envoie une réponse EAP s15 à l'authentifiant 140 qui contient la réponse au défi dans le champ c13. Le champ c14 de la réponse EAP s15 peut être utilisé pour préciser l'identité du pair 130 qui émet la réponse.
Dans une étape 17, consécutive à la réception de la réponse EAP s15, l'authentifiant 140 relaie la réponse EAP s15 au serveur d'authentification 150 dans un message de réponse EAP si 6. Dans une étape 18, consécutive à la réception du message de réponse
EAP s16, le serveur d'authentification 150 vérifie l'authentification du pair 130. Pour cela il calcule une valeur d'authentification en appliquant le fonction de
hachage MD5 à un flux d'octets constitué du défi qu'il a généré à l'étape 14, suivi du secret propre au pair 130 qu'il détient et de l'identifiant des messages de requête et de réponse qui figure dans le champ c8 du message de réponse EAP s16. Si la valeur d'authentification est égale à la réponse au défi qui figure dans le champ c17 du message de réponse EAP s16, alors l'authentification du pair 130 a réussi, sinon elle a échoué. Dans les deux cas, le serveur d'authentification 150 génère un message EAP s17 précisant le résultat de l'authentification. Dans le cas d'une authentification réussie le message EAP s17 est un message EAP de type "EAP Success". Dans le cas où l'authentification a échoué, le message EAP s17 est un message EAP de type "EAP Failure". Le serveur d'authentification 150 envoie le message EAP s17 à l'authentifiant 140.
Dans une étape 19 consécutive à la réception du message EAP s17 envoyé par le serveur d'authentification 150 à l'étape 18, l'authentifiant 140 relaie le message EAP s17 au pair 130 dans un message EAP"s18.
Dans une étape 20, consécutive à la réception du message EAP s18, le pair 130 est accède ou non à la ressource physique.
Dans une réalisation particulière de l'authentification EAP, tous les messages EAP échangés entre l'authentifiant 140 et le serveur d'authentification 150 sont encapsulés dans des messages conformes à un protocole de type AAA (Authentication, Authorization and Accounting), par exemple RADIUS.
La figure 5 illustre un mécanisme d'authentification qui met en œuvre un procédé de traduction de messages d'authentification EAP MD5-Challenge en messages d'authentification PPP CHAP-RADIUS selon l'invention en décrivant des échanges de messages qui interviennent entre les entités concernées par le processus d'authentification ainsi que des traitements. Nous reprenons des termes de la terminologie EAP pour désigner les entités concernées par le processus d'authentification.
Un pair EAP 160 correspond au client à authentifier qui souhaite accéder à une ressource physique et qui pour cela doit s'authentifier. Un authentifiant
170 est le système authentifiant qui réalise le contrôle d'accès à la ressource physique. Un traducteur 180, spécifique à la présente invention met en œuvre le procédé selon l'invention et traduit des messages d'authentification conformes au protocole EAP et à la méthode EAP MD5-Challenge en messages conformes au protocole d'authentification PPP CHAP-RADIUS. Un module de traduction 181 est un programme destiné à être stocké dans une mémoire du traducteur 180 ; il comporte des instructions pour mettre en œuvre le procédé de traduction selon l'invention. Il gère une donnée interne 182 appelée contexte de conversation EAP courante destinée à stocker des informations de la conversation EAP en cours comme par exemple et de façon non exhaustive un identifiant de la conversation EAP en cours, la méthode d'authentification EAP choisie pour la conversation courante. Ces informations sont reçues au cours des échanges avec l'authentifiant 170 et un serveur RADIUS 190. Le serveur RADIUS 190 est en charge de l'authentification du pair EAP 160. Ce serveur RADIUS ne dispose pas de la fonction EAP lui permettant d'authentifier des clients EAP.
Dans une réalisation particulière de l'invention, tous les messages échangés entre le pair 160 et l'authentifiant 170 sont encapsulés dans un tunnel sécurisé, par exemple dans des messages conformes à EAP-TTLS. Dans une réalisation particulière de l'invention, tous les messages échangés entre l'authentifiant 170 et le traducteur 180 sont encapsulés dans des messages conformes à un protocole de type AAA, par exemple RADIUS.
Dans une étape initiale 22, l'authentifiant 170 génère et envoie un message de demande d'identité s20 au pair EAP 160. Conformément au format de messages EAP décrit dans la figure 2, le message contient dans le champ c10 une valeur qui correspond au type "Identity".
Dans une étape 23, consécutive à la réception du message EAP de demande d'identité s20, le pair EAP 160 génère et envoie un message de réponse EAP s21 contenant son identité dans le champ d 1 . Dans une étape 24, consécutive à la réception du message de réponse
EAP s21 , l'authentifiant 170 relaie le message de réponse EAP s21 au traducteur 180 dans un message EAP s22.
Dans une étape 25, consécutive à la réception du message de réponse EAP s22, le traducteur 180 analyse le message de réponse EAP s22. Le traducteur 180 récupère dans le champ c1 1 du message de réponse EAP s22 l'identité du pair EAP 160 à authentifier et stocke cette identité dans le contexte de la conversation EAP courante 182. Le contexte de la conversation EAP courante 182 est identifié de façon unique, entre autre grâce à un identifiant qui figure dans le champ c8 du message de réponse EAP s22 de type "Identity". Le traducteur 180 fait le choix d'une méthode d'authentification pour la conversation EAP courante qui est EAP MD5-Challenge. Le choix de la méthode EAP MD5-Challenge résulte de diverses considérations : l'identité du pair EAP 160, un identifiant de l'authentifiant 170 et toute autre information complémentaire dont le traducteur 180 dispose et qui lui permet de caractériser l'utilisateur associé au pair 160 et l'authentifiant 170 qui est le point d'accès. Les informations qui caractérisent l'utilisateur et le point d'accès au réseau sont avantageusement enregistrées dans le contexte de la conversation EAP courante 182. Le traducteur 180 enregistre le choix de la méthode EAP MD5- Challenge dans le contexte de conversation EAP courante 182. Le traducteur 180 choisit de traduire l'authentification EAP MD5-Challenge en PPP CHAP- RADIUS afin d'externaliser l'authentification vers un serveur RADIUS 190 qui ne dispose pas de la fonction EAP. Le traducteur choisit le serveur RADIUS par lequel il souhaite faire réaliser l'authentification. Pour faire ce choix, le traducteur 180 s'appuie sur différentes informations dont il dispose sur le pair EAP : l'identité du pair EAP stockée dans le contexte de la conversation EAP courante 182 et toute autre information dont dispose le traducteur 180 via un accès à un autre serveur ou à une base de données et qui permet de caractériser l'utilisateur associé au pair EAP 160 et l'authentifiant 170 qui est le point d'accès au réseau. Ces informations sont stockées dans le contexte de la conversation EAP courante 182. Le traducteur 180 détermine qu'il doit demander au serveur RADIUS 190 de générer un défi et envoie une requête RADIUS "Access-Request" s23 au serveur RADIUS 190. Dans une réalisation alternative de l'invention, le traducteur 180 choisit de générer lui-même le défi.
Dans ce cas, aucun échange de messages n'a lieu avec le serveur RADIUS 190.
Dans une étape 26 consécutive à la réception de la requête RADIUS "Access- Request" s23, le serveur RADIUS 190 génère le défi et envoie au traducteur 180 une réponse RADIUS "Access-Challenge" s24 qui contient le défi dans un attribut RADIUS "Reply-Message".
Dans une étape 27 consécutive à la réception de la réponse RADIUS s24, le traducteur 180 génère un message EAP de défi s25. Le défi reçu du serveur RADIUS 190 dans la réponse RADIUS s24 est inséré dans le champ c13 d'un message EAP de défi s25. Dans la réalisation alternative de l'invention où le traducteur 180 choisit de générer lui-même le défi, le défi est inséré dans le champ c13 du message EAP de défi s25 et stocké dans le contexte de la conversation EAP courante 182. Le traducteur 180 stocke la façon dont a été généré le défi dans le contexte de la conversation courante EAP 182. Le champ c14 du message EAP de défi s25 est avantageusement utilisé pour préciser l'identité du serveur d'authentification 190 qui a généré le défi. Dans la réalisation alternative de l'invention où le traducteur 180 choisit de générer lui-même le défi, le champ c14 du message EAP de défi s25 est avantageusement utilisé pour préciser l'identité du traducteur 180 à l'origine du message EAP de défi s25. Le traducteur 180 envoie le message EAP de défi s25 à l'authentifiant 170 en fin d'étape 27.
Dans une étape 28, consécutive à la réception du message EAP de défi s25, l'authentifiant 170 relaie le message EAP de défi s25 au pair EAP 160 dans un message EAP de défi s26. Dans une étape 29, consécutive à la réception du message EAP de défi s26, le pair EAP 160 extrait le défi du champ c13 du message EAP de défi s26 et génère un message de réponse EAP s27. Pour cela, le pair EAP 160 calcule une réponse au défi en appliquant la fonction de hachage MD5 à un flux d'octets constitué de la valeur du défi, suivi d'un secret propre au pair EAP 160, suivi de l'identifiant du message s26 extrait du champ c8 du message EAP de défi s26. La réponse au défi est insérée dans le champ c13 du message de réponse EAP s27. Le champ c14 du message de réponse EAP s27 peut
avantageusement être utilisé pour préciser l'identité du pair EAP 160. Le pair EAP 160 envoie le message de réponse EAP s27 à l'authentifiant 170.
Dans une étape 30, consécutive à la réception du message de réponse EAP s27, l'authentifiant 170 relaie le message de réponse EAP s27 au traducteur 180 dans un message s28.
Dans une étape 31 , consécutive à la réception du message de réponse EAP s28, le traducteur 180 analyse le message de réponse EAP s28. Il récupère dans le champ c13 la réponse au défi et dans le champ c14, s'il est renseigné, le nom de l'entité qui a émis le message. Le traducteur stocke la réponse au défi et, éventuellement l'identité de l'entité qui a émis le message dans le contexte de la conversation EAP courante 182. Dans une réalisation alternative de l'invention, où le choix d'externaliser l'authentification vers un serveur RADIUS n'a pas été fait au cours de l'étape 25, ce choix est fait maintenant ainsi que le choix du serveur RADIUS. Pour faire ce choix, le traducteur 180 s'appuie sur différentes informations dont il dispose sur le pair EAP 160 : l'identité du pair EAP 160 stockée dans le contexte de la conversation EAP courante 182, l'émetteur du message de réponse à la requête de défi et toute autre information dont dispose le traducteur 180 via un accès à un autre serveur ou à une base de données et qui permet de caractériser l'utilisateur associé au pair EAP 160 et l'authentifiant 170 qui est le point d'accès au réseau. Le traducteur 180 construit une requête RADIUS "Access- Request" s29 qui contient des informations d'authentification nécessaires au serveur RADIUS 190 pour réaliser l'authentification du pair EAP 160. En particulier des informations d'authentification récupérées dans des étapes précédentes sont utilisées par le traducteur 180 afin de générer des attributs RADIUS d'authentification suivants :
- un attribut "User-Name" qui correspond à l'identité de l'utilisateur associé au pair EAP 160. L'identité de l'utilisateur est par exemple et de façon non exhaustive une adresse MAC (Media Access Control pour contrôle d'accès au média), une adresse IP du pair EAP 160 ou l'identité insérée dans le champ c14 du message s27 par le pair EAP. La valeur de cet attribut est obtenue à partir d'informations contenues dans des champs de messages précédemment
échangés et stockées au fur et à mesure dans le contexte de conversation EAP courante 182. Le traducteur 180 utilise tout ou partie de ces informations pour construire l'attribut "User-Name" : le champ d 1 du message de réponse EAP s22 à la demande d'identité reçu par le traducteur 180 dans l'étape 25. Dans une réalisation particulière de l'invention où le message de réponse EAP s22 a été encapsulé dans un message RADIUS, une copie du champ c1 1 est contenue dans l'attribut "User-Name" du message RADIUS s22. le champ c14 du message de réponse EAP s28 qui contient avantageusement l'identité du pair EAP 160. toute autre information permettant d'identifier l'utilisateur. Dans une réalisation particulière de l'invention où les messages EAP échangés entre l'authentifiant 170 et le traducteur 180 sont encapsulés dans un protocole de type AAA, comme par exemple RADIUS, des attributs de ce protocole sont avantageusement utilisés.
Dans une réalisation particulière de l'invention, le traducteur 180 complète l'attribut "User-Name" ou crée un identifiant à partir d'informations propres à l'utilisateur qu'il détient, par exemple des informations stockées dans une base de données à laquelle le traducteur 180 a accès. - un attribut "CHAP-Password" qui précise l'identifiant du message de réponse EAP s28 et la réponse au défi extraite du champ c13 du message de réponse s28. L'attribut "CHAP-Password" est renseigné dans le cas où le défi est stocké par le traducteur 180 et envoyé au serveur RADIUS 190 dans la requête RADIUS s29, dans un attribut RADIUS "CHAP-Challenge" ou dans le champ "Authenticator" de la requête RADIUS s29.
- un attribut "User-Password" qui contient l'identifiant du message de réponse EAP s28 et la réponse au défi extraite du champ c13 du message de réponse EAP s28. L'attribut "User-Password" est renseigné dans le cas où le défi n'est pas envoyé par la traducteur 180 au serveur RADIUS 190 dans la requête RADIUS S29.
Dans la réalisation alternative de l'invention où le traducteur 180 génère lui- même le défi, le traducteur 180 précise dans un attribut "CHAP-Challenge" ou
dans le champ "Authenticator" de la requête RADIUS s29, la valeur du défi et dans un attribut "CHAP-Password" l'identifiant du message de réponse EAP s28 et la réponse au défi extraite du champ c13 du message de réponse EAP s28. Dans une réalisation particulière de l'invention des traitements complémentaires de type proxy sont également mis en œuvre par le traducteur 180. Ainsi, des informations connues du traducteur 180 sont envoyées au serveur RADIUS 190 dans des attributs RADIUS. Les informations sont par exemple et de façon non exhaustive la précision par le traducteur 180 d'informations associées à l'authentifiant 170 ou au pair EAP 160 et qui pourraient être utiles au serveur RADIUS.
La requête RADIUS "Access-Request" s29 construite par le traducteur 180 est envoyée en fin d'étape 31 au serveur RADIUS 190.
Dans une étape 32, consécutive à la réception de la requête RADIUS "Access-Request" s29 le serveur d'authentification 190 vérifie l'authentification de l'utilisateur de la même manière que pour la méthode PPP CHAP.
Le serveur RADIUS 190 envoie un message de résultat de l'authentification s30 au traducteur 180. Le message de résultat de l'authentification s30 est une réponse RADIUS "Access-Accept" dans le cas où l'authentification a réussi et une réponse RADIUS "Access- Reject" en cas d'échec.
Dans une étape 33, consécutive à la réception du message de résultat de l'authentification s30, le traducteur 180 analyse le message de résultat de l'authentification s30 et prépare la traduction dudit message s30 en un message EAP. La préparation de la traduction consiste à choisir un message à envoyer au système authentifiant comme résultat de l'authentification. Le traducteur fait le choix du message de réponse en fonction de la réponse RADIUS reçue, et/ou de valeurs d'attributs RADIUS de la réponse RADIUS, et/ou de conditions internes au traducteur. Dans un exemple de réalisation de l'invention, le traducteur génère un message de réponse s31 qui est un message EAP "EAP- Success" dans le cas où le message s30 est une réponse RADIUS "Access- Accept" et un message EAP "EAP-Failure" dans le cas où le message s30 est
une réponse RADIUS "Access- Reject". Dans une réalisation particulière de l'invention, des traitements de type proxy sont également possibles pour adapter le message de réponse s31 en fonction de critères définis dans le traducteur 180. Le message de réponse s31 est envoyé à l'authentifiant 170 en fin d'étape 33.
Dans une étape 34, consécutive à la réception du message de réponse s31 , l'authentifiant 170 relaie le message de réponse EAP s31 "EAP-Success" ou "EAP-Failure" au pair EAP 160 dans un message s32.
Dans une étape 35 consécutive à la réception du message s32, le pair EAP 160 accède ou non à la ressource physique.
Pour des raisons de clarté, les mécanismes propres aux protocoles EAP et RADIUS liés à des réémissions de messages et à des stockages d'informations nécessaires aux réémissions ne sont pas décrits.
La figure 6 illustre les échanges de messages qui ont lieu dans une seconde variante du procédé de traduction selon l'invention dans laquelle les fonctions du traducteur tel que présenté à la figure 5 sont intégrées dans le système authentifiant. Un pair EAP 200 est le client à authentifier. Un authentifiant-traducteur 210 est le système authentifiant qui réalise le contrôle d'accès à la ressource physique et qui intègre les fonctions du traducteur. Un serveur RADIUS 220 réalise le contrôle d'accès du pair EAP 200.
Les étapes 41 , 42, 44, 46, 48, 50 sont identiques/de même type que les étapes 22, 23, 26, 29, 32, 35 décrites en référence à la figure 5.
Dans une étape 43, comparable à l'étape 25 de la figure 6, l'authentifiant- traducteur 210 détermine que la méthode d'authentification EAP à utiliser est EAP MD5-Challenge et qu'il doit demander au serveur RADIUS 220 de générer un défi. L'authentifiant-traducteur 210 envoie une requête RADIUS "Access- Request" s42 au serveur RADIUS 220. Dans une réalisation alternative de l'invention, l'authentifiant-traducteur 210 choisit de générer lui-même le défi. Dans ce cas, aucun échange de messages n'a lieu avec le serveur RADIUS 220.
Dans une étape 45 consécutive à la réception d'une réponse RADIUS "Access-Challenge" s43 (qui est de même type que la réponse s24 selon la figure 5) qui contient le défi demandé à l'étape 43, l'authentifiant-traducteur 210 génère un message EAP de défi s44. Le défi reçu du serveur RADIUS 220 dans la réponse RADIUS "Access-Challenge" s43 est inséré dans le champ c13 d'un message EAP de défi s44.
Dans une réalisation alternative de l'invention où l'authentifiant-traducteur 210 génère lui-même le défi, le défi est inséré dans le champ c13 du message EAP de défi s44. De façon avantageuse l'identité de l'authentifiant-traducteur 210 est précisée dans le champ c14 du message EAP de défi s44. Le message EAP de défi s44 est envoyé au pair EAP 200 en fin d'étape 45.
Dans une étape 47, consécutive à la réception d'un message de réponse EAP s45 (qui est de même type que le message s27 selon la figure 5) un traitement comparable à celui réalisé par le traducteur à l'étape 31 selon la figure 5 est réalisé. L'authentifiant-traducteur 210 génère une requête RADIUS "Access- Request" s46 à partir des informations d'authentification contenues dans les messages EAP échangés dans des étapes précédentes. La requête RADIUS "Access- Request" s46 comprend plusieurs attributs RADIUS : - un attribut "User-Name" dans lequel l'authentifiant-traducteur 210 insère l'identifiant de l'utilisateur associé au pair EAP 200 qui peut être constitué d'informations récupérées dans le champ d 1 du message EAP s41 et dans le champ c14 du message EAP s41 . Dans une réalisation particulière de l'invention, l'authentifiant-traducteur 210 complète l'attribut "User-Name" ou crée un identifiant à partir d'informations propres à l'utilisateur qu'il détient, par exemple des informations stockées dans une base de données à laquelle l'authentifiant-traducteur 210 a accès. - un attribut "CHAP-Password" dans lequel l'authentifiant-traducteur 210 copie l'identifiant du message de réponse EAP s45 qui est l'identifiant de la conversation EAP courante et la réponse au défi extraite du champ c13 du message de réponse EAP s45. L'attribut "CHAP-Password" est renseigné dans le cas où le défi est stocké par l'authentifiant-traducteur 210 et envoyé au
serveur RADIUS 220 dans la requête RADIUS s46, dans un attribut RADIUS "CHAP-Challenge" ou dans le champ "Authenticator" de ladite requête. - un attribut "User-Password" qui contient l'identifiant du message de réponse s45 et la réponse au défi extraite du champ c13 du message de réponse EAP s45. L'attribut "User-Password" est renseigné dans le cas où le défi n'est pas envoyé par l'authentifiant-traducteur 210 au serveur RADIUS 220 dans la requête RADIUS s46.
Dans la réalisation alternative de l'invention où l'authentifiant-traducteur 210 génère lui-même le défi, l'authentifiant-traducteur 210 précise dans un attribut "CHAP-Challenge" ou dans le champ "Authenticator" de la requête RADIUS s46, la valeur du défi et dans un attribut "CHAP-Password" l'identifiant du message de réponse EAP s45 et la réponse au défi extraite du champ c13 du message de réponse EAP s45.
Dans une réalisation particulière de l'invention des traitements complémentaires de type proxy sont également mis en œuvre par l'authentifiant-traducteur 210 qui envoie des informations dans des attributs RADIUS au serveur RADIUS 220. Le message de réponse EAP s46 est envoyé au serveur RADIUS 220.
Dans une étape 49, consécutive à la réception d'un message de résultat de l'authentification s47 (qui est de même type que le message s30), l'authentifiant-traducteur 210 génère un message de réponse s48 à l'attention du pair EAP 200 qui est un message EAP "EAP-Success" dans le cas où le message s47 est une réponse RADIUS "Access-Accept" et un message EAP "EAP-Failure" dans le cas où le message s47 est une réponse RADIUS "Access-Reject". Dans une réalisation particulière de l'invention, des traitements de type proxy sont également possibles pour adapter le message de réponse s48 en fonction de critères définis dans l'authentifiant-traducteur 210.
Dans une étape 50 consécutive à la réception du message de réponse s48 le pair EAP 200 accède ou non à la ressource physique.
La figure 7 est un schéma représentant un exemple d'architecture de réseau où sont représentées les entités qui interviennent dans le procédé de traduction selon l'invention.
Le pair EAP 160 (le terme couramment utilisé est le terme anglais "peer") souhaite accéder à une ressource physique d'un réseau 250 de type IP contrôlée par l'authentifiant 170 qui constitue un point d'accès au réseau. Le pair EAP 160 doit au préalable s'authentifier. Le serveur RADIUS 190 vérifie que le pair EAP 160 est authentifié et a le droit d'accéder à la ressource physique du réseau 250. Le serveur RADIUS 190 ne dispose pas de la fonction EAP.
Le pair EAP 160, pour s'authentifier, dialogue avec l'authentifiant 170 conformément à la méthode d'authentification EAP MD5-Challenge. L'authentifiant 170 demande au serveur RADIUS 190 de vérifier si le pair EAP 160 a le droit d'accéder à la ressource. Pour cela, le pair EAP 160 dialogue avec le traducteur 180, spécifique à l'invention, qui traduit les messages d'authentification EAP MD5-Challenge en des messages d'authentification PPP CHAP-RADIUS compréhensibles par le serveur RADIUS 190. Le traducteur 180 fournit au serveur RADIUS 190 les données d'authentification propres au pair EAP 160 et reçues de l'authentifiant 170. Il reçoit du serveur RADIUS 190 le résultat de l'authentification. Il traduit ce résultat à l'attention de l'authentifiant 170. L'authentifiant 170 informe le pair EAP 160 du résultat de l'authentification.
La figure 8 est un schéma représentant une seconde variante de l'architecture de réseau où sont représentées les entités qui interviennent dans le procédé de traduction selon l'invention. Dans cette variante l'authentifiant- traducteur 210, spécifique à l'invention est le système authentifiant qui réalise les fonctions de l'authentifiant 170 et du traducteur 180 selon la figure 7.
La figure 9 est un schéma illustrant l'organisation fonctionnelle d'un traducteur et d'un authentifiant-traducteur selon l'invention.
Le traducteur 180 est composé des modules fonctionnels principaux suivants :
- un module d'obtention d'un défi 281 qui est une valeur aléatoire. Le défi est généré par le module ou obtenu par le module suite à une requête de génération faite auprès d'un serveur d'authentification.
- un module d'émission de messages 282. Ce module est chargé d'envoyer des messages préparés par un module de traitement de messages ou le module d'obtention d'un défi 281 vers une entité externe. Il dispose pour cela de plusieurs interfaces externes : une interface i282-1 pour émettre des messages vers un serveur d'authentification et une interface i282-3 pour émettre des messages vers un authentifiant. - un module de réception des messages 283. Ce module reçoit des messages d'entités externes via plusieurs interfaces : une interface i283-1 pour recevoir les messages envoyés par l'authentifiant et une interface i283-3 pour recevoir des messages de du serveur d'authentification. Il transmet les messages reçus à un module de traitement. - un module de traitement 284. Ce module analyse des messages reçus du module de réception de messages 283, traduit des données d'authentification d'un protocole en un autre et génère des messages à envoyer par le module d'émission de messages 282.
- un module de choix d'une méthode d'authentification 285 supportée par EAP.
Un canal de communication 288 permet aux modules d'échanger des informations. Par exemple le module d'obtention d'un défi 281 peut transmettre au module d'émission de messages 282 une requête de demande de défi que le module d'émission de messages 282 envoie à un serveur d'authentification. L'authentifiant-traducteur 210 comprend les mêmes modules fonctionnels que le traducteur 180. Le module d'émission de messages 282 diffère de celui du traducteur 180 en ce qu'il possède une interface i282-2 lui permettant d'émettre des messages à l'attention d'un pair et en ce qu'il ne dispose pas de l'interface i282-3 avec l'authentifiant. Le module de réception de messages 283 de l'authentifiant-traducteur 210 diffère de celui du traducteur 180 en ce qu'il ne dispose pas de l'interface i283-1 avec l'authentifiant et en ce
qu'il dispose d'une interface i283-2 lui permettant de recevoir des messages du pair.
Les blocs fonctionnels décrits ci-avant et les interfaces sont avantageusement implémentés sous forme de programmes stockés dans une mémoire du traducteur 180, respectivement de l'authentifiant-traducteur 210, et exécutés par un processeur dudit traducteur, respectivement dudit authentifiant- traducteur.
La figure 10 est un schéma qui présente les principaux composants d'un traducteur 180 selon l'invention.
Un processeur 360 (le terme couramment utilisé est "CPU" : "Central Processing Unit" pour unité centrale de traitement) est un composant central où sont effectués les principaux calculs. En particulier, il exécute des programmes chargés dans une mémoire vive 365 (le terme couramment utilisé est "RAM" pour "Random Access Memory") qui stocke les données qui vont être traitées par le processeur 360.
Des périphériques 370 assurent les communications entre le processeur et le monde extérieur. Ils ne sont pas détaillés sur le schéma pour des raisons de clarté. Par exemple et de façon non exhaustive un périphérique est un module de raccordement au réseau, un disque amovible.
Un bus 375 permet le transfert des données entre les composants du traducteur 180.
Un programme 380 de traduction propre à l'invention, est stocké dans un périphérique non représenté sur le schéma. Il comprend des modules fonctionnels tels que décrits à la figure 9 et implémentés sous forme d'instructions du programme. Il est chargé en mémoire vive 365 pour exécution des instructions par le processeur.
La figure 10 s'applique également à un authentifiant-traducteur 210 selon la figure 6. Les principaux composants de l'authentifiant-traducteur sont identiques à ceux du traducteur 180. Seul le programme 380 de traduction est différent. Dans le cas de l'authentifiant-traducteur, un programme spécifique comprend des modules fonctionnels tels que décrits à la figure 9, implémentés
sous forme d'instructions du programme. Ledit programme est chargé en mémoire vive 365 pour exécution des instructions par le processeur.