Vous êtes sur la page 1sur 16

Scurit Informatique

Avertissements :
Le contenu de ce document est sous licence GPL. Le document est librement diffusable dans le contexte de cette licence. Toute
modification est encourage et doit tre signale othebaud@e-watching.net
Les documents ou applications diffuses sur e-watching.net sont en ltat et sans aucune garantie ; lauteur ne peut tre tenu
pour responsable dune mauvaise utilisation (au sens lgal comme au sens fonctionnel). Il appartient lutilisateur de prendre
toutes les prcautions dusage avant tout test ou mise en exploitation des technologies prsentes.

Objet :

Explications sur la cryptographie

Date : 22/02/2008
Version : 1.0

1 - Chiffrement ou Cryptage, Dchiffrement ou Dcryptage ?


La confusion est frquente.
- Le chiffrement consiste transformer une donne lisible (ou
clair) en une donne illisible (ou incomprhensible par un humain
logiciel, ou cryptogramme) sans possder la cl qui permet de
dchiffrer la donne.
- Le dchiffrement est logiquement lopration inverse du
chiffrement.
- Cryptage est un anglicisme ambigu issu de Encryption qui
signifie en franais Chiffrement.
- Dcryptage dsigne lacte de rendre clair un message chiffr
sans en possder la cl.

Page 1 sur 16 Version 1.0

Scurit Informatique
2 - Dfinitions complmentaires utiles
Cryptogramme : message chiffr.
Crypto-Analyse : technique qui vise tudier les messages chiffrs ou
Cryptogrammes en vue de les rendre lisible (ou de les dcrypter)
Cryptographie : science qui vise crer des cryptogrammes partir
dalgorithmes de chiffrage.

3 A quoi sert ?
Tous ces mots ont pour vocation , en vrac :
- empcher la diffusion dinformation sensible ou confidentielle =
confidentialit
- mettre en vidence si un document a t modifi (une commande
de client, un virement bancaire,) = intgrit
- faire en sorte que la compromission dune donne cote trop
chre lattaquant au regard du contenu de la donne =
confidentialit & intgrit
- protger des mots de passe = confidentialit & intgrit
- rendre illisible des bandes de sauvegardes, si elles devaient tres
perdues ou voles ( ?) = confidentialit
- identifier une personne ou un systme = authentification
- empcher la rpudiation : cest faire en sorte quun
correspondant rcepteur recevant une donne (mail, fichier,)
peut vrifier quil provient bien du destinataire annonc ; de
mme quun correspondant metteur envoyant une donne sera
assur que le rcepteur a bien reu le document envoy = nonrpudiation

4 - Hachage ou Signature ?
Dans les deux cas, il sagit de gnrer une empreinte quasiment unique
dune donne (mail, fichier, ) afin de sassurer que le contenu na pas
t modifi sinon lempreinte serait diffrente.
Lempreinte peut tre appele aussi condensat, hash, ou encore somme
de contrle.
On retrouve ce mcanisme de prise dempreinte dans la gestion de mot de
passe associ aux mcanismes dauthentification, dans certains protocoles
de communication, lchange de mails, lchange de fichiers (notamment
les excutables),
Il y a quelques diffrences importantes entre ces deux techniques :

Page 2 sur 16 Version 1.0

Scurit Informatique

Le Hachage a pour vocation de vrifier que le contenu nait pas t


modifi (intgrit). Le hachage produira toujours la mme
empreinte numrique (sauf utiliser une variable complmentaire
telle quune cl de sel telle que date/heure).
La Signature a pour vocation didentifier lauteur dun document
(identit) et de sassurer que le document nait pas t modifi
(intgrit). La signature ou vrification de signature ncessite de
possder une cl.

5 - Hachage - Fonctionnement
Un algorithme va digrer un message ou document, puis en sortir une
suite numrique dune certaine longueur, qui sera lempreinte du
document.
Un algorithme donn produira toujours la mme longueur de lempreinte
numrique. La fonction de Hachage ne permet de reproduire le message
dorigine (en principe), ce nest donc pas une fonction de cryptage.

Les algorithmes de hachage sont lgions mais ceux utiliss sont souvent :
MD4 : Message Digest 4 (RFC 1320) qui gnre une empreinte de 128
bits. Cet algo est dsormais abandonn par une faiblesse de conception et
Page 3 sur 16 Version 1.0

