La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "France Télécom Recherche & Développement Traçage des traîtres fondé sur des couplages Duong Hieu PHAN ENST – 12/04/07."— Transcription de la présentation:

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

2 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 lidentité (PKC07- avec Abdalla, Dent, Malone-Lee, Neven et Smart)

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

4 Chiffrement vs. Diffusion de données chiffrées Alice Centre Chiffrement à clé publique Diffusion de données chiffrées Alice

5 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

6 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 dun 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)

7 Traçage des traîtres basé sur lidentité

8 Chiffrement basé sur lidentité [Shamir84, Boneh-Franklin01] Alice 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é ?

9 Diffusion de données chiffrées basée sur lidentité Groupe 1 : mathsGroupe 2 : info Groupe 3 : éco Bob Alice Charlie PKG clé ? ? ? M Centre 1Centre 2 Centre 3 Modèle classique

10 Diffusion de données chiffrées basée sur lidentité 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 : cest le centre qui génère des clés dusagers

11 Modèle de sécurité Challengeur Setup Pirate params ( ID *, D), d ID2 ||id2, …, d IDm ||idm d ID1 ||id1 KeyGen ID 1||id1 T : coalition de traîtres, ID 2 ||id2, …, ID c ||idc ID2 ||id2 IDc ||idc … (ID *, D) c m S A

12 Couplages sur les courbes elliptiques en cryptographie

13 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, g a. Retourner a. CDH: le problème Diffie-Hellman calculatoire est difficile: Etant donné g, g a, g b. Retourner g ab.

14 Méthodes sous-exponentielles pour la factorisation et le log discret dans Z n * 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é L n (1/3,2), où :

15 Taille de la clé Taille de la clé RSA ou Diffie-Hellman (bits) Taille de la clé symétrique (bits) Source : NIST Recommended Key Sizes

16 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

17 Courbes elliptiques Courbe elliptique sur un corps : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 +a 4 x+a 6 Si char( ) 2,3 : y 2 = x 3 + ax + b Propriété importante : on peut définir une opération sur les points des courbes non singulières ( 4a b 2 0 ) telle quils forment un groupe.

18 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 : Y 2 Z= X 3 + aXZ 2 +bZ 3 : la loi du groupe a une interprétation géométrique En tout cas : s = (y P - y Q ) / (x P - x Q ) si P Q s = (3x P 2 + a) 2y P si P = Q x R = s 2 - x P - x Q y R = -y P + s(x P - x R ) Lassociativité est bien vérifiée O

19 Log discret sur le groupe des points sur une courbe elliptique : Taille de la clé ( x bits) Complexité ( 2 y opérations)

20 Comparaison 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

21 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 | q k - 1 Couplage de Weil : Skip

22 Couplage de Weil : un peu plus détail (1) Diviseurs sur E : Diviseur principale (diviseur associé à une fonction rationnelle f sur E) : Théorème : (pour les courbes hyperelliptiques, il nexiste pas cette isomorphisme et il faut donc travailler directement sur )

23 Couplage de Weil : un peu plus détail (2) Etant donné P, Q E[n], il existe des fonctions f P, f Q : div(f P ) = n[P] – n[O], div(f Q ) = n[Q] – n[O] Couplage de Weil:

24 Couplage de Weil : propriétés 1. Bilinéarité: P, Q E[n], e n (aP,bQ ) = e n (P, Q) ab 2. e n est alterné: P,Q E[n], e n (P, Q) = e n (Q, P) Non dégénérescence: Si O P E [n], il existe Q E [n] tel que e n (P, Q) 1. G 1 =, G 2 =, G T = e : G 1 × G 2 G T

25 Couplages en cryptographie e : G 1 × G 2 G T (G 1, G 2, G T sont considérés comme des groupes multiplicatifs) est: 1. Bilinéaire : e(g 1 a, g 2 b ) = e(g 1, g 2 ) ab pour tout a,b Z n, g 1 G 1, g 2 G 2 2. Non-dégénéré : e(g 1, g 2 ) 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).

26 Réduction MOV Réduction de lECDLP au DLP sur : ECDLP(g 1,g 1 a ) =DLP(e(g 1,g 2 ), e(g 1 a,g 2 )) Conséquence: il faut travailler sur des groupes tels que est suffisamment grand. e : G 1 × G 2 G T

27 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 g T = e(g 1, g 2 ). Etant donné g 1 a, g 2 b, on peut calculer g T a = e(g 1 a, g 2 ), g T b = e(g 1, g 2 b ) et g T ab = e(g 1 a, g 2 b ) sans avoir besoin de connaître a,b Exemple [Joux 01] : protocol déchange de clé de trois parties e : G 1 × G 2 G T

