France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong...

43
France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07

Transcript of France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong...

Page 1: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

France TélécomRecherche & Développement

Traçage des traîtres fondé sur des couplagesDuong Hieu PHAN

ENST – 12/04/07

Page 2: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Plan

Diffusion de données chiffrées avec traçage des traîtres

Courbes elliptiques et couplages en cryptographie

Une attaque sur le schéma de traçage des traîtres TSZ

(Eurocrypt05-avec Chabanne et Pointcheval)

Schéma de traçage des traîtres basé sur l’identité

(PKC07- avec Abdalla, Dent, Malone-Lee, Neven et Smart)

Page 3: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Diffusion de données chiffréesavec traçage des traîtres

Page 4: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Chiffrement vs. Diffusion de données chiffrées

( , )c ar ah ch reKC E M Charlie( , )ch ca

er

dr haKK

Alice

Centre

Chiffrement à clé publique

Diffusion de données chiffrées

Alice

( , )ob ob b beKC E M Bob( , )bob

ebobdKK

( , )bo obbd

bM E CK

( , )cha c arr hdM E CK

( , )centreeC KE M

Bob( )bobdK

Charlie( )chardK

( , )bobdKM E C

( , )chardM KE C

Page 5: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Sécurité d'un schéma de diffusion de données chiffrées

Un bon chiffrement est nécessaire mais insuffisant !

Problème : si Bob donne sa clé à Eve, Eve pourra utiliser gratuitement les services du centre

Le but du centre : décourager les usagers légitimes de révéler des informations secrètes

Page 6: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Décodeur pirate vs. Traçage des traîtres

Un (ou plusieurs usagers) extrai(en)t des clés, puis les utilise(nt) pour fabriquer un décodeur pirate

Le but du centre : à partir d’un décodeur pirate, retrouver au moins un des usagers malhonnêtes (un des traîtres)

un schéma de traçage des traîtres = (un schéma de diffusion de données chiffrées + une procédure de traçage des traîtres)

Page 7: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Traçage des traîtres basé sur l’identité

Page 8: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Chiffrement basé sur l’identité[Shamir84, Boneh-Franklin01]

bobdK

Alice ( , )bob BC obE M Bob( , )bo obb

dbM E CK

Le chiffrement à clé publique, où la clé publique est l'identité du destinataire (qui peut être une suite arbitraire de bits)

PKG

Inconvénient : les clés secrètes doivent être fournies par une autorité (PKG).

clé ?

( )bobdK

Page 9: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Diffusion de données chiffrées basée sur l’identité

Groupe 1 : maths Groupe 2 : info

Groupe 3 : éco

Bob Alice

Charlie

PKG

. @ .bob maths univ frdK . @ .alice info univ fr

dK

. @ .charlie éco univ frdK

clé ? clé ?

clé ?

( , )@ .maths mathC s univ frE M

?

?

mathsC

mathsC

M

mathsC

Centre 1 Centre 2

Centre 3

Modèle classique

Page 10: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Diffusion de données chiffrées basée sur l’identité

Question : est-ce un vrai inconvénient que les clés secrètes doivent être fournies par une autorité (PKG) ?

Non, même dans le cas classique : c’est le centre qui génère des clés d’usagers

Page 11: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Modèle de sécurité

Ch

alle

ng

eu

r

Setup Pira

teparams

(ID*, D)

, dID2 ||id2 , …, dIDm ||idmdID1||id1KeyGen

ID1||id1

ID1||id1

T : coalition de traîtres

, ID2 ||id2, …, IDc ||idc

ID2 ||id2

IDc ||idc

(ID*, D)c

m (ID*, D)*( (ID , )) mD E m

S

A

