ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque...

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

Transcript of ENS / CS Le Partage de Clés Cryptographiques : Théorie et Pratique Pierre-Alain Fouque...

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

ENS / CS

Le Partage de Clés Cryptographiques : Théorie et

Pratique

Pierre-Alain Fouque

Département d’informatique de l’École normale supérieure

& CS Communication et Système

4 octobre 2001

Page 2: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 2

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

Page 3: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 3

ENS / CS

Cryptographie : objectifs

Confidentialité Empêcher qu’une personne non autorisée ait accès à des

données stockées ou transmises

Intégrité Éviter qu’une personne non autorisée puisse modifier des

données stockées ou transmises sans que les utilisateurs légitimes ne s’en aperçoivent

Authentification Processus au cours duquel une personne prouve qu’elle est bien

celle qu’elle prétend être ou qu’un document provient d’une personne autorisée

Disponibilité de service Garantir le fonctionnement d’un service en présence de pannes

ou d’erreurs de la part de certains serveurs

Page 4: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 4

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

r pk

Page 5: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 5

ENS / CS

Cryptographie : signature

Tout le monde peut vérifier la signature d’un message

La signature dépend d’une 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)

m r

Notion de sécurité: éviter les falsifications existentielles

Page 6: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 6

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

Page 7: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 7

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

=> L’attaquant peut avoir accès au contenu de la mémoire, modifier son contenu, etc.

Parade: éviter que la clé soit dans une seule machine => L’attaquant doit alors attaquer plusieurs machines (Schéma partagé)

Autre application: éviter de donner trop de pouvoir à une personne (banque, ...)

Page 8: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 8

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 d’un serveur corrompu

Statique : A choisit les serveurs à attaquer au début du protocole

Adaptatif : A choisit les serveurs à attaquer tout au long du jeu

Page 9: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 9

ENS / CS

Cryptographie partagée : objectifs

Éviter le pouvoir d’une seule et même personne

Partage de la clé entre plusieurs personnes. La réunion de plusieurs d’entre 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 ski 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

Page 10: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 10

ENS / CS

Cryptographie partagée : partage de fonctions

Partager le calcul d’une fonction sans reconstruire la clé

Exemple : signature RSA de x=H(m) : calculer f(x)=xd 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 d’information privée

Exemple : Partage additif de la clé d=d1+...+dn de signature. Pour signer le message m, chaque serveur calcule x et si=xdi mod N, envoie si au combineur qui calcule

s1. … .sn=xd1. ... xdn = xd mod N

Page 11: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 11

ENS / CS

Cryptographie partagée : modèle de sécurité

Notion de sécurité : Les messages vus par un t-adversaire ne lui sont d’aucune aide pour déterminer la part des joueurs honnêtes

Avec seulement t parts de la clé secrète, l’information 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 qu’un 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é l’est

Page 12: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 12

ENS / CS

Cryptographie partagée : robustesse

Notion de sécurité : La robustesse garantit la disponibilité du service en présence d’un 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: L’algorithme du combineur peut ne pas être efficace (réalisable en temps polynomial)

=> Besoin d’une méthode efficace pour décider si une part de signature est correcte, si possible non-interactive: preuve de validité

Page 13: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 13

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

Page 14: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 14

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 d’imposer 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)

Page 15: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 15

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 qu’elle fonctionne avec les modules RSA résultants

Preuve de validité de Shoup

Chaque joueur possède une clé de validité vki=vdi et prouve que DLv(vki)=DLx4(si

2) mod (N) où v génère QN, si=x2di et (N)=(p-1)(q-1)

Si N est sûr, QN est le groupe des carrés, cyclique d’ordre p’q’ sans petit

facteur premier avec probabilité écrasante, on sait trouver un générateur v

Notre schéma construit

QN cyclique d’ordre ne possédant pas de petit facteur premier < B

avec forte probabilité un ensemble générateur v1, …, vk

Page 16: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 16

ENS / CS

Partage complet de RSA (2) Nous pouvons générer N=pq (p=2p’+1 et q=2q’+1) tel que :

L’ordre de QN, p’q’ , soit sans petit facteur premier < B (crible distribué)

et pgcd(p’,q’)=1, ainsi QN est cyclique car Qp et Qq sont les groupes des carrés d’ordre p’ et q’ et le produit de deux groupes cycliques d’ordre 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 (v1,v2,…,vk) au hasard, le groupe généré par (v1

2,v22,…,vk

2) sera QN en entier