Scurit Informatique
tant la probabilit davoir le mme rsultat pour deux messages diffrents
est important.
MD5 : Message Digest 5 (RFC 1321) amliore MD4, lempreinte reste sur
128 bits.. Mais cet algorithme est dsormais considr comme non sr
pour usage cryptographique : une quipe de Chinois a pu dmontrer
pouvoir reproduire partir dune empreinte e1 (calcule partir dun
message X), un nouveau message (Y) capable de produire une empreinte
e2 identique e1. Ce quon appelle une collision complte (dans un
contexte peu scuris puisque le second message na pas t trouv de
manire alatoire)
Il nempche quil est encore fortement utilis pour vrifier lempreinte de
fichiers tlchargs sur Internet, pour le cryptage de mot de passe sur les
sites Web (fonctions PHP disponibles)
SHA-0 : Secure Hash Algorithm 0, cette premire version mise au point
en 1993 fut vitre abandonne cause de deux failles permettant des
collisions, failles associes la prsence de la NSA.
SHA-1 : Secure Hash Algorithm 1 est sorti en 1995 sous la coupelle de la
NSA, il produit une empreinte de 160 bits mais reste parmi les
algorithmes peu srs bien quil faille un puissance de calcul importante (
ce jour) pour permettre une collision qui ne sera trouve partir dun
message alatoire.
SHA-2 (aussi appel SHA-224, SHA-256, SHA-384, SHA-512) :
Secure Hash Algorithm xxx bits. Algorithme driv de SHA1, publi par la
NSA en 2000, les versions 256 et 512 sont rpandus et dits srs : une
tude de 2003 a montr que lalgorithme navait pas la fragilit des
algorithmes rencontrs sur MD5 et SH1. A suivre.
Whirlpool : conu dans le cadre dun projet europen, cet algorithme
gnre des empreintes de 512 bits. La longueur de lempreinte et le fait
que lalgorithme travaille sur des registres 64 bits en font un systme
assez consommateur pour le processeur et la mmoire (notamment sur
environnements embarqus et bass sur des architectures 32 bits), mais
reste exceptionnellement robuste, normalis (ISO 10118-3 :2004 pour sa
version finale) et libre de droits.
Rf :
http://paginas.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html

Dautres algorithmes de hachage peuvent tre rencontrs mais prsentent


pour la plupart 1 une implmentation peu rencontre, 2- des failles
(collisions) mises en vidence. Citons notamment FFTH, RIPEMD, LANMAN
Hash, Tiger.

Page 4 sur 16 Version 1.0

Scurit Informatique

6 Chiffrement / Dchiffrement
Il existe plusieurs grands principes de chiffrement (seuls les deux
premiers seront expliqus) :
1- bas sur des cls asymtriques, la cl de chiffrement est
diffrente de la cl de dchiffrement. Cest pratique lorsqu il
sagit protger un document et de faire en sorte que seules les
personnes qui en possdent la cl complmentaire pourront
le dchiffrer. Sachant que cette cl ne permet pas de rechiffrer le
document.
2- bas sur des cls symtriques, la mme cl permet de chiffrer
et dchiffrer. Utile lors de chiffrement UN vers UN (comme par
exemple partiellement SSL entre un serveur Web et un
navigateur Web, PGP, ).
3- Puis aussi . par substitution, par transposition,
polyalphabtique, par dissimulation, et par stganographie.

7 Chiffrement Asymtrique ou cryptographie cl publique


Le fonctionnement repose sur une paire de cls lies mathmatiquement.
On considre lune dentre elle comme prive, et lautre publique (qui
pourra donc tre diffuse). Le contenu de la premire cl ne peut tre
retrouv partir de la seconde cl. Les oprations se font sens unique,
on ne peut revenir en arrire (principe de la trappe). Ce retour en arrire
est toutefois possible en possdant la cl prive.
Traditionnellement les exemples de chiffrement font appels Alice et Bob.
Allons-y pour un exemple de chiffrement de message dans un but de
rendre confidentiel le message :

Page 5 sur 16 Version 1.0

Scurit Informatique

1 Alice veut envoyer un message confidentiel Bob


2 Bob gnre une paire de cl Publique / Prive
3 Bob fournit Alice sa cl publique
4 Alice chiffre le message partie de la cl publique de Bob
5 Alice envoie le message chiffr Bob
6 Bob dchiffre le message dAlice avec la seule cl en mesure de
le faire : sa cl prive.

Une autre utilisation dun systme de chiffrement asymtrique est dans le


but de garantie lorigine du message ou de sign ce message.
Autrement dit, Alice souhaite communiquer Bob un message (dont le
contenu nest pas ncessairement confidentiel) ; le challenge est quAlice
veut sassurer que le message que recevra Bob sera bien celui qui a t
envoy, et quil naura pas soumis de modification sur le chemin.

Page 6 sur 16 Version 1.0

Scurit Informatique

1- Alice veut envoyer un message Bob et se garantir de lintgrit du


message
2- Alice gnre une paire de cl Publique /Prive
3- Alice fournit Bob sa cl publique
4- Alice gnre une signature partir du message et de sa cl prive
5- Alice envoie le message sign Bob
6- Bob utilise la cl publique dAlice pour vrifier que la signature
correspond au contenu exact du message.

