Vous êtes sur la page 1sur 21

Chiffrement clef publique, authentification et distribution des clefs

Scurit des rseaux informatiques

Plan
Les principes de l'authentification de message Les fonctions de hachage scurises
SHA-1 et HMAC

Principes de chiffrement clef publique Algorithmes de chiffrement clef publique


RSA

Gestion des clefs


Diffie-Hellman Certificats numriques
Scurit des rseaux informatiques 2

L'authentification
Protection contre les attaques actives Besoins vrifier : 1. L'identit de l'auteur/metteur du message, 2. Le contenu du message n'a pas t modifi (intgrit), 3. Que le message a t transmis sans dlai et dans le bon ordre.
Scurit des rseaux informatiques

corruption des donnes et des transactions

Les principes de l'authentification de message


L'authentification avec un chiffrement traditionnel
L'metteur et le rcepteur partage une clef On ajoute au message :
un champ de contrle de corruption (un code standard de dtection d'erreur) un numro de squence et/ou un horodatage

L'authentification sans chiffrement total du message


Ne ncessite pas ou trs peu de chiffrement :
=> efficacit

On chiffre totalement le message l'metteur et on dchiffre au rcepteur, puis on vrifie s'il y a eu corruption

Un champ d'authentification (appel signature) est ajout chaque message Le message est transmis en clair Utilise de nombreux mcanismes de chiffrement
dissocie l'authentification de la confidentialit

Scurit des rseaux informatiques

L'authentification sans chiffrement


Il existe 4 techniques :
Avec "Message Authentication Code" (MAC)
Utilise gnralement un chiffrement symtrique Mais peut utiliser un chiffrement asymtrique

Avec une fonction de hachage nonrversible (HMAC)


Avec chiffrement symtrique Avec chiffrement asymtrique Avec une valeur secrte
Scurit des rseaux informatiques 5

Authentification sans chiffrement avec MAC


MAC = F(Key, Message) La taille du MAC est petit et fixe Le message n'a pas t modifi si MAC reu et recalcul sont identiques L'metteur est certifi : la clef est secrte Le message est bon : il contient un numro de squence et une date (=> il n'a pas t modifi)
Scurit des rseaux informatiques 6

Scurit des rseaux informatiques

Avec une fonction de hachage non-rversible


Une fonction de hachage:
Ne ncessite pas de clef Est plus rapide qu'un algorithme de chiffrement classique N'est pas soumise aux restrictions concernant les exportations (des armes de guerre).

Scurit des rseaux informatiques

Avec fonction de hachage non-rversible

Scurit des rseaux informatiques

Les partenaires partagent une valeur secrte qui est ajoute au message avant le hachage mais n'est pas transmise.

Avec fonction de hachage nonrversible

Scurit des rseaux informatiques

10

1. 2. 3. 4. 5. 6.

Production d'une signature (fingerprint"). Proprits de la fonction de hachage H :

Fonctions de hachage scurises

H utilise un bloc de donnes d'une taille quelconque H produit une signature de longueur fixe H(x) est facile calculer. Il est calculatoirement impossible de trouver x tel que H(x)=h. (non rversibilit) Il est calculatoirement impossible de trouver x=/=y tels que H(x)=H(y). ("Weak collision resistance") Il est calculatoirement impossible de trouver (x, y) tels que H(x)= H(y). ("Strong collision resistance : against Birthday attack")

Scurit des rseaux informatiques

11

Fonction de hachage triviale

Un dcalage circulaire d'un bit de la valeur de hachage aprs chaque bloc amliore la qualit du hachage. Faiblesse : la non-rversibilit n'est pas assure, il est facile d'ajouter n'importe quel (faux) message un bloc (de n bits) tel que le nouveau message produit la signature dsire (celle du vrai message). Scurit des rseaux informatiques 12

SHA-1
"Secure Hash Algorithm" Normalis en 1995 FIPS PUB 180-1 Signature de 160 bits, longueur maximum du message 264 bits, blocs de 512 bits 4 tours de 20 tapes Utilise une constante Kt dont la valeur dpend du tour: Complexit :
Si t= 1, 2, 3 et 4 alors Kt est la partie entire de respectivement : 230x 21/2, 230x 31/2, 230x 51/2, 230x 101/2 Trouver 2 messages ayant mme signature : 280 Trouver un message pour une signature donne : 2160
Scurit des rseaux informatiques 13

L'algorithme SHA-1

Scurit des rseaux informatiques

14

Traitement d'un bloc par SHA-1

Scurit des rseaux informatiques

15

Fonctions de hachage scurises


SHA-1 MD5 RIPEMD(Rfc 1321) 160
160 bits 512 bits
"Ron Rivest"

160 bits Digest length Basic unit of 512 bits processing

128 bits 512 bits

80 (4 rounds 64 (4 rounds 160 (5 paired Number of of 20) of 16) rounds of 16) steps 264-1 bits Maximum message size Scurit des rseaux informatiques 16

HMAC
Proposition d'utiliser sous Internet la technique HMAC pour n'importe quelle fonction de hachage scurise dfinie pour la technique MAC (par ex. SHA-1) Normalis par rfc 2104, obligatoire pour IPsec, utilis par TLS ou SET Clef secrte K : complte b bits si ncessaire par des 0 => K+ Ipad/Opad : suite de 0x36 ou 0x5c

Scurit des rseaux informatiques

17

HMAC Structure

Scurit des rseaux informatiques

18

Formule HMAC
HMACK(M) = H[K+ + opad) || H[K+ + ipad) || M]]

