Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR AUTHENTICATING SILICON CHIPS
Document Type and Number:
WIPO Patent Application WO/2007/006798
Kind Code:
A1
Abstract:
The invention concerns a system for activating a silicon chip (10) of an identification medium (1) comprising a reader (2) adapted to read the chip and a computer device (3) connected to each other and comprising interface means (21, 31), wherein the chip, the reader (2) and the device comprise means (11, 22, 32) for processing all or part of the identification data, supplied for example on the interface means, and for providing evidence of processing in accordance with a specific law, the chip and the device comprise means for transmitting (23, 4) processed data and evidence to the reader (2), and reciprocally, the chip comprises means (11) for reading the processed data and the evidence and for verifying that said data observe a law stored in the chip, the chip further comprising means (11) for activating the chip if said law is observed. The invention also concerns a method implemented by the system.

Inventors:
POINTCHEVAL DAVID (FR)
CHEVALLIER-MAMES BENOIT (FR)
Application Number:
PCT/EP2006/064158
Publication Date:
January 18, 2007
Filing Date:
July 12, 2006
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEMPLUS CARD INT (FR)
POINTCHEVAL DAVID (FR)
CHEVALLIER-MAMES BENOIT (FR)
International Classes:
G07F7/10
Domestic Patent References:
WO2004088602A12004-10-14
WO2004054168A12004-06-24
Foreign References:
EP0798673A11997-10-01
US6834795B12004-12-28
US20020014527A12002-02-07
EP1050789A22000-11-08
US5495098A1996-02-27
FR2827723A12003-01-24
Other References:
HANNA A. ARONSSON: "Zero Knowledge protocols and small systems", INTERNET ARTICLE, 1995, Helsinki, XP002376880, Retrieved from the Internet [retrieved on 20060412]
DATABASE INSPEC [online] THE INSTITUTION OF ELECTRICAL ENGINEERS, STEVENAGE, GB; 1998, DWORK C ET AL: "Concurrent zero-knowledge", XP002376886, Database accession no. 6069099
Download PDF:
Claims:

REVENDICATIONS

1. Procédé d'activation d'une puce (10) électronique d'un support d'identification (1 ), une information d'identification (pw) étant mémorisée dans la puce, la puce étant apte à être lue par un lecteur (2) relié à un dispositif (3) informatique, le lecteur (2) et le dispositif (3) comportant chacun des moyens (21 , 31 ) d'interface permettant à un utilisateur de fournir une information d'identification, caractérisé en ce que le procédé comporte les étapes suivantes :

• Fourniture d'une première partie (pw 0 ) de l'information d'identification (pw) aux moyens (21 ) d'interface du lecteur (2),

• Fourniture d'une deuxième partie (pw-i) de l'information d'identification (pw) aux moyens (31 ) d'interface du dispositif (3), • Traitement par la puce (10) de l'information d'identification (pw), pour élaborer au moins une première information traitée et au moins une première preuve que l'élaboration de la première information traitée respecte une loi mémorisée dans la puce, et transmission par la puce de ladite première information traitée et de ladite première preuve audit lecteur (2),

• Traitement par le lecteur (2) de ladite première partie (pw 0 ) de l'information d'identification et de ladite première information traitée, pour élaborer au moins une deuxième information traitée et au moins une deuxième preuve que l'élaboration de la deuxième information traitée respecte une loi mémorisée dans le lecteur, et transmission par le lecteur (2) de ladite deuxième information traitée et de ladite deuxième preuve audit dispositif (3),

• Traitement par le dispositif (3) de ladite deuxième partie (pw-i) de l'information d'identification et de ladite deuxième information traitée, pour élaborer au moins une troisième information traitée et au moins une troisième preuve que l'élaboration de la troisième information traitée respecte une loi mémorisée dans le dispositif, et transmission par le

dispositif de ladite troisième information traitée et de ladite troisième preuve audit lecteur,

• Traitement par le lecteur (2) de ladite troisième information traitée, pour élaborer au moins une quatrième information traitée et au moins une quatrième preuve que l'élaboration de la quatrième information traitée respecte une loi mémorisée dans le lecteur, et transmission par le lecteur (2) de ladite quatrième information traitée et desdites deuxième, troisième et quatrième preuves à ladite puce (10),

• Lecture par la puce de ladite quatrième information traitée et desdites deuxième, troisième et quatrième preuves, et vérification que la quatrième information traitée respecte une loi mémorisée dans la puce pour en déduire, si ladite loi est respectée, que ladite première partie (pw0 ) et ladite deuxième partie (pw-i) de l'information d'identification correspondent bien à ladite information d'identification (pw), • Activation de la puce si ladite loi est respectée.

2. Procédé selon la revendication précédente, dans lequel ladite première partie (pw 0 ) et ladite deuxième partie (pw-i) de l'information d'identification correspondent bien à ladite information d'identification (pw) lorsque l'information d'identification est la somme des première (pw 0 ) et deuxième (pwi) parties de l'information d'identification (pw).