Bien sr, deux correspondants souhaitant schanger des donnes


confidentielles et signes pourront mixer les deux techniques condition
de schanger mutuellement leur cl publique.

Un avantage de ce systme est la diffusion facilit des cls publiques sans


compromission et galement la robustesse des algorithmes bass sur des
problmes mathmatiques complexes (factorisation , logarithme). De ce
fait, un chiffrement cls asymtriques est considr comme 1000 fois
plus lent quun chiffrement cl symtriques.

Page 7 sur 16 Version 1.0

Scurit Informatique

Des algorithmes asymtriques utiliss :


RSA : Rivest Shamir Adleman, du nom des 3 personnes qui lont cr
(1977) et brevet en 1983. Cest le plus rpandu et son brevet a
dsormais expir (2000). Bien que cet algorithme puisse tre cass
pour des cls de 256 bits avec ordinateur classique, 512 bits avec un
rseau de processeurs, lalgorithme reste sr pour des clefs RSA de 1024
bits minimum, voire 2048, 4096.
EL Gamal : du nom de son crateur, cest un autre algorithme bas sur le
protocole Diffie & Helmannquon retrouve notamment dans les dernires
versions de PGP ; algorithme qui nest pas sous brevet. A noter que le
message chiffr est deux fois plus long que le message dorigine : ce qui
peut engendrer quelques complications en terme de stockage ou de
communication. Certaines implmentations dElGamal gnrent parfois
des risques quant lexposition possible de la cl price.

8 Chiffrement Symtrique ou algorithme cl secrte


Son principe est trs simple :

Page 8 sur 16 Version 1.0

Scurit Informatique
Pour que Alice et Bob puissent schanger un message confidentiel, donc
chiffr, ils doivent tous deux possder la mme cl unique qui servira tant
chiffrer qu dchiffrer.
La faiblesse du systme apparat clairement dans lchange de la cl,
opration pourtant ncessaire au chiffrement/dchiffrement du message.
Le fonction dun algorithme cl secrte nest pas exploitable dans le cas
de non-rpudiation ou de preuve dorigine.
Les algorithmes symtriques sont cependant parmi performants, capables
de traiter un volume de donnes important en trs peu de temps. Ils sont
galement robustes ou du moins dpendant de la taille de la cl : plus la
cl sera importante, plus le nombre de combinaisons possibles pour
trouver la bonne sera important.
Cest donc le dlai ncessaire la dcouverte de la cl parmi x
combinaison qui dfinira la robustesse du systme cryptographique.

Quelques algorithmes de chiffrement cl secrte


DES : Data Encryption Standard, mthode de chiffrement utilisant des
cls 56 bits standardise en 1976, la demande de la NSA. Il tait
particulirement utilis dans les systmes Unix.
TripleDES ou 3DES : cest lapplication successive de trois passes dans
lalgorithme DES avec des cls en principes diffrentes (mais cest parfois
la mme qui soit utilise selon les implmentations). La longueur de la
cl est de 168 bits (3*56 bits). 3DES est en passe de disparatre
galement, parce que lent et dont le niveau de scurit est peu
performant. On le rencontre encore toutefois sur de nombreux
quipements matriels.
Pour remplacer ces algorithmes vulnrables, une comptition a t
initie par le NIST afin de trouver le nouveau Standard de Chiffrement
Avanc ; 5 algorithme candidats ont t prsents avec les votes suivants
pour les 3 premiers Rijndael 86 voix,Serpent 59 voix, Twofish 31
voix.
AES : Advanced Encryption Standard, adopt en 2001 est un algorithme
dvelopp par Rijndael, qui consomme peu de mmoire, facile
implmenter et utilise des cls de 128, 192 ou 256 bits. Cest devenu le
remplaant de DES et 3DES. Les donnes sont passes de 10, 12 ou
14 fois et entre chaque tour, elles subissent un masque XOR, les donnes
XORes sont alors rintroduites, etc AES est dsormais utilis dans la
scurisation Wifi, outils de compression, de cryptage de volumes,.. Cest
le seul algorithme autoris porter le nom de AES.

Page 9 sur 16 Version 1.0

Scurit Informatique
BlowFish : conu 1993 et entirement libre, cet algorithme utilise des
cls de 32 448 bits. Environ 5 fois plus rapide que 3DES, il reste encore
trs fiable (selon la taille de la cl). On le rencontre dans Ssh, PGP,
TrueCrypt,
TwoFish : reprend certaines caractristiques de BlowFish mais avec des
cls de 128 256 bits. Il tait lun des concurrent possibles AES, mais
na pas t retenu, pourtant plus rapide, il serait rsistant et reste une
bonne solution de secours, mais trs peu utilis.
Serpent : comme TwoFish, il a t prsent lvaluation pour devenir le
AES mais na pas t retenu (trop proche de DES ?). Il nexiste pas
dattaque connue contre cet algorithme. Les cls gnres peuvent tre de
128, 192 ou 256 bits.

