Brevet FR2957216A1 — publié le 20110909

Domaine de l'invention La présente invention concerne le domaine de l'authentification sécurisée à distance. Elle concerne plus particulièrement une telle authentification mettant en oeuvre une carte à puce d'authentification. Une application connue de telles cartes à puce est la carte du professionnel de santé (CPS/CPSv3/ carte IAS/ carte IAS-ECC) actuellement utilisée en France pour des applications de santé communicantes. Etat de la technique Ces cartes ont pout but d'assurer un accès authentifié à des données protégées, à savoir des données personnelles de patients dans le cadre des applications de santé communicantes. Elles sont délivrées par un organisme, le GIP-CPS à chaque professionnel de santé qui en fait la demande. Les cartes actuellement sur le marché sont conformes à une version « V2ter ». Chaque carte contient : - un certificat de signature X509 et un certificat d'authentification X509 qui sont des certificats de chiffrement utilisés pour la sécurisation des transmissions de données par le réseau délivrés par le GIP-CPS ou par un établissement médical ; - des informations identifiant le Professionnel de santé protégées en écriture ; - des informations de nature conventionnelles et financière à l'usage exclusif de l'Assurance Maladie protégées en lecture et écriture. Le professionnel de santé utilise sa CPS grâce à un terminal de lecture de carte qu'il connecte à son poste de travail sur lequel il installe un logiciel qui reconnaît la carte. L'utilisation de la carte est protégée par son code PIN confidentiel. De tels systèmes sont ainsi largement utilisés en France où plus de 600000 cartes de la famille CPS sont en circulation, et ont fait leurs preuves en assurant une sécurité d'authentification maximale. De telles cartes commencent en outre à faire leur apparition au sein de nombreuses entreprises en dehors du domaine de la santé car elles offrent un niveau de sécurité inatteignable avec des systèmes à mot de passe classiques, qui sont faillibles notamment à cause d'erreur humaines (mot de passe trivial, interception de mot de passe, etc.). En effet l'authentification via une telle carte utilise le principe de l'authentification forte reposant sur la combinaison de deux facteurs d'identification, en général l'un étant ce que l'utilisateur connaît (un code, une phrase secrète, ...) et l'autre ce que l'utilisateur détient (une carte à puce, une clé physique, un appareil, ...) ou ce qu'il est (biométrie...). Par exemple il est courant lors d'une transaction sur internet de demander un identifiant bancaire et un code reçu par SMS (ce que l'utilisateur détient : un téléphone portable). Ainsi, voler une carte bancaire n'est plus suffisant pour en faire une utilisation frauduleuse. Néanmoins la plupart des systèmes à authentification forte présentent la contrainte qu'est la détention d'un objet, qui peut être perdu, et en outre les Cartes à Puce de Sécurité restent limitées à une utilisation sur le lieu de travail du professionnel. En effet même si elles ont la taille d'une carte bancaire que l'on peut garder sur soi, leur utilisation est assujettie à la présence d'un lecteur de cartes et d'un logiciel dédié sur un poste client spécifique. Une utilisation en déplacement est donc contraignante, à moins de transporter son lecteur ainsi que son propre ordinateur. Installer le logiciel sur un ordinateur tiers et y connecter son lecteur présente des problèmes évidents de sécurité. Résumé de l'invention La présente invention vide à résoudre ses difficultés en proposant une alternative nomade à l'authentification sécurisée par carte à puce, permettant de se connecter depuis n'importe quel ordinateur privé ou public relié à l'Internet. Un but annexe est d'y parvenir avec une sécurité maximale, quand bien même un tiers mal intentionné essaierait de voler la carte ou le dispositif selon l'invention, ou tenterait d'espionner les requêtes de connexion de son possesseur vers un serveur d'authentification distant. La présente invention propose donc selon un premier aspect un procédé d'authentification à l'aide d'une carte à puce dans laquelle est mémorisée une clé secrète d'authentification, à des fins d'accès authentifié d'un utilisateur à un serveur, caractérisé en ce qu'il comprend les étapes suivantes : - insertion de la carte à puce dans un dispositif portable autonome apte à recevoir ladite carte à puce pour communiquer avec elle et comportant une interface de sortie, - dans le dispositif portable, génération algorithmique d'un mot de passe à usage unique (OTP) en fonction de ladite clé secrète, et application dudit mot de passe sur ladite interface de sortie, - sur un poste client distinct du dispositif portable et connecté au serveur, introduction par l'utilisateur d'un identifiant de celui-ci et dudit mot 20 de passe à usage unique via une interface d'entrée, - transmission dudit identifiant et dudit mot de passe à usage unique au serveur, et - dans le serveur, comparaison du mot de passe à usage unique reçu avec un mot de passe à usage unique attendu. 25 Selon d'autres caractéristiques avantageuses et non limitatives de l'invention : - ladite clé secrète mémorisée dans la carte à puce est également mémorisée dans le serveur de façon associée à l'identifiant de l'utilisateur ; 30 - ledit mot de passe à usage unique attendu par le serveur est obtenu par le même algorithme que celui généré par le dispositif portable autonome ; - la génération du mot de passe à usage unique est également fonction de la valeur d'un compteur mémorisée à la fois dans la carte à puce et dans le serveur et incrémentée à chaque nouvelle génération d'un mot de passe à usage unique dans le dispositif portable autonome et dans le serveur ; - le mot de passe à usage unique est généré par le dispositif portable autonome également en fonction d'un aléa généré dans ledit dispositif portable autonome, ledit aléa étant appliqué au dispositif de sortie du dispositif puis appliqué au poste client par l'utilisateur via l'interface d'entrée de ce dernier et transmis au serveur par ledit poste client, et en ce que le mot de passe à usage unique attendu généré dans le serveur est également généré en fonction de l'aléa reçu par le serveur ; - le serveur mémorise une liste les aléas déjà utilisés en vue d'éviter la nouvelle utilisation d'un aléa déjà utilisé ; - le dispositif portable autonome possède une interface d'entrée, la génération du mot de passe à usage unique dans le dispositif portable autonome étant une réponse à un challenge transmis par le serveur au poste client, puis fourni à l'utilisateur via une interface de sortie dudit poste client, puis appliqué au dispositif portable autonome via ladite interface d'entrée de celui-ci, et dans lequel la réponse attendue est générée de la même manière dans le serveur ; - le procédé comprend une étape préalable d'authentification de l'utilisateur par le dispositif portable autonome en communication avec la carte à puce ; - ladite étape préalable d'authentification est réalisée par saisie d'un numéro d'identification personnel (PIN) sur le dispositif d'entrée dudit dispositif et traitement dudit numéro dans la carte à puce ; - le procédé comprend une étape subséquente de vérification, au niveau du serveur, de la validité d'un certificat associé à l'utilisateur authentifié par le mot de passe à usage unique. La présente invention propose également un procédé d'authentification à l'aide d'une carte à puce comportant une interface de sortie, dans laquelle est mémorisée une clé secrète d'authentification, à des fins d'accès authentifié d'un utilisateur à un serveur, caractérisé en ce qu'il comprend les étapes suivantes : - génération algorithmique par la carte à puce d'un mot de passe à usage unique (OTP) en fonction de ladite clé secrète, et application dudit 5 mot de passe sur ladite interface de sortie, - sur un poste client distinct du dispositif portable et connecté au serveur, introduction par l'utilisateur d'un identifiant de celui-ci et dudit mot de passe à usage unique via une interface d'entrée, - transmission dudit identifiant et dudit mot de passe à usage unique 10 au serveur, et - dans le serveur, comparaison du mot de passe à usage unique reçu avec un mot de passe à usage unique attendu. Selon d'autres caractéristiques avantageuses et non limitatives de 15 l'invention : - ladite clé secrète mémorisée dans la carte à puce est également mémorisée dans le serveur de façon associée à l'identifiant de l'utilisateur ; - ledit mot de passe à usage unique attendu par le serveur est obtenu par le même algorithme que celui généré par le dispositif portable autonome ; 20 - la génération du mot de passe à usage unique est également fonction de la valeur d'un compteur mémorisée à la fois dans la carte à puce et dans le serveur et incrémentée à chaque nouvelle génération d'un mot de passe à usage unique dans le dispositif portable autonome et dans le serveur ; - le mot de passe à usage unique est généré par le dispositif portable 25 autonome également en fonction d'un aléa généré dans la carte à puce, ledit aléa étant appliqué au dispositif de sortie du dispositif puis appliqué au poste client par l'utilisateur via l'interface d'entrée de ce dernier et transmis au serveur par ledit poste client, et en ce que le mot de passe à usage unique attendu généré dans le serveur est également généré en fonction de 30 l'aléa reçu par le serveur ; - le serveur mémorise une liste les aléas déjà utilisés en vue d'éviter la nouvelle utilisation d'un aléa déjà utilisé ; - la carte à puce possède directement une interface d'entrée, la génération du mot de passe à usage unique dans le dispositif portable autonome étant une réponse à un challenge transmis par le serveur au poste client, puis fourni à l'utilisateur via une interface de sortie dudit poste client, puis appliqué à la carte à puce via ladite interface d'entrée de celui-ci, et dans lequel la réponse attendue est générée de la même manière dans le serveur ; - le procédé comprend une étape préalable d'authentification de l'utilisateur par la carte à puce ; - ladite étape préalable d'authentification est réalisée par saisie puis traitement d'un numéro d'identification personnel (PIN) dans la carte à puce ; - ladite étape préalable d'authentification est réalisée par concaténation au mot de passe à usage unique de son numéro d'identification personnel 15 (PIN), puis traitement par le serveur ; - le procédé une étape subséquente de vérification, au niveau du serveur, de la validité d'un certificat associé à l'utilisateur authentifié par le mot de passe à usage unique. 20 La présente invention se rapporte également selon un deuxième aspect à un procédé d'initialisation d'une carte à puce destinée à la mise en oeuvre d'un procédé selon le premier aspect de l'invention, dans laquelle est mémorisé un certificat, caractérisé en ce qu'il comprend les étapes suivantes : 25 - insertion de la carte à puce dans un terminal de carte à puce relié au serveur ; - extraction d'un certificat mémorisé dans ladite carte à puce ; - authentification de l'utilisateur au niveau du serveur à l'aide du certificat et un challenge/réponse basé sur la clé privée associée au 30 certificat, - vérification du certificat au niveau du serveur ; - en cas de certificat valable, génération par le serveur d'une clé secrète déterminée en fonction dudit certificat, et envoi de ladite clé secrète au terminal ; et - mémorisation de ladite clé secrète dans le serveur et dans la carte 5 à puce via le terminal. Selon une autre caractéristique avantageuse et non limitative de l'invention : - le procédé comprend en outre l'envoi du serveur au terminal d'une valeur initiale de compteur, et la mémorisation de la valeur initiale de compteur à la 10 fois dans le serveur et dans la carte à puce. Selon un troisième aspect de l'invention, on propose un dispositif portable autonome, comprenant un lecteur de carte à puce et une interface de sortie pour des données, caractérisé en ce qu'il comporte en association 15 avec une carte à puce placée dans le lecteur des moyens de traitement aptes à générer et délivrer sur ladite interface de sortie un mot de passe à usage unique en fonction d'une clé secrète mémorisée dans ladite carte à puce et associée à un utilisateur de ladite carte à puce, ledit mot de passe permettant audit utilisateur de s'authentifier auprès d'un serveur distant à 20 partir d'un poste client quelconque distinct du dispositif portable et non connecté à celui-ci. Selon une autre caractéristique avantageuse et non limitative de ce dispositif : - les moyens de traitement sont aptes à générer un aléa. 25 Selon un quatrième aspect de l'invention, on propose une carte à puce comprenant une interface de sortie pour des données, caractérisée en ce qu'elle comporte des moyens de traitement aptes à générer et délivrer sur ladite interface de sortie un mot de passe à usage unique en fonction 30 d'une clé secrète mémorisée dans ladite carte à puce et associée à un utilisateur de ladite carte à puce, ledit mot de passe permettant audit utilisateur de s'authentifier auprès d'un serveur distant à partir d'un poste client quelconque distinct auquel ladite carte à puce n'est pas connectée. Selon une autre caractéristique avantageuse et non limitative de cette carte à puce : - les moyens de traitement sont aptes à générer un aléa. Le dispositif portable selon l'invention peut être transporté facilement. Il peut générer à partir d'une carte à puce des mots de passe à usage unique à condition de taper le code PIN associé à la carte. L'utilisateur pourra s'installer devant n'importe quel ordinateur relié à internet, y compris sur des postes dans des hôtels, des gares, ou tout autre lieu public, et se connecter par exemple grâce à un simple navigateur au serveur d'authentification, en utilisant ses identifiants et le mot de passe qu'il lira sur le lecteur portable de cartes à puce selon l'invention. Les arguments ci-avant s'appliquent encore mieux quand l'utilisateur dispose de la carte à puce améliorée selon l'invention. Il s'agit bien d'une authentification forte combinant des données secrètes connues par un utilisateur à un élément qu'il détient : la carte. La sécurité est totale puisque les mots de passe sont à usage unique, et donc le fait qu'ils soient envoyés en clair et donc susceptibles d'être interceptés n'est pas gênant puisqu'ils ne peuvent servir qu'une fois. L'invention vise enfin des systèmes : - un système comprenant un serveur, au moins un dispositif portable selon le troisième aspect de l'invention, au moins une carte à puce, et un poste client relié au serveur, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'authentification selon le premier aspect de l'invention ; - un système comprenant un serveur, au moins une carte à puce selon le quatrième aspect de l'invention, et un poste client relié au serveur, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'authentification selon le premier aspect de l'invention ; - un système comprenant un serveur, un terminal de carte à puce et au moins une carte à puce, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'initialisation le deuxième aspect de l'invention. Brève description des dessins D'autres caractéristiques, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description qui va suivre d'un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés, sur lesquels : - la figure 1 est un schéma d'un lecteur portable de carte à puce selon l'invention ; - la figure 2 est un schéma d'une carte à puce dans laquelle les fonctions du lecteur sont directement intégrées selon un autre aspect de l'invention ; - la figure 3a est une représentation schématique du réseau mis en jeu lors du procédé d'initialisation selon l'invention ; - la figure 3b est une représentation schématique du réseau mis en jeu lors du procédé d'authentification selon l'invention - la figure 4 est un diagramme représentant le procédé d'authentification selon un premier mode de réalisation de l'invention; - la figure 5 est un diagramme représentant le procédé d'authentification selon un second mode de réalisation de l'invention; - la figure 6 est un diagramme représentant le procédé d'authentification selon un troisième mode de réalisation de l'invention. Description détaillée de formes de réalisation préférées Lors d'une utilisation conventionnelle d'une carte à puce par un professionnel, un terminal de carte à puce relié à son poste de travail permet d'accéder à un ou plusieurs certificats présents sur la carte. Ces certificats, ou pour être plus précis les clés privées de ces certificats, permettent de signer un message (pour qu'un tiers n'usurpe pas l'identité du professionnel) et de le chiffrer (pour que les informations envoyées restent confidentielles). Le certificat désigné ici par « certificat 51 » remplit ce rôle d'authentification de l'utilisateur. Seul l'utilisateur peut l'utiliser. Une fois le certificat déposé sur la carte, il n'est plus possible d'extraire la clé privée du certificat 51. Le principe de l'invention est d'utiliser un serveur sécurisé 10 pour 1 0 valider l'identité de l'utilisateur via un procédé 200 d'authentification. Ce procédé 200 certifie que la personne détient bien la carte 50 qui contient le certificat 51 sans qu'une connexion entre la carte et le serveur soit nécessaire. Avant de pouvoir utiliser ce procédé, une phase préalable 1 5 d'initialisation est nécessaire. Cette phase va établir le lien entre la carte 50, le certificat 51, et l'utilisateur. Ce qui va suivre est la description d'un mode de réalisation possible de ce procédé d'initialisation, dans un environnement représenté figure 3a. L'utilisateur insère tout d'abord sa carte à puce 50 dans un terminal 20 de carte à puce standard 11 relié au serveur 10. La carte insérée contient un certificat 51 qui permet d'authentifier l'utilisateur par une signature personnelle, et avantageusement un code personnel de type PIN. La liaison peut être directe, ce qui implique par exemple que l'utilisateur se rende sur le site où se trouve le serveur 10. Ce genre de site 25 est généralement très surveillé, ce qui rend quasiment impossible qu'un usurpateur puisse accomplir ce procédé d'initialisation avec la carte à puce d'un autre. Dans une variante, l'utilisateur peut aussi passer par son poste de travail client, connecté via un réseau sécurisé au serveur 10. Dans ce cas l'authentification est en deux étapes : l'utilisateur s'authentifie sur le 30 poste client, puis le poste client s'authentifie sur le serveur. La première étape est basée, comme dans le cas d'une connexion directe au serveur, sur le certificat 51 contenu dans la carte à puce 50. La seconde étape, à savoir l'authentification du client, est basée sur un mécanisme de type challenge/réponse : Le serveur 10 génère un challenge reçu par le client ; il est signé par la clé privée de l'utilisateur et renvoyé ainsi que le certificat 51 : c'est la réponse. Le serveur 10 enregistre le certificat 51, et vérifie le challenge signé en le comparant avec la réponse qu'il attendait. Si les deux sont identiques, le certificat 51 est enregistré, et des vérifications du certificat 51 sont effectuées. Ce dernier doit être trusté et non révoqué : un certificat peut devenir invalide pour de nombreuses raisons autres que l'expiration naturelle, telles que la perte ou la compromission de la clé privée associée au certificat. C'est pourquoi des normes définissent le format d'une liste indiquant les certificats devenus invalides pour une autorité de certification donnée. Cette liste est signée par l'autorité de certification pour en empêcher toute modification par une personne non autorisée. Lorsque le tout est validé, le serveur génère un secret 12. Ce secret peut être une clé secrète, une liste de codes, ou toute autre donnée secrète sur laquelle peut reposer la sécurité de la communication. Ce secret 12 est stocké sur le serveur 10 et associé au certificat 51. Il est envoyé au client et stocké sur la carte à puce 50 connectée via le terminal 11. Selon une variante avantageuse, le serveur génère et initialise un compteur 13, qui est également stocké à la fois sur le serveur 10 et la carte à puce 50. L'utilisateur peut récupérer sa carte 50 et s'en servir pour s'authentifier en déplacement, comme représenté figure 3b. Dans cette configuration, l'utilisateur se connecte sur tout ordinateur 30 relié à internet. Ce peut naturellement un ordinateur personnel, par exemple un ordinateur portable emmené en déplacement, mais aussi tout ordinateur d'usage privé ou public, comme ceux mis à la disposition des usagers dans une gare ou un hôtel. Ce poste 30 est relié au serveur 10 via le réseau 20. Ce réseau peut 30 être I'Internet, ou un simple réseau local, un réseau téléphonique ou tout autre réseau de communication. Si l'utilisateur veut s'authentifier pour accéder à des informations requérant préalablement une authentification, le procédé d'authentification selon l'invention va permettre à l'utilisateur de prouver qu'il détient bien la carte à puce 50 qui contient le certificat 51 sans avoir besoin de connecter cette carte au poste 30 non sécurisé sur lequel il se trouve. Il lui suffit d'insérer sa carte à puce 50 dans un dispositif portable autonome 40 dont un possible mode de réalisation est représenté schématiquement sur la figure 1. De la taille d'une calculette, il contient une interface de carte à puce. La carte à puce 50 de l'utilisateur s'insère dans la fente 43. Une interface de sortie 41 permet à l'utilisateur de récupérer un mot de passe à usage unique (OTP, c'est-à-dire « One Time Password » en terminologie anglo-saxonne). Préférentiellement, cette interface de sortie 41 est un écran affichant visuellement le mot de passe, mais on peut envisager d'autres moyens, par exemple un haut-parleur associé à un système vocal qui prononcerait le mot de passe. Par extension on peut imaginer toute solution fournissant un OTP et couplé physiquement à la carte, voire un dispositif intégré dans la carte à puce, comme représenté figure 2. Grâce à la miniaturisation, on peut envisager d'intégrer directement les fonctions du lecteur 40 dans la carte 50. En effet, les cartes CPS les plus récentes intègrent déjà un microprocesseur. Un telle carte à puce selon un mode de réalisation particulièrement préféré de l'invention comprend directement une interface de sortie 41, par exemple un écran extra-plat. Elle est tout-en-un et ne nécessite même plus l'utilisation du dispositif portable lecteur de carte. Ce dispositif, ou cette carte à puce améliorée, est autonome, c'est-à-dire qu'il n'est relié à aucun réseau. Il est capable de générer le mot de passe OTP de par les seules informations présentes sur la carte et les éventuelles informations saisies par l'utilisateur. Dans ce dernier cas, il possède avantageusement une interface de saisie 42, par exemple un clavier numérique. Pour assurer son autonomie, il peut comprendre un moyen de stockage d'énergie, par exemple une batterie ou des piles électriques, mais peut tout à fait fonctionner sur secteur dans le cas du dispositif portable. Outre l'interface de carte à puce nécessaire au dispositif 40, les deux systèmes comprennent une unité de traitement telle qu'un microcontrôleur 5 programmé. Avantageusement, ce programme est tel que, lorsque l'utilisateur insère la carte à puce 50 dans le dispositif 40, ou active sa carte à puce améliorée 50, il doive s'identifier pour prouver qu'il n'a pas dérobé la carte, par exemple en saisissant un code PIN associé à la carte via l'interface de 10 saisie 42. L'intégration d'une interface de saisie 42 étant relativement complexe sur la carte à puce, il existe un moyen astucieux permettant de réaliser l'identification par code PIN sans devoir saisir de données sur la carte : il suffit de configurer le système de telle sorte que l'utilisateur doive concaténer son code PIN à l'OTP fourni pour pouvoir l'utiliser. Ainsi, toute 15 personne qui enverrait le bon OTP mais couplé à un code PIN erroné verrait son accès refusé. Dans le cas de cette configuration, le serveur soit effectuera la même concaténation de son coté, mais avec le code PIN attendu, soit déconcatènera le code PIN, et le comparera de façon séparée avant de traiter l'OTP. 20 Pour la suite de cette description, on supposera que l'on utilise un dispositif portable dans lequel on insère la carte à puce, mais tout ce qui sera dit s'applique de façon similaire à la carte à puce améliorée comprenant de façon intégrée les fonctions de ce dispositif. L'utilisateur n'a alors besoin que d'activer sa carte pour suivre le procédé. 25 Dans un premier mode de réalisation du procédé d'authentification 200 selon l'invention représenté figure 4, l'utilisateur entre sa carte dans le dispositif et entre si requis son code PIN via le clavier. Si le code PIN est valide le cas échéant, le dispositif 40 génère un mot de passe OTP basé sur 30 les valeurs du secret 12 et du compteur 13 stockées sur la carte, grâce une fonction F1 prédéfinie implémentée sur le dispositif 40. De nombreux types de secret 12 et de fonction F1 sont possibles. Le secret peut par exemple être une liste d'OTP indexée par un indice i, et la fonction F1 une fonction de choix qui extrait l'OTP à l'indice correspondant à du compteur. Si on appelle s le secret 12 et n la valeur du compteur 13, alors on a : F1(s, n) = s[n] Avantageusement, le secret 12 peut être un mot de passe OTP initial et la fonction F1 une itération d'une fonction trappe f qui génère un nouveau mot de passe OTP basé sur le précédent. Une fonction trappe, ou fonction à sens unique, est une fonction dont le résultat peut être aisément calculé, mais quasiment impossible à inverser d'un point de vue mathématique. En effet ces fonctions sont construites de telle sorte que la méthode la plus rapide pour trouver un inverse est de tester toutes les valeurs jusqu'à ce que l'une convienne. C'est un problème de complexité NP-hard, et pour peu que les mots de passe OTP soient suffisamment longs, le temps de calcul nécessaire peut rapidement dépasser des milliards d'années. Les itérations de f (f(s), f o f(s), f o ...of (s» sont donc autant d'OTP possibles. Il convient toutefois de ne pas les utiliser dans cet ordre, car une relation de récurrence sk+l =f(sk) apparaît, et un tiers mal intentionné pourrait intercepter un mot de passe OTP et prévoir le prochain en lui appliquant f. De façon appropriée, on les utilise dans l'ordre inverse, et la relation de récurrence devient sk+l = f -1(sk) . Il n'est pas possible de prévoir le prochain mot de passe OTP à moins de trouver un moyen d'inverser la fonction f. On a donc Fl(s,n) = fN-n(s)où N est un nombre défini comme le nombre maximal d'utilisations du secret avant qu'il faille le réinitialiser. Le procédé selon l'invention n'est cependant pas limité en particulier à ces exemples, et tout moyen connu F1 pour générer algorithmiquement un mot de passe OTP à partir d'un secret peut être utilisé. Une fois que le calcul deFl(s,n) est effectué, le compteur 13 est incrémenté en vue de la prochaine génération, et le mot de passe OTP est fourni à l'utilisateur via l'interface de sortie 41. Le mot de passe OTP peut être le résultat entier deFl(s,n) ou seulement une partie de ce résultat : ce dernier peut faire des centaines de chiffres, et pour des questions d'ergonomie on peut par exemple choisir d'afficher seulement les dix derniers chiffres, ce qui laisse tout de même dix milliards de possibilités. Puis l'utilisateur s'installe devant le poste client 30 et ouvre un navigateur. Grâce au réseau 20 il se connecte à distance au serveur 10, qui lui affiche une interface d'authentification lui demandant un identifiant et un mot de passe OTP. Il saisit son identifiant ainsi que le mot de passe OTP fourni par le dispositif autonome 40, éventuellement en lui concaténant un code PIN, s'il s'agit d'une authentification directement via une carte à puce seule sans interface de saisie. Dans cet exemple l'interface d'authentification de l'utilisateur est un navigateur, mais l'invention n'y est pas limitée. L'interface d'authentification peut être n'importe quel programme comme un simple navigateur, une application client, un VPN, une mire d'authentification Windows, ... A partir de l'identifiant, le serveur 10 accède dans sa mémoire au secret 12 et au compteur 13 associés. Ce sont les mêmes que ceux stockés sur la carte à puce 50. Le serveur dispose en outre d'une fonction F2 qui avantageusement est identique à F1. Il calcule F2(s,n)et en déduit une valeur attendue du mot de passe OTP, et éventuellement lui concatène aussi le code PIN attendu de l'utilisateur. Il compare alors cette valeur avec celle saisie par l'utilisateur sur l'interface de navigateur du poste client 30. Si elles sont égales, c'est que le secret 12 contenu sur la carte à puce 50 est bien le même que celui stocké sur le serveur 10. L'utilisateur a prouvé qu'il possédait la carte à puce associée à son identité, le serveur 10 autorise l'extraction du certificat 51 associé au secret depuis sa mémoire et incrémente le compteur 13 pour qu'il ait la même valeur que celui de la carte. Dans une ultime étape, le serveur 10 vérifie la validité du certificat 51 ayant permis la génération du secret 12. Si tout est en ordre, l'authentification est valide. Dans un second mode de réalisation du procédé d'authentification 200 selon l'invention représenté figure 5, l'utilisateur entre sa carte dans le dispositif et entre si requis son code PIN via le clavier. Si le code PIN est valide, le dispositif 40 génère un mot de passe OTP basé sur le secret 12 stocké sur la carte, sur la valeur du compteur 13 également stockée sur la carte et sur un aléa 14 généré grâce une fonction F1 telle que l'une de celles décrites précédemment. L'aléa 14 est une séquence de chiffres obtenue par exemple grâce à un générateur pseudo-aléatoire et qui est régénérée pour chaque mot de passe OTP. Il permet de rajouter du « bruit » dans l'algorithme et d'augmenter l'imprévisibilité de lu mot de passe OTP. La fonction F1 est par exemple appliquée non pas à s, mais a s+a. Une fois que le calcul deFl(s,a,n) est effectué, le compteur 13 est incrémenté en vue de la prochaine génération, et le mot de passe OTP ainsi que l'aléa sont fournis à l'utilisateur via l'interface de sortie 41. Comme dans la forme de réalisation précédente, le mot de passe OTP peut être le résultat entier deFl(s,a,n) ou seulement une partie de ce résultat. Puis l'utilisateur lance un navigateur dans le poste client 30, et via le réseau 20 il se connecte à distance au serveur 10, qui lui affiche une interface d'authentification lui demandant un identifiant, un OTP et un aléa. Il saisit son identifiant, ainsi que le mot de passe OTP, éventuellement en lui concaténant un code PIN, et l'aléa fournis par le dispositif autonome 40. Comme dans le mode réalisation précédent, l'invention n'est pas limitée à la seule utilisation d'un navigateur. A partir de l'identifiant, le serveur 10 accède dans sa mémoire au secret 12 et au compteur 13 associés. Ce sont les mêmes que ceux stockés sur la carte à puce 50. Ici encore le serveur dispose d'une fonction F2 qui avantageusement est identique à F1. Il calcule F2(s,a,n) et en déduit un la valeur attendue du mot de passe OTP, et éventuellement lui concatène aussi le code PIN attendu de l'utilisateur. Il compare alors cette valeur avec celle entrée par l'utilisateur sur l'interface de navigation du poste client 30. Si elles sont égales, c'est que le secret 12 contenu sur la carte à puce 50 est bien le même que celui stocké sur le serveur 10. L'utilisateur a prouvé qu'il possédait la carte à puce associée à son identité, le serveur 10 autorise l'extraction du certificat 51 associé au secret depuis sa mémoire et incrémente le compteur 13 pour qu'il ait la même valeur que celle stockée dans la carte. Dans une ultime étape, le serveur 10 vérifie la validité du certificat 51 ayant permis la génération du secret 12. Si tout est en ordre, l'authentification est valide. Le serveur 10 peut avantageusement stocker la liste des aléas utilisés pour éviter la réutilisation d'un aléa. Dans un troisième mode de réalisation du procédé d'authentification 200 selon l'invention représenté figure 6, le dispositif 40 génère un mot de passe OTP qui est basé sur le secret 12 stocké sur la carte et qui est une réponse à un challenge fourni par le serveur et affiché sur le navigateur du poste client 30. Dans ce procédé, l'utilisateur commence par entrer son identifiant sur l'interface d'authentification sur le poste client 30. Le serveur 10 auquel il tente de se connecter génère alors le challenge et le transmet au poste client 30. Il s'agit le plus souvent d'une séquence de chiffres obtenue par exemple grâce à un générateur pseudo-aléatoire, mais le terme « challenge » désigne ici tout envoi de données jouant le rôle de question posée à l'utilisateur. L'utilisateur entre si requis le code PIN de la carte, puis (si le code PIN est valide) l'utilisateur entre le challenge sur le dispositif portable 40 grâce à l'interface de saisie 42. Une fonction F1 similaire à l'une de celles décrites précédemment déduit du challenge c et du secret 12 une réponse r, qui correspond à la réponse qui doit être apportée au challenge. Par exemple, en reprenant une fonction trappe f, on peut avoirFl(s,c) = f(s+c) Une fois que le calcul deFl(s,c) est effectué, la réponse est fournie à l'utilisateur via l'interface de sortie 41. Comme dans les cas précédents, la réponse peut être le résultat entier deFl(s,c) ou seulement une partie de ce résultat, un code PIN peut aussi lui être concaténé. L'utilisateur saisit alors sur le poste client 30 alors cette réponse fournie par le dispositif autonome 40. En parallèle, le serveur 10 qui dispose d'une fonction F2 qui est avantageusement identique à F1, calcule F2(s,c)et en déduit la réponse attendue. Il compare alors cette dernière avec celle entrée par l'utilisateur sur l'interface Web du client 30. Si elles sont égales, c'est que le secret 12 contenu sur la carte à puce 50 est bien le même que celui stocké sur le serveur 10. L'utilisateur a ainsi prouvé qu'il possédait la carte à puce associée à son identité, et le serveur 10 autorise l'extraction du certificat 51 associé au secret depuis sa mémoire. Dans une ultime étape, le serveur 10 vérifie la validité du certificat 51 ayant permis la génération du secret 12. Si tout est en ordre, l'authentification est valide. Bien entendu, la présente invention n'est nullement limitée aux formes de réalisation décrites ci-dessus est illustrées sur les dessins, mais l'homme du métier saura y apporter de nombreuses variantes et modifications.15 REVENDICATIONS1. Procédé d'authentification à l'aide d'une carte à puce dans laquelle est mémorisée une clé secrète d'authentification, à des fins d'accès authentifié d'un utilisateur à un serveur, caractérisé en ce qu'il comprend les étapes suivantes : - insertion de la carte à puce dans un dispositif portable autonome apte à recevoir ladite carte à puce pour communiquer avec elle et comportant une interface de sortie, 1 0 - dans le dispositif portable, génération algorithmique d'un mot de passe à usage unique (OTP) en fonction de ladite clé secrète, et application dudit mot de passe sur ladite interface de sortie, - sur un poste client distinct du dispositif portable et connecté au serveur, introduction par l'utilisateur d'un identifiant de celui-ci et dudit mot 1 5 de passe à usage unique via une interface d'entrée, - transmission dudit identifiant et dudit mot de passe à usage unique au serveur, et - dans le serveur, comparaison du mot de passe à usage unique reçu avec un mot de passe à usage unique attendu. 20 2. Procédé selon la revendication 1, dans lequel ladite clé secrète mémorisée dans la carte à puce est également mémorisée dans le serveur de façon associée à l'identifiant de l'utilisateur. 25 3. Procédé selon la revendication 2, dans lequel ledit mot de passe à usage unique attendu par le serveur est obtenu par le même algorithme que celui généré par le dispositif portable autonome. 4. Procédé selon la revendication 3, dans lequel la génération du mot 30 de passe à usage unique est également fonction de la valeur d'un compteur mémorisée à la fois dans la carte à puce et dans le serveur et incrémentée à chaque nouvelle génération d'un mot de passe à usage unique dans le dispositif portable autonome et dans le serveur. 5. Procédé selon l'une des revendications 3 et 4, dans lequel le mot de passe à usage unique est généré par le dispositif portable autonome également en fonction d'un aléa généré dans ledit dispositif portable autonome, ledit aléa étant appliqué sur l'interface de sortie du dispositif puis appliqué au poste client par l'utilisateur via l'interface d'entrée de ce dernier et transmis au serveur par ledit poste client, et en ce que le mot de passe à 1 0 usage unique attendu généré dans le serveur est également généré en fonction de l'aléa reçu par le serveur. 6. Procédé selon la revendication 5, dans lequel le serveur mémorise une liste les aléas déjà utilisés en vue d'éviter la nouvelle utilisation d'un 1 5 aléa déjà utilisé. 7. Procédé selon l'une des revendications 1 à 3, dans lequel le dispositif portable autonome possède une interface d'entrée, la génération du mot de passe à usage unique dans le dispositif portable autonome étant 20 une réponse à un challenge transmis par le serveur au poste client, puis fourni à l'utilisateur via une interface de sortie dudit poste client, puis appliqué au dispositif portable autonome via ladite interface d'entrée de celui-ci, et dans lequel la réponse attendue est générée de la même manière dans le serveur. 25 8. Procédé selon l'une des revendications 1 à 7, lequel comprend une étape préalable d'authentification de l'utilisateur par le dispositif portable autonome en communication avec la carte à puce. 30 9. Procédé selon la revendication 8, dans lequel ladite étape préalable d'authentification est réalisée par saisie d'un numéro d'identification personnel (PIN) sur le dispositif d'entrée dudit dispositif et traitement dudit numéro dans la carte à puce. 10. Procédé selon l'une des revendications 1 à 9, lequel comprend une étape subséquente de vérification, au niveau du serveur, de la validité d'un certificat associé à l'utilisateur authentifié par le mot de passe à usage unique. 11. Procédé d'authentification à l'aide d'une carte à puce comportant une interface de sortie, dans laquelle est mémorisée une clé secrète d'authentification, à des fins d'accès authentifié d'un utilisateur à un serveur, caractérisé en ce qu'il comprend les étapes suivantes : - génération algorithmique par la carte à puce d'un mot de passe à usage unique (OTP) en fonction de ladite clé secrète, et application dudit 1 5 mot de passe sur ladite interface de sortie, - sur un poste client distinct de la carte à puce et connecté au serveur, introduction par l'utilisateur d'un identifiant de celui-ci et dudit mot de passe à usage unique via une interface d'entrée, - transmission dudit identifiant et dudit mot de passe à usage unique 20 au serveur, et - dans le serveur, comparaison du mot de passe à usage unique reçu avec un mot de passe à usage unique attendu. 15. Procédé selon la revendication 11, dans lequel ladite clé secrète 25 mémorisée dans la carte à puce est également mémorisée dans le serveur de façon associée à l'identifiant de l'utilisateur. 16. Procédé selon la revendication 12, dans lequel ledit mot de passe à usage unique attendu par le serveur est obtenu par le même algorithme que 30 celui généré par la carte à puce. 14. Procédé selon la revendication 13, dans lequel la génération du mot de passe à usage unique est également fonction de la valeur d'un compteur mémorisée à la fois dans la carte à puce et dans le serveur et incrémentée à chaque nouvelle génération d'un mot de passe à usage unique dans la carte à puce et dans le serveur. 15. Procédé selon l'une des revendications 13 et 14, dans lequel le mot de passe à usage unique est généré par la carte à puce également en fonction d'un aléa généré dans la carte à puce, ledit aléa étant appliqué à 1 0 l'interface de sortie de la carte à puce puis appliqué au poste client par l'utilisateur via l'interface d'entrée de ce dernier et transmis au serveur par ledit poste client, et en ce que le mot de passe à usage unique attendu généré dans le serveur est également généré en fonction de l'aléa reçu par le serveur. 15 16. Procédé selon la revendication 15, dans lequel le serveur mémorise une liste les aléas déjà utilisés en vue d'éviter la nouvelle utilisation d'un aléa déjà utilisé. 20 17. Procédé selon l'une des revendications 11 à 13, dans lequel la carte à puce possède directement une interface d'entrée, la génération du mot de passe à usage unique dans la carte à puce étant une réponse à un challenge transmis par le serveur au poste client, puis fourni à l'utilisateur via une interface de sortie dudit poste client, puis appliqué à la carte à puce 25 via ladite interface d'entrée de celle-ci, et dans lequel la réponse attendue est générée de la même manière dans le serveur. 18. Procédé selon l'une des revendications 11 à 17, lequel comprend une étape préalable d'authentification de l'utilisateur par la carte à puce. 30 19. Procédé selon la revendication 18, dans lequel ladite étape préalable d'authentification est réalisée par saisie puis traitement d'un numéro d'identification personnel (PIN) dans la carte à puce. 20. Procédé selon la revendication 18, lequel ladite étape préalable d'authentification est réalisée par concaténation au mot de passe à usage unique de son numéro d'identification personnel (PIN), puis traitement par le serveur. 21. Procédé selon l'une des revendications 11 à 20, lequel comprend une étape subséquente de vérification, au niveau du serveur, de la validité d'un certificat associé à l'utilisateur authentifié par le mot de passe à usage unique. 1 5 22. Procédé d'initialisation d'une carte à puce destinée à la mise en oeuvre d'un procédé selon l'une des revendications 1 à 21, dans laquelle est mémorisé un certificat, caractérisé en ce qu'il comprend les étapes suivantes : - insertion de la carte à puce dans un terminal de carte à puce relié 20 au serveur ; - extraction d'un certificat mémorisé dans ladite carte à puce ; - authentification de l'utilisateur au niveau du serveur à l'aide du certificat et un challenge/réponse basé sur la clé privée associée au certificat, 25 - vérification du certificat au niveau du serveur ; - en cas de certificat valable, génération par le serveur d'une clé secrète déterminée en fonction dudit certificat, et envoi de ladite clé secrète au terminal ; et - mémorisation de ladite clé secrète dans le serveur et dans la carte 30 à puce via le terminal. 23. Procédé selon la revendication 22, pour la mise en oeuvre du procédé selon la revendication 4 ou la revendication 14, le procédé comprenant en outre l'envoi du serveur au terminal d'une valeur initiale de compteur, et la mémorisation de la valeur initiale de compteur à la fois dans le serveur et dans la carte à puce. 24. Dispositif portable autonome, comprenant un lecteur de carte à puce et une interface de sortie pour des données, caractérisé en ce qu'il comporte en association avec une carte à puce placée dans le lecteur des 1 0 moyens de traitement aptes à générer et délivrer sur ladite interface de sortie un mot de passe à usage unique en fonction d'une clé secrète mémorisée dans ladite carte à puce et associée à un utilisateur de ladite carte à puce, ledit mot de passe permettant audit utilisateur de s'authentifier auprès d'un serveur distant à partir d'un poste client quelconque distinct du 1 5 dispositif portable et non connecté à celui-ci. 25. Dispositif portable selon la revendication 24, dans lequel les moyens de traitement sont aptes à générer un aléa. 20 26. Système comprenant un serveur, au moins un dispositif portable selon l'une des revendications 24 à 25, au moins une carte à puce, et un poste client relié au serveur, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'authentification selon l'une des revendications 1 à 10. 25 27. Carte à puce comprenant une interface de sortie pour des données, caractérisée en ce qu'elle comporte des moyens de traitement aptes à générer et délivrer sur ladite interface de sortie un mot de passe à usage unique en fonction d'une clé secrète mémorisée dans ladite carte à puce et associée à un utilisateur de ladite carte à puce, ledit mot de passe 30 permettant audit utilisateur de s'authentifier auprès d'un serveur distant à partir d'un poste client quelconque distinct auquel ladite carte à puce n'est pas connectée. 28. Carte à puce selon la revendication 27, dans lequel les moyens de traitement sont aptes à générer un aléa. 29. Système comprenant un serveur, au moins une carte à puce selon l'une des revendications 27 à 28, et un poste client relié au serveur, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'authentification selon l'une des revendications 11 à 21. 1 0 30. Système comprenant un serveur, un terminal de carte à puce et au moins une carte à puce, caractérisé en ce qu'il est apte à mettre en oeuvre un procédé d'initialisation selon l'une des revendications 22 et 23.