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

ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque Département dinformatique de lÉcole normale supérieure & CS Communication.

Présentations similaires


Présentation au sujet: "ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque Département dinformatique de lÉcole normale supérieure & CS Communication."— Transcription de la présentation:

1 ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque Département dinformatique de lÉcole normale supérieure & CS Communication et Système 4 octobre 2001

2 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du cryptosystème de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

3 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie : objectifs Confidentialité Empêcher quune personne non autorisée ait accès à des données stockées ou transmises Intégrité Éviter quune personne non autorisée puisse modifier des données stockées ou transmises sans que les utilisateurs légitimes ne sen aperçoivent Authentification Processus au cours duquel une personne prouve quelle est bien celle quelle prétend être ou quun document provient dune personne autorisée Disponibilité de service Garantir le fonctionnement dun service en présence de pannes ou derreurs de la part de certains serveurs

4 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie : chiffrement Chiffrement à clé publique: émetteur et récepteur ont chacun une clé différente. Seul le destinataire peut déchiffrer, mais tout le monde peut lui envoyer des messages Chiffrement symétrique: émetteur et récepteur utilisent la même clé pour chiffrer et déchiffrer. Pb: échange de clés c = E(k,m) m D(k,c)=m k c k c = E(pk,m,r) m D(sk,c)=m sk c rpk

5 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie : signature Tout le monde peut vérifier la signature dun message La signature dépend dune seule personne connaissant la clé privée sk et seule cette personne peut émettre la signature s sur le message m s = S(sk,m,r) sk V(pk,m,s)=0/1 pk (m, s) mr Notion de sécurité: éviter les falsifications existentielles

6 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

7 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : motivations Problèmes: les machines peuvent être attaquées via le réseau (mauvaises protections réseau et/ou système de certains OS, configuration du réseau Internet), ou par des chevaux de Troie => Lattaquant peut avoir accès au contenu de la mémoire, modifier son contenu, etc. Parade: éviter que la clé soit dans une seule machine => Lattaquant doit alors attaquer plusieurs machines (Schéma partagé) Autre application: éviter de donner trop de pouvoir à une personne (banque,...)

8 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : adversaires Un t-adversaire A peut corrompre jusquà t (seuil) personnes (serveurs) parmi n (t < n/2) : obtenir tout ce qui est dans la mémoire des serveurs corrompus ou/et jouer à leur place Classification des adversaires de la cryptographie à seuil Passif : A connaît les parts des joueurs corrompus Actif : A passif et peut jouer à la place dun serveur corrompu Statique : A choisit les serveurs à attaquer au début du protocole Adaptatif : A choisit les serveurs à attaquer tout au long du jeu

9 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : objectifs Éviter le pouvoir dune seule et même personne Partage de la clé entre plusieurs personnes. La réunion de plusieurs dentre elles est nécessaire pour reconstituer la clé ou évaluer une fonction de manière secrète La clé secrète sk est décomposée en parts. Chaque part sk i est détenue de manière secrète par une seule personne (serveur) Disponibilité du service de signature ou de déchiffrement La redondance du partage de la clé permet de résister aux pannes ou à la perte de certaines parts

10 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : partage de fonctions Partager le calcul dune fonction sans reconstruire la clé Exemple : signature RSA de x=H(m) : calculer f(x)=x d mod N Chaque serveur calcule une partie de la fonction avec sa part de clé Un combineur reconstruit la valeur de la fonction sans utiliser dinformation privée Exemple : Partage additif de la clé d=d d n de signature. Pour signer le message m, chaque serveur calcule x et s i =x d i mod N, envoie s i au combineur qui calcule s 1. ….s n =x d x d n = x d mod N

