FR 3067828 A1 20181221 FR 1755513 A 20170616 Procédé et dispositif de validation de code d'authentification La présente invention concerne un procédé de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou système informatique. Elle concerne un dispositif, un système et un programme d'ordinateur associés. L'invention se situe dans le domaine de l'authentification sécurisée d'utilisateurs pour l'accès à des services ou systèmes informatiques. De manière classique, pour se connecter à un service ou système informatique, par exemple à un serveur, distant ou non, un utilisateur utilise un terminal pour saisir un identifiant permettant de l'identifier de manière unique dans le système informatique, et un code d'authentification, en général secret et personnel, associé à l'identifiant d'utilisateur. Permettant d'authentifier l'utilisateur, le code d'authentification ne doit être connu que de celui-ci et du système. De manière classique, le code d'authentification est une séquence de symboles chacun choisi dans un ensemble de symboles de référence, couramment appelée « mot de passe », à saisir par l'intermédiaire d'une interface homme-machine. En général, le mot de passe est composé de caractères alphanumériques et saisi par un utilisateur sur un clavier, ou par l'intermédiaire d'un dispositif de pointage, tel qu'une souris, un stylet ou un doigt de l'utilisateur, sur un pavé alphanumérique affiché sur un écran. Or, il existe des logiciels malveillants (« malware » en anglais), tel les enregistreurs de frappe, ou « keyloggers » en anglais, qui, installés sur le terminal de l'utilisateur, sont capables d'enregistrer les touches appuyées sur le clavier, ou le signal de sortie de toute autre interface homme-machine utilisée, telle qu'une souris, et de restituer en conséquence le code d'authentification saisi par l'utilisateur. Il est donc nécessaire d'augmenter la sécurité d'accès à des services ou systèmes. Afin d'augmenter la sécurité, il a été proposé d'afficher un pavé alphanumérique virtuel à l'écran, sur les touches duquel les symboles sont distribués aléatoirement, leur distribution étant mise à jour dynamiquement, et de proposer à l'utilisateur de saisir le code d'authentification par sélection, successivement, des symboles de la séquence de caractères constituant le code d'authentification sur ce pavé alphanumérique virtuel. Par exemple l'utilisateur se sert d'un dispositif de pointage tel une souris, et la sélection d'un symbole se fait par clic sur son image. De tels systèmes sont par exemple utilisés pour accéder aux services bancaires. Bien que la sécurité soit augmentée, des logiciels malveillants peuvent néanmoins récupérer des successions de captures d'écran du terminal utilisateur et analyser automatiquement le placement de la souris par l'intermédiaire de l'identifiant de pointeur 2 affiché sur l'écran lorsque la souris se déplace. Il est alors à nouveau possible d'identifier automatiquement les caractères alphanumériques saisis, et de reconstituer la séquence de caractères formant le code d'authentification. Il est connu d'augmenter la sécurité en créant des codes d'authentification à partir 5 de données biométriques, mais l'authentification biométrique nécessite l'utilisation de terminaux équipés de périphériques spécialisés. L'invention a pour but de remédier aux inconvénients de l'état de la technique. A cet effet, l'invention propose un procédé de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un système informatique, le 10 code d'authentification étant une séquence de symboles saisis par l'intermédiaire d'une interface homme-machine d'un terminal utilisateur, comportant des étapes d'affichage, sur un écran d'affichage du terminal utilisateur, d'une image numérique de saisie de code d'authentification comportant en superposition sur une image de fond une pluralité de symboles, d'obtention d'un code d'authentification saisi par un utilisateur par sélection de 15 symboles parmi les symboles affichés, et de comparaison du code d'authentification saisi à un code d'authentification préalablement enregistré. Ce procédé comporte, préalablement à l'étape d'affichage, des étapes de : - superposition sur l'image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un 20 symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; - mémorisation, pour chaque élément graphique, d'au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image numérique de saisie de code d'authentification ; 25 et après l'étape d'affichage, des étapes de : - obtention d'une succession de coordonnées spatiales représentatives des positions successives d'un point d'application déplacé sur l'image numérique de saisie de code d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi une trajectoire continue, ladite trajectoire parcourant des éléments 30 graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales représentatives de points de la trajectoire ; - détermination, à partir de ladite succession de coordonnées spatiales, d'une séquence de symboles formant un code d'authentification. Avantageusement, l'invention permet d'améliorer la sécurité de l'authentification 35 sans nécessiter de périphérique spécialisé. 3 Le procédé de validation de code d'authentification selon l'invention peut présenter une ou plusieurs des caractéristiques ci-dessous, prises indépendamment ou selon toutes les caractéristiques techniquement acceptables. La formation d'une image numérique de saisie de code d'authentification comporte 5 l'obtention parmi un ensemble d'images de fond prédéterminées ou la génération à la volée d'une image de fond texturée et/ou comportant des détails à fort contraste. Deux éléments graphiques voisins sont distants d'une distance supérieure ou égale à une distance minimale prédéterminée. Chaque élément graphique a des propriétés de texture et/ou de couleur et/ou de 10 transparence choisies en fonction de l'image de fond, de manière à diminuer un contraste local par rapport à ladite image de fond. Le procédé comporte une étape d'interpolation à partir de la succession de coordonnées spatiales représentatives des positions successives du point d'application, suivie d'une étape de ré-échantillonnage permettant d'obtenir une liste d'effectif augmenté 15 de coordonnées spatiales représentatives de points de la trajectoire. L'information relative au symbole représenté par un élément graphique et à la position dudit élément graphique dans l'image numérique de saisie de code d'authentification consiste en un triplet comprenant un identifiant dudit symbole et deux coordonnées d'un point central associé à l'élément graphique, ledit point central étant le 20 centre d'une forme géométrique dans laquelle l'élément graphique d'affichage est au moins partiellement inscrit. La détermination d'une séquence de symboles formant le code d'authentification comporte, pour chaque point de la trajectoire : -un calcul de distance entre ledit point de la trajectoire et au moins un point central 25 associé à un élément graphique, -une comparaison de la distance calculée à une distance d'entrée prédéterminée et/ou -une comparaison de la distance calculée à une distance de sortie prédéterminée, et, 30 en fonction du résultat desdites comparaisons, un ajout d'un identifiant de l'élément graphique dans une liste d'identifiants d'éléments graphiques parcourus. La distance d'entrée est inférieure à ladite distance de sortie. Le procédé comporte la mémorisation d'une image de symboles affichés comportant des pixels, chaque pixel ayant une position spatiale et une valeur, la valeur 35 étant représentative d'un élément graphique affiché à la position spatiale correspondante ou de l'absence d'élément graphique affiché à la position spatiale correspondante, et 4 comportant la mémorisation, pour chaque élément graphique, d'un identifiant du symbole qu'il représente, la détermination d'une séquence de symboles formant le code d'authentification comportant, pour chaque point de la trajectoire, une détermination de la valeur du pixel de même position spatiale que le point de la trajectoire dans l'image de 5 symboles affichés, et, en fonction d'une correspondance entre ladite valeur de pixel et un élément graphique affiché à la position spatiale correspondante, un ajout d'un identifiant dudit élément graphique dans une liste d'identifiants d'éléments graphiques parcourus. Chacun desdits éléments graphiques comporte un tracé du symbole qu'il représente. 10 Chacun desdits éléments graphiques comporte un tracé d'un objet codant le symbole qu'il représente. L'obtention d'une succession de coordonnées spatiales représentatives des positions successives du point d'application comporte en outre une réception d'un signal de fin de saisie. 15 Selon un autre aspect, l'invention propose un dispositif de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un système informatique, le code d'authentification étant une séquence de symboles saisis par l'intermédiaire d'une interface homme-machine d'un terminal utilisateur, le dispositif comportant une unité centrale de calcul comportant un ou plusieurs processeurs. 20 Le dispositif comporte des modules mis en oeuvre par ladite unité central de calcul et adaptés à: - superposer sur une image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; 25 - pour chaque élément graphique, mémoriser au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image numérique de saisie de code d'authentification ; - fournir l'image numérique de saisie de code d'authentification à un terminal d'utilisateur ; 30 - obtenir une succession de coordonnées spatiales représentatives des positions successives d'un point d'application déplacé sur l'image numérique de saisie de code d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi une trajectoire continue, ladite trajectoire parcourant des éléments graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales 35 représentatives de points de la trajectoire ; 5 -déterminer une séquence de symboles formant un code d'authentification à partir de ladite succession de coordonnées spatiales. Selon un autre aspect, l'invention propose un système de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un 5 système informatique, comportant un terminal utilisateur adapté à communiquer avec un serveur via un réseau de communications, le code d'authentification étant une séquence de symboles saisis par l'intermédiaire d'une interface homme-machine du terminal utilisateur, le terminal comportant un écran d'affichage et étant adapté à afficher sur l'écran d'affichage une image numérique de saisie de code d'authentification comportant 10 en superposition sur une image de fond une pluralité de symboles, le serveur étant adapté à obtenir un code d'authentification saisi par un utilisateur par sélection de symboles parmi les symboles affichés, et à comparer code d'authentification saisi à un code d'authentification préalablement enregistré. Le système comporte des modules adaptés à, préalablement à l'étape 15 d'affichage : superposer sur l'image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; 20 - pour chaque élément graphique, mémoriser au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image numérique de saisie de code d'authentification ; et après l'affichage, des modules adaptés à: - obtenir une succession de coordonnées spatiales représentatives des positions 25 successives d'un point d'application déplacé sur l'image numérique de saisie de code d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi une trajectoire continue, ladite trajectoire parcourant des éléments graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales représentatives de points de la trajectoire; 30 - déterminer une séquence de symboles parcourus à partir de ladite succession de coordonnées spatiales. Selon un autre aspect, l'invention propose un programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé de validation de code 35 d'authentification tel que brièvement décrit ci-dessus lors de l'exécution du programme par un processeur d'un dispositif programmable. 6 D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : 5 -la figure 1 représente schématiquement un système mettant en oeuvre un procédé de validation de code d'authentification selon un mode de réalisation de l'invention; -la figure 2 est un synoptique des principales étapes mises en oeuvre par un procédé de validation de code d'authentification dans un mode de réalisation ; 10 -les figures 3 et 4 illustrent des exemples d'images de saisie de code d'authentification selon des modes de réalisation ; -la figure 5 est un synoptique des principales étapes mises en oeuvre pour déterminer le code d'authentification selon un premier mode de réalisation ; -la figure 6 est un synoptique des principales étapes mises en oeuvre pour 15 déterminer le code d'authentification selon un deuxième mode de réalisation. La figure 1 illustre schématiquement un mode de réalisation d'un système de validation de code d'authentification selon l'invention. Le système 1 comporte un terminal d'utilisateur 2, appelé par la suite simplement 20 terminal, adapté à se connecter à un service par l'intermédiaire d'un serveur 4, via un réseau de communications 6, par exemple Internet. Dans l'exemple de la figure 1 le serveur 4 est un serveur distant. Dans une variante non représentée, le serveur est local, le terminal 2 étant connecté au serveur 4 par une liaison directe, filaire ou non. Le terminal 2 est par exemple un dispositif programmable, par exemple un 25 ordinateur ou une tablette, comprenant une unité 8 de communication avec le réseau de communication 6, apte à envoyer et à recevoir des données selon un protocole de communication adapté, par exemple le protocole IP (pour « Internet Protocol »). Ce terminal 2 comporte également une unité centrale de calcul 10, comportant un ou plusieurs processeurs, apte à exécuter des programmes informatiques lorsque le 30 terminal 2 est mis sous tension. L'unité centrale de calcul 10 exécute des modules logiciels comportant des instructions de code exécutable aptes à mettre en oeuvre le procédé selon l'invention. Le terminal 2 comporte également une unité de stockage d'informations 12, par exemple des registres, apte à stocker des données et des instructions de code exécutable 35 permettant l'exécution de programmes comportant des instructions de code aptes à 7 mettre en oeuvre le procédé selon l'invention. Les divers blocs fonctionnels du terminal 2 décrits ci-dessus sont connectés via un bus de communication 14. Le terminal 2 comprend ou est connecté à un écran d'affichage 16. Selon un mode de réalisation, le terminal comprend un moyen 18 d'interaction avec l'utilisateur qui 5 coopère avec un dispositif de pointage 20, par exemple une souris, un stylet ou tout autre dispositif de pointage, qui permet de désigner un point de l'écran, dit point d'application et matérialisé sur l'écran par un pointeur. Un pointeur a par exemple la forme d'un curseur d'édition, d'une flèche, d'un sablier ou d'une main. En variante l'écran d'affichage 16 est de type tactile et forme également un moyen 10 d'interaction 18 avec un utilisateur. Dans cette variante, un doigt de l'utilisateur peut être utilise comme dispositif de pointage. Dans tous les modes de réalisation, le dispositif de pointage 20, souris, stylet ou doigt de l'utilisateur, en coopération avec le moyen d'interaction 18, permet à l'utilisateur d'effectuer des tracés sur l'écran d'affichage, des positions successives du point 15 d'application étant mémorisées. Le serveur distant 4 comporte une unité 22 de communication avec le réseau de communication 6, apte à envoyer et à recevoir des données selon un protocole de communication adapté, par exemple le protocole IP (pour « Internet Protocol »). Le serveur 4 est également un dispositif programmable et comporte en outre une 20 unité centrale de calcul 24, comportant un ou plusieurs processeurs, apte à exécuter des programmes informatiques lorsque le serveur 4 est mis sous tension, et une unité de stockage d'informations 26, par exemple des registres, apte à stocker des données et des instructions de code exécutable permettant l'exécution de programmes comportant des instructions de code aptes à mettre en oeuvre le procédé selon l'invention. 25 L'environnement d'exécution d'instructions de code par le serveur 4 est considéré comme étant un environnement sécurisé, alors que l'environnement d'exécution d'instructions de code par le terminal 2 est considéré comme un environnement d'exécution standard, non sécurisé. Un environnement est dit sécurisé si l'utilisateur ne peut pas accéder à son contenu. Il peut s'agir d'un serveur web, d'un TE (« trusted 30 environnement » sur un terminal) ou d'un chipset sécurisé. La figure 2 est un organigramme des principales étapes d'un procédé de validation de code d'authentification selon un mode de réalisation de l'invention, mises en oeuvre par le ou les processeurs de calcul 10 du terminal d'une part, et par le ou les processeurs de calcul 24 du serveur d'autre part. 35 Ainsi, on distingue un premier ensemble 30A d'étapes mises en oeuvre sur le terminal 2, et un deuxième ensemble 30B d'étapes mises en oeuvre par le serveur 4. 8 Lors d'une première étape 32, le terminal soumet au serveur 4 une requête d'accès au service acquise suite à une action de l'utilisateur du terminal, telle par exemple que la demande d'affichage de la page d'accueil du service. Suite à la réception de la requête, le serveur met en oeuvre une étape 34 de 5 génération d'une image numérique I de saisie de code d'authentification, appelée pour simplifier image de saisie. L'image de saisie peut également permettre la saisie simple, c'est-à-dire non sécurisée, d'un identifiant public de l'utilisateur, ou être générée suite à une étape préalable de saisie de cet identifiant. 10 En variante, l'étape 34 de génération d'une image numérique de saisie de code d'authentification est effectuée préalablement à la réception d'une requête de la part d'un terminal utilisateur. Dans ce cas, à la réception d'une requête du terminal, une image numérique de saisie de code d'authentification est obtenue à partir d'une mémoire du serveur. 15 L'image de saisie est composée d'une image de fond, de préférence texturée, sur laquelle sont positionnés des éléments graphiques représentatifs des symboles sélectionnables pour former un code d'authentification. La notion de texture est issue du domaine textile où elle désigne les « disposition et mode d'entrecroisement des fils dans un tissage », ou l'« état de ce qui est tissé ». Elle 20 est étendue à nombre de domaines où elle désigne par analogie la qualité physique d'un objet (un tissu organique, un aliment, un métal, un sol, une roche, etc.) en lien avec la dimension, la forme, la disposition et l'entrelacement de ses composants (les fibres, ingrédients, grains, constituants, minéraux, etc.). Dans une image, une texture désigne plus particulièrement un arrangement spatial 25 de couleurs ou d'intensités dans une région de cette image. On utilise le terme « image texturée » pour une image comportant des tels arrangements spatiaux sur toute sa surface, par opposition à une image comportant de larges régions uniformes ou lisses. L'image de fond est une image numérique de L lignes et C colonnes de pixels 30 définissant sa taille. L'image de fond peut être générée dynamiquement, à la volée, lors de l'étape 34, par exemple par sélection d'un motif et d'une couleur associée. En variante, des formes géométriques variées (droites à orientation aléatoire dans le plan, cercles, ellipses, rectangles) sont disposées aléatoirement pour former une image de fond fortement 35 contrastée. 9 La notion de contraste à laquelle on s'intéresse ici, est celle de contraste local. De nombreuses définitions en sont connues, qui permettent de calculer le contraste local comme variation locale, absolue ou relative, de la luminance ou de l'intensité lumineuse. L'oeil humain ne distingue une telle variation relative d'intensité lumineuse, qu'a partir d'un 5 seuil d'approximativement 0,05 à 0,10, en valeur absolue, selon les individus. Un contraste est par exemple dit élevé si la variation relative d'intensité est supérieure à 1, 5, ou 10. Selon une autre variante, l'image de fond est une image naturelle texturée ou comportant de nombreux détails fortement contrastés, qui est lue dans une mémoire 26 10 du dispositif. Bien entendu, il existe de nombreuses autres méthodes, à la portée d'un homme du métier, pour générer une image de fond texturée et/ou comportant des détails fortement contrastés. Les figures 3 et 4 illustrent schématiquement une image de saisie comportant une 15 image de fond formée par un motif géométrique. Sur l'image de fond sont positionnés, pseudo-aléatoirement, N éléments graphiques représentant les éléments d'un ou de sous-ensemble(s) du ou des ensemble(s) de symboles de référence, par exemple 10 éléments graphiques 01 à 010 comportant chacun le tracé d'un chiffre respectif compris entre 0 et 9 lorsque le code 20 d'authentification est une séquence d'un nombre prédéterminé de chiffres, par exemple de quatre, six ou huit chiffres. De manière plus générale, des éléments graphiques représentant d'autres symboles alphanumériques, par exemple des lettres, sont superposés à l'image de fond pour former l'image numérique de saisie de code d'authentification. 25 Plus généralement encore, les éléments graphiques positionnés sur l'image de fond sont les tracés de l'ensemble des symboles utilisables pour former un code d'authentification. Dans un mode de réalisation alternatif, les éléments graphiques comportent chacun le tracé d'un objet codant un symbole. Par exemple, chaque élément graphique 30 est une image d'un objet ou d'un animal facilement identifiable par un utilisateur, et la première lettre du mot désignant l'objet affiché est le symbole codé. Ainsi, par exemple, une image de banane code la lettre B, une image d'éléphant code la lettre E, une image d'orange code la lettre 0, une image de train code la lettre T, une image de zèbre code la lettre Z. Bien évidemment, de nombreuses variantes de codage d'un symbole par une 35 image sont envisageables. 10 Les éléments graphiques 01 à 010 sont positionnés de manière pseudo-aléatoire. La taille des éléments graphiques, et l'espacement entre deux éléments graphiques voisins spatialement sont choisis de manière à ce qu'une distance minimale 134,, soit garantie entre deux éléments graphiques voisins. 5 Par exemple, à chaque élément graphique affiché est associé un cercle dans lequel il est inscrit, au moins partiellement. L'élément graphique et son cercle associé sont typiquement concentriques. Le centre du cercle détermine la position de l'élément graphique. La distance d'un point à ce centre détermine sa distance à l'élément graphique. 10 Le cercle associé à un élément graphique n'est pas représenté sur la figure, mais seulement utilisé par l'algorithme de détermination du code d'authentification saisi pour déterminer si l'élément graphique est ou non parcouru par la trajectoire. Un point est en effet considéré comme appartenant à l'élément graphique si sa distance au centre du cercle associé est inférieure à une valeur prédéterminée égale au rayon du cercle associé 15 à l'élément graphique, c'est-à-dire si le point est situé à l'intérieur de ce cercle. L'association à un élément graphique, d'un cercle dans lequel il est partiellement inscrit a ainsi pour avantage de permettre de ne prendre en compte que les parcours « francs » de l'élément graphique, traversant un voisinage de son centre, et d'éviter d'en prendre en compte un parcours « marginal », n'en traversant qu'un bord, potentiellement involontaire. 20 Le rayon de chaque cercle est défini en fonction de la taille de l'image de fond et du nombre N d'éléments graphiques à placer sur l'image de fond. En variante, à chaque élément graphique est associé(e), plutôt qu'un cercle, une autre forme géométrique, par exemple une ellipse, un carré, un rectangle ou tout autre polygone centré sur lui dans lequel est inscrit, au moins partiellement, l'élément 25 graphique, ou son enveloppe convexe. Comme plus haut, l'élément graphique et sa forme géométrique associée sont typiquement concentriques, et la position de l'élément graphique est définie par les coordonnées du centre de la forme géométrique associée. Comme plus haut, un point est considéré comme appartenant à l'élément graphique s'il est situé à l'intérieur de sa forme géométrique associée. Comme plus haut, l'association à 30 un élément graphique, d'une forme géométrique dans laquelle il est partiellement inscrit a ainsi pour avantage de permettre de ne prendre en compte que les parcours « francs » de l'élément graphique, traversant un voisinage de son centre, et d'éviter d'en prendre en compte un parcours « marginal », n'en traversant qu'un bord, potentiellement involontaire. Il est également envisageable de proposer des éléments graphiques de tailles 35 différentes. 11 La distance D1,2 entre un premier élément graphique et un deuxième élément graphique est par exemple prise comme égale à la plus petite distance entre points des périmètres des cercles associés respectivement au premier élément graphique et au deuxième élément graphique. 5 Dans un autre exemple, la distance D1,2 est la distance séparant les centres des cercles associés respectivement au premier élément graphique et au deuxième élément graphique. De préférence, le positionnement des premier et deuxième éléments graphiques est tel que la distance D1,2 est supérieure à la distance minimale D,,, prédéterminée. La 10 distance D,,, peut être déterminée en fonction du nombre d'éléments graphiques à afficher et de la taille de l'image de saisie. Par exemple, pour une image de saisie rectangulaire de plus petite dimension d, et 10 à 14 éléments graphiques de taille d/8, la distance Dmin est comprise entre entre d/5 et d/10 ; elle est par exemple égale à d/6. De préférence, la couleur et la texture des éléments graphiques sont choisies en 15 fonction de la couleur et de la texture de l'image de fond, pour qu'une analyse automatique soit difficile, tout en restant lisibles par un utilisateur, c'est-à-dire pour rendre difficile la différenciation entre le contour des éléments graphiques et la texture sous-jacente. Par exemple, le contraste local entre chaque élément graphique représentant un 20 symbole et l'image de fond est diminué. Par exemple, chaque élément graphique a une couleur proche de la couleur dominante de l'image de fond. Optionnellement, les éléments graphiques sont partiellement transparents afin de laisser apparaître la texture de l'image de fond. En complément, les éléments graphiques peuvent être représentés de biais, ou 25 floutés, de manière à augmenter la difficulté d'analyse automatique. Lors de la génération de l'image numérique de saisie de code d'authentification, une information relative à la position de chaque élément graphique dans cette image de saisie est mémorisée, en lien avec le symbole représenté. Dans un mode de réalisation, pour chaque élément graphique Gk, on mémorise 30 dans un triplet (Sk, xsk,ysk), un identifiant Sk du symbole représenté par Gk et une position (xsk,ysk) de l'élément graphique Gk dans un référentiel associé à l'image de saisie. Par exemple, (xsk,ysk) sont les coordonnées du centre du cercle associé à l'élément graphique Gk. On obtient alors une liste de N triplets {(Sk , xsk , YSk ),i k N}. 35 Dans une variante, on mémorise une « image de symboles affichés », notée Is, de la même taille en nombre de lignes et de colonnes de pixels que l'image numérique de 12 saisie de code d'authentification. La valeur de chaque pixel de l'image ls de symboles affichés identifie l'élément graphique que le pixel de même position spatiale de l'image de saisie contribue à afficher. Chaque pixel de l'image ls de symboles affichés contribuant à l'affichage d'un 5 élément graphique donné prend donc une valeur choisie en fonction de cet élément graphique, les autres pixels de cette image ls ayant une valeur par défaut prédéterminée, par exemple 255 lorsque les valeurs numériques des pixels sont représentées sur 8 bits. Pour chaque élément graphique on mémorise un identifiant Sk du symbole représenté. L'étape 34 de génération d'une image numérique de saisie de code 10 d'authentification est suivie d'une étape 36 d'envoi de cette image au terminal. Le terminal reçoit l'image numérique de saisie de code d'authentification à l'étape de réception 38, et l'affiche sur l'écran d'affichage. Cette image peut prendre une partie ou la totalité de l'écran d'affichage du terminal. Sa position d'affichage sur l'écran d'affichage est connue. 15 Le terminal se met alors en attente d'événements de déplacement du point d'application. L'utilisateur saisit alors un code d'authentification dans l'image de saisie. A cet effet, à l'aide du dispositif de pointage, il effectue un tracé continu d'une trajectoire qui parcourt des éléments graphiques affichés dans un ordre tel que la séquence des 20 symboles représentés par les éléments graphiques parcourus forme le code d'authentification, sans possibilité de sélectionner isolément des autres chacun des symboles, par un clic ou appui prolongé, par exemple. Dans un mode de réalisation, un tel appui n'est pas pris en compte. Dans un autre, un tel appui est pris en compte comme signal de fin de saisie. 25 Le code d'authentification peut contenir plusieurs fois le même symbole, ce qui peut se traduire par des boucles dans la trajectoire dessinée. En variante, plusieurs éléments graphiques affichés représentent le même symbole. La trajectoire est de forme quelconque, elle n'est pas linéaire par morceaux. 30 Dans un mode de réalisation optionnel, le tracé effectué par l'utilisateur est affiché au fur et à mesure, sensiblement en temps réel, en superposition sur l'image de saisie affichée, permettant ainsi à l'utilisateur de vérifier sa saisie. Une succession de positions spatiales représentatives des points d'application successifs selon le tracé effectué par l'utilisateur est acquise et mémorisée à l'étape 40. 35 Cette succession de positions spatiales (X,,Y,), dans un référentiel associé à l'écran 13 d'affichage, est représentative de la trajectoire suivie par le point d'application sur l'écran d'affichage du terminal. Par exemple, lorsque le dispositif de pointage est un doigt de l'utilisateur, celui-ci trace une trajectoire T en faisant glisser son doigt. A la figure 4 est illustrée une trajectoire 5 T entre un point de départ Pd de coordonnées (X1,Y1) et un point d'arrivée Pa de coordonnées (X0, Y0). Il est à noter que certains des points de la succession de positions spatiales peuvent se situer en dehors de l'image de saisie, si celle-ci n'occupe pas la totalité de la surface de l'écran d'affichage. 10 Un arrêt du tracé par l'utilisateur est détecté à l'étape 42. De préférence, on distingue entre un arrêt temporaire du tracé, par exemple pour des raisons de commodité pour l'utilisateur, et un arrêt pour validation du code d'authentification. De préférence, il est prévu d'envoyer un signal de fin de saisie pour signifier l'arrêt 15 pour validation du code d'authentification, par exemple, à l'aide d'une souris, un « double- clic » ou un appui sur un bouton d'arrêt affiché à l'écran. A l'étape 44, il est déterminé si l'arrêt effectué par l'utilisateur correspond à un signal de fin de saisie. En cas de réponse négative, l'étape 44 est suivie de l'étape 40 précédemment 20 décrite, pour donner à l'utilisateur la possibilité de continuer le tracé de la trajectoire. En cas de réponse positive, l'étape 44 est suivie d'une étape 46 d'envoi des données représentatives de la trajectoire du point d'application sur l'image de saisie au serveur 4, qui reçoit ces données à l'étape de réception de trajectoire 48. Par exemple, les données transmises sont les coordonnées spatiales successives 25 ,Y1),- - -,(xi,Y1),- - -, (x0,y0)} du point d'application selon le tracé effectué par l'utilisateur, dans un référentiel associé à l'image de saisie. Le nombre Q des coordonnées spatiales successives, définissant la trajectoire, est largement supérieur au nombre de symboles formant le code d'authentification à valider, de préférence d'un facteur supérieur ou égal à 10, et par exemple égal à 20, 50 ou 80. 30 En variante, les données transmises sont des données caractéristiques des déplacements successifs entre points d'application consécutifs. Par exemple, les coordonnées spatiales (x,y), x étant un indice de ligne et y un indice de colonne, sont indiquées dans le référentiel ayant pour origine le coin supérieur gauche de l'image de saisie. 14 Dans le cas où l'image de saisie n'occupe pas la totalité de l'écran d'affichage, les coordonnées (X,,,) dans le référentiel de l'image de saisie sont calculées, par translation, à partir des coordonnées (X,,Y,) dans le référentiel de l'écran d'affichage du terminal. Dans le cas, illustré à la figure 4, dans lequel certains points de la trajectoire se 5 trouvent en dehors de l'image de saisie (par exemple le point Pd), leurs coordonnées dans le référentiel de l'image de saisie sont négatives. L'étape 48 est suivie d'une étape 50 d'analyse des données représentatives de la trajectoire formée dans l'image de saisie, et de détermination d'une séquence d'éléments graphiques parcourus. 10 Plusieurs modes de réalisation sont envisagés pour effectuer l'analyse de la trajectoire, et sont détaillés ci-après en référence aux figures 5 et 6. Un code d'authentification est déterminé à l'étape 52 à partir de la séquence d'éléments graphiques parcourus extraite de la trajectoire. Le code d'authentification est déterminé comme la séquence des symboles 15 représentés par les éléments graphiques successifs de la séquence des éléments graphiques parcourus. L'étape 52 est suivie d'une étape 54 de validation du code d'authentification, mettant en oeuvre une comparaison du code d'authentification déterminé à l'étape 52 par rapport à un ou plusieurs code(s) d'authentification préalablement mémorisé(s) en 20 association avec l'identifiant de l'utilisateur. Si le code d'authentification obtenu est identique à un code d'authentification préalablement mémorisé en association avec l'identifiant de l'utilisateur, l'authentification de l'utilisateur est validée. Si le code d'authentification obtenu n'est identique à aucun des codes 25 d'authentification mémorisés en association avec l'identifiant de l'utilisateur, l'authentification de l'utilisateur est refusée. Le résultat de l'étape de validation 54, acceptation ou refus, est envoyé au terminal lors d'une étape d'envoi 56. Le résultat de la validation du code d'authentification est reçu par le terminal à 30 l'étape de réception de validation 58. En fonction du résultat, l'accès demandé par l'utilisateur est autorisé ou refusé. La figure 5 est un synoptique des principales étapes d'un premier mode de réalisation de l'étape 50 d'analyse des données représentatives de la trajectoire formée dans l'image de saisie, et de détermination d'une séquence d'éléments graphiques 35 parcourus. 15 Les données représentatives de la trajectoire sont des coordonnées, fournies sous forme de liste de couples de coordonnées {(x1,Y1),...,(xi,y),- - -, (xo,Yo)}, chaque couple de coordonnées (x,,y,) identifiant un point d'application Pi correspondant, la liste étant triée dans l'ordre chronologique de formation de la trajectoire lorsque i croît. 5 Dans ce premier mode de réalisation, les éléments graphiques de l'image de saisie de code d'authentification ont été mémorisés sous forme de triplets comportant chacun un identifiant de symbole Sk associé à une position (xsk,ysk). Les coordonnées mémorisées (xsk,ysk) sont les coordonnées du point central de la forme géométrique associée à l'élément graphique. 10 Lors d'une première étape 60 les données (xsk,ysk) représentatives des positions des éléments graphiques représentant les symboles Sk dans l'image de saisie sont obtenues, par exemple par lecture dans une mémoire. Par exemple, la position d'un élément graphique est la position du centre OS de la forme géométrique, par exemple du cercle, associée à l'élément graphique. 15 En outre, on associe à chaque élément graphique affiché une distance d'entrée DE et une distance de sortie D. On considère alors que la trajectoire commence un parcours d'un élément graphique si le point d'application passe d'une position distante de plus de DE du centre de l'élément graphique, à une position distante de moins de DE du centre de l'élément graphique. Réciproquement, on considère que la trajectoire finit un parcours 20 d'un élément graphique si le point d'application passe d'une position distante de moins de Ds du centre de l'élément graphique, à une position distante de plus de Ds du centre de l'élément graphique. Cela revient à associer à l'élément graphique deux cercles de rayons DE et D. Dans un mode de réalisation, les distances d'entrée DE et de sortie Ds sont toutes 25 deux égales et les cercles associés confondus. Dans ce mode de réalisation, les cercles associés aux éléments graphiques affichés n'ont pas d'intersection. Dans un mode de réalisation alternatif, les distances DE et Ds sont différentes. De préférence, DE est inférieure à D. Ce mode de réalisation permet d'augmenter encore l'avantage exposé plus haut de l'association à un élément graphique d'une forme 30 géométrique dans laquelle il est partiellement inscrit, en requérant, pour considérer que la trajectoire finit un parcours de l'élément graphique, que le point d'application s'éloigne de son centre d'une distance supérieure à celle à laquelle il doit s'en approcher pour que soit considéré qu'elle le commence, c'est-à-dire en optimisant séparément les distances caractérisant le début et la fin d'un parcours « franc » de l'élément graphique. 35 Dans un autre mode de réalisation alternatif, les distances d'entrée DE et de sortie Ds dépendent de l'élément graphique considéré. Ce mode de réalisation s'applique 16 particulièrement au cas où les éléments graphiques représentent des objets codant chacun un symbole. Ensuite à l'étape d'initialisation 62 de variables, une variable « elément graphique courant » SC est initialisée à « vide ». De même, une séquence MP d'identifiants 5 d'éléments graphiques parcourus est initialisée à une liste vide. Par exemple, chaque élément graphique est identifié par un indice. A l'étape 64, le couple de coordonnées (x,,y,) non encore traité de plus petit index i est extrait à partir de la liste de coordonnées reçue. A l'étape suivante 66, seulement si la variable élément graphique courant SC n'est 10 pas vide (c'est-à-dire que la variable SC contient une valeur d'élément graphique en cours de parcours, on détermine si le parcours de cet élément graphique est terminé) : - la distance euclidienne D, entre le point (x,,y,) courant et la position (xsc, ysc) de l'élément graphique en cours de parcours est calculée ; - si D, est supérieure à Ds, alors SC est réinitialisée à « vide ». 15 Ensuite, à l'étape 68, seulement si la variable élément graphique courant est vide (c'est-à-dire que la variable élément graphique courant SC ne contient pas de valeur parce qu'aucun élément graphique n'est en cours de parcours, on détermine si un nouveau parcours d'un élément graphique a commencé) : - pour chaque point central CS, associé à un élément graphique GJ, 20 0 la distance euclidienne D, entre le point (x,,y,) courant et le point CS, est calculée, puis 0 seulement si D, est inférieure à DE, - un identifiant de l'élément graphique de point central CS, est ajouté à MP, et 25 - SC prend CS, pour valeur. L'étape 68 est suivie par l'étape 64 pour traitement du point suivant de la liste de coordonnées {(x,, y,)}. Les étapes 64 à 68 sont itérées jusqu'à ce que tous les points de la liste de coordonnées {(x,, y,)} soient traités. 30 Lorsque tous les points ont été traités, on obtient la séquence MP complète des identifiants des éléments graphiques parcourus. Dans un mode de réalisation alternatif, il est possible d'affiner la liste des points de la trajectoire en appliquant une interpolation, de degré sélectionné, à partir de la liste acquise de leurs couples de coordonnées, et de la ré-échantillonner plus finement, afin de 35 disposer d'un nombre plus élevé de points de trajectoire successifs. 17 La distance entre deux points successifs du nouvel échantillonnage doit alors typiquement être inférieure à la taille du plus petit élément graphique. Un tel affinement permet d'obtenir une liste augmentée de coordonnées spatiales représentatives de points de la trajectoire, ce qui permet d'assurer la détermination des 5 éléments graphiques parcourus. Dans une autre variante, une courbe d'interpolation, de degré sélectionné, de la liste acquise des couples de coordonnées des points de la trajectoire, peut être considérée comme trajectoire à analyser. On s'intéresse alors aux points d'intersection entre la trajectoire obtenue par interpolation et les formes géométriques associées aux 10 éléments graphiques. En particulier, il est alors possible de déterminer précisément le point de début et le point de fin d'un parcours d'un élément graphique représentant un symbole, sur la base des algorithmes classiques et des équations de la courbe d'interpolation et des formes géométriques associées aux éléments graphiques. La figure 6 est un synoptique des principales étapes d'un deuxième mode de 15 réalisation de l'étape 50 d'analyse des données représentatives de la trajectoire formée dans l'image de saisie, et de détermination d'une séquence d'éléments graphiques parcourus. Dans ce mode de réalisation, le serveur 4 a mémorisé une image Is de symboles affichés, dans laquelle chaque pixel contribuant à l'affichage d'un élément graphique 20 représentant un symbole donné, prend une valeur choisie en fonction d'un identifiant de cet élément graphique, les autres pixels de cette image Is ayant une valeur par défaut prédéterminée Vo indicative du fait que le pixel affiché à la position spatiale correspondante n'appartient pas à un élément graphique représentant un symbole. Pour simplifier, Vo est appelée valeur indicative d'absence d'élément graphique. 25 Lors d'une première étape 80 d'initialisation, une variable « identifiant d'élément graphique courant » GO est initialisée à « vide ». De même, une séquence MP d'identifiants d'éléments graphiques parcourus est initialisée à une liste vide. Ensuite, lors de l'étape 82, le couple de coordonnées (x,,y,) non encore traité de plus petit index i est extrait à partir de la liste de coordonnées reçue. 30 Lors de l'étape suivante 84, la valeur du pixel de coordonnées (x,,y,) dans l'image des symboles Is, noté Is(x,,y,), est comparée à la valeur prédéterminée Vo indicative de l'absence d'élément graphique à l'emplacement de coordonnées (x,,y,). En cas d'égalité, l'étape 84 est suivie par l'étape 82 préalable, pour traitement du point suivant de la liste de coordonnées {(x,, y,)}. 35 Dans le cas où Is(x,,y,) n'est pas égale à la valeur prédéterminée Vo, on détermine à l'étape suivante 86 un identifiant Gk de l'élément graphique parcouru. 18 L'identifiant Gk est comparé à l'identifiant d'élément graphique courant mémorisé dans la variable GO à l'étape 88, et en cas de comparaison positive, l'étape 88 est suivie par l'étape 82 préalable, pour traitement du point suivant de la liste de coordonnées {(x,, y,)}. En effet, on peut déduire dans ce cas qu'un même élément graphique Gk est indiqué 5 par plusieurs points de la trajectoire tracée par l'utilisateur. Si à l'étape 88 la comparaison est négative, il s'agit d'un nouvel élément graphique parcouru par la trajectoire tracée par l'utilisateur. A l'étape suivante 90, la variable GO est modifiée pour prendre la valeur Gk, d'identifiant de l'élément graphique parcouru, et cet identifiant est également ajouté à la 10 séquence MP d'identifiants d'éléments graphiques parcourus. L'étape 90 est à nouveau suivie de l'étape 82 pour traitement du point suivant de la liste de coordonnées {(x,, y,)}. L'algorithme prend fin lorsque tous les points de la liste de coordonnées {(x,, y,)} ont été traités. 15 Avantageusement, les étapes de génération d'une image numérique de saisie de code d'authentification et d'analyse des données représentatives de la trajectoire reçue, de détermination de code d'authentification saisi et de validation du code d'authentification saisi sont effectuées dans l'environnement sécurisé du serveur, ce qui permet d'augmenter la sécurité et la robustesse par rapport à d'éventuelles attaques par 20 des logiciels malveillants. Avantageusement, l'image numérique de saisie de code d'authentification est générée de sorte qu'une analyse automatique pour détecter les symboles alphanumériques affichés soit complexe. De plus, l'utilisation d'un tracé continu ou quasi-continu d'une trajectoire 25 parcourant des éléments graphiques représentant les symboles formant le code d'authentification rend bien plus difficile le piratage par capture de la sortie du dispositif de pointage que lorsque l'utilisateur clique successivement, un par un et isolément, sur les symboles formant le code d'authentification. L'invention a été décrite ci-dessus, notamment en référence à la figure 2, en 30 distinguant un premier ensemble 30A d'étapes mises en oeuvre sur le terminal 2, et un deuxième ensemble 30B d'étapes mises en oeuvre par le serveur 4. Selon une variante, le terminal et le serveur sont intégrés dans un même dispositif de validation de code d'authentification. REVENDICATIONS1.- Procédé de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un système informatique, le code d'authentification étant une séquence de symboles saisis par l'intermédiaire d'une interface homme- machine d'un terminal utilisateur, comportant des étapes d'affichage, sur un écran d'affichage du terminal utilisateur, d'une image numérique de saisie de code d'authentification comportant en superposition sur une image de fond une pluralité de symboles, d'obtention d'un code d'authentification saisi par un utilisateur par sélection de symboles parmi les symboles affichés, et de comparaison du code d'authentification saisi à un code d'authentification préalablement enregistré, procédé caractérisé en ce qu'il comporte, préalablement à l'étape d'affichage (38), des étapes de : - superposition (34) sur l'image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; - mémorisation (34), pour chaque élément graphique, d'au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image numérique de saisie de code d'authentification ; et après l'étape d'affichage (38), des étapes de : - obtention (40, 42, 44) d'une succession de coordonnées spatiales représentatives des positions successives d'un point d'application déplacé sur l'image numérique de saisie de code d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi une trajectoire continue, ladite trajectoire parcourant des éléments graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales représentatives de points de la trajectoire ; - détermination (50), à partir de ladite succession de coordonnées spatiales, d'une séquence de symboles formant un code d'authentification. 2.- Procédé de validation de code d'authentification selon la revendication 1, dans lequel la formation (34) d'une image numérique de saisie de code d'authentification comporte l'obtention parmi un ensemble d'images de fond prédéterminées ou la génération à la volée d'une image de fond texturée et/ou comportant des détails à fort contraste. 20 3.- Procédé de validation de code d'authentification selon l'une quelconque des revendications 1 ou 2, dans lequel deux éléments graphiques voisins sont distants d'une distance supérieure ou égale à une distance minimale prédéterminée. 5 4.- Procédé de validation de code d'authentification selon l'une des revendications 1 à 3, dans lequel chaque élément graphique a des propriétés de texture et/ou de couleur et/ou de transparence choisies en fonction de l'image de fond, de manière à diminuer un contraste local par rapport à ladite image de fond. 10 5.- Procédé de validation de code d'authentification selon l'une quelconque des revendications 1 à 4, comportant une étape d'interpolation à partir de la succession de coordonnées spatiales représentatives des positions successives du point d'application, suivie d'une étape de ré-échantillonnage permettant d'obtenir une liste d'effectif augmenté de coordonnées spatiales représentatives de points de la trajectoire. 15 6.- Procédé de validation de code d'authentification selon l'une quelconque des revendications précédentes, dans lequel l'information relative au symbole représenté par un élément graphique et à la position dudit élément graphique dans l'image numérique de saisie de code d'authentification consiste en un triplet comprenant un identifiant dudit 20 symbole et deux coordonnées d'un point central associé à l'élément graphique, ledit point central étant le centre d'une forme géométrique dans laquelle l'élément graphique d'affichage est au moins partiellement inscrit. 7.- Procédé de validation de code d'authentification selon la revendication 6, dans 25 lequel la détermination (50) d'une séquence de symboles formant le code d'authentification comporte, pour chaque point de la trajectoire : un calcul (66, 68) de distance entre ledit point de la trajectoire et au moins un point central associé à un élément graphique, une comparaison (68) de la distance calculée à une distance d'entrée 30 prédéterminée et/ou une comparaison (66) de la distance calculée à une distance de sortie prédéterminée, et, en fonction du résultat desdites comparaisons (66, 68), un ajout d'un identifiant de l'élément graphique dans une liste d'identifiants d'éléments graphiques parcourus. 35 21 8.- Procédé de validation de code d'authentification selon la revendication 7, dans lequel ladite distance d'entrée est inférieure à ladite distance de sortie. 9.- Procédé de validation de code d'authentification selon l'une quelconque des 5 revendications 1 à 5, comportant la mémorisation d'une image de symboles affichés comportant des pixels, chaque pixel ayant une position spatiale et une valeur, la valeur étant représentative d'un élément graphique affiché à la position spatiale correspondante ou de l'absence d'élément graphique affiché à la position spatiale correspondante, et comportant la mémorisation, pour chaque élément graphique, d'un identifiant du symbole 10 qu'il représente, la détermination (50) d'une séquence de symboles formant le code d'authentification comportant : -pour chaque point de la trajectoire, une détermination (84) de la valeur du pixel de même position spatiale que le point de la trajectoire dans l'image de symboles affichés, et, en fonction d'une correspondance (86, 88) entre ladite valeur de pixel et un élément 15 graphique affiché à la position spatiale correspondante, un ajout (90) d'un identifiant dudit élément graphique dans une liste d'identifiants d'éléments graphiques parcourus. 10.- Procédé de validation de code d'authentification selon l'une quelconque des revendications 1 à 9, dans lequel chacun desdits éléments graphiques comporte un tracé 20 du symbole qu'il représente. 11.- Procédé de validation de code d'authentification selon l'une quelconque des revendications 1 à 9, dans lequel chacun desdits éléments graphiques comporte un tracé d'un objet codant le symbole qu'il représente. 12.- Procédé de validation de code d'authentification selon l'une quelconque des revendications 1 à 11, dans lequel l'étape d'obtention d'une succession de coordonnées spatiales représentatives des positions successives du point d'application comporte en outre une réception (44) d'un signal de fin de saisie. 13.- Programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé de validation de code d'authentification selon les revendications 1 à 12 lors de l'exécution du programme par un processeur d'un dispositif programmable. 25 30 35 14.- Dispositif de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un système informatique, le code d'authentification 22 étant une séquence de symboles saisis par l'intermédiaire d'une interface homme-machine d'un terminal utilisateur, le dispositif comportant une unité centrale de calcul comportant un ou plusieurs processeurs, caractérisé en ce qu'il comporte des modules mis en oeuvre par ladite unité central de calcul et adaptés à: 5 - superposer sur une image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; - pour chaque élément graphique, mémoriser au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image numérique de 10 saisie de code d'authentification ; - fournir l'image numérique de saisie de code d'authentification à un terminal d'utilisateur ; - obtenir une succession de coordonnées spatiales représentatives des positions successives d'un point d'application déplacé sur l'image numérique de saisie de code 15 d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi une trajectoire continue, ladite trajectoire parcourant des éléments graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales représentatives de points de la trajectoire ; -déterminer une séquence de symboles formant un code d'authentification à partir 20 de ladite succession de coordonnées spatiales. 15.- Système de validation de code d'authentification permettant à un utilisateur autorisé à accéder à un service ou un système informatique, comportant un terminal utilisateur adapté à communiquer avec un serveur via un réseau de communications, 25 le code d'authentification étant une séquence de symboles saisis par l'intermédiaire d'une interface homme-machine du terminal utilisateur, le terminal comportant un écran d'affichage et étant adapté à afficher sur l'écran d'affichage une image numérique de saisie de code d'authentification comportant en superposition sur une image de fond une pluralité de symboles, 30 le serveur étant adapté à obtenir un code d'authentification saisi par un utilisateur par sélection de symboles parmi les symboles affichés, et à comparer code d'authentification saisi à un code d'authentification préalablement enregistré, le système étant caractérisé en ce que qu'il comporte, des modules adaptés à, préalablement à l'étape d'affichage : 35 - superposer sur l'image de fond d'éléments graphiques à des positions déterminées aléatoirement, chaque élément graphique étant représentatif d'un 23 symbole sélectionnable, pour former l'image numérique de saisie de code d'authentification ; pour chaque élément graphique, mémoriser au moins une information relative au symbole représenté et à la position de l'élément graphique dans l'image 5 numérique de saisie de code d'authentification ; et après l'affichage, des modules adaptés à: obtenir une succession de coordonnées spatiales représentatives des positions successives d'un point d'application déplacé sur l'image numérique de saisie de code d'authentification par l'intermédiaire d'un dispositif de pointage, formant ainsi 10 une trajectoire continue, ladite trajectoire parcourant des éléments graphiques affichés, ladite succession de coordonnées spatiales formant une liste de coordonnées spatiales représentatives de points de la trajectoire; déterminer une séquence de symboles parcourus à partir de ladite succession de coordonnées spatiales. 15