DISPOSITIF D'AUTHENTIFICATION DU TYPE UTILISANT UN MOT DE
PASSE A USAGE UNIQUE ET DISPOSITIF GENERATEUR DE MOT DE
PASSE ASSOCIE
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 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 » qui utilisent des moyens d'authentification logiciels et/ou matériels (cartes à puce, token, biométrie, etc.). Certains moyens d'authentification de type logiciels mettent en œuvre un protocole d'échange de type OTP (« One-time Password » selon la terminologie anglo-saxonne généralement employée) entre un serveur de 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 « SofToken™ »).
Les moyens générateurs peuvent également se présenter sous forme d'une clé électronique pouvant être connectée à un port USB du
terminal de l'utilisateur (c'est la cas par exemple des systèmes connu sous la marque « iKey™ »).
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 One™ », « Silver 2000™ », « MobilePass™ »). 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 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 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 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 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 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 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 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 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 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 œuvre 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 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 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 par un terminal utilisateurs 30 tel qu'un ordinateur standard, via un réseau de transmission de données 40 tel qu'Internet 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 œuvre un procédé d'authentification à l'issue duquel il autorise ou 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 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é à 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 connexion de l'utilisateur au système d'information 20.
On va maintenant décrire les différentes étapes d'authentification mises en œuvre 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 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 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 :
"NSERV VINTERM = f •x ASCII(LOGIN)
2 où f est une fonction de hachage, NSERV est une variable correspondant 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 :
'NSERV
HSTOC = f • x VINTERM
2
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 :
NPTC PWDPIC = / x VINTERM
2
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 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 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 : 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 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 ≠ HSTOC ou PWDPS invalide), le serveur de sécurité en déduit 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 œuvre 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ù 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 fait que cette lo 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 NSER V = NSEi- V + 2.
La même loi d'incrémentation est appliquée à la variable ΝPIC.
Le fait d'imposer une borne ΝSUP aux variables ΝSΕRV et ΝPIC et 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 ΝSERV et ΝPIC.
Toutefois, dans le cadre de l'invention, toute autre loi 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 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.