Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cours6PL Newhachage

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 48

Protection de l’information

Pierre-Louis CAYREL
<pierre.louis.cayrel@univ-st-etienne.fr>
d’après un cours de
Florent BERNARD
<florent.bernard@univ-st-etienne.fr>

Université Jean Monnet, Saint-Etienne

21 mars 2013

Pierre-Louis CAYREL Protection de l’information 1/48


Séance 6

Pierre-Louis CAYREL Protection de l’information 2/48


Fonctions de hachage,
MAC et signatures
électroniques
Introduction

Pierre-Louis CAYREL Protection de l’information 3/48


Introduction aux protocoles (1)

I Estelle : invention d’un procédé révolutionnaire (par exemple :


résolution du problème de factorisation) qu’elle veut protéger.
I Comment peut-elle s’y prendre ?
Protocole 1
1. Mettre la méthode dans une enveloppe.
2. Cacheter avec de la cire.
3. Envoyer à un notaire pour qu’il signe, date et renvoie l’enveloppe à
Estelle
I Le notaire n’a pas pu lire la méthode, Estelle ne peut pas
modifier sa méthode par la suite.

Pierre-Louis CAYREL Protection de l’information 4/48


Introduction aux protocoles (2)

I Et si le notaire n’est pas digne de confiance ?


I Valeur du secret potentiellement supérieure à la réputation du
notaire
Protocole 2
1. Prendre 10 enveloppes
2. Mettre la méthode dans une seule enveloppe.
3. Cacheter avec de la cire ces enveloppes.
4. Envoyer successivement les 10 enveloppes au notaire pour qu’il
signe, date et renvoie l’enveloppe à Estelle

I 9 chances sur 10 de perdre sa réputation sans rien apprendre...


dissuasif !

Pierre-Louis CAYREL Protection de l’information 5/48


Introduction aux protocoles (3)

Protocole - définition simple


Un protocole est un algorithme impliquant au moins deux personnes
dans le but de réaliser une tâche.
I Précision des formats de transmission, synchronisation, ordre,
etc . . .
I Protocoles intéressant la cryptographie sont ceux dans lesquels
il y a une notion de méfiance.
1. Un des deux participants peut tricher
2. Un intervenant extérieur peut s’introduire dans le protocole pour le
détourner à son profit.

Pierre-Louis CAYREL Protection de l’information 6/48


Attaque « Man in the Middle »

I Ou comment Garry Kasparov peut perdre contre un illsutre


inconnu ne sachant pas jouer aux échecs
I Convoquer de manière indépendante deux grands maîtres
I Les mettre dans des pièces séparées
I Attribuer les noirs à l’un, les blancs à l’autre
I Servir d’intérmédiaire !
I Au pire : match nul, au mieux : victoire contre un grand maître !
I Echelle commerciale : peut permettre d’empocher la
marchandise et les sous !

Pierre-Louis CAYREL Protection de l’information 7/48


Rappels

I Cryptographie offre plusieurs services (CAIN)


I C (Confidentialité)
I A (Authentification)
I I (Intégrité)
I N (Non répudiation)
I Première partie du cours consacrée à la confidentialité.
I AIN : Signatures électroniques

Pierre-Louis CAYREL Protection de l’information 8/48


Signatures manuscrites

I Acte notarié : signatures en bas de page


I Remplissent trois fonctions :
1. Identification : révèle l’identité du/des signataires
2. Intégrité/Authentification : assure que le document ne sera pas
modifié (copies originales signées)
3. Non répudiation : engage la responsabilité des signataires
I But : s’inspirer des signatures manuscrites pour définir les
propriétés des signatures numériques, mais . . .
Attention aux différences !

Pierre-Louis CAYREL Protection de l’information 9/48


Différences signature manuscrite/électronique

Premier problème : notion de signer un document


I Signature manuscrite : physiquement liée au document signé
I Signature électronique : la signature électronique doit être
« collée »au message.

Second problème : Copie


I Signature manuscrite : copie distinguable (en général) de
l’original.
I Signature électronique : copie numérique parfaite

I Si Bob signe un document permettant à Alice de retirer 500


euros sur son compte, il ne veut pas qu’elle puisse réutiliser ce
document tous les jours.

Pierre-Louis CAYREL Protection de l’information 10/48


Notion de signature électronique

I But :
I prouver l’identité de leur auteur et/ou
I l’accord du signataire avec le contenu du document

Propriété d’une signature électronique


