II. 2 Les protocoles simples
Sommaire 1.Authentification 2.Signature électronique 3.Certification
1. Authentification 1.1Principe 1.2Par clef publique 1.3Sans apport dinformation
1.1Principe Virginie veut Vérifier le secret de Paul Paul peut Prouver quil possède un secret sans le révéler … que Eve Espionne par un dialogue…
1.2Par clef publique Notations k x : clef publique de x k x : clef privée de x kpkp choix dun défi x y = E k p (x) z = D k p (y) z vérification z = x
1.3Sans apport dinformation La grotte secrète A B C D 1. Virginie se place au point A 2. Paul entre dans la grotte jusquau point C ou D 3. Virginie va au point B et demande à Paul de sortir soit de C soit de D 4. Si Paul ne peut sexécuter cest quil na pas la clef Paul prétend pouvoir ouvrir la porte entre C et D mais ne veut pas le montrer Virginie veut vérifier ce que lui dit Paul
La grotte secrète : le « bluff » Paul peut sortir du bon côté sans avoir la clef si tous les choix sont équiprobables, Paul peut « bluffer » Virginie avec p = 1/2 Virginie répète le test n fois la porte se referme automatiquement après chaque test Un usurpateur peut « bluffer » Virginie avec p = 1/2 n n = 20 p = 1/
Exemple : co-isomorphisme de graphes G 1 = G 2 = G 1 G 2 ssi π : S S | (u,v) R1 (π(u), π(v)) R 2 exemple G1G1 G2G2 π(G 1,G 2 ) = (3, 1, 4, 2)
Complexité π( G 1, G 2 ) G 1 G 2 P NP
Le protocole construit π (H, G i ) G 1 & G 2 construit π (G1, G2) H choisit j {1, 2 } équiprobablement j construit π (H, G j ) π (H, G j ) vérifie π (H, G j ) publiegarde secret π (G 1, G 2 )
Le « bluff » Paul peut toujours construire π (H, G j ) si j = iπ (H, G j ) = π (H, G i ) pas dutilisation du secret si j iπ (H, G j ) = π (H, G i ) ° π (G i, G j ) utilisation du secret nécessaire Un usurpateur peut « bluffer » Virginie, donc construire π (H, G j ), si j = i Preuve itérée n fois probabilité dusurpation = 1/2 n
Apport dinformation Eve peut intercepter la suite des triplets Mais ces triplets peuvent être construits par nimporte qui Preuve G 1 et G 2 sont publics H peut être construit avec π, j et G j Les triplets napportent aucune information à Eve
2.Signature électronique 2.1Objectifs et Principe 2.2Mécanisme 2.3Formalisation 2.4Inversion des clefs 2.5Signature dun message public 2.6Signature dun message secret 2.7Falsification et Répudiation 2.8Hachage 2.9Signatures non reproductibles
2.1Objectifs et Principe Objectifs : empêcher –Falsification –Répudiation –Usurpation Principe –Attacher à un message une information Indissociable du message Authentifiant son émetteur Assurant lintégrité du message Vérifiable publiquement Non reproductible
2.2Mécanisme –fonction de signatures = sig (k, x) –prédicat public de vérification ver (k, x, s) s = sig (k, x) xs sig k ver k
2.3Formalisation Ptextes en clair Kclefs de signature Asignatures S : P x K Afonction de signature V: P x K x A { vrai, faux } vérification
2.4Inversion des clefs En-cryptages et Dé-cryptages inversibles k : clef publiquek : clef secrète D k (E k (M)) = D k (E k (M)) = M –Exemple : RSAE = D
2.5Signature dun message public Alice clef secrète k a Bob public k a x, s y = D k a (s) message : x vérification ver k a (x, s) = (x = y ) signature s = sig k a (x) = E k a (x)
2.6Signature dun message secret Alice clef secrète k a Bob clef secrète k b public k a k b y = E k b (s) y s = D k b (y) signature s = sig k a (x) = E k a (x) vérification ver k a (x, s) = (x = D k a (s) ) message : x
2.7Falsification et Répudiation Eve ne peut décrypter y seul Bob possède k b Bob ne peut falsifier x Alice ne peut répudier x Eve ne peut signer x seule Alice peut produire E k a (x) Cas dun message secret –La signature nest pas publique
2.8Hachage Fonction de hachage cryptographique Ptextes en clair Zempreintes h : P Zfonction de hachage z = h (x)empreinte de z h : {0, 1}* {0, 1} n + z : longueur fixe + h nest pas injective + h -1 nexiste pas + attaque des anniversaires possible
Signature dun message public Alice clef secrète k a Bob public h, k a empreinte : z = h (x) x, s z = D k a (s) signature s = sig k a (x) = E k a (z) vérification ver k a (x, s) = (z = h(x) ) message : x
Falsification et répudiation x nest pas secret vérification publique D, k a, hsont publics Falsification par Bob Recherche dun x tel que h(x) = h(x) collision faible Répudiation par Alice Fabrication de x, x tels que h(x) = h(x) collision forte Eve ne peut signer x seule Alice peut produire E k a (x)
Construction de la fonction de hachage –h : {0, 1}* {0, 1} n –on utilise souvent une fonction g : {0, 1} m {0, 1} n m > n –on calcule n pour rendre difficile lattaque des anniversaires
Construction par cryptage P = C = K = {0, 1} n E : P x K C g : {0, 1} n x {0, 1} n {0, 1} n exemples g (x, k) = e (x, k) x g (x, k) = e (x, k) x k g (x, k) = e (x k, k ) x g (x, k) = e (x k, k ) x k
Construction de Merkle g : {0, 1} m {0, 1} n r = m - n > 1 x {0, 1}*l = |x| u = 0 i x|u| mod r = 0 + x est complété avec des « 0 » en tête y = 0 j l|y| mod (r-1) = 0 + l est complété avec des « 0 » en tête y = t 1 t 2 …|t i | = r-1 y est découpé en blocs de longueur r-1
v = 1 w 1 1 w 2 … +« 1 » est ajouté devant chaque bloc w = u 0 r v w est composé de t blocs de longueur r H est construite inductivement H 0 = 0 n H i = g (H i-1 w i )1 i t h = H t
Propriétés et exemple propriété g résiste aux collisions h résiste aux collisions exemple r = 4x = 11101l = 101 u = v = 1101 w = t = 4 h = g ( g ( g ( g (0 n 0001)1101)0000)1101)
Taille de lempreinte P : textes en clair |P| = m Z : empreintes|Z| = n h : P Zfonction de hachage théorème des anniversaires m > 2 n/2 pr ( x, x P x x h(x) = h(x) ) > 1/2 exemples n = 40 m > s 1s n = 128 m > s ans n = 160 m > s 2 AU
Autres constructions Basées sur la construction de Merkle MD5Message-Digest Algorithm (n = 128 bits ) SHASecure Hash Algorithm (n = 160 bits) Basées sur la construction de Elgamal DSSDigital Signature Standard DSADigital Signature Algorithm +issues de lalgorithme de signature dû à Taher Elgamal, basé sur le logarithme discret طاهر الجمل Taher Elgamal (1955)
2.9Signature non reproductible Objectif : éviter le re-jeu Méthode : introduction dun « nonce » (number once) dans la signature –exemple : compteur, date N : ensemble des nonces S : P x K x N A fonction de signature V : P x K x N x A {vrai, faux }vérification
3.Certification 3.1Objectif et Principe 3.2Contenu dun certificat 3.3Utilisations
3.1Objectif et Principe Objectif –Association clef publique - identité –Publication sécurisée de la clef publique –Contre lattaque du « man in the middle » Principe –Tiers de confiance centralisés : autorités de certificationCA distribués : chaînes de confiancePGP
3.2Contenu dun certificat –Contenu minimum en clair A, k A, n A : identité de A nom, adresse IP, domaine, etc … k A : clef publique de A Nonce –Informations complémentaires Date de limite de validité Type de cryptage utilisant la clef Etc … –Signature du tiers de confiance
3.3Utilisations –Enregistrement de la clef publique –Vérification de lidentité du détenteur dun secret –Distribution de clefs de session généralement privées