Brevet FR2834157A1 — publié le 20030627

PROCEDE ET DISPOSITIF D'AUTHENTIFICATION ENTRE UN POSTE UTILISATEUR A ECRAN ET UN ORGANE D'AUTHENTIFICATION. La présente invention concerne l'authentification d'un utilisateur équipé d'un poste de traitement à écran et d'un organe d'authentification du type carte à puce ou analogue. Elle trouve une application générale dans le contrôle d'accès à des données et/ou services. Classiquement, l'accès à un service est contrôlé à l'aide d'un mot de passe formant secret, révélé par l'utilisateur et tiré de la mémoire dudit utilisateur. L'utilisateur saisit le mot de passe sur un poste utilisateur qui transmet ensuite ledit mot de passe au fournisseur de service généralement via un réseau de communication du type Internet par exemple. Le fournisseur de service vérifie le secret par comparaison et accorde ou refuse l'accès en fonction du résultat de la comparaison. Une telle sécurisation à base de mot de passe n'est pas totalement satisfaisante en raison des risques d'interceptions frauduleuses du mot de passe qui peuvent être réalisées à l'issue d'imprudence lors de la saisie ou bien par imposture à l'aide d'attaques frauduleuses dans le poste utilisateur. Une solution connue consiste à utiliser un mot de passe momocoup, c'est-à-dire valable pour une seule transaction. Une telle solution permet d'être efficace contre les attaques par imposture mais l'utilisateur doit utiliser un appareil auxiliaire autonome. De plus, l'utilisateur doit garder en mémoire autant de mots de passe que de demandes d'accès, ce qui est fastidieux, engendre des risques d'oubli et augmente d'autant les risques d'imprudence. Une autre solution connue consiste à remplacer les mots de passe conventionnels formés de suites alphanumériques plus ou moins longues à saisir sur un clavier par la sélection d'images associées à la combinaison d'un ou plusieurs termes ou concepts plus ou moins généraux. Ce genre de solution est jusqu'à présent utilisé à travers un réseau de communication entre le poste utilisateur et l'autorité d'authentification distante. Cette solution n'est pas non plus totalement satisfaisante sur le plan de la sécurité en raison des risques d'interceptions frauduleuses. La présente invention remédie à ces inconvénients. Elle porte sur un procédé d'authentification entre un poste utilisateur équipé d'un écran et un organe d'authentification. Selon une définition générale de l'invention, le procédé comprend les étapes suivantes : a) équiper l'organe d'authentification de moyens générateurs aptes à engendrer au moins un fichier d'image comportant une pluralité d'éléments susceptibles de former un clavier graphique pour la saisie d'un code d'authentification, chaque élément du clavier graphique étant identifié par des coordonnées correspondantes ; b) en réponse à une requête d'authentification, communiquer lesdits éléments ainsi engendrés à destination du poste utilisateur ; c) afficher le clavier graphique sur l'écran et choisir au moins un élément du clavier graphique pour former ledit code d'authentification ; d) communiquer audit organe d'authentification lesdites coordonnées correspondantes dudit code d'authentification ainsi choisi ; et e) comparer les coordonnées du code d'authentification ainsi communiquées avec les coordonnées du code d'authentification ainsi engendrées afin d'authentifier l'utilisateur. Ainsi l'authentification est réalisée à partir d'un clavier graphique affiché sur un écran d'un poste utilisateur et généré par un organe d'authentification du type carte à puce qui détient tous les secrets d'élaboration et de vérification du code d'authentification. Il en résulte une authentification sécurisée difficile à casser par un fraudeur. En pratique, la pluralité d'éléments du clavier graphique susceptible de former le code d'authentification est constituée d'éléments appartenant au groupe formé par des représentations de concepts, des représentations graphiques, des représentations alphanumériques simples et complexes, des pictogrammes, des images, des combinaisons de représentations graphiques et alphanumériques, des représentations graphiques modifiées selon des contre mesures choisies et analogues. De préférence, le fichier image varie aléatoirement et périodiquement à une cadence choisie. Par exemple, le changement du fichier image a lieu à chaque requête d'authentification ou à l'intérieur d'une fenêtre temporelle choisie, ce qui confère un degré de sécurité supplémentaire. En pratique, il est prévu d'invalider l'organe d'authentification après plusieurs tentatives d'authentification infructueuses. Pour éviter des actions frauduleuses susceptibles de bloquer l'organe d'authentification, les éléments du clavier graphique pour former le code d'authentification sont susceptibles de couvrir au moins une partie de l'écran, une sélection par l'utilisateur de l'autre partie de l'écran étant considérée par l'organe d'authentification comme une erreur de sélection n'invalidant pas ledit organe d'authentification en cas de plusieurs tentatives d'authentification infructueuses. Selon un autre aspect de l'invention, il est en outre prévu d'associer aux éléments formant code d'authentification un point de couleur choisie tandis qu'une pluralité d'autres points de ladite couleur est dispersée dans la partie valide de l'écran et en ce que la sélection par l'utilisateur d'un point de ladite couleur n'appartenant pas à l'élément formant code d'authentification étant considérée par 1'organe d'authentification comme une erreur susceptible d'invalider ledit organe d'authentification en cas de plusieurs tentatives d'authentification infructueuses. La présente invention a également pour objet un dispositif pour la mise en oeuvre du procédé selon l'invention du type comprenant un poste utilisateur à écran et un organe d'authentification. Selon une caractéristique importante de l'invention, le dispositif comprend, au niveau du poste utilisateur, des moyens de sélection d'au moins un point sur l'écran, et une interface d'entrée/sortie d'un fichier d'image, ledit dispositif comprend, au niveau de l'organe d'authentification, des moyens générateurs aptes à engendrer au moins un fichier d'image comportant une pluralité d'éléments susceptibles de former un clavier graphique pour la saisie d'un code d'authentification, chaque élément du clavier graphique étant identifié par des coordonnées correspondantes, et une interface d'entrée/sortie propre à communiquer lesdits éléments du clavier graphique ainsi engendré à destination du poste utilisateur, ledit utilisateur est apte à choisir au moins un élément du clavier graphique pour former ledit code d'authentification sur l'écran à l'aide des moyens de sélection, l'interface d'entrée/sortie du poste utilisateur communique audit organe d'authentification lesdites coordonnées correspondantes dudit code d'authentification ainsi choisi et l'organe d'authentification compare les coordonnées du code d'authentification ainsi communiquées avec les coordonnées du code d'authentification ainsi engendrées afin d'authentifier l'utilisateur. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels - la figure 1 illustre les étapes du procédé d'authentification selon l'invention ; - la figure 2 illustre schématiquement un exemple de clavier graphique généré selon l'invention ; - la figure 3 est un autre exemple du clavier graphique généré selon l'invention ; - les figures 4a, 4b et 5 illustrent des exemples de polices de caractères du clavier graphique, accompagnées de contre mesure afin de conférer un degré de sécurité supplémentaire selon l'invention ; - la figure 6 représente schématiquement la construction du clavier graphique selon l'invention ; et - la figure 7 représente schématiquement l'affichage du clavier graphique sur l'écran du poste utilisateur selon l'invention. En référence à la figure 1, un mode de réalisation du procédé selon l'invention est destiné à permettre le contrôle de l'accès à un service, par l'intermédiaire de la comparaison d'un mot de passe formé à partie d'un clavier graphique affiché sur l'écran EC d'un poste utilisateur PT. Bien évidemment, l'invention s'applique à tout contrôle d'accès à des données et/ou services. En pratique, l'utilisateur UT dispose d'un poste de traitement PT équipé d'un écran EC fonctionnant de préférence en mode point. Le poste de traitement PT est par exemple un ordinateur personnel, un assistant personnel ou bien encore un poste de télécommunication mobile. De son côté, l'autorité d'authentification comprend un organe d'authentification CP apte à communiquer avec le poste de traitement PT selon un protocole de communication de type classique. Par exemple, l'organe d'authentification CP est une carte à puce apte à coopérer et communiquer avec le poste de l'utilisateur PT. Dans ce contexte, chaque extrémité PT et CP dispose d'une interface entrée/sortie compatible pour la communication entre lesdites extrémités. Par exemple, le poste utilisateur PT comprend un lecteur de cartes à puce à contact ou sans contact (non représenté). Par ailleurs, le poste de traitement PT comprend des moyens de sélection SE capables de sélectionner une partie de l'écran. Par exemple, les moyens de sélection SE comprennent une souris ou bien encore un stylo tactile ou analogue. Selon l'invention, l'organe d'authentification CP comprend des moyens générateurs aptes à engendrer au moins un fichier d'images (par exemple en bit map) comportant au moins une pluralité d'éléments susceptibles de former un clavier graphique pour la saisie d'un code d'authentification. Chaque élément du fichier image en bit map est identifié par des coordonnées correspondantes, par exemple en X et Y. Selon l'invention, en réponse à une requête d'authentification les éléments du fichier image formant clavier graphique sont communiqués à destination du poste utilisateur (étape El). L'écran reçoit le fichier image ainsi généré par la carte à puce. Le fichier image est ensuite affiché pour mettre à la disposition de l'utilisateur un clavier graphique dont l'actionnement permet la saisie du code d'authentification (étape E2). La génération et l'affichage du clavier graphique sont décrits en détail ci-après. De son côté, l'utilisateur choisit à l'aide de sa souris au moins un élément du clavier graphique pour saisir son code d'authentification sur ledit clavier graphique (étapes E3 et E4). Ensuite, le poste utilisateur communique à l'organe d'authentification les coordonnées X et Y correspondantes dudit code d'authentification ainsi choisi (étape E5). Enfin, les coordonnées X et Y du code d'authentification ainsi communiquées par le poste utilisateur sont comparées avec les coordonnées X et Y du code d'authentification engendrées par l'organe d'authentification. Selon le résultat de la comparaison, l'accès au service est accepté ou refusé. En pratique, les éléments du fichier image en bit map sont constitués d'éléments appartenant au groupe formé par des représentations de concept, des représentations graphiques, des représentations alphanumériques simples ou complexes, des pictogrammes, des images, des combinaisons de représentations graphiques et alphanumériques, des représentations graphiques modifiées selon des contre mesures choisies et analogues. On sait que la combinaison de concepts comme mot de passe présente l'immense avantage d'être particulièrement bien adapté à l'intelligence humaine. Il est en effet très facile à un utilisateur de retenir une combinaison de concepts plutôt qu'une combinaison arbitraire de lettres et de chiffres qui est très difficile à mémoriser. Inversement, retrouver à partir des représentations graphiques de types images, textes et dessins choisis par l'utilisateur est extrêmement difficile pour des éventuels pirates pour lesquels les outils informatiques existants sont d'une aide limitée. De façon avantageuse mais non limitative, le procédé d'authentification utilise une telle représentation conceptuelle. En référence à la figure 2, on a représenté un clavier graphique CG1 comprenant des éléments de représentations graphiques et des combinaisons de représentations graphiques alphanumériques. Ici, les représentations graphiques sont celles d'un clavier 0 à 9 avec une police de caractères de type manuscrite. En référence à la figure 3, on a représenté un autre exemple de clavier graphique CG2 dans lequel les chiffres sont représentés selon des polices de caractères conceptuelles de type dés, pièces, etc. En référence aux figures 4a, 4b et 5, on a représenté plusieurs polices de caractères pour former les éléments du clavier graphique. Par exemple, la police de caractères est fondée sur une table comprenant 128 éléments de 16 x 16 bits chacun. La définition peut- être noir sur blanc ou vice versa. Avantageusement, les polices de caractères sont accompagnées de contre-mesures qui peuvent être sophistiquées. Par exemple, une contre-mesure consiste à superposer des éléments d'une manière uniquement compréhensible par l'homme. Une autre contre-mesure consiste à utiliser un bloc de caractères liés les uns aux autres d'une manière difficile à détacher par un logiciel de reconnaissance ou un logiciel de type cheval de Troie. Encore une autre contre-mesure consiste à utiliser plusieurs polices de taille et de nature différente pour les caractères. Une variante consiste à utiliser des rotations des caractères selon des angles choisis. Encore une autre variante peut se traduire par l'utilisation dans la formation des caractères de lignes continues et de lignes discontinues. Une autre variante consiste à utiliser des effets de couleur ou de densité. De même, il est possible selon l'invention d'utiliser des fonds de nature ou de couleurs différentes. Il est possible d'insérer des structures graphiques qui accompagnent les caractères. De préférence, ces structures graphiques sont familières à l'être humain afin de faciliter la reconnaissance humaine au détriment d'une reconnaissance assistée par ordinateur dans un souci de sécurité. Encore plus sophistiqué, on peut choisir une police de caractère structurée et définie tandis que le fond du caractère répond à une police de caractère choisie aléatoirement. En référence aux figures 4a et 5, on a représenté des exemples de rotation où chaque caractère peut avoir par exemple 8 positions différentes possibles. D'autres transformations sont également susceptibles d'être mises en place. Par exemple, des transformations de type régression, expansion peuvent accompagner la construction des caractères. De même, des opérations d'insertion peuvent être utilisées afin de conférer un degré de sécurité supplémentaire. D'une manière générale, chaque caractère est codé en mode bit map au format par exemple 32 x 32 pixels. Des algorithmes de compression peuvent être utilisés pour améliorer le traitement des données. De même, des facteurs de distorsion peuvent être utilisés dans la construction et l'exploitation des caractères. En pratique, le fichier images en bit map formant clavier graphique peut varier aléatoirement et périodiquement à une cadence choisie. Avantageusement, le changement du fichier images a lieu à chaque requête d'authentification ou l'intérieur d'une fenêtre temporelle choisie. Avantageusement, il est prévu d'invalider l'organe d'authentification après plusieurs tentatives infructueuses de saisie du mot de passe. Avantageusement, les éléments formant clavier graphique pour la saisie du code d'authentification couvrent une partie de l'écran, une sélection par l'utilisateur de l'autre partie de l'écran est considérée par l'organe d'authentification comme une erreur de sélection qui n'aboutit pas à une invalidation de l'organe d'authentification après plusieurs tentatives d'authentification infructueuses. En d'autres termes, une telle sélection sur la partie non valide n'est pas considérée comme une tentative susceptible après par exemple trois tentatives infructueuses d'invalider la carte à puce. En revanche, il est prévu pour dissuader les actions frauduleuses, d'associer aux éléments qui forment le code d'authentification un point de couleur choisie tandis qu'une pluralité d'autres points de ladite couleur est dispersée dans la partie valide de l'écran. Dans ce cas, la sélection par un fraudeur d'un point de ladite couleur n'appartenant pas à un élément qui forme le code d'authentification est considérée par l'organe d'authentification comme une erreur susceptible d'aboutir à l'invalidation de la carte après plusieurs tentatives d'authentification infructueuses. Par exemple, le clavier graphique CG a une taille de l'ordre de 512 pixels dans l'axe des X et 256 pixels dans l'axe des Y. Par exemple, la taille de chaque caractère est un rectangle de l'ordre de 16x16 pixels, 32 x 32 pixels ou 128 x 128 pixels. Par exemple, le clavier graphique comprend 16 caractères distribués de façon aléatoire. La génération du clavier graphique est réalisée à l'intérieur de la carte CP par un algorithme de type bit map. Le poste utilisateur, généralement un ordinateur personnel, contribue ici à l'affichage du fichier bit map reçu de la part de la carte à puce. Il est à remarquer que le fichier bit map complet est difficile à stocker en mémoire vive en raison du manque de capacité mémoire de la carte. Dans ces conditions, la carte génère ligne par ligne l'image et transmet ladite ligne au poste utilisateur. En pratique, la construction du clavier graphique utilise une table de correspondance pour chaque caractère. En référence à la figure 6, on a représenté un exemple de génération d'un clavier graphique CG. Par exemple dans la ligne des Y, la ligne YO correspond au blanc, la ligne Yl correspond au caractère 6, la ligne Y2 comprend le caractère 6 et le caractère 5, la ligne Y3 comprend le caractère 5, la ligne Y4 comprend un blanc et la ligne Y5 comprend le caractère 4 etc. La table de correspondance indique quel caractère doit être affiché lors de la construction de la ligne. En pratique, chaque ligne est segmentée en zones séquentielles lorsque la ligne est susceptible d'afficher plusieurs caractères. Par exemple, lorsque deux caractères, par exemple ici 5 et 6 en référence à la figure 6 doivent être affichés sur la même ligne Y3, il est prévu de déterminer la longueur respective de chaque caractère et à partir de quelle origine il convient de prendre les pixels. De son côté, l'utilisateur sélectionne sur son écran EC le caractère choisi cf. figure 7. Cette sélection donne un ensemble de coordonnées X et Y. Ces cordonnées X et Y sont en relation avec l'écran EC du poste utilisateur et non en relation avec le clavier graphique CG. Il en résulte que le générateur ou l'organe d'authentification a besoin de connaître la position exacte du clavier graphique CG sur l'écran EC. En l'absence d'éléments informatiques ou électroniques aptes à déterminer par lui-même la position du clavier graphique CG, une solution consiste à demander à l'utilisateur d'activer le clavier graphique par la sélection OR d'une origine par exemple le point supérieur gauche du clavier graphique. En cliquant sur le caractère 5, le moyen de sélection par exemple la souris envoi les coordonnées X et Y de l'écran à l'organe d'authentification qui peut en déduire les coordonnées X et Y correspondantes sur le clavier graphique CG. L'organe d'authentification ici la carte à puce compare les coordonnées X et Y ainsi sélectionnées avec les coordonnées X et Y de chaque caractère généré par l'organe d'authentification. Comme tout logiciel, le procédé d'authentification selon l'invention est susceptible de subir des virus qui peuvent produire l'invalidation de la carte. Par exemple, un organe frauduleux peut en lieu et place de l'utilisateur générer des mots de passe frauduleux qui après plusieurs tentatives infructueuses bloquent la carte. Selon l'invention, le clavier graphique offre une certaine résistance à ces attaques. Par exemple, il est prévu que les caractères valides du clavier graphique couvrent une partie seulement de la surface totale de l'écran. Par exemple, la partie valide occupe ou représente 50 % de la surface totale de l'écran. En effet, un agent virus saboteur est incapable de distinguer où se trouvent les surfaces valides de celles qui ne le sont pas. Ainsi, selon l'invention, la carte traite les caractères invalides de manière à ce qu'ils n'engendrent pas le blocage de la carte en cas de tentative d'authentification infructueuse. Il en résulte que la carte ne sera pas bloquée en cas d'une telle attaque, relativement sommaire. Selon un autre aspect de l'invention, il est en outre prévu de réduire les surfaces valides par la définition de points ayant une couleur particulière à l'intérieur du caractère affiché. D'autres points de la même couleur sont dispersés dans l'écran ce qui affaiblit encore plus la possibilité ou la probabilité de tomber frauduleusement sur un bon caractère. Dans ce cas, la sélection par un fraudeur d'un point de ladite couleur n'appartenant pas à l'élément formant code d'authentification est considérée par l'organe d'authentification comme une erreur susceptible d'aboutir à l'invalidation de la carte car cela peut correspondre à un fraudeur qui a la carte sans connaître le code d'authentification. Une telle démarche confère donc un degré de sécurité supplémentaire. REVENDICATIONS 1. Procédé d'authentification entre un poste utilisateur (PT) équipé d'un écran (EC) et un organe d'authentification (CP), caractérisé en ce qu'il comprend les étapes suivantes : a) équiper l'organe d'authentification (CP) de moyens générateurs aptes à engendrer au moins un fichier d'image comportant une pluralité d'éléments susceptibles de former un clavier graphique (CG) pour la saisie d'un code d'authentification, chaque élément dudit clavier graphique (CG) étant identifié par des coordonnées correspondantes ; b) en réponse à une requête d'authentification, communiquer lesdits éléments du clavier graphique ainsi engendré à destination du poste utilisateur (PT) ; c) afficher le clavier graphique (CG) sur l'écran (EC) et choisir au moins un élément dudit clavier graphique pour former ledit code d'authentification ; d) communiquer audit organe d'authentification (CP) lesdites coordonnées correspondantes dudit code d'authentification ainsi choisi ; et e) comparer les coordonnées du code d'authentification ainsi communiquées avec les coordonnées du code d'authentification ainsi engendrées afin d'authentifier l'utilisateur. 2. Procédé d'authentification selon la revendication 1, caractérisé en ce que la pluralité d'éléments du clavier graphique susceptible de former le code d'authentification est constituée d'éléments appartenant au groupe formé par des représentations de concepts, des représentations graphiques, des représentations alphanumériques simples et complexes, des pictogrammes, des images, des combinaisons de représentations graphiques et alphanumériques, des représentations graphiques modifiées selon des contre mesures choisies et analogues. 3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que le fichier image varie aléatoirement et périodiquement à une cadence choisie. 4. Procédé selon la revendication 3, caractérisé en ce que le changement du fichier image a lieu à chaque requête d'authentification ou à l'intérieur d'une fenêtre temporelle choisie. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il est prévu d'invalider l'organe d'authentification (CP) après plusieurs tentatives d'authentification infructueuses. 6. Procédé selon la revendication 5, caractérisé en ce que les éléments du clavier graphique pour former le code d'authentification sont susceptibles de couvrir au moins une partie de l'écran (EC), une sélection par l'utilisateur de l'autre partie de l'écran étant considérée par l'organe d'authentification comme une erreur de sélection n'invalidant pas ledit organe d'authentification en cas de plusieurs tentatives d'authentification infructueuses. 7. Procédé selon la revendication 6, caractérisé en ce qu'il est en outre prévu d'associer aux éléments formant code d'authentification un point de couleur choisie tandis qu'une pluralité d'autres points de ladite couleur est dispersée dans la partie valide de l'écran et en ce que la sélection par l'utilisateur d'un point de ladite couleur n'appartenant pas à l'élément formant code d'authentification étant considérée par l'organe d'authentification comme une erreur susceptible d'invalider ledit organe d'authentification en cas de plusieurs tentatives d'authentification infructueuses. 8. Dispositif d'authentification entre un poste utilisateur (PT) comprenant un écran (EC) et un organe d'authentification (CP), caractérisé en ce qu'il comprend au niveau du poste utilisateur (PT) des moyens de sélection (SE) d'au moins un point sur l'écran (EC), et une interface d'entrée/sortie d'un fichier d'image, en ce qu'il comprend au niveau de 1'organe d'authentification (CP) des moyens générateurs aptes à engendrer au moins un fichier d'image comportant une pluralité d'éléments susceptibles de former un clavier graphique (CG) pour la saisie d'un code d'authentification, chaque élément du clavier graphique étant identifié par des coordonnées correspondantes, et une interface d'entrée/sortie propre à communiquer lesdits éléments du clavier graphique ainsi engendré à destination du poste utilisateur, en ce que ledit utilisateur est apte à choisir au moins un élément du clavier graphique pour former ledit code d'authentification sur l'écran à l'aide des moyens de sélection (SE), en ce que l'interface d'entrée/sortie du poste utilisateur communique audit organe d'authentification lesdites coordonnées correspondantes dudit code d'authentification ainsi choisi et en ce que l'organe d'authentification compare les coordonnées du code d'authentification ainsi communiquées avec les coordonnées du code d'authentification ainsi engendrées afin d'authentifier l'utilisateur. 9. Dispositif selon la revendication 8, caractérisé en ce que l'organe d'authentification (CP) appartient au groupe formé par des cartes à puce, des unités de traitement, des modules d'identité d'usager, et analogues. 10. Dispositif selon la revendication 8, caractérisé en ce que le poste utilisateur (PT) appartient au groupe formé par des ordinateurs personnels, des assistants personnels, des bornes multimédia et analogues.