I Authentique : convainct le destinataire que le signataire a
délibéremment signé un document
I Infalsifiable
I Non réutilisable : attachée à un document donné
I Inaltérable : toute modification du document est détectable
I Non reniable : le signataire ne peut nier avoir signé

Pierre-Louis CAYREL Protection de l’information 11/48


Fonctions de hachage,
MAC et signatures
électroniques
Identification, Authentification, Intégrité,
Non-répudiation

Pierre-Louis CAYREL Protection de l’information 12/48


Identification (1)

Alice veut être certaine qu’elle est bien en relation avec Bob et pas
avec Eve.
I Si Alice et Bob partagent une clé secrète K
I Principe
1. Alice choisit un message M quelconque et le chiffre avec K .
2. Bob le déchiffre et renvoie M à Alice qui vérifie que Bob a bien pû
déchiffrer
(Eve n’apprend rien sur la clé K )
I Attention : ce protocole ne convient pas pour l’accès par mot de
passe à un ordinateur (stockage de K déconseillé et stockage de
f (K ), où f est une fonction à sens unique, sensible aux attaques
par dictionnaire).
I Solution possible : salage des mots de passe.

Pierre-Louis CAYREL Protection de l’information 13/48


Identification (2)
Alice veut être certaine qu’elle est bien en relation avec Bob et pas
avec Eve.
I Si Alice et Bob ne partagent pas de clé secrète, on fait appel à la
cryptographie à clé publique !
I Principe
1. Alice choisit un message M quelconque et le chiffre avec la clé
publique de Bob. Elle envoie C = eB (M) à Bob.
2. Bob déchiffre C à l’aide de sa clé privée : dB (C) = M (il est le seul à
pouvoir le faire) et l’envoie à Alice qui vérifie que Bob a bien pû
déchiffrer
Eve n’apprend rien sur la clé de Bob.
Variante dans le cas où eB ◦ dB = dB ◦ eB
1. Alice choisit un message M quelconque et l’envoie à Bob.
2. Bob déchiffre M à l’aide de sa clé privée : dB (M) = M 0 (il est le seul à
pouvoir le faire) et l’envoie à Alice qui vérifie en chiffrant M 0 à l’aide de
la clé publique de Bob : eB (M 0 ) = M
Eve n’apprend rien sur la clé de Bob.
I Attention : attaque « Man in the Middle »toujours possible

Pierre-Louis CAYREL Protection de l’information 14/48


Integrité

L’intégrité consiste à s’assurer que le message n’a pas été modifié.


C’est à dire que Alice n’a pas ajouté 4 zéros au montant du chèque
que lui a fait Bob.
Les enjeux sont importants :
I Détection d’un programme modifié par un virus
I Tatouage numérique
I Authenticité d’un document
I ...
Outil cryptographique important pour réaliser l’integrité : fonctions de
hachage

Pierre-Louis CAYREL Protection de l’information 15/48


Fonctions de hachage,
MAC et signatures
électroniques
Fonctions de Hachage

Pierre-Louis CAYREL Protection de l’information 16/48


Intérêt cryptographique

I Primitive cryptographique très importante !


I Schémas de signature (DSS)
I Schémas de chiffrement (OAEP)
I Integrité de documents
I Message Authentication Code (MAC)
I Facilement calculable
I Compression

Pierre-Louis CAYREL Protection de l’information 17/48


Fonctions de hachage

Définition
Une fonction de hachage H : {0, 1}∗ −→ {0, 1}n
I Facilement calculable
I transforme une chaîne de bits de longueur arbitraire en une
chaîne de bits de longueur fixe n
La chaîne ainsi obtenue (y = H(x)) est appelée empreinte de
Hachage

Pierre-Louis CAYREL Protection de l’information 18/48


Notion de collision - Terminologie

Définition
On parle de collision entre x et x 0 lorsque :

x 6= x 0

H(x) = H(x 0 )

I Rappel : H : {0, 1}t −→ {0, 1}n


En général, t > n des collisions sont donc inévitables ! (principe
des tiroirs)
I Si y = H(x), alors :
I x est appelé préimage de y
I On rappelle que y est l’empreinte de x

Pierre-Louis CAYREL Protection de l’information 19/48


Propriété des fonctions de hachage (1)

I Compression et facilité de calcul


