• Aucun résultat trouvé

Définitions et modèle de sécurité

2.5 Schéma sûr contre les attaques de corruption interne

3.1.1 Définitions et modèle de sécurité

3.1.3 Notre schéma d’identification de cercle . . . 95

3.2 Schémas d’identification de cercle à seuil . . . . 103

3.2.1 Définition . . . 103 3.2.2 Sécurité . . . 103 3.2.3 Schéma de Cayrel-Lindner-Rückert-Silva . . . 104 3.2.4 Notre schéma d’identification de cercle à seuil . . . 106

3.1- SCHÉMAS DIDENTIFICATION DE CERCLE 89

Chapitre 3

Schémas d’identification anonymes

Nous allons nous intéresser dans ce chapitre aux schémas permettant l’identi-fication anonyme d’un ou plusieurs utilisateurs. Dans la section 3.1, nous propo-sons un nouveau schéma d’identification de cercle. Cette notion a été introduite en

2004 par Dodis, Kiayias, Nicolosi, et Shoup dans [DKNS04], elle permet à un

uti-lisateur de prouver son appartenance à une entité sans révéler son identité. Nous comparons les performances de notre schéma avec celles d’un schéma proposé par

Kawachi, Tanaka, et Xagawa [KTX08]. Dans la section 3.2, nous généralisons ce

ré-sultat au cas où un ensemble d’utilisateurs veut donner une preuve d’appartenance à une entité d’une manière anonyme. Nous comparons les performances de notre

schéma avec un schéma proposé par Cayrel, Lindner, Rückert et Silva [CLRS10b].

Une grande partie des travaux que nous présentons dans ce chapitre est issue d’une collaboration avec Julien Schrek ayant donné lieu à une publication intitulée

Improved Lattice-Based Threshold Ring Signature Scheme [BS13] à la conférence PQCrypto 2013.

3.1 Schémas d’identification de cercle

Dans [KTX08], Kawachi, Tanaka et Xagawa ont proposé un schéma

d’identifi-cation de cercle dont la sécurité est basée sur les problèmesSIS(voir la Définition

1.27) et ISIS (voir la Définition 1.28). Le schéma est une variation du schéma

d’identification en trois passes présenté dans la section 1.6.3. Leur construction

hérite la probabilité de fraude de 2/3 du schéma d’identification de base, par

conséquent le protocole doit être exécuter un nombre de fois t1 = ω(logn) où

nest le paramètre de sécurité, afin d’obtenir une probabilité de triche négligeable.

Le coût de communication du protocole est det1·O˜(n+ℓ), avecℓla taille de cercle

auquel appartient le prouveur.

par Kawachi et al. [KTX08]. Notre schéma est une variation du schéma d’identifi-cation en cinq passes présenté en Annexe A. Le schéma est parallélisable avec une

probabilité de triche 1/2et donc plus faible que celle dans [KTX08].

3.1.1 Définitions et modèle de sécurité

Nous utiliserons le formalisme des schémas d’identification de cercle proposé

par Kawachi et al. [KTX08] et Xagawa [Xag10] pour décrire les définitions et le

modèle de sécurité.

Schéma d’identification de cercle. Un schéma d’identification de cercle consiste

en le quadruplet d’algorithmes(Ring−id−init,Ring−id−keygen,Ring−id−ccp,Ring−id−ccs):

param ← Ring−id−init(1n) : Ring−id−init est un algorithme probabiliste

po-lynomial d’initialisation, il prend en entrée un paramètre de sécurité 1n et

retourne un paramètre publicparam.

(pki, ski) ← Ring−id−keygen(param, i) : Ring−id−keygen est un algorithme

probabiliste polynomial qui prend en entrée le paramètreparamet l’identité

id’un utilisateur et retourne une paire de clés (pki, ski).

Ring−pk ← Ring−id−ccp(param, R = (pk1,· · · , pk)) : Ring−id−ccp est un algorithme qui permet de générer la clé publique du cercle. L’algorithme

prend en entrée le paramètre public param et le cercle défini par R =

(pk1,· · · , pk)et retourne la clé publique du cercleRing−pk.

