Вы находитесь на странице: 1из 8

Introduction

Signatures à clé symétrique


Signatures à clé publique
Condensats de messages
Attaque de l’anniversaire

Plan du cours

Les signatures numériques

• Introduction
École Nationale d’Ingénieurs de Tunis • Signatures à clé symétrique
2007 - 2008 • Signatures à clé publique
Mohamed Koubàa • Condensats de messages
Département Technologies de l’Information et de la Communication • Attaque de l’anniversaire
École Nationale d’Ingénieurs de Tunis
courriel: mohamed.koubaa@enit.rnu.tn

mohamed.koubaa@enit.rnu.tn CFS - ENIT 1 mohamed.koubaa@enit.rnu.tn CFS - ENIT 2

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Plan du cours Introduction

• L’autenticité de nombreux documents légaux, financiers, et autres


repose sur la présence d’une signature autorisée apposée à la main
(la photocopie n’a aucune valeur)
• Introduction • Lorsque l’on fait usage des systèmes informatisés pour remplacer le
• Signatures à clé symétrique transport de papiers signés à la main, il est nécessaire de mettre en
• Signatures à clé publique œuvre une méthode permettant de signer ces textes d’une façon qui
• Condensats de messages les mettent à l’abri de toute falsification
• Une telle méthode doit remplir les conditions suivantes :
• Attaque de l’anniversaire
◦ Le destinataire doit vérifier l’identité dont se réclame l’expéditeur
◦ L’expéditeur ne peut pas, plus tard, répudier le contenu du message
envoyé
◦ Il est impossible pour le destinataire de fabriquer lui même un message
analogue à celui reçu par l’expéditeur

mohamed.koubaa@enit.rnu.tn CFS - ENIT 3 mohamed.koubaa@enit.rnu.tn CFS - ENIT 4


Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Plan du cours Signatures à clé symétrique (1)

• Une autorité centrale (tiers de confiance, Big Brother (BB)) gère la


distribution des signatures numériques entre les parties
communicantes
• Introduction • Chaque utilisateur choisit alors une clé secrète et l’apporte
• Signatures à clé symétrique directement, en personne, au bureau de BB
• Signatures à clé publique • Seuls BB et Alice connaissent la clé, KA , secrète d’Alice
• Condensats de messages • Lorsque Alice veut envoyer un message en clair, signé P, à son
• Attaque de l’anniversaire banquier, Bob, elle génère KA (B, RA , t, P)
◦ B est l’identité de Bob
◦ RA est un nombre aléatoire choisit par Alice
◦ t est une horodate servant de s’assurer de l’actualité du message
◦ KA (B, RA , t, P) est le message chiffré au moyen de la clé personnelle
d’Alice, KA

mohamed.koubaa@enit.rnu.tn CFS - ENIT 5 mohamed.koubaa@enit.rnu.tn CFS - ENIT 6

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Signatures à clé symétrique (2) Plan du cours


• BB voit que le message émane d’Alice, le déchiffre et envoie à Bob
le message KB (A, RA , t, P, KBB (A, t, P))
• Le message reçu par Bob contient :
◦ Le message original d’Alice en clair
◦ Le message signé KBB (A, t, P) • Introduction
• Signatures à clé symétrique
• Signatures à clé publique
• Condensats de messages
• Attaque de l’anniversaire
• L’horodate, t, et la séquence aléatoire RA permettent de contrôle la
réexpédition des messages par Ève
• Bob contrôle tous les messages récents pour voir si RA a été déjà
utilisé dans l’un deux
• Dans le cas où Ève réexpédie un message, Bob rejette le message et
le considère comme un faux (réutilisation d’un message plus ancien)
mohamed.koubaa@enit.rnu.tn CFS - ENIT 7 mohamed.koubaa@enit.rnu.tn CFS - ENIT 8
Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Signatures à clé publique (1) Signatures à clé publique (2)

• Alice envoie un message en clair signé, P, à Bob en transmettant


EB (DA (P)) (Alice connaı̂t sa propre clé privée mais aussi la clé
• BB peut prendre connaissance de tous les messages qui passent publique de Bob)
entre ses mains • À la réception du message, Bob décrypte le message au moyen de sa
• Les candidats logiques au poste de BB sont le gouvernement, les clé privée (ce qui lui donne DA (P))
banques, les comptables et les avocats ⇒ Aucune de ces structures • Bob place le texte dans un endroit sûr et applique EA pour obtenir le
n’inspire confiance à tout le monde texte original clair
• La cryptographie à clé publique apporte une contribution
significative dans ce contexte
◦ Famille des algorithmes de chiffrement et de déchiffrement ayant la
propriété E (D(P)) = P en plus de la propriété habituelle D(E (P)) = P
◦ RSA jouit de cette propriété