I Résistance à la préimage
I Etant donné y : difficile de trouver x tel que y = H(x)
I Etant donné y : 2n calculs de hash requis pour trouver x
I Résistance à la seconde préimage
I Etant donné x : difficile de trouver x 0 tel que H(x) = H(x 0 )
I Etant donné x : 2n calculs de hash requis pour trouver x 0
I Résistance à la collision
I Difficile de trouver x et x 0 tels que H(x) = H(x 0 )
n
I 2 2 calculs de hashs requis pour trouver un couple (x, x 0 ).

Pierre-Louis CAYREL Protection de l’information 20/48


Définitions

Fonction de hachage à sens unique


Une fonction de hachage est à sens unique si elle :
I Résiste à la préimage
I Résiste à la seconde préimage

Fonction de hachage résistante aux collisions


Une fonction de hachage est dîte résistante aux collisions si elle :
I résiste à la seconde préimage
I résiste aux collisions
Remarque :
Si une fonction est résistante aux collisions, elle est à sens unique
⇒ Etude des fonctions résistantes aux collisions

Pierre-Louis CAYREL Protection de l’information 21/48


Paradoxe des anniversaires

Question
Combien faut il réunir de personnes pour avoir une chance sur deux
qu’au moins deux d’entre elles aient leur anniversaire le même jour
(pas forcément la même année) ?

Réponse
???

Pierre-Louis CAYREL Protection de l’information 22/48


Formalisation du problème - Attaque des anniversaires

I Fonction de hachage H : {0, 1}t −→ {0, 1}n avec t > n


I On pose m = 2n = |{0, 1}n |
I k messages {xi }1≤i≤k aléatoires k << m
I Question : Quelle est la probabilité d’obtenir une collision à partir
des messages xi ?

Pierre-Louis CAYREL Protection de l’information 23/48


Résolution du problème
I Hyptohèse : les yi = H(xi ) sont aléatoires
I But : calculer pk = probabilité que les zi soient tous différents
deux à deux.  
m−1
I k = 2 : p2 = (m − 1 possibilités pour le choix de z2 )
 m  
m−1 m−2
I k = 3 : p3 =
m m
..
I .     
m−1 m−2 m−k +1
I pk = ...
m m m
−1 
kY 
i
pk = 1−
m
i=1

⇒ Probabilité qu’il y ait au moins une collision = 1 − pk


1
I Comment simplifier pour déterminer k tel que 1 − pk > ?
2

Pierre-Louis CAYREL Protection de l’information 24/48


Taylor !

+∞
X xi
e−x = 1 − x + (−1)i
i!
i=2
∀x ∈ R, e−x ≥ 1 − x
i i
⇒ ∀i ∈ [1, k − 1], e− m ≥ 1 − m

−1 
kY −1 
kY 
i
 i (k −1)k
e− m ≥ 1− ⇔ e− 2m ≥ pk
m
i=1 i=1
(k −1)k
⇔ 1 − pk ≥ 1 − e− 2m

(k −1)k
Bilan : Pour avoir 1 − pk > α, il suffit d’avoir 1 − e− 2m >α

Pierre-Louis CAYREL Protection de l’information 25/48


Rappels de terminale S

Pour 0 < α < 1 et k > 1 :


(k −1)k (k −1)k
1 − e− 2m >α ⇔ e− 2m < 1 − α
(k − 1)k
⇔ − < ln(1 − α)
2m  
(k − 1)k 1
⇔ > ln
2m 1−α  
2 1
⇒ k > (k − 1)k > 2m ln
1−α
s

 
1
Bilan : 1 − pk > α ⇒ k > 2m ln = O( m)
1−α
I m = 365, α = 50% ⇒ k > 22, 49 : k = 23.
I m = 365, α = 99% ⇒ k > 57, 98 : k = 58.

Pierre-Louis CAYREL Protection de l’information 26/48


Paradoxe des anniversaires

Question
Combien faut il réunir de personnes pour avoir une chance sur deux
qu’au moins deux d’entre elles aient leur anniversaire le même jour
(pas forcément la même année) ?

Réponse
23 !

Pierre-Louis CAYREL Protection de l’information 27/48


Attaque des anniversaires

Attaque de Yuval
∗ n
Soit H : {0, 1} −→ {0, 1} une fonction de hachage
I Entrée : M message initial ; M
e message corrompu
I Sortie : M 0 ≈ M et M
e 0 tels que H(M 0 ) = H(M
e 0 ).
n
1. générer 2 2 modifications mineures de M notées M 0
I pour chacune, calculer H(M 0 ) et les stocker dans une table T
2. générer des Me 0 , modifications mineures de M
e jusqu’à ce qu’un
0
H(M
e ) soit dans T (collision).