Scurit des rseaux informatiques

19

Utilise un couple de clefs : (clef prive, clef publique)


A rvolutionn le chiffrement (1977) des consquences sur : distribution des clefs, confidentialit et l'authentification. Manipule 6 objets (cf. transparent suivant) : Message initial Algorithme de chiffrement Clef publique Clef prive Message chiffr Algorithme de dchiffrement
Scurit des rseaux informatiques

Chiffrement asymtrique Principes

20

10

Chiffrement utilisant un chiffrement asymtrique

Scurit des rseaux informatiques

21

Authentification utilisant un chiffrement asymtrique

Scurit des rseaux informatiques

22

11

Utilisations d'un chiffrement asymtrique


3 utilisations: Confidentialit :
L'metteur chiffre le message avec la clef public du rcepteur.

"Digital signature" :
Authentification de l'metteur et intgrit du message L'metteur signe le message avec sa clef prive.

"Public Key Infrastructure" :


L'utilisation d'un chiffrement asymtrique facilite le dployement d'un systme sr de distribution de clefs.

Scurit des rseaux informatiques

23

Proprits d'une fonction assurant un chiffrement asymtrique


1. Il est facile de gnrer une paire de clef ("public key KUb", "private key KRb") 2. Il est facile de chiffrer un message initial (M) connaissant la clef publique :
C = EKUb ( M )

3. Il est facile de dchiffrer le message chiffr (C) connaissant la clef prive :


M = DKRb (C ) = DKRb [ EKUb ( M )]
Scurit des rseaux informatiques 24

12

Proprits d'une fonction assurant un chiffrement asymtrique


4. Il est quasi-impossible connaissant une clef de trouver l'autre clef. 5. Il est quasi-impossible connaissant une clef et le message chiffr de retrouver le message initial. 6. Si l'une des 2 clefs est utilise pour le chiffrement alors l'autre permet le dchiffrement : M = DKRb [ EKUb ( M )] = DKUb [ EKRb ( M )]
Scurit des rseaux informatiques 25

Algorithmes de chiffrement clefs publiques


RSA [Ron Rives, Adi Shamir and Len Adleman at MIT, 1977].
RSA est un chiffrement par bloc Le plus largement implment La difficult de la cryptanalyse est base sur celle de la dcomposition en nombres premiers Avril 1994 l'aide de 1600 ordinateurs un message chiffr avec une clef de 428 bits t dcod aprs 8 mois d'analyse
Scurit des rseaux informatiques 26

13

Algorithmes de chiffrement clefs publiques


Digital Signature Standard (DSS)
Utilise SHA-1 Dernire version de la norme en 1996 FIPS PUB 186 N'est pas prvu pour tre utilis ni pour le chiffrement ni l'change de clefs Tente de rpondre l'accroissement de la longueur des clefs des autres mthodes (RSA) Propos IEEE P1363 Peu sr, compar l'exprience que l'on a sur RSA Mathmatiquement trs complexe
Scurit des rseaux informatiques 27