11 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : modèle de sécurité Notion de sécurité : Les messages vus par un t-adversaire ne lui sont daucune aide pour déterminer la part des joueurs honnêtes Avec seulement t parts de la clé secrète, linformation apprise ne lui permet pas : de déterminer une (t+1)-ième part de la clé secrète: reconstitution de la clé de générer une (t+1)-ième part de signature: signer un nouveau message La preuve montre quun t-adversaire A contre le schéma partagé permet de construire un attaquant B contre le schéma non- partagé Le schéma partagé est sûr si le schéma non-partagé lest

12 Pierre-Alain FOUQUE, 4 octobre ENS / CS Cryptographie partagée : robustesse Notion de sécurité : La robustesse garantit la disponibilité du service en présence dun adversaire actif Exemple: le schéma génère toujours une signature valide tant que t+1 parts de signature sont correctes Solution possible: Le combineur choisit t+1 serveurs et génère une signature jusquà ce que la signature générée soit correcte Pb: Lalgorithme du combineur peut ne pas être efficace (réalisable en temps polynomial) => Besoin dune méthode efficace pour décider si une part de signature est correcte, si possible non-interactive: preuve de validité

13 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

14 Pierre-Alain FOUQUE, 4 octobre ENS / CS Partage complet du système RSA : motivation Boneh et Franklin [Crypto 97] : protocole distribué pour générer un module RSA (N=pq) et pour partager une clé secrète sans distributeur de confiance Restriction : impossible dimposer des conditions particulières sur p et q Shoup [Euro 00] : schéma de signature RSA à seuil robuste, sûr sous réserve que le schéma de signature RSA soit sûr et non-interactif La preuve de validité non-interactive requiert un module RSA sûr (N=pq, où p=2p+1, q=2q+1, et p, q, p et q sont premiers) Distributeur de confiance nécessaire pour générer la clé et la distribuer entre les serveurs, car il est difficile de générer de manière partagée des modules RSA sûrs … Fouque-Stern [Asia 01] : distribution complète du schéma (pas de distributeur de confiance)

15 Pierre-Alain FOUQUE, 4 octobre ENS / CS Partage complet de RSA Approche : assouplir les restrictions sur p et q dans la génération du module RSA et modifier la preuve de validité de part pour quelle fonctionne avec les modules RSA résultants Preuve de validité de Shoup Chaque joueur possède une clé de validité vk i =v di et prouve que DL v (vk i )=DL x 4 (s i 2 ) mod (N) où v génère Q N, s i =x 2di et (N)=(p-1)(q-1) Si N est sûr, s Q N est le groupe des carrés, cyclique dordre pq sans petit facteur premier s avec probabilité écrasante, on sait trouver un générateur v Notre schéma construit Q N cyclique dordre ne possédant pas de petit facteur premier < B avec forte probabilité un ensemble générateur v 1, …, v k

16 Pierre-Alain FOUQUE, 4 octobre ENS / CS Partage complet de RSA (2) Nous pouvons générer N=pq (p=2p+1 et q=2q+1) tel que : Lordre de Q N, pq, soit sans petit facteur premier < B (crible distribué) et pgcd(p,q)=1, ainsi Q N est cyclique car Q p et Q q sont les groupes des carrés dordre p et q et le produit de deux groupes cycliques dordre premier entre eux est cyclique Pb: tester si pgcd(p-1,q-1)=2 de manière partagée pgcd(p-1,q-1) | pgcd(N-1, (N)), car N-1=pq-1=(p-1)(q-1)+(p-1)+(q-1) Algorithme de Catalano et al. permet de calculer x -1 mod s où x est public et s est un secret partagé modifier cet algorithme pour tester si pgcd(N-1, (N))=2 Avec forte probabilité, en choisissant suffisamment déléments (v 1,v 2,…,v k ) au hasard, le groupe généré par (v 1 2,v 2 2,…,v k 2 ) sera Q N en entier

17 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