I Application : Répudiation
I Envoyer M et soutenir avoir envoyé M.
e

Pierre-Louis CAYREL Protection de l’information 28/48


A retenir sur le paradoxe des anniversaires

Concernant les fonctions de hachage


∗ n
I Soit H la fonction de hachage H : {0, 1} −→ {0, 1}
I La recherche brutale de collisions a plus d’une chance sur deux
n
d’aboutir après « seulement »O(2 2 ) essais !
I Remarque : on est sûr d’aboutir après O(2n ) essais.

Concernant les algorithmes de chiffrement


n
I Soit E un algorithme de chiffrement et K ∈ {0, 1} une clé.
I La recherche brutale de la clé dans le chiffrement de EK (M) par
une attaque à texte clair connu a plus d’une chance sur deux
n
d’aboutir après « seulement »O(2 2 ) essais !
I Remarque : on est sûr d’aboutir après O(2n ) essais.

Pierre-Louis CAYREL Protection de l’information 29/48


Classification des fonctions de hachage

1. MDC : Code de détection de modifications


I Utilisent des fonctions de hachage publiques « sans clé »
I Rôle : vérification de l’integrité d’une chaîne binaire transmise sur
un canal
2. MAC : Code d’authentification de messages
I Utilisent des fonctions de hachage « avec clé »
I Rôles :
2.1 vérification de l’integrité d’une chaîne binaire transmise sur un canal
2.2 authentifient la source d’une donnée

Pierre-Louis CAYREL Protection de l’information 30/48


Fonctions de hachage,
MAC et signatures
électroniques
Construction des fonctions de hachage

Pierre-Louis CAYREL Protection de l’information 31/48


Construction de Merkle-Damgård (1)

I se base sur une fonction de compression h


I h : {0, 1}b × {0, 1}n −→ {0, 1}n
n bits b bits

n bits
hi−1 h hi

Pierre-Louis CAYREL Protection de l’information 32/48


Construction de Merkle-Damgård (2)

I Application au calcul de H(M) :


I Application d’un padding à M pour avoir |M| = k · b bits
I Découpage du message M en blocs de taille b

M = M1 M2 . . . Mk avec |Mi | = b ∀i ∈ [1, k ]

I Itération de la fonction h (IV : Initialization Vector)


M1 M2 Mk −1 Mk

IV de taille n h h h h H(M)

Théorème de Merkle-Damgård
Si h est résistante aux collisions, alors H l’est aussi.

Pierre-Louis CAYREL Protection de l’information 33/48


Construction de la fonction de compression h
I A base d’un chiffrement à clé secrète par bloc E.
I Attention à ne pas confondre : le fait de construire h à l’aide d’un
système de chiffrement n’a rien à voir avec les fonctions MAC
(utilisant des fonctions de hachage avec clé)
Construction de Davies-Meyer
b bits

hi = EM (hi−1 ) ⊕ hi−1
h i

x EK (x)
n bits

n bits
hi−1 E hi

I Résistance à la préimage : attaque de Drew Dean en 1999


exploitant la définition de point fixe sur cette construction
⇒ fonction de hachage moins robuste

Pierre-Louis CAYREL Protection de l’information 34/48


Construction de la fonction de compression h (2)

Construction de Matyas-Meyer-Oseas
b bits

g : fonction d’adaptation à la taille de la clé

hi = Eg(h (Mi ) ⊕ Mi
h i−1 )

g
K
x EK (x)
n bits

n bits
hi−1 E hi

I amélioré par Miyaguchi-Preneel

Pierre-Louis CAYREL Protection de l’information 35/48


Construction de la fonction de compression h (3)

Construction de Miyaguchi-Preneel
b bits

g : fonction d’adaptation à la taille de la clé

hi = Eg(h (Mi ) ⊕ Mi ⊕ hi−1


h i−1 )

g
K
x EK (x)
n bits

n bits
hi−1 E hi

I Variante renforcée de la construction de Matyas-Meyer-Oseas


I Particulièrement robuste d’un point de vue cryptographique
[Black, Rogaway et Shrimpton]
I Utilisé dans la fonction de hachage Whirlpool

Pierre-Louis CAYREL Protection de l’information 36/48


Historique des principales fonctions de hachage
1990 MD4 Extended-MD4

1991 MD5

1992 HAVAL RIPEMD

1993 SHA

1994 SHA-1