mohamed.koubaa@enit.rnu.tn CFS - ENIT 9 mohamed.koubaa@enit.rnu.tn CFS - ENIT 10

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Signatures à clé publique (3) Signatures à clé publique (4)


• La signature à clé publique est une solution élégante au problème
des signatures numériques, cependant, elle présente des problèmes
relatifs à l’environnement dans lequel elle opère
• Bob ne peut prouver qu’un message a été envoyé par Alice que tant
• Alice peut-elle nier, plus tard, avoir envoyé le message P à Bob ? La que DA demeure secret
réponse est bien sûr non ◦ Si Alice révèle le contenu de sa clé secrète, l’argument ne tient plus
◦ N’importe qui aurait pu envoyé le message, y compris Bob lui même
• Bob peut produire P et DA (P)
◦ Un exemple :
• Bob ne connaı̂t pas, a priori, la clé privée d’Alice, la seule façon dont Alice donne l’ordre à son agent de change (Bob) d’acheter un certain
il a pu recevoir un message chiffré avec la clé privée d’Alice est que nombre d’actions. Quelques minutes plus tard, leur cours chute de
celui-ci ait été envoyé par Alice façon brutale. Pour enterrer l’ordre qu’elle a envoyé à Bob, Alice peut
se précipiter au commissariat de police le plus proche pour déclarer que
sa maison a été cambriolée et que son ordinateur personnel (contenant
sa clé privée) a été dérobé.
• Que se passe-t-il si Alice décide de changer sa clé privée ? (ce qui est
légal et conseillé). Le juge applique la clé courante d’Alice, EA , à
DA (P) et découvre qu’il n’obtient pas P
mohamed.koubaa@enit.rnu.tn CFS - ENIT 11 mohamed.koubaa@enit.rnu.tn CFS - ENIT 12
Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5
Signatures à clé publique Signatures à clé publique
SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Signatures à clé publique (5) Plan du cours


• Tout algorithme à clé publique peut être utilisé pour les signatures
numériques
• Le standard de facto de l’industrie est actuellement l’algorithme RSA
• Le NIST a proposé, en 1991, d’utiliser une variante de l’algorithme à
clé publique d’El Gamal pour son nouveau standard DSS (Digital • Introduction
Signature Standard) • Signatures à clé symétrique
• La sécurité de l’algorithme d’El Gamal repose sur la difficulté à • Signatures à clé publique
calculer des logarithmes discrets plutôt que sur celle de factoriser • Condensats de messages
des grands nombres
• Attaque de l’anniversaire
• On reproche à DSS
◦ D’être trop secret (la NSA a conçu le protocole d’utilisation d’El
Gamal)
◦ D’être trop lent (dix à quarante fois plus lent que RSA pour la
vérification des signatures)
◦ D’être trop récent
◦ De manquer de sécurité (clé fixe de 512 bits)
mohamed.koubaa@enit.rnu.tn CFS - ENIT 13 mohamed.koubaa@enit.rnu.tn CFS - ENIT 14

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Autres missions de la cryptographie contemporaine Contrôle d’intégrité

• Nécessité de contrôler l’intégrité des documents


◦ contre les modifications accidentelles (bruit)
• Contrôle d’intégrité ◦ contre les modifications intentionnelles (contre-façons)
• Authentification • Solutions
◦ Utilisation de codes correcteurs d’erreurs
◦ Utilisations de fonctions de hachage (hash)

mohamed.koubaa@enit.rnu.tn CFS - ENIT 15 mohamed.koubaa@enit.rnu.tn CFS - ENIT 16


Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Fonction de hachage Condensats de messages (1)

• Une fonction de hachage traite un texte en clair de longueur libre et • Le calcul d’un condensat de message à partir d’un texte en clair est
calcule à partir de celui-ci une chaı̂ne de bits de longueur fixe bien plus rapide que le chiffrement du même message au moyen d’un
• Une fonction de hachage, MD, souvent appelé condensat de algorithme de chiffrement à clé publique ⇒ La mise en œuvre de ce
message (message digest) a quatre propriétés importantes : procédé accélère le traitement des algorithmes de signatures
◦ Pour tout P, il est facile de calculer MD(P) numériques
◦ Quelque soit MD(P), il est impossible de retrouver P

