. ACI Sécurité CESAM Les courbes elliptiques pour la sécurité des appareils mobiles ENS École polytechnique CNRS INRIA Journées PaRI-STIC, novembre 2006 p. 1/22
Plan de l exposé Rappel des objectifs de CESAM ; Résumé des résultats obtenus ; Zoom : Extraction d entropie. Journées PaRI-STIC, novembre 2006 p. 2/22
. Le projet CESAM Journées PaRI-STIC, novembre 2006 p. 3/22
Participants (1) Coordinateur : David Pointcheval (CNRS LIENS) Équipe Cryptographie LIENS Michel Abdalla, CR1 - CNRS Dario Catalano, CR2 - CNRS Pierre-Alain Fouque, MdC ENS Sébastien Kunz-Jacques, thésard Duong Hieu Phan, thésard Journées PaRI-STIC, novembre 2006 p. 4/22
Participants (2) Cryptologie Projet TANC, INRIA Futurs Régis Dupont, thésard Andreas Enge, CR2 INRIA Pierrick Gaudry, CR2 CNRS Nicolas Gürel, ATER Marne-la-Vallée Thomas Houtmann, thésard + Collaboration avec Olivier Chevassut Lawrence Berkeley National Laboratory Journées PaRI-STIC, novembre 2006 p. 5/22
Objectifs initiaux de CESAM (1) Cryptographie pour les environnements contraints ; La cryptographie basée sur l identité ; La cryptographie à base de mots de passe ; Journées PaRI-STIC, novembre 2006 p. 6/22
Objectifs initiaux de CESAM (2) Les courbes elliptiques ; Le problème du logarithme discret ; Protocoles existants : analyse des normes ; Optimisation des protocoles ; Génération de paramètres. Journées PaRI-STIC, novembre 2006 p. 7/22
. Résultats obtenus Journées PaRI-STIC, novembre 2006 p. 8/22
Résumé des resultats obtenus (1) Échange de clef authentifié avec mot de passe ; Résistance aux attaques par dictionnaire. Plusieurs protocoles proposés/prouvés. [BCP03] [BCP04] [ACP05] [CPP04] [CPP06] [ACP05b]. Intégration dans OpenSSL [ABC+06] [ABC+06b]. RFC en cours d écriture. Serveur d authentification [AFP05] [AP05a]. Échange de clef ; authentification asymétrique ; Étude des normes, en particulier ECMQV [KJP06a] [KJP06b]. Échange de clef en faible puissance : distribution par un serveur [BCEP03] [BCEP04]. Journées PaRI-STIC, novembre 2006 p. 9/22
Résumé des resultats obtenus (2) Extraction d entropie ; Cas des corps finis [FPSZ06] et des courbes elliptiques [CFGP05] [CFGP06] [G05]. Génération de courbes ; Étude du log discret [G04] [GTT+06] [EG06]. Fabrication de courbes sûres par comptage de points [GM06] [E06a] [EGM06] et par multiplication complexe [E06b] [GHK+06]. Couplages Chiffrement vers des destinataires dont l identité contient des «wild-card» [ACD+06]. Diffusion chiffrée, traçage de pirates [CPP05]. Signature de groupe [DP06]. Journées PaRI-STIC, novembre 2006 p. 10/22
. Zoom : Extraction d entropie Journées PaRI-STIC, novembre 2006 p. 11/22
G = g groupe cyclique d ordre n. Échange de clef Diffie Hellman Alice réseau Bob choisit x A [1, n] calcule K A = g x A calcule K AB = K B x A K A K B K AB = g x Ax B choisit x B [1, n] calcule K B = g x B calcule KAB = K A x B La clef K AB est utilisée comme clef de session dans un algorithme de chiffrement symétrique. Journées PaRI-STIC, novembre 2006 p. 12/22
Échange de clef authentifié Lutte contre les attaques «Man in the middle» : on suppose qu Alice et Bob disposent de clefs publiques dans une PKI. Alors on peut authentifier les échanges (essentiellement en signant les flux de données). Authentification mutuelle (optionnel) : on rajoute deux passes pour être sûr que l échange de clef s est bien passé. Exemple : protocole SIGMA dans IPSEC (Internet Key Exchange). Journées PaRI-STIC, novembre 2006 p. 13/22
Problème de la dérivation de clef Dérivation de clef : Déduire la clef de session K s (chaîne de bits) à partir de l élément du groupe K AB. En cryptographie symétrique, tous les bits de K s doivent être vraiment aléatoires! K AB est un élément aléatoire du groupe, représenté par une chaîne de bits (pas tous aléatoires...) Comment dériver une clef de session K s à partir de K? Journées PaRI-STIC, novembre 2006 p. 14/22
Exemple de difficulté Si G est le groupe multiplicatif de F p pour un p premier. L hypothèse Decisional Diffie Hellman (DDH) dit que (g x, g y, g xy ) et (g x, g y, g z ) sont indistingables. Mais (g x, g y, g xy ) et (g x, g y, R) (pour un chaîne de bits aléatoires R) ne sont pas indistingables : Parfois le symbole de Legendre peut suffir pour distinguer. De plus, R ne correspond pas forcément à la représentation d un élément de G. Journées PaRI-STIC, novembre 2006 p. 15/22
Solutions standards Fonction de hachage classique On calcule K s comme image de K AB par une fonction de hachage cryptographiquement sûre. Cela signifie que l on aura une preuve seulement sous l hypothèse de l oracle aléatoire. De plus, cela rajoute une opération. Left-over-Hash Lemma On calcule K s à partir de K AB à l aide d une fonction de hachage universelle et de bits aléatoires. Solution élégante et générique, mais on extrait peu d entropie : si on a en entrée une entropie de s bits (240), on extrait k = s 2e bits (80) avec un biais 2 e (2 80 ) Journées PaRI-STIC, novembre 2006 p. 16/22
Extraction directe d entropie? Il est tentant d utiliser un extracteur simple. Exemple : les premiers bits dans la représentation machine. Résultat principal : peu efficace dans le cas des corps finis ; possible (en partie) dans le cas des courbes elliptiques. Journées PaRI-STIC, novembre 2006 p. 17/22
Extraction d entropie dans les corps finis (1) Soit p un nombre premier, et F p le corps fini à p éléments. Deux types d attaques connues pour le log discret dans G F p : Crible algébrique Complexité sous-exponentielle en p ; Attaque générique Complexité en G = il faut travailler dans un sous-groupe G de F p tel que p > 1024 bits, G > 160 bits. Journées PaRI-STIC, novembre 2006 p. 18/22
Extraction d entropie dans les corps finis (2) Thm. [FPSZ06] La distance statistique entre prendre les k premiers bits d un élément aléatoire uniforme dans G ; prendre k bits aléatoires uniformes ; est bornée par 2 k+n/2+log 2 (n)+1 l, où n = log 2 (p) et l = log 2 ( G ). Problème : Ceci ne dit quelque chose que si G p, ce qui est loin d être optimal. Journées PaRI-STIC, novembre 2006 p. 19/22
Courbes elliptiques Soit F p le corps fini à p éléments (p fait 160 bits). Def Une courbe elliptique sur F p est E a,b = {(x, y) F p F p : y 2 = x 3 + ax + b} { E } Bien connu : on peut «additionner» deux points de E a,b (construction géométrique). Loi de groupe sur E a,b. Avantage : Le meilleur algorithme pour calculer un log discret est en p. = il faut travailler sur une courbe avec p > 160 bits. Journées PaRI-STIC, novembre 2006 p. 20/22
Courbes elliptiques et twists quadratiques Soit c un non-résidu quadratique de F p. Def La twist quadratique de E a,b est Ẽ a,b = {(x, y) F p F p : cy 2 = x 3 + ax + b} { Ẽ}. Remarques : Ẽ a,b est elle-même une courbe elliptique sur F p. Il y a donc aussi une loi de groupe sur Ẽa,b. Soit x un élément de F p. Alors ou bien x est l abscisse d un point de E a,b, ou bien x est l abscisse d un point de Ẽa,b. En effet, si x 3 + ax + b est un carré, alors on a un point sur E a,b, sinon c(x 3 + ax + b) est un carré, et on a un point sur Ẽa,b. Journées PaRI-STIC, novembre 2006 p. 21/22
Protocole d échange de clef TAU TAU : Twist-AUgmented key exchange protocol [CFGP06]. En deux mots. On fait tourner deux protocoles Diffie Hellman en parallèle : l un sur E a,b, l autre sur Ẽa,b. Alice envoie sa contribution sur E a,b et sur Ẽa,b. Bob en choisit une au hasard, y ajoute sa contribution et en déduit K AB. Il renvoit à Alice sa contribution ainsi qu une contribution factice sur l autre courbe. Alice reconnaît la bonne et déduit K AB. Propriété fondamentale : l abscisse de K AB est un élément complètement aléatoire de F p. Si p 2 l, le stockage traditionnel de l abscisse de K AB donne directement l bits (presque) aléatoires (sans fonction de hachage). = Extracteur très performant! Journées PaRI-STIC, novembre 2006 p. 22/22