1996 RIPEMD-128, 160

1999 Whirlpool-0

2002 SHA-256, 380, 512 Whirlpool-T

2003 SHA-224

2004 Whirlpool

Pierre-Louis CAYREL Protection de l’information 37/48


La fonction de compression de MD5
I Proposée par Rivest en 1991
I Blocs de b = 512 bits, sortie de n = 128
bits
I 16 sous-blocs Mi de 32 bits
I 64 constantes fixées Ki
I 64 rondes sur 4 sous-blocs de 32 bits A,
B, C, D
I 4×16 sous-rondes où F prend les
valeurs suivantes :
1. F = (B AND C) OR (B AND D)
2. F = (D AND B) OR (D AND C)
3. F =B⊕C⊕D
4. F = C ⊕ (B OR D)
I Sécurité de MD5 face aux collisions
I Force brute : O(264 ) (attaque anniversaire)
I MAIS collisions en O(242 ) [Wang04] puis O(230 ) [Sasaki05]
I MD5 n’est plus considérée comme sûre aujourd’hui

Pierre-Louis CAYREL Protection de l’information 38/48


La fonction de compression de SHA-1
I Publié dans FIPS PUB 180-1 par le NIST
en 1995
I Blocs de b = 512 bits, sortie de n = 160
bits
I 16 sous-blocs Mi de 32 bits
I Etendus en 80 nouveaux blocs Wt
I 4 constantes fixées Kt
I 80 rondes sur 5 sous-blocs de 32 bits A, B,
C, D, E
I 4×20 sous-rondes où F prend les valeurs
suivantes :
1. F = (B AND C) OR (B AND D)
2. F =B⊕C⊕D
3. F = (B AND C)⊕(B AND D)⊕(C AND D)
4. F =B⊕C⊕D
I Sécurité de SHA-1 face aux collisions
I Force brute : O(280 ) (attaque anniversaire)
I MAIS collisions possibles en O(263 ) [Wang05]
I Pourtant encore largement utilisée aujourd’hui (signature,
protection anti-copie XBOX)

Pierre-Louis CAYREL Protection de l’information 39/48


La fonction de compression SHA-256

I Publié dans FIPS PUB 180-2 en 2000


I Basé sur le chiffrement à clé secrète par bloc SHACAL-2
I Blocs de b = 512 bits, sortie de n = 256 bits
I 16 sous-blocs Mi de 32 bits
I Etendus en 64 nouveaux blocs Wt
I 64 constantes fixées Kt
I 64 rondes sur 8 sous-blocs de 32 bits
I Sécurité de SHA-256
I Force brute : O(2128 ) (attaque des anniversaires)
I Pas d’attaque connue pour le moment

Pierre-Louis CAYREL Protection de l’information 40/48


Whirlpool
I Fonction de hachage recommandée par NESSIE (2004)
I NESSIE :New European Schemes for Signatures, Integrity, and
Encryption
I Basé sur la construction de Miyaguchi-Preneel
I avec E = W ≈ Rijndael (à la base de AES)
Rijndael W
Taille Bloc 128, 160, 192, 224 ou 256 512
Nb rondes 10, 11, 12, 13, 14 10
Polynôme de x8 + x4 + x3 + x + 1 x8 + x4 + x3 + x2 + 1
réduction sur F256 (0x11B) (0x11D)
Origine de la S − Box t : a → a−1 dans F256 structure récursive
Origine des constantes polynômes x i sur F256 Entrées successives
de rondes de la S − Box
I Blocs de b = 512 bits, sortie de n = 512 bits
I 10 rondes
I Sécurité de Whirlpool
I Force Brute : O(2256 ) (attaque des anniversaires)
I Pas d’attaque connue pour le moment

Pierre-Louis CAYREL Protection de l’information 41/48


Bilan sur les fonctions de hachage connues

Fonction Empreinte Complexité Résistance Complexité


requise aux collisions de l’attaque
MD5 128 bits O(264 ) Cassé [Sasaki& al.05] O(230 )
SHA-1 160 bits O(280 ) Cassé [Wang& al. Crypto05] O(263 )
HAVAL 256 bits O(2128 ) Cassé (Asiacrypt 04) O(210 )
SHA-256 256 bits O(2128 ) sûr
Whirlpool 512 bits O(2256 ) sûr

I La résistance aux collisions n’est pas toujours suffisante !


