Brevet FR2820915A1 — publié le 20020816

La présente invention concerne les transactions commerciales effectuées par des clients auprès de sites marchands sur un réseau de transmission de données tel que le réseau Internet et concerne en particulier une méthode de sécurisation d'une telle transaction commerciale au moyen d'une carte à mémoire. De plus en plus de transactions commerciales s'effectuent de nos jours sur le réseau Internet à l'aide de cartes bancaires. Mais ce type de transactions pose alors le problème de l'identification d'une manière sûre de la personne réalisant la transaction. Aujourd'hui, la solution la plus simple consiste à fournir le numéro de sa carte et une date d'expiration de manière à ce que le commerçant puisse débiter directement le compte du client du montant de la transaction effectuée. De manière à sécuriser la transaction, une autre solution consiste pour le client à introduire sa carte dans un lecteur de carte prévu à cet effet et de taper ensuite un code d'identification gardé secret par le client. Cependant, ces solutions sont loin d'être sures. Dans le cas de l'envoi sur un site Internet d'un numéro de carte généralement crypté, c'est un jeu d'enfant pour un hacker d'intercepter les données transmises et de les décrypter au besoin. Dans le cas où le client utilise un lecteur spécifique connecté à un ordinateur, un hacker a la possibilité de détecter le code d'identification (PIN), par exemple en piratant le clavier du lecteur de carte. Les données d'authentification du client étant toujours les mêmes dans les situations mentionnées ci-dessus, il est aisé pour un hacker ayant réussi à pirater une transaction, d'effectuer ensuite des achats en utilisant l'identité du client possesseur de la carte piratée. Pour éviter ces piratages, on a développé des systèmes qui génèrent automatiquement des codes d'identification de la carte grâce à un logiciel installé sur l'ordinateur de l'utilisateur. C'est donc un niveau de sécurité supplémentaire puisque, dans l'hypothèse où un hacker parviendrait à pirater les données confidentielles de la carte, il lui serait impossible de les utiliser pour effectuer des transactions à la place du propriétaire de la carte puisque le code d'identification n'aurait pas changé. Malheureusement, le système ci-dessus a ses limites car il est relativement aisé pour un hacker de copier le logiciel qui gère automatiquement les codes d'identification de la carte et de se servir ensuite de ce logiciel pour effectuer des transactions commerciales à la place du propriétaire de la carte. C'est pourquoi le but de l'invention est de réaliser une méthode de sécurisation de transactions commerciales faisant appel à un serveur tiers dans laquelle une partie des données de sécurisation est variable pour chaque transaction et fait appel à une lecture de ces données par l'utilisateur sur un support non électronique. L'objet de l'invention est donc une méthode de sécurisation d'une transaction commerciale effectuée par un client au moyen d'une carte à mémoire lue par un lecteur de carte connecté à un réseau de transmission de données, notamment le réseau Internet, du type dans lequel un serveur tiers donne l'autorisation d'effectuer une transaction commerciale avec un site marchand avec lequel cette transaction a lieu après s'être assuré de l'authentification du client. Cette authentification comprend au moins la reconnaissance par le serveur tiers des données d'identification du client contenues dans la carte et transmises au serveur tiers par le lecteur de cartes au moyen du réseau de transmission de données. L'authentification comprend en outre les étapes suivantes - transmission par le serveur tiers au client d'au moins deux variables d'entrée définissant une clé d'authentification dans une table d'authentification mémorisée dans une base de données à la disposition du serveur tiers, - transmission par le client de la clé d'authentification définie par les variables d'entrée reçues du serveur tiers à partir de la table d'authentification imprimée sur un support matériel, et - vérification par le serveur tiers que la clé d'authentification transmise par le client correspond bien à la donnée d'identification définie par la table d'authentification mémorisée dans la base de données du serveur tiers. La méthode selon l'invention est mise en oeuvre dans un système de transmission de données illustré sur la figure 1. Un utilisateur ou un client est connecté au réseau Internet 10 (ou tout autre réseau de transmission de données tel qu'un Intranet, Extranet ou le réseau commuté téléphonique) par un ordinateur ou station de travail 12. La mise en oeuvre de l'invention a lieu lorsque l'utilisateur désire effectuer une transaction commerciale consistant par exemple à effectuer un achat auprès d'un site marchand 14. Dans ce cas, le site marchand s'adresse à un serveur tiers 16 Pour savoir si la transaction commerciale peut avoir lieu. Le serveur tiers 16 a à sa disposition des bases de données 18 comprenant une base de données associée à l'utilisateur 12 et dans laquelle se trouvent les données variables de sécurisation. Après un échange des données de sécurisation selon la méthode de l'invention, et si le serveur tiers autorise la transaction commerciale, il s'adresse à une banque 20 connectée au réseau pour que celle-ci prenne en compte la transaction commerciale et effectue le débit du compte de l'utilisateur en conséquence. A noter que la liaison avec la banque pourrait se faire à l'aide du réseau téléphonique. La figure 2 illustre l'organigramme des étapes mises en oeuvre dans la méthode de sécurisation selon l'invention. Tout d'abord, l'utilisateur accède au site marchand à l'aide de son ordinateur connecté au réseau Internet (étape 30) de manière à effectuer une transaction commerciale, généralement un achat. Le site marchand accède, toujours par le réseau Internet, au serveur tiers (étape 32). Il doit alors introduire sa carte dans le lecteur connecté à son ordinateur (étape 34). Dans un premier temps il y a identification de l'utilisateur grâce aux données de sécurisation se trouvant sur la carte (étape 36). Cette étape d'identification peut d'ailleurs être réalisée en utilisant la procédure PKI. Selon cette procédure, une clé privée et une clé publique sont à la disposition de l'utilisateur. La clé publique qui peut être certifiée par un certificat attribué par une autorité de certification, sert alors à crypter les données d'identification transmises par la carte vers le serveur tiers. Celui-ci décrypte les données d'identification reçues à l'aide de sa clé privée. Lorsque des données en retour sont transmises par le serveur tiers vers l'utilisateur, elles sont cryptées par la clé publique et décryptées par la clé privée propre à l'utilisateur. A noter qu'il est recommandé de demander à l'autorité de certification de modifier fréquemment les clés (publique et privée) fournies dans la procédure PKI. Puis l'utilisateur est invité à introduire son code PIN grâce au clavier de l'ordinateur (étape 38). Une fois le code PIN accepté par le serveur tiers, la carte est éjectée et commence alors l'étape de sécurisation spécifique à l'invention. A noter que l'étape 38 de transmission du code PIN pourrait pécéder l'étape 36 d'identification de l'utilisateur. Pour ce faire, le serveur tiers utilise un tableau (ou matrice) représenté sur la figure 3 dans lequel un nombre est indiqué à chaque intersection d'une ligne et d'une colonne. Le serveur tiers possède ce tableau dans la base de données spécifique à l'utilisateur et l'utilisateur est également en possession de ce tableau par exemple au verso de sa carte. Le serveur tiers transmet alors à l'utilisateur une demande de la clé d'authentification (étape 40) consistant en une combinaison d'une lettre (colonne) et d'un chiffre (ligne) qui s'affiche sur l'écran de l'ordinateur, par exemple B5. En se servant du tableau en sa possession l'utilisateur renvoie à l'aide du clavier d'ordinateur le nombre déterminé par la combinaison ou clé fournie par le serveur tiers, par exemple 18. Cette clé d'authentification peut être plus complexe qu'un simple nombre comme par exemple une combinaison de lettres majuscules, lettres minuscules et chiffres (ex : Ze4jM3). A noter que les données échangées entre l'utilisateur et le serveur tiers peuvent être cryptées grâce à une clé d'encryptage. Pour éviter qu'un pirate trouve l'algorithme qui a généré le tableau ou la matrice, on peut prévoir de demander à l'utilisateur de définir lui-même tout ou partie de données contenues dans le tableau (par exemple en cochant une grille), ou encore de baser ces données sur un système aléatoire très difficile à déterminer (comme par exemple les masses et numéros atomiques des produits issus de la fission de l'atome d'uranium). L'étape suivante consiste pour le tiers serveur à vérifier dans sa base de données si la clé (ici 18) transmise par l'utilisateur correspond bien au nombre déterminé, dans le tableau, par la lettre et le chiffre qu'il a transmis à l'utilisateur (étape 42). Si c'est le cas, le serveur tiers demande alors l'accord de la banque (étape 44). Si l'accord est donné par la banque après vérification que l'utilisateur est solvable, le serveur tiers envoie son accord à l'utilisateur (étape 46) et envoie l'autorisation au site marchand d'effectuer la transaction (etape 48). On doit noter que, selon une variante, la clé privée utilisée par l'utilisateur dans la procédure PKI pour échanger des données avec le serveur tiers pourrait être codée par le code PIN de l'utilisateur, auquel cas les deux étapes 36 et 38 seraient confondues en une seule étape. En outre, on peut prévoir une étape supplémentaire consistant à transmettre à partir du lecteur de carte au serveur le certificat d'authentification contenu dans la carte, le serveur tiers vérifiant alors que le client a le droit de se servir de la clé privée. Bien entendu, s'il y a échec de l'une des étapes d'identification à l'aide de la carte, de la reconnaissance du code PIN par le serveur tiers et de la reconnaissance de la clé d'authentification, ou si l'accord de la banque n'est pas donné, le serveur tiers arrête le déroulement de la procédure et rejette la transaction commerciale. Un tel échec correspond à une sortie non des étapes 36,38, 42 et 44 de la procédure illustrée sur la figure 2. On doit noter que la clé d'authentification pourrait être déterminée par la combinaison de plus de deux variables d'entrée comme par exemple l'utilisation de trois variables dans un tableau à trois entrées, ou encore pourrait être déterminée par une méthode à plusieurs étapes dans laquelle chaque étape permettrait de déterminer dans un tableau à double entrée, une des deux variables à utiliser dans l'étape suivante. Bien que toute carte pouvant contenir des données d'authentification de l'utilisateur puisse être utilisée, telle qu'une carte à mémoire ou carte à puce, un mode de réalisation préférentiel consiste à utiliser une carte CDROM. Ce type de carte décrit dans la demande de brevet PCT/FR99/01867 est un support d'informations ayant le format d'une carte de crédit comportant des pistes circulaires lisibles par le lecteur de disques CD-ROM d'un ordinateur. Une telle carte peut comporter des données allant jusqu'à plusieurs dizaines de Méga-octets, et donc une capacité suffisante pour contenir les données d'authentification et/ou une clé privée utilisable dans la procédure PKI. On peut également utiliser une carte CD-ROM telle que décrite dans la demande de brevet FR 00/15569 où la partie lisible de la carte où sont enregistrées les données sensibles (authentification, clé privée) sont situées dans une gorge de manière à assurer une protection maximale contre toute détérioration. Bien entendu, dans ce cas aucune clé n'est imprimée à l'endroit où se trouve le trou de positionnement de la carte représenté en pointillés sur la figure 3. Il est clair que la méthode de sécurisation qui vient d'être décrite est une méthode sûre et difficilement piratable. En effet, un pirate (ou hacker) n'arrivera jamais à intercepter tout le tableau illustré sur la figure 3 car il lui serait nécessaire pour ce faire de surveiller l'utilisateur pendant une multitude de transactions commerciales afin de reconstituer le table. Ici, l'authentification faisant appel à une donnée physique (nombres imprimés), un hacker ne peut donc pas y avoir accès, par exemple par captage de champs magnétiques, puisque ces données ne sont pas électroniques. On peut d'ailleurs compléter la sécurisation par d'autres mesures de précaution. Ainsi, on peut faire en sorte que les données imprimées sur la carte (ou autre support) et celles qui apparaissent sur l'écran de l'ordinateur aient des dimensions réduites afin d'échapper à des regards indiscrets. En outre, on pourrait empêcher une lecture facile du tableau imprimé grâce à un système dans lequel le tableau n'est révélé que sous une luminosité particulière diffusée par l'écran de l'ordinateur qui a reçu un message du serveur tiers, ou grâce à l'impression par hologramme rendant impossible la lecture du tableau sous un angle de vision autre que celui de l'utilisateur. Enfin, pour garantir le secret des données du tableau, on peut dissimuler ces données par une encre qu'il sera nécessaire de gratter pour les faire apparaître, étant entendu que le serveur tiers ne demandera jamais les mêmes données du tableau. Bien que l'invention a été décrite dans le cadre d'une transaction commerciale avec un site marchand, il va de soi qu'elle pourrait être utilisée pour authentifier les utilisateurs sur Intranet ou Internet ou à l'occasion de transfert d'argent (bourse) sur Internet. Elle peut également servir à sécuriser le transfert de fichiers, par exemple des fichiers MP3, à partir d'un ordinateur ou d'une chaîne HIFI connectée à Internet. Enfin, elle peut aussi être utilisée pour le transfert de données médicales entre patient et médecin ou entre patient et organisme payeur. REVENDICATIONS 1. Méthode de sécurisation d'une transaction commerciale effectuée par un client (12) au moyen d'une carte à mémoire lue par un lecteur de carte connecté à un réseau de transmission de données (10), notamment le réseau Internet, du type dans lequel un serveur tiers (16) donne l'autorisation d'effectuer une transaction commerciale avec un site marchand (14) après s'être assuré de l'authentification du client, cette authentification comprenant au moins la reconnaissance par ledit serveur tiers des données d'identification du client contenues dans ladite carte et transmises audit serveur tiers par ledit lecteur de cartes au moyen du réseau de transmission de données ; ladite méthode étant caractérisée en ce que ladite authentification comprend en outre les étapes suivantes : transmission par ledit serveur tiers audit client d'au moins deux variables d'entrée définissant une clé d'authentification dans une table d'authentification mémorisée dans une base de données (18) à la disposition dudit serveur tiers, transmission par ledit client de ladite clé d'authentification définie par lesdites variables d'entrée reçues dudit serveur tiers à partir de ladite table d'authentification imprimée sur un support matériel, et vérification par ledit serveur tiers que la clé d'authentification transmise par ledit client correspond bien à la clé définie par la table d'authentification mémorisée dans la base de données dudit serveur tiers. 2. Méthode selon la revendication 1, dans laquelle la clé d'authentification est déterminée dans un tableau (ou matrice) dont les deux entrées sont les deux variables d'entrée fournies par ledit serveur tiers (16) au client (12). 3. Méthode selon la revendication 2, dans laquelle ledit support matériel sur lequel est imprimé ledit tableau est ladite carte, ledit tableau étant par exemple imprimé au verso de ladite carte 4. Méthode selon l'une des revendications 1,2 ou 3, dans laquelle ladite carte est une carte CD-ROM, et ledit lecteur de carte est un lecteur de disques CD-ROM. 5. Méthode selon la revendication 4, dans laquelle ladite carte CD-ROM est une carte comportant une gorge circulaire dans laquelle sont enregistrées lesdites données d'identification du client. 6. Méthode selon l'une des revendications 1 à 5, dans laquelle lesdites données d'identification sont transmises audit serveur tiers (16) en utilisant la procédure PKI. 7. Méthode selon la revendication 6, dans laquelle la clé publique utilisée par ledit client (12) dans la procédure PKI est certifiée par un certificat fourni audit client par une autorité de certification. 8. Méthode selon la revendication 6 ou 7, comprenant en outre l'étape consistant à transmettre par ledit client (12) un code PIN après (ou avant) la transmission desdites données d'identification. 9. Méthode selon la revendication 8, dans laquelle ledit code PIN sert à crypter la clé privée fournie audit client (12) dans la procédure PKI. 10. Méthode selon l'une des revendications 6 à 9, comprenant en outre l'étape de transmettre dudit lecteur de carte audit serveur tiers ledit certificat (contenu dans ladite carte), ledit serveur tiers vérifiant que le client a le droit de se servir de ladite clé privée.