Vous êtes sur la page 1sur 39

Mcanismes et services de scurit

But de la cryptographie moderne : fournir un certain nombre de


services de scurit
Confidentialit
Intgrit
Authentification de l'origine des donnes ou d'un tiers
Non-rpudiation

Moyens mis en uvre : mcanismes de scurit
construits au moyen d'outils cryptographiques (fonctions,
algorithmes, gnrateurs alatoires, protocoles)
Chiffrement
signature
Protocoles d'authentification mutuelle avec change de clefs
Confidentialit et
algorithmes de chiffrement
Diffrents types d'algorithmes :
Algorithmes symtriques ou clef secrte
Plus rapides donc prfrs pour le chiffrement de
donnes
Algorithmes asymtriques ou clef publique
change de clefs secrtes
Signature
Chiffrement symtrique - Principe

Dans la cryptographie symtrique, les clefs de chiffrement et de dchiffrement


sont identiques : cest la clef secrte, qui doit tre connue des tiers communicants
et deux seuls. Le procd de chiffrement est dit symtrique.
Chiffrement symtrique - Algorithmes
Algorithmes de chiffrement en continu (stream cipher)
Agissent sur un bit la fois
Le plus courant actuellement : RC4 (longueur de clef variable,
gnralement 128 bits)
Algorithmes de chiffrement par blocs (block cipher)
Oprent sur le texte en clair par blocs (gnralement, 64 bits) DES
(clef de 56 bits code sur 64)
3DES
EDE : Encrypt - Decrypt - Encrypt
trois clefs distinctes (168 bits) ou seulement deux (112 bits)
IDEA (128 bits)
CAST-128 (128 bits)
Blowfish (longueur de clef variable, jusqu' 448 bits)
AES (Rijndael, longueur de clef variable : 128, 192, 256)
Cryptographie clef publique
Diffie & Hellman, 1976
RSA, 1978
Base sur des problmes difficiles rsoudre :
logarithme discret
factorisation de grands nombres
Clefs de chiffrement et de dchiffrement distinctes
Connatre la clef publique ne permet pas de retrouver
la clef prive correspondante
Algorithmes trop lents pour une utilisation intensive
(chiffrement de donnes)
utiliss seulement pour l'change de clef, la signature
Cryptographie clef publique
Exemple de combinaison
clefs publiques / clefs secrtes
Longueurs de clefs
Ne pas mlanger les longueurs de clefs publiques et
secrtes

Les algorithmes reposent sur des principes diffrents et


utilisent donc comme clef des lments prsentant des
caractristiques (notamment longueur) diffrentes

Cryptanalyse et comparaisons de rsistance :


Pour les clefs secrtes, la rfrence est la recherche
exhaustive, qui ncessite 2n-1 essais en moyenne
Pour les clefs publiques, l'attaquant doit rsoudre le
problme mathmatique sur lequel repose
l'algorithme
Fonctions de hachage et
signature

Mcanismes fournissant les services d'intgrit,


d'authentification de l'origine des donnes et
de non rpudiation de la source
Intgrit et authentification
Service souhait : pouvoir s'assurer que le
message mane bien de l'expditeur annonc
(authentification de l'origine des donnes)
n'a pas t modifi pendant le transfert
(intgrit)
Authentification de l'origine des donnes et
intgrit sont insparables
Authenticit = authentification + intgrit
"Authentification" souvent utilis pour dsigner
en fait l'authenticit
Fonctions de hachage
Fonction de hachage sens unique
Convertit une chane de longueur quelconque en une chane de taille
infrieure et gnralement fixe = empreinte ou condens
A sens unique :
Facile calculer mais difficile inverser
Il est difficile de trouver deux messages ayant la mme empreinte
MD5 (Message Digest 5)
Empreinte de 128 bits
SHA (Secure Hash Algorithm)
Empreinte de 160 bits
SHA-1 rvision publie en 1994
SHA-1 considr comme plus sr que MD5
SHA-2 (octobre 2000) agrandit la taille de lempreinte
Signature numrique
Signature numrique
La norme ISO 7498-2 dfinit la signature numrique
comme des donnes ajoutes une unit de donnes,
ou transformation cryptographique dune unit de
donnes, permettant un destinataire de prouver la
source et lintgrit de lunit de donnes et protgeant
contre la contrefaon (par le destinataire, par
exemple). La mention protgeant contre la
contrefaon implique que seul lexpditeur doit tre
capable de gnrer la signature.

Une signature numrique fournit donc les services


dauthentification de lorigine des donnes, dintgrit
des donnes et de non-rpudiation. Ce dernier point
la diffrencie des codes dauthentification de message ,
et a pour consquence que la plupart des algorithmes de
signature utilisent la cryptographie clef publique.
Signature numrique
Sur le plan conceptuel, la faon la plus simple de signer
un message consiste chiffrer celui-ci laide dune
clef prive : seul le possesseur de cette clef est capable
de gnrer la signature, mais toute personne ayant
accs la clef publique correspondante peut la vrifier.
Dans la pratique, cette mthode est peu utilise du fait
de sa lenteur.

La mthode rellement utilise pour signer consiste


calculer une empreinte du message signer et ne
chiffrer que cette empreinte. Le calcul dune empreinte
par application dune fonction de hachage tant rapide
et la quantit de donnes chiffrer tant fortement
rduite, cette solution est bien plus rapide que la
prcdente.
Signature numrique
Mcanisme qui fournit les services suivants :
Authentification de l'origine des donnes
Intgrit
Non-rpudiation de la source
Algorithmes
DSS : standard NIST
SHA-1 + El-Gamal
RSA : norme de fait
MD5 + RSA
SHA-1 + RSA
Authentification mutuelle et
change de clefs de session
Nombres premiers (rappel)
Un nombre entier est premier sil ne peut pas
tre crit comme produit de deux autres
nombres.
Exemples :
11 est premier ; 23 est premier.
12 = 3 x 4 nest pas premier.
21 = 3 x 7 nest pas premier
Cest le produit de deux nombres premiers.
17
Nombres premiers
Il existe une infinit de nombres premiers.
On connat de trs grands nombres premiers.
Exemple : nombre de 100 chiffres
7074514883149317982260680135652618736529
8366329262299423772600551635152165280766
69312115336327996939
Il est difficile de savoir si un trs grand nombre est
premier. Cest un problme difficile mme avec des
mthodes savantes darithmtique.
Il est encore plus difficile de le factoriser lorsquil
nest pas premier. On sait factoriser les nombres de
100 chiffres, mais pas ceux de 200 chiffres.

18
Introduction
Relations entre change de clefs et authentification
mutuelle
L'change de clefs doit tre authentifi pour viter les
attaques
Une clef de session permet d'tendre l'authentification
l 'ensemble de la communication
Protocole d'authentification mutuelle avec change de
clefs
fournit authentification mutuelle et un change de clefs
authentifi tout-en-un
Types dchange de clefs
Transport
Exemple : transport RSA (utilis par SSL)
Gnration
Exemple : Diffie-Hellman (utilis par IPSec)
Transport de clef
Gnration de clefs
Diffie-Hellman : principe
Diffie-Hellman : principe (suite)
Invent en 1976 par Diffie et Hellman, ce protocole permet deux tiers de
gnrer un secret partag sans avoir aucune information pralable lun sur
lautre. Il est bas sur la cryptologie clef publique (dont il est dailleurs
lorigine), car il fait intervenir des valeurs publiques et des valeurs prives.
Sa scurit dpend de la difficult de calculer des logarithmes discrets
Le secret gnr laide de cet algorithme peut ensuite tre utilis pour
driver une ou plusieurs clefs (clef secrte, clef de chiffrement de clefs...).
Voici le droulement de lalgorithme :
1. Alice et Bob se mettent daccord sur un grand entier n tel que (n-1)/2
soit premier et sur un entier g < n. Ces deux entiers sont publics.
2. Alice choisit de manire alatoire un grand nombre entier a, quelle
garde secret, et calcule sa valeur publique, A = ga mod n. Bob fait de mme
et gnre b et B = gb mod n.
3. Alice envoie A Bob ; Bob envoie B Alice.
4. Alice calcule KAB = Ba mod n ; Bob calcule KBA = Ab mod n. KAB = KBA = gab
mod n est le secret partag par Alice et Bob.
Une personne qui coute la communication connat g, n, A=ga mod n et
B=gb mod n, ce qui ne lui permet pas de calculer gab mod n : il lui faudrait
pour cela calculer le logarithme de A ou B pour retrouver a ou b
Diffie-Hellman : Echange de clef
Diffie-Hellman : proprits
Sensible l'attaque de l'intercepteur (man in
the middle)
L'attaquant, envoie sa valeur publique la
place d'Alice et de Bob et partage ainsi un
secret avec chaque tiers.
Solution: authentifier les valeurs publiques ; le
protocole rsultant s'appelle Diffie-Hellman
authentifi.
Diffie-Hellman : proprits
Une faon de contourner le problme de
lattaque de lintercepteur sur Diffie-Hellman
est dauthentifier les valeurs publiques utilises
pour la gnration du secret partag. On parle
alors de Diffie-Hellman authentifi.
L'authentification peut se faire deux niveaux :
En utilisant des valeurs publiques
authentifies, laide de certificats par exemple.
En authentifiant les valeurs publiques aprs les
avoir changes, en les signant par exemple.
Algorithme RSA (1978)
Invent par Rivest, Shamir et Adleman (1978)
Chaque utilisateur choisit secrtement deux trs grands
nombres premiers p et q et les multiplie. Le nombre
n=pxq
est public. Mais il sera impossible de retrouver p et q si
on ne les connat pas
Il dispose aussi de deux nombres qui dpendent de p et
de q :
- Un nombre e qui est (avec le nombre n) sa cl publique.
- Un nombre d qui est sa cl prive, secrte.

On choisit e premier avec (p-1)(q-1).


La cl secrte est un entier d qui vrifie
ed = 1mod ((p-1)(q-1))
26
Principe de lalgorithme RSA
Les nombres e et d sont choisis de faon que, si m
est un nombre entier quelconque, on a
(me)d mod (n) ou (me)d [ n] = m
Pour transmettre un message m de A B :
A code le message avec la cl publique e de B :
m memod (n)
B le dcode laide de sa cl prive d :
me mod(n) [(me)mod (n)]dmod(n) = m

27
Schma de lalgorithme RSA

A B
m m

Cl publique Cl prive de B
de B me mod(n) cd mod (n) d
(n, e)

28
Exemple
B choisit p = 11 et q = 17
n = 11x17 = 187
(11-1)x(17-1)= 160
Comme 7x23=161 on prend e=7 et d=23
Cl publique : n = 187 e=7
Cl prive : d = 23
A veut envoyer B le message m = 10
Message chiffr :
me mod(n) = 107mod (187) =175
Dchiffrement :
(me) d mod(n)= 1023 mod (187) = 10

29
Principe de lalgorithme RSA
A code le message avec la cl publique e de B :
m me(mod (n)
B le dcode laide de sa cl prive d :
me (me)d m(mod n)
Tout monde connat n = p x q et e, mais pas d (ni p et
q).
Si un intrus capte le message chiffr me, il nest pas
capable de retrouver m sil ne connat pas d.
La seule faon de connatre d est de factoriser n,
cest--dire de retrouver p et q.
30
Attaque du chiffrement RSA
La seule attaque connue revient factoriser n.
Un nombre dcimal 155 chiffres correspond un
chiffre binaire sur 512 bits. En 1999 il fallait 2 mois et
demi de calculs pour le factoriser.
Le plus grand nombre jamais factoris est de 576 bits.
Il fut factoris le 3 dcembre 2003, faisant partie de la
comptition de factorisation RSA.
Une attaque par factorisation dune cl publique est
plus rapide quune attaque exhaustive sur une cl
secrte.
Un systme cl secrte de 128 bits est sr. Un
systme cl publique de 128 bits est trs vulnrable.
Il est recommand de prendre un nombre n 768 bits
ou, mieux, 1024 bits.
31
Signature RSA
A envoie un message m B.
A a une cl publique (n, e) et une cl prive d.
B a une cl publique (n, e) et une cl prive d.
A signe le message m avec sa cl prive d :
m s = md(mod n)
A transmet le message m chiffr et la signature s B
en utilisant le chiffrement RSA.
B dchiffre m et s, puis calcule, en utilisant la cl
publique e de A
se (mod n) = m
Il vrifie quil retrouve bien le message m (reu par
ailleurs), ce qui authentifie le message et son auteur.
32
Certificats et PKI
L'utilisation de la cryptographie clef
publique grande chelle ncessite de
pouvoir grer des listes importantes de clefs
publiques, pour des entits souvent rparties
dans un rseau. Pour cela, on a recourt des
infrastructures clefs publiques (Public Key
Infrastructure, PKI), systmes de gestion des
clefs publiques prvus pour une utilisation
grande chelle. La plupart de ces systmes
utilisent souvent des certificats.
Distribution des clefs publiques
Ide de dpart
Simple annuaire des clefs publiques
Problmes rsoudre
Distribuer les clefs de faon authentifie et intgre
Stocker les clefs de faon sre (protection en intgrit)
Solution = certificats et hirarchies de certification
lment de transport d'une clef publique, dont
l'authenticit est vrifiable de faon autonome
Authentification : Lie une clef publique son possesseur
Intgrit : Toute modification du certificat sera dtecte
Principe du certificat
Certificat = Structure de donnes
Permet de lier une clef publique diffrents
lments, au moyen de la signature d'une autorit
de confiance :
Nom du propritaire de la clef
Dates de validit
Type d'utilisation autorise
Format actuel : X.509v3
mis par une autorit de certification (Certificate
Authority - CA)
Garantit l'exactitude des donnes
Certificats vrifiables au moyen de la clef publique
de la CA, seule clef stocker de faon sre
Listes de rvocation (Certificate Revocation List -
CRL)
Permettent de rvoquer des certificats avant leur
expiration normale
mission et vrification des certificats
Les certificats X.509v3
Les certificats X.509v3

Version : Indique quelle version de X.509 correspond ce certificat.


Serial number : Numro de srie du certificat (propre chaque autorit de
certification).
Signature Algorithm ID : Identifiant du type de signature utilise.
Issuer Name : Distinguished Name (DN) de l'autorit de certification qui a
mis ce certificat.
Validity period : Priode de validit.
Subject Name : Distinguished Name (DN) du dtenteur de la clef publique.
Subject public key info : Infos sur la clef publique de ce certificat.
Issuer Unique ID / Subject Unique ID : Extensions optionnelles introduites
avec la version 2 de X.509. Extensions : Extensions gnriques
optionnelles, introduites avec la version 3 de X.509.
Signature : Signature numrique de la CA sur l'ensemble des champs
prcdents.
Scurisation du e-commerce
Protocole SSL (Secure sockets layers) : procd de
scurisation des transactions via internet, bas sur
un change de cls entre client et serveur.
Le client se connecte au site marchand qui lui envoie
sa cl publique certifie. Le client (en fait son
navigateur) vrifie le certificat et adopte un
algorithme cl secrte, commun avec le marchand.
Le client (en fait son navigateur) choisit au hasard
une cl secrte quil chiffre avec la cl publique du
serveur et quil lui transmet. Le serveur la dchiffre
avec sa cl prive. Les transactions se font laide de
cette cl secrte.
39

Vous aimerez peut-être aussi