FR 2849973 A1 20040716 FR 0300240 A 20030110 Procédé permettant de faire des transactions sécurisées à l'aide d'un dispositif à mémoire passive seulement La présente invention concerne un procédé d'identification électronique, typiquement depuis un ordinateur de type PC avec l'aide d'un dispositif contenant une mémoire passive seulement, typiquement un CD ROM, tout en fournissant une sécurité supérieure ou égale à celle d'une carte à puce. Le manque de sécurité est un frein important au développement du commerce électronique, notamment, le commerce par Internet. Face à cela, plusieurs solutions existent sur le marché dont la plus connue et la plus sre, est celle qui consiste à connecter à un PC un lecteur de carte à puce spécifique et à taper le code secret correspondant à la carte pour valider la transaction. Ce type de système fournit une sécurité comparable à 40J celle qu'on peut obtenir dans un magasin avec toutefois une légère différence puisque le PC peut être le siège de virus. Néanmoins c'est le système le plus sr connu à ce jour. Il n'est cependant pas sans défauts. En effet, l'utilisateur doit investir dans un lecteur spécifique et onéreux. Ce lecteur est d'autant plus onéreux que la plupart des acheteurs sur Internet sont occasionnels et ne voient guère l'utilité de s'équiper pour un taux de transactions ne justifiant pas l'investissement. Sans compter le fait que le lecteur spécifique est externe au PC et pas nécessairement normalisé. L'avantage de la solution proposée ici est de ne faire appel, potentiellement, qu'au lecteur de CD ROM du PC, donc pour un cot négligeable. Les lecteurs de CD ROM équipant tous les PC, la transaction sécurisée par Internet devient alors à la portée de tous. On.ô O pourrait même imaginer, sous certaines conditions, des transactions faites depuis des cybercafés. Cependant, on peut facilement généraliser le cas du PC à celui d'un élément possédant une puissance de calcul et celui du CD ROM à un élément de stokage passif que l'élément qui possède la puissance de calcul peut lire. De plus, le procédé que nous décrivons dans la suite offrira le meilleur standard possible d'identification, à savoir un i système de preuve de connaissance interactive zero-knowledge. * 1. Définitions Pour faciliter la compréhension de ce qui est expliqué ci-dessous, nous allons garder la terminologie courante. Cependant, nous définissons ici, au sens large, ce que nous désignerons sous des vocables courants. Un PC sera une unité de calcul qui reçoit des données et en émet. Entre une émission et une réception, le PC transforme les données suite à des opérations logiques élémentaires. Le CD ROM est une unité de stockage qui peut être lue par le PC. Elle n'a pas de capacité de calcul et elle n'a aucune protection particulière contre la copie. Nous ne faisons ici aucune hypothèse sur la réalisation concrète du CD ROM ou du PC. Un téléphone portable, par exemple, peut être ici appelé PC. De même, aussi bien un vrai CD ROM qu'une unité mémoire quelconque peut être d.4 o appelé, dans notre contexte, CD ROM. Pour faciliter aussi la compréhension de ce que nous appelons une transaction, nous allons décrire le procédé, dans le cas d'une transaction bien particulière. En fait, notre transaction va se passer entre 3 personnes nommées respectivement Alice, Bob et Claire. Chaque personne est identifiée à son calculateur ou bien, selon le cas, c'est le calculateur qui est 'A X personnalisé. Pour plus de commodité, nous supposerons qu'Alice veut acheter un objet dans le magasin virtuel de Bob et qu'elle a Claire pour banque. Néanmoins, cela n'est pris qu'au titre de la commodité, ce genre de transaction pouvant se faire entre 3 personnes qui n'ont pas nécessairement les qualités requises ici. 2. Hypothèses sur les données techniques Nous supposons qu'il existe un système de chiffrement à clé publique, résistant à une attaque adaptative à chiffré choisi et vérifiant les propriétés suivantes. Le système de chiffrement à clé publique est caractérisé par une famille de fonctions {fk, kei}, résistant à une attaque adaptative à chiffré choisi. Ce système cryptographique à clé publique a la propriété suivante. Si f est une fonction de la famille décrite ci-dessus, choisie avec la probabilité uniforme, alors le protocole suivant entre 2 calculateurs est un système de preuve interactive zero-knowledge. B choisit x avec la probabilité uniforme sur l'ensemble de définition def et calcule f(x) qu'il envoie à A. Dès réception, A calcule j1-l(x) et renvoie x à B. Si le x renvoyé à B est cohérent avec celui constitué par lui, alors 4 a B accepte, sinon B refuse. De tels systèmes cryptographiques existent [1]. Par ailleurs, nous avons besoin d'une autre propriété. Appelons toujours f la représentation binaire de f. c'est à dire la représentation de f à l'intérieur d'un calculateur. Supposons que cette représentation binaire s'écrive ul u2... un o, bien entendu, ui E {0, 1}. Choisissons alors avec la probabilité uniforme m bits de cette représentation, notés vl v2... v,, o m 3. Description du procédé Comme expliqué déjà plus haut, Alice veut acheter un objet dans le magasin virtuel de Bob et a Claire comme banque. Alice a à sa disposition un CD ROM, qui lui a été attribué par Claire, sur lequel figure la fonction f, comme celle décrite ci-dessus, et un générateur pseudo- aléatoire (GPA), lequel, étant donné le code secret ou code PIN d'Alice, pourra C générer exactement la séquence vl... y, et reconstituer ainsi la fonction f. Si, au contraire, un autre code que le code d'Alice est entré, le GPA engendre une suite différente de celle constituée pour former f, et on obtient alors une autre fonction, typiquement g*f, qui sera détectée comme une fonction non valide. Maintenant nous sommes au moment o Alice veut faire son achat dans le magasin de Bob. Elle insère son CD ROM dans son PC. Le PC 409 lui demande de taper son code PIN, ce qu'elle fait. Le GPA génère f. Puis un autre générateur aléatoire engendre un élément x avec la probabilité uniforme dans l'ensemble de définition de f Alice calcule alors flx) et envoie à Bob le quadruplet (Alice, Claire, x, f(x)). Dès que le calcul de f(x) est effectué, le PC d'Alice efface toute trace de f. Bob filtre et fait suivre à Claire le couple (Alice, "x)). Claire est la seule à connaître la fonction fo1 et la 15. & seule capable de la calculer. A la réception, Claire envoie à Bob Jf- (J(x)) = x et Bob vérifie que le x que lui renvoie Claire est bien compatible de celui que lui a envoyé Alice. Si tel est le cas, il accepte la transaction sinon il la refuse. Ici seul le procédé est décrit. On vérifierait que le protocole reste zero-knowledge même s'il y a 3 intervenants et non plus 2. Par ailleurs, si le principe est bon, en réalité il faudra prendre quelques précautions dont '7 C voilà un échantillon. Il faut se prémunir contre l'utilisation potentielle d'actes antérieurs à celui en cours, il faut donc utiliser des techniques de type "time stamping" [2]. Par ailleurs, aucune communication entre Alice et Claire ne doit être possible pendant la transaction. Il sera bon aussi d'ajouter un système de signature pour qu'Alice ne puisse pas répudier sa commande et enfin, lorsqu'Alice Tape son code PIN et lorsque son PC calcule f et f(x), il '? faut que le PC soit complètement isolé c'est à dire que personne ne doit pouvoir espionner ni le clavier d'Alice ni les calculs effectués dans son ordinateur à ce moment là. En d'autres termes, pour ce dernier point, il ne faut pas de virus dans l'ordinateur. Pour mémoire, Bob vérifiera que la banque, Claire, est bien une vraie banque, enregistrée au registre du commerce etc., avant d'accepter une quelconque transaction de sa part. On remarquera que ce problème peut être réglé par une autorité de certification d'identité ou encore par un abonnement à un service de chiffrement entre Bob et des banques partenaires. Dans un mode de réalisation particulier, c'est Bob qui générera avec la probabilité uniforme x et l'enverra à Alice. Cette dernière calculera alors le quadruplet comme précédemment (Alice, Claire, x, f(x)) et l'enverra à Bob. Le reste du protocole reste inchangé. S S On remarquera que les propriétés demandées sur f 'garantissent le fait que le protocole est un protocole de preuve interactive zero- knowledge. On remarquera aussi qu'à l'inverse de ce qui existe aujourd'hui, nous n'avons besoin que du PC et du CD ROM pour réaliser une telle transaction et en particulier pas d'une puissance de calcul extérieure au PC. * 4. Comparaison avec les systèmes à base de carte à puce Le seul problème que nous traitons ici est celui de la facilité, pour un fraudeur, de copier le CD ROM. En fait, nous commençons par remarquer que le clonage d'une carte à puce est S chose aisée et bon marché à l'échelle d'une organisation criminelle. Ici, nous ne faisons que rendre le clonage accessible au quidam. Or si un fraudeur obtient une copie illicite du CD ROM, il obtient f'. Les propriétés demandées à cette fonction sont suffisantes pour garantir que sa seule connaissance ne suffit pas à pouvoir s'en servir, ni même, ne donne une quelconque information sur f si le fraudeur venait à espionner des transactions valides 4 0 effectuées par le porteur licite du CD ROM. Si maintenant, le fraudeur tape un code différent de celui du porteur dans une tentative d'utilisation frauduleuse, alors il obtient, après fonctionnement du GPA, une fonction g#f Claire se retrouve alors à recevoir le couple (Alice, g(x)) et renvoie f-l (g(x)) * x. Ce que Bob va détecter et ce dernier n'acceptera donc pas la transaction. A l'inverse, si un fraudeur clone une carte à puce, le 5 ç code PIN de la carte étant inclus dans la puce, le fraudeur pourra aisément se servir de la carte clonée avec le bon code PIN. Nous voyons donc là un avantage substantiel de ce qui est proposé. Notre procédé résiste au clonage de ses supports physiques. * 5. Références [1] Jean-François Geneste, brevet n' 00 08307, n0 de publication 2 811 172. [2] Jean-François Geneste, A very smart smart cardforfighting against terrorism, Proc. ofthe IFIP SEC 2002 conférence, pp 547-558. [3] A.C. Yao, How to Generate andExchange Secrets, Proc. of FOCS 1986. IEEE, pp 162-167. * REVENDICAT IONS 1- Procédé d'identification caractérisé par l'interaction de 3 interlocuteurs, Alice, Bob et Claire, personnalisant des unités de calcul, Alice transmettant à Bob le quadruplet (Alice, Claire, x, t(x)) o x est un élément tiré avec la probabilité uniforme par Alice, f étant un algorithme de chiffrement à clé publique, Bob transmettant à Claire le couple (Alice, g(x)), Claire, la seule habilitée à la connaissance de f-1, calculant f- (f(x)) et renvoyant cette information à Bob, lequel vérifie si f-l (j(x)) est cohérent avec x et acceptant l'identification ou non selon cette cohérence. 2- Procédé d'identification selon la revendication I caractérisé par le fait que l'algorithme f est résistant à une attaque à chiffré choisi et vérifie le fait que le protocole consistant, pour 11o une entité B, à envoyer à une entité A une donnée f(x), x tiré avec la probabilité uniforme dans l'ensemble de définition de f, laquelle entité A renvoie f' (jf(x)) à l'entité B, laquelle entité B vérifie la cohérence entre x et l'information qu'elle reçoit de A et accepte selon qu'il y ait cohérence ou non entre l'information fournie par A et celle engendrée par B, est un protocole interactif zero-knowiedge. 3- Procédé d'identification selon la revendication i caractérisé par le fait que l'utilisateur a, au départ, à sa disposition, une fonction notée f ', caractérisée par le fait qu'elle est une représentation numérique de f pour laquelle on a forcé un certain nombre de digits à zéro, ces digits ayant initialement été tirés au hasard avec la probabilité uniforme, la connaissance de f' et d'un nombre polynômial de couples (x, f(x)) ne donnant aucune '. ;D information sur f au sens de la théorie de l'information de Yao. 4- Dispositif d'identification pour la mise en oeuvre du procédé selon la revendication I caractérisé par la présence d'une unité de calcul A pouvant recevoir et émettre des données, d'une unité mémoire pouvant être lue par l'unité de calcul A, l'unité de mémoire contenant la fonction f ' selon la revendication 3 et un générateur pseudo-aléatoire qui 2- génère à partir de f', exactement la fonction f si l'utilisateur lui donne comme graine le code secret dit code "PIN". 5- Procédé d'identification selon la revendication 3 caractérisé par la présence d'une fonction d'effaçage dans A qui élimine toute trace de f (seule reste la trace de f ') dans le dispositif une fois le calcul du message à envoyer effectué. X1-0 6- Procédé d'identification selon la revendication I caractérisé, dans un mode de réalisation particulier, par le fait que Bob tire avec la probabilité uniforme dans l'ensemble de définition de f une valeur x et lenvoie à Alice, laquelle Alice, comme dans la revendication 1 renvoie à Bob le quadruplet (Alice, Claire, x, f(x)), lequel filtre pour envoyer à Claire le couple (Alice, f(x)), laquelle Claire renvoie à Bob f-1 (f(x)), lequel vérifie la cohérence entre le x qu'il a créé et l'information qu'il reçoit de Claire et accepte la transaction selon cette cohérence.