◦ À partir de P, il n’est pas possible de trouver un P tel que

MD(P ) = MD(P)
◦ Une modification, ne serait ce que d’un bit, dans le texte traité, produit
un résultat très différent
• Pour respecter la propriété 3, le hachage doit avoir une longueur
d’au moins 128 bits
• Pour respecter la propriété 4, le hachage doit triturer les bits très
soigneusement bien mieux que ne le font les algorithmes de
chiffrement à clé symétrique
mohamed.koubaa@enit.rnu.tn CFS - ENIT 17 mohamed.koubaa@enit.rnu.tn CFS - ENIT 18

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Condensats de messages (2) Condensats de messages (3)

• Bob peut produire à la fois P et KBB (A, t, MD(P))


• Dès que BB a déchiffré ce message pour le juge, Bob obtient d’une
part MD(P) et d’autre part le message prétendu, P • Plusieurs variétés de condensats de messages
• Étant donné qu’il est impossible pour Bob de trouver un autre texte ◦ MD5
qui redonne le même hachage, le juge sera facilement convaincu que ◦ SHA-1
Bob dit la vérité
• Le condensat de message économise le temps de chiffrement et le
coût du transport

mohamed.koubaa@enit.rnu.tn CFS - ENIT 19 mohamed.koubaa@enit.rnu.tn CFS - ENIT 20


Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

MD5 (1) MD5 (2)

• MD5 est le cinquième d’une série de condensats de messages conçus


par Ronald Rivest • MD5 est utilisé depuis plus d’une décennie et il a été souvent
• MD5 produit des empreintes de 128 bits attaqué
• Procédure de calcul du hachage MD5 : • MD5 compte quelques vulnérabilités mais certaines étapes internes
◦ Compléter le message jusqu’à ce qu’il occupe 448 bits (modulo 512)
l’empêchent d’être cassé
◦ La longueur initiale du message y est ajoutée sous forme d’un entier de • MD5 ne doit plus être utilisé pour un usage cryptographique
64 bits pour obtenir une donnée dont la longueur totale soit un • Un exemple :
multiple de 512 bits
◦ Initialiser un buffer de 128 bits avec une valeur fixe MD5 est le cinquième d’une série de condensats de messages conçus
◦ Chaque ronde traite un bloc de 512 bits qu’elle mélange par Ronald Rivest. Il opère en truitant les bits d’une manière suffi-
minutieusement avec le contenu du buffer de 128 bits samment élaborée pour que la modification d’un seul bit dans le flux
◦ Quatre rondes sont effectuées sur chaque bloc d’entrée affecte l’ensemble des bits du résultat
◦ Le processus continue jusqu’à ce que tous les blocs aient été traités MD5(MD5.doc)=248d53712a9a6248847b7076643dd2a1
◦ Le continu du buffer de 128 bits constitue alors le condensat de
message

mohamed.koubaa@enit.rnu.tn CFS - ENIT 21 mohamed.koubaa@enit.rnu.tn CFS - ENIT 22

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

SHA-1 (1) SHA-1 (2)


• SHA-1 - Secure Hash Algorithm 1 • Procédure de calcul du hachage SHA-1 :
◦ compléter le message en ajoutant un bit à 1 suivi d’autant de zéros
• SHA-1 a été développé par la NSA et accrédité par le NIST
qu’il est nécessaire pour que la longueur totale du message soit un
• SHA-1 traite des données par blocs de 512 bits mais génère un multiple de 512 bits
condensat de 160 bits ◦ Un nombre de 64 bits contenant la longueur du message avant
remplissage est combiné par un OU avec les 64 bits de poids faible du
message traité

• Bob calcule lui même le hachage SHA-1, calcule, en appliquant la


clé publique d’Alice au hachage signé, le hachage original, H et
compare les deux hachages ainsi obtenus
mohamed.koubaa@enit.rnu.tn CFS - ENIT 23 mohamed.koubaa@enit.rnu.tn CFS - ENIT 24
Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5 MD5
Signatures à clé publique Signatures à clé publique
SHA-1 SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

SHA-1 (3) SHA-1 (4)


