Brevet FR3132778A1 — publié le 20230818

Un schéma d’authentification forte post-quantique utilise un code PIN de référence stocké en mémoire d’un objet personnel 1. Un serveur génère (610) un secret ss et un chiffré correspondant ct à l’aide d’un mécanisme d’encapsulation de clé, KEM, et d’une clé publique pk de l’utilisateur, puis génère une clé cryptographique ss’ avec une fonction à sens unique, OWF, appliquée au secret. Un terminal d’accès 2 reçoit ss’ et ct , puis obtient (625) un PIN saisi par l’utilisateur, chiffre (630) celui-ci avec ss’, et enfin transmet (635) le PIN chiffré cPIN et ct à l’objet personnel 1. Ce dernier obtient (515) ss par désencapsulation KEM de ct et avec sa clé privée sk , génère (520) ss’ avec OWF, et l’utilise pour déchiffrer (525) cPIN . Une vérification de ce dernier valide un premier facteur d’authentification L’objet personnel génère puis envoie, au serveur, une confirmation Know(ss) du secret, validant un deuxième facteur d’authentification. Figure pour l’abrégé : Fig.4 SCHEMA D’AUTHENTIFICATION POST-QUANTIQUE OPTIMISE SANS SIGNATURE, PROCEDES ET DISPOSITIFS La présente invention concerne le domaine de la cryptographique informatique. Elle concerne plus particulièrement le domaine de l’authentification forte d’un utilisateur. Des schémas d’authentification à deux (ou plus) facteurs sont classiquement utilisés pour contrôler l’accès à des dispositifs informatiques (serveur) ou des locaux physiques. Typiquement, ces schémas associent une authentification par session challenge-réponse avec une authentification par mot de passe (par ex. code PIN pour « personal identification number » ou numéro d'identification personnel, mot de passe à usage unique) ou donnée biométrique (par ex. empreinte digitale). Un utilisateur dispose d’un objet portatif d’authentification, tel une carte à puce, une clé usb. L’objet portatif contient, en mémoire, une paire de clés privée et publique (clés asymétriques) pour l’authentification par challenge-réponse et contient le mot de passe ou la donnée biométrique de référence pour la seconde authentification. Généralement, l’objet portatif contient en plus une deuxième clé secrète afin de sécuriser la transmission du mot de passe ou de la donnée biométrique depuis un dispositif d’accès sur lequel l’utilisateur saisit cette information, vers le dispositif portatif. Cette deuxième clé peut être une clé symétrique partagée avec le dispositif d’accès ou être une paire de clé privé-clé publique. En pratique, comme illustré par la , lorsque l’utilisateur désire obtenir l’accès à un dispositif distant 3, il présence par exemple sa carte à puce 1 au dispositif d’accès 2, par exemple un terminal doté d’un lecteur avec ou sans contact. L’utilisateur saisit son mot de passe PIN ou équivalent sur le terminal, lequel envoie le mot de passe chiffré ( cPIN ) avec la deuxième clé pk PIN , à la carte pour vérification. Dans l’affirmative, la carte procède à son authentification auprès du dispositif distant en signant, avec la première clé privée sk , un challenge Chall envoyé par le dispositif distant. Ces schémas traditionnels d’authentification sont mis à mal avec l’émergence d’ordinateurs quantiques. Si la sécurité des algorithmes cryptographiques symétriques n’est affectée que d’un facteur 2 vis-à-vis des tailles de clés par des attaques quantiques, elle est considérablement réduite pour les algorithmes à clés publiques. Il est un souhait d’adapter ces schémas traditionnels à la cryptographie post-quantique. Des candidats d’algorithmes cryptographiques post-quantiques sont actuellement proposés au cours d’une compétition organisée par le NIST (« National Institute of Standards and Technology » ou Institut national des normes et de la technologie), notamment des mécanismes post-quantiques d’encapsulation de clé ou « post-quantum KEM » (pour « Key Encapsulation Mechanism »). Le KEM est un mécanisme permettant de transmettre de manière sûre un secret à un interlocuteur en utilisant des algorithmes asymétriques. Aussi, l’utilisation d’un KEM post-quantique est proposée pour sécuriser la transmission du mot de passe chiffré entre le dispositif d’accès et l’objet portatif. Par ailleurs, des solutions post-quantiques d’authentification ont été proposées qui mettent en œuvre un KEM post-quantique en lieu et place des signatures de challenge traditionnel. La mise en place de ces différentes techniques conduit à un schéma d’authentification à deux facteurs tel qu’illustré en , ne requérant qu’une seule paire de clés ( pk, sk ) dans la carte à puce 1. Le serveur génère un secret ss 1 et son chiffré ct 1 , à l’aide de la fonction d’encapsulation d’un KEM et de la clé publique pk , et communique le chiffré ct 1 au dispositif d’accès. Le chiffré ct 1 est utilisé pour l’authentification de la carte à puce auprès du serveur. Le dispositif d’accès génère également un deuxième secret ss 2 et son chiffré ct 2 , à l’aide de la fonction d’encapsulation d’un KEM et de la même clé publique. La fonction d’encapsulation n’étant pas déterministe, ( ss 2 , ct 2 ) est différent de ( ss 1 , ct 1 ). Le deuxième secret ss 2 est utilisé comme clé de chiffrement du code PIN saisi par l’utilisateur, en le chiffré cPIN . Les chiffrés ct 1 , ct 2 et cPIN sont alors transmis à la carte à puce. Cette dernière utilise la fonction de désencapsulation du KEM avec la clé privée sk pour récupérer les secrets ss 1 et ss 2 . cPIN est déchiffré à l’aide de ss 2 pour récupérer le code PIN saisi, lequel est comparé au code PIN de référence en mémoire de la carte à puce. En cas de code PIN valide, une confirmation Know ( ss 1 ) du secret ss 1 est envoyée au serveur pour prouver la possession, par la carte à puce, du secret ss 1 . Cette confirmation est vérifiée par le serveur. L’authentification de l’utilisateur est effective en cas de vérification positive, tout comme la vérification positive de la signature du challenge dans les schémas traditionnels. Ce schéma d’authentification à deux facteurs basé sur le KEM n’est pas entièrement satisfaisant dans la mesure où il sollicite trop la carte à puce. Il est donc un besoin de l’améliorer tout en conservant ses propriétés. L’invention vise à réduire les traitements sur la carte à puce en invoquant une seule fois la fonction de désencapsulation du KEM plutôt que deux fois. Aussi, la fonction d’encapsulation sera appelée une seule fois, nécessitant de lier les deux mécanismes d’authentification de façon appropriée pour conserver les propriétés du protocole. L’invention concerne donc un procédé d’authentification d’un utilisateur auprès d’un dispositif distant, comprenant, au niveau d’un objet portatif stockant une donnée personnelle d’authentification de référence, les étapes suivantes : - recevoir, d’un dispositif d’accès, une donnée personnelle d’authentification chiffrée et un chiffré généré par le dispositif distant. Il s’agit par exemple du chiffré cPIN du code PIN saisi par l’utilisateur accompagné du chiffré ct 1 , - déchiffrer, à l’aide d’une clé cryptographique, la donnée personnelle d’authentification chiffrée, - en cas de donnée personnelle d’authentification valide, envoyer, au dispositif distant, une confirmation d’un secret ( ss1 dans l’exemple plus haut) obtenu à l’aide d’un mécanisme d’encapsulation de clé, KEM, appliqué audit chiffré. L’invention concerne également, côté dispositif d’accès (par ex. terminal) et dispositif distant (par ex. serveur), un procédé d’authentification d’un utilisateur auprès d’un dispositif distant, à l’aide d’un objet portatif stockant une donnée personnelle d’authentification de référence, comprenant les étapes suivantes : - générer, par le dispositif distant, un secret et un chiffré correspondant à l’aide d’un mécanisme d’encapsulation de clé, KEM, et d’une clé publique de l’utilisateur, - obtenir, par un dispositif d’accès connecté à l’objet portatif, une donnée personnelle d’authentification saisie par l’utilisateur, - chiffrer, par le dispositif d’accès et à l’aide d’une clé cryptographique, la donnée personnelle d’authentification saisie, - transmettre, à l’objet portatif, la donnée d’authentification chiffrée et le chiffré correspondant au secret, - recevoir en retour, de l’objet portatif, une confirmation du secret. Les procédés selon l’invention sont caractérisés en ce que la clé cryptographique (pour chiffrer le code PIN ou déchiffrer cPIN ) est générée par application d’une fonction à sens unique à un secret dérivé du secret obtenu à l’aide du KEM. Le chiffrement de la donnée d’authentification s’appuie ainsi sur le secret utilisé pour l’authentification avec le dispositif distant (serveur), et non sur un secret distinct comme c’est le cas dans les techniques connues. Cela permet de réduire les données à transmettre à l’objet portatif, mais également d’éviter une exécution coûteuse de la fonction de désencaspulation KEM. Ce schéma d’authentification conserve un contrôle, par le dispositif distant, de l’authentification basée sur la cryptographie asymétrique. En outre, la donnée d’authentification (par exemple un code PIN ou mot de passe) reste protégée lors de son échange entre le dispositif d’accès et l’objet portatif. Corrélativement, l’invention concerne aussi un dispositif personnel d’authentification d’un utilisateur auprès d’un dispositif distant, comportant une mémoire stockant une donnée personnelle d’authentification de référence et un processeur configuré pour : - recevoir, d’un dispositif d’accès, une donnée personnelle d’authentification chiffrée et un chiffré généré par le dispositif distant, - déchiffrer, à l’aide d’une clé cryptographique, la donnée personnelle d’authentification chiffrée, - en cas de donnée personnelle d’authentification valide, envoyer, au dispositif distant, une confirmation d’un secret obtenu à l’aide d’un mécanisme d’encapsulation de clé, KEM, appliqué audit chiffré, caractérisé en ce qu’il est en outre configuré pour générer la clé cryptographique par application d’une fonction à sens unique à un secret dérivé du secret obtenu à l’aide du KEM. De même, l’invention concerne également un système d’authentification (par ex. terminal d’accès et serveur distant) d’un utilisateur à l’aide d’un objet portatif stockant une donnée personnelle d’authentification de référence, comprenant un dispositif d’accès et un dispositif distant, le dispositif distant comportant un processeur configuré pour : - générer un secret et un chiffré correspondant à l’aide d’un mécanisme d’encapsulation de clé, KEM, et d’une clé publique de l’utilisateur, - authentifier l’objet portatif par vérification d’une confirmation du secret émise par l’objet portatif, et le dispositif d’accès étant connecté à l’objet portatif et comportant un processeur configuré pour : - obtenir une donnée personnelle d’authentification saisie par l’utilisateur, - chiffrer, à l’aide d’une clé cryptographique, la donnée personnelle d’authentification saisie, - transmettre, à l’objet portatif, la donnée d’authentification chiffrée et le chiffré correspondant au secret, - recevoir en retour, de l’objet portatif, la confirmation du secret, le système d’authentification étant caractérisé en ce qu’il est configuré pour générer la clé cryptographique par application d’une fonction à sens unique à un secret dérivé du secret obtenu à l’aide du KEM. Des caractéristiques facultatives des modes de réalisation de l’invention sont définies dans les revendications annexées. Certaines de ces caractéristiques sont expliquées ci-dessous en référence à un procédé, tandis qu’elles peuvent être transposées en caractéristiques de dispositif. Dans un mode de réalisation, le procédé, au niveau d’un objet portatif, comprend en outre l’étape suivante : obtenir le secret par désencapsulation KEM du chiffré à l’aide d’une clé privée d’un schéma clé privée-clé publique stockée en mémoire de l’objet portatif. Dans un autre mode de réalisation, le procédé, au niveau d’un objet portatif, comprend en outre l’étape suivante : vérifier la donnée personnelle d’authentification déchiffrée avec la donnée personnelle d’authentification de référence. Dans un autre mode de réalisation, le procédé, au niveau d’un objet portatif, comprend en outre l’étape suivante : générer la confirmation de secret par l’application d’une fonction de hachage au secret obtenu ou à toute autre clé dérivée du secret obtenu, ou par le chiffrement d’une donnée prédéterminée à l’aide du secret obtenu ou de toute autre clé dérivée du secret obtenu. Dans un autre mode de réalisation, la clé cryptographique est générée par le dispositif distant et transmise par lui au dispositif d’accès. Cela permet à ce dernier de chiffrer la donnée personnelle d’authentification, sans divulguer le secret et sans nécessiter d’exécution coûteuse de la fonction de désencaspulation KEM au niveau du dispositif d’accès. Dans un autre mode de réalisation, le procédé, au niveau du système d’accès, comprend en outre la vérification, par le dispositif distant, de la confirmation de secret reçue en retour, avec le secret généré, de sorte à authentifier positivement l’objet portatif en cas de vérification positive. Dans un mode de réalisation de l’invention, le secret dérivé vaut le secret obtenu à l’aide du KEM. Dans un mode de réalisation hybride, le secret dérivé combine le secret obtenu à l’aide du KEM avec au moins un second secret partagé entre l’objet portatif et le dispositif distant et obtenu à l’aide d’un algorithme de cryptographie pré-quantique. L’authentification ainsi proposée garantit un niveau de sécurité minimal égal au plus fort des niveaux de sécurité offert entre la cryptographie pré-quantique et la cryptographie post-quantique (via le KEM). En particulier, le second secret partagé peut être obtenu en utilisant un échange de clés Diffie-Hellman basé sur les courbes elliptiques, aussi connu sous la désignation EDCH. Par ailleurs, la confirmation de secret peut être basée sur le secret obtenu à l’aide du KEM et sur le second secret partagé, typiquement être basée sur le secret dérivé mentionné précédemment. Au moins une partie des procédés selon l’invention peut être mise en œuvre par ordinateur. En conséquence, la présente invention peut prendre la forme d’un mode de réalisation entièrement matériel, d’un mode de réalisation entièrement logiciel (comportant les microprogrammes, les logiciels résidents, les microcodes, etc.) ou d’un mode de réalisation combinant des aspects logiciels et matériels qui peuvent tous être globalement appelés ici "circuit", "module" ou "système". De plus, la présente invention peut prendre la forme d’un produit de programme informatique incorporé dans tout support d’expression tangible disposant d’un code de programme utilisable par ordinateur incorporé dans le support. Étant donné que la présente invention peut être mise en œuvre dans un logiciel, la présente invention peut être incorporée sous forme de code lisible par ordinateur pour être fournie à un appareil programmable sur tout support adapté. Un support tangible ou non transitoire peut comprendre un support de stockage tel qu’un lecteur de disque dur, un dispositif de bande magnétique ou un dispositif de mémoire à semi-conducteurs et analogues. Un support transitoire peut comporter un signal tel qu’un signal électrique, un signal électronique, un signal optique, un signal acoustique, un signal magnétique ou un signal électromagnétique, par exemple un signal hyperfréquence ou RF (radiofréquence). D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après, illustrée par les figures ci-jointes qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. La illustre un schéma historique d’authentification forte. La illustre un schéma d’authentification forte mettant en œuvre des opérations post-quantiques, inspiré des techniques connues. La représente, schématiquement, un exemple d’architecture de système d’authentification pour une mise en œuvre de l’invention. La illustre un schéma d’authentification forte selon une mise en œuvre de l’invention. La représente, à l’aide d’un ordinogramme, des étapes générales d’un procédé d’authentification au niveau d’un dispositif personnel d’authentification, selon une mise en œuvre de l’invention. La représente, à l’aide d’un ordinogramme, des étapes générales d’un procédé d’authentification au niveau d’un système d’accès correspondant, selon une mise en œuvre de l’invention. La illustre un schéma d’authentification forte selon une mise en œuvre alternative de l’invention. Procédé d’authentification d’un utilisateur auprès d’un dispositif distant (3), comprenant, au niveau d’un objet portatif (1) stockant une donnée personnelle d’authentification de référence (10b), les étapes suivantes : - recevoir (510), d’un dispositif d’accès (2), une donnée personnelle d’authentification chiffrée (cPIN) et un chiffré (ct) généré par le dispositif distant (3), - déchiffrer (525), à l’aide d’une clé cryptographique (ss’), la donnée personnelle d’authentification chiffrée (cPIN), et - en cas de donnée personnelle d’authentification valide, envoyer (540), au dispositif distant (3), une confirmation (Know(ss)) d’un secret (ss) obtenu à l’aide d’un mécanisme d’encapsulation de clé, KEM, appliqué audit chiffré (ct), caractérisé en ce que la clé cryptographique (ss’) est générée (520) par application d’une fonction à sens unique (OWF) à un secret dérivé du secret (ss) obtenu à l’aide du KEM. Procédé selon la revendication 1, comprenant en outre l’étape suivante : obtenir (515) le secret (ss) par désencapsulation KEM du chiffré (ct) à l’aide d’une clé privée (sk) d’un schéma clé privée-clé publique stockée en mémoire (10) de l’objet portatif (1). Procédé selon la revendication 1 ou 2, comprenant en outre l’étape suivante : vérifier (530) la donnée personnelle d’authentification déchiffrée (PIN) avec la donnée personnelle d’authentification de référence (10b). Procédé selon l’une des revendications précédentes, comprenant en outre l’étape suivante : générer (535) la confirmation de secret (Know(ss)) par l’application d’une fonction de hachage au secret obtenu ou à toute autre clé dérivée du secret obtenu, ou par le chiffrement d’une donnée prédéterminée à l’aide du secret obtenu ou de toute autre clé dérivée du secret obtenu. Procédé d’authentification d’un utilisateur auprès d’un dispositif distant (3), à l’aide d’un objet portatif (1) stockant une donnée personnelle d’authentification de référence (10b), comprenant les étapes suivantes : - générer (610), par le dispositif distant (3), un secret (ss) et un chiffré correspondant (ct) à l’aide d’un mécanisme d’encapsulation de clé, KEM, et d’une clé publique (pk) de l’utilisateur, - obtenir (625), par un dispositif d’accès (2) connecté à l’objet portatif (1), une donnée personnelle d’authentification (PIN) saisie par l’utilisateur, - chiffrer (630), par le dispositif d’accès (2) et à l’aide d’une clé cryptographique (ss’), la donnée personnelle d’authentification saisie, - transmettre (635), à l’objet portatif (1), la donnée d’authentification chiffrée (cPIN) et le chiffré (ct) correspondant au secret (ss), et - recevoir (640) en retour, de l’objet portatif (1), une confirmation (Know(ss)) du secret (ss), caractérisé en ce que la clé cryptographique (ss’) est générée (615) par application d’une fonction à sens unique (OWF) à un secret dérivé du secret (ss) obtenu à l’aide du KEM. Procédé selon la revendication 5, dans lequel que la clé cryptographique (ss’) est générée (610) par le dispositif distant (3) et transmise par lui au dispositif d’accès (2). Procédé selon la revendication 5 ou 6, comprenant la vérification (645), par le dispositif distant (3), de la confirmation de secret (Know(ss)) reçue en retour, avec le secret (ss) généré, de sorte à authentifier positivement l’objet portatif (1) en cas de vérification positive. Procédé selon l’une des revendications 1 à 7, dans lequel le secret dérivé vaut le secret (ss) obtenu à l’aide du KEM. Procédé selon l’une des revendications 1 à 7, dans lequel le secret dérivé (ss derive ) combine le secret (ss) obtenu à l’aide du KEM avec au moins un second secret (ss 1 ) partagé entre l’objet portatif (1) et le dispositif distant (3) et obtenu à l’aide d’un algorithme de cryptographie pré-quantique. Procédé selon la revendication 9, dans lequel le second secret partagé (ss 1 ) est obtenu en utilisant un échange de clés Diffie-Hellman basé sur les courbes elliptiques. Procédé selon la revendication 9 ou 10 dans lequel la confirmation de secret est basée sur le secret (ss) obtenu à l’aide du KEM et sur le second secret partagé (ss 1 ). Procédé selon la revendication précédente, dans lequel la confirmation de secret est basée sur le secret dérivé (ss derive ). Dispositif personnel (1) d’authentification d’un utilisateur auprès d’un dispositif distant (3), comportant une mémoire (10) stockant une donnée personnelle d’authentification de référence (10b) et un processeur (11) configuré pour : - recevoir, d’un dispositif d’accès (2), une donnée personnelle d’authentification chiffrée (cPIN) et un chiffré (ct) généré par le dispositif distant (3), - déchiffrer, à l’aide d’une clé cryptographique (ss’), la donnée personnelle d’authentification chiffrée (cPIN), - en cas de donnée personnelle d’authentification valide, envoyer, au dispositif distant (3), une confirmation (Know(ss)) d’un secret (ss) obtenu à l’aide d’un mécanisme d’encapsulation de clé, KEM, appliqué audit chiffré (ct), caractérisé en ce qu’il est en outre configuré pour générer la clé cryptographique (ss’) par application d’une fonction à sens unique (OWF) à un secret dérivé du secret (ss) obtenu à l’aide du KEM. Système d’authentification (2, 3) d’un utilisateur à l’aide d’un objet portatif (1) stockant une donnée personnelle d’authentification de référence (10b), comprenant un dispositif d’accès (2) et un dispositif distant (3), le dispositif distant (3) comportant un processeur (31) configuré pour : - générer un secret (ss) et un chiffré correspondant (ct) à l’aide d’un mécanisme d’encapsulation de clé, KEM, et d’une clé publique (pk) de l’utilisateur, - authentifier l’objet portatif (1) par vérification d’une confirmation (Know(ss)) du secret (ss) émise par l’objet portatif, et le dispositif d’accès (2) étant connecté à l’objet portatif (1) et comportant un processeur (21) configuré pour : - obtenir une donnée personnelle d’authentification (PIN) saisie par l’utilisateur, - chiffrer, à l’aide d’une clé cryptographique (ss’), la donnée personnelle d’authentification saisie (PIN), - transmettre, à l’objet portatif (1), la donnée d’authentification chiffrée (cPIN) et le chiffré (ct) correspondant au secret (ss), - recevoir en retour, de l’objet portatif, la confirmation (Know(ss)) du secret (ss), le système d’authentification étant caractérisé en ce qu’il est configuré pour générer la clé cryptographique (ss’) par application d’une fonction à sens unique (OWF) à un secret dérivé du secret (ss) obtenu à l’aide du KEM. Support non transitoire lisible par ordinateur stockant un programme qui, lorsqu’il est exécuté par un processeur d’un dispositif de traitement cryptographique, amène le dispositif de traitement cryptographique à effectuer le procédé selon l’une des revendications 1 à 12.