Méthode et système de sécurisation d' une transaction commerciale au moyen d' une carte à mémoire
Domaine technique : 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.
Etat de la technique :
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.
Exposé de l'invention :
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 à l'envoi par l'utilisateur de ces données lues au préalable 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 et d'un réseau de transmission de données, dans lequel un serveur tiers donne l'autorisation d'effectuer une transaction commerciale et comprenant les étapes suivantes :
a) transmission par le client au serveur tiers à partir du lecteur de cartes au moyen du réseau de transmission de données de ses données d'identification, b) identification du client par le serveur tiers, c) transmission par le client de son code PIN au serveur tiers, d) acceptation du code PIN par le serveur tiers, e) transmission par le serveur tiers au client d'au moins deux variables définissant une clé d'authentification dans un tableau (ou matrice) imprimé sur un support matériel à la disposition du client et dont les deux entrées sont les deux variables, f) transmission par le client de la clé d'authentification définie par les variables d'entrée, et g) vérification par le serveur tiers que la clé d'authentification transmise par le client correspond bien à la clé définie par la table d' authentification mémorisée dans la base de données du serveur tiers.
Description brève des figures :
Les buts, objets et avantages ressortiront mieux à la lecture de la description qui suit, faite en référence aux figures dans lesquelles :
- la figure 1 est un bloc-diagramme représentant un système de transmission de données dans lequel la méthode selon l'invention est utilisée,
- la figure 2 est un organigramme représentant les étapes de la méthode selon l'invention, et
- la figure 3 est une représentation schématique du tableau définissant la clé d'authentification.
Description détaillée de l'invention :
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. A noter que l'étape 38 de transmission du code PIN pourrait pré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. La 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.
A noter que dans le but d'augmenter la sécurité, le tableau ou matrice peut se trouver ailleurs qu'au verso de la
carte de l'utilisateur, de sorte que le vol de la carte ne fasse courir aucun risque à l'utilisateur.
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 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 (étape 48) .
A noter que, 'selon un mode de réalisation préférentiel les numéros de ligne et de colonne servant à déterminer la clé d'authentification ne sont utilisés qu'une seule fois par le serveur tiers de manière à éviter une interception par un hacker lui permettant d'utiliser la carte en transmettant au serveur tiers la clé qu'il a interceptée préalablement.
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 CD- ROM. 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, 1' 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.