3. Procédé selon la revendication 1 , dans lequel ladite correspondance est vérifiée lorsque l'information d'identification est la concaténation des première (pw 0 ) et deuxième (pw-i) parties de l'information d'identification (pw), ou des deuxième (pw-i) et première (pw 0 ) parties de l'information d'identification (pw).

4. Procédé selon l'une des revendications précédentes, dans lequel chaque preuve est élaborée grâce à un protocole de preuve de connaissance à divulgation de connaissance nulle.

5. Procédé selon l'une des revendications précédentes, comportant une étape de transmission par le lecteur (2) de la première information traitée et de la première preuve au dispositif.

6. Procédé selon la revendication précédente, comportant une étape de vérification par le dispositif (3) des première et deuxième preuves.

7. Procédé selon l'une des revendications précédentes, comportant une étape de vérification par la puce (10) des deuxième, troisième et quatrième preuve).

8. Procédé selon l'une des revendications précédentes, dans lequel

• L'élaboration de la première information traitée X* par la puce s'effectue en prenant X* ^ X x U pw où pw est l'information d'identification et U est un élément d'un groupe fini engendré par un entier g, g définissant de plus X tel que X=g x avec x un entier allant de 0 à q-1 avec q étant un entier définissant l'ordre du groupe.

• L'élaboration de la première preuve zkpn par la puce s'effectue en prenant zkpr x = ZKPOK(X*) où ZKPOK est un protocole de preuve de connaissance à divulgation de connaissance nulle,

• L'élaboration de la deuxième information traitée A et B par le lecteur s'effectue en prenant