Ring−sk ← Ring−id−ccs(param, R = (pk1,· · · , pk), ski) : est un algorithme qui permet de générer la clé secrète du cercle. L’algorithme prend en entrée

param, un cercle de tailleℓ défini par R = (pk1,· · · , pk) et une clé secrète

ski qui correspond à une clé publiquepki ∈R.

(P(Ring−sk) ↔ V)(param,Ring−pk) : est un algorithme interactif entre un

prouveur P qui possède la clé secrète du cercle Ring−sk et un vérificateur

V. Les deux protagonistes partagent le paramètre public param et la clé

publique du cercleRing−pk. A la fin de l’interaction, le vérificateur retourne

desc ∈ {0,1}, qui vaut1si ce dernier accepte et0s’il rejette.

Nous avons la définition de complétude suivante :

Définition 3.1(Complétude). Pour tousn,(polynomial en n),param∈Ring−id−init(1n), {(pki, ski)}i∈[ℓ]⊂Ring−id−keygen(param),Ring−pk⊂Ring−id−ccp(param,{pki}i∈[ℓ]), i0 ∈[ℓ]etRing−sk ⊂Ring−id−ccs(param,{pki}i∈[ℓ], ski0)on a,

3.1- SCHÉMAS DIDENTIFICATION DE CERCLE 91

3.1.1.1 Modèle de sécurité

Un schéma d’identification de cercle doit être sûr contre l’usurpation d’identité et il doit être anonyme.

Usurpation d’identité : Dans [KTX08], Kawachi et al. ont introduit la notion d’usurpation d’identité avec des attaques parallèles à cercle choisi. Dans le jeu qui modélise cette notion, il existe deux protagonistes, un challengeur et un attaquant. Le but de l’attaquant est de se faire passer pour un utilisateur arbitraire dans un cercle choisi par lui même.

L’attaquant I (en anglais impersonator) est modélisé par un couple

d’algo-rithmes interactifs( ˜P,V˜)qui sont exécutés pendant les différentes phases du jeu

formalisant la notion d’usurpation d’identité. Nous résumons les moyens mis à

disposition deI durant ce jeu dans les points suivants :

1. En utilisant V˜ (vérificateur malhonnête), l’attaquant peut forcer un

prou-veur honnête (simulé par le challengeur) à prouver son appartenance à un cercle de son choix contenant le prouveur.

2. En utilisantV˜(vérificateur malhonnête), l’attaquant peut exécuter plusieurs

instances du protocole en parallèle avec des clones de n’importe quel prou-veur.

3. Pendant la phase de challenge, l’attaquant définit un cercle challenge. En

utilisantP˜(prouveur malhonnête), l’attaquant peut interagir avec des

prou-veurs de la même façon queV˜ dans(1)et(2), mais il est interdit d’interagir

avec des prouveurs qui font partie de son cercle challenge. Il peut obtenir des clés secrètes des prouveurs mais il n’a pas le droit d’avoir celles qui correspondent aux utilisateurs appartenant à son cercle challenge.

Dans la suite de ce chapitre, nous utiliserons les notations suivantes :

— U H décrira l’ensemble des utilisateurs honnêtes.

— U C décrira l’ensemble des utilisateurs corrompus par l’attaquant.

— U Sdécrira l’ensemble des utilisateurs cible (ou bien challenge).

Maintenant nous donnons la définition formelle de la notion d’usurpation

d’iden-tité avec des attaques parallèles à cercle choisi, suivant [Xag10], [KTX08].

Définition 3.2. Soit un schéma d’identification de cercle défini par les algorithmes (Ring−id−init,Ring−id−keygen,Ring−id−ccp,Ring−id−ccs). On considère le jeu sui-vant entre un challengeurC et un attaquantI.

Phase de préparation :Soitnle paramètre de sécurité. Le challengeur initialise les ensemblesU H,U C, etU Sà l’ensemble vide, ensuite il envoie(1n,param ←

Ring−id−init(1n))à l’attaquant.

Phase d’apprentissage : Pendant cette phase l’attaquantpeut envoyer des requêtes aux trois oracles suivants :

Init. Il prend en entréeiet retournesii∈U H∪U C∪U S. Sinon il utilise