9 - Infrastructure Cl Publique ou PKI (Public Key Infrastructure)


Lune des problmatiques dans la gestion des cls de chiffrement est la
diffusion de ces cls, la garantie de la provenance dune cl (prive
comme publique), la gestion de la dure de validit des cls, la mise en
place dun systme de normalisation pour lchange des cls , et la
reconnaissance des participants cryptographiques par une tierce partie.
Cest ce que permet de faire une Infrastructure Cl Publique titre
externe (rseau internet, inter entreprise, ) comme titre intra
entreprise :
- assurer la non-rpudication
- gnrer les paires de cls prive/publiques
- garantir la provenance dun cl publique en y apposant sa propre
signature (= certificat)
- dfinir/renouveller la dure de vie du couple de cls.

Voyons comment cela fonctionne-t-il :


Etape 1
Bob souhaite chiffrer un message pour lenvoyer Alice, ils vont faire
appel une PKI pour cette opration

Page 10 sur 16 Version 1.0

Scurit Informatique

1- Alice prsente son identit auprs de lAutorit de Certification (en


fait cela devrait tre lAutorit dEnregistrement mais dans la
pratique, ces rles sont cumuls par lAC)
2- LAutorit de Certificat ou CA gnre une paire de cl (avec un cl
publique signe par la propre cl prive de lAutorit de
Certification)
3- LAutorit de Certification dlivre la cl prive au demandeur
4- La CA publie le certificat dans une liste de rvocations de certificats
(CRL)
Etape 2
Bob souhaite chiffrer le document pour Alice. Il va contacter lAnnuaire (ou
Alice) pour obtenir le certificat publi dAlice.

Page 11 sur 16 Version 1.0

Scurit Informatique

1 & 2 Bob contacte lAnnuaire (ou Alice) pour obtenir le certificat idoine
(qui contient la cl publique dAlice signe par lAutorit de Certification, la
CA).
3 Bob doit pouvoir vrifier que le certificat obtenu est bien celui dAlice.
Il va devoir vrifier la signature de la CA, donc devoir possder la cl
publique de la CA. Cest couramment chose immdiatement possible : un
certain nombre de CA externes (ou Autorits de Certification Principales)
sont dj installes avec les OS et affichables facilement depuis son
navigateur web
Page 12 sur 16 Version 1.0

Scurit Informatique
 FireFox 2

 IE 6

Page 13 sur 16 Version 1.0

Scurit Informatique

Ces certificats sont donc dlivrs par des CA connues et rpandues donc
nativement installes avec les outils classiques de communication
Internet.
Bob va donc retrouver LE certificat qui correspond lAutorit de
Certification qui a sign la cl publique dAlice et valider cette cl publique.
4 Bob chiffre le message avec la cl publique dAlice contenu dans le
certificat
5 Bob envoi son document Alice, seule Alice pourra le dchiffrer.
6 Alice utilise sa cl prive pour dchiffrer le message.
A titre dexemple, plusieurs PKI sont aujourdhui rencontres. A
commencer par celle propose dans un environnement Active Directory
2000/2003, OpenPKI (http://www.openssl.org), OpenCA
(http://www.openca.org)

10 - Quelques normes lies aux PKI


Lchange de certificats est normalis par la norme X509 (v3) et contient :
- la version de la norme utilise (v1, v2 ou v3)
- un numro de srie
- la signtaure de lalogrithme utilis
- Le nom de lorganisme dlivrant
- La priode de validit du certificat
- Lobjet du certificat
- La cl publique
- La signature par la CA
Vous retrouvez toutes ces informations en clair lorsuqe vous affichez le
contenu du certificat depuis votre navigateur :

Page 14 sur 16 Version 1.0

Scurit Informatique

IL existe par ailleurs un certains nombre de standards (ou spcifications)


qui interviennent dans les systmes dchanges cryptographiques cl
publique, les PKCS (Public Key Cryptography Standards) dposs par le
laboratoire du RSA.
Citons notamment :
PKCS#7 : spcification du format dchange de messages
cryptographiques

PKCS#10 : syntaxe de demande de certification compos dun nom


distinctifn dune cl publique, dattributs complmentaires et le tout sign
par le demandeur.

Page 15 sur 16 Version 1.0

Scurit Informatique
PKCS#12 : dfinit un format de stockage du certificat utilisateur, une cl
prive ou une cl publique et ventuellement dautres certificats. Pour
protger la cl prive, laccs au fichier est protg par mot de passe.
Fichier au format .p12 ou .pfx
Excellente rfrence ici : http://glasnost.entrouvert.org/rubrics/45.html

Page 16 sur 16 Version 1.0