A = (x*/u pw °y°

B = U a ° où OC 0 est une variable aléatoire comprise entre 0 et q-1 ; et pw 0 est une première partie de l'information d'identification

• L'élaboration de la deuxième preuve zkpr 2 par le lecteur s'effectue en prenant zkpr 2 = ZKPOK(A, B)

• L'élaboration de la troisième information traitée Yi et Ki par le dispositif s'effectue en prenant

Y 1 = g" 1 et

K 1 = (AfB*" 1 ) *1 où ai est une variable aléatoire comprise entre 0 et q-1 ; et pwi est une deuxième partie de l'information d'identification • L'élaboration de la troisième preuve zkpr 3 par le dispositif s'effectue en prenant zkpr 3 = ZKPOK(Y 19 K 1 )

• L'élaboration de la quatrième information traitée Y et K s'effectue par le lecteur en prenant

κ = κ λ y où y est une variable aléatoire comprise entre 0 et q-1

• L'élaboration de la quatrième preuve zkpr 4 par le lecteur s'effectue en prenant zkpr 4 = ZKPOK(Y, K) • La vérification de la correspondance des parties pw 0 et pwi avec pw s'effectue notamment en vérifiant que

K = Y X

9. Système d'activation d'une puce (10) électronique d'un support d'identification (1 ), une information d'identification (pw) étant mémorisée dans la puce, le système comportant un lecteur (2) apte à lire la puce et un dispositif (3) informatique, le lecteur étant relié au dispositif, le lecteur (2) et

le dispositif (3) comportant chacun des moyens (21 , 31 ) d'interface permettant à un utilisateur de fournir une information d'identification, caractérisé en ce que :

• la puce (10) comporte des moyens (11 ) aptes à traiter l'information d'identification (pw), pour élaborer au moins une première information traitée et au moins une première preuve que l'élaboration de la première information traitée respecte une loi mémorisée dans la puce, la puce (10) comportant en outre des moyens (23) aptes à transmettre ladite première information traitée et ladite première preuve audit lecteur (2) ; • le lecteur (2) comporte des moyens (22) aptes à traiter une première partie (pw 0 ) de l'information d'identification fournie aux moyens (21) d'interface du lecteur (2) pour élaborer au moins une deuxième et une quatrième informations traitées et une deuxième et quatrième preuves que l'élaboration des deuxième et quatrième informations traitées respecte une loi mémorisée dans le lecteur, le lecteur comportant en outre des moyens (23, 4) aptes à transmettre lesdites informations traitées et lesdites preuves à ladite puce (10) et/ou audit dispositif (3) ;

• le dispositif (3) comporte des moyens (32) aptes à traiter une deuxième partie (pw-i) de l'information d'identification fournie aux moyens (31) d'interface du dispositif pour élaborer au moins une troisième information traitée et une troisième preuve que l'élaboration de la troisième information traitée respecte une loi mémorisée dans le dispositif, le dispositif comportant en outre des moyens (4) aptes à transmettre ladite troisième information traitée et la troisième preuve au lecteur, • la puce comporte en outre des moyens (11 ) aptes à lire la quatrième information traitée et les deuxième, troisième et quatrième preuves, et des moyens aptes à vérifier que la quatrième information traitée respecte une loi mémorisée dans la puce pour en déduire, si ladite loi est respectée, que ladite première partie (pw 0 ) et ladite deuxième partie (pwi) de l'information d'identification correspondent bien à ladite information d'identification (pw), la puce comportant en outre des moyens (11 ) d'activation de la puce si ladite loi est respectée.

10. Système selon la revendication précédente, comportant des moyens de vérification par le dispositif (3) des première et deuxième preuves.

11. Système selon l'une des deux revendications précédentes, comportant des moyens de vérification par la puce (10) des deuxième, troisième et quatrième preuves.

12. Système selon l'une des trois revendications précédentes, dans lequel le support (1 ) est une carte à puce.

13. Système selon la revendication précédente, dans lequel la carte à puce est du type carte bancaire de paiement ou de retrait d'argent et/ou une SD card et/ou une carte UICC ou et/ou une carte MMC sécurisée.

Description:

PROCEDE ET SYSTEME D'AUTHENTIFICATION DE PUCES

ELECTRONIQUES

DOMAINE TECHNIQUE GENERAL

La présente invention concerne un procédé d'activation d'une puce électronique d'un support d'identification, une information d'identification étant mémorisée dans la puce, la puce étant apte à être lue par un lecteur relié à un dispositif informatique, le lecteur et le dispositif comportant chacun des moyens d'interface permettant à un utilisateur de fournir une information d'identification.

L'invention concerne également un système d'activation utilisant un tel procédé. ETAT DE L'ART Les transactions et échanges utilisant une puce électronique d'un support d'identification, une information d'identification étant mémorisée dans la puce (c'est le cas par exemple d'une puce d'une carte à puce), sont de plus en plus répandus. Il s'agit par exemple des transactions bancaires de paiement ou de retrait d'argent à des distributeurs automatiques de billets. Ces transactions nécessitent l'activation préalable de la puce. Dans la suite de la présente description, on entend par « activation » le fait que la puce passe d'un état n'autorisant pas les transactions - où des transactions concernant des données mémorisées dans la puce ne sont pas permises - à un état où des transactions concernant des données mémorisées dans la puce sont permises. C'est le cas par exemple des transactions bancaires avec un distributeur de billet ou un terminal de paiement. Une fois activée, la puce peut échanger des informations avec des dispositifs extérieurs et réciproquement.

Les transactions par puces électroniques présentent de nombreux avantages, mais on constate de nos jours une exigence toujours croissante de sécurité.

Actuellement, pour l'activation de la puce, un utilisateur fournit l'information d'identification à des moyens d'interface d'un lecteur de la puce.

Une telle activation est potentiellement sujette aux fraudes. Il est en effet possible que le lecteur soit corrompu par un attaquant du système. Dans ce cas, le lecteur peut générer une copie des caractéristiques de la puce et/ou stocker l'information d'identification à des fins frauduleuses.

De plus, le lecteur de la puce est relié à un dispositif informatique, qui permet notamment d'effectuer des opérations de traitement. De la même façon que pour le lecteur, le dispositif peut être corrompu ou présenter un virus, de sorte qu'il peut générer une copie des caractéristiques de la puce et/ou stocker l'information d'identification à des fins frauduleuses. PRESENTATION DE L'INVENTION

L'invention propose d'augmenter la sécurité des transactions utilisant une puce.

L'invention permet de repartir la manipulation de l'information d'identification sur deux éléments différents. Ainsi la probabilité que les deux éléments soient corrompus en même temps est très inférieure à la probabilité de corruption du lecteur de l'art antérieur. L'utilisateur de la puce a donc davantage confiance dans le système d'activation.

A cet effet, l'invention propose un procédé d'activation d'une puce électronique d'un support d'identification, une information d'identification étant mémorisée dans la puce, la puce étant apte à être lue par un lecteur relié à un dispositif informatique, le lecteur et le dispositif comportant chacun des moyens d'interface permettant à un utilisateur de fournir une information d'identification, caractérisé en ce que le procédé comporte les étapes suivantes :

• Fourniture d'une première partie de l'information d'identification aux moyens d'interface du lecteur, • Fourniture d'une deuxième partie de l'information d'identification aux moyens d'interface du dispositif,

• Traitement par la puce de l'information d'identification, pour élaborer au moins une première information traitée et au moins une première preuve

que l'élaboration de la première information traitée respecte une loi mémorisée dans la puce, et transmission par la puce de ladite première information traitée et de ladite première preuve audit lecteur,

• Traitement par le lecteur de ladite première partie de l'information d'identification et de ladite première information traitée, pour élaborer au moins une deuxième information traitée et au moins une deuxième preuve que l'élaboration de la deuxième information traitée respecte une loi mémorisée dans le lecteur, et transmission par le lecteur de ladite deuxième information traitée et de ladite deuxième preuve audit dispositif,

• Traitement par le dispositif de ladite deuxième partie de l'information d'identification et de ladite deuxième information traitée, pour élaborer au moins une troisième information traitée et au moins une troisième preuve que l'élaboration de la troisième information traitée respecte une loi mémorisée dans le dispositif, et transmission par le dispositif de ladite troisième information traitée et de ladite troisième preuve audit lecteur,

• Traitement par le lecteur de ladite troisième information traitée, pour élaborer au moins une quatrième information traitée et au moins une quatrième preuve que l'élaboration de la quatrième information traitée respecte une loi mémorisée dans le lecteur, et transmission par le lecteur de ladite quatrième information traitée et desdites deuxième, troisième et quatrième preuves à ladite puce,

• Lecture par la puce de ladite quatrième information traitée et desdites deuxième, troisième et quatrième preuves, et vérification que la quatrième information traitée respecte une loi mémorisée dans la puce pour en déduire, si ladite loi est respectée, que ladite première partie et ladite deuxième partie de l'information d'identification correspondent bien à ladite information d'identification,

• Activation de la puce si ladite loi est respectée. L'invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible :

- ladite première partie et ladite deuxième partie de l'information d'identification correspondent bien à ladite information d'identification lorsque l'information d'identification est la somme des première et deuxième parties de l'information d'identification ; - ladite correspondance est vérifiée lorsque l'information d'identification est la concaténation des première et deuxième parties de l'information d'identification, ou des deuxième et première parties de l'information d'identification ;

- chaque preuve est élaborée grâce à un protocole de preuve de connaissance à divulgation de connaissance nulle ;

- le procédé comporte une étape de transmission par le lecteur de la première information traitée et de la première preuve au dispositif ;

- le procédé comporte une étape de vérification par le dispositif des première et deuxième preuves ; - le procédé comporte une étape de vérification par la puce des deuxième, troisième et quatrième preuve ;

- l'élaboration de la première information traitée X* par la puce s'effectue en prenant

X* ^ Xx U pw où pw est l'information d'identification et U est un élément d'un groupe fini engendré par un entier g, g définissant de plus X tel que X=g x avec x un entier allant de 0 à q-1 avec q étant un entier définissant l'ordre du groupe.

- l'élaboration de la première preuve zkpn par la puce s'effectue en prenant zkpr x = ZKPOK(X*) où ZKPOK est un protocole de preuve de connaissance à divulgation de connaissance nulle,

- l'élaboration de la deuxième information traitée A et B par le lecteur s'effectue en prenant

A = (x*/u pw °y°

B = U a ° où oco est une variable aléatoire comprise entre 0 et q-1 ; et

pw 0 est une première partie de l'information d'identification

- l'élaboration de la deuxième preuve zkpr 2 par le lecteur s'effectue en prenant zkpr 2 = ZKPOK(A, B) - l'élaboration de la troisième information traitée Yi et Ki par le dispositif s'effectue en prenant

Y 1 = g" 1 et

K 1 = (AfB*" 1 )" 1 où ai est une variable aléatoire comprise entre 0 et q-1 ; et pwi est une deuxième partie de l'information d'identification

- l'élaboration de la troisième preuve zkpr 3 par le dispositif s'effectue en prenant zkpr 3 = ZKPOK(Y 19 K 1 )

- l'élaboration de la quatrième information traitée Y et K s'effectue par le lecteur en prenant

K = K 1 " où y est une variable aléatoire comprise entre 0 et q-1

- l'élaboration de la quatrième preuve zkpr 4 par le lecteur s'effectue en prenant zkpr 4 = ZKPOK(Y, K)

- la vérification de la correspondance des parties pw 0 et pwi avec pw s'effectue notamment en vérifiant que

K = Y X

L'invention propose également un système de mise en œuvre du procédé.

L'invention présente les nombreux avantages suivants.

L'information d'identification n'est jamais donnée dans son ensemble ni au lecteur ni au dispositif informatique. Aucun des dispositifs étrangers à la puce n'a l'information d'identification dans son ensemble. L'information d'identification est séparée en au moins deux parties, le lecteur et le dispositif n'ayant accès chacun qu'à une seule partie.

Du fait que l'information d'identification est séparée en au moins deux parties fournies distinctement sur deux appareils séparés (le lecteur et le dispositif informatique), on augmente la confiance de l'utilisateur dans le système d'activation de la puce. En effet, les deux appareils précités sont souvent fabriqués par deux organisations différentes et comportent des parties logicielles et matérielles respectivement différentes. Il est par conséquent difficile de corrompre les deux organisations ou d'introduire un virus sur les deux appareils en même temps pour obtenir l'ensemble des caractéristiques ou l'ensemble de l'information d'identification de la puce. Si l'un des deux appareils est attaqué et qu'un attaquant arrive à connaître une première partie de l'information d'identification de la puce, il n'est pas possible pour l'attaquant, en appliquant la même méthode, d'apprendre une quelconque information sur la deuxième partie du mot de passe. Chaque partie de l'information d'identification est fournie sur un appareil différent. Chaque appareil effectue des calculs à partir de cette partie de l'information d'identification pour générer une information traitée. Il génère également une preuve que les calculs sont bien effectués selon une loi mémorisée dans l'appareil. Les échanges entre la puce et les appareils comportent les informations traitées et les preuves.

Le traitement s'effectue notamment par la génération d'au moins une valeur d'exponentiation représentant une exponentiation des parties ou de l'ensemble de l'information d'identification. Les parties ou l'ensemble de l'information d'identification ne sont jamais échangés sous une valeur qui ne soit pas une exponentiation. Ils sont toujours cachés sous forme d'une exponentiation avant d'être échangés sur une connexion entre la puce, le lecteur et le dispositif. Il est mathématiquement difficile de remonter à une valeur en exposant dans une valeur d'exponentiation (c'est un problème

mathématique connu et réputé difficile, appelé « problème du logarithme discret »). Ainsi, même si un attaquant récupère une valeur d'exponentiation, il aura des difficultés à retrouver la valeur de la partie ou de l'ensemble de l'information d'identification. La génération de la preuve s'effectue notamment par une application d'une fonction qui permet de faire la preuve des calculs des valeurs d'exponentiation. Cette fonction est un protocole de preuve de connaissance à divulgation de connaissance nulle. Le protocole de preuve de connaissance à divulgation de connaissance nulle montre notamment, dans notre cas, que la génération des valeurs d'exponentiation a été effectuée selon un calcul pré-établi par une loi, sans pour autant montrer les détails du calcul. Ainsi, même si un attaquant arrive à générer - d'une manière ou d'une autre - une valeur d'exponentiation cohérente avec les autres valeurs d'exponentiation, il aura des difficultés à créer une preuve correspondante qui sera acceptée par la puce, le lecteur et/ou le dispositif. De plus, même si l'attaquant arrive à intercepter une preuve, il n'arrivera pas à connaître la partie ou l'ensemble de l'information d'identification.

Préférentiellement, chaque message envoyé ou reçu par le dispositif informatique, ou reçu ou envoyé par la puce, est traité par le lecteur. Par conséquent, le point critique d'un système d'activation de la puce est le lecteur. Ce dernier voit passer et peut modifier toutes les communications venant ou à destination de la puce ou du dispositif. Si un attaquant arrive à corrompre le lecteur et à apprendre la partie de l'information d'identification renseignée sur l'interface du lecteur, on a vu qu'un procédé selon l'invention permet d'éviter que cet attaquant n'apprenne l'information d'identification dans son ensemble. En outre, l'attaquant ne peut activer la puce sans l'aide du dispositif informatique, à moins d'effectuer N/2 tentatives en moyenne de génération de parties de l'information d'identification, où N est le nombre de possibilités pour l'information d'identification. Or la puce peut être bloquée après trois tentatives erronées.

De plus, la séparation en au moins deux parties est gérée de façon très simple pour l'utilisateur du support de la puce, et il suffit par exemple de diviser l'information d'identification en deux parties telles que par exemple la

concaténation des deux parties donne l'information d'identification complète.

PRESENTATION DES FIGURES

D'autres caractéristiques, buts et avantages de l'invention ressorti ront de la description qui suit, qui est purement illustrative et non limitative et qui doit être lue en regard des dessins annexés sur lesquels :

- la figure 1 représente schématiquement un système d'activation d'une puce électronique comportant un lecteur relié à un dispositif informatique ; et - la figure 2 est un schéma bloc représentant les différentes étapes possibles d'un procédé d'activation selon l'invention.

Sur l'ensemble des figures, des éléments similaires portent des références numériques identiques.

DESCRIPTION DETAILLEE La figure 1 représente schématiquement un système d'activation d'une puce 10 électronique d'un support d'identification 1.

Le support d'identification peut être de tout type. Il peut être une carte à puce, un module de sécurité, un téléphone mobile, un assistant personnel

(PDA - Personal Digital Assistant), un TPM (Trusted Platform Module), une SD card (Secure Digital Card), une carte UICC (Universal Integrated Circuit

Card) ou MMC (Multi Media Card) sécurisée selon les terminologies employées par l'homme du métier.

Une information d'identification pw est mémorisée dans la puce 10.

Ladite information pw peut par exemple être un mot de passe (pw ou « password » selon la terminologie anglaise utilisée par l'homme du métier) d'activation de la puce. Le mot de passe peut également être par exemple le numéro d'identification personnel (PIN « Personal Identification Number » selon la terminologie anglaise).

La puce 10 comporte des moyens 11 aptes à effectuer toutes les étapes décrites dans les développements suivants, notamment les étapes de calculs, de traitement et d'activation. Les moyens 11 sont aptes à lire des informations traitées. Les moyens 11 sont également aptes à vérifier que ces informations traitées respectent une loi mémorisée dans la puce

pour en déduire, si ladite loi est respectée, que des parties pw 0 et pwi de l'information d'identification (décrites plus en détail par la suite) correspondent bien à ladite information d'identification pw. Les moyens 11 sont également aptes à activer la puce si ladite loi est respectée. Le système comporte un lecteur 2 apte à lire la puce 10 du support 1.

Le lecteur peut par exemple comporter des moyens 20 dans lesquels le support 1 peut être introduit. D'autres exemples de moyens de lecture sont possibles, par exemple des moyens sans contact du type identification par radiofréquence RFID (Radio Frequency Identification). Le lecteur 2 comporte des moyens 21 d'interface permettant à un utilisateur de fournir une information d'identification. Les moyens 21 sont par exemple du type clavier, pavé numérique, moyens magnétiques, biométriques ou à reconnaissance vocale ou sonore.

Le lecteur 2 comporte des moyens 23 permettant la transmission d'informations du lecteur vers la puce 10, et réciproquement.

Le lecteur 2 comporte en outre des moyens 22 aptes à traiter une première partie pw 0 de l'information d'identification fournie aux moyens 21 d'interface du lecteur 2 pour élaborer au moins une deuxième et une quatrième informations traitées et élaborer au moins une deuxième et une quatrième preuves (décrites plus en détail dans la suite de la présente description).

Le système comporte également un dispositif 3 informatique, qui peut être par exemple un ordinateur ou un serveur.

Le dispositif 3 comporte des moyens 31 d'interface permettant à l'utilisateur de fournir une information d'identification. Les moyens 31 sont par exemple du type clavier, pavé numérique, moyens magnétiques, biométriques ou à reconnaissance vocale ou sonore.

Le dispositif 3 comporte des moyens 32 aptes à traiter une deuxième partie pwi de l'information d'identification fournie aux moyens 31 d'interface du dispositif 3 pour élaborer au moins une troisième information traitée et au moins une troisième preuve (décrites plus en détail dans la suite de la présente description).

Le dispositif 3 est relié au lecteur 2 par les moyens 4 permettant la transmission d'informations du lecteur 2 vers le dispositif 3, et réciproquement. Les moyens 4 sont par exemple du type filaire et fonctionnent selon un protocole TCP/IP (Transmission Contrai Protocol Internet Protocol), ou du type non filaire et fonctionnent selon un protocole Wi-fi (Wireless Fidelity) ou IrDA (Infrared Data Association).

La transmission d'informations entre la puce 10 et le dispositif 3 - et réciproquement - s'effectue par l'intermédiaire du lecteur 2, le dispositif ou la puce transmettant d'abord les informations au lecteur qui les transmet ensuite à la puce ou au dispositif.

Le système de la figure 1 permet la mise en œuvre d'un procédé d'activation d'une puce selon lequel, et comme le montre la figure 2, la puce établit, lors d'une étape 100, une correspondance entre d'une part l'information d'identification pw et d'autre part une première partie pw 0 et une deuxième partie pwi de l'information d'identification.

Les calculs de l'invention décrits dans les développements qui suivent sont effectués dans un groupe fini engendré par un entier g. Le groupe est ainsi l'ensemble des g', pour i un entier allant de 0 à q-1. On appelle q l'ordre du groupe, q étant préférentiel lement premier. Le groupe est noté multiplicativement. L'opération du groupe est notée

« x » (fois). Un exemple d'un tel groupe est l'ensemble formé pour g' modulo p, où p est un grand premier et q est un diviseur de p-1. L'opération de groupe est alors la multiplication modulaire modulo p.

On appelle U un élément du groupe. On appelle Z q l'ensemble des entiers compris entre 0 et q-1.

La correspondance est établie ainsi : l'information d'identification pw est la somme des première et deuxième parties pw 0 et pwi de l'information d'identification pw. La somme correspond préférentiellement à la concaténation des première et deuxième parties pw 0 et pwi de l'information d'identification pw.

L'établissement du couple pw 0 et pwi séparant l'information d'identification en deux parties peut s'écrire :

pw = (pw 0 -l- pwjmod q où mod indique le modulo

II faut noter que pw 0 et pwi ne sont pas fixes et peuvent être modifiées par l'utilisateur à chaque activation de la puce. La puce connaît la loi reliant pw 0 et pwi correspondant à pw.

Lors d'une étape 110, la puce 10 choisit une variable x aléatoire comprise entre 0 et q-1. Ce choix s'écrit mathématiquement :

La puce 10 construit ensuite une variable X telle que : X = g x

Lors d'une étape 111 , la puce 10 traite l'information d'identification pw, pour élaborer une première information traitée. Une telle étape de traitement comporte la génération d'au moins une valeur d'exponentiation

X* représentant une exponentiation de l'information d'identification. Une telle génération peut s'exprimer par :

X* ^ Xx U pw

(l'opérateur x entre X et U pw correspond à l'opérateur « fois » mentionné ci-dessus).

Lors d'une étape 112, la puce élabore une première preuve zkpn pour prouver au lecteur 2 et/ou au dispositif 3 que le calcul de X* a été effectué correctement, c'est-à-dire selon une loi mémorisée dans la puce.

Avantageusement, la fonction qui permet de faire la preuve d'un calcul d'exponentiation - comme par exemple X* - est un protocole de preuve de connaissance à divulgation de connaissance nulle (ZKPOK « zéro knowledge - proof of knowledge » selon la terminologie anglo-saxonne généralement utilisée par l'homme du métier). La preuve ainsi élaborée permet de prouver que la valeur calculée a bien été calculée selon une loi particulière, sans donner d'informations sur les calculs.

Une entité - comme par exemple le lecteur 2 ou le dispositif 3 comme on le verra dans la suite de la présente description - qui obtient l'information traitée X* et une preuve y relative, sait, grâce à la preuve, que l'information

X* a été générée correctement par la puce, sans pour autant obtenir d'informations sur les calculs permettant la génération de la valeur d'exponentiation X*. L'entité ne peut donc pas remonter à l'information d'identification pw. II existe plusieurs protocoles connus de preuve de connaissance à divulgation de connaissance nulle. Il est alors possible d'en sélectionner un quelconque, pour autant que le protocole sélectionné soit le même sur la puce, le lecteur et le dispositif.

L'application du protocole ZKPOK pour la génération de la première preuve s'écrit : zkpr x = ZKPOK(X*)

La première preuve zkpn permet de montrer que la puce connaît des variables δ et Y telles que X*=g δ U γ , ce qui peut s'écrire mathématiquement par : zkpr x = ZKPOK(δ ,y : X* = g δ £/ γ ) ce qui correspond bien à l'élaboration de X*.

Ladite première information traitée X* et la première preuve zkpn sont ensuite transmises, lors d'une étapes 113, par la puce 10 au lecteur 2, grâce aux moyens 23. Une étape 114 est la transmission, par le lecteur 2, de la première information traitée X* et de la première preuve zkpn au dispositif informatique 3. La transmission se fait par les moyens 4.

Lors d'une étape référencée par 115 sur la figure 2, l'utilisateur fournit aux moyens 21 d'interface du lecteur 2 la première partie pw 0 de l'information d'identification pw. Lors de l'étape 115, l'utilisateur fournit également aux moyens 31 d'interface du dispositif 3 la deuxième partie pwi de l'information d'identification pw.

Lors d'une étape 210, le lecteur 2 choisit des variables y et α 0 aléatoires comprises entre 0 et q-1. Ce choix s'écrit mathématiquement : y,a n <r^—Z a

On comprend que l'étape 210 peut être effectuée avant ou après l'étape 115.

Le dispositif 3 choisit, lors d'une étape 310, une variable ai aléatoire et comprise entre 0 et q-1. Ce choix s'écrit mathématiquement : (X 1 <^—Z q

On comprend que les étapes 115, 210, et 310 peuvent être effectuées dans un ordre quelconque et à un moment quelconque entre l'étape 110 et une étape 211 décrite ci-dessous.

Lors d'une étape 211 , subséquente à l'étape 113 déjà décrite, le lecteur 2 traite ladite première partie pw 0 de l'information d'identification pour élaborer au moins une deuxième information traitée.

Le traitement comporte la génération d'au moins une valeur d'exponentiation A représentant une exponentiation de la partie pw o et d'une deuxième information traitée auxiliaire B. Cette génération s'écrit :

A = (x*/u pw °y° B = U a °

Lors d'une étape 212, le lecteur élabore une deuxième preuve zkpr 2 pour prouver à la puce 10 et/ou au dispositif 3 que les calculs de A et B ont été effectués correctement, c'est-à-dire selon une loi mémorisée dans le lecteur. Avantageusement, la fonction qui permet de faire la preuve des calculs d'exponentiation de A et B est un protocole de preuve de connaissance à divulgation de connaissance nulle (ZKPOK).

L'application du protocole ZKPOK pour l'élaboration de la deuxième preuve s'écrit : zkpr 2 = ZKPOK(A, B)

La deuxième preuve zkpr 2 permet de montrer que le lecteur connaît des variables α et β telles que A=X* α U β et B=U α ce qui peut s'écrire mathématiquement par :

zkpr 2 =

Lors d'une étape 213, le lecteur 2 transmet ladite deuxième information traitée A, la deuxième information traitée auxiliaire B et la deuxième preuve zkpr 2 au dispositif 3 grâce aux moyens 4. Lors d'une étape 311 , comprise après l'étape 114 de transmission de la première information traitée X* et de la première preuve zkpn par le lecteur 2, et après l'étape 310, le dispositif informatique 3 génère une valeur d'exponentiation Yi telle que :

Y, = g- On comprend que l'étape 114 peut se dérouler avant ou après les étapes 211 et 212. L'étape 311 peut donc se dérouler après l'étape 312 décrite ci-dessous.

Lors d'une étape 312, subséquente à l'étape 213 et 114, le dispositif 3 vérifie les preuves zkpn et zkpr 2 grâce aux moyens 32. La vérification des preuves zkpn et zkpr 2 permet de vérifier que les première et deuxième informations traitées ont été créées correctement afin de pallier à des attaques au cours desquelles le dispositif 3 dévoilerait des informations alors utiles à un lecteur 2 corrompu.

Le dispositif 3 connaît les informations traitées X*, A et B, et sait que ces informations ont été créées correctement. Le dispositif 3 ne connaît cependant rien quant aux valeurs pw, pw 0 ou pw qui ont servi à la création des informations traitées.

Lorsque l'étape 312 est validée, le dispositif 3 passe à une étape 313. Si l'étape 312 n'est pas validée, à savoir si une des deux preuves n'est pas bonne, alors le dispositif 3 passe à une étape 315 selon laquelle un message peut être envoyé à l'utilisateur pour l'avertir d'une fourniture erronée d'une partie de l'information d'identification, ou d'un problème éventuel de corruption d'un des appareils du système. Un message peut également être envoyé à destination de la puce. La puce peut alors mettre à jour un compteur qui compte le nombre d'échecs dans la vérification des

preuves après une nouvelle fourniture des parties de l'information d'identification. La puce peut donc déclencher une politique prédéfinie, par exemple le blocage de la puce après trois échecs.

Lors de l'étape 313, le dispositif 3 traite la deuxième partie pwi de l'information d'identification pour élaborer au moins une autre valeur d'exponentiation Ki telle que :

K 1 = (AfB*" 1 ) *1

Yi et Ki représentent une troisième information traitée.

Lors d'une étape 314, le dispositif 3 élabore une troisième preuve zkpr 3 pour prouver notamment à la puce 10 que les calculs de Yi et Ki ont été effectués correctement, c'est-à-dire selon une loi mémorisée dans le dispositif.

Avantageusement, la fonction qui permet de faire la preuve des calculs d'exponentiation de Yi et Ki est un protocole de preuve de connaissance à divulgation de connaissance nulle (ZKPOK).

L'application du protocole ZKPOK pour l'élaboration de la troisième preuve s'écrit : zkpr 3 = ZKPOK(Y 15 K 1 )

La troisième preuve zkpr 3 permet de montrer que le dispositif connaît des variables α' et β' telles que Ki=A α B β et Yi=g d , ce qui peut s'écrire mathématiquement par :

Lors d'une étape 316, ladite troisième information traitée Yi et Ki et la troisième preuve zkpr 3 sont transmises au lecteur 2 via les moyens 4. Lors d'une étape 214, subséquente à l'étape 316, le lecteur 2 génère une quatrième information traitée grâce aux valeurs Yi et Ki, reçues du dispositif 3. L'élaboration de la quatrième information traitée s'écrit :

K = K 1 "

Lors d'une étape 215, le lecteur 2 élabore une quatrième preuve zkpr 4 avantageusement grâce à un protocole ZKPOK qui s'écrit : zkpr 4 = ZKPOK(Y, K)

La quatrième preuve zkpr 4 permet de montrer que le lecteur connaît des variables μ et v telles que K=K/ et Y=Y/ ce qui peut s'écrire mathématiquement par :

zkpr A

Lors d'une étape 216, le lecteur 2 transmet à la puce 10 la quatrième information traitée Y, K et les preuves zkpr 2 , zkpr 3 et zkpr 4 . Lors d'une étape 116, subséquente à l'étape 216, la puce effectue une vérification des preuves zkpr 2 , zkpr 3 , zkpr 4 grâce aux moyens 11. La vérification des preuves zkpr 2 , zkpr 3 , zkpr 4 permet de vérifier que les deuxième, troisième et quatrième informations traitées ont été créées correctement, afin d'éviter certaines attaques. Grâce à l'étape 116, la puce 10 connaît notamment la quatrième information traitée Y et K, et peut valider que cette information a été créée correctement.

Lorsque l'étape 116 est validée, le dispositif 3 passe à une étape 118. Si l'étape 116 n'est pas validée, à savoir si une au moins des trois preuves n'est pas bonne, alors la puce 10 passe à une étape 117 selon laquelle un message peut être envoyé à l'utilisateur pour l'avertir d'une fourniture erronée d'une partie de l'information d'identification, ou d'un problème éventuel de corruption d'un des appareils du système. La puce peut alors mettre à jour un compteur qui compte le nombre d'échecs dans la vérification des preuves après une nouvelle fourniture des parties de l'information d'identification. La puce peut donc déclencher une politique prédéfinie, par exemple le blocage de la puce après trois échecs. Lors d'une étape 118, la puce vérifie que :

K = Y X

Lorsque les étapes de vérification 116 et 118 ont été effectuées et sont validées, la puce est assurée que le lecteur et le dispositif sont fiables, et que les parties pw 0 et pwi correspondent bien aux parties de l'information d'identification pw. La puce peut donc être activée lors d'une étape 119 et les transactions, par exemple bancaires, peuvent commencer.

Si l'étape 118 n'est pas validée, alors la carte passe à l'étape 117 déjà décrite.

Les développements qui précèdent s'appliquent avantageusement à un support d'identification sécurisé. On comprend que le support peut être une carte à puce, par exemple du type carte bancaire de paiement ou de retrait d'argent, mais également un module de sécurité, un téléphone mobile, un assistant personnel (PDA), un TPM, une SD-card, une carte UICC ou une carte MMC sécurisée.

Les développements qui précèdent s'appliquent avantageusement à une séparation de l'information d'identification en deux parties. On peut également séparer cette information en plus de deux parties sur des dispositifs supplémentaires.