18 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sécurité sémantique contre les attaques à clairs choisis pr=Pr[b=b : (pk,sk) K(1 k ), (m 0,m 1,s) A 1 (pk), c* B(b,m 0,m 1 ), b A 2 (s,m 0,m 1,c*)] |pr-1/2|< Adversaire schéma non-partagé Adversaire schéma partagé B A1A2A1A2 m 0,m 1 b (m,c) (m,c,c 1,c 2,…,c n ) pk, sk 1,..., sk t c* b (m,c) (m,c,c 1,c 2,…,c n ) B A1A2A1A2 pk m 0,m 1 c* b b Distribution du schéma de chiffrement de Paillier

19 Pierre-Alain FOUQUE, 4 octobre ENS / CS Distribution du schéma de chiffrement de Paillier Chiffrement: E(m,r)=g m r N mod N 2 où pk=(g Z N 2,N=pq) et sk= (N)=ppcm(p-1,q-1) Hypothèse calculatoire pour la sécurité sémantique: Difficulté pour décider si étant donné w Z N 2, il existe x Z N 2 tq w=x N mod N 2 (Hypothèse des hauts-résidus) Propriété homomorphe: E(m 1,r 1 ).E(m 2,r 2 )=E(m 1 +m 2,r 1 r 2 ) Déchiffrement: m = L(c (N) mod N 2 )/L(g (N) mod N 2 ) mod N où L(u)=(u-1)/N Description

20 Pierre-Alain FOUQUE, 4 octobre ENS / CS Distribution du schéma de chiffrement de Paillier Fouque, Poupard et Stern [Financial 00] : partage du schéma de Paillier sûr contre les attaques à clairs connus Utilisation du schéma de Shoup [Euro 00] pour partager de manière sûre et robuste la fonction c -> c d mod N Application au schéma de Paillier : s partager la fonction c -> c (N) mod N 2, (N) d s montrer que la connaissance de g (N) mod N 2 napporte aucune information à un attaquant n Ladversaire peut obtenir un multiple de (N) mod N => Randomiser le partage de (N) dans Z N 2 en partageant (N) s Si le schéma de Paillier est IND-CPA, le schéma partagé est IND- TCPA Éléments de sécurité

21 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

22 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sécurité sémantique contre les attaques à chiffrés choisis Adversaire schéma non-partagé Adversaire schéma partagé BA1A2A1A2 pk m 0,m 1 b b c m c* c c* m BA1A2A1A2 m 0,m 1 b c (m,c,c 1,c 2,…,c n ) pk, sk 1,..., sk t c* b c c* (m,c,c 1,c 2,…,c n ) Conversion générique IND-CPA vers IND-CCA2

23 Pierre-Alain FOUQUE, 4 octobre ENS / CS Conversion générique IND-CPA vers IND-CCA2 Cas des schémas IND-CCA2 en général: déchiffrer puis vérifier la validité du chiffré (redondance) Pb: pour les schémas partagés, le déchiffrement donne de linformation à lattaquant => Vérifier la validité du chiffré avant de déchiffrer Paradigme de Naor-Yung [STOC 90] : théorique E(pk 1,pk 2,m,r 1,r 2 )=(c 1 =E(pk 1,m,r 1 ),c 2 =E(pk 2,m,r 2 ),p) où p=Preuve[D sk1 (c 1 )=D sk2 (c 2 )] Pb: si la preuve de validité est malléable, le schéma nest plus IND-CCA2, mais simplement IND-CCA1 Fouque-Pointcheval [Asia 01] : pratique et efficace notion suffisante pour atteindre IND-CCA2 preuves efficaces dans le ROM applications à ElGamal et Paillier

24 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

25 Pierre-Alain FOUQUE, 4 octobre ENS / CS Génération de clés Diffie-Hellman Pedersen [Euro 91] : schéma de génération de clés DH partagé simple et efficace (y=g x mod p) entre plusieurs personnes sans distributeur de confiance Gennaro et al. [Euro 99] : ce schéma peut être attaqué par un 2-adversaire actif pour que la distribution de la clé secrète ne soit plus uniforme dans Z q. Réparation proposée Fouque-Stern [PKC 01] : autre solution utilisant un protocole en un seul tour (limite les interactions et les risques de failles) évitant dutiliser des canaux secrets entre chaque paire de serveurs (peu efficace lors de linitialisation du protocole) nutilisant que des canaux publics (évite la gestion des plaintes)

