Brevet FR2872978A1 — publié le 20060113

PROCEDE D'AUTHENTIFICATION SECURISE SUR UN RESEAU SANS FIL CONFORME A LA NORME 802.11, SYSTEME ET DISPOSITIF POUR LA MISE EN OEUVRE DU PROCEDE L'invention concerne le domaine des réseaux radiofréquence sans fil, également connus sous l'acronyme "WLAN" pour l'expression anglo-saxonne "Wireless Local Area Network" et, plus particulièrement dans ce domaine, un procédé d'authentification pour accéder de manière sécurisé au réseau. Actuellement, essentiellement deux types de réseaux sans fil sont déployés. Un premier type de réseau est défini par la norme 802.11. Par abus de langage, on parlera par la suite de réseau 802.11. Cette technologie déjà ancienne, connue depuis environ 10 à 15 ans, concerne la plupart des réseaux locaux radiofréquence sans fil existant dans les aéroports, les entreprises, les hôtels, etc. L'accès à un réseau selon la norme 802.11 se fait par la fourniture d'un identifiant et d'un mot de passe, moyennant un abonnement ou une carte prépayée. Le principal inconvénient de ce type de réseau est le manque de sécurité dans le transfert de données, et surtout au niveau de l'authentification d'un utilisateur souhaitant se connecter au réseau, le mot de passe étant facilement partageable, transférable ou même facilement retrouvé ou deviné Un deuxième type de réseau est défini par la norme 802.1x. Par abus de langage, on parlera par la suite de réseau 802.1x. Cette technologie, plus récente, est en pratique une amélioration de la technologie 802.11, amélioration qui vise essentiellement à résoudre les problèmes de sécurité dans l'authentification d'un utilisateur. L'accès au réseau est contrôlé par le relais de communication, communément appelé point d'accès ou Access Point. Le point d'accès fait authentifier l'utilisateur par un serveur d'authentification comme par exemple un serveur RADIUS (Remote Authentication Dial up User service) en s'appuyant sur un protocole d'authentification (Extensible authentication protocol, EAP) générique. Ce protocole EAP permet entre autre d'utiliser un échange d'authentification, dit échange challenge- response'. Le module d'identification est par exemple une carte à puce contenant des données confidentielles de l'utilisateur; de telles cartes sont connues dans la téléphonie sous l'acronyme SIM pour "Subscriber Identity Module" ; plus généralement, de telles cartes sont des cartes d'identité de l'abonné, contenant son identité internationale (IMSI = International Mobile Subscriber Identity) et une clé secrète pour des opérations d'authentification sur le réseau. Les réseaux selon la norme 802.1x sont bien plus intéressants que les réseaux 802.11 d'un point de vue sécurité d'accès au réseau. Cependant cette technologie a du mal à se déployer car les deux types de réseaux ont du mal à cohabiter. Plus précisément, pour permettre l'accès à un réseau de type 802.1x à un utilisateur disposant uniquement d'un accès à un réseau de type 802.11, il est nécessaire de prévoir un accès au réseau 802.1x via la fourniture d'un identifiant et d'un mot de passe. Bien entendu, dans une telle situation, toute la sécurité d'accès inhérente à la norme 802.1x est perdue. Inversement, un utilisateur disposant uniquement d'un accès à un réseau 802.1x moyennant un module d'authentification ou une carte d'identité, telle qu'une carte UICC, ne peut pas accéder à un réseau de type 802.11 car il ne dispose pas à priori, d'un identifiant et d'un mot de passe. Une carte UICC est un circuit physiquement sécurisé (par exemple une carte à puce), qui peut être inséré et enlevé d'un terminal, et qui peut contenir une ou plusieurs modules, l'un de ces modules pouvant être par exemple un module SIM. Pour des raisons évidentes de sécurité, la clé secrète mémorisée dans la carte d'identité ne peut être utilisée en lieu et place d'un mot de passe. A cause de ces difficultés de cohabitation, et dans la mesure où la plupart des réseaux sans fils sont de type 802.11, un opérateur qui souhaite déployer aujourd'hui un réseau sans fil hésite à déployer un réseau 802.1x car ses futurs abonnés ne pourront pas accéder aux nombreux réseaux 802.11 environnant, sans avoir recours à l'utilisation d'un couple identifiant / mot de passe en plus de leur carte d'identité. L'invention a pour but de faciliter le déploiement des réseaux sécurisés de type 802.1x en proposant un procédé d'authentification, permettant un accès sécurisé à un réseau 802.11 pour un abonné d'un réseau 802.1x disposant d'une carte d'identité mais pas d'un identifiant ni d'un mot de passe. Pour cela, l'invention propose un procédé d'authentification d'un utilisateur demandant un accès à un premier réseau sans fil, caractérisé en ce que un serveur d'authentification utilise une carte d'identité de l'utilisateur prévue pour l'authentification de l'utilisateur sur un serveur d'un deuxième réseau de nature différente pour authentifier l'utilisateur. Par réseaux de nature différente, il faut comprendre des réseaux conformes à des normes différentes et ayant en conséquence des caractéristiques différentes, notamment pour ce qui concerne l'authentification d'un utilisateur. Dans un exemple de mise en uvre, le premier réseau est un réseau conforme à la norme 802.11 et le deuxième réseau est un réseau conforme à la norme 802.1x. Dans cet exemple, au cours du procédé selon l'invention, une carte d'identité de l'utilisateur calcule un mot de passe à usage unique puis fournit un identifiant utilisateur et le dit mot de passe à usage unique à un serveur d'authentification au réseau qui autorise l'utilisateur à accéder ou non au réseau en fonction du résultat de la comparaison de l'identifiant et du mot de passe à usage unique à des données associées mémorisées dans une base de données accessible au serveur d'authentification d'accès. L'idée essentielle de l'invention est ainsi d'utiliser les données sécurisées d'une carte d'identité permettant d'accéder à un réseau 802.1x, comme par exemple une carte SIM ou une carte UICC, pour générer un mot de passe à usage unique (connu également sous l'acronyme OTP pour "One Time Password") et d'utiliser ce mot de passe à usage unique et un identifiant utilisateur mémorisé dans la carte pour demander l'accès de manière transparente à un réseau de type 802.11. Un abonné d'un réseau type 802.1x, muni d'une carte d'identité sécurisée, peut ainsi accéder et utiliser un réseau de type 802.11 tout en utilisant les même données secrètes d'authentification et en conservant un niveau de sécurité important. Le procédé d'authentification selon l'invention est mis en oeuvre à chaque demande d'accès à des réseaux différents, à un même réseau, à chaque changement de borne d'accès, etc. Le procédé de l'invention est mis en oeuvre dans un dispositif d'accès à un réseau sans fils conforme à la norme 802.11, coopérant avec une carte d'identité amovible d'un utilisateur, le dispositif comprenant un module de connexion au réseau, un module de commande par l'utilisateur et un module de gestion de l'accès au réseau pour: É sur demande de l'utilisateur par l'intermédiaire du module de commande, demander l'accès au réseau par l'intermédiaire du module de connexion, É sur demande d'un serveur d'accès au réseau, demander à la carte d'identité de calculer un mot de passe à usage unique à partir d'un germe mémorisé dans la carte d'identité, É fournir au serveur d'accès le mot de passe à usage unique précédemment calculé et un identifiant utilisateur mémorisé dans la carte d'identité. L'invention concerne également un système d'authentification d'un utilisateur demandant un accès à un premier réseau sans fil, caractérisé en ce qu'il comprend un serveur d'authentification pour authentifier l'utilisateur en coopérant avec une carte d'identité de l'utilisateur prévue pour l'authentification de l'utilisateur sur un serveur d'un deuxième réseau de nature différente. Dans un exemple le premier réseau est un réseau conforme à la norme 802. 11 et / ou le deuxième réseau est un réseau conforme à la norme 802.1x. De préférence, le serveur d'authentification comprend un moyen de comparaison pour comparer un identifiant et un mot de passe à usage unique reçu de la carte d'identité à des données associées mémorisées dans une base de données accessible au moyen de comparaison, puis autoriser ou non l'utilisateur à accéder au premier réseau. D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui est faite ci-après d'un dispositif et d'un procédé d'authentification selon l'invention. Cette description est faite à titre indicatif et nullement limitatif, en référence au dessin annexé dans lequel la figure unique est une représentation schématique d'un dispositif conforme à l'invention. Le dispositif selon l'invention comprend essentiellement un module de commande, un module de gestion de l'accès au réseau, une carte d'identité et un module de connexion au réseau. La carte d'identité est par exemple une carte à puce, etc. dans laquelle sont mémorisées notamment des données sécurisées de l'abonné d'un réseau de type 802.1x. Dans le cas d'un réseau GSM par exemple, la carte d'identité est connue sous le nom de carte SIM. Sont ainsi mémorisées notamment un identifiant de l'abonné et une clé secrète pour l'authentification. L'identifiant peut être un numéro attribué par l'opérateur propriétaire du réseau 802.1x et ayant fourni la carte d'identité à l'abonné lors de son inscription. L'identifiant et la clé secrète sont mémorisés dans la carte d'identité par exemple au moment de la personnalisation de la carte par l'opérateur qui la fournit. Selon l'invention, la carte d'identité mémorise également un germe nécessaire à la génération de mots de passe à usage unique. Ce germe est un nombre obtenu à partir de l'identifiant de l'utilisateur, par exemple par une fonction de hachage ou de chiffrement connue. Egalement, pour améliorer la sécurité, le germe peut être obtenu à partir d'un calcul cryptographique connu sur la combinaison de l'identifiant utilisateur et de la clé secrète. Le germe est produit et mémorisé dans la carte d'identité par l'opérateur au moment de la personnalisation de la carte ou généré automatiquement par la carte à la première utilisation ou lors d'une demande d'activation expresse envoyée à la carte par l'opérateur. Enfin, selon l'invention, la carte d'identité comprend également un compteur et des moyens pour calculer des mots de passe à usage unique (OTP) à partir du germe et d'une fonction de hachage ou d'une fonction de chiffrement bien connue pour ce type de calcul. Sur demande du module de gestion, la carte d'identité réalise par exemple les étapes suivantes, consistant à : É calculer l'OTP en hachant une combinaison du germe et de la valeur du compteur de la carte, É incrémenter le compteur de la carte en prévision d'un prochain calcul d'OTP. Il est à noter que le compteur peut être incrémenté aussi bien avant le calcul de l'OTP qu'après. L'identifiant utilisateur et le germe sont par ailleurs mémorisés dans une base de données qui dans une implémentation préférée est celle de l'opérateur auprès duquel l'utilisateur est abonné. Le réseau 802.11 auquel l'utilisateur demande accès peut avoir le même propriétaire que celui du réseau 802.1x auquel l'utilisateur est abonné, ou bien les deux réseaux sont propriété d'opérateurs différents ayant des accords de coopération et donnant accès à leurs bases de données respectives. En fait, des mécanismes connus permettent au réseau 802. 11 de déléguer l'authentification de l'utilisateur au serveur de son réseau d'appartenance. Un avantage important que l'invention est ainsi que l'utilisateur est géré de manière classique par l'opérateur. Le module de connexion réseau est un module connu qui permet de réaliser une connexion à un réseau sans fil (via une borne d'accès), comme par exemple dans un "hotspot" (un hotspot est une zone contenant au moins une borne d'accès à un réseau sans fil). Il permet également d'une part de transmettre au réseau des données qu'il reçoit du module de gestion de l'accès au réseau ou du module de données abonné, et d'autre part de transmettre au module de gestion ou au module de données des données qu'il reçoit du réseau. Le module de commande utilisateur est également un module connu; c'est un terminal, muni par exemple d'un écran, d'un clavier ou de quelques touches, qui permet à un utilisateur de transmettre des données au module de gestion de l'accès au réseau. Les données transmises peuvent être par exemple des instructions telle qu'une requête d'accès à un réseau, ou bien un identifiant, un mot de passe, etc. Le module de gestion de l'accès au réseau a pour fonction de piloter le fonctionnement de la carte d'identité de l'abonné et du module de connexion au réseau en fonction de données reçues du module de commande utilisateur ou du réseau. Notamment, dans le cadre du procédé d'authentification selon l'invention, le module de gestion réalise les fonctions suivantes. É sur requête de l'utilisateur par l'intermédiaire du 10 module de commande, demande un accès au réseau via le module de connexion, É sur requête du serveur d'accès au réseau, demande à la carte d'identité de calculer un OTP et de fournir au serveur, via le module de connexion, l'identifiant utilisateur et l'OTP calculé Dans un exemple, une même carte à puce, dotée de moyens de connexion au réseau via un terminal, réalise l'ensemble des fonctions de la carte d'identité abonné et du module de connexion au réseau, et un terminal muni d'un lecteur de carte à puce réalise l'ensemble des fonctions du module de commande utilisateur et du module de gestion de l'accès au réseau. Dans un autre exemple, le dispositif selon l'invention est un téléphone ou un ordinateur portable dans lequel sont intégrés le module de commande, le module de gestion de l'accès au réseau, le module de connexion au réseau et un lecteur de carte à puce, destiné à recevoir une carte d'identité d'un abonné comme par exemple une carte UICC. Comme il a été dit précédemment, un utilisateur accède à un réseau 802.11 classiquement en fournissant, le plus souvent manuellement, un identifiant et un mot de passe par l'intermédiaire de son terminal de commande. L'identifiant et le mot de passe ont été fournis à l'utilisateur, lors de la prise d'un abonnement ou de l'achat d'une carte prépayée, par l'opérateur propriétaire du réseau 802.11 ou par un opérateur ayant des accords commerciaux avec le propriétaire du réseau 802.11. Ces mêmes données sont par ailleurs mémorisées dans la base de donnée dudit opérateur. Selon l'invention, l'utilisateur dispose d'une carte d'identité lui permettant d'accéder à un réseau de type 802.1x, et va utiliser cette carte d'identité pour accéder à un réseau 802.11, en utilisant un procédé d'authentification selon l'invention. Pour cela, lorsqu'un serveur d'accès au réseau 802.11 requiert un identifiant et un mot de passe de l'utilisateur ayant demandé l'accès au réseau via son terminal de commande, la carte d'identité calcule un mot de passe à usage unique sur la base de la valeur n du compteur qu'elle mémorise, puis transmet au dit serveur l'OTP calculé et l'identifiant de l'utilisateur qu'elle mémorise. De son côté, le serveur d'accès transmet cet identifiant et l'OTP associé au serveur mis en oeuvre pour l'authentification, ledit serveur appartenant à l'opérateur auprès duquel l'utilisateur prétend être abonné. Ce serveur d'authentification récupère ensuite dans sa base de données (ou dans une base de données d'un autre réseau auquel il a accès) le germe associé à l'identifiant utilisateur qu'il vient de recevoir, calcule un OTP correspondant et vérifie que l'OTP qu'il vient de calculer correspond bien à celui qui lui a été fourni par la carte d'identité et autorise ou non l'accès de l'utilisateur au réseau, selon que les OTP correspondent ou non. Même dans le cas où l'OTP calculé par le serveur et l'OTP fourni par la carte d'identité sont calculés à partir du même germe, il est possible que ces deux OTP ne correspondent pas, simplement parce qu'ils n'ont pas été calculé à partir de la même valeur de compteur. La carte d'identité et le serveur d'accès utilisent en effet chacun leur propre compteur pour déterminer la valeur de l'incrément à utiliser pour calculer l'OTP. Or, il se peut que ces deux compteurs n'aient pas été incrémentés simultanément, par exemple parce que la même carte d'identité a été utilisée pour accéder à des réseaux différents ou parce qu'il a été demandé de générer un OTP, sans que cet OTP soit envoyé au serveur d'accès au réseau, par exemple suite à une coupure de la communication sans fil. Pour éviter qu'une requête d'accès soit indûment rejetée par le serveur d'authentification, si le serveur d'authentification estime que l'OTP qu'il a calculé et l'OTP fourni par la carte d'identité ne correspondent pas, le serveur d'authentification répète les étapes suivantes, consistant à : É incrémenter son compteur de m à m+l, É calculer un nouvel OTP et le comparer avec l'OTP fourni par la carte d'identité, autant de fois que nécessaire ou autant de fois que cela est possible (généralement, limité en nombre) pour s'assurer qu'au moins un (ou aucun) des OTP de l'ensemble des OTP qu'il est possible de produire à partir d'un même germe correspond à l'OTP fourni par la carte d'identité. Le serveur s'assure ainsi qu'une absence de correspondance entre les OTP n'est pas due simplement à un décalage entre son propre compteur et le compteur de la carte d'identité. Il peut arriver cependant que le compteur du serveur d'accès atteigne une valeur maximale (fonction de la taille maximale) sans que le serveur ait pu produire un OTP correspondant à l'OTP fourni par la carte d'identité et bien que les germes utilisés par le serveur et par la carte d'identité soient les mêmes. C'est le cas par exemple si la carte d'identité produit un OTP de rang n et que le serveur commence à calculer des OTP à compter d'un rang m strictement supérieur à n. Ce problème correspond à un défaut de synchronisation, qui peut être résolu par une synchronisation de la carte d'identité et du serveur. Pour cela, il suffit d'imposer simultanément une même valeur aux compteurs de la carte d'identité et du serveur. Cette synchronisation peut se faire sur requête du serveur, par exemple lorsqu'il arrive à la valeur maximale de son compteur. Cette synchronisation peut également se faire à tout moment, sur requête de l'utilisateur ou du serveur. Egalement, il est possible de changer le germe utilisé pour la génération des mots de passe à usage unique. Ce changement consiste à remplacer l'ancien germe par un nouveau germe, obtenu en utilisant comme précédemment une fonction de hachage ou de chiffrement, à partir de l'identifiant utilisateur ou d'une combinaison de l'identifiant utilisateur et de sa clé secrète associée. Bien sûr, la base de données du serveur doit être mise à jours simultanément dans la mesure où elle mémorise également ce germe. Ce changement de germe peut être fait au cours d'une étape d'initialisation, réalisée une première fois au moment de la personnalisation de la carte d'identité, ou à tout moment sur demande de l'utilisateur, du serveur d'authentification, de l'opérateur propriétaire de la carte d'identité, etc. Cette étape d'initialisation peut également se faire simultanément avec une synchronisation du serveur avec la carte d'identité, bien que cela ne soit pas indispensable, soit selon une autre variante, automatiquement à toute authentification effectuée sur un réseau 802.1x, le serveur d'authentification et la carte d'identité s'authentifiant généralement mutuellement par des moyens autres que l'OTP. Le germe sera calculé sur la base des données dérivées de cette authentification mutuelle. On notera qu'avec le procédé selon l'invention, la connexion à un réseau 802.11 est totalement transparente pour l'utilisateur, qui n'a plus besoin de fournir lui-même son identifiant et son mot de passe. En effet, avec l'invention, lorsque le serveur demande un identifiant et un mot de passe, la réponse est donnée par le module de gestion et la carte d'identité, il n'est même pas nécessaire que l'utilisateur voit apparaître la requête du serveur d'accès. 14 REVENDICATIONS 1. Procédé d'authentification d'un utilisateur demandant un accès à un premier réseau sans fil, caractérisé en ce que un serveur d'authentification utilise une carte d'identité de l'utilisateur prévue pour l'authentification de l'utilisateur sur un serveur d'un deuxième réseau de nature différente pour authentifier l'utilisateur. 2. Procédé selon la revendication 1, dans lequel le premier réseau est un réseau conforme à la norme 802.11. 3. Procédé selon la revendication ou 2, dans lequel le deuxième réseau est un réseau conforme à la norme 802.1x. 4. Procédé selon l'une des revendications 2 ou 3, au cours duquel une carte d'identité de l'utilisateur calcule un mot de passe à usage unique puis fournit un identifiant utilisateur et le dit mot de passe à usage unique à un serveur d'authentification au réseau qui autorise l'utilisateur à accéder ou non au réseau en fonction du résultat de la comparaison de l'identifiant et du mot de passe à usage unique à des données associées mémorisées dans une base de données accessible au serveur d'authentification d'accès. 5. Procédé selon la revendication 4, dans lequel la carte d'identité mémorise l'identifiant utilisateur, une clé secrète et un germe pour la génération d'un ensemble de mots de passe à usage unique, ledit germe étant obtenu: É soit à partir de l'identifiant utilisateur, É soit à partir d'une combinaison de l'identifiant utilisateur et de la clé secrète. 6. Procédé selon l'une des revendications 4 à 5, au cours duquel, pour calculer un mot de passe à usage unique, la carte d'identité incrémente un nombre n, n étant un nombre représentatif du nombre de calculs de mots de passe à usage unique déjà réalisés à partir du dit germe, et effectue un calcul cryptographique non réversible à une combinaison du germe et le nombre n. 7. Procédé selon l'une des revendications 5 à 6, dans lequel l'identifiant utilisateur et le germe sont également mémorisés dans la base de données du serveur d'authentification. 8. Procédé selon la revendication 4, au cours duquel, pour autoriser ou non l'utilisateur à accéder au réseau, le serveur d'authentification calcule au moins un mot de passe à usage unique associé au germe, et le compare au mot de passe à usage unique fourni par la carte d'identité. 9. Procédé selon la revendication 4, au cours duquel, pour autoriser ou non l'utilisateur à accéder au réseau, le serveur d'authentification incrémente un compteur interne, calcule un mot de passe à usage unique associé au germe, et le compare au mot de passe à usage unique fourni par la carte d'identité, puis: É si le résultat de la comparaison est négatif, incrémente le compteur interne, calcule un nouveau mot de passe à usage unique et le compare au mot de passe à usage unique fourni par la carte d'identité, ceci autant de fois que nécessaire. É sinon, autorise l'utilisateur à accéder au réseau. 10. Procédé selon l'une des revendications 3 à 9, au cours duquel, dans une étape de synchronisation, réalisée avant un calcul de mot de passe à usage unique, le compteur de la carte d'identité et le compteur interne du serveur d'authentification sont réinitialisés à une même valeur. 11. Procédé selon l'une des revendications 3 à 10, au cours duquel, dans une étape d'initialisation, réalisée avant un calcul de mot de passe à usage unique, un nouveau germe est mémorisé dans la carte d'identité et dans la base de données. 12. Procédé selon la revendication 11 au cours duquel l'étape d'initialisation et / ou l'étape de synchronisation sont réalisées ponctuellement à la demande du serveur d'authentification. 13. Procédé selon la revendication 11, au cours duquel l'étape d'initialisation et / ou l'étape de synchronisation sont réalisées lorsque le compteur du serveur d'authentification a atteint un nombre maximum. 14. Procédé selon l'une des revendications 4 à 13, au cours duquel l'identifiant utilisateur, la clé secrète et le germe sont mémorisés dans la carte d'identité lors d'une phase initiale de personnalisation de la carte d'identité. 15. Procédé selon l'une des revendications 4 à 14, au cours duquel le germe est calculé et les compteurs sont synchronisés à chaque nouvelle connexion au deuxième réseau. 16. Système d'authentification d'un utilisateur demandant un accès à un premier réseau sans fil, caractérisé en ce qu'il comprend un serveur d'authentification pour authentifier l'utilisateur en coopérant avec une carte d'identité de l'utilisateur prévue pour l'authentification de l'utilisateur sur un serveur d'un deuxième réseau de nature différente. 17. Système selon la revendication 16, dans lequel le premier réseau est un réseau conforme à la norme 802.11 et / ou le deuxième réseau est un réseau conforme à la norme 802.1x. 18. Système selon l'une des revendications 16 ou 17, dans lequel le serveur d'authentification comprend un moyen de comparaison pour comparer un identifiant et un mot de passe à usage unique reçu de la carte d'identité à des données associées mémorisées dans une base de données accessible au moyen de comparaison, puis autoriser ou non l'utilisateur à accéder au premier réseau. 19. Dispositif d'accès à un réseau sans fils conforme à la norme 802.11, coopérant avec une carte d'identité amovible d'un utilisateur, le dispositif comprenant un module de connexion au réseau, un module de commande par l'utilisateur et un module de gestion de l'accès au réseau pour: É sur demande de l'utilisateur par l'intermédiaire du module de commande, demander l'accès au réseau par l'intermédiaire du module de connexion, É sur demande d'un serveur d'accès au réseau, demander à la carte d'identité de calculer un mot de passe à usage unique à partir d'un germe mémorisé dans la carte d'identité, É fournir au serveur d'accès le mot de passe à usage unique précédemment calculé et un identifiant utilisateur mémorisé dans la carte d'identité.