Brevet FR2852471A1 — publié le 20040917

L'invention concerne les dispositifs et procédés d'authentification permettant un accès sécurisé à des systèmes d'information ou tout autre application nécessitant une authentification. Les procédés d'authentification classiques consistent à vérifier l'identité d'un utilisateur en lui demandant de saisir son identifiant (son nom) et un mot de passe personnel, au moment o il se connecte à un système d'information. L'identifiant et le mot de passe sont transmis au système 10 d'information qui autorise ou non l'accès à l'utilisateur. Un inconvénient de ces procédés d'authentification est que les informations d'identification fournies par l'utilisateur peuvent être capturées lors de ses échanges avec le système d'information, et réutilisées. C'est pourquoi, il existe des procédés d'authentification dits " forts " 15 qui utilisent des moyens d'authentification logiciels ettou matériels (cartes à puce, token, biométrie, etc.). Certains moyens d'authentification de type logiciels mettent en oeuvre un protocole d'échange de type OTP (" One-time Password " selon la terminologie anglo-saxonne généralement employée) entre un serveur de 20 sécurité et l'utilisateur. Selon ce protocole, un mot de passe nouveau est généré à chaque fois qu'un utilisateur est authentifié, de sorte qu'il soit impossible de réutiliser un mot de passe lors d'une connexion ultérieure. Une particularité de ces moyens d'authentification logiciels est qu'ils comprennent des moyens générateurs de mot de passe chez l'utilisateur. Ces moyens générateurs se présentent par exemple sous la forme d'une application directement installée sur le terminal de l'utilisateur (c'est le cas par exemple des systèmes connus sous la marque " SofTokenTm "). Les moyens générateurs peuvent également se présenter sous forme d'une clé électronique pouvant être connectée à un port USB du 30 terminal de l'utilisateur (c'est la cas par exemple des systèmes connu sous la marque " iKeyT "). Enfin, les moyens générateurs peuvent également se présenter sous forme d'un appareil portable (c'est le cas par exemple des systèmes connus sous les marques "ActivCard OneTm ", " Silver 2000TM ", " MobilePassTm "). Le principal avantage de ces appareils est que l'utilisateur peut se connecter à partir de n'importe quel terminal, ce terminal n'intégrant pas d'application spécifique. Le protocole OTP est par exemple décrit dans le document " A One-Time Password System " mis à disposition du public sous la référence RCF 2289 par l'IETF (Internet Engineering Task Force). La procédure d'authentification selon le protocole OTP comprend plusieurs étapes. Selon l'une de ces étapes, un serveur de sécurité communique à un utilisateur souhaitant se connecter à un système d'information une variable d'accès sous la forme d'un code alphanumérique. Cette variable d'accès dépend de l'identifiant de l'utilisateur et de la chronologie de la connexion. L'utilisateur saisit le code fourni par le serveur de sécurité dans les moyens 15 générateurs et ceux-ci génèrent un mot de passe à usage unique à partir de ce code. L'utilisateur saisi le mot de passe ainsi généré par les moyens générateurs sur le terminal utilisateur et le transmet au serveur de sécurité. Le serveur de sécurité compare le mot de passe fourni par l'utilisateur avec un mot de passe qu'il a lui-même calculé. En fonction de 20 cette comparaison, il autorise ou non l'accès de l'utilisateur au système d'information. Le protocole OTP est ainsi basé sur le fait que le serveur de sécurité et les moyens générateurs détiennent des informations communes (secrets partagés), en particulier: un paramètre lié à la chronologie de 25 connexion et une fonction permettant de générer un mot de passe à usage unique. Ces informations communes ne peuvent être capturées car elles ne transitent jamais entre le serveur de sécurité et l'utilisateur. En outre, le paramètre correspondant à la chronologie de connexion varie à chaque connexion de sorte que le mot de passe généré n'est jamais le même. On notera que pour obtenir une concordance entre les paramètres liés à la chronologie de connexion détenus par le serveur de sécurité et par les moyens générateurs, ceux-ci doivent être synchronisés entre eux. En outre, dans le cas de moyens générateurs portables, le processus d'authentification requière que l'utilisateur saisisse un certain nombre de codes durant la procédure d'authentification, ces codes étant à destination soit du serveur de sécurité, soit des moyens générateurs. Il 5 s'ensuit que les opérations d'authentification sont relativement fastidieuses pour l'utilisateur. Un but de l'invention est de fournir un dispositif d'authentification présentant une interface simplifiée pour l'utilisateur. A cet effet, l'invention propose un dispositif d'authentification du 10 type utilisant un mot de passe à usage unique, comprenant un serveur de sécurité apte à générer une variable d'accès lorsqu'il reçoit une demande de connexion de la part d'un terminal utilisateur, caractérisé en ce que le serveur de sécurité est apte à transmettre la variable d'accès au terminal utilisateurs sous la forme d'une image ou d'une séquence d'images, de 15 sorte qu'un dispositif générateur comportant des moyens optiques de détection soit apte à détecter ladite image ou séquence d'images affichée par le terminal utilisateurs pour en déduire la variable d'accès. Grâce au dispositif d'authentification de l'invention, la variable d'accès fournie par le serveur de sécurité au terminal utilisateurs est 20 présentée sous forme d'une image ou d'une séquence d'images. Cette image ou séquence d'images peut être lue directement par le dispositif générateur de sorte que l'utilisateur n'a pas à saisir manuellement la variable d'accès dans le dispositif générateur. L'invention propose également un dispositif générateur sous la 25 forme d'un terminal portable, apte à générer un mot de passe à usage unique en fonction d'une variable d'accès fournie par un serveur de sécurité d'un dispositif d'authentification, caractérisé en ce qu'il comprend des moyens optiques de détection aptes à détecter une image ou une séquence d'images fournie par le serveur de sécurité et en ce qu'il est apte à en 30 déduire la variable d'accès. Le dispositif générateur de l'invention comprend des moyens optiques de détection de sorte qu'il peut être utilisé en combinaison avec le dispositif d'authentification qui précède. Le dispositif d'authentification et le dispositif générateur proposés ne nécessitent aucun ajout logiciel ou matériel sur le terminal utilisateurs. Il en résulte que l'utilisateur peut être authentifié à partir de n'importe quel terminal utilisateurs. Dans une mise en oeuvre avantageuse de l'invention, l'image affichée par le terminal utilisateurs et lue par le dispositif générateur est la représentation d'un code alphanumérique. Cette image est par exemple un code-barre. D'autres caractéristiques et avantages ressortiront encore de la 10 description qui suit, laquelle est purement illustrative et non limitative et doit être lue en regard des figures annexées parmi lesquelles: - la figure 1 représente un exemple de dispositif d'authentification conforme à la présente invention, - la figure 2 représente un exemple de dispositif générateur 15 conforme à la présente invention destiné à être utilisé dans le cadre du dispositif d'authentification de la figure 1. Sur la figure 1, le dispositif d'authentification comprend un serveur de sécurité 10 lié à un système d'information 20 qui est par exemple le réseau interne d'une entreprise. Ce système d'information est accessible 20 par un terminal utilisateurs 30 tel qu'un ordinateur standard, via un réseau de transmission de données 40 tel qu'lnternet par exemple. Lorsqu'un utilisateur souhaite se connecter au système d'information 20 à partir du terminal 30, le serveur de sécurité 10 est apte à mettre en oeuvre un procédé d'authentification à l'issue duquel il autorise ou 25 non l'utilisateur à accéder au système d'information. Un utilisateur, autorisé à accéder au système d'information 20 possède un CMA (Composant Mobile Autonome). Un exemple de CMA est représenté sur la figure 2. Le CMA 50 comprend un écran 51 et éventuellement un clavier 52. Il comprend également un capteur 30 photosensible 53. Ce CMA peut par exemple consister en un assistant électronique PDA (Personal Digital Assistant) intégrant une application de génération de mot de passe. Le serveur de sécurité 10 comprend des moyens mémoire dans lesquels est stockée une base de données comprenant un ensemble d'identifiant (ou login) correspondant à un ensemble d'utilisateurs autorisés à accéder au système d'information 20. Chaque identifiant est associé à 5 une variable NSERV qui dont la valeur est fixée initialement à 2 par exemple. De même, le CMA 50 contient une variable NPIC dont la valeur est initialement fixée à 2. Ces variables NSERV et NPIC seront incrémentées à chaque 10 connexion de l'utilisateur au système d'information 20. On va maintenant décrire les différentes étapes d'authentification mises en oeuvre par le serveur de sécurité. Selon une première étape, le serveur de sécurité 10 transmet de manière classique un formulaire HTML de demande d'autorisation de 15 connexion au terminal utilisateurs 30 dans lequel il demande à l'utilisateur de s'identifier. L'utilisateur doit alors saisir sur le terminal 30 un identifiant LOGIN qui peut être par exemple son nom. Cet identifiant est transmis au serveur de sécurité 10 via le réseau 40. Selon une deuxième étape, le serveur de sécurité 10 reconnaît 20 l'identifiant LOGIN de l'utilisateur et détermine en fonction de cet identifiant une variable d'accès VINTERM. Cette variable est calculée de la manière suivante: VINTERM = J{NSER[ x ASCII(LOGIN) o f est une fonction de hachage, NSERV est une variable correspondant 25 au nombre de connexions réalisées par l'utilisateur et ASCII est la valeur ASCII (American Standard Code for Information Interchange) de l'identifiant de l'utilisateur. La fonction f de hachage permet d'obtenir une variable VINTERM codée sur 32 bits. Le serveur de sécurité 10 transmet au terminal utilisateur 30 une image ou une séquence d'images représentative de cette variable VINTERM. Par exemple, le serveur de sécurité 10 traduit la variable VINTERM en un code-barre et transmet ce code-barre au terminal utilisateur 30 sous la forme d'une image représentant les traits du code-barre. Il transmet également un formulaire HTML dans lequel il demande à l'utilisateur son mot de passe. Le serveur de sécurité 10 calcule également une variable HSTOC de la manière suivante: HSTOC = f [NSERV x VINTERM] Cette variable HSTOC n'est pas transmise au terminal utilisateur. Selon une troisième étape, le terminal utilisateur 30 affiche l'image représentant le code-barre. L'utilisateur scanne le code-barre ainsi affiché à l'aide de son CMA 50. A cet effet, il passe le capteur photosensible 53 du CMA 50 devant l'image. Le capteur photosensible 53 détecte le code-barre et le CMA en déduit la variable d'accès VINTERM. Le CMA 50 calcule ensuite un mot de passe PWDPIC codé sur 32 bits à partir de la variable d'accès VINTERM de la manière suivante: PWDPIC = NPt C x VINTERMI Le CMA affiche sur son écran le mot de passe PWDPIC. En parallèle, le CMA 50 incrémente la variable NPIC de la manière 20 suivante: NPIC = NPIC + 2 Selon une quatrième étape, l'utilisateur remplit le formulaire HTML en saisissant sur le terminal utilisateur 30 le mot de passe PWDPIC fourni par le CMA 50. Le mot de passe est transmis au serveur de sécurité 10. Selon une variante de cette quatrième étape, l'utilisateur saisit le mot de passe PWDPIC fourni par le CMA 50 ainsi qu'un mot de passe personnel PWDPS classique. Ces mots de passe peuvent par exemple être concaténés pour former un mot de passe composé PWDPICPWDPS. Cette variante permet avantageusement de combiner 30 l'authentification classique par mot de passe et l'authentification logicielle à mot de passe à usage unique. Le mot de passe saisi par l'utilisateur est transmis au serveur de sécurité 10. Selon une cinquième étape, le serveur de sécurité 10 compare le mot de passe fourni par l'utilisateur avec la variable HSTOC qu'il a calculée. Il vérifie la condition suivante: PWDPIC = HSTOC ? Dans le cas o l'utilisateur a transmis un mot de passe composé PWDPICPWDPS, le serveur de sécurité scinde le mot de passe en deux parties et vérifie si l'une des conditions suivantes est remplie: 10 PWDPIC = HSTOC ? ou PWDPS = HSTOC ? Si l'une des conditions est vérifiée, le serveur de sécurité contrôle de manière classique le mot de passe personnel PWDPS de l'utilisateur. Si toutes les conditions sont vérifiées, le serveur de sécurité 10 en 15 déduit que l'utilisateur est autorisé à accéder au système d'information 20. Dans ce cas, il incrémente la variable NSERV de la manière suivante: NSERV = NSERV + 2 Si l'une des conditions n'est pas vérifiée (c'est à dire PWDPIC t HSTOC ou PWDPS invalide), le serveur de sécurité en déduit 20 que l'utilisateur n'est pas autorisé à accéder au système d'information 20. Dans le dispositif qui précède, le protocole d'authentification mis en oeuvre est basé sur la fait que le serveur de sécurité 10 et le CMA 50 détiennent des informations communes (secrets partagés), à savoir: - une fonction de hachage f, - des variables NSERV et NPIC, - une loi d'incrémentation des variables NSERV et NPIC, ces variables étant incrémentées à chaque connexion de l'utilisateur au système d'information 20. Ces informations ne peuvent pas être capturées dans la mesure o 30 elles ne sont jamais échangées entre le CMA 50 et le serveur de sécurité. Par ailleurs, dans le cadre de la variante du procédé d'authentification décrite précédemment, le mot de passe personnel PWDPS permet d'éviter toute utilisation frauduleuse du CMA 50 et évite qu'une personne étrangère ait accès aux informations d'authentification contenues dans le CMA. La loi d'incrémentation des variables NSERV et NPIC établit une synchronisation implicite entre le serveur de sécurité 10 et le CMA 50. Du 5 fait que cette loi est basée sur le nombre de connexions effectuées par l'utilisateur et non pas sur l'instant de connexion, le serveur de sécurité et le CMA n'ont pas à être synchronisés par une horloge. Il en découle que le dispositif d'authentification de l'invention ne nécessite pas de moyens de synchronisation spécifiques. Dans notre exemple, la loi d'incrémentation peut être la suivante: si NSERV >- NSUP alors NSERV =2 sinon NSERV = NSERV +2. La même loi d'incrémentation est appliquée à la variable NPIC. Le fait d'imposer une borne NSUP aux variables NSERV et NPIC et 15 de réinitialiser de manière cyclique ces variables permet d'utiliser le dispositif d'authentification à l'infini. En effet, le nombre de connexions possibles par l'utilisateur avec un CMA n'est pas limité par la valeur maximale pouvant être codée pour NSERV et NPIC. Toutefois, dans le cadre de l'invention, toute autre loi 20 d'incrémentation basée sur le nombre de connexions effectuées par l'utilisateur pourra bien entendu être utilisée. Le procédé d'authentification décrit précédemment présente l'avantage d'être particulièrement simple par rapport aux procédés d'authentification de l'art antérieur. En particulier, les informations qui 25 transitent entre le terminal utilisateurs et le serveur de sécurité sont réduites au minimum de manière à améliorer encore la confidentialité et le confort de l'authentification. REVENDICATIONS 1. Dispositif d'authentification du type utilisant un mot de passe à usage unique, comprenant un serveur de sécurité (10) apte à générer une 5 variable d'accès lorsqu'il reçoit une demande de connexion de la part d'un terminal utilisateurs (30), caractérisé en ce que le serveur de sécurité (10) est apte à transmettre la variable d'accès au terminal utilisateurs (30) sous la forme d'une image ou d'une séquence d'images, de sorte qu'un dispositif générateur (50) comportant des moyens optiques de détection (53) soit apte 10 à détecter ladite image ou séquence d'image affichée par le terminal utilisateurs (30) pour en déduire la variable d'accès. 2. Dispositif selon la revendication 1, caractérisé en ce que la variable d'accès est transmise sous la forme d'une image ou séquence d'images, cette image ou séquence d'images étant la représentation d'un 15 code alphanumérique. 3. Dispositif d'authentification selon la revendication 2, caractérisé en ce que la variable d'accès est transmise sous la forme d'une image, cette image étant un code-barre. 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce 20 que le serveur de sécurité (10) est apte à générer une variable d'accès en fonction d'un code d'identification d'un utilisateur pour lequel une connexion est demandée. 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que le serveur de sécurité (10) est apte à incrémenter une variable de 25 synchronisation associée à un utilisateur à chaque connexion dudit utilisateur, en fonction d'une loi d'incrémentation. 6. Dispositif selon la revendication 5, caractérisé en ce que la loi d'incrémentation appliqué par le serveur à la variable de synchronisation consiste à incrémenter la variable de synchronisation d'une valeur fixe à 30 chaque connexion de l'utilisateur associé à cette variable, et à réinitialiser cette variable lorsque la valeur de la variable de synchronisation a dépassé un seuil donné. 7. Dispositif selon l'une des revendications 5 ou 6, caractérisé en ce que le serveur de sécurité (10) est apte à comparer un mot de passe fourni par un utilisateur à une variable déterminée en fonction de la variable d'accès et de la variable de synchronisation, et en fonction du résultat de cette comparaison, à autoriser ou non une connexion de l'utilisateur. 8. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que le serveur de sécurité (10) est apte à comparer un deuxième mot de passe fourni par l'utilisateur à un mot de passe stocké en mémoire, et en fonction du résultat de cette comparaison, à autoriser ou non une connexion 10 de l'utilisateur. 9. Dispositif générateur (50) sous la forme d'un terminal portable, apte à générer un mot de passe à usage unique en fonction d'une variable d'accès fournie par un serveur de sécurité (10) d'un dispositif d'authentification, caractérisé en ce qu'il comprend des moyens optiques de 15 détection (53) aptes à détecter une image ou une séquence d'images fournie par le serveur de sécurité (10) et en ce qu'il est apte à en déduire la variable d'accès. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens optiques de détection (53) sont aptes à détecter un code 20 alphanumérique représenté par l'image fournie par le serveur de sécurité (10). 11. Dispositif selon la revendication 10, caractérisé en ce que les moyens optiques de détection (53) sont aptes à scanner un code-barre fourni par le serveur de sécurité (10). 12. Dispositif selon l'une des revendications 9 à 11, caractérisé en ce qu'il est apte à incrémenter une variable de synchronisation associée à un utilisateur à chaque fois qu'il génère un mot de passe, en fonction d'une loi d'incrémentation. 13. Dispositif selon la revendication 12, caractérisé en ce que la loi 30 d'incrémentation appliqué par le dispositif générateur (50) à la variable de synchronisation consiste à incrémenter la variable de synchronisation d'une valeur fixe à chaque génération de mot de passe, et à réinitialiser cette variable lorsque la valeur de la variable de synchronisation a dépassé un seuil donné. 14. Dispositif selon l'une des revendications 12 ou 13, caractérisé en ce qu'il est apte à déterminer un mot de passe en fonction de la variable 5 d'accès fournie par le serveur de sécurité (10) et de la variable de synchronisation. 15. Dispositif selon l'une des revendications 10 à 14, caractérisé en ce qu'il comprend des moyens d'affichage (51) et en ce qu'il est apte à afficher un mot de passe généré. 16. Procédé d'authentification du type utilisant un mot de passe à usage unique, comprenant les étapes selon lesquelles: - un serveur de sécurité (10) génère une variable d'accès lorsqu'il reçoit une demande de connexion de la part d'un terminal utilisateurs (30) et transmet ladite variable d'accès audit terminal utilisateurs (30), - un dispositif générateur (50) génère un mot de passe à usage unique en fonction de la variable d'accès fournie par un serveur de sécurité (10), - le serveur d'accès (10) compare le mot de passe ainsi généré à une variable déterminée en fonction de la variable d'accès et d'une variable 20 de synchronisation, et en fonction du résultat de cette comparaison, autorise ou non une connexion, caractérisé en ce que le serveur de sécurité (10) transmet la variable d'accès au terminal utilisateurs (30) sous la forme d'une image ou d'une séquence d'image, de sorte que le dispositif générateur (50) 25 comportant des moyens otiques de détection (53), détecte ladite image ou séquence d'image affichée par le terminal utilisateurs (30) pour en déduire la variable d'accès. 17. Procédé selon la revendication 16, caractérisé en ce que le dispositif générateur (50) génère un mot de passe à usage unique en 30 fonction de la variable d'accès fournie par un serveur de sécurité (10) et d'une variable de synchronisation. 18. Procédé selon les revendications 16 et 17, caractérisé en ce que le serveur de sécurité (10) incrémente la variable de synchronisation associée à un utilisateur à chaque connexion dudit utilisateur et le dispositif générateur (50) incrémente la variable de synchronisation associée à un utilisateur à chaque fois qu'il génère un mot de passe, les incrémentations étant réalisées selon des lois d'incrémentation identiques.