28 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 lidentité [Boneh-Franklin et Sakai-Ohgishi- Kasahara] Depuis, plusieurs articles sur : Chiffrement Signature: Signature du group sans oracle aléatoire Diffusion de données chiffrées …

29 Attaque sur le schéma TSZ

30 Schéma TSZ [To, Safavi-Naini, Zhang03] (le cas de 1-traitor tracing) Couplage ê: G 1 × G 1 G T. g 1, g 2 sont deux générateurs de G 1 (dordre q premier). g T = ê(g 1, g 2 ) est une générateur de G T f(x) = x + a 0 sur F q Clé secrète du centre: g 1, a 0. Clé publique: (g T, g 2, g 2 = g 2 a 0 ) Clé de u : K u = g 1 1/f(u) g T = ê(K u, g 2 ( u+a 0 ) ) = ê(K u, g 2 ) ê(K u u, g 2 ) Chiffrement: C = (M.g T r, g 2 r, g 2 r ), pour r R Z q Déchiffrement: g T r = ê(K u, g 2 r ) ê(K u u, g 2 r ).

31 Décodeur pirate anonyme Utilisateur u : randomiser (K u, K u u ) X 0 = K u g 2 z 0, pour z 0 R Z q X 1 = K u u (g 2 ) -z 0 Un décodeur pirate (X 0,X 1 ) g r = ê(X 0, g 2 r ) ê(X 1, g 2 r ) Pourquoi ce décodeur pirate nest pas traçable? (X 0, X 1 ) peut être défini dune façon indépendante de u : X 0 est aléatoirement choisi dans G 1 X 1 = g 1 (X 0 a 0 ) -1

32 Traçage des traîtres basé sur lidentité

33 Chiffrement basé sur lidentité de Waters Centre : G 1, G 2, G T dordre q Clé secrète: Z q Clé publique: g G 1, g 1 =g, g 2 G 2, Un vecteur publique U = ( u 0, u 1, … u n ) G 2 n+1 Pour ID {0,1} n : ( "j ID" si ID[j] = 1 ) Exemple: H(ID = 01101) = u 0 u 2 u 3 u 5 e : G 1 × G 2 G T

34 Chiffrement Génération de la clé pour ID : Etant donné Lutilisateur ID peut calculer Chiffré:

35 Chiffrement à 2 niveaux Génération de la clé pour ID|| id : ID id Lidentité dun utilisateur est ID || id Deux vecteurs U = ( u 0, u 1, … u n ) G 2 n+1 et V = ( v 0, v 1, … v n ) G 2 n+1 Chiffré :

36 Diffusion basé sur lidentité Méthode naïve: combiner tous les chiffrés ID id 1 id 2 id N Etant donné : On peut calculer: - Chiffrement basé sur ID (identité du groupe) - Tous les ID||id avec id= id 1,…,id N peuvent faire le déchiffrement Chiffré unique:

37 Problème principal : que peut faire le traceur? Idée: jouer sur une partie du chiffré Considérer un membre id : Si id[j] = 0, remplacer v t j par un aléa n'affecte pas id En effet: H 2 (id) t ne dépend pas de v t j Si id[j] = 1, remplacer v t j par un aléa rend H 2 (id) t aléatoire et donc id recevra un clair randomisé Chiffré:

38 Coalition dutilisateurs (1) Considérer une coalition T = {id 1, …, id c } Lemme 1 : si id i [k] = 0, pour tout i = 1,…,c, T ne peut pas distinguer entre : et où (v k ) t est remplacé par un aléa R, sous lhypothèse que le problème Diffie-Hellman décisionnel dans le groupe G 2 est difficile

39 Coalition dutilisateurs (2) Considérer une coalition T = {id 1, …, id c } Lemme 2 : si id i [k] = 1, pour tout i = 1,…,c le déchiffrement de T sur est différent de M, sous lhypothèse que le problème Diffie-Hellman bilinéaire est difficile

40 Procédure de traçage Pour chaque j = 0,…,n : remplacer v t j par un aléa Si le décodeur déchiffre correctement, mettre w[j] =0 Si le décodeur déchiffre incorrectement ou refuse de déchiffrer, mettre w[j] =1 w = …. c 1 =0 * 1 * * 1 * 0 c 2 = * 1 * * 0 * * * c 3 =* * * 0 * * 1 0 Collusion Codes résistants aux collusions [Boneh- Shaw95] Si c 1,c 2,c 3 sont des mots dun code résistant aux collusions Alors, à partir de w, on peut tracer un des c 1,c 2,c 3. Exemple:

41 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 lutilisateur k du groupe ID (ID|| k) k est associé d'un mot c k (choisi aléatoirement) du code C La clé de lID|| k est : Chiffré diffusé pour le groupe ID: 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.

42 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.

43 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 damélioration : dautres types de codes traçabilité publique


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

Présentations similaires


Annonces Google