[ ]( ) Pr (tra id cAAdv k S S T

Page 12: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplages sur les courbes elliptiques en cryptographie

Page 13: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Hypothèses cryptographiques

RSA: La factorisation de est difficile.

ElGamal : dans un groupe cyclique

(ou sur un sous-groupe cyclique de )

DLP: le logarithme discret dans un groupe cyclique est difficile: Etant donné g, ga. Retourner a.

CDH: le problème Diffie-Hellman calculatoire est difficile: Etant donné g, ga , gb. Retourner gab.

*pG g Z

*nZ

n p q

Page 14: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Méthodes sous-exponentielles pour la factorisation et le log discret dans Zn

*

Log discret : calcul d'indice (Index-calculus) Factorisation : crible quadratique (Quadratic Sieve), crible

algébrique (Number Field Sieve)

Ces méthodes utilisent la notion de nombre B-lisse et un test pour vérifier si un nombre est B-lisse (i.e. ses facteurs sont tous inférieurs à B).

Complexité Ln(1/3,2) , où :1-( (1))(log ) (log log )( , ) , (0, 1), 0

Remarque : 0 : (log ) (polynomial)

1: (exponentielle)

c o n nn

c

c

L c e c

n

n

Page 15: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Taille de la clé

2048112

102480

Taille de la clé

RSA ou Diffie-Hellman (bits)

Taille de la clé

symétrique (bits)

Source : NIST Recommended Key Sizes

3072128

7680192

15360256

Page 16: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Groupe des points sur une courbe elliptique

En 1985, Neal Koblitz et Victor Miller ont indépendamment proposé l'utilisation du groupe des points sur une courbe elliptique

Groupe des points sur une courbe elliptique : il n'y a pas encore de notion convenable d'élément B-lisse avec un test efficace d'élément B-lisse pour ce groupe

Page 17: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Courbes elliptiques

Courbe elliptique sur un corps :y2 + a1 xy + a3y = x3 + a2x2+a4x+a6

Si char( ) ≠ 2,3 :

y2 = x3 + ax + b

Propriété importante : on peut définir une opération sur les points des courbes non singulières ( 4a3 + 27b2 ≠ 0 ) telle qu’ils forment un groupe.

K

K

Page 18: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Groupe des points sur une courbe elliptique Identité du groupe : point à l'infini

Il s'agit du point [0,1,0] en coordonnées projectives :Y2 Z= X3 + aXZ2 +bZ3

: la loi du groupe

a une interprétation géométrique En tout cas :

s = (yP - yQ) / (xP - xQ) si P ≠ Q s = (3xP

2 + a) ∕ 2yP si P = QxR = s2 - xP - xQ yR = -yP + s(xP - xR)

L’associativité est bien vérifiée

K RO

Page 19: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Log discret sur le groupe des points sur une courbe elliptique : O( )n

Taille de la clé ( x bits)

Com

plex

ité

( 2y o

péra

tion

s)

Page 20: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Comparaison

52115360256

3847680192

2563072128

2242048112

160102480

Taille de la clé des

courbes elliptiques (bits)

Taille de la clé

RSA ou Diffie-Hellman

(bits)

Taille de la clé

symétrique (bits)

Source: NIST Recommended Key Sizes

Page 21: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplage de Weil

Courbe E sur un corps fini

(le sous-groupe de points de n-torsion dans )

Balasubramanian et Koblitz :

où k est le plus petit entier tel que n | qk - 1

Couplage de Weil :

qF

[ ] ( ) | qE n P E nP O F( )qE F

[ ] [ ]( )kqE n E n F

: [ ] [ ] kn qe E n E n F

Skip

Page 22: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplage de Weil : un peu plus détail (1)

Diviseurs sur E :

0

[ ], avec un nombre fini de termes non-nuls

deg( ) , Div ( ) Div( ) : deg 0

P PP E

PP E

D n P n

D n C D C D

Diviseur principale (diviseur associé à une fonction rationnelle f sur E) :

0

div( ) ( )[ ]

Prin( ) Div ( ) / : div( )

PP Ef ord f P

E D E f D f

Théorème :

(pour les courbes hyperelliptiques, il n’existe pas cette isomorphisme et il faut donc travailler directement sur

)

0 0Pic ( )=Div ( )/Prin( )

classe de ( ) ( )

E E E E

P P O

0Div ( )/Prin( )HE HE

Page 23: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplage de Weil : un peu plus détail (2)

0 [ ] Div ( ) est principaleP PP E P ED n P E n P O

Etant donné P, Q E[n], il existe des fonctions fP , fQ:

div(fP) = n[P] – n[O], div(fQ) = n[Q] – n[O]

Couplage de Weil:

( [ ] [ ], [ ] [ ])P QA P O A Q O

( , ) ( ) / ( )n P Q Q Pe P Q f A f A

Page 24: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplage de Weil : propriétés

1. Bilinéarité: P, Q E[n] , en(aP ,bQ ) = en(P, Q)ab

2. en est alterné: P,Q E[n], en(P, Q) = en(Q, P)-1.

3. Non dégénérescence: Si O ≠ P E [n], il existe Q E [n] tel que en(P, Q)

≠ 1.

G1 = <P>, G2 = <Q>, GT= <en(P,Q)>

kqF

e : G1 × G2 → GT

Page 25: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Couplages en cryptographie

e : G1 × G2 → GT (G1, G2, GT sont considérés comme des groupes multiplicatifs)

est: 1. Bilinéaire : e(g1

a, g2b) = e(g1, g2)ab pour tout a,b Zn , g1G1

, g2 G2

2. Non-dégénéré : e(g1, g2) ≠ 1

3. Calculable : grâce à l'algorithme de Miller, les couplages de Weil (et puis de Tate) sont efficacement calculables (mais encore coûteux par rapport aux exponentielles).

Page 26: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Réduction MOV

Réduction de l’ECDLP au DLP sur :

ECDLP(g1,g1a)

= DLP(e(g1,g2), e(g1a,g2))

Conséquence: il faut travailler sur des groupes tels que est suffisamment grand.

kqF

e : G1 × G2 → GT

kqF

Page 27: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Pourquoi les couplages présente des avantages ? Intuition

Avantage : il nous permet de résoudre un problème analogue au problème de Diffie-Hellman

gT = e(g1, g2). Etant donné g1

a, g2b, on peut calculer

gTa = e(g1

a, g2), gTb = e(g1, g2

b) et gTab = e(g1

a, g2b) sans avoir

besoin de connaître a,b

Exemple [Joux 01] : protocol d’échange de clé de trois parties

e : G1 × G2 → GT

Page 28: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Utilisation des couplages en cryptographie

1993 : première utilisation : réduction MOV du ECDLP au DLP sur un corps fini

2001: premier schéma pratique de chiffrement basé sur l’identité [Boneh-Franklin et Sakai-Ohgishi-Kasahara]

Depuis, plusieurs articles sur :ChiffrementSignature: Signature du group sans oracle aléatoireDiffusion de données chiffrées…

Page 29: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Attaque sur le schéma TSZ

Page 30: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Schéma TSZ [To, Safavi-Naini, Zhang03](le cas de 1-traitor tracing)

Couplage ê: G1 × G1 → GT. g1, g2 sont deux générateurs de G1 (d’ordre q premier). gT = ê(g1, g2) est une générateur de GT

f(x) = x + a0 sur Fq

Clé secrète du centre: g1, a0.

Clé publique: (gT, g2, g’2 = g2a0)

Clé de u : Ku = g11/f(u)

gT = ê(Ku, g2 (u+a0)) = ê(Ku, g’2) ê(Kuu, g2)

Chiffrement: C = (M.gTr, g’2

r , g2r), pour r R Zq

Déchiffrement: gTr = ê(Ku, g’2

r) ê(Kuu, g2

r).

Page 31: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Décodeur pirate anonyme

Utilisateur u : randomiser (Ku, Kuu)

X0 = Ku g2 z

0 , pour z0 R Zq

X1 = Kuu (g’2)

-z0

Un décodeur pirate (X0,X1)

gr = ê(X0, g’2r) ê(X1, g2

r)

Pourquoi ce décodeur pirate n’est pas traçable?(X0, X1) peut être défini d’une façon indépendante de u :

X0 est aléatoirement choisi dans G1

X1 = g1 (X0 a

0 )-1

Page 32: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Traçage des traîtres basé sur l’identité

Page 33: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Chiffrement basé sur l’identité de Waters

• Centre : G1, G2, GT d’ordre q Clé secrète: Zq

Clé publique: g G1, g1=g , g2 G2,

Un vecteur publique U = ( u0, u1, … un) G2n+1

Pour ID {0,1}n :

("j ID" si ID[j] = 1)

Exemple: H(ID = 01101) = u0u2u3u5

e : G1 × G2 → GT

0( ) jj ID

H ID u u

Page 34: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Chiffrement

Génération de la clé pour ID :

2 1( , ( ) ), ( )Rr rIDd g g H ID r ord G

Etant donné ( , ( ) )t tg H ID

L’utilisateur ID peut calculer 1 2( , )te g g

Chiffré: 1 2( ( , ) , , ( ) )t t te g g M g H ID

Page 35: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Chiffrement à 2 niveaux

Génération de la clé pour ID|| id :1 1

|| 2 12 2

2, ( )( , ( ) )r r

ID i

r

d

rd g gg H idH ID

1 0( ) jj ID

H ID u u

2 0( ) jj id

H id v v

ID

id

L’identité d’un utilisateur est ID || id

Deux vecteurs U = ( u0, u1, … un) G2n+1 et V = ( v0, v1, … vn) G2

n+1

Chiffré : 1 1 22 (( ( , ) , , ( ) , ))tt t te g g M g H H idID

Page 36: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Diffusion basé sur l’identité

Méthode naïve: combiner tous les chiffrés

ID

id1 id2idN

2 1 21 2 1 2 2( ) , ( ) ,..., (( ( , ) , , ( ) ), )t t tN

t t t H ide g g M g H id H idH ID

0,..,( )tj j nv 2 ( ) , pour tout tH id id Etant donné : On peut calculer:

- Chiffrement basé sur ID (identité du groupe)

- Tous les ID||id avec id= id1,…,idN

peuvent faire le déchiffrement

1 2 1 0,..,( ( )( , ) , , ( ) , )t t t tj j ne g g M g H ID v

Chiffré unique:

Page 37: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Problème principal : que peut faire le traceur?

0,..,( )tj j nv

1 2 1 0,..,( ( , ) , , ( ) , ( ) )t t t tj j ne g g M g H ID v Chiffré:

2 0( )t t tj

j id

H id v v

Page 38: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Coalition d’utilisateurs (1)

Considérer une coalition T = {id1, …, idc}

Lemme 1 : si idi[k] = 0, pour tout i = 1,…,c,

T ne peut pas distinguer entre :

et

où (vk)t est remplacé par un aléa R,

sous l’hypothèse que le problème Diffie-Hellman décisionnel dans le groupe G2 est difficile

1 2 1 0,.., 1 1,..,( ( , ) , , ( ) , ( ) , , ( ) )t t t t tj j k j j k ne g g M g H ID v R v

1 2 1 0,.., 1 1,..,( ( , ) , , ( ) , ( ) , , ( ) )tk

t t t t tj j k j j k ne g g M g H ID v vv

Page 39: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Coalition d’utilisateurs (2)

Considérer une coalition T = {id1, …, idc}

Lemme 2 : si idi[k] = 1, pour tout i = 1,…,c

le déchiffrement de T sur

est différent de M,

sous l’hypothèse que le problème Diffie-Hellman bilinéaire est difficile

1 2 1 0,.., 1 1,..,( ( , ) , , ( ) , ( ) , , ( ) )t t t t tj j k j j k ne g g M g H ID v R v

Page 40: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Procédure de traçage

0,..,( )tj j nv

Pour chaque j = 0,…,n : remplacer vtj par un aléa

Si le décodeur déchiffre correctement, mettre w[j] =0Si le décodeur déchiffre incorrectement ou refuse de déchiffrer, mettre w[j] =1

w = 0 1 1 0 0 1 1 0….

c1 = 0 * 1 * * 1 * 0

c2 = * 1 * * 0 * * *

c3 = * * * 0 * * 1 0

Collusion

Codes résistants aux collusions [Boneh-Shaw95]

Si c1,c2,c3 sont des mots d’un code résistant

aux collusions

Alors, à partir de w, on peut tracer un des c1,c2,c3.

Exemple:

Page 41: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Traçage des traîtres basé sur l'identité : Chiffrement

Etant donné un code résistant aux collusions C(c, N, ) de longueur Génération de la clé pour l’utilisateur k du groupe ID (ID|| k)

k est associé d'un mot ck (choisi aléatoirement) du code CLa clé de l’ID|| k est :

1 2 1 2|| 2 1 2( ( ) ( ) , , )

r r r r

ID k kd g H ID H c g g Chiffré diffusé pour le groupe ID:

1 2 1 0,..,( ( , ) , , ( ) , ( ) )t t t tj je g g M g H ID v

Théorème : si une coalition de c utilisateurs arrive à produire un décodeur pirate intraçable, on peut donc casser la procédure de traçage pour le code C.

Page 42: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Discussion : efficacité du schéma

La taille du code :

Le code est long, les paramètres sont donc grands.

Les couplages utilisés sont des couplages asymétriques.

Le schéma ne supporte pas la traçabilité publique.

2 2 1( log log )O c N c

Page 43: France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07.

Conclusion

Couplages sur des courbes elliptiques en cryptographie

Premier schéma de traçage des traîtres basé sur l'identité :

des couplages des codes résistants aux collusions

Pistes d’amélioration :d’autres types de codestraçabilité publique