Brevet FR2800220A1 — publié le 20010427

PROCEDE DE TRANSACTION ELECTRONIQUE SECURISEE DESCRIPTION Domaine technique La présente invention a pour objet un procédé de transaction électronique sécurisée. L'invention trouve une application particulière dans le paiement électronique. Elle met alors en oeuvre un support appelé porte-monnaie électronique, qui peut être au format d'une carte de crédit, avec ou sans contact. Mais tout autre objet ou support peut être utilisé (montre, téléphone mobile, etc...) Etat de la technique antérieure Le porte-monnaie électronique est un moyen de paiement destiné aux transactions de faible montant, souvent effectuées à distance. Il peut s'agir, par exemple, de transactions dans des secteurs comme la distribution automatique (boissons, journaux, ... ), les transports en commun (métro, bus, ...), les réseaux de communication (téléphone mobile, publiphone, Internet, ... ) , la diffusion de programmes de télévision à péage (décodeur), etc... La sécurité de ces transactions est obtenue par des techniques classiques en sécurité informatique reposant sur des fonctions cryptographiques servant à calculer et vérifier la preuve du débit du porte- monnaie électronique. Les algorithmes cryptographiques de type symétrique sont largement utilisés, en particulier dans le domaine des composants à carte, car ils sont faciles à mettre en oeuvre. La même clé secrète doit être partagée entre le porte-monnaie électronique, qui produit la preuve du débit et le terminal qui vérifie cette preuve. Le terminal ne pouvant mémoriser les clés secrètes de tous les porte-monnaie électroniques, possède en fait une seule clé de base, mère de toutes les clés filles (dites aussi clés diversifiées) introduites dans les porte-monnaie électroniques. La même clé doit donc être connue de tous les terminaux, ce qui peut poser des problèmes de sécurité. Une solution connue consiste à multiplier le nombre de clés de base, chaque porte-monnaie électronique ayant les clés filles des différentes clés de base, lesquelles sont dispersées aléatoirement dans les terminaux. Cependant, la capacité limitée des mémoires des composants utilisés dans les porte-monnaie électroniques (quelques kilo-octets), ne permet pas de stocker un grand nombre de clés. Si, par exemple, le système comprend une dizaine de clés de base, la découverte d'une seule clé affaiblit la sécurité d'un dixième. La présente invention a justement pour but de remédier à ces inconvénients. Exposé de l'invention Le procédé de l'invention consiste essentiellement à utiliser une valeur d'authentification, qui est une signature numérique portant sur un identifiant lié à l'objet à débiter. Cet identifiant peut être, par exemple, l'identité de l'objet, identité qui permet par ailleurs le calcul de la clé fille. D'autres informations comme, par exemple, les dates de début et de fin de validité de l'objet peuvent être associées à l'identité. La valeur d'authentification et la clé fille (ou diversifiée) sont calculées et introduites dans les objets par l'autorité qui les gère, avant toute transaction, à la personnalisation des supports. La valeur d'authentification est lue dans l'objet et vérifiée, en plus de la preuve du débit, à chaque transaction par le terminal, lequel possède la clé publique correspondant à la clé privée utilisée pour produire la valeur d'authentification. La preuve du débit ne sera reconnue que si le diversifiant est authentifié grâce à la valeur d'authentification, et s'il permet de vérifier, après diversification de la clé de base, le cryptogramme de la preuve du débit calculé par l'objet. Si l'une des clés bases venait à être découverte, le système ne serait pas pour autant compromis car il faudrait, en plus, extraire de différents objets un grand nombre de valeurs d'authentification. De plus, introduire un objet frauduleux dans le système nécessiterait l'obtention d'une valeur d'authentification relative à ce nouvel objet. Or, une telle valeur ne peut être obtenue sans la connaissance de la clé privée de l'autorité gérant les objets. Une fraude massive requérait donc, en plus de la connaissance de la clé de base, celle de la clé privée de l'émetteur des objets. De façon plus précise, l'invention a pour objet un procédé de transaction électronique sécurisée entre un objet (0) à débiter d'un certain montant (M) et un terminal (T) apte à commander ce débit et à vérifier que ce débit a bien été effectué, ce procédé étant caractérisé en ce que A) avant toute transaction - pour chaque objet défini par un certain identifiant (i), on calcule une valeur d'authentification (VA) qui est une signature numérique portant sur un identifiant de l'objet (i), cette signature étant produite en utilisant une clé privée (SAUT) et pouvant être vérifiée à partir d'une clé publique (FAUT) et on introduit ensuite cette valeur d'authentification (VA) dans l'objet (0), - on introduit dans chaque terminal (T) la clé publique d'authentification (PAUT), - pour chaque objet (0) on détermine une clé diversifiée (ki) à partir d'une clé de base (KM), en appliquant à l'identifiant (i) de l'objet un algorithme de diversification (fKM) utilisant la clé de base, et l'on introduit cette clé diversifiée (ki) dans l'objet (0), B) pour chaque transaction - l'objet à débiter (0) transmet au terminal (T) son identifiant (i) et la valeur d'authentification (VA), - le terminal (T) vérifie cette signature (VA) en utilisant la clé publique (PAUT), - le terminal (T) transmet à l'objet (0) le montant et les paramètres de la transaction (M,j,n), - l'objet (0) se débite dudit montant (M) et calcule une preuve de ce débit par une fonction cryptographique (Fk) ayant comme clé secrète sa clé diversifiée (ki) et appliquée au montant (M) et aux paramètres de la transaction et transmet cette preuve (Fk.(M,j,n)) au terminal (T), - le terminal (T) calcule la clé diversifiée de l'objet (ki) par une fonction cryptographique (fKM) utilisant comme clé secrète la clé de base (KM) et appliquée à l'identifiant (i) de l'objet (0) (ki=fKM(i)), et vérifie la preuve du débit (Fk;(M,j,n)) à l'aide de cette clé diversifiée. De préférence, l'identifiant (i) utilisé pour calculer la valeur d'authentification (VA) comprend notamment un numéro d'identification et éventuellement une période de validité (début et/ou fin). Dans une application particulière, l'objet est un support du type porte-monnaie électronique, la transaction étant un paiement électronique. Description de modes particuliers de mise en oeuvre Dans la description qui va suivre, on supposera que l'objet participant à la transaction est un porte- monnaie électronique, la transaction étant alors un paiement électronique. Mais cet exemple n'est en rien limitatif. On peut aussi bien mettre en oeuvre l'invention pour débiter des points de fidélité, des unités téléphoniques, etc... On note "PME" le porte-monnaie électronique et "T" le terminal. Par ailleurs - i est l'identifiant du PME (identité, début et fin de validité, etc...) - VA est la valeur d'authentification ; VA est une signature numérique calculée à la personnalisation de la carte, à partir d'une clé privée SAUT, qui est la clé privée de l'autorité gérant les PME, - PAUT est la clé publique de l'autorité ; elle est introduite dans les terminaux pour authentifier les identités des PME ; on a donc par hypothèse VA=SAUT (i) et PAUT (VA, i) =oui, - F, f sont deux fonctions cryptographiques à clés secrètes, - j est l'identifiant du terminal, - n est un élément anti-rejeux choisi par le terminal, - M est le montant de la transaction, - KM est une clé de base ; ki est la clé diversifiée du PME d'identifiant i. Le schéma suivant illustre un mode de mise en oeuvre du procédé de l'invention. Les flèches indiquent les transferts d'information entre le terminal T et le PME. REVENDICATIONS 1. Procédé de transaction électronique sécurisée entre un objet (0) à débiter d'un certain montant (M) et un terminal (T) apte à commander ce débit et à vérifier que ce débit a bien été effectué, ce procédé étant caractérisé en ce que A) avant toute transaction - pour chaque objet défini par un certain identifiant (i), on calcule une valeur d'authentification (VA) qui est une signature numérique portant sur un identifiant de l'objet (i), cette signature étant produite en utilisant une clé privée (SAUT) et peut être vérifiée à partir d'une clé publique (PAUT), et on introduit ensuite cette valeur d'authentification (VA) dans l'objet (0), - on introduit dans chaque terminal (T) la clé publique d'authentification (PAUT), - pour chaque objet (0) on détermine une clé diversifiée (ki) à partir d'une clé de base (KM), en appliquant à l'identifiant (i) de l'objet un algorithme de diversification (fKM) utilisant la clé de base, et l'on introduit cette clé diversifiée (ki) dans l'objet (0), B) pour chaque transaction - l'objet à débiter (0) transmet au terminal (T) son identifiant (i) et la valeur d'authentification (VA), - le terminal (T) effectue un calcul cryptographique appliqué à la valeur d'authentification (VA) en utilisant la clé publique d'authentification (PAUT(VA)=i), - le terminal (T) transmet à l'objet (0) le montant et les paramètres de la transaction (M,j,n), - l'objet (0) se débite dudit montant (M) et calcule une preuve de ce débit par une fonction cryptographique (Fk.) ayant comme clé secrète sa clé diversifiée (ki) et appliquée au montant (M) et aux paramètres de la transaction et transmet cette preuve (Fk (M,j,n)) au terminal (T), - le terminal (T) calcule la clé diversifiée de l'objet (ki) par une fonction cryptographique (fKM) utilisant comme clé secrète la clé de base (KM) et appliquée à l'identifiant (i) de l'objet (0) (ki=fKM(i)), et vérifie la preuve du débit (Fk;(M,j,n)) à l'aide de cette clé diversifiée. 2. Procédé selon la revendication 1, dans lequel l'identifiant (i) utilisé pour calculer la valeur d'authentification (VA) comprend notamment un numéro d'identification et éventuellement une période de validité (début et/ou fin). 3. Procédé selon la revendication 1, dans lequel l'objet (0) est un support du type porte-monnaie électronique, la transaction étant un paiement électronique.