Brevet FR3143790A1 — publié le 20240621

L’invention concerne un procédé de saisie sécurisée d’un code d’un utilisateur au moyen d’un clavier (KB) d’un premier terminal (T1), le procédé comprenant des étapes consistant à : recevoir par un second terminal (T2) un ordre de libellés de touches (CLV) ; capturer une première image du clavier par le second terminal ; générer par le second terminal une seconde image du clavier, présentant des libellés de touches à des positions de touches du clavier (IKB) présentes dans la première image, dans un ordre correspondant à l’ordre de libellés de touches reçu ; afficher la seconde image sur un écran d’affichage (DP) du second terminal ; acquérir par le premier terminal une séquence de libellés de touches activées successivement par un utilisateur sur le clavier ; et déterminer un code secret à partir de la séquence de libellés de touches introduite par l’utilisateur et de l’ordre de libellés de touches. Figure 1 Procédé et système de saisie sécurisée d’un code secret au moyen d’un clavier La présente invention concerne la saisie d’un code secret au moyen d’un clavier, pour authentifier un utilisateur, en vue de conduire une transaction sécurisée ou dans le cadre d’un contrôle d’accès. Etat de la technique De nombreux services sont accessibles par l’intermédiaire d’un terminal connecté, notamment des services de paiement à l’aide d’un terminal de paiement et des services de retrait d’espèces à partir d’un distributeur automatique. De tels services impliquent la saisie par l’utilisateur d’un code secret lié à une carte d’authentification telle qu’une carte bancaire. Ces dispositifs étant utilisés ou installés dans des espaces publics, il est possible que des personnes situées à proximité puissent déterminer le code saisi en observant les mouvements des doigts de l’utilisateur sur le clavier. Par ailleurs, certaines installations frauduleuses équipées d’une caméra peuvent enregistrer les mouvements des doigts des utilisateurs lorsqu’ils utilisent le clavier d’un distributeur automatique de billets. Généralement, le code secret lié à une carte bancaire ne peut pas facilement être changé. Cela nécessite de devoir éditer un nouveau code secret que l’utilisateur doit mémoriser, voire de changer de carte bancaire. Il est donc essentiel de pouvoir sécuriser la saisie de ce code secret, notamment en empêchant qu’un observateur puisse observer les mouvements des doigts de l’utilisateur sur le clavier de saisie et ainsi déterminer le code saisi. Pour la saisie d’un code secret, notamment pour accéder à un compte client sur un site web, il a été proposé d’afficher sur un écran l’image d’un clavier dont les touches ont des positions définies aléatoirement. Cette solution n’empêche pas des personnes à proximité de voir l’image du clavier à l’écran et les mouvements d’un pointeur sur l’image du clavier. On a également proposé d’envoyer à l’utilisateur un code à usage unique par une autre liaison de communication (par exemple par SMS), ce code devant être saisi par l’utilisateur pour valider une transaction en cours. Cette solution n’évite pas la saisie du code secret lié à la carte sur un terminal de paiement ou un distributeur de billets. En outre, cette solution implique des manipulations supplémentaires pour l’utilisateur, ainsi qu’un coût supplémentaire pour l’envoi du code à usage unique. Par ailleurs, de nombreux immeubles sont équipés d’un contrôle d’accès impliquant la saisie d’un code d’accès. Généralement, ce code d’accès est fréquemment changé pour contrer des personnes non autorisées ayant obtenu le code d’accès et pour éviter que les touches du clavier activées pour introduire le code d’accès soient endommagées en raison de leur activation fréquente. Il est donc souhaitable de pouvoir proposer un procédé permettant de protéger la saisie d’un code secret, notamment dans un espace potentiellement hostile comme un espace public ou lorsque plusieurs personnes doivent successivement saisir leur code secret sur un même clavier. Des modes de réalisation concernent un procédé de saisie sécurisée d’un code d’un utilisateur au moyen d’un clavier d’un premier terminal, le procédé comprenant des étapes consistant à : recevoir par un second terminal un identifiant du premier terminal ; recevoir par le second terminal un ordre de libellés de touches ; capturer par le second terminal une première image du clavier du premier terminal ; générer par le second terminal une seconde image du clavier du premier terminal à partir de la première image, la seconde image présentant des libellés de touches à des positions de touches du clavier présentes dans la première image, dans un ordre correspondant à l’ordre de libellés de touches reçu ; afficher la seconde image sur un écran d’affichage du second terminal ; acquérir par le premier terminal une séquence de libellés de touches activées successivement par un utilisateur sur le clavier du premier terminal ; et déterminer un code secret à partir de la séquence de libellés de touches introduite par l’utilisateur et de l’ordre de libellés de touches. Grâce à ces dispositions, la répartition des touches du clavier du premier terminal peut être changée à chaque fois qu’un code doit être saisi. La visualisation des touches activées par l’utilisateur sur le clavier du premier terminal ne permet donc pas de déterminer le code secret introduit par l’utilisateur. Selon un mode de réalisation, un nouvel ordre de libellés de touches est reçu par le second terminal pour chaque touche du clavier à activer par l’utilisateur pour saisir la séquence de libellés de touches. De cette manière, il n’est pas possible en observant les touches du clavier du premier terminal, activées par l’utilisateur, si le code de l’utilisateur comporte plusieurs fois le même caractère. Selon un mode de réalisation, le procédé comprend une étape de comparaison du code secret à un code mémorisé, l’utilisateur étant authentifié si le code secret correspond au code mémorisé. Ainsi, le code introduit par l’utilisateur peut être utilisé pour authentifier ce dernier. La correspondance entre le code secret introduit et le code secret mémorisé n’implique pas nécessairement une égalité entre ces deux codes, mais seulement l’existence d’une correspondance prédéterminée et vérifiable entre ces deux codes. Selon un mode de réalisation, le procédé comprend des étapes consistant à : générer l’ordre de libellés de touches par le premier terminal ; et transmettre l’ordre de libellés de touches au second terminal, le code secret étant déterminé par le premier terminal à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. De cette manière, le procédé peut être mis en œuvre sans faire intervenir un dispositif externe tel qu’un serveur, ou sans avoir à modifier le programme exécuté par le serveur. Selon un mode de réalisation, le procédé comprend des étapes consistant à : requérir l’ordre de libellés de touches par le second terminal à un serveur ; et générer l’ordre de libellés de touches par le serveur qui transmet l’ordre de libellés de touches au premier terminal et au second terminal, le code secret étant déterminé par le premier terminal à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. De cette manière, le procédé peut être mis en œuvre sans transmettre par un réseau le code secret introduit par l’utilisateur. Le programme exécuté par le serveur est modifié juste pour générer et transmettre l’ordre de libellés de touches aux terminaux. Selon un mode de réalisation, le procédé comprend des étapes consistant à : requérir l’ordre de libellés de touches par le second terminal à un serveur ; générer l’ordre de libellés de touches par le serveur qui transmet l’ordre de libellés de touches au second terminal ; et transmettre par le premier terminal la séquence de libellés de touches activées par l’utilisateur, le code secret étant déterminé par le serveur à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. De cette manière, le procédé peut être mis en œuvre sans que le premier terminal ait besoin de connaître le code secret introduit par l’utilisateur. En outre, il n’est pas nécessaire de modifier le programme exécuté par le premier terminal. Selon un mode de réalisation, le second terminal acquiert un identifiant du premier terminal et une adresse de communication avec le serveur en scannant un code optique. Ainsi, le second terminal peut facilement mettre en place les communications nécessaires avec le serveur et entre le premier terminal et le serveur, sans avoir besoin d’établir une communication avec le premier terminal. Selon un mode de réalisation, le procédé comprend des étapes consistant à : activer un capteur d’image du second terminal ; analyser par le second terminal les images fournies par le capteur d’image pour y détecter une image du clavier du premier terminal et des positions de touches dans l’image du clavier ; et afficher à l’écran du second terminal des libellés de touches dans l’ordre indiqué par l’ordre de libellés de touches aux positions de touches détectées dans les images fournies par le capteur d’image. Ainsi, l’affichage des libellés des touches dans l’ordre reçu peut être réalisé par une simple reconnaissance dans les images de la forme et des dimensions du clavier du premier terminal. Des modes de réalisation peuvent également concerner un système de saisie sécurisée d’un code d’un utilisateur, le système comprenant un premier terminal comportant un clavier, et un second terminal comportant un capteur d’image et un écran d’affichage, le système étant configuré pour mettre en œuvre le procédé précédemment défini. Des modes de réalisation peuvent également concerner un terminal comprenant un capteur d’image, un écran d’affichage, et un processeur configuré pour : recevoir un identifiant d’un premier terminal ; recevoir un ordre de libellés de touches ; capturer à l’aide du capteur d’image une première image d’un clavier du premier terminal ; générer une seconde image du clavier du premier terminal à partir de la première image, la seconde image présentant des libellés de touches superposées aux touches du clavier présent dans la première image, dans un ordre correspondant à l’ordre de libellés de touches reçu ; et afficher sur l’écran d’affichage la seconde image. Selon un mode de réalisation, le terminal est du type téléphone intelligent, ou bien dispositif de réalité augmentée dans lequel l’écran d’affichage est transparent. En particulier dans le cas de lunettes de réalité augmentée, il est impossible pour une personne autre que l’utilisateur de visualiser ce que voit l’utilisateur. Selon un mode de réalisation, le terminal est configuré pour activer le capteur d’image ; analyser les images fournies par le capteur d’image pour y détecter une image du clavier du premier terminal et des positions de touches dans l’image(IKB) du clavier ; et afficher à l’écran des libellés de touches dans l’ordre indiqué par l’ordre de libellés de touches aux positions de touches détectées dans les images fournies par le capteur d’image. Brève description des figures La présente invention sera bien comprise à l’aide de la description qui suit d’exemples de réalisation en référence aux figures annexées, dans lesquelles des signes de références identiques correspondent à des éléments structurellement et/ou fonctionnellement identiques ou similaires. La figure n°1 représente schématiquement un système permettant de sécuriser la saisie d’un code secret, selon un mode de réalisation, La figure n°2 représente schématiquement un système permettant de sécuriser la saisie d’un code secret, selon autre un mode de réalisation, La figure n°3 représente des étapes d’un procédé de saisie sécurisée d’un code secret, selon un mode de réalisation, La figure n°4 représente des étapes d’un procédé de saisie d’un code secret, selon un autre mode de réalisation, La figure n°5 représente des étapes d’un procédé de saisie d’un code secret, selon un autre mode de réalisation, La figure n°6 représente des étapes d’activation de touches pouvant être mises en œuvre dans les procédés précédents, selon un mode de réalisation. Description détaillée Dans ce qui suit, le terme "sécurisé" est employé dans son sens le plus général tel que compris par l’homme du métier dans le domaine des systèmes et transactions informatiques, et désigne des mesures de sécurité obtenues par chiffrement, ou à l’aide moyens logiciels ou matériel utilisés pour isoler une information du public ou pour la protéger contre un accès non autorisé. Les expressions "communication sécurisée" et "liaison de communication sécurisée" peuvent désigner des communications qui sont chiffrées à l’aide de paires de clés publique/privées, ou de clés de chiffrement symétriques partagées par les points en communication. Des "communications sécurisées" peuvent également faire intervenir des réseaux virtuels privés VPN (Virtual Private Network), et d’autres techniques généralement utilisées pour établir des communications authentifiées et chiffrées entre des éléments en communication. La figure n°1 représente un système S1 permettant de sécuriser la saisie un code secret par un utilisateur, selon un mode de réalisation. Le système comprend un premier terminal T1 comportant un clavier KB et un écran d’affichage D1, et un second terminal T2 comportant un écran d’affichage DP. Selon un mode de réalisation, le terminal T2 comprend un capteur d’image pour permettre à l’utilisateur de filmer le clavier KB du terminal T1. En outre, le terminal T2 est configuré pour afficher sur son écran d’affichage DP une image constituée de l’image prise par le capteur d’image et dans laquelle les libellés des touches du clavier KB filmé sont remplacés par d’autres libellés. Par ailleurs, le terminal T1 est configuré pour mémoriser les libellés de touches du clavier d’une séquence de touches activées par un utilisateur à partir du clavier KB. Le terminal T1 peut afficher sur son écran D1 le nombre RS de touches du clavier KB activées par l’utilisateur durant la saisie de la séquence de touches. Le clavier KB peut être par exemple un clavier numérique permettant de saisir une séquence de chiffres de 0 à 9. Il peut en outre comporter une touche "V" de validation du code saisi et une touche "C" de correction permettant d’effacer le caractère précédemment saisi Les terminaux T1, T2 peuvent communiquer entre eux par l’intermédiaire d’une liaison de communication, par exemple WiFi, Bluetooth, NFC ("Near Field Communication") ou via un réseau public NW tel que le réseau Internet ou un réseau de téléphonie mobile. La figure n°2 représente un système S2 permettant de sécuriser la saisie un code secret par un utilisateur, selon un autre mode de réalisation. Le système S2 diffère du système S1 en ce que le terminal T1 est remplacé par un terminal T11 ne comportant pas de clavier physique, mais un écran d’affichage tactile D11. Le terminal T11 est configuré pour afficher l’image IM d’un clavier, et pour mémoriser les libellés de touches du clavier d’une séquence de touches activées par un utilisateur à partir de l’image IM. Le terminal T11 peut afficher sur son écran D11 le nombre RS de touches de l’image IM du clavier, activées par l’utilisateur durant la saisie de la séquence de touches. Dans les systèmes S1 et S2, le terminal T2 peut être un téléphone intelligent ("smartphone") ou bien un dispositif (paire de lunettes ou casque) de réalité augmentée. Dans le cas où le terminal T2 est dispositif de réalité augmentée, l’écran d’affichage DP est transparent pour permettre à l’utilisateur de voir notamment le clavier KB, IM, au travers de l’écran DP. Par ailleurs, l’image affichée à l’écran DP du terminal T2 ne comprend que des libellés de touches. Ces libellés de touches sont affichés de manière à se superposer aux touches du clavier KB, IM, éventuellement en masquant les libellés de touches pouvant être présents sur les touches du clavier KB, IM. La figure n°3 représente des étapes S1 à S7 d’un procédé de saisie d’un code secret, selon un mode de réalisation. Le procédé de la peut être mis en œuvre à l’aide du système S1 ou S2. Ce procédé peut faire intervenir également un serveur SRV relié aux terminaux T1, T2 par des liaisons de communication sécurisées. Le terminal T1 est configuré pour exécuter successivement les étapes S1 à S3 et S5 à S7, de manière sécurisée. Le terminal T2 est configuré pour exécuter successivement les étapes S3 et S4, de manière sécurisée. A l’étape S1, les terminaux T1 et T2 établissent entre eux une communication sécurisée, par exemple sans fil, de type WiFi, Bluetooth, NFC, par exemple à l’aide d’identifiants respectifs ID1, ID2. A l’étape S2, le terminal T1 génère une séquence de caractères CLV incluant une seule fois tous les libellés des touches du clavier KB, mais de préférence dans un ordre différent de celui du clavier KB. Ainsi, la séquence de caractères définit la répartition des touches du clavier KB. A l’étape S3, le terminal T1 transmet la séquence de caractères CLV au terminal T2 par la liaison de communication établie à l’étape S1. A l’étape S4, le terminal T2 affiche une image d’un clavier IKB ( ) reprenant l’ordre de libellés de touches indiquée par la séquence de caractères CLV reçue à l’étape S3. L’image du clavier IKB affichée peut reprendre la forme et les dimensions du clavier KB tel qu’il est observé par un capteur d’image CM du terminal T2. A cet effet, le terminal T2 active le capteur d’image CM du terminal T2 et affiche les images fournies par le capteur d’image CM. Pendant que le capteur d’image CM est actif, l’utilisateur oriente le terminal T2 pour que l’image IKB du clavier KB apparaisse à l’écran d’affichage DP. Pendant ce temps, le terminal T2 analyse les images fournies par le capteur d’image CM pour y détecter la présence de l’image du clavier KB, et appose les libellés des touches dans l’ordre indiqué par la séquence CLV sur les touches de l’image du clavier KB détecté dans les images fournies par le capteur d’image CM et affichées. Dans le cas où le terminal T2 est un téléphone intelligent, les images IKB prises par le capteur d’image CM sont modifiées pour présenter les libellés des touches sur l’image du clavier affichée à l’écran DP, dans l’ordre de la séquence CLV. Dans le cas où le terminal T2 est un dispositif de réalité augmentée, l’image IKB générée par le terminal T2 ne comporte que les libellés des touches dans l’ordre indiqué par la séquence CLV aux emplacements des touches du clavier KB visualisé par l’utilisateur au travers du terminal. Si le clavier KB comporte des libellés de touche, les libellés de touches sont affichés par le terminal T2 sur un fond opaque pour masquer les libellés des touches du clavier KB. Pendant l’affichage des libellés des touches IKB à l’étape S4, l’utilisateur introduit à l’étape S5 un code CD1 à l’aide du clavier KB du terminal T1, en considérant les libellés des touches affichées par le terminal T2. Le clavier IKB affiché et le clavier KB peuvent comporter une touche "C" de correction et une touche "V" de validation. A la fin de la saisie du code CD1, à l’étape S6, l’utilisateur valide la saisie à l’aide de la touche "V" du clavier KB. Le terminal T1 peut alors informer le terminal T2 qu’un code a été introduit, ce qui déclenche l’arrêt de l’affichage par le terminal T2 de l’image IKB. A l’étape S7, le terminal T1 transforme le code CD1 introduit par l’utilisateur en code CD2 en considérant la séquence de caractères CLV. L’étape S7 peut être suivie d’étapes d’exploitation du code CD2. Dans l’exemple de la , des étapes S8 et S9 sont exécutées à la suite de l’étape S7. A l’étape S8, le code CD2 est vérifié. A cet effet, le terminal T1 peut par exemple comparer le code transformé CD2 à un code secret CD qui peut être fourni par le serveur SRV. Si le code transformé CD2 correspond au code secret CD, une transaction TT peut être conduite entre le terminal T1 et le serveur SRV (étape S9). A noter que la comparaison effectuée à l’étape S8 peut être réalisée par le serveur SRV après transmission du code transformé CD2 à ce dernier. On notera par ailleurs que le serveur SRV peut en outre être configuré pour s’assurer, par exemple par un mécanisme d’attestation et/ou de suivi, que le terminal T1 et le terminal T2 répondent à des exigences matérielles et logicielles de sécurité, en particulier lorsqu’il s’agit de terminaux destinés au grand public, comme les smartphones et les équipements de réalité augmentée. La figure n°4 représente des étapes S11 à S18 d’un procédé de saisie d’un code secret, selon un autre mode de réalisation. Dans ce mode de réalisation, les terminaux T1, T2 n’ont pas besoin d’établir une liaison de communication entre eux. En revanche, ils établissent chacun une liaison sécurisée avec le serveur SRV. Les étapes S11 à S14 et S16 à S20 sont exécutées successivement par le terminal T1. A l’étape S11, le terminal T2 acquiert un identifiant du terminal T1 et une adresse de communication avec le serveur SRV. Cette opération peut être effectuée par le terminal T2 par exemple en scannant un code optique, par exemple un QR code, à l’aide du capteur d’image CM. A l’étape S12, le terminal T2 établit une communication sécurisée avec le serveur SRV et lui transmet une requête d’une séquence de caractères CLV à afficher en tant que libellés des touches du clavier KB. Cette requête peut comprendre des identifiants ID1, ID2 des deux terminaux T1, T2, ainsi qu’un type de clavier. L’étape S13 est identique à l’étape S2. A l’étape S14, le serveur SRV transmet la séquence de caractères CLV aux deux terminaux T1, T2 en utilisant les liaisons sécurisées établies avec ces derniers. Les étapes S15 à S18 sont identiques aux étapes S4 à S7. Comme précédemment, l’étape S18 peut être suivie d’étapes d’exploitation du code CD2 comme les étapes S8 et S9. La figure n°5 représente des étapes d’un procédé de saisie d’un code secret, selon un autre mode de réalisation. Ce mode de réalisation diffère de celui présenté en figure n°4, en ce que l’étape S14 est remplacée par une étape S14’. A l’étape S14’, la séquence de caractères CLV générée par le serveur SRV est transmise uniquement au terminal T2. A l’issue de l’étape S17 de saisie du code CD1 par l’utilisateur, le terminal T1 exécute des étapes S21, S18’ et S22. A l’étape S21, le code CD1 saisi par l’utilisateur est transmis au serveur SRV par la liaison sécurisée. A l’étape S18’, le serveur SRV reçoit le code CD1 et le transforme en code CD2 en considérant la séquence de caractères CLV générée à l’étape S13. A l’étape S22, le serveur SRV transmet au terminal T1 le code CD2. Comme précédemment, l’étape S22 peut être suivie d’étapes d’exploitation du code CD2 comme les étapes S8 et S9. Dans les modes de réalisation des figures n°3 à 5, la comparaison effectuée à l’étape S8 peut être réalisée par un autre serveur, auquel le terminal T1 envoie le code CD2 et un identifiant de l’utilisateur ou d’une carte à puce. Selon un autre mode de réalisation, l’étape de comparaison S8 est effectuée par le serveur SRV qui mémorise le code secret CD. De cette manière, les codes CD et CD2 n’ont pas besoin d’être transmis et donc la liaison entre le serveur SRV et le terminal T1 n’a pas besoin d’être sécurisée. Il suffit juste que le résultat de la comparaison effectuée à l’étape S8 puisse si nécessaire être transmis du serveur SRV au terminal T1, sous forme signée et/ou chiffrée. Il suffit également que le terminal T2 ne puisse pas enregistrer et transmettre une séquence vidéo montrant les mouvements des doigts de l’utilisateur sur le clavier pendant la saisie du code CD1. La liaison entre le serveur et le terminal T2 peut également ne pas être sécurisée, sachant que pour réussir une attaque visant à découvrir le code secret CD de l’utilisateur, il faut connaitre à la fois la séquence de caractères CLV définissant la répartition des touches du clavier KB, et la série de touches CD1 activée par l’utilisateur, lesquelles sont transmises par deux liaisons distinctes. Le serveur SRV peut également recevoir du terminal T1 un identifiant de l’utilisateur ou d’une carte à puce et interroger un autre serveur qui réalise la comparaison effectuée à l’étape S8. La figure n°6 représente des étapes S2-1 à S6-1 et S2-2 à S6-2, de saisie du code secret CD2 selon un autre mode de réalisation. Dans ce mode de réalisation, une nouvelle image IKB du clavier KB est affichée à chaque fois que l’utilisateur actionne une touche du clavier KB. A cet effet, les étapes de la figure n°6 peuvent remplacer les étapes S2 à S6 de la . Les étapes S2-1 à S4-1 peuvent être identiques aux étapes S2 à S4 de la . L’étape S4-1 est suivie des étapes S5-1, S6-1 et S2-2 à S6-2. Aux étapes S5-1, S6-1, une touche K du clavier KB est activée par l’utilisateur et mémorisée par le terminal T1. Les étapes S2-2 à S6-2 qui suivent peuvent être identiques aux étapes S2-1 à S6-1. Aux étapes S2-2, S3-2, le terminal T1 génère une nouvelle séquence de caractères CLV et transmet cette séquence au terminal T2. A l’étape S4-2, le terminal T2 affiche une nouvelle image du clavier correspondant à la séquence de caractères CLV reçue à l’étape S3-2. Aux étapes S5-2, S6-2, une touche K du clavier KB est activée par l’utilisateur et mémorisée par le terminal T1. Les étapes S2-2 à S6-2 sont répétées autant de fois que nécessaire pour introduire tous les caractères du code CD1. De cette manière, une personne malintentionnée ne peut pas déduire en observant les touches du clavier KB actionnées par l’utilisateur, si le code secret introduit comporte ou non plusieurs caractères identiques. A noter que toutes les séquences de caractères nécessaires pour afficher autant d’images IKB du clavier KB que de touches à actionner pour introduire le code CD1 peuvent être générées à l’étape S2-1. Dans les modes de réalisation des figures 4 et 5, l’image modifiée IKB du clavier KB peut également être changée à chaque actionnement d’une touche du clavier KB par l’utilisateur, en remplaçant les étapes S16 à S17 par les étapes S5-1 et S6-1, en ajoutant une étape S12 de requête par le terminal T1 d’une nouvelle séquence de caractères CLV à la suite de l’étape S6-1, et en répétant ces étapes pour chaque caractère du code CD1 à introduire. Dans le mode de réalisation de la figure n°4 ou 5, combiné au mode de réalisation de la , l’étape de requête par le terminal T1 d’une nouvelle séquence de caractères à chaque actionnement de touche K peut être supprimée en prévoyant que la séquence de caractères CLV générée à l’étape S13 et transmise à l’étape S14 comporte toutes les séquences de caractères nécessaires pour afficher autant d’images IKB de clavier que de touches à actionner pour introduire le code CD1. Les modes de réalisation précédemment décrits permettent de sécuriser l’introduction d’un code secret au moyen d’un clavier, en particulier dans un environnement exposé au regard d’un grand nombre de personnes ou situé dans un lieu public ou en présence potentielle d’un dispositif d’enregistrement vidéo pointé sur le clavier. Les modes de réalisation précédemment décrits conviennent particulièrement lorsque le code secret à introduire n’est pas ou est difficilement modifiable. C’est le cas par exemple d’un code PIN de carte bancaire ou d’un code partagé par plusieurs personnes comme un code d’accès à un immeuble ou un code d’ouverture d’un coffre-fort. Les modes de réalisation précédemment décrits conviennent également aux applications impliquant la saisie successive de codes secrets respectifs par plusieurs personnes sur un même clavier. Ils permettent de s’assurer qu’aucune des personnes impliquées ne puisse connaitre le code d’une autre personne. Lors d’un paiement ou d’un retrait de billets par carte bancaire, l’utilisateur active une application dédiée sur son téléphone intelligent ou ses lunettes de réalité augmentée (terminal T2). Ensuite, l’application dédiée invite l’utilisateur à scanner un QR code présent sur le terminal de paiement ou le distributeur de billets (terminal T1), puis à orienter le capteur d’image CM vers le clavier de ce dernier. L’utilisateur peut alors introduire le code PIN de sa carte bancaire sur le clavier du terminal de paiement ou du distributeur de billets, en visualisant la disposition des touches affichée par l’application dédiée sur le téléphone intelligent ou les lunettes de réalité augmentée. Il apparaîtra clairement à l’homme de l’art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. En particulier, l’invention n’est pas limitée à un type de clavier particulier, ni à un ensemble de caractères à sélectionner pour saisir le code secret. Notamment dans le cas où le second terminal est un téléphone intelligent, il n’est pas non plus nécessaire que l’image affichée par le téléphone suive les mouvements du téléphone par rapport au clavier KB du premier terminal T1. Il est simplement préférable que les libellés des touches affichés présentent une même disposition que les touches du clavier du premier terminal, pour simplifier l’établissement par l’utilisateur d’une correspondance entre les touches du clavier KB et les libellés des touches affichées. 1. Procédé de saisie sécurisée d’un code d’un utilisateur au moyen d’un clavier (KB) d’un premier terminal (T1), le procédé comprenant des étapes consistant à : recevoir par un second terminal (T2) un identifiant (ID1) du premier terminal ; recevoir par le second terminal un ordre de libellés de touches (CLV) ; capturer par le second terminal une première image du clavier du premier terminal ; générer par le second terminal une seconde image du clavier du premier terminal à partir de la première image, la seconde image présentant des libellés de touches à des positions de touches du clavier (IKB) présentes dans la première image, dans un ordre correspondant à l’ordre de libellés de touches reçu ; afficher la seconde image sur un écran d’affichage (DP) du second terminal ; acquérir par le premier terminal une séquence de libellés de touches (CD1) activées successivement par un utilisateur sur le clavier du premier terminal ; et déterminer un code secret (CD2) à partir de la séquence de libellés de touches introduite par l’utilisateur et de l’ordre de libellés de touches. 2. Procédé selon la revendication 1, dans lequel un nouvel ordre de libellés de touches (CLV) est reçu par le second terminal (T2) pour chaque touche (K) du clavier (KB) à activer par l’utilisateur pour saisir la séquence de libellés de touches (CD1). Procédé selon la revendication 1 ou 2, comprenant une étape de comparaison du code secret (CD2) à un code mémorisé (CD), l’utilisateur étant authentifié si le code secret correspond au code mémorisé. 4. Procédé selon l’une des revendications 1 à 3, comprenant des étapes consistant à : générer l’ordre de libellés de touches (CLV) par le premier terminal (T1) ; et transmettre l’ordre de libellés de touches au second terminal (T2), le code secret (CD2) étant déterminé par le premier terminal à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. 5. Procédé selon l’une des revendications 1 à 3, comprenant des étapes consistant à : requérir l’ordre de libellés de touches (CLV) par le second terminal (T2) à un serveur (SRV) ; et générer l’ordre de libellés de touches par le serveur qui transmet l’ordre de libellés de touches au premier terminal (T1) et au second terminal, le code secret (CD2) étant déterminé par le premier terminal à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. 6. Procédé selon l’une des revendications 1 à 3, comprenant des étapes consistant à : requérir l’ordre de libellés de touches (CLV) par le second terminal (T2) à un serveur (SRV) ; générer l’ordre de libellés de touches par le serveur qui transmet l’ordre de libellés de touches au second terminal ; et transmettre par le premier terminal (T1) la séquence de libellés de touches (CD1) activées par l’utilisateur, le code secret (CD2) étant déterminé par le serveur à partir de la séquence de libellés de touches et de l’ordre de libellés de touches. 7. Procédé selon la revendication 5 ou 6, dans lequel le second terminal (T2) acquiert un identifiant (ID1) du premier terminal (T1) et une adresse de communication (SID) avec le serveur (SRV) en scannant un code optique. 8. Procédé selon l’une des revendications 1 à 7, comprenant des étapes consistant à : activer un capteur d’image (CM) du second terminal (T2) ; analyser par le second terminal (T2) les images fournies par le capteur d’image (CM) pour y détecter une image du clavier (KB) du premier terminal (T1) et des positions de touches (K) dans l’image du clavier ; et afficher à l’écran (DP) du second terminal des libellés de touches dans l’ordre indiqué par l’ordre de libellés de touches (CLV) aux positions de touches détectées dans les images fournies par le capteur d’image. 9. Système de saisie sécurisée d’un code d’un utilisateur, le système comprenant un premier terminal (T1) comportant un clavier (KB), et un second terminal (T2) comportant un capteur d’image (CM) et un écran d’affichage (DP), le système étant configuré pour mettre en œuvre le procédé selon l’une des revendications 1 à 8. 10. Terminal (T2) comprenant un capteur d’image (CM), un écran d’affichage (DP), et un processeur (PRC) configuré pour : recevoir un identifiant (ID1) d’un premier terminal (T1) ; recevoir un ordre de libellés de touches (CLV) ; capturer à l’aide du capteur d’image une première image d’un clavier (KB) du premier terminal ; générer une seconde image du clavier du premier terminal à partir de la première image, la seconde image présentant des libellés de touches superposées aux touches du clavier (IKB) présent dans la première image, dans un ordre correspondant à l’ordre de libellés de touches reçu ; et afficher sur l’écran d’affichage la seconde image. 11. Terminal selon la revendication 10, du type téléphone intelligent, ou bien dispositif de réalité augmentée dans lequel l’écran d’affichage (DP) est transparent. 12. Terminal selon la revendication 10 ou 11, configuré pour : activer le capteur d’image (CM) ; analyser les images fournies par le capteur d’image (CM) pour y détecter une image du clavier (KB) du premier terminal (T1) et des positions de touches dans l’image(IKB) du clavier ; et afficher à l’écran (DP) des libellés de touches dans l’ordre indiqué par l’ordre de libellés de touches (CLV) aux positions de touches détectées dans les images fournies par le capteur d’image.