l’algorithme de génération des clés pour obtenir(pki, ski)←Ring−id−keygen(param, i)

puis il rajouteià l’ensembleU H et il retourne la clé publiquepki.

Corrupt. Il prend i comme entrée et retournesi i /∈ U H \U S. Sinon il rajouteià l’ensembleU C puis il supprimeide l’ensembleU H et il retourne la clé secrèteski qui correspond à l’utilisateuri.

Prouv. Il prend en entréeR= (pki1,· · · , pkil), itetµin. Sipkit ∈/ Rou bien it ∈/ U H \U S alors retourne. Sinon il utilise les algorithmes de généra-tion des clés du cercle correspondants à l’utilisateurit, par conséquent il

ob-tientRing−pk←Ring−id−ccp(param, R)etRing−sk←Ring−id−ccs(param, R, skit). Puis il initialise l’état du prouveur parstP ←(param, R,Ring−pk,Ring−sk, skit). Finalement il retourneµout ← P(µin, stP).

Phase de challenge :Dans cette phaseenvoie àCun challengeRc = (pki1,· · · , pkic). Si{i1,· · · , ic}*U H, alors le challengeur abandonne le jeu. Sinon,C initialise U S ← {i1,· · · , ic} et commence la phase d’usurpation d’identité avec l’atta-quant. Ce dernier peut faire des requêtes aux oraclesInit,Corrupt, etProuv. A certain moment, le challengeur obtient

(T,desc)←Run[( ˜PInit,Corrupt,Prouv

↔ V)(param, Rc)],

avecInit,Corrupt,Prouvdésigne un prouveurayant accès aux oraclesInit,Corrupt

etProuv.

L’attaquantI = ( ˜P,V˜)gagne le jeu sidesc = 1. Un schéma d’identification de cercle est sûr contre l’usurpation d’identité avec des attaques parallèles à cercle choisi, si la probabilité qu’un attaquantI puisse gagner ce jeu est négligeable en le paramètre de sécuritén.

Anonymat : L’anonymat permet de s’assurer que l’on ne peut pas connaître les identités des prouveurs à partir de leurs transcriptions quand ils exécutent le pro-tocole. Nous adopterons la notion d’anonymat contre la révélation totale des clés

comme elle a été définie dans [Xag10], [KTX08]. Dans ce modèle, l’adversaire

peut entrer en coalition avec tout les prouveurs et récupère leurs clés secrètes. Pour renforcer cette notion Kawachi et al. supposent que l’adversaire peut générer lui même les clés des prouveurs.

Un schéma d’identification de cercle est anonyme contre la révélation totale des clés si aucun attaquant ne peut distinguer entre deux prouveurs en regardant leurs transcriptions. Nous donnons une formalisation de cette notion dans la définition suivante.

Définition 3.3. Soit un schéma d’identification de cercle défini par les algorithmes (Ring−id−init,Ring−id−keygen,Ring−id−ccp,Ring−id−ccs). On considère le jeu sui-vant entre un challengeurC et un attaquantA.

3.1- SCHÉMAS DIDENTIFICATION DE CERCLE 93

Phase de préparation :Soitn le paramètre de sécurité. Le challengeur envoie à l’attaquant(1n,param←Ring−id−init(1n)).

Phase de challenge :Dans cette phaseAenvoie àCun challenge(R,(pki0, ski0),(pki1, ski1))

tel que R = {pki}i∈[ℓ], {pki0, pki1} ∈ R et (pki0, ski0),(pki1, ski1) sont deux paires de clés valides. Ensuite le challengeur choisit un bit aléatoireb ∈ {0,1} et il exécute le protocole comme étant un prouveur en utilisant la clé secrète skib.

Finalement l’attaquant retourne un bitb et il gagne le jeu sib =b. Nous définissons l’avantage de l’attaquantAcomme étant

AdvA =|Pr[b =b]− 12|.

Un schéma d’identification de cercle satisfait la propriété d’anonymat contre la ré-vélation totale des clés si tout attaquant A a un avantage AdvA négligeable en le paramètre de sécuritén.

Documents relatifs