◦ Le calcul SHA-1 peut s’exprimer en pseudo-code C :
• Procédure de calcul du hachage SHA-1 (suite) :
for (i=0, i<80, i++) {
◦ SHA-1 utilise cinq variables de 32 bits, H0 à H4 inter = S 5 (A) + fi (H1, H2, H3) + H4 + Wi + Ki
◦ Les valeurs intiales de H0 à H4 sont constantes, les valeurs associées H4 = H3
H3 = H2
sont spécifiées par le standard H2 = S 30 (B)
◦ Chaque bloc de 512 bits est traité à son tour H1 = H0
◦ Les seizes mots du bloc sont recopiés au début d’un tableau auxiliaire H0 = inter
}
de 80 mots (W0 à W79 )
◦ Les autres mots de 32 bits de W sont constitués au moyen de la
formule : ◦ Les constantes Ki sont définies par le standard
◦ Les fonctions de mélange fi sont définies par :
Wi = S 1 (Wi−3 ⊕ Wi−8 ⊕ Wi−14 ⊕ Wi−16 )), 16 ≤ i ≤ 79
fi (B, C , D) = (B × C ) + (NOTB × D) 0 ≤ i ≤ 19
où S b (W ) représente la rotation circulaire gauche de b bits du mot de
fi (B, C , D) = B ⊕ C ⊕ D 20 ≤ i ≤ 39
32 bits, W
fi (B, C , D) = (B × C ) + (B × D) + (C × D) 40 ≤ i ≤ 59
fi (B, C , D) = B ⊕ C ⊕ D 60 ≤ i ≤ 79
mohamed.koubaa@enit.rnu.tn CFS - ENIT 25 mohamed.koubaa@enit.rnu.tn CFS - ENIT 26

Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
MD5
Signatures à clé publique Signatures à clé publique
SHA-1
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

SHA-1 (5) Plan du cours

◦ À la fin des itérations, le continu de H0 , H1 , . . . H4 est ajouté à leur


continu initial
◦ Le tableau W est initialisé pour chaque bloc, la tableau H est gardé tel
quel
◦ Une fois tous les blocs sont passés par la moulinette, le continu de H0 , • Introduction
H1 , . . . H4 constitue le hachage cryptographique de 160 bits • Signatures à clé symétrique
• De nouvelles versions de SHA-1 sont en cours de développement • Signatures à clé publique
pour des hachages de 256, 384 et 512 bits
• Condensats de messages
• Un exemple :
• Attaque de l’anniversaire
MD5 est le cinquième d’une série de condensats de messages conçus
par Ronald Rivest. Il opère en truitant les bits d’une manière suffi-
samment élaborée pour que la modification d’un seul bit dans le flux
d’entrée affecte l’ensemble des bits du résultat
SHA-1(SHA-1.doc)=aad3af838c685f35d4294e680824ac5e70a0b562

mohamed.koubaa@enit.rnu.tn CFS - ENIT 27 mohamed.koubaa@enit.rnu.tn CFS - ENIT 28


Introduction Introduction
Signatures à clé symétrique Signatures à clé symétrique
Signatures à clé publique Signatures à clé publique
Condensats de messages Condensats de messages
Attaque de l’anniversaire Attaque de l’anniversaire

Le paradoxe de l’anniversaire Attaque de l’anniversaire

• Le paradoxe de l’anniversaire, dû à Richard von Mises, est à l’origine,


une estimation probabiliste du nombre de personnes que l’on doit • Le paradoxe de l’anniversaire permet de donner une borne supérieure
réunir pour avoir une chance sur deux que deux personnes de ce de résistance aux collisions d’une fonction de hachage. Cette limite
groupe aient leur anniversaire le même jour de l’année est de l’ordre de la racine de la taille de la sortie, ce qui signifie que,
pour un algorithme comme MD5 (empreinte sur 128 bits), trouver
• Le nombre de personnes à réunir est de 23 (ce qui choque un peu
une collision quelconque avec 50% de chance nécessite 264 hachages
l’intuition)
d’entrées distinctes
• À partir d’un groupe de 57 personnes, la probabilité est supérieure à
• Si l’on considère que la date d’anniversaire est le produit d’une
99%
fonction de hachage, le même concept s’applique
• Il ne s’agit pas d’un paradoxe dans le sens de contradiction logique ;
• L’attaque de l’anniversaire est difficile à réaliser avec MD5
c’est un paradoxe, dans le sens où c’est une vérité mathématique qui
contredit l’intuition : la plupart des gens estiment que cette • Meilleure résistance de SHA-1 par rapport à MD5
probabilité est très inférieure à 50%

mohamed.koubaa@enit.rnu.tn CFS - ENIT 29 mohamed.koubaa@enit.rnu.tn CFS - ENIT 30

Вам также может понравиться