Procédé de contrôle de transactions sécurisées mettant en œuvre un dispositif physique unique à bi-clés multiples, dispositif physique, système, et programme d'ordinateur correspondants.
1. Domaine de l'invention
Le domaine de l'invention est celui de la sécurisation des transactions électroniques, mettant notamment en œuvre des opérations d'authentification, de signature électronique et de paiement, effectuées par le biais de réseaux de communication tels que le réseau Internet par exemple.
Plus précisément, l'invention concerne une technique de contrôle de transactions sécurisées faisant intervenir un dispositif physique détenu par un utilisateur, et pouvant être utilisé pour réaliser des transactions avec plusieurs prestataires ou fournisseurs de biens ou de services distincts.
2. Solutions de l'art antérieur
Le fort développement des réseaux de communication, comme le réseau mondial Internet par exemple, et l'accroissement constant du nombre de transactions effectuées chaque jour sur ces réseaux, a fait naître un besoin sans cesse croissant de sécurisation des transactions. En effet, il est apparu nécessaire de reproduire sur ces réseaux informatiques ou de radiocommunication l'environnement de confiance entourant les échanges physiques par courrier classique ou par contact direct.
Selon l'art antérieur, un certificat permet notamment de vérifier la validité d'une clé cryptographique publique utilisée sur un réseau informatique, et est un message comprenant, au minimum, une clé publique, un identifiant de son détenteur, une période de validité, une identification d'une autorité de certification, ainsi qu'une signature cryptographique de ces différentes données, réalisée au moyen de la clé secrète de cette autorité de certification émettrice du certificat.
La lecture du certificat permet d'authentifier avec certitude l'émetteur d'un message reçu dans le cas de la signature et l'identifiant de celui qui s'authentifie dans le cas de l'authentification.
Pour plus d'information sur les certificats, on pourra se référer notamment au standard X.509, et plus particulièrement X.509v3 défini dans la RFC3280 (Request For Comment n°3280) publiée par l'IETF (Internet Engineering Task Force).
Lorsqu'un client souhaite pouvoir s'authentifier ou signer en utilisant n identifiants (Id1, Id 2,..., IdnJ de manière totalement indépendante, il utilise plusieurs paires de clés asymétriques (Si, Pi), où i=l,...,n. Les certificats Ci délivrés par une autorité de certification lient alors les différentes clés publiques Pi aux identifiants Idi, ainsi qu'à d'éventuelles autres informations.
On définit alors n triplets (Pi, Si, Ci) associés chacun à un identifiant Idi distinct, et constitués d'une clé publique Pi, d'une clé privée Si et d'un certificat Ci.
Lorsqu'il veut ensuite réaliser une transaction sécurisée avec le ilème prestataire, le client signe un aléa envoyé par le prestataire (on parle alors d'authentification) ou un message (on parle alors de signature électronique) grâce à sa clé secrète Si et en y associant le certificat correspondant Ci fourni par l'autorité de certification (qui peut, le cas échéant, être le prestataire lui-même), selon des protocoles standardisés.
On garantit ainsi la non-traçabilité du client, même s'il conclut des transactions avec différents prestataires.
Cependant, un inconvénient de la technique de l'art antérieur citée ci- dessus est qu'elle ne permet pas à une autorité de certification ou à un prestataire de s'assurer simplement, et à distance, que le certificat Ci qu'elle délivre ou qu'il utilise certifie une clé publique Pi correspondant à une clé privée Si stockée dans un dispositif physique donné.
En effet, le comportement d'un dispositif physique peut être totalement simulé par un logiciel, si bien qu'à distance, il est impossible pour le prestataire de savoir s'il correspond à un dispositif physique ou bien à une émulation logicielle d'un tel dispositif.
Or il existe plusieurs circonstances dans lesquelles il est important pour un prestataire d'avoir la preuve qu'il dialogue avec un véritable dispositif physique.
En effet, si la clé privée Si du dispositif physique reste stockée, conformément aux "bonnes pratiques" dans une zone secrète et inaccessible, le dispositif physique ne peut être clone, et constitue donc un objet unique, qui est seul capable de produire les authentifiants et les signatures correspondant à la clé publique Pi, donc au certificat Ci, et donc également à l'identifiant Idi par lequel le client est connu du ilème prestataire. Le possesseur du dispositif physique est alors le seul à pouvoir s'authentifier ou signer avec l'identifiant Idi vis-à-vis du ilème prestataire, ce qui constitue une propriété de non-répudiation forte, gage de sécurité pour le prestataire.
Une autre circonstance dans laquelle il est important pour le prestataire de pouvoir s'assurer qu'il a affaire à un dispositif physique donné est le cas où ce dispositif physique est le support d'un abonnement payant à un service fourni par le prestataire (par exemple, l'accès sur Internet aux articles de journaux publiés dans un quotidien). L'accès au service payant est conditionné, pour l'utilisateur, par l'ouverture d'une session auprès du prestataire, au cours de laquelle il s'authentifie au moyen de son dispositif physique.
Il est donc particulièrement important pour le prestataire de s'assurer que le client qui souhaite accéder au service est bien en possession du dispositif physique, afin d'éviter que plusieurs personnes puissent accéder (simultanément ou non) au service, en payant un seul abonnement, ce qui serait le cas si le support de l'abonnement pouvait être clone (par exemple si le support de l'abonnement était un ensemble "identifiant/mot de passe" ou une clé privée (même chiffrée) stockée sur un disque dur).
La demande de brevet français FR 96 08692 intitulée "Procédé de contrôle de transactions sécurisées indépendantes utilisant un dispositif physique unique", au nom du même demandeur que la présente demande de brevet, décrit plus particulièrement l'utilisation d'un dispositif physique pour réaliser une authentification auprès d'un ou plusieurs prestataires, avec lesquels l'utilisateur du dispositif souhaite effectuer une transaction.
Selon ce procédé, on met à la disposition des utilisateurs des dispositifs
physiques tels que des cartes à puce ou des "dongles" USB ("Universal Sériai Bus" pour "bus série universel"), qui sont classiquement associés à une paire de clés asymétriques (P0, S0) comprenant une clé privée S0 et une clé publique P0. La clé privée S0 est un élément électronique qui doit rester secret, et qui est donc stocké dans un espace protégé du dispositif physique, à l'abri de toute tentative d'intrusion. La clé publique P0 quant à elle peut être stockée en lecture libre dans le dispositif physique, ou être livrée à l'utilisateur sur un support externe, tel qu'une disquette, un CD-Rom, un document papier, ou un espace réservé d'un serveur de données. Cette paire de clés (S0, P0) est créée en usine, préalablement à la commercialisation et à la mise en service du dispositif.
Un tel dispositif physique comprend également classiquement des moyens de calcul permettant de mettre en œuvre un algorithme cryptographique asymétrique d'authentification et/ou de signature. Parmi ces algorithmes, on peut citer les algorithmes de type RSA (Rivest-Shamir-Adleman), DSA, GQ (Guillou- Quisquater) ou GPS par exemple.
L'utilisation de cet algorithme cryptographique asymétrique peut être assujettie à la présentation préalable d'un code porteur (ou code PESf pour "Personal Identification Number") initialisé lors d'une phase de (pré)personnalisation du dispositif physique, et géré selon des techniques classiques, qui ne font pas l'objet de la présente demande de brevet.
Le dispositif physique peut être ensuite vendu sous cette forme à un utilisateur, par un moyen de distribution indépendant de tout prestataire.
Pour pouvoir réaliser une transaction sécurisée (authentification, signature) avec un prestataire, l'utilisateur du dispositif physique, encore appelé client, doit se faire délivrer par le prestataire, ou par une autorité de certification indépendante, un certificat C1 liant la clé publique P0 du dispositif et un identifiant Id1 pertinent pour le prestataire (remarque : dans les systèmes où l'anonymat de l'utilisateur vis-à-vis du prestataire doit être préservé, l'identifiant Id1 est différent de l'identité civile de l'utilisateur).
Cette opération, appelée "enregistrement", peut être réalisée auprès de n
prestataires distincts, de sorte que le client se voit attribuer n certificats {Cl5C2,...,Cn} liant n identifiants (Id1, Id2,..., IdnJ (chacun d'entre eux étant pertinent pour un prestataire donné) à ladite clé publique P0.
3. Inconvénients de l'art antérieur
Selon la technique antérieure, la seule méthode permettant à un prestataire ou une autorité de certification de s'assurer que la transaction en cours se fait bien au moyen d'un dispositif physique donné repose sur la manipulation physique du dispositif par le prestataire ou l'autorité de certification. En effet, il peut alors lire lui-même la clé publique P0 ou Pi dans le dispositif, dans le cas où elle y est stockée ; dans le cas contraire, il peut faire signer un aléa au dispositif, au moyen de la clé secrète S0 ou Si, et vérifier ensuite le résultat de cette signature au moyen de la clé publique P0 ou Pi fournie par le client sur un support externe.
Cependant, un inconvénient de cette solution antérieure est qu'elle impose que le prestataire ou l'autorité de certification puissent opérer physiquement sur le dispositif, et exclut donc toute action à distance, ce qui s'avère très problématique, et même souvent impossible, dans le cadre de transactions effectuées sur les réseaux de communication modernes tels qu'Internet.
Par ailleurs, dans le cas du procédé selon la demande FR 96 08692, comme tous les certificats (C1, C2,..., Cn} utilisent la même clé publique P0, il est possible pour une entité mal- intentionnée de corréler les différents identifiants (Id1, Id2,..., IdnJ du client, ce qui constitue un inconvénient dans le cas où l'on souhaite garantir une non-traçabilité de l'utilisateur du dispositif physique.
4. Objectifs de l'invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de contrôle de transactions sécurisées mettant en œuvre un dispositif physique associé à plusieurs paires de clés asymétriques et susceptible d'être utilisé pour conclure des transactions avec plusieurs prestataires distincts, permettant de s'assurer qu'une transaction est bien effectuée au moyen d'un dispositif physique
donné, tout en garantissant une non-traçabilité de l'utilisateur par tout ou partie des prestataires.
Un autre objectif de l'invention est de proposer une telle technique qui soit simple à mettre en œuvre et introduise peu de complexité supplémentaire dans les dispositifs physiques utilisés et très peu de modifications dans les logiciels et serveur des prestataires ou des autorités de certification.
L'invention a encore pour objectif de fournir une telle technique qui soit fiable et permette d'obtenir une propriété de non répudiation forte, de façon à créer, pour le prestataire, un environnement de confiance.
L'invention a aussi pour objectif de proposer une telle technique qui permette, si besoin, d'assurer la traçabilité du client par une ou plusieurs autorités de certification.
Un objectif secondaire de l'invention est de proposer une telle technique qui permette aux prestataires d'accéder à des informations sur les caractéristiques
(marque, type, algorithmes utilisés, ...) du dispositif physique avec lequel ils dialoguent.
5. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de contrôle de transactions sécurisées mettant en œuvre un dispositif physique détenu par un utilisateur et portant au moins une première paire de clés asymétriques, comprenant une première clé de dispositif publique
(P0) et une première clé de dispositif privée (S0) correspondante, ladite première clé de dispositif privée (S0).
Selon l'invention, un tel procédé de contrôle comprend les étapes suivantes : préalablement à la mise en service dudit dispositif physique, une première étape de certification de ladite première clé de dispositif publique (P0) et d'informations (<info>) caractéristiques du dispositif physique par signature au moyen d'une première clé de certification (ST) d'une autorité de certification particulière (ACP), délivrant un certificat usine (C0), après
vérification que ladite clé de dispositif privée S0 est logée dans une zone inviolable dudit dispositif physique ; une étape de génération d'au moins une deuxième paire de clés asymétriques, comprenant une deuxième clé de dispositif publique (Pi) et une deuxième clé de dispositif privée (Si) (i=l,...), ladite deuxième clé de dispositif privée (Si) étant logée dans une zone inviolable dudit dispositif ; une deuxième étape de certification de ladite deuxième clé de dispositif publique (Pi) par signature au moyen de ladite première clé de dispositif privée (S0), délivrant un certificat provisoire (C'i) ; une première étape de vérification dudit certificat usine (C0) au moyen d'une deuxième clé de certification (Pτ) correspondant à ladite première clé de certification (ST) ; une deuxième étape de vérification dudit certificat provisoire (C'i) au moyen de ladite première clé de dispositif publique (P0) ; en cas de vérification positive desdits certificat usine (C0) et certificat provisoire (C'i), une étape de délivrance par un tiers de confiance d'un certificat de dispositif (Ci) correspondant à la signature au moins de ladite deuxième clé de dispositif publique (Pi), d'un identifiant (Idi) dudit utilisateur et desdites informations (<info>) caractéristiques du dispositif. Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de la sécurisation des transactions électroniques effectuées au moyen d'un dispositif physique de type "dongle" USB, carte à puces, etc., pour lesquelles on souhaite assurer la non-traçabilité de l'utilisateur. En effet, la technique de l'invention repose : d'une part, sur l'utilisation de plusieurs paires de clés asymétriques du dispositif, chaque paire étant associée à un identifiant distinct du client, et permettant d'assurer sa non-traçabilité à l'égard des différents prestataires avec lesquels il entre en relation ; et d'autre part sur l'intervention, pour introduire un degré supplémentaire de sécurisation, d'une autorité de certification particulière (ACP), à
laquelle les différents tiers de certification et les différents prestataires accordent toute leur confiance. Cette autorité de certification particulière délivre, préalablement à la mise en service du dispositif physique ("dongle" USB, carte à puce, ...), un certificat relatif à ce dispositif physique (et non, comme dans l'art antérieur, un certificat relatif à un identifiant de son détenteur), qui permet de vérifier que la première clé publique P0 du dispositif physique correspond bien à une première clé privée S0 stockée, conformément aux bonnes pratiques, dans une zone secrète du dispositif. L'ACP certifie donc le dispositif physique. Un certificat provisoire C'i, produit (généralement par le dispositif lui- même) grâce à la clé secrète S0 dont la clé publique P0 correspondante est certifiée par l'ACP, permet quant à lui de garantir qu'une deuxième clé publique Pi du dispositif physique correspond bien à une deuxième clé privée de dispositif Si également stockée, conformément aux bonnes pratiques, dans une zone secrète et inviolable du dispositif. Cette clé publique de dispositif Pi est celle qui est utilisée par le client pour réaliser une transaction avec un ilème prestataire.
La vérification de la validité de ces deux certificats, usine et provisoire, est une garantie, pour le tiers de confiance, qu'il se trouve, même à distance, en présence d'un véritable dispositif physique, et non d'un équipement (ordinateur, PDA, etc.) qui en reproduirait frauduleusement le comportement.
Enfin, la vérification de la validité du certificat de dispositif Ci et l'examen du champ <info> est une garantie, pour le prestataire, qu'il se trouve, même à distance, en présence d'un véritable dispositif physique, et non d'un équipement (ordinateur, PDA, etc.) qui en reproduirait frauduleusement le comportement.
On construit ainsi une chaîne de confiance, entre un prestataire qui accorde sa confiance à un tiers de confiance vérifiant les certificats usine et provisoire, et qui fait lui-même toute confiance à l'autorité de certification particulière émettant le certificat usine C0. Ainsi, le procédé de contrôle de transactions selon l'invention utilise l'engagement de l'ACP pour assurer à un prestataire qu'un client qui souhaite engager une transaction sécurisée possède bien un dispositif
physique, lequel a été certifié par l'ACP. On se distingue ainsi fortement de l'art antérieur, qui n'assure pas à distance que l'utilisateur possède un dispositif physique. En effet, les techniques de contrôle selon l'art antérieur assurent seulement l'identification d'un utilisateur, si besoin à l'aide d'un enchaînement d'authentifications et de certifications basé sur l'utilisation d'une succession d'autorités de certification, mais ayant toujours pour unique conséquence la certification de l'identité d'un utilisateur. Le procédé selon l'invention comprend, outre la certification de l'identité de l'utilisateur, la certification préalable du dispositif physique subséquemment détenu par cet utilisateur. Cela permet d'assurer à un prestataire, éventuellement à distance, que l'utilisateur qui s'authentifie auprès de lui possède un dispositif physique. Seule cette assurance permet la poursuite de l'établissement du processus de contrôle de transaction.
De plus, la génération, à la volée, par le dispositif physique, d'autres paires de clés asymétriques correspondant à un besoin d'établissement d'une transaction sécurisée entre un prestataire et un utilisateur assure la non répudiation des clés générées, du fait de l'utilisation de la clé secrète S0 pour certifier cette paire de clés. En effet, S0 ne pouvant être substituée par une autre clé du fait de la certification par l'ACP de P0, les certificats qui résultent de la signature par S0 des paires de clés asymétriques ne peuvent pas être répudiés.
Avantageusement, un tel procédé de contrôle est mis en œuvre pour au moins deux deuxièmes paires de clés asymétriques dudit dispositif, associées chacune à un identifiant (Idi) dudit utilisateur, et chacun desdits certificats de dispositif (Ci) délivrés lors desdites étapes de délivrance lie l'une desdites deuxièmes clés de dispositif publiques (Pi) audit identifiant (Idi) associé.
Le dispositif physique peut ainsi être utilisé lors de transactions avec plusieurs prestataires, auprès de chacun desquels l'utilisateur est identifié par un identifiant Idi distinct.
Préférentiellement, lesdites informations caractéristiques dudit dispositif physique appartiennent au groupe comprenant les informations suivantes :
- type de dispositif physique (carte à puce, « dongle » USB, etc.) ;
- identification du fabricant dudit dispositif physique ;
- type d'algorithme cryptographique utilisé par ledit dispositif physique RSA, GQ, etc.) ;
- numéro de série dudit dispositif physique.
Selon une caractéristique avantageuse de l'invention, lors d'une transaction, ledit prestataire consulte lesdites informations (<info>) caractéristiques dudit certificat de dispositif (Ci).
De manière préférentielle, un tel procédé de contrôle comprend une phase de personnalisation dudit dispositif physique, au cours de laquelle ladite première paire de clés asymétriques, ledit certificat usine (C0), et lesdites informations (<info>) dudit certificat usine sont associées de manière unique audit dispositif physique, de façon à réduire les risques de transactions frauduleuses. Cette phase de personnalisation peut être faite par exemple en usine, avant commercialisation du dispositif.
De façon avantageuse, lesdits certificat usine (C0) et certificat provisoire (C'i) sont stockés dans au moins une zone de mémoire en lecture libre dudit dispositif physique. Ils sont ainsi aisément accessibles pour le prestataire ou le tiers de confiance.
Préférentiellement, l'une au moins desdites première et deuxième étapes de vérification est effectuée par ledit prestataire.
Selon une première variante avantageuse, ladite première clé de certification (ST) est une clé privée et ladite deuxième clé de certification (Pτ) est une clé publique.
Selon une deuxième variante avantageuse, ladite autorité de certification particulière utilise une clé symétrique (K), de sorte que ladite première clé de certification (ST) et ladite deuxième clé de certification (Pτ) sont identiques.
L'invention concerne aussi un dispositif physique détenu par un utilisateur et destiné à être utilisé lors de transactions sécurisées, ledit dispositif physique portant au moins une première paire de clés asymétriques, comprenant une première clé de dispositif publique (P0) et une première clé de dispositif privée
(S0) correspondante.
Selon l'invention, un tel dispositif porte également un certificat usine (C0), délivré après vérification que ladite clé de dispositif privée S0 est logée dans une zone inviolable dudit dispositif physique), correspondant à la signature de ladite première clé de dispositif publique (P0) et d'informations (<info>) caractéristiques du dispositif physique par une première clé de certification (ST) d'une autorité de certification particulière (ACP), au moins une deuxième paire de clés asymétriques comprenant une deuxième clé de dispositif publique (Pi) et une deuxième clé de dispositif privée (Si) correspondante, ladite première clé de dispositif privée (S0) étant logée dans au moins une zone inviolable dudit dispositif, et un certificat provisoire (Ci) correspondant à la signature de ladite deuxième clé de dispositif publique (Pi) par ladite première clé de dispositif privée (S0). En outre, ledit certificat usine (C0) est stocké dans ledit dispositif physique préalablement à sa mise en service.
L'invention concerne encore un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, qui comprend des instructions de code de programme pour la mise en œuvre d'au moins une étape du procédé de contrôle de transactions sécurisées tel que décrit précédemment.
L'invention concerne également un système de contrôle de transactions sécurisées sur un réseau de communication, mettant en œuvre un dispositif physique détenu par un utilisateur et portant au moins une première paire de clés asymétriques, comprenant une première clé de dispositif publique (P0) et une première clé de dispositif privée (S0) correspondante.
Selon l'invention, un tel système de contrôle comprend au moins : un serveur de certification particulière relié audit réseau, délivrant audit dispositif physique, après vérification que ladite clé de dispositif privée S0 est logée dans une zone inviolable dudit dispositif physique et préalablement à sa mise en service, un certificat usine (C0) correspondant à la signature de ladite première clé de dispositif publique (P0) et
d'informations (<info>) caractéristiques du dispositif physique par une première clé de certification (ST) dudit serveur de certification particulière (ACP) ; un tiers de confiance (44) vérifiant ledit certificat usine (C0) au moyen d'une deuxième clé de certification (Pτ) correspondant à ladite première clé de certification (ST), et un certificat provisoire (Ci) stocké dans ledit dispositif physique, correspondant à la signature d'une deuxième clé de dispositif publique (Pi) par ladite première clé de dispositif privée (S0), au moyen de ladite première clé de dispositif publique (P0), et délivrant audit utilisateur, en cas de vérification positive, un certificat de dispositif (Ci) correspondant à la signature par ledit tiers de confiance (44) au moins de ladite deuxième clé de dispositif publique (Pi), d'un identifiant (Idi) dudit utilisateur et des informations (<info>) caractéristiques du dispositif, ledit tiers de confiance étant relié audit réseau. 6. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1 illustre le principe de la certification, par une autorité de certification particulière, de la clé publique d'un dispositif physique, lors d'une phase de personnalisation du dispositif ; la figure 2 présente le principe de la création d'une deuxième paire de clés asymétriques (Pi, Si), ainsi que d'un certificat provisoire Ci dans un dispositif physique ; la figure 3 illustre un synoptique des différentes étapes mises en œuvre dans le procédé de contrôle de transactions sécurisées de l'invention ; la figure 4 décrit les différents échanges entre un utilisateur et différents serveurs de l'invention, via un réseau de communication, dans le cadre du procédé de la figure 3.
7. Description d'un mode de réalisation de l'invention
Le principe général de l'invention repose sur la certification des clés publiques P0 et Pi d'un dispositif physique, permettant de garantir à un prestataire, lors d'une transaction sécurisée (éventuellement à distance), qu'il traite bien avec un véritable dispositif physique, dans lequel sont stockées les clés privées S0 et Si correspondantes, tout en assurant la non-traçabilité, par le prestataire, de l'utilisateur de ce dispositif.
On présente, en relation avec la figure 1, un mode de réalisation de la certification de la clé publique P0 d'un dispositif physique 13 donné, préalablement à sa mise en service. Une telle certification peut avoir lieu lors d'une phase standard de personnalisation en usine du dispositif physique 13, au cours de laquelle on équipe le dispositif d'un quadruplet (P0, S0, C0 et <info>).
Une autorité de certification particulière, ou ACP, 10 possède une paire de clés asymétriques (PT, ST) comprenant une clé publique PT et une clé privée ST conservée dans une zone secrète et inaccessible 101. Une telle ACP 10 est par exemple le fabricant du dispositif physique : la zone secrète 101 dans laquelle est mémorisée la clé privée ST est alors un dispositif physique particulier (une carte à puce par exemple) détenu par le fabricant, ou une zone mémoire protégée à accès restreint de l'un de ses équipements informatiques.
La clé publique PT quant à elle est publiée par l'ACP 10, ou fournie à la demande à des prestataires potentiels susceptibles d'en avoir besoin (i.e. aux tiers de confiance susceptibles de réaliser des transactions avec le détenteur du dispositif physique 13).
Lors de la fabrication du dispositif physique 13, on y enregistre une paire de clés asymétriques (P0, S0) comprenant une clé publique P0, mémorisée dans une zone 131 accessible en lecture du dispositif 13, et une clé privée S0 mémorisée dans une zone protégée 132 de ce dispositif 13. Cette zone protégée, ou inviolable, 132 est conçue de façon à empêcher la lecture de la clé privée S0 et à résister à toute tentative d'intrusion logicielle ou matérielle. En effet, l'usage de la clé privée S0 par le dispositif 13 est fortement contraint : notamment, comme
expliqué ci-dessous, le dispositif 13 ne peut pas utiliser cette clé privée de dispositif S0 pour produire des signatures de données externes. En variante, la clé publique P0 peut également être communiquée au détenteur du dispositif physique 13 sur un support externe, indépendant du dispositif lui-même.
Comme indiqué ci-dessus, si l'ACP 10 est le fabricant du dispositif physique 13, les opérations illustrées sur la figure 1 sont réalisées avant la commercialisation du dispositif physique, en usine, lors d'une phase de personnalisation. S'il s'agit d'une autorité de certification indépendante du fabricant, ces opérations peuvent être réalisées en sortie des chaînes de fabrication, avant la distribution des dispositifs physiques aux utilisateurs finaux.
Plus précisément, le dispositif physique 13 communique l i a l'ACP 10 sa clé publique de dispositif P0. Le certificat usine C0 délivré par l'ACP 10 peut correspondre à la signature par l'ACP 10 de la clé publique de dispositif P0 et du champ <info>, qui est un champ regroupant un ensemble d'informations caractéristiques du dispositif 13 (par exemple, le nom du fabricant, le type du dispositif, la nature des algorithmes cryptographiques de signature utilisés par le dispositif, etc.).
Cette signature 12 constitue un certificat usine C0=A(Sτ,Po<info>) (où A désigne un algorithme cryptographique de signature, de type RSA par exemple) qui, comme la clé publique de dispositif P0 pourra être inscrit dans le dispositif physique 13, dans une zone en lecture libre 131, ou fourni à l'utilisateur du dispositif 13 sur un support externe (disquette, CD-Rom, document papier, ...).
L'ACP certifie ainsi initialement que la clé privée de dispositif S0 est logée dans un dispositif physique 13 de caractéristiques données par le champ <info>. Comme la clé publique de dispositif P0 et le certificat usine C0, le champ <info> peut être stocké en lecture libre dans la zone référencée 131 du dispositif 13, ou sur un support externe, ou simplement être communiqué aux prestataires ou tiers de confiance qui pourraient en avoir besoin.
L'ACP 10 (fabricant ou tiers de confiance) s'engage bien sûr à ne produire de tels certificats usine C0 (i.e. de telles signatures avec sa clé privée ST) que pour
des clés publiques P0 correspondant à des clés privées stockées dans un dispositif physique d'un type donné.
Les opérations de certification de la figure 1 peuvent également, dans une variante de réalisation de l'invention, être mutualisées pour plusieurs fabricants de dispositifs physiques de types différents. Dans ce cas, l'ACP 10 est un tiers de confiance indépendant de l'ensemble des fabricants, qui détient la clé privée ST et qui, pour produire le certificat usine C0 d'un dispositif physique 13 donné, signe, avec sa clé privée de certification ST, le couple (P0, <info>). Les informations caractéristiques contenues dans le champ <info> permettent de renseigner par exemple sur la nature du dispositif 13, à savoir un "dongle" USB, une carte à puce, etc. Il peut également s'agir de la référence produit utilisée par le fabricant pour désigner l'un des dispositifs qu'il construit.
De même, en variante, d'autres informations pertinentes pour l'utilisation du dispositif physique 13 peuvent être signées dans le certificat usine C0, telles que le nom du fabricant (<nom du fabricant), le type d'algorithme cryptographique utilisé (<type d'algorithme>), le numéro de série du dispositif, etc.
Ainsi, lors d'une phase ultérieure de vérification du certificat usine C0 par un prestataire (décrite ci-dessous plus en détail en relation avec les figures 3 et 4), ce dernier sera assuré que la clé publique de dispositif P0 correspond à une clé secrète S0 stockée dans un dispositif 13 de type <info>, fabriqué par <nom du fabricant^ et utilisant l'algorithme cryptographique <type d'algorithme>. Cette assurance résulte de la confiance qu'a le prestataire en l'autorité de certification particulière 10.
On peut également imaginer, en variante des opérations illustrées par la figure 1, que PT=ST=K soit une clé symétrique.
Dans ce cas, la clé K peut être partagée entre le fabricant du dispositif physique 13 et un (ou quelques rares) tiers de confiance, dont le fabricant sait qu'ils garderont cette clé K secrète ; dans ce cas, seuls ces tiers ou le fabricant lui- même pourront vérifier le certificat.
On peut aussi envisager que la clé K ne soit utilisée que par une ACP 10 indépendante du fabricant, qui signe le certificat usine C0 à clé symétrique, uniquement sur demande du fabricant de dispositifs physiques 13. De même, cette ACP 10 sera seule à pouvoir vérifier les certificats usine C0, sur requête des prestataires souhaitant réaliser une transaction avec les dispositifs physiques 13 associés. A nouveau, cette ACP 10 peut bien sûr être le fabricant lui-même.
Le quadruplet (P0, S0, C0, <info>) peut être caractéristique d'un dispositif physique 13 donné, ou être le même pour tous les dispositifs physiques 13 ayant des caractéristiques identiques décrites dans le champ <info>. Dans ce dernier cas, il n'est pas nécessaire de faire appel à l'ACP 10 lors de la personnalisation du dispositif 13, car le quadruplet (P0, S0, C0, <info>) est constitué une et une seule fois pour une série de dispositifs donnés.
Le dispositif physique 13 dans lequel le certificat C0 a été enregistré par l'ACP 10 est vendu par un moyen de distribution indépendant de tout prestataire, par exemple dans une grande surface ou chez un revendeur agréé.
Il peut alors être utilisé pour réaliser des transactions sécurisées avec un prestataire, ce qui nécessite la mise en œuvre d'une phase d'enregistrement, décrite plus en détail en relation avec la figure 2.
Un tel enregistrement comprend : une première opération de création d'une deuxième paire de clés asymétriques de dispositif (Pi, Si), qui seront utilisées lors des échanges avec le prestataire n°i ; une deuxième opération de délivrance d'un certificat de dispositif Ci par un tiers de confiance.
En reprenant les notations et références numériques de la figure 1, le dispositif physique 13 comprend, dans une zone de mémoire en lecture libre 1311, une première clé publique de dispositif P0, un certificat usine C0, et éventuellement un champ <info> qui n'a pas été représenté sur la figure 2. Il comprend également, dans une zone de mémoire inviolable 1321, une première clé secrète de dispositif S0.
Afin d'assurer la non-traçabilité de l'utilisateur du dispositif 13 lors, le cas échéant, de ses différents échanges avec des prestataires, il est nécessaire, dans un tel cas, de stocker dans le dispositif 13 d'autres paires de clés asymétriques (Pi, Si), qu'il pourra utiliser pour réaliser des signatures et s'authentifier auprès d'un ilème prestataire.
Deux solutions peuvent être envisagées pour la création de ces paires de clés asymétriques supplémentaires (Pi, Si).
Dans une première variante de réalisation, ce couple (Pi, Si) est créé par le dispositif physique 13 lui-même. En effet, de nombreux dispositifs cryptographiques sont capables d'auto-générer leurs clés, selon une technique classiquement appelée "on board key génération". C'est une APDU ("Application Protocol Data Unit" pour "unité de données de protocole d'application") qui déclenche le processus de génération des clés (Pi, Si). La clé publique de dispositif Pi est ensuite logée dans une zone 1312 du dispositif physique 13 accessible en lecture, et la clé privée de dispositif Si est logée dans une zone 1322 inviolable, présentant des conditions d'accès spécifiques. En effet, une telle zone inviolable 1322 n'est accessible ni en lecture ni en écriture, et seul un algorithme cryptographique de signature adapté peut utiliser cette clé secrète de dispositif Si. En outre, cette utilisation est assujettie à la présentation préalable correcte d'un code porteur (ou code PIN).
Selon l'invention, dans cette première variante de réalisation, l'APDU de génération de clés (Pi, Si) implémentée dans le dispositif physique 13 réalise également une opération supplémentaire, consistant à signer la deuxième clé publique de dispositif Pi avec la première clé privée de dispositif S0 logée dans la zone inviolable 1321. Cette signature constitue un certificat provisoire C'i=A(S0,Pi) (où A est un algorithme cryptographique de signature, par exemple de type RSA ou GQ), que l'on stocke également dans une zone du dispositif physique 13 accessible en lecture, par exemple la zone 1312 dans laquelle est déjà stockée la clé publique de dispositif Pi.
Dans une deuxième variante de réalisation, le couple de clés asymétriques
supplémentaires (Pi, Si) est créé en dehors du dispositif physique 13, par exemple par un ordinateur équipé d'un module de sécurité. On implémente alors dans le dispositif physique 13 une APDU spécifique, qui permet : d'introduire la deuxième clé privée de dispositif Si dans la zone inviolable
1322, par exemple en réalisant un transport chiffré de cette clé Si entre le module de sécurité de l'ordinateur l'ayant créée et le dispositif physique
13 ; d'écrire la deuxième clé publique de dispositif Pi dans une zone 1312 accessible en lecture du dispositif physique ; de réaliser la signature de la deuxième clé publique de dispositif Pi au moyen de la première clé privée de dispositif S0, et de stocker le certificat provisoire Ci ainsi obtenu dans une zone 1312 accessible en lecture du dispositif physique.
Que la paire de clés (Pi, Si) ait été créée dans ou hors du dispositif physique 13, celui-ci dispose à l'issue de cette opération d'un triplet (Pi, Si, Ci), dont les différents éléments sont stockés dans des zones du dispositif 13 aux conditions d'accès adéquates.
Une telle opération de génération d'un triplet (Pi, Si, Ci) peut être réalisée à plusieurs reprises, pour équiper le dispositif physique 13 d'une pluralité de tels triplets, et donc autoriser l'utilisateur à réaliser des transactions sécurisées avec plusieurs prestataires distincts, tout en assurant sa non-traçabilité.
On notera que, dans chacune de ces deux variantes de réalisation, les zones 1311 et 1312 accessibles en lecture peuvent ou non être confondues. Il en est de même pour les zones inviolables à accès restreint 1321 et 1322.
La délivrance du certificat provisoire Ci doit constituer la seule utilisation possible de la première clé privée de dispositif S0. En d'autres termes, selon l'invention, la première clé privée de dispositif S0 ne peut être utilisée que pour signer, au sein d'une seule APDU, des clés publiques Pi, qu'elles aient été générées par le dispositif physique ou introduites dans celui-ci sous la forme d'une paire de clés asymétriques (Pi, Si).
On présente maintenant, en relation avec les figures 3 et 4, la façon dont les certificats usine C0 et provisoire C'i sont utilisés pour la délivrance à l'utilisateur 40 du dispositif physique 13 d'un certificat de dispositif Ci.
Le dispositif physique 13 a été acquis par un utilisateur 40, qui souhaite l'utiliser pour accéder aux services proposés par un prestataire 43, via un réseau de communication 42, par exemple le réseau mondial Internet. Un tel prestataire 43 peut être par exemple un prestataire de services (accès à un service météo, ou à un service de géolocalisation par exemple) ou un vendeur de biens (commerçant sur Internet par exemple). Le dispositif physique 13 sert par exemple de support à un abonnement payant souscrit par l'utilisateur 40 auprès du prestataire 43 (par exemple un abonnement à un horoscope quotidien publié sur Internet).
Pour pouvoir accéder aux services du prestataire 43, l'utilisateur 40 doit s'enregistrer auprès d'un tiers de confiance, c'est-à-dire se faire délivrer un certificat de dispositif Ci, qui contient la signature par le tiers de confiance 44 de la clé publique de dispositif Pi, d'un identifiant Idi de l'utilisateur, ainsi que d'autres informations, telles que la date de validité du certificat, etc. Pour préserver l'anonymat de l'utilisateur 40, l'identifiant Idi peut différer de l'identité civile de l'utilisateur. On notera que le problème de la correspondance entre l'identifiant Idi et l'identité réelle de l'utilisateur ne fait pas l'objet de la présente invention et ne sera donc pas décrit ici plus en détail. Pour une solution à ce problème, on pourra se référer par exemple au document de brevet français FR 04 08992 au nom des mêmes déposants que la présente demande de brevet.
Pour pouvoir délivrer E35 le certificat de dispositif Ci, le tiers de confiance 44, qui peut le cas échéant être le prestataire 43, doit disposer des éléments 31 suivants : les clés publiques de dispositif P0 et Pi ; les certificats usine C0 et provisoire C'i ; un identifiant Idi de l'utilisateur 40 ; des informations caractéristiques <info> du dispositif physique 13.
Le tiers de confiance 44 doit également disposer d'autres informations
requises selon le standard X509 cité précédemment, telles que la date de validité du certificat de dispositif Ci à délivrer, certaines informations relatives à l'utilisation des différentes clés, etc.
La façon dont l'autorité de certification acquiert la connaissance de ces différents éléments 31 ne fait pas l'objet de la présente demande de brevet et ne sera donc pas décrite ici plus en détail. On suppose dans la suite que l'autorité de certification est bien en possession de ces différentes informations 31.
Outre les vérifications standards imposées par la norme X509 que l'on ne décrit pas dans ce document, le tiers de confiance procède à différentes vérifications complémentaires dans le cadre de l'invention.
Selon l'invention, le tiers de confiance procède à la vérification E33 du certificat usine C0, au moyen de la clé publique PT de l'autorité de certification particulière 10, afin de vérifier que la clé publique de dispositif P0 qui a été transmise au prestataire 43 correspond bien à une clé secrète S0 stockée dans un dispositif physique décrit par le champ <info>. Une telle opération E33 consiste à vérifier que la signature de la clé publique de dispositif P0 et du champ <info> contenue dans le certificat usine C0 est exacte.
En cas de vérification négative, c'est-à-dire si le certificat usine C0 ne correspond pas à la signature de la clé publique P0 du dispositif physique et du champ <info> par la clé privée de certification ST de l'ACP 10, le tiers de confiance 44 peut mettre fin E36 à la transaction, et refuser la délivrance du certificat de dispositif Ci.
En cas de vérification positive en revanche, le tiers de confiance acquiert la certitude que la clé publique P0 correspond bien à une clé privée S0 logée dans un dispositif physique 13 de caractéristiques <info>, et peut alors procéder à la vérification E34 du certificat provisoire Ci, au moyen de la première clé publique de dispositif P0.
Si la signature Ci de la deuxième clé publique de dispositif Pi n'est pas exacte, le tiers de confiance 44 peut mettre fin E36 aux échanges avec l'utilisateur 40.
Si en revanche la signature C'i de la deuxième clé publique de dispositif Pi est exacte, le tiers de confiance 44 acquiert la certitude (dans la mesure où il fait confiance à l'ACP 10) que la clé publique de dispositif Pi correspond bien à une clé privée de dispositif Si stockée sur un dispositif physique 13 dont les caractéristiques sont précisées dans le champ <info>, et il peut donc accéder à la demande de l'utilisateur 40, en procédant à la délivrance E35 du certificat de dispositif Ci.
Pour ce faire, le tiers de confiance 44 délivre à l'utilisateur 40 un certificat de dispositif Ci correspondant à la signature de la clé publique de dispositif Pi, de l'identifiant Idi et d'informations caractéristiques du dispositif physique.
Selon un mode de réalisation, lorsqu'un utilisateur 40 souhaite s'enregistrer auprès d'un prestataire 43 pour pouvoir réaliser des transactions sécurisées avec ce dernier, les différentes vérifications E33 à E34 décrites ci-dessus en relation avec la figure 3 peuvent être effectuées par le prestataire 43 lui-même ou par un tiers de confiance 44 (AC), également connecté au réseau 42. Dans ce cas, le prestataire 43 transmet les deux certificats usine C0 et provisoire C'i au tiers de confiance 44 par le biais du réseau 42. Le serveur de certification 45 de l'ACP 10, qui a créé le certificat usine C0 du dispositif physique 13, communique ou a communiqué sa clé publique PT au serveur de vérification ou AC 44.
Le tiers de confiance 44 n'a plus qu'à utiliser, d'une part, la clé publique de certification Pτ du serveur de certification 45 pour vérifier E33 l'authenticité du certificat usine C0, et d'autre part, la clé publique de dispositif P0 du dispositif 13 pour vérifier E34 l'authenticité du certificat provisoire CV
La vérification du certificat usine C0 peut être réalisée par un tiers de confiance 44 ou par l'ACP. Ce dernier cas est particulièrement pertinent dans le cas d'une utilisation d'une clé symétrique K
Lorsque le tiers de confiance 44 a émis le certificat de dispositif Ci, ce dernier est transmis au terminal de communication 41 de l'utilisateur par le biais du réseau de communication 42 auquel est connecté le serveur d'enregistrement du prestataire 43.
De manière générale, un utilisateur 40 peut procéder à un enregistrement E35 auprès d'un ou de plusieurs tiers de confiance différents, qui délivreront chacun un certificat de dispositif distinct Ci liant la clé publique Pi du dispositif physique 13 à un identifiant Idi de l'utilisateur 40, pertinent pour le tiers de confiance considéré.
Lorsque l'enregistrement E35 de l'utilisateur 40 auprès du tiers de confiance a été effectué, l'utilisateur peut alors commencer à réaliser des transactions sécurisées avec le prestataire 43 : pour ce faire, il utilise son dispositif physique 13 pour signer un aléa fourni par le prestataire (on parle alors d'authentification) ou un message (on parle alors de signature) grâce à sa clé secrète de dispositif Si, et en y associant le certificat de dispositif correspondant Ci, selon des protocoles standards qui ne font pas l'objet de la présente demande de brevet et ne sont donc pas décrits ici plus en détail.
En d'autres termes, l'invention ne modifie pas le mode d'utilisation d'un dispositif physique pour réaliser une authentification, une signature, ou même faire du chiffrement. Cependant, grâce à l'invention, les prestataires qui ont besoin du certificat de dispositif Ci (par exemple pour vérifier une authentification, ou une signature, ou pour chiffrer un message) ont la possibilité, s'ils le souhaitent, de consulter le champ <info> placé dans une extension du certificat de dispositif Ci. Le contenu de ce champ <info> donne l'assurance aux prestataires 43 qui dialoguent avec un utilisateur 40 que celui-ci est bien en possession d'un dispositif physique 13 de caractéristiques contenues dans le champ <info>.
Comme déjà indiqué précédemment dans ce document, le quadruplet (P0, S0, C0, <info>) peut être le même pour tous les dispositifs physiques d'un même type donné, décrit dans le champ <info> (par exemple pour tous les "dongles" USB produits par un même fabricant), de sorte que tous ces dispositifs portent la même clé privée de dispositif S0. A l'inverse, le quadruplet (P0, S0, C0, <info>) peut être spécifique à un dispositif physique donné. Cette deuxième solution est plus avantageuse en termes de sécurité, et permet de mieux contrer d'éventuelles tentatives de fraudes des utilisateurs.
En effet, si tous les dispositifs physiques d'un type donné présentent le même quadruplet (P0, S0, C0, <info>), et si, par malheur, un fraudeur parvient à extraire de l'un des dispositifs (par attaque physique, DPA "Differential Power Analysis" ou attaque par canaux cachés, etc.) la clé privée de dispositif S0, l'utilisation de tous ces dispositifs physiques se trouve remise en cause. En effet, le fraudeur peut alors construire lui-même un dispositif frauduleux, à partir de la clé privée de dispositif S0, ou l'émuler sous forme logicielle. Le tiers de confiance n'a alors plus aucun moyen pour déterminer s'il se trouve en présence d'un véritable dispositif physique, acquis dans des conditions honnêtes, ou du dispositif frauduleux, ce qui s'avère particulièrement problématique.
Si en revanche le quadruplet (P0, S0, C0, <info>) est spécifique à chaque dispositif, il reste toujours possible pour un fraudeur de s'emparer frauduleusement de la clé privée de dispositif S0, mais cette fraude peut être contrée en instaurant une ou plusieurs des mesures suivantes : le tiers de confiance qui délivre les certificats de dispositif Ci met en opposition le quadruplet (P0, S0, C0, <info>) frauduleux, et s'abstient de délivrer des certificats de dispositif Ci aux utilisateurs présentant ce quadruplet lors de la phase d'enregistrement ; le tiers de confiance communique la liste du ou des quadruplets frauduleux qu'elle a pu détecter à l'ACP 10, qui peut alors la publier ou la mettre à disposition de tous les tiers de confiance ou prestataires qui lui font confiance, de façon qu'aucun d'entre eux ne délivre plus de certificats de dispositif Ci aux utilisateurs présentant de tels quadruplets ; enfin, chaque tiers de confiance met en opposition l'ensemble des certificats de dispositif Ci qui ont déjà été délivrés à partir d'un quadruplet identifié comme frauduleux, afin d'empêcher que de tels certificats de dispositif Ci puissent être utilisés pour effectuer de nouvelles transactions. L'invention permet donc la réalisation de transactions sécurisées entre un utilisateur, détenteur d'un dispositif physique, et un ou plusieurs prestataires, tout en assurant la non-traçabilité de l'utilisateur par les différents prestataires. En
effet, si le certificat de dispositif Ci est délivré par une autorité de certification indépendante du prestataire, ce dernier n'a accès qu'au certificat de dispositif Ci, et donc au champ d'extension <info> qui lui est associé. Sous réserve que ce champ <info> ne contienne que des informations génériques sur le dispositif physique, le prestataire ne peut alors pas établir de lien entre l'identifiant Idi associé au certificat de dispositif Ci et le dispositif physique lui-même (identifié dans le mode de réalisation décrit ci-dessus par un quadruplet (P0, S0, C0, <info>) unique).
Si en revanche on souhaite assurer une certaine traçabilité du dispositif physique, par exemple uniquement par l'ACP et les autres autorités de certification, on peut choisir d'ajouter dans le champ <info> un élément d'identification du dispositif physique, tel que son numéro de série par exemple. Pour maintenir, vis-à-vis de l'utilisateur, une garantie de non-traçabilité par les prestataires, il est alors nécessaire de ne pas recopier ce numéro de série dans le champ d'extension <info> du certificat de dispositif Ci.
A l'inverse, si l'on souhaite au contraire permettre la traçabilité du dispositif physique par au moins certains des prestataires, il suffit de recopier le numéro de série du dispositif dans le champ <info> des certificats de dispositif Ci de tous les prestataires concernés.