Elliptic-Curve Cryptography (ECC)

RSA Algorithm Generation


1. 2. 3. 4. 5. 6. 7.

Key

Select p,q p and q both prime Calculate n = p x q Calculate (n) = ( p 1)(q 1) gcd((n), e) = 1; 1 < e < (n) Select integer e d = e 1 mod (n) Calculate d Public Key KU = {e,n} Private key KR = {d,n}
Scurit des rseaux informatiques 28

14

The RSA Algorithm Encryption


Plaintext: Ciphertext: M<n C = Me (mod n)

Scurit des rseaux informatiques

29

The RSA Algorithm Decryption


Ciphertext: Plaintext: C M = Cd (mod n)

Scurit des rseaux informatiques

30

15

Example of RSA Algorithm

Scurit des rseaux informatiques

31

Gestion de clefs
Gnration de clefs Distribution de clefs

Scurit des rseaux informatiques

32

16

Gnration de clefs
Lorsque le chiffrement est symtrique
Gnration de la clef partage sur un partenaire Distribution sre de la clef vers l'autre partenaire Gnration de la clef prive d'un partenaire sur le partenaire lui-mme Utilisation de la clef publique par l'autre partenaire Gnration de la clef prive d'un partenaire par un systme permettant de conserver la clef donc de la restituer au partenaire (s'il la perd par ex.)
Distribution sre de clefs prives
Scurit des rseaux informatiques 33

Lorsque le chiffrement est asymtrique

Distribution sre de clefs publiques

Distribution de clefs
Diffie-Hellman [Diffie, Hellman, 1976]
Permet l'change scuris d'une clef (partage) La difficult de la cryptanalyse est base sur celle du calcul de logarithmes discrets Pas d'authentification des partenaires !

Par un systme de distribution des clefs ("Public key Infrastructure")


Scurit des rseaux informatiques 34

17

Diffie-Hellman
Paramtres :
q : un nombre premier <a> une racine primitive de q (qqs b<q, il existe i tq b = <a>i mod p)

Produit un secret partag : K

Scurit des rseaux informatiques

35

Diffie-Hellman Key Exchange

Scurit des rseaux informatiques

36

18

Distribution des clefs


La distribution de clefs
La distribution de clefs publiques La distribution des clefs secrtes (partages ou prives)

Utilisation du chiffrement asymtrique facilite la distribution de clefs La distribution de clefs publiques utilise la notion de certificats
Scurit des rseaux informatiques 37

Distribution des clefs publiques


Les clefs publiques sont publiques mais elles doivent tre associes de manire sre avec l'identit de leur propritaire. Un tiers ("Certificate Authority" : CA), de confiance, distribue des certificats Certificat :
Hypothse on connait la clef publique du CA une clef publique + l'identit du propritaire de la clef + un signature numrique produite par le CA et prouvant l'intgrit du certificat Au format X.509,
utilis par IPsec, SSL, S/MIME, etc.

Grce des certificats de clefs publiques

Efficace : la vrification du certificat est locale !


Scurit des rseaux informatiques 38

19

Distribution de clefs publiques

Scurit des rseaux informatiques

39

Distribution de clefs secrtes


Diffie-Hellman n'est pas sr: Utilisation de certificats de clefs publiques Utilisation normale du chiffrement asymtrique pour assurer une communication confidentielle Processus :
n'authentifie pas les partenaires

Prparation du message contenant la clef secrte Chiffrement du message par la clef publique du destinataire, clef publique obtenue par un CA. Transmission du message chiffr. Dchiffrement du message avec la clef prive, rcupration de la clef secrte
Scurit des rseaux informatiques 40

20

Distribution d'une clef de session


Utilisation d'un chiffrement symtrique
Acclre le chiffrement et diminue la taille du message Ncessite la connaissance (la transmission) d'une clef partage
La clef de session

Processus :

Seul le destinataire est capable de dchiffrer la clef de session et donc de dchiffrer le message
Scurit des rseaux informatiques 41

Prparation du message Chiffrement symtrique du message avec la clef de session Chiffrement asymtrique de la clef de session par la clef publique du destinataire (clef publique obtenue par un CA) Transmission de la clef de session chiffre et du message chiffr

21