I D’autres propriétés de sécurité peuvent être requises !
I Résistance aux collisions proches
I Résistance aux collisions (x, x 0 ) où d(H(x), H(x 0 )) est faible
I Résistance aux pseudo-collisions
I Résistance aux collisions lorsque des IV peuvent différer
I Pseudo-randomness
I rendre difficile distinction entre H et une fonction aléatoire.

Pierre-Louis CAYREL Protection de l’information 42/48


Fonctions de hachage,
MAC et signatures
électroniques
Contrôle d’intégrité
MAC

Pierre-Louis CAYREL Protection de l’information 43/48


Contrôle d’integrité

I Objectif : garantir l’integrité sur un canal non sûr


I Méthode 1 : en utilisant un canal sécurisé
I Transmettre le message sur le canal non fiable
I Transmettre le checksum sur le canal sûr
I Vérifier que le hachage du message reçu correspond

fonction
de H(M) Canal sécurisé
hachage 01011010 . . . 110101 H(M) = H(M 0 ) ?

Message M Message M’
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla Canal non sécurisé blablablablablabla
blablablablablabla blablablablablabla fonction
blablablablablabla blablablablablabla de
blablablablablabla blablablablablabla hachage H(M 0 )
blablablablablabla blablablablablabla 01011010 . . . 110101

Pierre-Louis CAYREL Protection de l’information 44/48


Contrôle d’integrité (2)
I Méthode 2 · en utilisant une fonction de chiffrement E
I chiffrer le message et le checksum avec E
I transmettre le contenu chiffré

H(M) = H(M 0 ) ?
fonction
de H(M) H(M)
hachage 01011010 . . . 110101 01011010 . . . 110101

Message M Message M’
H(M 0 )
blablablablablabla E D blablablablablabla 01011010 . . . 110101
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla fonction
blablablablablabla blablablablablabla de
blablablablablabla blablablablablabla hachage
blablablablablabla blablablablablabla

Canal non sécurisé

I Méthode 3 : en utilisant un MAC


I transmettre le message et le checksum

Pierre-Louis CAYREL Protection de l’information 45/48


Message Authentication Code - MAC

Définition
I Fonction de hachage à sens unique paramétrée par une clé K


 (x1 , HK (x1 ))
 (x2 , HK (x2 ))

I ∀K inconnu et .. , il est impossible de calculer une


 .
(xi , HK (xi ))

paire (x, HK (x)) avec x 6∈ {x1 , . . . , xi }
On note HK (x) l’empreinte de x.

I Seul celui qui possède K peut calculer/vérifier l’empreinte :


1. Alice et Bob partagent une clé K
2. Alice envoie à Bob un message M et r = HK (M)
3. Bob vérifie que le r reçu est bien égal à HK (M)
e pour M
e reçu.

Pierre-Louis CAYREL Protection de l’information 46/48


A quoi sert un MAC ?

I Integrité : Tous les possesseurs de K peuvent vérifier que M n’a


pas été modifié puisqu’il correspond à r .
I Authentification : Si la clé n’est distribuée qu’à deux personnes
I Seuls Alice et Bob peuvent calculer HK (M)
Clé K

HK (M) = HK (M 0 ) ?

MAC HK (M) HK (M)


01011010 . . . 110101 01011010 . . . 110101
HK (M 0 )
01011010 . . . 110101
Message M Message M’
blablablablablabla blablablablablabla Clé K
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla
blablablablablabla Canal non sécurisé blablablablablabla MAC
blablablablablabla blablablablablabla
blablablablablabla blablablablablabla

Pierre-Louis CAYREL Protection de l’information 47/48


Construction d’un MAC
1. A partir d’un chiffrement à clé secrète par blocs E.
I utilisé en mode CBC ou CFB
I l’empreinte est le dernier bloc chiffré
I ex : CBC-MAC-AES
K

E E E CBC − MACK (M)

M1 M2 Mn

I AES : 275 Mb/s sur PIII 500MHz


I CBC-MAC-AES : 234 Mb/s sur PIII 500MHz
2. A partir d’une fonction de hachage à sens unique H (ex : HMAC)
I HMAC(K , M) = H[(K ⊕ Ipad)||H((K ⊕ Opad)||M)]
I || : concaténation
Ipad (0x36 répété B fois) et Opad (0x5c répété B fois) où B est la
longueur en octets du hachage généré par H.
(Intérêt : complète K si elle n’a pas la taille du blos utilisé pour le
hachage)

Pierre-Louis CAYREL Protection de l’information 48/48

Vous aimerez peut-être aussi