Upload
rodolphe-delahaye
View
114
Download
0
Embed Size (px)
Citation preview
Partage de secret
DEVES Nicolas
ROGER Rémi
03/02/2004 2
Plan de la présentation
Secret « morcelé » (secret splitting) Secret « réparti » (secret sharing) :
schéma à seuil (threshold scheme) Secret réparti généralisé
Secret morcelé
(secret splitting)
03/02/2004 4
Secret morcelé : introduction
Idée : créer des morceaux à partir d’un message secret, tels qu’aucun morceau n’a de signification, mais en les réunissant tous le message est retrouvé
Motivations : utiliser une confiance distribuée, partagée, pour des activités critiques– Ex : signature de chèques d’une entreprise,
ouverture d’un coffre de banque, …
03/02/2004 5
Secret morcelé : principe
Soit M le message secret à partager Tirer une chaîne aléatoire de bits, R, de
même longueur que M Calculer S = M R R et S sont les deux morceaux du message
M R et S séparés n’ont aucune signification car
ce sont des chaînes aléatoires Pour retrouver le message : M = R S
03/02/2004 6
Secret morcelé : principe
Il est aisé d’étendre ce schéma à plusieurs personnes : il suffit de combiner d’autres chaînes aléatoires avec le message
Pour partager en 4 morceaux :– Engendrer 3 chaînes aléatoires de bits, R, S, T de
même longueur que M– Calculer U = M R S T– Distribuer R, S, T, U– Reconstitution du message : M = U R S T
03/02/2004 7
Secret morcelé : principe
A la place des « Ou exclusif », il est possible d’utiliser des additions modulaires
Soit M le nombre secret à partager, tel que 0 =< M < m, m entier quelconque
Générer un nombre aléatoire R, tel que 0 =< R < m
Les 2 morceaux sont R et (M – R) mod m
03/02/2004 8
Secret morcelé : remarques
Autre idée de partage de secret : Couper un message de longueur L en n morceaux de longueur L / n– Très mauvaise idée car cela réduit le
nombre d’essais pour trouver le secret par la force brute :
– Une clé de longueur L = 56 bits, 2 morceaux de 28 bits
– 228 essais chacun au lieu de 256
Secret réparti
(secret sharing)
03/02/2004 10
Secret réparti : introduction
Dans le mécanisme précédent, si un morceau est perdu, il n’est plus possible de reconstituer le secret
Dans ce schéma, le secret est réparti entre n personnes, et il suffit que t d’entre elles mettent en commun leur part pour reconstituer le secret : ceci est appelé un schéma à seuil (t,n)
03/02/2004 11
Secret réparti : introduction
Il est possible de donner plus s’importance à certaines personnes en leur confiant plusieurs parts
Ex : Un général peut lancer des missiles mais il faut deux colonels pour faire la même chose, un seul ne peut rien faire
Solution : utiliser un schéma à seuil (2,4), donner 1 part à chaque colonel et 2 parts au général
03/02/2004 12
Critères de qualité des systèmes de partage de secret Sytème parfait : La connaissance de t-1parts
n’apporte aucune information Taux d’information : (taille en bits du secret) / (taille
en bits d’une part) Schéma idéal : Taux d’information = 1, c’est-à-dire
taille d’une part = taille du secret Extensible à de nouveaux utilisateurs Possibilité de donner plus d’importance à certaines
personnes Ne repose pas sur des choses non prouvées ou
difficiles à faire
03/02/2004 13
Mécanisme de Shamir
Basé sur l’interpolation des polynômes et sur le fait qu’un polynôme de degré t-1 est déterminé de façon unique par t points distincts
03/02/2004 14
Soit S un entier > 0, le secret à partager entre n personnes
Choisir un nombre premier p > max(S,n)
Définir a0 = S
Choisir t-1 coefficients aléatoires a1,…,at-1 compris entre 0 et p-1
Mécanisme de Shamir : partage du secret
03/02/2004 15
Les coefficients a0,…,at-1 définissent un polynôme aléatoire sur Zp :
Calculer les points Si = f(i) mod p, 1 =< i =< n
Donner une part Si à chacune des n personnes concernées
Mécanisme de Shamir : partage du secret (suite)
03/02/2004 16
Mécanisme de Shamir : reconstitution du secret N’importe quel groupe de t personnes qui
mettent en commun leur part peuvent reconstituer le secret
Les t parts fournissent t points distincts (x,y) = (i,Si) qui vont permettre de calculer les coefficients a0,…,at-1 du polynôme f(x) par l’interpolation de Lagrange
Le secret S est a0 = f(0)
03/02/2004 17
Mécanisme de Shamir : interpolation de Lagrange Les coefficients d’un polynôme f(x) de
degré inférieur à t, défini par les points (xi,yi), 1 =< i =< t, sont donnés par la formule de l’interpolation de Lagrange :
03/02/2004 18
Mécanisme de Shamir : reconstitution du secret (suite) S = a0 = f(0), donc d’après la formule
précédente :
S s’exprime donc comme une combinaison linéaire des t parts yi puisque les ci sont des constantes non secrètes (qui peuvent être calculées à l’avance pour un groupe de t personnes)
avec
03/02/2004 19
Mécanisme de Shamir : exemple
Schéma à seuil (3,5) : n = 5, t = 3 Secret : S = 11 p = 13 a0 = S = 11
a1 = 8 et a2 = 7 choisis aléatoirement f(x) = (7x² + 8x + 11) mod 13
03/02/2004 20
Mécanisme de Shamir : exemple (suite) Calcul des 5 parts :
– S1 = f(1) = (7 + 8 + 11) mod 13 = 0
– S2 = f(2) = (28 + 16 +11) mod 13 = 3
– S3 = f(3) = (63 + 24 + 11) mod 13 = 7
– S4 = f(4) = (112 + 32 + 11) mod 13 = 12
– S5 = f(5) = (175 + 40 + 11) mod 13 = 5
03/02/2004 21
Mécanisme de Shamir : exemple (suite)
Reconstitution du secret à partir de S2, S3 et S5 avec l’interpolation de Laplace:
– c2 = 5
– c3 = -5
– c5 = 1
– S = (c2*S2 + c3*S3 + c5*S5) mod 13 = -15 mod 13 = 11
03/02/2004 22
Schéma vectoriel de Blakley
Le message secret est défini comme un point dans un espace à t dimensions
Chaque part est l’équation d’un hyperplan de m-1 dimensions qui inclut ce point
L’intersection de n’importe quel ensemble de m de ces hyperplans détermine exactement le point secret
03/02/2004 23
Répartition de secret avec Tricheurs
Comment tricher avec schéma à seuil?– Révélation d’une partie non valide
Impossible de savoir qui empêche décodage
– Envoi d’un faux message Possibilité de découvrir toutes les parts
Possibilité de s’intégrer au secretLa personne attend les parts,
fabrique une part valide et peut faire semblant d’être dans le secret
03/02/2004 24
Répartir un secret sans que personne ne connaisse le secret complet
Schéma type d’une banque:– Il faut n clés tournées en même temps
pour ouvrir la porte– Exemple : 3 employés parmi 5 = seuil(3,5)– Personne ne connaît secret entier
Protocole : N acteurs, N parts distribuées
03/02/2004 25
Répartir un secret sans révélation des parts
Problème : quand on veut reconstruire le secret, on doit révéler sa partie
Comment éviter cela?
Exemple: – Secret partagé est une clé privée– Les acteurs signent partiellement un document– Clé révélée après dernière signature partielle– Document utilisé sans opérateur de confiance
03/02/2004 26
Secret réparti vérifiable
Problème: – On a un secret réparti à N personnes– Comment savoir si chacun à une part
valide sans reconstruire le secret?
Impossible Existe protocole ou chaque individu
peut savoir si il possède une part valide sans reconstruire secret complet
03/02/2004 27
Secret réparti avec veto
Problème :– Secret réparti sur X acteurs sachant que moins de M
acteurs nécessaires pour reconstituer le secret– Comment réaliser un veto?
Principe : – Chacun reçoit deux parts, un « oui », un « non »– Au moment de reconstruire, chacun donne une de ses parts– Si au moins M parts « oui » et au plus N parts « non », alors
secret reconstruit Inconvénient:
Acteurs du « oui » peuvent se voir sans les autresParades : tous les acteurs doivent s’exprimer
03/02/2004 28
Secret réparti avec désistement
Exemple:
Comment exclure quelqu’un d’un système de secret réparti sans instaurer un nouveau schéma?
Existe méthodes pour: – Copier le système actuel– Activer instantanément nouveau schéma
Secret réparti généralisé
PrincipeExtensions
03/02/2004 30
Secret réparti généralisé
Principe:– Secret partagé sur plusieurs acteurs– Détermine les sous groupes d’acteurs qui peuvent
reconstruire le secret complet – Détermine les sous groupes d’acteurs qui ne
peuvent pas reconstruire le secret complet
Si un acteur non autorisé donne sa partie, le secret, ni une de ses parties, n’est pas révélé
03/02/2004 31
Secret réparti généralisé
03/02/2004 32
Secret réparti généralisé
Extension:– Clé d’activation : une partie envoyée à la
fin pour activer le secret– Secret dynamique: le secret révélé varie
selon les parties mises en commun– Détection de tricheurs– Secret vérifiable– Secret avec désistement
03/02/2004 33
Bibliographie
La Cryptographie appliquée – 2e édition, Bruce Schneier : chapitres 3 et 23
Handbook of Applied Cryptography, chapter 12 (http://www.cacr.math.uwaterloo.ca/hac/)
Cryptographie, Théorie et Pratique – 1e édition, Douglas Stinson : chapitre 11 (Chapitre supprimé dans la 2e édition)
03/02/2004 34
Merci de
votre attention….