Page 17: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 17

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

Page 18: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 18

ENS / CS

Sécurité sémantique contre les attaques à clairs choisis

pr=Pr[b=b’ : (pk,sk)K(1k), (m0,m1,s)A1(pk),

c*B(b,m0,m1), b’A2(s,m0,m1,c*)]

|pr-1/2|<

Adversaire schéma non-partagé Adversaire schéma partagé

BA1

A2

m0,m1

b

(m,c)

(m,c,c1,c2,…,cn)

pk, sk1, ..., skt

c*

b’

(m,c)

(m,c,c1,c2,…,cn)

B A1

A2

pk

m0,m1

c*

b’

b

Distribution du schéma de chiffrement de Paillier

Page 19: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 19

ENS / CS

Distribution du schéma de chiffrement de Paillier

Chiffrement: E(m,r)=gmrN mod N 2

où pk=(g ZN 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 ZN 2, il existe

xZN 2 tq w=xN mod N 2 (Hypothèse des hauts-résidus)

Propriété homomorphe: E(m1,r1).E(m2,r2)=E(m1+m2,r1r2)

Déchiffrement:

m = L(c (N) mod N 2)/L(g (N) mod N 2) mod N

où L(u)=(u-1)/N

Description

Page 20: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 20

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 : partager la fonction c -> c (N) mod N 2, (N) d montrer que la connaissance de g (N) mod N 2 n’apporte aucune

information à un attaquant L’adversaire peut obtenir un multiple de (N) mod N

=> Randomiser le partage de (N) dans ZN 2 en partageant (N) Si le schéma de Paillier est IND-CPA, le schéma partagé est IND-TCPA

Éléments de sécurité

Page 21: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 21

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

Page 22: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 22

ENS / CS

Sécurité sémantique contre les attaques à chiffrés choisis

Adversaire schéma non-partagé Adversaire schéma partagé

B A1

A2

pk

m0,m1

b’

b

cm

c*cc*m

B A1

A2

m0,m1

b

c(m,c,c1,c2,…,cn)

pk, sk1, ..., skt

c*

b’

cc*(m,c,c1,c2,…,cn)

Conversion générique IND-CPA vers IND-CCA2

Page 23: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 23

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 l’information à l’attaquant

=> Vérifier la validité du chiffré avant de déchiffrer Paradigme de Naor-Yung [STOC ‘90] : théorique

E(pk1,pk2,m,r1,r2)=(c1=E(pk1,m,r1),c2=E(pk2,m,r2),p) où p=Preuve[Dsk1(c1)=Dsk2(c2)]

Pb: si la preuve de validité est malléable, le schéma n’est 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

Page 24: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 24

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

Page 25: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 25

ENS / CS

Génération de clés Diffie-HellmanPedersen [Euro ‘91] : schéma de génération de clés DH partagé simple et efficace (y=gx 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 Zq.

Réparation proposéeFouque-Stern [PKC ‘01] : autre solution

utilisant un protocole en un seul tour (limite les interactions et les risques de failles)

évitant d’utiliser des canaux secrets entre chaque paire de serveurs (peu efficace lors de l’initialisation du protocole)

n’utilisant que des canaux publics (évite la gestion des plaintes)

Page 26: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 26

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 xi (yi=gxi), le partage entre tous les serveurs, envoie xi,j au serveur j via un canal secret et prouve qu’il a bien partagé yi. La clé résultante est y = y1. … . yk = gx1+…xk.

Si un serveur j n’a 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: lorsqu’une 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 …

D’où notre protocole en une seule phase avec preuve que le xi,j de yi,j = gxi,j est bien chiffré dans E(pkj,xi,j) (Paillier)

Page 27: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 27

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

Page 28: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 28

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 d’un 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)

Page 29: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 29

ENS / CS

Application : schéma de vote homomorphe

Propriété homomorphe

E(pk,m1) . E(pk,m2) E(pk,m1+m2)

Confidentialité des votants (éviter de déchiffrer chaque vote):

Votes (0) -> E(pk,0) ou (1) -> E(pk,1) postés dans un tableau

L’autorité 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.

Page 30: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 30

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 qu’un é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]

Page 31: 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.

Pierre-Alain FOUQUE, 4 octobre 2001 - 31

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