26 Pierre-Alain FOUQUE, 4 octobre ENS / CS Génération de clés Diffie-Hellman (2) Problème de la solution précédente: Pedersen: chaque serveur tire un aléa x i (y i =g x i ), le partage entre tous les serveurs, envoie x i,j au serveur j via un canal secret et prouve quil a bien partagé y i. La clé résultante est y = y 1. …. y k = g x 1 +…x k. Si un serveur j na pas reçu une part correcte du serveur i, il émet une plainte. Si le serveur i ne peut pas répondre à toutes les plaintes, il est éliminé du calcul de y. Problème du canal symétrique: lorsquune plainte est émise, on ne sait pas qui triche Gennaro et al. : Protocole en deux tours pour sélectionner les joueurs honnêtes puis recouvrer la clé. Mais il reste la gestion des plaintes … Doù notre protocole en une seule phase avec preuve que le x i,j de y i,j = g xi,j est bien chiffré dans E(pk j,x i,j ) (Paillier)

27 Pierre-Alain FOUQUE, 4 octobre ENS / CS Sommaire Cryptographie Cryptographie partagée RSA complètement distribué Distribution du schéma de chiffrement de Paillier Conversion générique de schémas de chiffrement à seuil Génération distribuée de clés Diffie-Hellman Applications

28 Pierre-Alain FOUQUE, 4 octobre ENS / CS Applications Éviter de faire appel à un distributeur de confiance est important dans les environnements qui demandent un fort niveau de sécurité comme par exemple: Dépouillement dun schéma de vote utilisant le système de chiffrement homomorphe de Paillier Autorité de certification racine dans un PKI (clé de signature) Autorité de recouvrement (clé de déchiffrement)

29 Pierre-Alain FOUQUE, 4 octobre ENS / CS Application : schéma de vote homomorphe Propriété homomorphe E(pk,m 1 ). E(pk,m 2 ) E(pk,m 1 +m 2 ) Confidentialité des votants (éviter de déchiffrer chaque vote): Votes (0) -> E(pk,0) ou (1) -> E(pk,1) postés dans un tableau Lautorité de vote calcule le produit des votes corrects pour obtenir E(pk,total) où le total correspond au nombre de votants qui ont voté pour le candidat 1. Ensuite, elle déchiffre E(pk,total) pour obtenir le résultat.

30 Pierre-Alain FOUQUE, 4 octobre ENS / CS Application : schéma de vote homomorphe Il y a 3 problèmes à résoudre avec de tels schémas -Les votants peuvent toujours tricher en chiffrant une valeur différente de 0 ou 1 => Preuve ZK pour prouver que le votant a chiffré correctement son vote -Une autorité malicieuse peut toujours déchiffrer chaque vote afin de savoir ce quun électeur a voté => Déchiffrement partagé - Choix multi-candidat pour prendre en compte le vote nul par exemple Grande bande passante du schéma de chiffrement Proposition de schéma de vote utilisant Paillier. Baudron et al. [PODC 01]

31 Pierre-Alain FOUQUE, 4 octobre ENS / CS Conclusion Dans cette thèse, nous avons : étudié le partage complet de schémas cryptographiques: de la phase de génération de clé à celle de signature ou de déchiffrement (RSA, Paillier) étudié le partage de schémas IND-CCA2 et proposé le 1er schéma partagé IND-CCA2 basé sur une hypothèse reliée à la factorisation proposé et analysé un générateur efficace de clés DH appliqué ces schémas à la construction de systèmes de vote, de loterie électronique ou de recouvrement


Télécharger ppt "ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque Département dinformatique de lÉcole normale supérieure & CS Communication."

Présentations similaires


Annonces Google