Professional Documents
Culture Documents
Notes de cours
provisoires
2009 - 2010
Renaud Dumont
2
2
4
2 Introduction la cryptographie
2.1 Vocabulaire de base . . . . . . . . . . . .
2.2 Notations . . . . . . . . . . . . . . . . . .
2.3 Principe de Kerckhoff . . . . . . . . . . .
2.4 La publication des algorithmes . . . . . .
2.5 Les principaux concepts cryptographiques
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
10
10
11
3 La cryptographie classique
3.1 Substitution monoalphabtique
3.2 Chiffrement polygraphique . . .
3.3 Substitutions polyalphabtiques
3.4 Transpositions . . . . . . . . .
3.5 Machines rotor . . . . . . . .
3.6 Ressources supplmentaires . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
21
23
28
29
32
4 Complments mathmatiques
4.1 Thorie de Shannon - Entropie . .
4.2 Complexit en temps et en espace
4.3 Autres concepts utiles . . . . . . .
4.4 Ressources supplmentaires . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
33
33
37
38
42
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
45
46
53
55
63
68
6 Chiffrement de flux
6.1 Les LFSR classiques . . . . . . . . . . .
6.2 Utilisation moderne des LFSR . . . . . .
6.3 RC4 . . . . . . . . . . . . . . . . . . . .
6.4 Comparaisons des chiffrements par blocs
6.5 Ressources supplmentaires . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
et par flots
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
69
70
71
73
76
76
.
.
.
.
.
.
77
77
78
80
84
85
89
90
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
Code
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
91
. 91
. 93
. 97
. 99
. 100
. 102
et lintgrit
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
103
106
108
111
113
paiement lectronique
125
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
12 Le monde quantique
135
12.1 Le calculateur quantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
12.2 La cryptographie quantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
12.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
13 La cryptanalyse
13.1 Les 4 attaques cryptanalytiques . .
13.2 Quelques autres techniques . . . .
13.3 Attaquer les fonctions de hachage .
13.4 Les attaques par canaux auxiliaires
13.5 En guise de conclusion . . . . . . .
.
.
.
.
.
142
142
143
146
148
149
150
150
151
153
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15 Scurit logicielle
15.1 Introduction . . . . . . . . .
15.2 Virus, Vers et drivs . . . .
15.3 Les systmes de protection .
15.4 La notion de Vulnrabilit .
15.5 Ressources supplmentaires
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
156
156
158
163
171
176
16 La scurit en entreprise
177
16.1 La notion de risque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
16.2 La destruction des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
17 La biomtrie
17.1 Fonctionnement . . . . . . . . . . . . . .
17.2 Mode de fonctionnement . . . . . . . . .
17.3 Mesures des performances . . . . . . . .
17.4 Moyens biomtriques physiques . . . . .
17.5 Moyens biomtriques comportementaux
17.6 Moyens biomtriques exprimentaux . .
17.7 La biomtrie multimodale . . . . . . . .
17.8 Avantages, inconvnients et conclusions
17.9 Ressources supplmentaires . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
183
183
184
185
186
192
194
195
196
196
18 La Stganographie
18.1 Dfinition . . . . . . . . . . . . .
18.2 La stganographie dans lHistoire
18.3 Principes . . . . . . . . . . . . .
18.4 Les types de support . . . . . . .
18.5 La stganalyse . . . . . . . . . .
18.6 Les Anamorphoses . . . . . . . .
18.7 Ressources supplmentaires . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
197
197
199
202
204
206
206
207
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19 Conclusions
208
Bibliographie
208
iii
Remerciements
Vifs remerciements Messieurs W. Stallings [1] (algorithmes cryptographiques modernes) et D. Mller [2] (histoire de la cryptographie et stganographie) pour la permission de copie sur leurs illustrations.
Dans la mesure du possible, les sources des autres illustrations ont t mentionnes. Certaines dentre
elles me sont inconnues. Si vous en connaissez lorigine ou en tes vous-mme lauteur, nhsitez pas
me le signaler.
Remarque gnrale
Ce document saccompagne dun cours ex-cathaedra. Ceci explique pourquoi certains passages peuvent
paraitre succincts.
Chapitre 1
Introduction
1.1
Motivation
A lheure actuelle, les besoins en matire de scurit sont grandissants, et la tendance nest certainement pas la baisse. Mais pourquoi ?
Tout dabord parce que le matriel informatique est omniprsent. En effet, dune part le matriel est
accessible un prix trs abordable, et dautre part, les logiciels tendent se simplifier (au niveau de
lutilisation !) et permettent une prise en main rapide.
Dun autre cot, les entreprises, elles aussi informatises, ncessitent un rseau scuris pour le transfert des donnes, que ce soit entre les machines de cette entreprise, ou avec des machines externes,
distantes de plusieurs milliers de kilomtres.
Si on observe la scurit dune manire plus gnrale, elle est dailleurs prsente plueiseurs niveaux,
quil sagisse des diffrentes portes de linformation comme lillustre la figure 1.1 ou les stades de vie de
linformation, tels quillustrs la figure 1.2.
1. INTRODUCTION
A lorigine, cest Shannon qui, en 1948 puis en 1949 avec Weaver, a le premier dfini les base dune
transmission de donnes entre deux parties. Son ide est illustre la figure 1.3.
1. INTRODUCTION
Avec la popularit grandissante des rseaux, des changes de donnes, et donc des transmissions entre
individues, de nombreuses menaces mergrent. Parmi celles-ci, on trouve diverses catgories :
Les menaces accidentelles
Les menaces intentionnelles :
passives
actives
Les menaces accidentelles ne supposent aucune prmditation. Dans cette catgorie, sont repris les
bugs logiciels, les pannes matrielles, et autres dfaillances "incontrlables".
Les menaces intentionnelles quant elles, reposent sur laction dun tiers dsirant sintroduire et relever des informations. Dans le cas dune attaque passive, lintrus va tenter de drober les informations
par audit, ce qui rend sa dtection relativement difficile. En effet, cet audit ne modifie pas les fichiers, ni
naltre les systmes. Dans le cas dune attaque active, la dtection est facilite, mais il peut tre dj
trop tard lorsque celle-ci a lieu. Ici, lintrus aura volontairement modifi les fichiers ou le systme en place
pour sen emparer.
Les menaces actives appartiennent principalement quatre catgories (illustres la figure 1.5) :
Interruption = problme li la disponibilit des donnes
Interception = problme li la confidentialit des donnes
Modification = problme li lintgrit des donnes
Fabrication = problme li lauthenticit des donnes
Les auteurs de ces attaques sont notamment les hackers (agissant souvent par dfi personnel), les
concurrents industriels (vol dinformations concernant la stratgie de lentreprise ou la conception de
projets), les espions, la presse ou encore les agences nationales. Nous en reparlerons dans un prochain
chapitre.
1.2
Tout en retant trs gnrale, cette section prsente par lintermdiaire de quelques schmas la manire
avec laquelle peut tre apprhende la notion de scurit. Mme si le concept nest pas neuf, il a subi
plusieurs modifications au cours du temps.
1.2.1
CIA (1987)
Le triangle CIA est le pilier immuable prsentant les grands axes de la scurit. La plupart des autres
modles utilisent cette reprsentation en tant que base.
1. INTRODUCTION
Le triangle oppos existe galement. Il porte le nom de DAD, pour Disclosure, Alteration, Disruption.
On peut dfinir les diffrents termes employs comme suit :
Confidentialit : linformation nest connue que des entits communicantes
Intgrit : linformation na pas t modifie entre sa cration et son traitement (en ce compris un
ventuel transfert)
Disponibilit : linformation est toujours accessible et ne peut tre bloque/perdue
1.2.2
On peut en effet se demander pourquoi la vrification de lidentit des parties communicantes nest
pas traite dans ce premier modle. Celui est en ralit la base de tous les systmes existants. Il faut
complt au fil des annes, mais reste historiquement la premire modlisation de la scurit dun systme.
Le contrle daccs se fait en 4 tapes :
1. Identification : Qui tes-vous ?
2. Authentification : Prouvez-le !
3. Autorisation : Avez-vous les droits requis ?
4. Accounting/Audit : Quavez-vous fait ?
On parle du protocole AAA (les deux premires tapes sont fusionnes). Dans certaines situations,
on scindera la dernire tape. On parlera dAccounting lorsque le fait de comptabiliser des faits sera
demand, et dAudit lorsque des rsultats plus globaux devront tre tudis.
Notons galement que lauthentification, visant prouver lidentit dun individu peut se faire de
plusieurs manires :
Ce que vous savez (mot de passe, code PIN, etc.)
Ce que vous avez (carte magntique, lecteur de carte, etc.)
Ce que vous tes (empreintes digitales, rseau rtinien, etc.)
Lauthentification forte rsultera de la combinaison de 2 de ces facteurs.
Le pentagone de confiance (2006)
Dfini par Piscitello en 2006, il prcise la notion daccs un systme. Indpendamment des notions
dfinies dans le triangle CIA, le modle de Piscitello prcise la confiance que peut/doit avoir lutilisateur
R. Dumont - Notes provisoires
1. INTRODUCTION
en prsence dun systme informatis.
1.2.3
1.2.4
On y retrouve les trois piliers de la scurit (CIA), mais deux autres dimensions apparaissent :
Ltat des donnes : le stockage, la transmission, lexcution
Les mthodes : les principes et rgles adopter pour atteindre le niveau de scurit souhait
1. INTRODUCTION
1.2.5
Autres dfinitions
1.2.5.1
La scurit en parallle
On parle de scurit en parallle lorsque plusieurs mcanismes de scurit protgeant un systme possdent le mme rle. Dans ce cas, le niveau de protection du systme est quivalent celui du mcanisme
le moins sr.
En tant quexemple, citons un ordinateur portable que lon peut dverouiller par mot de passe, dongle
ou empreinte digitale.
1.2.5.2
La scurit en srie
Plusieurs mcanismes de scurit protgent un systme et ont des rles diffrents. On parlera de dfense en profondeur .
Citons par exemple le rseau dune entreprise o :
Le rseau est scuris par un FW hardware,
Les liaisons entre machines sont protges,
Les machines individuelles sont munies dun FW software,
Les accs aux machines se font par empreinte biomtrique,
Le logiciel utiliser est accessible par mot de passe,
etc.
Chapitre 2
Introduction la cryptographie
La cryptographie utilise des concepts issus de nombreux domaines (Informatique, Mathmatiques,
Electronique). Toutefois, les techniques voluent et trouvent aujourdhui rgulirement racine dans dautres
branches (Biologie, Physique, etc.)
2.1
Vocabulaire de base
Cryptologie :
cryptanalyse
Cryptographie : La cryptographie est ltude des mthodes donnant la possibilit denvoyer des donnes de manire confidentielle sur un support donn.
Chiffrement : Le chiffrement consiste transformer une donne (texte, message, ...) afin de la rendre
incomprhensible par une personne autre que celui qui a cr le message et celui qui en est le destinataire.
La fonction permettant de retrouver le texte clair partir du texte chiffr porte le nom de dchiffrement.
Texte chiffr : Appel galement cryptogramme, le texte chiffr est le rsultat de lapplication dun
chiffrement un texte clair.
Clef : Il sagit du paramtre impliqu et autorisant des oprations de chiffrement et/ou dchiffrement.
Dans le cas dun algorithme symtrique, la clef est identique lors des deux oprations. Dans le cas
dalgorithmes asymtriques, elle diffre pour les deux oprations.
8
2. INTRODUCTION LA CRYPTOGRAPHIE
Cryptanalyse : Oppose la cryptographie, elle a pour but de retrouver le texte clair partir de
textes chiffrs en dterminant les failles des algorithmes utiliss.
Cryptosystme : Il est dfini comme lensemble des cls possibles (espace de cls), des textes clairs
et chiffrs possibles associs un algorithme donn.
2.2
Notations
2. INTRODUCTION LA CRYPTOGRAPHIE
2.3
Principe de Kerckhoff
La scurit du chiffre ne doit pas dpendre de ce qui ne peut pas tre
facilement chang.
En dautres termes, aucun secret ne doit rsider dans lalgorithme mais plutt dans la cl. Sans celle-ci,
il doit tre impossible de retrouver le texte clair partir du texte chiffr. Par contre, si on connat K, le
dchiffrement est immdiat.
On parle aussi de la Maxime de Shannon, drive du principe nonc ci-dessus : Ladversaire connait
le systme.
Remarque : Il faut distinguer les termes "Secret" et "Robustesse" dun algorithme. Le secret de lalgorithme revient cacher les concepts de celui-ci, ainsi que les mthodes utilises (fonctions mathmatiques).
La robustesse quant elle dsigne la rsistance de lalgorithme diverses attaques qui seront explicites
dans la suite de ces notes.
2.4
Selon lendroit o rside le secret, on peut parler dalgorithme secret ou dalgorithme publi1 . Chacun
possde ses atouts et inconvnients.
2.4.1
Algorithme secret
La cryptanalyse, souvent base sur le secret de la cl, doit ici en plus retrouver lentiret de
lalgorithme (mcanisme de rcupration).
Souvent, de tels algorithmes sont utiliss par un plus petit nombre dutilisateurs. Et comme souvent
dans ce cas, moins il y a de monde lutilisant, moins il y a dintrts le casser.
De tels algorithmes sont rarement distribus par del les frontires, afin de garder un nombre
dutilisateurs restreint.
2.4.2
Algorithme publi
Puisque lalgorithme est publi, tout le monde a le droit de lexplorer. Ainsi, les failles (laisses
intentionnellement ou non par les concepteurs) peuvent tre plus facilement dcouvertes. La scurit
en est donc amliore.
Comme la publication est autorise, il nest pas ncessaire de chercher protger le code contre le
reverse-engineering.
Cette publication permet dtendre les travaux sur lalgorithme au niveau mondial. Toute une srie
dimplmentations logicielles peuvent donc tre ralises.
Tout le monde utilise la mme version publique ce qui permet une standardisation gnrale.
En consquence, on prfrera les algorithmes publis, souvent plus srs pour les raisons explicites
ci-dessus.
1 et
10
2. INTRODUCTION LA CRYPTOGRAPHIE
2.5
2.5.1
Cryptosystme cl symtrique
Caractristiques :
Les cls sont identiques : KE = KD = K,
La cl doit rester secrte,
Les algorithmes les plus rpandus sont le DES, AES, 3DES, ...
Au niveau de la gnration des cls, elle est choisie alatoirement dans lespace des cls,
Ces algorithmes sont bass sur des oprations de transposition et de substitution des bits du texte
clair en fonction de la cl,
La taille des cls est souvent de lordre de 128 bits. Le DES en utilise 56, mais lAES peut aller
jusque 256,
Lavantage principal de ce mode de chiffrement est sa rapidit,
Le principal dsavantage rside dans la distribution des cls : pour une meilleure scurit, on
pratiquera lchange de manire manuelle. Malheureusement, pour de grands systmes, le nombre
de cls peut devenir consquent. Cest pourquoi on utilisera souvent des changes scuriss pour
transmettre les cls. En effet, pour un systme N utilisateurs, il y aura N.(N 1)/2 paires de
cls.
2.5.2
Cryptosystme cl publique
11
2. INTRODUCTION LA CRYPTOGRAPHIE
dans le sens inverse. La seule manire de pouvoir raliser le calcul inverse est de connatre une
trappe. Une trappe peut par exemple tre un faille dans le gnrateur de cls. Cette faille peut tre
soit accidentelle ou intentionnelle de la part du concepteur.
Les algorithmes se basent sur des concepts mathmatiques tels que lexponentiation de grands
nombres premiers (RSA), le problme des logarithmes discrets (ElGamal), ou encore le problme
du sac dos (Merkle-Hellman).
La taille des cls stend de 512 bits 2048 bits en standard. Dans le cas du RSA, une cl de
512 bits nest plus sre au sens "militaire" du terme, mais est toujours utilisable de particulier
particulier.
Au niveau des performances, le chiffrement par voie asymtrique est environ 1000 fois plus lent que
le chiffrement symtrique.
Cependant, linverse du chiffrement symtrique o le nombre de cls est le problme majeur, ici,
seules n paires sont ncessaires. En effet, chaque utilisateur possde une paire (SK , PK ) et tous les
transferts de message ont lieu avec ces cls.
La distribution des cls est grandement facilite car lchange de cls secrtes nest plus ncessaire.
Chaque utilisateur2 conserve sa cl secrte sans jamais la divulguer. Seule la cl publique devra tre
distribue.
2.5.3
Fonction de hachage
Il sagit de la troisime grande famille dalgorithmes utiliss en cryptographie. Le principe est quun
message clair de longueur quelconque doit tre transform en un message de longueur fixe infrieure
celle de dpart. Le message rduit portera le nom de "Hach" ou de "Condens". Lintrt est dutiliser
ce condens comme empreinte digitale du message original afin que ce dernier soit identifi de manire
univoque. Deux caractristiques (thoriques) importantes sont les suivantes :
1. Ce sont des fonctions unidirectionnelles :
A partir de H(M ) il est impossible de retrouver M.
2. Ce sont des fonctions sans collisions :
A partir de H(M ) et M il est impossible de trouver M 0 6= M tel que H(M 0 ) = H(M ).
Il est bien entendu que le terme impossible nest pas toujours prendre au pied de la lettre ! Il sagit
ici de concepts thoriques. La ralit est quelque peu diffrente. Ainsi, pour le caractre sans collision,
dans les faits, cela est trs difficile dans le meilleur des cas, mais jamais impossible, comme le bon sens
le laisse penser.
2.5.4
Protocoles cryptographiques
Ds que plusieurs entits sont impliques dans un change de messages scuriss, des rgles doivent
dterminer lensemble des oprations cryptographiques raliser, leur squence, afin de scuriser la communication Cest ce que lon appelle les protocoles cryptographiques.
Lorsque lon parle de scuriser un change, on souhaite prter attention aux 3 services suivants : la
confidentialit, lintgrit et lauthentification.
Signalons la distinction entre services (confidentialit, intgrit, etc.) et mcanismes (les moyens
utiliss : chiffrement, signature, hachage, etc.).
2 Pour
12
2. INTRODUCTION LA CRYPTOGRAPHIE
2.5.4.1
Confidentialit
Elle est amene par le chiffrement du message. Dans le cas de systmes cls symtriques, la mme
cl est utilise pour EK (M ) et DK (C). Ce type de chiffrement ncessite un change sr pralable de la
cl K entre les entits A et B.
Comme dit prcdemment, laide dun cryptosystme asymtrique, cet change pralable nest pas
ncessaire. Chaque entit possde sa propre paire de cls. On aura donc la paire PKA , SKA pour lentit
A et la paire PKB , SKB pour lentit B.
En marge de ces deux systmes, existe galement un systme appel "hybride" (figure 2.7), reposant
comme son nom lindique sur les deux systmes prcdents. Par lintermdiaire du systme cl publique,
on scurise lchange de la cl K. Ensuite, les deux parties ayant acquis de manire scurise cette cl de
chiffrement K3 , on utilisera le systme cl symtrique pour chiffrer le message.
3 Pour
13
2. INTRODUCTION LA CRYPTOGRAPHIE
2.5.4.2
Intgrit
Il faut ici vrifier si le message na pas subi de modification durant la communication. Cest ici
quinterviennent les fonctions de hachage.
Dans la figure 2.8, on ne parle pas de lenvoi du message. On prte uniquement lattention la
vrification de lintgrit.
2.5.4.3
Authentification
14
2. INTRODUCTION LA CRYPTOGRAPHIE
Au niveau du message
Par lutilisation dun MAC (Message Authentication Code) gnr laide dun cryptosystme
cl symtrique o le MAC est constitu des derniers digits de C (figure 2.11), ou gnr
laide dune fonction de hachage (figure 2.12), la cl secrte K utilise tant partage par les deux
entits A et B. Dans les deux cas, lauthentification repose sur lutilisation de la cl K.
15
2. INTRODUCTION LA CRYPTOGRAPHIE
2.5.4.4
Synthse
16
Chapitre 3
La cryptographie classique
Dans le schma ci-dessous figurent les diffrentes branches de la cryptographie classique.
3.1
Substitution monoalphabtique
Chaque lettre est remplace par une autre lettre ou symbole. Parmi les plus connus, on citera le chiffre
de Csar, le chiffre affine, ou encore les chiffres dsordonns. Tous ces chiffres sont sensibles lanalyse
de frquence dapparition des lettres (nombre de fois quapparait une mme lettre dans un texte). De nos
jours, ces chiffres sont utiliss pour le grand public, pour les nigmes de revues ou de journaux.
Historiquement, on recense des procds de chiffrement remontant au Xme sicle avant JC. On trouve
par exemple, lAtbash des Hbreux (-500), la scytale Sparte (-400), le carr de Polybe (-125), . . . Des
langues anciennes sont galement parfois classifies dans les codes secrets : le Rongo-Rongo, le linaire
A, les critures du disque de Phaistos en sont des exemples. Intraduisibles lheure actuelle, on les place
( tort ?) dans ce domaine.
17
3. LA CRYPTOGRAPHIE CLASSIQUE
3.1.1
Il sagit dun des plus simples et des chiffres classiques les plus populaires. Son principe est un dcalage
des lettres de lalphabet. Dans les formules ci-dessous, p est lindice de la lettre de laphabet, k est le
dcalage.
Pour le chiffrement, on aura la formule
C = E(p) = (p + k) mod 26
Pour le dchiffrement, il viendra
p = D(C) = (C k) mod 26
Si on connait lalgorithme utilis (ici Csar), la cryptanalyse par force brute est trs facile. En effet,
dans le cas du chiffre de Csar, seules 25 ( !) cls sont possibles.
3.1.2
Analyse de frquences
Lorsque la langue de dpart et la technique de chiffrement sont connus, on peut exploiter les rgularits du langage par le principe danalyse de la frquence dune lettre. Cette technique ne fonctionne bien
que si le message chiffr est suffisamment long pour avoir des moyennes significatives.
Cependant, il existe galement des cas o cette analyse ne fonctionne pas, comme le montre lexemple
ci-dessous.
Exemple : De Zanzibar la Zambie et au Zare, des zones dozone font courir les zbres en zigzags
zinzins.
Pour viter ce type dattaque sur un texte chiffr, il existe diffrents moyens :
On peut par exemple chiffrer le message par digrammes, trigrammes, etc.
18
3. LA CRYPTOGRAPHIE CLASSIQUE
3.1.3
Chiffre affine
On dit quune fonction est affine lorsquelle est de la forme x a x + b, cest--dire un polynme
de degr 1. Une fonction linaire est une fonction affine particulire.
Lide est dutiliser comme fonction de chiffrement une fonction affine du type
y = (ax + b) mod 26,
o a et b sont des constantes, et o x et y sont des nombres correspondant aux lettres de lalphabet
(A=0,B=1,...). On peut remarquer que si a = 1, alors on retrouve le chiffre de Csar o b est le dcalage
(le k du chiffre de Csar).
Proprit de neutralit : si b = 0, alors "a" est toujours chiffr "A" car il ne subit aucun dcalage.
En effet, si aucun dcalage na lieu, lalphabet de dpart se retrouve chiffr par lui mme, et donc ne
subit aucune modification.
R. Dumont - Notes provisoires
19
3. LA CRYPTOGRAPHIE CLASSIQUE
Pour le chiffre affine, la cl est constitue de (k1 , k2 ) o k1 , k2 [0, 25] et telle que
gcd(k1 , 26) = 1.
Le chiffrement en lui-mme est donn par
ci = f (mi ) = k1 mi + k2 mod 26.
Pour le dchiffrement, il vient
mi = f 1 (ci ) = k11 (ci k2 ) mod 26.
Par le chiffre affine, on obtient 312 cls possibles. En effet, pour obir la proprit de k1 , il ny a
que 12 choix possibles. Et puisque k2 peut prendre nimporte valeur dans [0, 25], il vient 12 26 = 312.
Exemple :
Transformation de chiffrement :
ci = f (mi ) = 3 mi + 11 mod 26
Transformation de dchiffrement :
k11 = 31 mod 26 = 9 [car 3 9 mod 26 = 1]
mi = f 1 (ci ) = 9 (ci 11) mod 26
Ainsi, pour une suite de lettres telle que NSA 13 18 0 24 13 11 YNL.
3.1.3.1
1. Il faut tout dabord tablir la frquence relative de chaque lettre du texte chiffr, par analyse de
frquence.
HGAHY RAEFT GAGRH DGAGM OEHIY RAAOT ZGAGJ GKFDG AZGSB INNTG KGRHE
NNIRG
On dnombre 12 fois la lettre G et 8 fois la lettre A. Supposons que le langage original du texte est
le franais.
2. Sur base de lanalyse de frquences, il faut ensuite driver les quations correspondantes. E, A, S, I,
N tant les lettres les plus frquentes en franais, on en dduit les quations suivantes (en mettant
lhypothse que le bigramme ES est plus frquent que EA) :
E G f (E) = G
S A f (S) = A
Il en dcoule que :
4 6 f (4) = 6
18 0 f (18) = 0
R. Dumont - Notes provisoires
20
3. LA CRYPTOGRAPHIE CLASSIQUE
3. On peut maintenant rsoudre les quations pour que retrouver k1 et k2 .
f (4) = 6, f (18) = 0
4 k1 + k2 6(mod26)
18 k1 + k2 0(mod26)
12k1 6 mod 26
k1 = 7 k2 = 4.
4. La fonction de dchiffrement est donc la suivante : mi = 15 (ci 4) mod 26.
Et donc,
HGAHYRAEFTGAGRHDGAGMOEHIYRAAOTZGAGJGKFDGAZGSBINNTGKGRHENNIRG
devient
TESTONSAPRESENTLESEQUATIONSSURDESEXEMPLESDECHIFFREMENTAFFINE
3.2
Chiffrement polygraphique
Il sagit ici de chiffrer un groupe de n lettres par un autre groupe de n symboles. On citera notamment
le chiffre de Playfair et le chiffre de Hill. Ce type de chiffrement porte galement le nom de substitutions
polygrammiques.
3.2.1
On chiffre 2 lettres par 2 autres. On procde donc par digramme. On dispose les 25 lettres de lalphabet (W exclu car inutile lpoque, on utilise V la place) dans une grille de 5x5, ce qui donne la clef.
La variante anglaise consiste garder le W et fusionner I et J.
Il y a 4 rgles appliquer selon les deux lettres chiffrer lors de ltape de substitution. Pour le
dchiffrement, on procde dans lordre inverse.
1. Si les lettres sont sur des "coins", les lettres chiffres sont les 2 autres coins.
Exemple : OK devient VA, RE devient XI ...
2. Si les lettres sont sur la mme ligne, il faut prendre les deux lettres qui les suivent immdiatement
leur droite.
3. Si les lettres sont sur la mme colonne, il faut prendre les deux lettres qui les suivent immdiatement
en dessous.
4. Si elles sont identiques, il faut insrer une nulle (habitellement le X) entre les deux pour liminer
ce doublon.
Exemple : "balloon" devient "ba" "lx" "lo" "on".
Pour former ces grilles de chiffrement, on utilise un mot-clef secret pour crer un alphabet dsordonn
avec lequel on remplit la grille ligne par ligne. Ensuite, on comble la grille avec les lettres restantes de
lalphabet.
R. Dumont - Notes provisoires
21
3. LA CRYPTOGRAPHIE CLASSIQUE
3.2.2
Les lettres sont dabord remplaces par leur rang dans lalphabet. Les lettres Pk et Pk+1 deviennent
Ck et Ck+1
Ck
a b
Pk
=
(mod26)
Ck+1
c d
Pk+1
Les composantes de cette matrice doivent tre des entiers positifs. De plus la matrice doit tre inversible dans Z26 . Cependant, sa taille nest pas fixe 2. Elle grandira selon le nombre de lettres chiffrer
simultanment.
Chaque digramme clair (P1 et P2 ) sera chiffr (C1 et C2 ) selon :
C1 aP1 + bP2 (mod26)
C2 cP1 + dP2 (mod26)
Exemple de chiffrement : Alice prend comme clef de cryptage la matrice
9 4
5 7
pour chiffrer le message "je vous aime" quelle enverra Bob. Aprs avoir remplac les lettres par leur
rang dans lalphabet (a=1, b=2, etc.), elle obtiendra
C1 9 10 + 4 5(mod26) = 110(mod26) = 6
C2 5 10 + 7 5(mod26) = 85(mod26) = 7
Elle fera de mme avec les 3e et 4e lettres, 5e et 6e, etc. Elle obtiendra finalement le rsultat de la
figure 3.6.
22
3. LA CRYPTOGRAPHIE CLASSIQUE
Pour dchiffrer, le principe est le mme que pour le chiffrement : on prend les lettres deux par deux,
puis on les multiplie par une matrice
P1
P2
a b
c d
1
C1
C2
(mod26)
Cette matrice doit tre linverse de matrice de chiffrement (modulo 26). Ordinairement, cet inverse
est
1
1
d b
=
c a
ad bc
Exemple de dchiffrement : Pour dchiffrer le message dAlice, Bob doit calculer :
9 4
5 7
1
1
=
43
a b
c d
7 4
5 9
(mod26) = (43)
7 4
5 9
(mod26)
Comme gcd(43, 26) = 1, (43)1 existe dans Z26 et (43)1 = 23. Bob a la matrice de dchiffrement :
9 4
5 7
1
= 23
7 4
5 9
(mod26) =
161 92
115 207
(mod26) =
5 12
15 25
(mod26)
Bob prend donc cette matrice pour dchiffrer le message "FGXGE DSPGV". Aprs avoir remplac
les lettres par leur rang dans lalphabet (A=1, B=2, etc.), il obtiendra :
P1 5 6 + 12 7(mod26) = 114(mod26) = 10
P2 5 6 + 25 7(mod26) = 265(mod26) = 5
Il fera de mme avec les 3e et 4e lettres, 5e et 6e, etc. Il obtiendra finalement le rsultat de la figure
3.7
3.3
3.3.1
Substitutions polyalphabtiques
Chiffre de Vigenre (1568)
Cest une amlioration dcisive du chiffre de Csar. Sa force rside dans lutilisation non pas dun,
mais de 26 alphabets dcals pour chiffrer un message. On parle du carr de Vigenre. Ce chiffre utilise
une clef qui dfinit le dcalage pour chaque lettre du message (A : dcalage de 0 cran, B : 1 cran, C : 2
crans, ..., Z : 25 crans).
Exemple : chiffrer le texte "CHIFFRE DE VIGENERE" avec la clef "BACHELIER" (cette clef
est ventuellement rpte plusieurs fois pour tre aussi longue que le texte clair)
R. Dumont - Notes provisoires
23
3. LA CRYPTOGRAPHIE CLASSIQUE
La grande force du chiffre de Vigenre est que la mme lettre sera chiffre de diffrentes manires do
perte de la frquence des lettres, ce qui rend inutilisable lanalyse de frquence classique. La figure 3.9
illustre cette perte des frquences dans une fable de Lafontaine, code par substitution simple et par
Vigenre.
24
3. LA CRYPTOGRAPHIE CLASSIQUE
La lettre de la clef est dans la colonne la plus gauche, la lettre du message clair est dans la ligne
tout en haut. La lettre chiffre est lintersection des deux.
Lemploi du carr de Vigenre est souvent sujet erreurs : la lecture en est pnible et, la longue,
fatigante. Beaucoup de cryptologues prfrent se servir dune "rglette", facile construire, et dun
maniement plus rapide.
3.3.1.1
Cryptanalyse de Kasiski
Cette technique consiste chercher des squences de lettres qui apparaissent plus dune fois dans le
texte. En effet, dans ce cas, il ny aura que deux possibilits :
soit la mme squence de lettres du texte clair a t chiffre avec la mme partie de la clef,
soit deux suites de lettres diffrentes dans le texte clair auraient par pure concidence engendr la
mme suite dans le texte chiffr (probabilit faible).
Exemple : Soit une squence de 3 lettres rpte dans un message cod avec une distance d. On fait
donc lhypothse sense quil sagit dune mme squence de 3 lettres du texte initial, code avec la mme
squence de lettres de la cl. Par consquent, si m est la longueur de la cl, pour que les 2 squences
soient codes avec les mmes lettres de la cl, il faut que m divise d.
On prend donc m comme pgcd des distances de squences rptes m est la longueur de la cl ! Il faut
toutefois baser ce raisonnement sur les valeurs significatives, comme cela est illustr par la suite FCS de
la figure 3.11.
Ce renseignement est capital. Cela signifie que les caractres de rang 1, 4, 7, 10, ..., 3k + 1, sont simplement dcals la manire du chiffre de Csar. On peut donc appliquer maintenant lanalyse de frquence
ces caractres et trouver la premire lettre de la clef. Pour la deuxime lettre de la clef, on analysera les
frquences des caractres de rang 3k + 2 et pour le dernire lettre les frquences des caractres de rang
3k.
25
3. LA CRYPTOGRAPHIE CLASSIQUE
3.3.1.2
Cryptanalyse de Friedman
Cette mthode utilise la notion dIndice de Concidence (IC). Celui-ci est dfini comme la probabilit
que deux lettres choisies alatoirement dans un texte soient identiques. Soient n le nombre de lettres dans
le texte, n1 = nombre de A, ...,n26 = nombre de Z.
La probabilit de tirer deux A parmi les n lettres du texte est :
P (2 f ois A) =
C2n1
=
C2n
n1 (n1 1)
2
n(n1)
2
n1 (n1 1)
n(n 1)
26
X
ni (ni 1)
i=1
n(n 1)
La figure 3.12 donne quelques indices calculs sur des textes contemporains dans diffrentes langues.
26
3. LA CRYPTOGRAPHIE CLASSIQUE
On calcule ensuite les IC pour toutes ces sous-chanes, procd illustr la figure 3.13.
3.3.2
Le masque jetable est dfini comme un chiffre de Vigenre avec la caractristique que la clef de
chiffrement a la mme longueur que le message clair.
27
3. LA CRYPTOGRAPHIE CLASSIQUE
Exemple illustrant linviolabilit :
Soit le texte chiffr : cuskqxwmfwituk
Soit le masque jetable possible : bgfbcdfbfdecdg
Rsultat : BONJOURLATERRE
Soit un autre masque jetable : quauwtedbdisjg
Rsultat : MASQUESJETABLE
Il est donc impossible de dterminer le bon masque !
Le systme du masque jetable, avec les prcautions indiques ci-dessus, est absolument inviolable si
lon ne connat pas la clef. Il est couramment utilis de nos jours par les tats. En effet, ceux-ci peuvent
communiquer les clefs leurs ambassades de manire sre via la valise diplomatique.
Le problme de ce systme est de communiquer les clefs de chiffrement ou de trouver un algorithme
de gnration de clef commun aux deux partenaires.
De plus, la cration de grandes quantits des clefs alatoires devient vite problmatique. Nimporte
quel systme couramment utilis pourrait exiger des millions de caractres alatoires de faon rgulire.
La distribution des cls est galement complexe. La longueur de la cl tant gale celle du message,
une bonne organisation est ncessaire.
3.4
Transpositions
Elles consistent, par dfinition, changer lordre des lettres. Cest un systme simple, mais peu sre
pour de trs brefs messages car il y a peu de variantes. Ainsi, un mot de trois lettres ne pourra tre
transpos que dans 6 (=3!) positions diffrentes. Par exemple, "col" ne peut se transformer quen "col",
"clo", "ocl", "olc", "lco" et "loc".
Lorsque le nombre de lettres crot, il devient de plus en plus difficile de retrouver le texte original
sans connatre le procd de brouillage. Ainsi, une phrase de 35 lettres peut tre dispose de 35! = 1040
manires diffrentes. Ce chiffrement ncessite un procd rigoureux convenu auparavant entre les parties.
Une transposition rectangulaire consiste crire le message dans une grille rectangulaire, puis
arranger les colonnes de cette grille selon un mot de passe donn (le rang des lettres dans lalphabet
donne lagencement des colonnes).
Exemple :
A la figure 3.15, on a choisi comme clef GRAIN pour chiffrer le message SALUT LES PETITS POTS.
En remplissant la grille, on constate quil reste deux cases vides, que lon peut remplir avec des nulles
(ou pas, selon les dsirs des correspondants).
28
3. LA CRYPTOGRAPHIE CLASSIQUE
3.5
Machines rotor
Nom
Hagelin M-209
Enigma
Typex
Lacida
La machine Enigma
Enigma est la machine chiffrer et dchiffrer quutilisrent les armes allemandes du dbut des annes
trente jusqu la fin de Seconde Guerre Mondiale. Elle automatise le chiffrement par substitution.
Cette machine ressemble une machine crire. Quand on presse sur une touche, deux choses se passent.
1 Ce nombre reprsente la priode des rotors, et ne tient pas compte des autres combinaisons possibles (connexions,
ordres des rotors, sens de rotations, etc.)
29
3. LA CRYPTOGRAPHIE CLASSIQUE
Premirement, une lettre sallume sur un panneau lumineux : cest la lettre chiffre. Deuximement, un
mcanisme fait tourner le rotor de droite dun cran ; toutes les 26 frappes, le deuxime rotor tourne dun
cran, toutes les 676 frappes (26 au carr), cest le troisime rotor qui tourne dun cran. Certaines Enigmas
avaient 3 rotors, celles de la Kriegsmarine en avaient 4 ou 5 (on peut apercevoir ces 4 cylindres gris sur
le dessus de la machine ci-dessus).
Ces rotors tournants modifient les connexions lectriques dans la machine, ce qui fait que la touche
"A" allumera peut-tre le "B" la premire fois, mais le "X" la deuxime, le "E" la troisime, etc. Un
"tableau de connexions" et un "rflecteur" complique encore le systme. Le ct gnial de cette machine
est que mme si elle tombe entre les mains ennemies, sa scurit nest pas compromise. En effet, cest
le nombre faramineux de rglages de la machine qui fait sa force et les rglages changeaient videment
chaque jour. On peut en effet changer lordre de rotors, leur orientation initiale et les branchement du
tableau de connexions. Par exemple, on pouvait spcifier la clef du jour ainsi :
Ainsi, connatre le fonctionnement de la machine naide (presque) pas dcrypter les messages quelle
produit. Tout le problme est de retrouver le bon rglage.
3.5.0.1
Fonctionnement dEnigma
Comme on le vois sur la figure 3.17, si on frappe la lettre b sur le clavier, un courant lectrique est
envoy dans le rotor, suit la cblage interne, puis ressort droite pour allumer la lettre A sur le tableau
lumineux.
De plus, chaque fois quune lettre est tape au clavier, le rotor tourne dun cran. Ainsi, b devient A
la premire fois, mais b devient C la deuxime fois, puis b devient E, etc.
Le principe de base des machines Enigma conues par Scherbius repose sur lutilisation de rotors
qui transforment lalphabet clair (not en minuscules) en alphabet chiffr (en majuscules). Pour mieux
lillustrer, nous nous limiterons un alphabet de six lettres. Voici la reprsentation de lun de ces fameux
rotors, ainsi que le schma quivalent qui permet de mieux suivre lopration "avec les doigts".
30
3. LA CRYPTOGRAPHIE CLASSIQUE
Pour augmenter le nombre de combinaisons possibles et djouer les tentatives des cryptanalystes,
Scherbius a associ plusieurs dispositifs :
Le tableau de connexions est utilis pour brouiller les pistes en reliant deux lettres du clavier entre
elles.
Les trois brouilleurs associs multiplient ainsi le nombre de combinaisons.
Quant au rflecteur, il renvoie le courant dans le dispositif jusquau panneau lumineux o la lettre
crypte saffiche.
Ainsi, quand on tape b, le courant prend en fait le circuit prvu pour a. Le deuxime et le troisime
avancent respectivement dun cran quand le premier et le deuxime ont fait un tour complet.
Le rle du rflecteur nest pas daugmenter le nombre de combinaisons possibles, mais de faciliter
considrablement la tche du destinataire. En effet, si b devient C dans notre exemple (en rouge), on a
aussi c devient B. Et cest valable pour toutes les paires de lettres claire/crypte. En consquence, si le
mot "efface" est chiffr "ACBFEB" par lmetteur, il suffira loprateur qui reoit le message crypt de
taper acbfeb sur son clavier pour voir les lettres E, F, F, A, C, E sallumer. La seule condition est que
les deux oprateurs distants rglent leur machine Enigma de la mme faon.
31
3. LA CRYPTOGRAPHIE CLASSIQUE
Au final, on a :
26 26 26 = 17.576 combinaisons lies lorientation des chacun des trois brouilleurs,
6 combinaisons possibles lies lordre dans lequel sont disposs les brouilleurs,
environ 1011 branchements possibles quand on relie les six paires de lettres dans le tableau de
connexions.
Les machines Enigma peuvent donc chiffrer un texte selon 17.5766100.391.791.500 = 1016 combinaisons
diffrentes !
3.5.0.2
La fin dEnigma
La machine Enigma est donc un rseau lectrique provoquant lallumage dune lampe. Cest Alan
Turing, au dpart de travaux de Marian Rejewski, qui cra une autre machine, appele Bombe de Turing
rendant sa cryptanalyse possible. Ces Bombes, illustres la figure 3.20, permettaient de calculer de
manire exhaustive les combinaisons possibles des machines Enigma utilises par lennemi. Pour gagner
du temps, il fallait utiliser plusieurs bombes simultanment.
3.6
Ressources supplmentaires
http://nomis80.org/cryptographie/cryptographie.html
http://www.01adfm.com/win-xp/hacking/
http://www.apprendre-en-ligne.net/crypto/menu/index.html
http://perso.club-internet.fr/guidovdi/codes/lapagecryptologie.htm
http://www.pro-technix.com/information/crypto/pages/vernam_base.html
http://www.chez.com/nopb/crypto2.html#transposition
32
Chapitre 4
Complments mathmatiques
4.1
On le dfinit par :
r = H(M )/N
N reprsente la longueur du message M (par extension, M dsignera lensemble des messages de longueur
N). On peut considrer r comme le nombre moyen de bits dinformation par caractre. Pour un N grand,
on a en anglais 1 < r < 1.5.
4.1.0.4
Cest le nombre maximal de bits pouvant tre cods par chaque caractres (squences de caractres
quiprobables) :
R = log2 L
L est le nombre de caractres dans un langage, R est lentropie maximale des caractres isols.
Pour les langues latines (alphabet de 26 lettres), on aura R = log2 26 = 4, 7 bits par lettre. Cependant,
il sagit dune valeur thorique, les langues relles sont rendondantes.
4.1.0.5
Cest la diffrence entre le nombre de bits maximal qui peuvent tre cods par caractres et du nombre
rellement ncessaire de bits pour obtenir une information sur le caractre :
D =Rr
Par exemple en anglais, D varie entre 3, 2 e t 3, 7 bits par lettre dinformation redondante.
33
4. COMPLMENTS MATHMATIQUES
4.1.0.6
Il sagit du rapport
D/R
On obtient ds lors un pourcentage oscillant entre 68% et 79% (pour langlais).
4.1.1
Confidentialit parfaite
Lhypothse est que les cryptanalystes disposent dinformations probabilistes concernant M (langage
et redondance associe).
On dfinit la notion de confidentialit parfaite par le fait que le texte chiffr ne doit fournir aucune
information concernant le texte clair :
Shannon a prouv que ce rsultat est accessible uniquement si le nombre de cls possibles est aussi
grand que le nombre de messages possibles.
En pratique, seul le masque jetable y correspond car la longueur de la cl est gale la longueur
du texte et que la cl nest pas rutilise.
Le but des cryptanalystes est de dterminer la clef K, le texte clair M ou les deux. Souvent, ils possdent
des indices au sujet de M (i.e. sil sagit dun son, dun texte franais, de donnes pour un tableur, etc.).
Ils connaissent probablement le langage du texte en clair. Ce langage a une certaine redondance associe.
Si cest un message destin Bob, il commence probablement par cher Bob .
Le but de la cryptanalyse est, par analyse, de modifier les probabilits associes avec tous les textes en
clair possibles. Finalement, un texte clair considr comme certain mergera du paquet des textes clairs
possibles.
4.1.1.1
Soient :
une phrase de m lettres,
n, lensemble des messages possibles = 26m (= ensemble des cls et des chiffrs possibles),
des cls quiprobables.
On a :
1
1
= m
n
26
On veut prouver que la dcouverte du texte clair connaissant le texte chiffr est gale la connaissance
du texte clair (proprit issue de Vernam), cest--dire :
P (K = k) =
P (M = x|C = y) = P (M = x)
Par dfinition, on a
P (M = x|C = y) =
P (M = x, C = y)
P (C = y)
34
4. COMPLMENTS MATHMATIQUES
or on sait que C, K et M sont lis par la relation C=M+K (laddition se faisant modulo 26). On obtient
donc :
P (M = x, C = y) = P (M = x, K = y x)
= P (M = x)P (K = y x)
=
P (M = x)
26m
i
i
P (mi AN D ki )
P (ki )P (mi )
X P (mi )
i 26m
1
= m
26
=
en utilisant le fait que M et K sont indpendants, et que la somme des probabilits de mi est gale 1.
Ceci achve la dmonstration.
De plus,
P (M |C) = P (M ) P (C|M ) = P (C)
car I(C; M ) = 0 (ce qui signifie que C et M sont indpendants). On en dduit galement que :
H(M |C) = H(M )
Thorme 1 (Cryptosystme parfait) Si un systme cryptographique est parfait, alors :
H(K) H(M )
Linterprtation de ce thorme est que dans un cryptosystme parfait, il y a au moins autant dincertitude sur les cls que sur les messages. En consquence, dans un tel systme, les cls sont aussi
volumineuses que les messages.
Remarques
4.1.2
Distance dunicit
On dfinit la distance dunicit (U) comme tant la longueur de texte chiffr minimale requise pour
pouvoir sattendre ce quil ny ait quun seul dchiffrement sens. On utilise la formule suivante, que
nous allons dmontrer :
U = H(K)/D
R. Dumont - Notes provisoires
35
4. COMPLMENTS MATHMATIQUES
Par cette formule, on remarque que U est inversment proportionnel la redondance D. Ainsi, plus
grande est U, plus faible est la redondance, meilleur est le cryptosystme.
La distance dunicit indique la longueur minimale de texte chiffr pour laquelle il est probable quil
ny ait quun seul texte clair plausible correspondant quand une attaque exhaustive est mene.
Des textes chiffrs significativement plus courts que cette distance ont des chances davoir plusieurs
dchiffrements galement valables et donc augmentent la scurit, car il est difficile lattaquant de choisir le bon dchiffrement.
La distance dunicit nest pas une mesure de la quantit de texte chiffr quil faut pour la cryptanalyse mais bien de la quantit de texte chiffr ncessaire pour quil ny ait quune solution raisonnable
la cryptanalyse.
4.1.2.1
Soient
M = M1 ...Mn
K une permutation de lalphabet H(K) = log(26!)
C = C1 ...Cn
On dfinit la distance dunicit comme le plus petit entier d tel que :
H(K|(C1 , ..., Cd )) = 0
Dautre part, on a :
H(K|(C1 , ..., Cd )) = H(K, C1 , ..., Cd ) H(C1 , ..., Cd )
= H(K, M1 , ..., Md ) H(C1 , ..., Cd )
La valeur de "d" dsigne le nombre moyen de lettres du message chiffr quil faut connatre pour
pouvoir dterminer la cl. Connatre la cl et le message chiffr quivaut connatre la cl et le message
en clair.
Do :
H(K|(C1 , ..., Cd )) = H(K) + H(M1 , ..., Md ) H(C1 , ..., Cd )
Cette galit provient du fait que la cl est indpendante du message (H(M, K) = H(K) + H(M )).
On a donc :
H(K) + H(M1 , ..., Md ) H(C1 , ..., Cd ) = 0
Par la dfinition de la redondance dun langage, on constate que :
H(M1 , ...Md ) d.r et H(C1 , ...Cd ) d.R
On obtient ds lors
H(K) + d.r d.R = 0 H(K) = d.(R r)
d = H(K)/(R r)(= U )
Par analyse statistique sur de nombreux textes franais, on a obtenu une valeur pour r 3, 97.
et R 4, 67.
R. Dumont - Notes provisoires
36
4. COMPLMENTS MATHMATIQUES
On en dduit que
H(K)
log(26!)
=
' 126
Rr
4.67 3.97
En pratique, il faudra effectivement de lordre de ce nombre de lettres pour retrouver la cl.
U'
Remarques
Nous avons prsent la notion de distance dunicit au dpart des caractres. Dune faon plus
gnrale, on peut parler de textes chiffrs. Dans ce cas, les Mi correspondent des textes clairs
distincts, et Ci aux textes chiffrs correspondants.
U est donne le nombre de messages suffisants pour pouvoir retrouver la cl. Elle ne donne pas de
renseignements concernant la difficult dobtention de la cl.
4.2
Cette thorie fournit une mthodologie pour analyser la complexit de calcul de diffrents algorithmes
et techniques cryptographiques. Elle compare les algorithmes et les techniques cryptographiques pour dterminer leur niveau de scurit.
Cette section exprime un autre point de vue sur le cassage des algorithmes de chiffrement. Jusquici,
la thorie de linformation nous apprenait que tous les algorithmes peuvent tre casss. Avec la thorie
de la complexit, on apprend sils peuvent tre casss avant la fin du monde.
Fig. 4.1 Temps ncessaire pour casser un algorithme selon son ordre.
La complexit des problmes dtermine les temps et espaces minimaux ncessaires pour rsoudre
linstance la plus difficile du problme sur un ordinateur thorique (appele Machine de Turing). Il sagit
dune machine tats finis avec une mmoire en criture et en lecture sous la forme dun ruban infini.
Les problmes qui peuvent tre rsolus avec des algorithmes polynomiaux en temps sont appels solubles, car ils peuvent gnralement tre rsolus en un temps raisonnable. Les problmes qui ne peuvent
tre rsolus en temps polynomial sont appels non solubles car calculer leur solution devient vite impossible. Il sagit souvent des problmes rsolus par des algorithmes exponentiels.
Dans le cadre de ce chapitre, nous citerons deux ensembles de problmes (appels Classes).
La classe P, qui contient les problmes rsolus en temps polynomial sur une MT.
La classe NP, qui contient les problmes rsolus en temps polynomial sur une MTND.
Une MTND (Machine de Turing Non Dterministe) est une variante de la machine de Turing normale
qui devine les solutions. La machine devine une solution dun problme, soit en faisant par chance une
bonne hypothse, soit en essayant toutes les possibilits en parallle. Elle vrifie son hypothse en un
temps polynomial. Ainsi, la vrification du problme se fait en un temps polynomial, mais le fait dessayer
toutes les possibilits apporte un nombre de cas explorer trs grand, ce qui rend lalgorithme inefficace.
37
4. COMPLMENTS MATHMATIQUES
4.2.1
Relations entre P et NP
NP P
Car tout problme rsoluble en un temps polynomial sur une MT lest aussi sur un MTND.
NP P
Beaucoup de problmes semblent tre plus durs que ceux de P, mais on nest pas encore
parvenu prouver que N P 6 P
Remarque importante : on na pas trouv dalgorithmes polynomiaux rsolvant ces problmes mais
on na pas prouv quil nen existait pas.
4.2.2
4.3
4.3.1
Thorme 3 (Rsidus quadratiques) Si p est premier et a < p alors a est un rsidu quadratique
modulo p si [x2 = a(modp)] pour un certain x.
Remarques :
Une valeur quelconque de a ne satisfait pas toujours cette proprit.
Il existe (p-1)/2 rsidus quadratiques modulo p.
Si n = pq (p et q premiers), il y a exactement (p 1)(q 1)/4 rsidus quadratiques modulo n.
38
4. COMPLMENTS MATHMATIQUES
Exemple : si p=7, les rsidus quadratiques sont 1,2,4 :
12 = 1 = 1 mod 7
22 = 4 = 4 mod 7
32 = 9 = 2 mod 7
42 = 16 = 2 mod 7
52 = 25 = 4 mod 7
62 = 36 = 1 mod 7
Chaque rsidu quadratique apparat 2 fois dans la liste. Mais 3,6 et 5 ne satisfont pas cette quation.
4.3.2
m
X
k=1
avec (k,m)=1. Cela nest quune rcriture mathmatique de la dfinition du totient dEuler pour un
nombre premier. Pour autant que k soit relativement premier m, le totient dEuler dun nombre premier m est gal au nombre dlments infrieurs m.
On a donc par exemple n = 11 (n) = 10.
De plus, soient p et q deux nombres premiers et n = pq. Il vient
(n) = (pq)
= (p) (q)
= (p 1)(q 1)
Dmonstration :
(n) = (p)(q)
Soit lensemble des rsidus de n (Zn ) : 0, 1, ..., (pq 1). Les rsidus qui ne sont pas premiers n sont les
ensembles p, 2p, ..., (q 1)p, q, 2q, ..., (p 1)q et 0.
De la sorte :
(n) = pq [(q 1) + (p 1) + 1]
= pq (p + q) + 1
= (p 1) (q 1)
= (p) (q)
On a par exemple p = 11, q = 13 n = 143 et (n) = 10 12 = 120.
R. Dumont - Notes provisoires
39
4. COMPLMENTS MATHMATIQUES
Thorme 4 (Euler) Soit (a, m) = 1,
alors
a(m) = 1 mod (m)
Cest une nouvelle technique pour le calcul de linverse modulo : x = a(n)1 mod n.
Exemple :
Quel est linverse de 5 mod 7 ?
Comme 7 est premier, sa fonction totient est (7) = 7 1 = 6. On a bien (5, 7) = 1, do 55 mod 7 =
(5 52 5) mod 7 = 3.
2
4.3.3
Thorme 5 (Restes chinois) Prenons m1 , ..., mn des entiers suprieurs 2 deux deux premiers
entre eux, et a1 , ..., an des entiers.
Le systme dquations :
x = a1 mod m1
...
x = an mod mn
admet une unique solution modulo M = m1 ... mn donne par la formule :
x = a1 M1 y1 + ... + an Mn yn mod M
o Mi = M/mi , et yi = Mi1 mod mi pour i [1, n].
Si on connat la dcomposition en facteurs premier de n, on peut utiliser le CRT (Chinese Remainder
Theorem) pour rsoudre un systme dquations particulier.
Exemple
Une bande de 17 pirates sest empare dun butin compos de pices dor dgale valeur. Ils dcident
de se les partager galement, et de donner le reste au cuisinier chinois. Celui-ci recevrait alors 3 pices.
Mais les pirates se querellent, et six dentre eux sont tus. Le cuisinier recevrait alors 4 pices.
Dans un naufrage ultrieur, seuls le butin, six pirates et le cuisinier sont sauvs, et le partage donnerait alors 5 pices dor ce dernier.
Quelle est la fortune minimale que peut esprer le cuisinier quand il dcide dempoisonner le reste
des pirates ?
Si x est ce nombre, x est le plus petit entier positif tel que :
x = 3 mod 17.
x = 4 mod 11.
x = 5 mod 6.
40
4. COMPLMENTS MATHMATIQUES
On applique alors le thorme chinois :
M = 17 11 6 = 1122,
M1 = 66,
M2 = 102,
M3 = 187.
Linverse de chaque Mi donne y1 = 8, y2 = 4, y3 = 1.
On obtient donc : x = 3 66 8 + 4 102 4 + 5 187 1 mod 1122 = 785 mod 1122.
Si le cuisinier tue tous les pirates, il empochera 785 pices dor !
4.3.4
Tests de primalit
4.3.4.1
41
4. COMPLMENTS MATHMATIQUES
Proprits de calculs bass sur le symbole de Jacobi
J(1, n) = 1
J(a b, n) = J(a, n) J(b, n)
J(2, n) = 1 si (n2 1)/8 est paire,1 sinon
J(a, n) = J((a mod n), n)
J(a, p1 p2 ) = J(a, p1 ) J(a, p2 )
Si (a, b) = 1 et a et b sont impairs
J(a,b) = +J(b,a) si (a-1)(b-1)/4 est pair
J(a,b) = -J(b,a) si (a-1)(b-1)/4 est impair
4.3.4.3
.d
6= 1 mod n
4.4
Ressources supplmentaires
http://www.bibmath.net/crypto/complements/entropie.php3
http://www-igm.univ-mlv.fr/~beal/Enseignement/TheorieInfo/
http://mathworld.wolfram.com/topics/NumberTheory.html
42
Chapitre 5
Introduction
La cryptographie symtrique utilise la mme cl pour les processus de chiffrement et de dchiffrement ; cette cl est le plus souvent appele "secrte" (en opposition "prive") car toute la scurit de
lensemble est directement lie au fait que cette cl nest connue que par lexpditeur et le destinataire. La
cryptographie symtrique est trs utilise et se caractrise par une grande rapidit (oprations simples,
chiffrement la vole) et par des implmentations aussi bien software que hardware ce qui acclre nettement les dbits et autorise son utilisation massive.
Lide gnrale du chiffrement par blocs est la suivante :
1. Remplacer les caractres par un code binaire
2. Dcouper cette chane en blocs de longueur donne
3. Chiffrer un bloc en l"additionnant" bit par bit une clef.
4. Dplacer certains bits du bloc.
5. Recommencer ventuellement un certain nombre de fois lopration 3.
6. Passer au bloc suivant et retourner au point 3 jusqu ce que tout le message soit chiffr.
On distingue trois catgories de chiffrement par bloc :
Chiffrement par substitution : Les substitutions consistent remplacer des symboles ou des
groupes de symboles par dautres symboles ou groupes de symboles dans le but de crer de la
confusion.
Chiffrement par transposition : Les transpositions consistent mlanger les symboles ou les
groupes de symboles dun message clair suivant des rgles prdfinies pour crer de la diffusion. Ces
rgles sont dtermines par la cl de chiffrement. Une suite de transpositions forme une permutation.
Chiffrement par produit : Cest la combinaison des deux. Le chiffrement par substitution ou par
transposition ne fournit pas un haut niveau de scurit, mais en combinant ces deux transformations, on peut obtenir un chiffrement plus robuste. La plupart des algorithmes cls symtriques
utilisent le chiffrement par produit. On dit quun round est complt lorsque les deux transformations ont t faites une fois (substitution et transposition).
Ces successions des rondes portent galement le nom de rseaux S-P de Shannon.
43
Effet davalanche
Cest une proprit des chiffrements par blocs composs de couches (layers) ou "rounds" caractriss
par un petit changement lentre. Le changement dun simple bit dentre produit gnralement de
multiples changements de bits aprs un round, plusieurs autres changements de bits aprs un autre
round jusquau changement ventuel de la moiti du bloc.
44
5.2
Cette structure fut dcrite en 1973 (par Feistel, employ chez IBM). La plupart des chiffrements de
la fin du XX sicle sont bass sur cette structure. Elle dcoule des rseaux S-P de Shannon. Il adapte
la structure de Shannon afin de la rendre inversible ce qui permet de rutiliser le matriel de chiffrement
pour dchiffrer un message. La seule modification sopre dans la manire dont la cl est utilise.
5.2.1
Exemple
A partir dune table de correspondance, on peut dterminer le rsultat du chiffrement dun bloc aprs
passage dans une structure de Feistel. Cest ce qui est illustr aux figures 5.6 et 5.7
45
5.2.2
La ralisation dun tel rseau dpend des choix effectus pour les paramtres suivants :
5.3
5.3.1
Prsentation
46
5.3.2
Algorithme de chiffrement
Le D.E.S. est un cryptosystme agissant par blocs. Cela signifie que D.E.S. ne chiffre pas les donnes
la vole quand les caractres arrivent, mais il dcoupe virtuellement le texte clair en blocs de 64 bits
quil code sparment, puis quil concatne. Un bloc de 64 bits du texte clair entre par un cot de lalgorithme et un bloc de 64 bits de texte chiffr sort de lautre cot. Lalgorithme est assez simple puisquil
ne combine en fait que des permutations et des substitutions.
Cest un algorithme de chiffrement clef secrte. La clef sert donc la fois chiffrer et dchiffrer
le message. Cette clef a ici une longueur de 64 bits, cest--dire 8 caractres, mais dont seulement 56
bits sont utiliss. On peut donc ventuellement imaginer un programme testant lintgrit de la clef en
exploitant ces bits inutiliss comme bits de contrle de parit.
Lentire scurit de lalgorithme repose sur les clefs puisque lalgorithme est parfaitement connu de
tous. La clef de 64 bits est utilise pour gnrer 16 autres clefs de 48 bits chacune quon utilisera lors de
chacune des 16 itrations du D.E.S.. Ces clefs sont les mmes quel que soit le bloc quon code dans un
message.
Cet algorithme est relativement facile raliser matriellement et certaines puces chiffrent jusqu
1 Go de donnes par seconde. Pour les industriels, cest un point important notamment face des
algorithmes asymtriques, plus lents, tels que lalgorithme R.S.A.
La permutation initiale
47
Cette "matrice" permet deffectuer des changements internes au bloc (i.e. il ny a pas dapport de
donnes extrieures). Le premier bit sera le bit 58, le second le bit 50, etc.
5.3.2.2
Le calcul mdian
48
Expansion : Les 32 bits sont tendus 48 bits grce une table dexpansion (galement appele
matrice dextansion). On retrouve ici un effet davalanche.
49
50
5.3.2.3
Permutation finale
Une fois le calcul mdian termin, on pratique la permutation inverse de la permutation initiale.
Attention toutefois : il sagit de linverse de la permutation initiale, en dautres termes, cette table
permet de retrouver la position de dpart. Ce nest pas linverse de la "matrice" de dpart !
5.3.3
La cl est constitue de 64 bits dont 56 sont utiliss dans lalgorithme. Les 8 autres peuvent tre
utiliss pour la dtection derreurs o chacun de ces bits sera utilis comme bit de parit des 7 groupes
de 8 bits. Ainsi, le nombre total de cls est de 256 .
R. Dumont - Notes provisoires
51
5.3.4
Dchiffrement
Il suffit dappliquer le mme algorithme mais invers en tenant bien compte du fait que chaque itration du dchiffrement traite les mmes paires de blocs utiliss dans le chiffrement.
Il viendra
Rn1 = Ln et Ln1 = Rn f (Ln , Kn )
52
5.4
5.4.1
Si c = DES(p, k), alors !c = DES(!p, !k) mais cela ne reprsente pas un problme srieux.
5.4.2
5.4.3
5.4.4
2DES
Suite aux failles du DES, quelques modifications ont t apportes, mais pas toujours avec succs. Ce
fut notamment le cas avec le 2DES.
Il faut tout dabord choisir deux clefs k1 et k2 . Le principe du 2DES est de chiffrer deux fois le
message :
E(k2 , E(k1 , m))
Il a t prouv que 2DES tait quivalent un DES avec une cl de 57 bits. Il faut donc seulement
deux fois plus de travail pour le briser (257 = 2 256 ).
1 http
2 http
://lists.distributed.net/hypermail/announce/0039.html
://www.copacobana.org
53
5.4.5
3DES
54
5.5
5.5.1
La progression de la puissance des ordinateurs a caus la mort du DES. Ce dernier nest plus jamais
utilis lorsque la scurit demande est forte (utilisation militaire, documents secrets, etc.). Pour cette
tche, on prfre utilis lalgorithme connu sous le nom gnrique dAES (Advanced Encryption Standard), issu dun concours cr en raison des faiblesses avres du DES. Le vritable nom de lAES est le
Rijndael, nom rsultant de la contraction des noms de ses inventeurs : Rijmen et Deamen.
Le Triple DES demeure toutefois une norme accepte pour les documents gouvernementaux aux
U.S.A. Pour linstant, il ny a pas de projet ou dobligation de rechiffrer les documents existants.
La scurit gnrale,
Le cot en terme de calculs (rapidit),
La simplicit de lalgorithme et ses facilits dimplmentation,
Une lecture facile de lalgorithme, puisquil est destin tre rendu public,
La rsistance aux attaques connues,
Flexibilit - Portabilit : lalgorithme devant remplacer le DES, il est destin servir aussi bien
dans les cartes puces, aux processeurs 8 bits peu puissants, que dans des processeurs spcialiss
pour chiffrer des miliers de tlcommunications la vole.
Techniquement, le chiffrement doit se faire par blocs de 128 bits, les cls comportant 128, 192 ou
256 bits.
Au niveau du chiffrement/dchiffrement, les rsulats varient assez fortement. Cependant, Serpent
reste le moins bon pour la majorit des plate-formes, Rijndael et RC6 tant les meilleurs.
55
5.5.2
Le choix : Rijndael
A la suite de nombreux tests, cest finalement Rijndael qui a remport la mdaille, et est ainsi devenu
le remplaant officiel du DES.
Il
5.5.2.1
Chiffrement et Dchiffrement
56
SubByte
Les octets sont transforms en appliquant une S-Box inversible (afin de permettre un dchiffrement
unique). Une seule S-Box est suffisante pour toute la phase de chiffrement.
57
58
MixColumn
Une diffrence sur 1 byte dentre se propage sur les 4 bytes de sortie. On a donc encore une tape
de diffusion. La matrice utilise est dfinie par Rijndael. Elle contiendra toujours ces valeurs.
59
Nombre de rondes
Selon la taille des blocs traiter et la taille de la cl, le nombre de rondes volue.
5.5.2.2
Calcul de la cl
Aprs avoir subi une extension (Key Expansion), la cl sera dcoupe en sous-cls (appeles cls de
rondes), comme indiqu la figure 5.37.
60
61
5.5.3
Avantages et limites
5.5.4
Attaques
LAES est sensible certaines attaques par canal auxiliaire, nimpliquant donc pas directement lalgorithme.
Toutefois, en 2009, un article4 met en vidence des problmes de scurit sur des version allges
de lAES-256. Bien que non applicables lalgorithme standard (sur 128 bits), il est fort probable qu
moyen terme, lAES soit mis mal.
3 Il
est noter que la multiplication est dfinie sur le champs fini GF (28 ).
://eprint.iacr.org/2009/374
4 http
62
5.6
Les modes sont des mthodes pour utiliser les chiffrements par blocs. On parle de modes opratoires.
Dans le cadre dune implmentation pratique, lalgorithme pur est combin une srie doprations
simples en vue damliorer la scurit sans pour autant pnaliser lefficacit de lalgorithme. Cette combinaison est appele un mode cryptographique.
5.6.1
Les blocs sont chiffrs indpendamment bloc par bloc. Formellement, il vient
Ci = DESK (Pi ).
Son usage est limit la transmission sre de valeurs isoles.
5.6.1.1
Scurit :
Efficacit :
+ paralllisme possible
+ accs alatoire possible
+ bonne vitesse de chiffrement
- pas de prprocessing
R. Dumont - Notes provisoires
63
5.6.1.3
5.6.2
Les blocs sont lies entre eux, do le terme "chanage". Il y a donc un effet davalanche (un ci est
dpendant de mi et ci1 ). Le vecteur dinitialisation (IV) peut tre un mot de passe, un timestamp
(marqueur temporel), etc. Il est utilis dans certaines phases dauthentification.
5.6.2.1
+
+
+
+
+
Scurit :
IV unique et alatoire
effacement des formats grce lenchanement (si IV diffrents)
il ny a plus de risque de rptition de bloc
cl rutilisable (si IV diffrents)
si mi = m0i , alors ci 6= c0i (avec mme K et IV diffrents)
5.6.2.2
Efficacit :
64
5.6.2.3
5.6.3
Le message est ajout la sortie du bloc chiffr. Le rsultat sert de feedback pour ltape suivante.
Le registre peut utiliser un nombre quelconque de bits : 1, 8, 64 bits (le plus souvent 64). Il est utilis
pour le chiffrement par flux ainsi que pour lauthentification.
5.6.3.1
Scurit :
Efficacit :
65
5.6.3.3
+ la perte dun bloc de ci : le synchronisme est rcupr ds que le ci est sorti du registre
+ une erreur dans mi affecte tous les ci suivants mais uniquement le mi correspondant lors du dchiffrement
- une erreur dans ci affecte le mi correspondant et les 64/s blocs suivants
5.6.4
Le feedback est indpendant du message. Tout le mcanisme est donc indpendant des blocs mi et ci .
Cest une variante dun chiffrement de Vernam avec rutilisation de la cl et de lIV. Il est utilis dans le
cadre de chiffrement de flux sur un canal bruyant.
5.6.4.1
Scurit :
+ IV unique et alatoire
+ effacement du format de M
+ cl rutilisable
+ pas de rptition de blocs
- le chiffrement ne consiste quen un XOR
66
5.6.4.2
Efficacit :
5.6.5
CTR - CounTeR
Ce mode est trs rapide, ce qui le rend utile dans les rseaux grande vitesse. On y trouve un compteur
en remplacement dun IV et une cl diffrente pour chaque texte clair. Le compteur est une fonction
simple mais garantissant que la squence utilise pour chiffrer ne sera pas rutilise (cycle plus long que
ne le ncessite le message).
67
5.6.5.1
Scurit :
+ Scurit dmontrable
+/- non-rutilisation du compteur
5.6.5.2
+
+
+
+
Efficacit :
5.6.5.3
5.6.6
Tableau rcapitulatif
5.7
Rfrences supplmentaires
http://sic.epfl.ch/publications/FI00/fi-sp-00/sp-00-page8.html
http://csrc.nist.gov/CryptoToolkit/aes/
http://www.uqtr.ca/~delisle/Crypto/prives/blocs_modes.php
http://www.cs.ucdavis.edu/~rogaway/papers/ctr.pdf
68
Chapitre 6
Chiffrement de flux
Il existe deux types de chiffrement cl symtrique :
Le chiffrement par blocs : lopration de chiffrement seffectue sur des blocs de texte clair (ex : le
DES avec des blocs de 64 bits).
Le chiffrement par flots (ou par stream ou de flux) : lopration de chiffrement sopre sur chaque
lment du texte clair (caractre, bits). On chiffre un bit/caractre la fois. La structure dun chiffrement par stream repose sur un gnrateur de cls qui produit une squence de cls k1 , k2 , ..., ki .
La scurit du chiffrement dpend de la qualit du gnrateur : si ki = 0 pour tout i, M=C. Mais si
la squence des cls ki est infinie et compltement alatoire, on obtient un One-Time-Pad. En pratique,
on se situe entre les deux, cest--dire une squence pseudo-alatoire.
En termes de propagation derreur, une erreur dans Ci naffecte qu1 bit de Mi . La perte ou lajout
dun bit de Ci affecte tous les bits suivants de M aprs dchiffrement.
Le gnrateur de cls peut tre considr comme une machine tats finis. Un exemple de ce type de
gnrateur est le FSR (Feedback Shift Register), illustr la figure 6.2.
La cl note sur les schmas 6.1 et 6.2 contient les valeurs dinitialisation et les coefficients (voir
ci-dessous) du FSR.
69
6. CHIFFREMENT DE FLUX
6.1
Un LFSR, illustr par la figure 6.3, est constitu de m sections contenant chacune 1 bit (tat interne)
et dune fonction de retour (feedback). Les sections sont en ralit des cases mmoire (ou flip-flops).
A chaque impulsion de lhorloge, les lments des sections sont dcals dune position vers la droite.
Llment de la section 0 constitue loutput du LFSR. Llment de la section m-1 est le rsultat de la
fonction de retour.
La fonction de retour qui donne la valeur au flip-flop en position m-1 est la suivante :
f (x0 , ..., xm1 ) = c0 x0 + c1 x1 + ... + cm1 xm1
=
m1
X
ci xi
i=0
Les bits de sortie du LFSR constitue la suite pseudo-alatoire. La qualit du gnrateur est dfinie
par sa priode de retour, cest--dire la priode aprs laquelle la mme srie doutput est rpte.
Linitialisation du LFSR (le contenu des flip-flops) et les valeurs des coefficients constituent ce quon
nomme communment la cl courte.
Les coefficients ci ont pour valeur 0 ou 1 et dfinissent les sections qui seront prises en compte par la
fonction. Les valeurs de ces coefficients ainsi que la valeur initiale des lments du registre sont fixes
lavance. Ces valeurs sont reprsentes par la cl K des schmas 6.1 et 6.2.
Les valeurs des coefficients doivent rests secrtes, tout comme linitialisation des registres. Dans le
cas contraire, on pourrait observer M bits conscutifs et calculer les suivants. En effet, si ces ci sont
connus, il ny a que 2M suites diffrentes associes aux 2M possibilits dinitialisation pour le registre.
R. Dumont - Notes provisoires
70
6. CHIFFREMENT DE FLUX
6.2
Les LFSR ne sont pas cryptographiquement srs, de par lexistence dun algorithme permettant de
retrouver un polynme engendrant une suite finie en un temps quadratique. Cet algorithme porte le nom
de Berlekamp-Massey (voir [3] pour plus de dtails).
Cel a conduit une utilisation plus volue des LFSR.
6.2.1
Pour rsoudre ce problme, on utilise m LFSR donnnant chacun un bit en sortie. Ces bits constituent
lentre dune fonction boolenne qui elle-mme donne un bit en sortie chaque coup dhorloge. Les
polynmes gnrateurs des LFSR sont souvent publics, de mme que la fonction boolenne. Seules les
initialisations sont maintenues secrtes. Ce type de LFSR est illustr la figure 6.4.
6.2.2
Un seul LFSR est utilis, et chaque coup dhorloge, ltat du registre (ou dau moins une partie
du registre) constitue lentre dune fonction boolenne. Les LFSR filtrs sont quivalents aux LFSR
combins. On peut effectivement le voir comme la combinaison de m LFSR dont la fonction de slection
est identique. Ce type de LFSR est illustr la figure 6.5.
6.2.3
Le contrle dhorloge
Dans le cas prsent, on contrle lhorloge dun LFSR par celle dun autre, ce qui introduit la nonlinarit.
71
6. CHIFFREMENT DE FLUX
Le gnrateur rtrcissant
Soient deux LFSR dont un est "arbitre" de lautre. Ainsi, sur la figure 6.6, le LFSR S est responsable
de la sortie du systme.
Si S vaut 1, la valeur de sortie du systme est donne par la valeur du LFSR A.
Si S vaut 0, la valeur du bit de A est supprim, et aucune sortie nest valide.
Ce type de systme possde le dsavantage davoir une flux de sortie assez irrgulier puisque tout
dpend de larbitrage de S. Lorsque S supprime la sortie, il faut attendre le coup dhorloge suivant pour
esprer trouver une valeur en sortie.
6.2.4
72
6. CHIFFREMENT DE FLUX
et rciproquement
P (z(t) = x3 (t)) = P (x2 (t) = 0) + P (x2 (t) = 1).P (x3 (t) = x1 (t))
= 1/2 + 1/2 1/2
= 3/4
Lattaque consiste alors analyser les valeurs de la cl du LFSR 1 (ou du LFSR 3), et de vrifier que
sa sortie correspond celle de la sortie du systme dans 75% des cas. Si on cre la table dtats pour les
valeurs de bit x1 , x2 et x3 , on voit que cest bien le cas.
6.3
RC4
Il sagit dun chiffrement par flux cr en 1987 par Ron Rivest1 . Diverses analyses ont dmontr que
la priode du gnrateur est suprieure 10100 .
Il sagit probablement du chiffrement par flots le plus utilis actuellement. On le retrouve notamment
dans le standard SSL/TLS, dans Oracle Secure SQL, ou encore dans le protocole WEP (Wired Equivalent Privacy, de la norme 802.11). Ce dernier fut remplac par le WPA (Wi-Fi Protected Access), mais
celui-ci utilise toujours le RC4.
Initialement gard secret par la RSA, cet algorithme a t publi anonymement en 1994 sur Internet.
Il existe une version allge du chiffrement RC4, portant le nom de ARC4 (Alleged RC4), utilisable lgalement. Le RC4 reste la proprit de RSA Labs.
Un chiffrement par RC4 est trs rapide, comme le montre le tableau 6.1
Algorithme
DES
3DES
RC4
Longueur de la cl
56
168
Variable
1 Selon
73
6. CHIFFREMENT DE FLUX
6.3.1
Fonctionnement du RC4
Cet algorithme fonctionne sur les octets. Ainsi, la cl, de longueur variable, peut avoir une taille
comprise entre 1 et 256 octets (de 8 2048 bits). Elle est utilise pour initialiser un vecteur S de 256
octets. A tout moment, S contient une permutation de toutes les cellules le composant. La figure 6.8
illustre le principe du RC4.
6.3.1.1
Initialisation
Initialement, les cellules de S reoivent une valeur gale leur position (i.e., S[0]=0, S[1]=1, ...) Un
vecteur temporaire de longueur T (de longueur gale S) est galement cr destin recevoir la cl. Si
la longueur de la cl K est gale 256 octets, K est simplement transfr dans T. Si K est infrieur
256 octets, il est recopi dans T jusqu atteindre la taille de T. Ce procd est illustr au point (a). On
peut galement le reprsenter algorithmiquement comme suit :
FOR i = 0 TO 255 DO
S[i] = i;
T[i] = K[i mod keylen];
74
6. CHIFFREMENT DE FLUX
6.3.1.2
Gnration du flux
A partir de cet instant, la cl dentre nest plus utilise. Pour chaque S[i], on procdera un change
avec un autre octet de S, selon un schma bas sur la configuration courante de S. Une fois arriv S[255],
le processus redmarre la cellule S[0]. Le point (c) de la figure 6.8 prsente la procdure. A nouveau,
on peut illustrer algorithmiquement la mthode (on parle de PRGA pour Pseudo-Random Generation
Algorithm) :
i, j = 0;
WHILE (true)
i = (i + 1) mod 256;
j = (j + S[i]) mod 256;
SWAP (S[i], S[j]);
t = (S[i] + S[j]) mod 256;
k = S[t];
6.3.2
Robustesse du RC4
On peut tout dabord remarquer que la scurit repose uniquement sur la cl. En effet, cest elle, et
uniquement elle, qui dtermine le flux de sortie du gnrateur.
En 2001, une dcouverte affaiblit laspect scuritaire du RC4. Fluhrer, Mantin et Shamir remarqurent
que les premiers octets en sortie du RC4 ntaient pas tout fait alatoire. De fait, il semblerait que ces
quelques premiers bytes divulgueraient des informations importantes sur la cl dinitialisation.
Le protocole WEP a t remplac par le protocole WPA pour pallier les problmes recontrs avec la
gestion des cls dans le RC4.
Il semblerait que le RC4 soit toujours sre pour autant que certaines conditions soient remplies au
niveau de la cl dinitialisation :
R. Dumont - Notes provisoires
75
6. CHIFFREMENT DE FLUX
utilisation dune nonce
une fonction de hachage
On utilisera par exemple la construction HMAC pour raliser une telle procdure.
6.4
Le tableau 6.2 regroupe les avantages et inconvnients de chaque famille. Il est toutefois remarquer
quau niveau des applications, chaque type de chiffrement peut tre utiliser dans toutes les applications.
Avantages
par Blocs
- Rutilisation des cls
Inconvnients
Applications
- Transfert de fichiers
par Flots
- Rapidit
- Moins de code dimplmentation
- Deux utilisations dune mme cl facilite la cryptanalyse
- Chiffrement de canal de communication
6.5
Ressources supplmentaires
http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
http://www.crimelabs.net/docs/stream.html
76
Chapitre 7
Concept
Dans le cas des systmes symtriques, on utilise une mme cl pour le chiffrement et le dchiffrement.
Le problme repose dans la transmission de la cl : il faut une cl par destinataire. Dans le cas des systmes
asymtriques, chaque personne possde 2 cls distinctes (une prive, une publique) avec impossibilit de
dduire la cl prive partir de la cl publique. De ce fait, il est possible de distribuer librement cette
dernire.
77
7.2
7.2.1
Merkle-Hellman
Dfinition du problme
Soit un havresac de capacit T et un ensemble S dobjets occupant les espaces S =P{a1 , a2 , a3 , ..., an }.
Il faut trouver un vecteur de slection V = {v1 , v2 , v3 , ..., vn } satisfaisant la relation (ai vi ) = T.
Ce problme na pas toujours une solution. Aussi, si T et S sont trs grands, il est beaucoup plus
difficile de trouver le vecteur associ.
Exemple : Soit S = {17, 38, 73, 4, 11, 1} et T = 53 = 38 + 4 + 11. Donc V = {0, 1, 0, 1, 1, 0}.
Pour T = 45, il ny a pas de solution.
7.2.2
Ide de base
Un bloc de texte clair de longueur gale au nombre dobjets dun tas slectionnerait des objets. Les
bits du texte clair correspondraient aux valeurs des vi : un 1 signifierait que lobjet est prsent et 0 un
objet absent. Et le texte chiffr serait la somme rsultante.
Exemple :
M:
Tas :
C:
7.2.3
1
1
1 1 0
0
1
5 6 11 14 20
1+5+6+20 = 32
0
1
1 0 1
1
5 6 11 14
5+11+14 = 30
0
20
Les empilements
Il y a 2 problmes dempilement :
1 soluble en temps linaire
1 soluble en temps exponentiel
Lempilement facile peut tre transform pour crer un empilement difficile. Pour la cl publique, on
utilisera un empilement difficile qui servira chiffrer. La cl prive quant elle, utilisera un empilement
facile, qui donne un moyen simple de dchiffrer les messages. Bien sr, ceux qui ne connaissent pas la cl
prive sont obligs de rsoudre le problme dempilement difficile, ce qui est infaisable en pratique.
7.2.3.1
Empilement facile
Si la liste des poids est super-croissante1 , on utilise un algorithme (appel glouton) de la manire
suivante :
1. Prendre le poids total et le comparer avec le plus grand nombre de la suite.
1 Une
liste est super-croissante lorsque tout terme est plus grand que la somme des termes qui le prcde.
78
Empilement difficile
Dans le cas prsent, on ne connat pas dalgorithme rapide. Il faut tester mthodiquement toutes les
solutions possibles, ce qui, si la suite des poids est suffisamment longue, est impraticable. Ces algorithmes
sont exponentiels.
Le cryptosystme de Merkle-Hellman exploite cette proprit. La cl prive est une suite de poids
super-croissante. A partir de celle-ci, on calcule la cl publique. Ce calcul consiste prendre la suite
super-croissante, et la multiplier par (n modulo m), avec m suprieur la somme de tous les termes de
la suite, et n ne devant avoir aucun facteur commun avec m.
7.2.4
Algorithme
1 15 mod 17 15
2 15 mod 17 13
4 15 mod 17 9
9 15 mod 17 16
79
Le message chiffr est donc {13, 40, 24, 29} en utilisant le havresac public (la clef publique) H = [15, 13,
9, 16].
Pour le dchiffrement, le destinataire lgitime connat le havresac simple S et les valeurs de n et de
m. Il peut donc dterminer n1 .
Exemple de dchiffrement Avec n = 15 et m = 17, n1 vaut 8 car 15 8 = 120 = 7 17 + 1. On a
alors, par lalgorithme glouton :
et le texte en clair est 0100 1011 1010 0101 0100101110100101. On a donc bien retrouv le texte
original.
7.2.5
Scurit
7.3
Il est bas sur le calcul exponentiel. Sa scurit repose sur la fonction unidirectionnelle suivante :
le calcul du produit de 2 nombres premiers est ais. La factorisation dun nombre en ses deux facteurs
premiers est beaucoup plus complexe.
Il sagit du systme le plus connu et le plus largement rpandu, bas sur llvation une puissance
dans un champ fini sur des nombres entiers modulo un nombre premier. Le nombre dexponentiation
prend environ O((log n)3 ) oprations ce qui est rapide et facile. Il emploie de grands nombres entiers (par
exemple reprsents sur 1024 bits).
Ce cryptosystme utilise deux cls d et e, interchangeables2 . Le chiffrement se fait selon
C = M e mod n
2 Cette
80
7.3.1
Principes
On possde une paire de cls, lune publique (e,n) et une prive (d,n). La premire tape revient
choisir n. Il doit sagir dune valeur assez leve, produit de 2 nombres premiers trs grands p et q. En
pratique, si p et q ont 100 chiffres dcimaux, n possdera 200 chiffres. Selon le niveau de scurit souhait,
la taille de n peut varier : 512 bits, 768, 1024 ou 20483 .
Dans un second temps, on choisira un trs grand entier e, relativement premier (p-1)*(q-1). La cl
publique sera forme par (e,n). On choisira ensuite un d tel que
e d 1 mod ((n)).
La cl prive sera donne par (d,n).
Dernire phase : on jette p et q. Le cryptanalyste devant retrouver ces valeurs, il faut les dtruire
pour viter les fuites.
7.3.1.1
Justification de linversibilit
81
7.3.2
1.
2.
3.
4.
5.
6.
7.
8.
Rsum
Exemple :
Soient p = 31, q = 53 cest--dire n=1643. (n) = 1560 (nombre dlments relativement premiers
n et < n).
Soit e = 11 (par exemple, et on a bien (e,(n))=1 ).
On dtermine que d = 851 (inverse modulaire de e sur Z(n) ).
La cl publique est donc (11,1643) et la cl prive est (851,1643).
Soit le codage par la position dans lalphabet du mot ANEMONE. Il vient
01 14 05 13 15 14 05
On procde selon deux conditions :
1. Dcoupage en morceaux de mme longueur, ce qui empche la simple substitution :
011 405 131 514 05_
On ajoute un padding initial si ncessaire.
001 140 513 151 405
Cela provoque la perte des patterns ( NE ).
2. Dcoupage en morceaux de valeur infrieure n, car opration modulo n.
Lors du chiffrement, on a
00111
14011
51311
15111
40511
mod 1643
mod 1643
mod 1643
mod 1643
mod 1643
0001
0109
0890
1453
0374
et pour le dchiffrement,
0001851
0109851
0890851
1453851
0374851
mod 1643
mod 1643
mod 1643
mod 1643
mod 1643
001
140
513
151
405
Lors du dchiffrement, sachant quil faut obtenir des blocs de 2 lments (grce au codage particulier
de lexemple), on a bien
01
A
14
N
05
E
13
M
15
O
14
N
05
E
82
Remarques
Il nest pas trs astucieux de choisir daussi petites valeurs car on peut retrouver d trs facilement.
En pratique, il faut prendre de trs grandes valeurs de p et q. Pour retrouver ces grandes valeurs, il
faudra alors utiliser le Jacobien et le test de Solovay-Strassen par exemple.
7.3.3
Scurit
7.3.3.1
Attaques
La menace quantique
Les valeurs prcites sont valables si on pratique la factorisation. A cot de cela, la physique pourrait
faire pencher la balance, par l utilisation dun ordinateur quantique4 . Celui-ci existe dun point de vue
thorique depuis 1994 (algorithme de Shor), et son prototype depuis 1996. Si son volution se poursuit, il
permettrait de raliser la factorisation dun nombre en un temps polynomial. Le principe est que les 0 et 1
reprsents par les portes logiques des transistors sont remplacs par lorientation du champs magntique
mit par les atomes (que lon nomme des q-bits).
7.3.4
Pour garantir une bonne scurit, il faut respecter certains rgles telles que :
83
Un concours, connu sous le nom de RSA Factoring Challenge, proposait une certaine somme dargent
tout groupe ayant russi la factorisation dune cl de taille donne (la rcompense tant proportionnelle
la taille de la cl mise en dfaut). La plus grande cl casse atteignit 663 bits (2005). Le concours fut
stopp fin 2007.
7.4
El Gamal
Cest un algorithme clef publique prsent la base de la norme U.S. de signature lectronique. Il
fut invent par Taher ElGamal en 1984. Il est bas sur la difficult de calculer des logarithmes discrets.
Le problme du logarithme discret consiste retrouver un entier tel que
h = g mod p.
7.4.1
Principe du chiffrement
Soit un entier premier p trs grand et p 1 doit avoir un grand facteur premier. On produit :
une cl secrte s, telle que s (1...p 2),
une cl publique reposant sur lentier p, un entier a premier avec p, et lentier P tel que
P = as mod p
Le nombre a est pris tel que a (0...p 1) et k (1...p 2) :
ak 6= 1 mod p
Soit un message M , avec M < p. On dtermine un nombre alatoire k qui nest connu que de celui qui
chiffre et diffrent chaque message. On calcule alors
C1 = ak mod p
C2 = M.P k mod p
On obtient alors le message chiffr C = (C1 , C2 ). Le message chiffr est alors deux fois plus long que
le message original.
4 Voir
84
7.4.2
Principe du dchiffrement
A la rception, on calcule
R1 = (C1 )s mod p
= ask mod p
= P k mod p
Le destinataire possde la cl prive (s). Ayant P k , on divise C2 par cette valeur :
DK (C) = C2 /(R1 )
= M.P k mod p/P k mod p
=M
P k est donc considr comme un masque appliqu sous forme multiplicative M.
Pour dcrypter le message, il faudra soit trouver directement un masque jetable, soit trouver la cl
prive s, solution de P = as mod p (et donc trouver le logarithme discret).
Exemple : Soient p = 2579, a = 2, s = 765. Il vient
Cl prive Sk = (765)
Cl publique Pk = (2579, 2, 949) car 2765 mod 2579 = 949
Pour chiffrer M = 1299, on choisit k = 853. Il vient
C1 = 2853 mod 2579 = 435
C2 = 1299 949853 mod 2579 = 2396
On peut effectivement vrifier que 2396/(435765 ) mod 2579 = 1299.
7.4.3
Efficacit et scurit
El Gamal est 2 fois plus lent que le RSA. Linconvnient majeur reste la taille des donnes chiffres
qui reprsente 2 fois celle des donnes en clair.
La recherche de la cl prive (s) partir de la cl publique est quivalente au problme du logarithme
discret (NP). MAIS il nest pas prouv que la cryptanalyse dun message chiffr avec El Gamal est
quivalente au logarithme discret. En dautres termes, si le problme du logarithme est rsolu polynomialement, alors El Gamal sera cass. Cependant, rien ne prouve quil nest pas cassable par un autre
moyen.
7.5
Il sagit dun concept propos en 1985 par deux chercheurs Miller et Klobitz, de faon totalement
indpendante. Ce type de cryptographie, toujours bas sur le modle asymtrique permet aussi bien
de chiffrer que de signer. On utilise souvent labrviation ECC, pour Elliptic Curve Cryptography. Les
cls utilises sont plus courtes pour une scurit gale ou suprieure. La thorie sous-jacente, ainsi que
limplmentation sont plus complexes, ce qui explique le fait que cette technologie soit moins rpandue.
Toutefois, de par la ncessit de traiter plus rapidement linformation, de grer des quantits de donnes
importantes et de miniaturiser au maximum, les avantages de cette technique poussent la recherche.
R. Dumont - Notes provisoires
85
Remarque Contrairement ce que lon peut croire premire vue, il ne sagit pas de travailler
partir dellipses. La raison en est que les quations utilises (quations cubiques) sont similaires celles
permettant de dterminer la circonfrence dune ellipse.
7.5.1
Dfinition gomtrique
Soit une opration (laddition, +) pour lensemble E(a, b) tel que a et b rpondent la condition du
discriminant.
Si 3 points sur une EC sont aligns, leur somme vaut O (point linfini).
1. O est lidentit pour laddition : O = O.
2. Pour nimporte quel point P + O = P .
3. Loppos dun point P (x, y) est P (x, y)
4. Pour additionner 2 points P et Q, on trace la droite les reliant. Cela nous donne un point dintersection R. On dfinit laddition telle que P + Q = R. En consquence, on dfinit P + Q comme
tant loppos de ce point R.
7.5.2
Les EC sur Zp
Les variables et coefficients prennent des valeurs dans lensemble [0, p 1] pour un certain nombre
premier p, et o toutes les oprations sont calcules modulo p. Lquation devient
y 2 mod p = (x3 + ax + b) mod p
R. Dumont - Notes provisoires
86
yQ y P
mod p si P 6= Q
x x
Q
P
= 2
3xP + a mod p si P = Q
2yP
87
7.5.3
Pour utiliser les courbes elliptiques en cryptographie, il faut trouver un problme difficile (tel que la
factorisation dun produit en ses facteurs premiers dans le cas du RSA).
Considrons lquation
Q = kP
o Q, P Ep (a, b) et k < p.
Il est facile de calculer Q connaissant k et P , mais il est difficile de dterminer k si on connait Q et
P . Il sagit du problme du logarithme discret pour les courbes elliptiques : logP (Q).
Dans une utilisation relle, le k est trs grand, rendant lattaque par force brute inutilisable (rappelons
qua priori, lattaque par force brute est toujours possible. . . ).
7.5.3.1
Soit un grand entier premier q (en considrant que lon va utiliser les quations prsentes prcdemment, et non les quations dans GF (2m )) et les paramtres a et b satisfaisant lquation y 2 mod q =
(x3 + ax + b) mod q. Cela nous permet de dfinir Eq (a, b).
Prenons ensuite un point de dpart G(x1 , y1 ) dans Eq (a, b) dont lordre n est lev. Lordre n dun
point sur une EC est le plus petit entier positif tel que nG = O.
Eq (a, b) et G sont rendu publiques.
Lchange dune cl par ECC entre deux entits A et B se droule comme suit :
A choisit un nA infrieur n qui sera sa cl prive. A gnre alors sa cl publique PA = nA G.
B choisit un nB infrieur n qui sera sa cl prive. B gnre alors sa cl publique PB = nB G.
A gnre la cl secrte K = nA PB et B gnre la cl secrte K = nB PA .
Exemple (Schaefer, Santa Clara University) :
Soient p = 211, Ep (0, 4)( y 2 = x3 4) et G = (2, 2). On calcule que 240G = O et donc n = 240.
A choisit nA = 121, ce qui lui donne PA = 121(2, 2) = (115, 48).
B choisit nB = 203, ce qui lui donne PB = 203(2, 2) = (130, 203).
La cl secrte K gnre est 121(130, 203) = 203(115, 48) = (161, 69).
7.5.3.2
Mme si la cryptographie par courbes elliptiques est souvent employe pour lchange dune cl symtrique, elle est aussi utilise pour chiffrer directement les donnes. Voici un exemple de cryptosystme
les utilisant.
Il faudra ici encod le texte clair m comme un point Pm de coordonnes x et y. Cest ce point qui
sera chiffr. Il faut ici aussi rendre publique un point G et un groupe elliptique Eq (a, b). Les utilisateurs
88
7.6
7.6.1
Comparaisons
Longueur des cls
Fig. 7.5 Tailles des cls pour une utilisation sre (2009)
7.6.2
89
Asymtrique(RSA)
Avantages
Inconvnients
Avantages
7.7
Symtrique
Asymtrique
Inconvnients
Asymtrique(ECC)
Ressources supplmentaires
http://www.labri.fr/Perso/~betrema/deug/poly/premiers.html
http://www.cryptosec.org/article.php3?id_article=10
http://members.tripod.com/irish_ronan/rsa/attacks.html
90
Chapitre 8
Authentification et intgrit
Jusqu prsent nous avons considr le chiffrement pour maintenir un secret. Cependant, dautres
facteurs peuvent entrer en ligne de compte pour garantir une communication sre. Dans ce chapitre
seront illustres les notions dauthentification de lexpditeur ainsi que dintgrit de message.
Lauthentification de message repose sur trois concepts :
La validation de lidentit du crateur du message
La protection de lintgrit dun message
La non-rpudiation de lorigine (rsolution de conflit)
Pour assurer cette demande, trois mthodes sont possibles :
chiffrer le message
utiliser une fonction de hachage
utiliser un code dauthentification de message (MAC - Message authentication code)
Dangers contrer
Plusieurs problmes peuvent survenir lors de la transmission de messages, aussi bien entre les parties,
que face un pirate. En voici quelques-uns :
mascarade : insertion des messages dune source frauduleuse dans le rseau.
modification du contenu : changements du contenu dun message, y compris linsertion, la suppression, la transposition, et la modification.
modification de squence (ou dordre) : toute modification un ordre des messages entre les parties,
y compris linsertion, la suppression, et commander nouveau.
modification de la synchronisation : retarde ou rejoue des messages.
rpudiation de la source : dmenti de transmission de message par source.
rpudiation de la destination : dmenti de la rception du message par la destination.
8.1
8.1.1
Si un chiffrement symtrique est employ, le rcepteur sait que seul lexpditeur peut lavoir cr
puisque seuls lexpditeur et le rcepteur connaissent la cl utilise (ou en tout cas, sont senss la
connaitre).
91
8. AUTHENTIFICATION ET INTGRIT
En ce qui concerne lintgrit, il faut sassurer que le contenu na pas pu tre chang. Si le message
a la structure approprie, on peut utiliser la redondance ou une somme de contrle pour dtecter un
changement. On peut galement raliser un contrle derreur interne et externe, comme illustr la
figure 8.1.
8.1.2
Dans ce cas, on na aucune information sur lexpditeur puisque nimporte qui peut potentiellement
utiliser la clf publique. Cependant si lexpditeur signe le message en utilisant sa cl prive, et chiffre
ensuite avec la cl publique du destinataire, on a le secret et lauthentification. Il est possibilit didentifier
les messages corrompus mais au cot de deux utilisations de ce chiffrement sur le message.
92
8. AUTHENTIFICATION ET INTGRIT
8.2
Fonctions de hachage
8.2.1
Proprits
8.2.2
Exemple dutilisations
A la figure 8.3, en (a), le message concatn un hash code est chiffr en utilisant le chiffrement
symtrique. Puisque seuls A et B partagent la clef secrte, le message doit provenir de A et na pas t
modifi. Le hach fournit la structure exige pour raliser lauthentification. Puisque le chiffrement est
appliqu au message entier et au code de hachage, la confidentialit est galement fournie.
En (b), seul le hach est chiffr, en utilisant le chiffrement symtrique. Ceci rduit le traitement pour
les applications qui nexigent pas la confidentialit. Ce point illustre en ralit le principe dune fonction
MAC (fonction de hachage + cl secrte).
En (c), la figure 8.4, seul le code de hachage est chiffr, en utilisant le chiffrement par clef publique
et la clef prive de lexpditeur. Comme (b), ceci fournit lauthentification. Il fournit galement une
signature numrique, car seul lexpditeur pourrait avoir produit le code de hachage chiffr.
En (d), toujours la figure 8.4, si la confidentialit et la signature numrique sont dsires, alors le
message et le code de hachage chiffr avec la cl prive sont chiffrs en utilisant une clef secrte symtrique.
Enfin, la figure 8.5, en (e), on emploie une fonction de hachage mais aucun chiffrement pour lauthentification de message. La technique suppose que les deux parties communicantes partagent une valeur
secrte commune S. A calcule la valeur de hachage la suite de la concatnation de M et de S et ajoute la
valeur de hachage rsultante M. Puisque B possde S, il peut recalculer la valeur de hachage vrifier.
Puisque la valeur secrte elle-mme nest pas envoye, un adversaire ne peut pas modifier un message
arrt et ne peut pas produire un message faux.
93
8. AUTHENTIFICATION ET INTGRIT
On peut aussi, comme le montre (f), ajouter la confidentialit lapproche de (e) en chiffrant le
message entier et le code de hachage de M et de S.
R. Dumont - Notes provisoires
94
8. AUTHENTIFICATION ET INTGRIT
8.2.3
On pourrait penser que des hachs de 64-bit sont srs. Pourtant, une technique largement connue,
portant le nom de Paradoxe de lanniversaire" va nous prouver le contraire.
Ce paradoxe sillustre par la question suivante : combien de personnes faut-il dans un groupe pour
que la probabilit davoir deux personnes ayant la mme date de naissance atteigne 0.5 ? La rponse,
surprenante premire vue, est de 23.
Dfinition du problme
Pour ce problme, il faut ignorer le 29 fvrier et les annes bissextiles. Dfinissons P(n,k)=Pr[il y a au
moins deux lments communs dans le sous-ensemble de k lments, et la rpartition est uniforme dans
lintervalle 1 n].
On cherche donc la valeur de k telle que P (365, k) 0, 5.
Dans un premier temps, cherchons la probabilit quil ny ait pas dlments communs, ce que nous
noterons Q(365, k). Pour ce faire, nous notons par N , le nombre de manire de tirer k valeurs sans lment
commun. Plus explicitement, nous pouvons choisir nimporte quel objet sur 365 pour le premier lment,
nimporte lequel sur 364 pour le deuxime, etc. Ainsi, il vient
N = 365 X 364 X 363 X ... X (365 k + 1) =
365!
(365 k)!
N
365!
=
k
365
(365 k)!(365)k
Par consquent,
P (365, k) = 1 Q(365, k) = 1
365!
(365 k)!(365)k
k(k 1) 2
a ...
2!
Pour de trs petites valeurs de a, on peut lapproximer par (1 ka). Ainsi, la probabilit davoir au moins
une correspondance est approximativement gale
1 [1 (1/n)]k 1 [1 (k/n)] = k/n
R. Dumont - Notes provisoires
95
8. AUTHENTIFICATION ET INTGRIT
Pour obtenir une probabilit gale 0.5, nous avons k = n/2.
Pour un hach de m bits, le nombre de code possible est 2m et une probabilit gale 1/2 est obtenue
lorsque k = 2(m1) .
Utilisation du paradoxe
Dans le cas qui nous occupe, le problme pourrait tre adapter comme suit. Soit une fonction de
hachage dont la distribution est uniforme et possdant n sorties possibles. Soient deux ensembles de k
lments (k n), X = {x1 , x2 , ..., xk } et Y = {y1 , y2 , ..., yk }. Quelle est la valeur de k pour que la
probabilit davoir au moins un lment commun dans les deux ensembles soit gale 0.5 ?
Comme nous venons de le voir,
P r[pas de correspondance entre Y et x1 ] = (1 (1/n))k
Donc
P r[pas de correspondance entre Y et X] = [(1 (1/n))k ]k = (1 (1/n))k
Ainsi,
P r[au moins une correspondance entre Y et X] = 1 (1 (1/n))k
Comme (1 x) ex ,
P r[au moins une correspondance entre Y et X] > 1 (e1/n )k
P r[au moins une correspondance entre Y et X] > 1 (ek
/n
/n
k2
n
k = 0, 83 n n
2m = 2m/2 .
96
8. AUTHENTIFICATION ET INTGRIT
8.3
Le concept est relativement semblable aux fonctions de hachage. Il sagit ici aussi dalgorithmes qui
crent un petit bloc authentificateur de taille fixe. La grande diffrence est que ce bloc authentificateur
ne se base plus uniquement sur le message, mais galement sur une cl secrte.
Tout comme les fonctions de hachage, les MAC nont pas besoin dtre rversibles. En effet, le rcepteur excutera le mme calcul sur le message et le comparera avec le MAC reu.
Le MAC assure que le message est inchang (intgrit) et vient de lexpditeur (authentification, par
lutilisation de la cl secrte). Il peut galement tre employ comme un chiffrement supplmentaire (rare)
et peut tre calcul avant ou aprs le chiffrement principal, bien quil soit gnralement conseill de le
faire avant.
La figure 8.7 illustre 3 techniques de base utilisant un MAC. Au point (a), seule lauthentification
du message (de la source A) a lieu. En effet, le message est envoy en clair sur le rseau, et le MAC
lui est concatn. Cependant, par lutilisation dune cl secrte, et comme seul A connait cette cl, le
destinataire B est sr que lexpditeur est bien A. A la rception du message, B applique la fonction
MAC sur le message en clair, et vrifie que le MAC rsultant correspondant celui concatn au message
transmis.
Les points (b) et (c) ajoutent la confidentialit. Au point (b), le MAC est concatn au message, et
le tout est chiffr et envoy B. Au point (c), seul le message est chiffr. Le MAC est concatn par la
suite, et le tout est envoy B. Dans la majorit des cas, on prfrera utiliser la technique illustre au
point (b).
97
8. AUTHENTIFICATION ET INTGRIT
8.3.1
Dans le cas de chiffrements symtriques, on peut employer nimporte quel mode chan, le bloc final
tant le MAC.
Il y a quelques annes, le CBC-MAC tait un algorithme relativement rpandu dans ce contexte. Il
tait bas sur le chiffrement DES et, comme lindique son nom, le mode CBC.
Une norme amricaine lui a aussi donn le nom de DAA (Data Authentication Algorithm).
Son fonctionnement est illustr la figure 8.8. Le vecteur dinitialisation (IV) du mode CBC est ici
nul. Les donnes authentifier sont symbolises par les blocs D1 DN . Le DAC (Data Authentication
Code) est soit le bloc ON , soit les M bits les plus gauche du bloc ON , avec 16 M 64.
Cet algorithme nest plus gure utilis aujourdhui pour des raisons de scurit (le MAC rsultant est
trop petit). Il sera donc souvent coupl dautres algorithmes.
98
8. AUTHENTIFICATION ET INTGRIT
8.3.2
La scurit des algorithmes svaluent en fonction des rsultats dune attaque par force brute. Lobjectif est que cette dernire soit la meilleure attaque possible.
Sur un hach, la recherche de collisions demande 2m /2 oprations. Les hachs de 128 bits tant vulnrables (2005), il est conseill dutiliser des condenss de 160 bits.
Dans le cas des MAC, il faut attaquer sur des paires connues message/MAC. On attaquera lespace
de cls (le pirate teste toutes les cls pour un texte donn et vrifie si le MAC obtenu est le mme) ou
le MAC directement (gnrer un MAC valide pour un message, ou un message pour un MAC donn). Il
est actuellement conseiller dutiliser des MAC dune taille minimale de 128 bits.
8.4
Signatures digitales
Nous avons jusquici regard lauthentification de messages. Mais nous navons pas abord les questions
de manque de confiance. En effet, lauthentification des messages protge les deux entits communicantes
dun intrus. Cependant, cela ne les protge en rien lun de lautre. En cas de conflit, rien nempche la
rpudiation du ou des messages. Deux exemples illustrent ce principe :
Lentit A pourrait forger un message donn et dire quil vient de B. Il lui suffit pour cela de crer
un message et lui appliquer un MAC en utilisant la cl quils ont en commun.
Le cas inverse peut galement exister. B peut nier le fait davoir envoyer un message, pour la simple
raison que la construction explique au point prcdent est possible. Il est donc impossible de
prouver quun tel message a t ou non envoy par B plutt que par A.
Cest ici quinterviennent les signatures numriques. Elles permettent notamment de vrifier lauteur,
la date et lheure de la signature, dauthentifier le contenu dun message et peuvent tre vrifies par des
tiers pour rsoudre des conflits.
8.4.1
Proprits
8.4.2
99
8. AUTHENTIFICATION ET INTGRIT
8.4.3
Un arbitre A est prsent et validera nimporte quel message sign, le datera et lenverra au destinataire.
Ce systme exige un niveau appropri de confiance en larbitre. Il peut tre mis en application avec des
algorithmes symtriques ou cl publique. Larbitre peut ou ne peut pas voir le message.
8.5
Le Zero-Knowledge
Lappellation courante franaise est Preuve divulgation nulle de connaissance". Il sagit dune autre
mthode dauthentification/identification.
Le concept gnral est le suivant :
Une entit A (le prouveur ) prouve sa connaissance dun secret une entit B (le vrifieur ), sans
divulguer ce secret.
Cette preuve doit avoir 3 proprits :
1. Consistante : le vrifieur doit accepter la preuve si elle se prsente et que le protocole a t correctement suivi.
2. Significative : en cas derreur, le vrifieur ne pourra pas tre tromp, il finira par connatre la vrai
nature du prouveur en rptant les expriences.
3. Sans divulgation de connaissance : la preuve fournie B ne lui donne aucune information sur le
secret lui-mme. On dit que la preuve nest pas transfrable :
B napprend pas le secret
Il ne peut pas faire croire un tiers quil dispose lui aussi du secret
Le principe peut tre rsum en 3 phases :
Le prouveur prtend connatre une secret
Il veut convaincre le vrifieur quil connat ce secret dans pour autant le lui rvler
Le vrifieur veut tre certain que le prouveur ne le trompe pas
100
8. AUTHENTIFICATION ET INTGRIT
Les preuves ZK sont dites interactives car elles se ralisent en 3 tapes :
1. Annonce : Le Prouveur envoie un lment destin prouver sa connaissance dun secret
2. Challenge : Le Vrifieur renvoie une question visant len assurer
3. Rponse : Le prouveur rpond en utilisant son secret
8.5.1
Lexemple le plus rpandu pour illustrer le principe de Zero-knowledge est le problme de la caverne
dAli-Baba illustr par la figure 8.10.
1. Bob attend lentre de la caverne. Alice entre et choisit alatoirement le couloir de gauche (A) ou
de droite (B). Elle choisit le couloir B et sarrte la porte du fond qui ncessite un mot de passe.
2. Bob entre dans la caverne, sarrte la jonction des deux couloirs et dit Alice par quel couloir il
souhaite la voir revenir (il choisit arbitrairement celui de gauche ou de droite).
3. Oblige de passer par la porte, mais connaissant le mot de passe, elle rejoint Bob par le bon couloir
et prouve donc quelle connat le mot de passe.
101
8. AUTHENTIFICATION ET INTGRIT
Rpondre correctement 100 fois lexprience noffre aucune information sur le secret de la porte (ZK),
mais prouve (Consistante), avec une infime probabilit derreur (Significative), quAlice connat ce
secret.
8.5.2
ZK en pratique
Le principe de ZK est utilis en tant que schma didentification. On lutilise notamment dans le cadre
des signatures digitales, souvent sur smart card.
De nombreux protocoles existent, et de nombreuses variantes (voluant au gr des dcouvertes de
certaines failles de scurit). On citera notamment Feige-Fiat-Shamir (FFS) et Gillou-Quisquater (GQ),
Schnorr, Ohta-Okamoto ou encore Brickell-McCurley. Les deux premiers seront traits dans le chapitre
suivant.
Nous pouvons dores et dj souligner les principaux avantages du schma ZK :
sa rapidit face au schma similaire par RSA (25x pour FFS, 40x pour GQ) : Il ny a pas dlvation
une puissance, uniquement des multiplications.
les signatures fournies sont de taille infrieure
on peut en consquence lemployer sur des systmes lgers (p.ex. cartes puce)
8.6
Ressources supplmentaires
http://www.bibmath.net/crypto/moderne/sigelec.php3
http://www.ssh.fi/support/cryptography/introduction/signatures.html
102
Chapitre 9
9.1
MD5
Conu par Ronald Rivest (le R dans RSA), cest le dernier dune srie (MD2, MD4). Cet algorithme
produit un condens de 128 bits. Il tait il y a encore quelques temps lalgorithme de hachage le plus
largement rpandu. La cryptanalyse et lattaque par force brute (2004) lont affaibli. Ses spcifications
sont disponibles sur Internet dans le RFC 1321.
9.1.1
Vue densemble
9.1.2
Algorithme
103
o :
IV : valeur initiale des registres ABCD
Yq : le q e`me bloc de 512 bits du message
L : le nombre de blocs de 512 bits dans le message
CVq : variable chaine obtenue par la manipulation du q e`me bloc
RFx : fonction primitive dpendante de la ronde en cours
MD
P : rsultat final
32
32 : addition modulo 2
9.1.3
Fonction de compression
9.1.4
MD4
Prcurseur du MD5, il produit galement des condenss de 128 bits. Il ne possde que 3 rondes de
16 tapes contre 4 dans MD5. Les buts raliser lors de sa conception taient de le faire rsistant aux
collisions, et dapporter une scurit directe (cest--dire quil na pas de dpendance envers des problmes
mathmatiques). Il devait de plus tre aussi rapide, simple et compact que possible.
Le MD4 fut galement optimis pour les systmes "little endian" tels que les PCs. Aprs plusieurs
tests, il sest avr que les stations SUN (qui sont "big endian") taient assez puissantes pour compenser
les calculs ncessaires, ce qui dcida les dveloppeurs loptimiser pour les stations "little-endian".
104
9.1.5
Scurit du MD5
Le condens MD5 dpend de tous les bits du message, ce qui apporte un effet davalanche : chaque
bit du hach est une fonction de chaque bit dentre.
Plusieurs attaques furent recenses. Ds 1992, Berson prsenta diverses failles, suivi par Den Boer et
Bosselaers en 93, puis Dobbertin en 96. On dmontra la prsence de collisions sur une ronde, laide de
la cryptanalyse diffrentielle.
Durant lt 2004, des chercheurs chinois sont parvenus casser le MD5 en quelques heures. En ralit,
ils ont russi crer deux messages possdant le mme hach. Le mme rsultat est aujourdhui obtenu
en quelques minutes, voire quelques secondes. En conclusion, le MD5 nest plus sr.
105
9.2
SHA-1
SHA (Secure Hash Algorithm) a t conu par NIST et NSA en 1993, et rvis 1995 pour tendre ses
capacits en matire de scurit. Ses spcifications sont publies dans le RFC 3174. Lalgorithme est le
SHA, la norme est SHS (Secure Hash Standard). Contrairement au MD5 qui produit des condenss de 128
bits, le SHA produit des valeurs condenses de 160 bits. Jusqu 2005, il tait lalgorithme gnralement
prfr pour le hachage, mais des rumeurs de cassage le font peu peu voluer vers des versions plus
sophistiques. Il convient aujourdhui (2009) dutiliser le SHA-2.
106
9.2.1
Fonction de compression
107
9.2.2
Lattaque par force brute est plus difficile (160 contre 128 bits pour MD5). Mais il est un peu plus
lent que MD5 (80 contre 64 itrations). Il fut conu comme simple et compact, et optimis pour les
processeurs big-endian.
9.2.3
Le NIST a publi une rvision en 1995 (FIPS 180-2). Cette rvision ajoute 3 algorithmes de hachage :
SHA-256, SHA-384, SHA-512. La structure et le dtail de lalgorithme est semblable SHA-1, par consquent la rsistance la cryptanalyse devrait tre semblable (hormis lattaque par force brute qui devient
plus longue).
9.3
9.3.1
Il est souhaitable de crer des MACs partir de fonctions de hachage plutt qu partir de fonction
de chiffrement par bloc. Plusieurs raisons sont avances telles que la rapidit des fonctions de hachage, et
labsence de contrle lexportation. La diffrence majeure entre les MAC et les Hachs tant la gestion
dune cl secrte, il faut intgrer cette cl dans lalgorithme de hachage.
Une ide simple fut avance, et connue sous le nom de HashSur. Le principe tait de concatner
directement le message la cl (i.e. Hash(cl|Message)). Cependant quelques faiblesses ont t trouves,
ce qui a amen au dveloppement de HMAC.
108
9.3.2
HMAC
Plusieurs objectifs devaient tre raliss tel que le fait dutiliser sans modifications des fonctions de
hachage existantes, de permettre un remplacement ais de la fonction de hachage au cas o des fonctions
plus rapides ou plus sres seraient trouves ou exiges, de prserver les performances initiales de la fonction de hachage et demployer (et manipuler) les clefs de manire simple.
HMAC traite les fonctions de hachage comme des black box. La fonction de hachage devient un
module. Il devient alors simple de la remplacer si on met au point une nouvelle fonction de hachage plus
rapide ou plus sre, ce qui apporte une meilleure garantie de scurit. De par cette modularit, il ny
aura pas de modification apporter lalgorithme.
9.3.2.1
Principe de lalgorithme
109
9.3.3
Scurit de HMAC
La scurit de HMAC est dpendante de la fonction de hachage sous-jacente. Attaquer HMAC exige
Soit une attaque par force brute sur la clef utilise (2n essais)
Soit une attaque utilisant le paradoxe de lanniversaire (2n/2 mais puisque on lutilise avec une cl,
on devrait observer un nombre trs lev de messages)
Il faudra choisir la fonction de hachage utiliser en se basant sur des contraintes de scurit et de vitesse.
9.3.4
Optimisation de HMAC
110
9.4
Algorithmes de signatures
9.4.1
El Gamal
9.4.2
Conu par le NIST et la NSA dans le dbut des annes 90, ce schma de signature (FIPS-186) fut
galement approuv par le gouvernement amricain. Il emploie lalgorithme de hachage SHA-1. Comme
dans le cas du SHA, on parle de DSS pour la norme, et de DSA pour lalgorithme. Il sagit en ralit
dune variante dElGamal et de Schnorr1 . La scurit dpend donc une nouvelle fois de la difficult de
calculer des logarithmes discrets.
9.4.2.1
Algorithme
1 Il
111
Signature du DSS
Alice engendre tout dabord un k tel que 0 < k < q. Ce k doit tre alatoire, secret, dtruit aprs
utilisation et jamais rutilis. Alice engendre ensuite les lments composant la signature :
r = (g k mod p) mod q
s = (k 1 (H(M ) + xr)) mod q
Alice envoie ensuite (r, s) Bob.
9.4.2.3
Vrification de la signature
w = s1 mod q
u1 = (H(M ) w) mod q
u2 = rw mod q
v = ((g u1 y u2 ) mod p) mod q
9.4.3
La figure 9.14 compare les mthodes dauthentification par chiffrement RSA et par DSA. Le KUG est
la "Global Public Key Component" comprenant (p, q, g).
A la diffrence du RSA, le DSA ne peut tre utilis pour chiffrer des messages ou transmettre des
cls.
112
9.5
Algorithme ZK
113
Chapitre 10
10.1
10.1.1
Dans ce cas, il est ncessaire pour les deux usagers de partager une cl secrte commune. Bien souvent, lchec dun systme sr est d une rupture dans le schma de distribution des cls. Comment
distribuer srement cette cl ?
Physiquement : par une rencontre, un canal de transmission protg, ...
Utiliser un tiers de confiance. Celui-ci choisit et fournit la cl,
Utiliser une ancienne cl pour chiffrer une nouvelle cl (ce qui suppose cependant un change
pralable de cette ancienne cl),
Distribution automatique de cls la demande des utilisateurs. Cette solution existe, mais elle
ncessite une totale confiance au systme.
La figure 10.1 illustre le protocole Needham-Schroeder, dont nous reparlerons dans le chapitre consacr
lauthentification des parties. Ce scnario suppose que les deux entits (A et B) possdent chacune une
cl secrte avec le KDC (lautorit de confiance du systme).
114
Fig. 10.1 Exemple dune distribution de cls dans le cas symtrique (Needham-Schroeder).
10.1.2
Cls asymtriques
Le chiffrement par cl publique permet de rsoudre les problmes de distribution de cls secrtes.
Malgr tout, la distribution des cls publiques continue de poser problme, principalement au niveau de
lauthentification des utilisateurs lis ces cls. Il existe quatre solutions permettant un transfert des cls
dans le cas asymtrique :
Annonce publique
Annuaire publiquement disponible
Autorit de cls publique
Certificats de cl publique
10.1.2.1
Annonce Publique
La distribution des cls publiques se fait directement aux destinataires ou par broadcast la communaut. Il est par exemple possible dapposer les clefs PGP aux emails ou les poster dans des newsgroups ou
mailing-lists. Mais le risque majeur avec cette mthode est la contrefaon : nimporte qui peut crer une
clef en prtendant tre quelquun dautre et la publier. La mascarade continuera tant que la contrefaon
nest pas dcouverte.
10.1.2.2
Annuaire Publique
On enregistre ici des cls dans un annuaire public, ce qui implique de faire confiance cet annuaire.
Ce dernier doit avoir plusieurs proprits :
Mme si ce schma est clairement plus sr que les annonces publiques individuelles, il reste vulnrable.
Il est en effet ncessaire que lannuaire soit scuris. Dans le cas contraire, un individu pourrait dtourner
lannuaire et fournir des clefs publiques contrefaites, voire ne pas transmettre les cls correspondant
aux demandes des entits communicantes.
115
Il sagit de renforcer le contrle de la distribution des clefs partir de lannuaire. Il dispose des mmes
proprits que ce dernier. Cependant, la scurit est renforce. En effet, dans le cas prsent, chaque
entit dispose de la cl publique de lautorit. Ainsi, lorsquune entit dsirera obtenir la cl publique
dun correspondant, il enverra une requte lautorit. Celle-ci contiendra la requte proprement dite et
un marqueur temporel (timestamp). En retour, lautorit renverra la cl demande, le timestamp pour
prouver le non-rejeu dun ancien message, le tout chiffr avec sa cl prive. De cette manire, lentit
A, possdant la cl publique de lautorit, pourra vrifier la bonne provenance de la cl publique de B.
Lentit B pourra pratiquer de la mme manire.
10.1.2.4
Cette approche alternative (1978) consiste employer des certificats pouvant tre utiliss par des
participants pour changer des clefs sans entrer en contact avec une autorit de cls publiques, dune
faon fiable comme si les clefs avaient t obtenues directement partir dune telle autorit.
Chaque certificat contient une clef publique et des informations supplmentaires (la priode de validit, les droits dutilisation, etc.). Il est cr par une autorit de certification (Certificate Authority, CA)
et est donn au participant disposant de la clef prive assortie. Un participant fournit linformation sur
sa cl un autre en transmettant son certificat. Son contenu est sign par la cl prive du CA. Cette
situation est illustre la figure 10.3
116
10.1.3
Il sagit dune partie de la norme de service dannuaire X.500, qui regroupe des serveurs distribus
maintenant une base de donnes dinformations. Le service dfinit le cadre pour des services dauthentification, internationalement admis pour construire un certificat de cl publique. Lannuaire peut stocker
des certificats de cl publique et les cls publiques des utilisateurs correspondants. Ces certificats sont galement signs par une authorit de certification. Il utilise la cryptographie cl publique et les signatures
digitales. Aucun algorithme de chiffrement nest impos, mais le RSA est recommand.
10.1.3.1
Nimporte quel utilisateur ayant accs au CA peut obtenir un certificat de celui-ci, mais seul le CA
peut modifier un certificat. Comme il est difficile de forger un certificat, on peut sans trop de risque le
placer dans un annuaire public.
La figure 10.4 illustre le format dun certificat. Lexemple donn concerne un certificat sign par RSA
et MD5.
10.1.3.2
Hirarchie de certificats
On met ici une hypothse : si les deux utilisateurs partagent un CA commun alors on suppose quils
connaissent sa clef publique.
R. Dumont - Notes provisoires
117
Sur la figure 10.5, chaque CA possde des certificats pour les clients (vers lavant) et le parent (vers
larrire). Chaque client fait confiance aux certificats parents. On parle alors de hirarchie de CA. Le
principe est demployer les certificats liant les membres de la hirarchie pour valider dautres CA. Lobjectif est de permettre la vrification de nimporte quel certificat dun CA par des utilisateurs de tout
autre CA dans la hirarchie.
10.1.3.3
Rvocation de certificats
Les certificats ont une priode de validit. On doit pouvoir le retirer avant lchance car il se peut
que la clef prive de lutilisateur soit compromise, que lutilisateur ne soit plus certifi par ce CA ou
encore que le certificat du CA soit compromis.
Les CA maintiennent donc une liste des certificats retirs. Cette liste porte le nom de "liste de
rvocation de certificats" (CRL) et est vrifiable par tout utilisateur.
Lobtention des CRL sera ralise auprs dun CDP (CRL Distribution Point), sorte de serveur principal maintenant les CRL jour.
118
Notons au passage que pour faciliter les vrifications des certificats, il existe diffrents protocoles dont
le plus rpandu est lOCSP (Online Certificate Status Protocol, voir RFC 2560).
LOCSP consiste en un change de type requte/rponse entre un client (par exemple une banque) et
un serveur de validation/vrification, appel rpondeur OCSP. Ce protocole est avantageux plus dun
titre puisquil permet, par le travail du serveur, de diminuer le traffic rseau et la charge de travail du
client (qui na plus analyser la CRL).
Prcisons enfin quil existe de nombreuses mthodes permettant de maintenir ces listes de certificats
jour. Nous avons cit luilisation basique dune CRL et lOCSP, mais on peut aussi nommer la Delta-CRL
ou les CRL DP1 .
10.1.3.4
Procdures dauthentification
119
10.1.3.5
X.509 Version 3
Avec lvolution des besoins et des technologies, est apparue la ncessit dinformations additionnelles
telles que linclusion demail/URL, de dtails de politique ou de contraintes dutilisation. La particularit
de cette nouvelle version est quelle dfinit une mthode gnrale dextension plutt que la cration de
nouveaux champs statiques. Les extensions sont de plus optionnelles, ce qui permet de ne pas modifier
toute la structure. Les logiciels doivent donc spcifier sils utilisent ou non ces extensions.
Celles-ci se composent principalement de trois lments :
un identificateur (numro de lextension utilise),
un marqueur dimportance,
une valeur (ce que contient lextension en question).
Cette nouvelle version apporte plus de flexibilit mais moins de compatibilit en contrepartie.
120
10.1.4
Cls de session
121
10.1.5
Il est possible dintgrer de lauthentification dans les changes (on suppose que A et B se sont changs pralablement leur clef publique). Ce processus est illustr la figure 10.12 :
1. A utilise la clef publique de B pour chiffrer un message B contenant une marque de A (IDA ) et
un nonce (N1 ), qui est employ pour identifier cette transaction uniquement.
2. B envoie un message A chiffr avec KUa contenant le nonce de A (N1 ) ainsi quun nouveau nonce
produit par B (N2 ). Puisque seul B pourrait avoir dchiffr le message (1), la prsence de N1 dans
le message (2) assure A que le correspondant est B.
3. A retourne N2 , chiffrs en utilisant la clef publique de B, pour assurer B que son correspondant est
A.
4. A choisit une cl de session Ks secrte et envoie M = EKUb [EKRa [Ks ]] B. Le chiffrement de cette
cl avec la clef prive de A assure que seul A peut lavoir envoye.
5. B calcule DKUa [DKRb [M ]] pour rcuprer la clef secrte.
10.2
Cest une mthode pratique pour lchange public dune clef secrte (ou de session). Contrairement
ce que beaucoup pensent, il ne peut pas tre employ pour changer directement un message arbitraire.
La mthode de Diffie-Hellman (DH) est base sur llvation une puissance dans un champ fini, ce
qui est facile calculer. La scurit se fonde sur la difficult de calculer des logarithmes discrets, problme
difficile comme dans le cas dEl Gamal. La valeur de la clef dpend des participants (et de linformation
sur leurs cls prive et publique).
10.2.1
Principe
122
Exemple :
10.2.2
Diffie-Hellman est sensible lattaque MITM (un ennemi peut simmiscer dans lchange et se faire
passer pour le destinataire lgal envers chacune des entits communicantes). La solution est dinsrer de
2 Exemple : Pour p=11, 2 est un primitif. En effet, 210 1 mod 11, 21 2 mod 11, 28 3 mod 11, 22 4 mod 11,
24 5 mod 11, 29 6 mod 11, 27 7 mod 11, 23 8 mod 11,26 9 mod 11 et 25 10 mod 11.
123
10.3
Ressources supplmentaires
http://home.ecn.ab.ca/~jsavard/crypto/pk0503.htm
http://home.ecn.ab.ca/~jsavard/crypto/mi0607.htm
http://developer.netscape.com/docs/manuals/security/pkin/contents.htm
http://www.itl.nist.gov/
124
Chapitre 11
11.1
Le SET
Dvelopp en 1996 par un ensemble de socits mettrices de cartes de crdit (MasterdCard, Visa,...),
le SET (Secure Electronic Transaction) est utilis pour protger des transactions lies aux cartes de crdit
sur Internet. Il ne sagit pas dun systme de paiement, mais dun ensemble de protocoles et de formats
de scurit bass sur trois principes :
Des communications scurises entre les parties,
Lutilisation des certificats X.509v3,
Une certaine "intimit" en restreignant linformation ceux qui en ont rellement besoin.
Les spcifications du SET sont reprises dans 3 livres.
Un premier livre dcrivant les donnes pour le March
Un deuxime reprend les informations ncessaires aux programmeurs (API)
Un troisime dfinit formellement le protocole.
Vue Gnrale
Le SET doit obir certaines contraintes, fixes par un cahier des charges :
Fournir la confidentialit des paiements et des informations lies,
Assurer lintgrit des donnes transfres,
Fournir lauthentification permettant de vrifier la lgitimit de lutilisateur dune carte,
Fournir lauthentification du marchand,
Offrir une protection optimale de toutes les parties de la transaction,
Etre indpendant des protocoles, plate-formes, OS, ...
Entits intervenantes
La figure 11.1 schmatise les transferts de donnes entre entits. Les diffrents termes sont explicits
ci-dessous :
Cardholder : consommateur : personne autorise disposer dune carte de paiement (MC, Visa, ...)
fournie par un fournisseur (issuer)
125
Merchant : marchand : personne qui vend des biens ou des services au consommateur via un site
Web ou un mail lectronique. Un marchand qui accepte les cartes de paiement doit tre en relation
avec un acqureur (acquirer)
Issuer : fournisseur (banque de lacheteur) : institution financire qui a fourni la carte au consommateur. Typiquement les comptes sont ouverts par mail ou par la personne directement. Cest le
fournisseur qui est responsable du paiement de la dette du consommateur
Acquirer : acqureur (banque du marchand) : institution financire qui tablit un compte avec
un marchand, fournit les autorisations de paiement et gre les paiements. Le marchand accepte
gnralement plusieurs marques de carte de crdits mais prfre ne pas fonctionner avec de multiples
associations de banque ou de consommateurs individuels. Lacqureur fournit les autorisations au
marchand lorsquune certaine carte est active et que la demande ne dpasse par la limite de crdit
qui lui est autorise.
Payment gateway (passerelle de paiement) : il sagit dune fonction opre par lacqureur ou un
tiers dsign qui transmet les messages de paiement du marchand. Il sagit dune interface entre
SET et le rseau existant de paiement par carte. Le marchand change des messages SET avec ce
gateway travers internet, tandis que le gateway a une connexion directe vers lacqureur financier
manipulant le systme
Certification authority : autorit qui fournit les certificats pour les propritaires de carte, les marchands et les gateways de paiement
11.1.1
Pour assurer plus de confidentialit, et plus de scurit, le SET doit respecter certaines rgles, dont
voici les principales :
Lacheteur et la passerelle de paiement doivent tre capables de vrifier lauthenticit du marchand
Le marchand doit pourvoir vrifier que lacheteur et la passerelle de paiement sont bien authentifis
Les personnes non autorises ne doivent pas pouvoir modifier les messages changs entre la passerelle de paiement et le marchand
Le numro de carte de lacheteur ne doit pas tre accessible au marchand
R. Dumont - Notes provisoires
126
11.1.2
Une transaction SET ncessite dix tapes entre louverture dun compte, et le demande de paiement :
1. le client ouvre le compte : cette premire tape permet les changes SET
2. le client reoit un certificat : Aprs vrification de son identit, le client reoit un certificat. Ce
dernier prouve luthenticit de la cl publique RSA du client et tablit un lien entre la paire de
cls et la carte de crdit fournie.
3. les ngociants ont leurs propres certificats : le ngociant possde 2 paire de cls : une pour signer et
une pour lchange de cl. Le ngociant dispose galement du certificat de la passerelle de paiement
4. le client passe une commande
5. le ngociant est vrifi : via lenvoi du certificat du ngociant au client
6. lordre et le paiement sont envoys : le paiement contient les informations sur la carte de crdit et
est chiffr, le certificat du client permet de vrifier son identit
7. le ngociant demande lautorisation de paiement : il envoie les infos de paiement au gateway de
paiement et demande lautorisation de paiement (autrement dit, il demande si le crdit est suffisant)
8. le ngociant confirme lordre : il envoie la confirmation au client
9. le ngociant fournit des marchandises ou le service
10. le ngociant demande le paiement : il envoie la demande de paiement au gateway de paiement
11.1.3
Comme dit prcdemment, le ngociant na pas besoin de connatre le numro de carte de son client.
De mme la banque na pas besoin de savoir ce que le client a achet. Ces deux entits doivent tre
lies, mais nont pas besoin de connatre les mmes informations. La signature duale, tout en liant ces
informations, permet dviter la diffusion de renseignements inutiles chacune des parties. De plus, elle
pourra tre utilise comme preuve en cas de litige.
Dans une signature duale, on trouvera donc deux messages destins deux receveurs distincts :
linformation de commande (OI1 ) pour le ngociant,
linformation de paiement (PI2 ) pour la banque
Par lintermdiaire de ce procd, la scurit est galement garantie. Dune part, moins de donnes
sont divulgues aux diverses parties. Dautre part, imaginez quun marchand obtienne les informations
OI et PI de manire non lie. Le marchand passe alors le PI la banque. Si le marchand obtient un autre
OI de ce client, il pourrait dire que ce dernier correspond au PI envoy prcdemment. La signature duale
1 Order
Information
Information
2 Payement
127
11.1.4
Fonctionnement du paiement
De nombreux types de transaction sont possibles. Elles sont reprises sur la page du cours dans le
document SET-trans.pdf.
Les principales sont "la Commande" (Purchase Request) , "lAutorisation de paiement" (Payment
Authorization) et "le Paiement" (Payment Capture). Elles sont explicites ci-dessous.
11.1.4.1
La Commande
La premire phase consiste en lenvoi dune demande dachat (Purchase Request) au marchand. Elle
est illustre par la figure 11.3.
Lenveloppe digitale reprsente le rsultat du chiffrement de la cl de session Ks par la cl publique
de la passerelle de payement. Seule la passerelle possde la cl prive correspondante. Ainsi, seule la
passerelle pourra lire le PI.
A noter que le "cardholder certificate" reprsentant le certificat associ la cl publique du client est
galement transmise la passerelle afin que cette dernire puisse vrifier la signature duale.
128
Lorsque le marchand reoit la requte dachat du client, il procde aux vrifications illustres la
figure 11.4. Le droulement est le suivant :
1. Il vrifie la signature duale en utilisant la clef publique de signature du client pour sassurer que
la commande na pas t manipule pendant son transit et quelle a t signe en utilisant la clef
prive de signature du dtenteur de la carte
2. Il transmet linformation de paiement la passerelle de paiement pour lautorisation (dcrite ciaprs) et effectue la commande
3. Il envoie enfin une rponse dachat au dtenteur de la carte. Cette rponse confirme laccord du
marchand et renferme une rfrence la transaction en cours. Cette rponse est signe par la cl
prive du marchand.
11.1.4.2
Autorisation de Paiement
Lors de lacceptation dune commande, le marchand instaure une transaction avec le gateway de paiement. Lautorisation de paiement assure que la transaction a t approuve par linstitution financire
du client. Elle assure donc au marchand quil sera pay pour le service quil offre au client.
Sur la figure prcdente, on voit une partie des donnes transmises la passerelle par le marchand. De
plus, ce dernier fournit des donnes supplmentaires : un bloc dautorisation contenant un identificateur
de la transaction, sign avec sa cl prive, et chiffr avec une cl symtrique quil aura gnr pour
loccasion, ainsi quune enveloppe digitale protgeant cette cl symtrique.
R. Dumont - Notes provisoires
129
11.1.5
Paiement
130
11.2
3D-Secure
Le SET fut un chec, essentiellement d au fait que les dmarches effectuer par le marchand sont
relativement complexes. Il devait en effet tablir plusieurs communications spcifiques avec le client, mais
galement avec sa banque et la passerelle de paiement. Au vu de ce dsintrt, un nouveau schma de
paiement fut cr linitiative de Visa. Par comparaison au SET, 3D-Secure repose sur un schma simplifi, et permet une intgration et une utilisation plus simple pour le marchand et le client. La plupart des
responsabilits sont maintenant transfres aux banques. La principale nouveaut en terme de scurit est
lintroduction du SSL/TLS (A lorigine, larchitecture 3D-Secure tait nomm 3D-SSL). Il est maintenant
gnralis (depuis le 01/03/2003) et est support notamment par Visa, Mastercard, American Express, ...
Le schma global de 3D-Secure est reprsent par trois domaines (do le nom 3D pour 3-Domains) :
1. Domaine du client - Domaine metteur (Issuer)
2. Domaine dinteroprabilit - Domaine interbancaire
3. Domaine du marchand - Domaine acqureur (Acquirer)
Chaque entit du schma doit supporter le protocole TLS pour assurer des connexions scurises. Il
en est de mme pour les algorithmes RSA, 3DES et SHA.
Contrairement au SET, le marchand pourra ici disposer des informations bancaires du client.
11.2.1
Architecture gnrale
131
132
11.2.2
Inscription
1. Le futur dtenteur dune carte se rend chez le fournisseur de service (sa banque) et fait la demande.
2. Il fournit les donnes ncessaires au Service dinscription (Donnes didentification, mot de passe,
PAM (Personal Assurance Message)).
La banque valide la demande du client si celui-ci est jug apte utiliser la carte de crdit.
3. Le serveur dinscription (Enrollment Server) envoie la MAJ lACS. Les informations y sont stockes
pour les transactions futures ; le client peut maintenant faire ses achats en ligne.
11.2.3
Achat
1. Le client finalise un achat sur le site internet dun marchand. Ce dernier a maintenant toutes les
informations requises pour entamer la transaction : informations sur le client, numro de compte
personnel (Personal Account Number), ...
2. Le MPI envoie le PAN au DS.
3. Le DS interroge lACS afin de savoir si lauthentification est possible pour ce client.
4. Si cest le cas, lACS lui rpond positivement
5. Le DS transmet cette rponse au MPI
6. Le MPI envoie une PAReq (Payer Authentication Request) lACS en passant par le browser du
client.
7. LACS reoit le PAReq
8. LACS authentifie le client en demandant des informations propres (mot de passe, code, etc.).
LACS cre ensuite le PARes (PAResponse) et la signe.
9. LACS envoie des donnes dauthentification au Serveur dhistorique dauthentification (AHS).
10. LACS envoie le PARes au MPI en passant par le browser du client.
11. Le MPI reoit le PARes et vrifie la signature.
12. Le MPI poursuit les transactions avec son institution financire (par VisaNet).
133
11.3
11.3.1
Autres solutions
C-SET
Il sagit dun projet franais (Cyber-Comm) bas sur le protocole SET. C-SET est lacronyme de
Chip-Secure Electronic Transaction. La scurit repose sur lutilisation dune carte puce. Cest un systme compatible avec le protocole SET initial moyennant une passerelle logicielle.
Le systme requiert un lecteur de carte et un logiciel spcifique chez le client : la lourdeur de mise en
place impose et le cot des lecteurs (25 euros) ont fait que cette architecture na pas rencontr le succs
souhait.
En 2003, le projet a t officiellement stopp.
11.3.2
SPA
Cest lacronyme de Secure Payment Application, cr par Mastercard. Initialement destin concurrencer 3D-Secure, il ncessitait linstallation dun applet, ce qui saccompagnaient de certains problmes
de compatibilit. Sans cet applet, il tait impossible deffectuer un paiement. Lincription tait plus
fastidieuse et longue que celle du concurrent 3D-Secure.
En octobre 2002, ces deux principaux inconvnients ont pouss Mastercard sassocier Visa pour
obir la norme 3D-Secure.
11.3.3
Ressources supplmentaires
http://partnernetwork.visa.com/pf/3dsec/main.jsp
http://www.euroconex.com/products/3D_Secure.htm
http://www.secpay.com/secpay/index.php/content/view/full/414.html
134
Chapitre 12
Le monde quantique
12.1
Le calculateur quantique
Linformatique quantique est encore ses balbutiements. On ne sait dailleurs pas trop o la recherche
en est actuellement. Cependant, on peut voir que deux approches radicalement opposes existent. Dune
part, les concepteurs de transistors qui tentent, tant bien que mal, de supprimer leffet quantique (effet
observ lorsque la taille des puces diminuent), et dautre part, les chercheurs qui souhaitent travailler avec
cet effet (leffet tant prsent et a priori invitable, ils prfrent en tirer profit). Cest cette deuxime
voie de recherche que nous allons nous intresser, en restant toutefois trs large dans les notions voques.
Le calcultateur quantique (ou ordinateur quantique) utilise les particules lmentaires (lectrons, protons et photons) qui portent le nom de quanta . A la diffrence de lordinateur classique, utilisant
des bits et agissant de manire squentiel, le calculateur quantique utilise les qubits (ou qbits). Un qubit
(QUatum Bit), ou bit quantique, est un tat quantique reprsentant la plus petite unit de stockage
dinformation quantique. A la diffrence du bit qui prend une valeur 0 ou 1, le qubit peut identifier une
valeur intermdiaire, un "mlange" des tats 0 et 1. Par exemple, il peut reprsent un tat constitu de
25% de 1 et 75% de 0. On parle alors de superposition.
Le principe de superposition reprsente la possibilit pour une particule dtre en deux endroits en
mme temps. Ainsi, pour dterminer ces qubits, toute particule pouvant avoir deux tats simultans peut
convenir. Il peut sagir de photons prsents en 2 endroits simultanment (telle lexprience des fentes de
Young), ou encore des lectrons et leurs orbitales. Par la proprit de superposition, les calculs peuvent
tre raliss en parallle, do une puissance de calcul dcuple.
Prenons par exemple 3 bits. Un ordinateur classique utilisant 3 bits peut tre dans 8 tats diffrents
(23 ). Dans le cas dun ordinateur quantique, les 3 qubits peuvent tre une superposition de ces tats : il
pourra donc traiter ces 8 tats en parallle. En gnral, des ordinateurs quantiques travaillant sur N bits
pourront grer 2N informations en parallle.
Thoriquement, un ordinateur quantique de 100 qubits pourrait simuler un cerveau humain. Un ordinateur de 300 qubits permettrait de simuler lvolution de la plante depuis le Big Bang.
Lordinateur quantique existe en thorie depuis le milieu des annes 80 (Deutsch, Bennett, Benioff,
Feynman). Un algorithme est paru en 1994 par Peter Shor, permettant de factoriser de trs grands
nombres en un temps polynomial laide des ordinateurs quantiques. Ainsi, un nombre de 300 chiffres
serait factoris en peine 10 secondes ! Cet algorithme, faute de rel ordinateur quantique, ne reste que
thorique.
Cest Isaac Chuang (IBM) qui a tabli le premier prototype. En 1996 il fonctionnait sur 2 qubits, en
1999 sur 3, en 2000 sur 5. Le meilleur rsultat fut atteint en 2001 sur 7 qubits. Il permit de factoriser
135
12.1.1
12.1.2
Risques
Les calculateurs quantiques permettent donc dobtenir beaucoup plus rapidement des solutions certains problmes. En cas de mise en oeuvre du concept grande chelle, cest la scurit de la cryptographie
"moderne" qui est mise en jeu.
Cependant, malgr les recherches en cours, il ne semble plus y avoir aucune amlioration significative
depuis les expriences cites plus haut. Le fait de ne rien dcouvrir de neuf pourrait tre d deux
raisons : le plafonnement (les techniques actuelles utilises dans ce domaine ne permettent pas daller
plus loin), et laspect secret dune telle dcouverte (la mise sur pied dun ordinateur quantique puissant
donnerait un pouvoir norme celui le dtenant).
Il existe tout de mme une solution pour rendre les communications plus sres, mme face lordinateur quantique : la cryptographie quantique. Celle-ci ne permet pas dviter linterception, mais permet
de la dtecter.
12.2
12.2.1
La cryptographie quantique
Fondements et principes
136
12.2.2
Polarisation de photons
Chaque photon peut tre polaris, cest--dire quil est possible dimposer une direction son champ
magntique. Cette polarisation des photons est mesure par un angle variant de 0 180. Par simplification des modles thoriques, on considre souvent 4 angles prcis : 0, 45, 90 et 135.
On parlera de polarisation rectiligne pour les angles de 0 et 90 (pour lesquelles on utilisera des
filtres ou bases standards), et de polarisation diagonale pour les angles de 45 et 135 (filtres ou bases
diagonales). Pour la dtection, on aura recours un filtre (ou base) polarisant(e) et un dtecteur de
photons. Ce type de filtre permet la lecture de photons polariss dune certaine manire. En consquence,
il bloque les photons polariss dans la direction perpendiculaire.
Dans lillustration 12.1, le filtre est positionn de telle sorte quil laisse passer les photons polariss
0et par consquent, bloque les photons polariss 90. On est donc ici en prsence dun filtre standard.
12.2.3
A la suite de ce filtre, il est ncessaire dutiliser un outil permettant de dtecter ces photons. On parle
de photodtecteurs.
Soit un angle pour le photon dtecter. Aprs un passage dans un filtre standard, le photodtecteur
plac sa suite dtectera le photon avec une probabilit de cos2 et de ne pas le dtecter avec une
probabilit de sin2 .
137
12.2.4
Soient Alice et Bob, souhaitant se transmettre une cl secrte sous forme binaire. Deux canaux sont
disponibles : un canal quantique pour lenvoi de la cl, et un canal non protg (canal radio par exemple)
pour la vrification de la cl. Alice met des photons polariss et Bob mesure alatoirement leur polarisation (rectiligne ou diagonale).
En moyenne, une mesure sur deux sera sans intrt, puisque priori, Bob ne connait pas lorientation
des filtres utiliss par Alice. Lexemple est illustr par la figure 12.4.
A la fin de la transmission, Bob possde un ensemble de bits, formant la cl brute. Aprs vrification
sur la canal non protg, seuls les bits 1,3,4 et 7 seront valables et constitueront la cl tamise.
12.2.4.1
138
A la suite dune interception, le pirate doit rmettre un photon polaris comme celui quil aura lu.
Bob ayant reu lentiret des bits, il communique avec Alice pour connatre lorientation des filtres.
Une fois les mauvaises mesures cartes, ils dcident de tester au hasard quelques bits de leur cl. Par
"tester un bit", il faut entendre : communiquer la valeur du bit sur le canal non protg. Ce canal tant
publique, les bits sont considrs perdus.
Dans lexemple de la figure 12.5, en testant le troisime bit, ils se rendent compte de lcoute. Pour un
nombre assez lev de tests, la scurit est absolue (ou tout du moins considre comme telle).
139
12.2.4.2
Le premier problme auquel il a fallu faire face est la manipulation de photons isols. Alors quactuellement cela est possible, il a fallu rus lpoque. La solution envisage fut de travailler partir
dimpulsions de photons, courtes et polarises, la modification de polarisation se faisant trs rapidement
grce une Cellule de Pockels.
140
En pratique
12.3
Conclusions
Bien que reposant sur des lois de Physique quantique relativement abstraites pour le commun des
mortels, la cryptographie quantique trouve ses fondements dans des concepts bien plus srs que la cryptographie classique". Cette dernire, se fiant uniquement une puissance de calcul limite ne permettant
pas de rsoudre rapidement des problmes complexes, pourrait bien disparaitre dans quelques dcnnies
(annes ?) si lon parvient mettre au point des ordinateurs quantiques grande chelle.
141
Chapitre 13
La cryptanalyse
Il sagit de ltude des mcanismes thoriques ou techniques visant briser (casser) un algorithme de
chiffrement, cest--dire le fait de retrouver le message M partir de C, sans connatre la cl K a priori.
Dans certains cas, il sagira galement de retrouver cette cl K.
On parlera d"attaque" cryptanalytique. Il en existe 4 grands types, chacun pouvant utiliser diffrentes techniques. Ce chapitre prsentera ensuite quelques attaques souvent voques dans la littrature
spcialise dans le domaine de la cryptologie.
13.1
13.1.1
A partir dun texte chiffr, on recherche le texte clair et/ou la cl. On procde par analyse de frquence
des lettres utilises dans le texte chiffr. Cette technique ne fonctionne que pour la plupart des chiffrements
classiques basiques, les seuls permettant lutilisation de lanalyse de frquence. On peut aussi galement
procder par force brute pour briser de tels chiffrements.
13.1.2
Etant donn un texte chiffr et un fragment de texte clair associ, on recherche le texte clair restant
et/ou la cl. On utilise la technique dite de la cryptanalyse linaire (1993) prsente rapidement dans la
section suivante.
13.1.3
Etant donn la capacit de chiffrer un fragment de texte clair choisi arbitrairement, on recherche la
cl par la technique de la cryptanalyse diffrentielle.
13.1.4
Etant donn la capacit de dchiffrer un fragment de texte chiffr choisi arbitrairement, on recherche
la cl.
142
13. LA CRYPTANALYSE
13.2
13.2.1
Le principe est ici de tester toutes les cls possibles de manire exhaustive. La limite maximale est
donne par
TN
avec T reprsentant la taille de lalphabet, N est la taille de la cl. Par exemple, pour une cl de 128
bits, il y a 2128 cls possibles. Cette technique nest efficace que pour des textes chiffrs avec une cl
relativement courte.
Sur la figure 13.4, la ligne rouge indique la limite actuelle conseille. Un cl de 56 bits nest plus
utiliser aujourdhui si lobjectif premier est la confidentialit. Les algorithmes symtriques actuels utilisent
en standard des cls variant entre 112 (3DES) et 256 bits (AES).
Remarques
Un algorithme est dit cass quand il est possible de retrouver la cl en effectuant moins doprations
quen utilisant la force brute.
Un algorithme cass est moins sr, mais pas inutile pour autant. Il faudra veiller son utilisation si
on souhaite assurer la confidentialit des donnes, mais rien nempche de lutiliser dautres fins.
R. Dumont - Notes provisoires
143
13. LA CRYPTANALYSE
13.2.2
Lorsque la cl est un mot (p.ex. un mot de passe), on peut tenter de court-circuiter la Force Brute.
Le principe est ici dutiliser un recueil de mots possibles (le dictionnaire), et de tester tous les mots de
ce dictionnaire.
Attention bien distinguer les deux attaques : on teste tous les mots du dictionnaire mais celui-ci
ne contient pas toutes les possibilits. Par exemple, on pourra y trouver "unie", "unir" et "unis", mais
pas "unih" (pour autant quil sagisse dun dictionnaire de mots existant dans la langue franaise).
13.2.3
Analyse de frquence
Cette analyse repose sur lobtention dindices prcieux : quelle est la langue utilise ? quelle est le
thme du texte ?
Il faut toutefois que la taille de K soit infrieure la taille de C, au risque de ne pas permettre
lunicit de la solution. Il faut aussi que le texte C soit suffisamment long pour tre reprsentatif. Et
enfin que lalgorithme utilis soit une substitution simple (mono- ou polyalphabtique).
13.2.4
Cryptanalyse diffrentielle
Il sagit de ltude (modlisation) des transformations subies par le message durant son passage dans
lalgorithme de chiffrement. Le principe est de modliser ce quune modification en entre induira sur le
rsultat de lalgorithme.
13.2.5
Cryptanalyse linaire
Le but est deffectuer une approximation linaire de lalgorithme de chiffrement. Il ny a ici aucune
possibilit de choisir le texte clair chiffrer, on dispose tout au plus dun ensemble de couples (M, C).
On tente alors de dcouvrir une expression de la forme
Mi1 Mi2 . . . Miu Cj1 Cj2 . . . Cjv = 0
avec Mi reprsentant le ieme bit de M = [M1 , M2 , . . . Mu ] et Cj reprsentant le j eme bit de C =
[C1 , C2 , . . . Cv ]. Si cest le cas, et selon la probabilit doccurrence de lexpression, on peut dduire des
faiblesses de lalgorithme (en termes de transformations alatoires).
Remarques
Cryptanalyses diffrentielle et linaire sont des outils parfaits pour comparer la rsistance de divers
chiffrements. Aucun algorithme cryptographique nest dit valable sil ne rsiste pas ce type de cryptanalyse.
La rsistance ces attaques ne signifie pas rsistance contre toutes les autres mthodes inconnues.
Sans une connaissance approfondie des techniques de cryptanalyse, il nest pas possible de crer un
algorithme de chiffrement performant, sr et robuste.
R. Dumont - Notes provisoires
144
13. LA CRYPTANALYSE
13.2.6
Meet-In-The-Middle
Cette attaque est souvent illustre par lattaque ayant dmontr les faiblesses du DES. Nous allons ds
lors reprendre les explications fournies dans le chaitre vu prcdemment. Pour rappel, le 2DES fonctionne
de la manire suivante
C = EK2 (EK1 (M ))
On suppose que lattaquant dispose dun couple (M,C).
Il chiffre M avec les 256 cls f dun cot et dchiffre C avec les 256 cls g de lautre.
Lorsque Ef (M ) = Dg (C), il sait quil a dcouvert les 2 cls utilises.
13.2.7
Man-In-The-Middle
Souvent confondue avec lattaque prcdente en raison de son acronyme (MITM), elle est pourtant
trs diffrente dans les faits.
Son droulement est illustr la figure ci-dessous : le pirate se fait passer pour B auprs de A et pour
A auprs de B.
13.2.8
145
13. LA CRYPTANALYSE
La liste tablie prcdemment nest bien videmment pas exhaustive. Il existe un trs grand nombre
dautres attaques, souvent plus spcifiques un algorithme particulier.
13.3
13.3.1
Nous avons dj trait le cas des attaques par le paradoxe de lanniversaire (Birthday Attack). Celuici consistait traiter les variations dun texte clair et dun texte frauduleux pour dterminer un texte
frauduleux de susbtitution.
13.3.2
Le compromis temps-mmoire
Lapproche est ici radicalement diffrente. Il ne sagit plus de substituer une chaine par une autre
tout en conservant un mme hach, mais bel et bien de retrouver la chaine initiale, ayant donc servi
crer un hach donn. En dautre termes, retrouver le x dans H(x) = h, H et h tant connus.
Ce type dattaque est principalement utilis dans le contexte du cassage de mots de passe : on voudrait retrouver le mot de passe correspondant un hach donn, sachant que la plupart des systmes de
protection par mot de passe (notamment les OS) fonctionnent par comparaison du mot de passe entr
par lutilisateur avec le hach du mot de passe attendu (hach cr lors de la dfinition de ce mot de
passe et stock en clair dans lOS).
A priori, il y a deux solutions :
Tester tous les textes clairs possibles (mais selon la taille, cela demanderait trop de temps)
Stocker tous les rsultats (mais demanderait trop despace mmoire)
La solution intermdiaire porte ainsi le nom de compromis temps-mmoire. Une nouvelle notion entre
en ligne de compte : la Fonction de Rduction (R). Elle consiste en le processus inverse dune fonction de
hachage : elle fournit un texte clair partir dun hach donn. Il sagira dune fonction spcifique mais
dont le rsultat devra tre pseudo-alatoire (par exemple, le fait de prendre les premiers caractres du
hach).
13.3.2.1
Soit une chaine de dpart. Le principe consiste lui appliquer en alternance un certain nombre de
fois (ici, 3) une fonction de hachage puis une fonction de rduction (voir fig.13.6). Une table est conserve
en mmoire et constitue des premires et dernires chaines respectives (on parle de point de dpart et
darrive de chaines). Do le terme de compromis.
146
13. LA CRYPTANALYSE
Pour un hach donn, lalgorithme de cassage est le suivant :
1. On calcule sa rduction
2. Le rsultat est-il dans la dernire colonne ?
Oui, on recalcule la chaine partir de son point dentre, et on obtiendra la chaine initiale
correspondant au hach donn.
Non, on lui applique H puis on retourne 1.
On stoppe le processus une fois que le nombre de rductions appliques sur le hach donn atteint le
nombre de rductions prsentes dans une chaine (ici, 3). Si aucun rsultat nest obtenu, cest que notre
table nest pas assez complte (dans le cas dune table non-exhaustive telle celle de la figure 13.6).
Le problme dans lexemple prcdent est quil est frquent de se trouver en prsence dune fusion de
chaines, cest--dire au fait quune rduction correspond plusieurs hachs. Ce cas est invitable lorsque
la fonction de rduction produit un rsultat de taille infrieure la taille des hachs.
La solution consiste utiliser des fonctions de rduction diffrentes chaque tape intermdiaire. Les
fusions sont alors beaucoup moins probables puisquil faudrait que le mme mot de passe apparaisse au
mme endroit dans deux chaines distinctes.
13.3.2.2
147
13. LA CRYPTANALYSE
13.3.2.3
Contre-mesure
On peut se prmunir de ce type dattaque en utilisant une nonce (que lon appelle ici sel, ou salt en
anglais). Ce sel est une donne supplmentaire, non secrte. On applique alors lalgorithme de hachage
la concatnation du mot de passe avec ce sel :
h = H(mdp||nonce)
Au niveau de lattaque, cela a pour consquence dobliger lattaquant crer des tables arc-en-ciel spcifiques. En effet, pour une nonce de 16 bits, on obtiendra 65536 possibilits pour chaque hach.
En pratique, on utilisera, en plus de la nonce, des fonctions de hachage spcifiquement lentes, ce qui
ralentira encore la cration de ces tables.
Des prcisions quant aux tailles des tables et limpact sur les cots supplmentaires engendrs pour
le pirate sont disponibles ici1 et l2 .
13.4
Une famille dattaques nest pas base sur les donnes elles-mme, mais plutt sur leur environnement.
On les appelle les attaques par canaux auxiliaires, ou Side Channel Attacks.
Plus prcisment, le principe de telles attaques est dtudier laspect physique dun cryptosystme
sous diffrents angles au lieu dtudier son aspect logique (algorithmique, mathmatique).
On peut classer ces attaques de diffrentes faons :
Actives ou passives :
1. Actives : tenter de modifier le comportement de llment (par exemple en induisant des erreurs)
2. Passives : observer le comportement de llment sans chercher la modifier.
Invasives ou non-invasives :
1. Invasives : ouvrir le systme (puce, smartcard, etc.) pour accder aux composants (cellules mmoires, bus, etc.)
2. Non-invasives : recueillir linformation depuis lextrieur sans modifier llment.
Ces catgories ne sont pas exclusives : une attaque peut tre active et invasive, ou inversment.
De nombreux types dattaques appartiennent cette branche de la cryptanalyse :
Fault Induction Attack [5] : elle consiste modifier lenvironnement du cryptosystme afin de
provoquer dventuelles erreurs, celles-ci pouvant fournir des informations (stacktrace, etc.).
On peut par exemple faire varier la temprature, le voltage, la frquence, induire des champs magntiques intenses, . . .
Optical Fault Induction Attack [6] : Grace un faisceau lumineux, il est possible de modifier
le contenu des cellules mmoire.
Power Analysis Attack : analyser la consommation lectrique des composants durant une phase
de calcul.
Timing Attack : valuer les temps de calcul ncessaires (cf. RSA)
Electromagnetic Analysis Attack : tude du rayonnement lectromagntique dun systme afin
de connatre les donnes traites et les calculs raliss. Une exemple trs connu de ce type dattaque
est dnomme Tempest Attack.
Acoustic Analysis Attack : couter et analyser les sons produits par le processeur (ou cryptoprocesseur) durant ses calculs [7], ou le bruit des touches durant la frappe dun mot de passe [8].
1 http
2 http
://www.codinghorror.com/blog/archives/000949.html
://chargen.matasano.com/chargen/2007/9/7/enough-with-the-rainbow-tables-what-you-need-to-know-about-
s.html
148
13. LA CRYPTANALYSE
13.5
En guise de conclusion
149
Chapitre 14
Modle de Lampson
En 2001, Butler Lampson a prsent un modle [15] mettant en vidence les relations entre les diffrentes entits relles dun systme daccs aux donnes. Avant de voir un peu plus en dtails les 3
mthodes daccs principales existantes, nous allons donc prsenter son modle.
Lampson dfinit les entits de son modle comme suit :
Sujet = Entit pouvant effectuer des actions (humain, processus, machine,. . . )
Objet = Entit considre comme ressource ncessitant un contrle daccs (fichier, rpertoire,
port,. . . )
Action = Opration effectue par le sujet afin daccder lobjet
Gardien = Entit contrlant laccs proprement dit
requte
afficher une page web
envoi de paquet
ouvrir un fichier
DBMS
Serveur Web
firewall
security manager Java
Base de donnes
Page web
intranet
fichier
150
14.2
Trois techniques principales existent. De nombreuses mthodes en sont drives mais ne seront quen
partie voques, toutes pouvant tre rapproches de lune ou lautre des 3 mthodes voques ci-dessous.
14.2.1
Laccs est dtermin par le propritaire de lobjet. Celui-ci dtermine qui (sujet) peut utiliser lobjet,
et comment (action) il peut lutiliser.
On part du principe que tous les objets ont un propritaire (qui sera souvent le sujet qui aura cr
cet objet).
Quelques variantes de ce type daccs permettent un transfert de proprit ou la dlgation dun droit
entre utilisateurs non propritaires.
Cette mthode daccs est celle rencontre la plupart du temps dans les systmes dexploitation
courants (Linux, Windows). Le principe est dassocier une liste de contrle daccs chaque fichier. On
parle dACL (Access Control List).
Cette ACL renferme un certain nombres dentres (Access Control Entry - ACE). Le dtail des accs
permis ou refus est mentionn.
Exemple dACL lie un objet T :
ACE1 : Lutilisateur A peut le lire
ACE2 : Lutilisateur B ne peut pas le modifier
ACE3 : . . .
14.2.2
Il sagit ici de contrler laccs en se concentrant sur les flux de donnes. Laccs est dtermin par le
systme.
Chaque sujet possde un label lui donnant un niveau de confiance.
Chaque objet possde un label permettant didentifier le niveau de confiance requis pour lutiliser.
Le sujet doit avoir un label suprieur ou gal celui de lobjet.
Cette mthode est beaucoup plus sre, car elle ne dpend plus du propritaire. Imaginez les pertes
potentielles si le propritaire dun objet sensible venait donner laccs (volontairement ou non) tous
151
14.2.3
Laccs est ici aussi dtermin par le systme. Cette mthode daccs est rgulirement utilise en
entreprise, ou chaque personne possde un rle particulier qui lui donne accs certaines informations.
Le rle va permettre dattribuer un ensemble de permissions un type dutilisateurs.
Plusieurs utilisateurs peuvent avoir le mme rle.
Un utilisateur peut avoir plusieurs rles, quil pourra activer au besoin.
Cette mthode est plus facile mettre en oeuvre que le DAC pour la simple raison quil suffit de
changer de rle lorsque cela savre ncessaire (au lieu de modifier les accs pour chaque fichier).
Il existe plusieurs variantes cette mthode :
Utilisation de rles hirarchiques : un rle "hirarchiquement suprieur" possde toutes les permissions des rles "infrieurs".
Contrle des activations simultanes des rles : plusieurs rles peuvent selon les cas est autoris
simultamment pour un mme utilisateur.
R. Dumont - Notes provisoires
152
Ce type daccs aux donnes apparait trs proche de ce que nous connaissons sous Windows notamment, par lintermdiaire de la gestion des comptes utilisateurs. Cette filiation nest pas anodine puisquil
est en effet possible de simuler un systme RBAC en utilisant la notion de "groupes utilisateurs". En
ralit, il sagit dun DAC cach.
Windows utilise des ACL spcifiant les accs par groupe.
ACE1 : Le groupe A ne peut pas lire le fichier,
ACE2 : Le groupe B peut modifier le fichier,
...
14.3
Sans prter attention au type de contrle daccs mis en place, sil y a bien un domaine o la scurit
peut faire dfaut, cest dans la gestion des mots de passe utilisateur. Mais que peut-on dire ce sujet ?
14.3.1
Lors de la cration du mot de passe, une attention particulire doit tre porte sur certains points :
Si un gnrateur de mots de passe est utilis, il devra employ une grande varit de caractres
(pour le rendre plus robuste la force brute).
153
Les besoins en scurit tant ce quils sont, la difficult majeure aujourdhui est que le nombre de mots
de passe ne cesse de crotre. Leur mmorisation reste donc problmatique. Quelques solutions existent
cependant :
1. Hardware : utiliser des cls usb comme accs aux donnes. Le problme est que cest alors la cl
qui authentifie, et non lindividu. De plus, que faire en cas de perte de la cl ?
2. Software :
utiliser un logiciel de gestion de mots de passe : un seul mot de passe (ou une phrase de passe)
pour stocker tous les autres. Mais que faire en cas doubli du mot de passe maitre ?
utiliser la saisie semi-automatique. Mais quid en cas de formatage, virus, etc. ?
3. Au niveau de lOS : une solution avance est connue sous le nom de SSO (Single Sign On). Le fait de
se logguer sur une machine permet daccder toutes les donnes. Une seule phase dauthentification
a donc lieu, et si elle russi, lutilisateur est libre dagir avec les donnes et logiciels correspondant
ses droits, sans avoir donner son mot de passe chaque accs. une application connue base
sur un principe similaire porte le nom de Kerberos (authentification dutilisateurs sur les machines
dun rseau)
Avantages :
Les mots de passe de ces logiciels ne doivent plus tre retenus (gain de mmoire)
Les mots de passe de ces logiciels ne doivent plus tre taps (gain de temps)
Un seul mot de passe retenir
Gestion administrateur en cas de perte
Dsavantages :
Un seul mot de passe retenir. A nouveau, que faire en cas de divulgation ou doubli ?
Ncessite une authentification forte " lentre" pour sassurer de lidentit lutilisateur loggu
Une autre possibilit, mais qui nest pas utilisable dans toutes les conditions, porte le nom de One
Time Password (OTP).
14.3.2
Le mot de passe ici gnr ne reste valable que pour une dure dtermine. Deux mthodes coexistent :
1. Mthode synchrone : Fonction du temps (Time-synchronous)
2. Mthode asynchrone : En rponse un "challenge" (Challenge-response)
R. Dumont - Notes provisoires
154
Mthode synchrone
14.3.2.2
Mthode asynchrone
14.3.3
Conclusions
Un bon mot de passe doit notamment (et principalement) tre la fois facile retenir (pas besoin
de le noter), et utiliser des caractres spciaux, de casse diffrente (ce qui rend rend la force brute plus
fastidieuse et lattaque par dictionnaire presque impossible).
Idalement, un mot de passe devra tre :
Long,
Unique,
Complexe,
Modifi rgulirement,
Mmoris
155
Chapitre 15
Scurit logicielle
Avec Internet, de nombreux problmes surgissent concernant la scurit des utilisateurs, mais galement des donnes de ces utilisateurs. Nombreux sont les internautes nayant aucune notion de scurit,
et qui, mme sils connaissent les termes "Virus" ou "Trojan", ne savent comment sen protger.
Pour tout problme ayant trait la scurit, il faut dabord comprendre comment fonctionnent ces
intrus, avant de pouvoir apporter une solution.
15.1
Introduction
Alors quInternet se dmocratise et se popularise, de nombreux logiciels sont mis la disposition des
utilisateurs pour raliser ce type dattaques. Les crateurs de ces logiciels ont souvent des raisons bien
prcises. Parmi les plus courantes, on peut citer :
Par dfi personnel : nombreux sont les crackers nagissant que par plaisir, afin de "prouver au
monde" leurs capacits
Pour des raisons politiques
Pour des raisons dogmatiques
Pour voler de linformation (espionnage industriel)
Pour modifier des informations
Par vengeance
Il est toutefois primordial de prciser la tendance actuelle. On assiste une vritable rvolution dans
lidentit et lobjectif des hackers. Ainsi, aujourdhui, daprs une tude de la socit Kaspersky Labs, les
hackers issus des pays tels que le Brsil, la Chine ou la Russie agiraient plutt comme de vritables criminels, dans le but dextorquer de largent ou des renseignements confidentiels. Au contraire, en Europe,
on assiterait plutt une simple tude des techniques de hacking, destine lapprofondissement global
156
157
15.2
Leurs crateurs agissent souvent par dfi personnel, afin de prouver la communaut quil ont acquis
une quantit suffisante de connaissance pour voler, modifier, ou dtruire certaines donnes.
15.2.1
Les virus
Les virus se dfinissent par une portion de code, non ncessairement destructrice, capable de se reproduire sur lordinateur cible et/ou de se propager sur dautres supports (ordinateur, disquettes, ...). Cette
reproduction est dailleurs le seul vritable objectif dun virus, laspect destructif tant propre aux bombes
logiques, explicites ci-aprs. Ils portent galement le nom de CPA, pour Code Parasite Autopropageable.
Ces virus peuvent se propager de nombreuses manires, telles que par lintermdiaire dune disquette,
dune pice jointe un mail, ou encore dun fichier tlcharg sur Internet.
Historiquement, les virus sont ns dun jeu entre concepteurs de lentreprise Bell AT&T. Dans les
annes 70, certains programmeurs avaient coutume de saffronter la "Core War". Le principe tait que
chaque programmeur devait crer un mini-logiciel, afin que ceux-ci saffrontent dans un espace mmoire
dtermin. A la suite de ce jeu, plusieurs articles sont parus expliquant les principes et les objectifs du
jeu. Certains programmeurs en herbe se sont alors mis en tte de raliser le mme type de logiciel, mais
des fins moins ludiques.
15.2.1.1
158
15.2.2
Les vers
Ils sont souvent confondus avec les virus mail. La diffrence a opr entre les deux termes est que
le second implique une intervention humaine dans son dploiement (excution dune pice jointe par
exemple).
Les vers sont moins rpandus que les virus mail, de par leur complexit de mise en place (analyse des
failles du systme sur lequel il se situe, copie du ver sur la machine cible, ...). Un ver se propage entre les
htes dun rseau (de nimporte quel type) en exploitant les failles de scurit de ces htes. On trouvera
parfois des vers saccompagnant dune bombe logique.
Le premier ver recens en tant que tel fut crer par Robert Morris, fils du directeur de la NSA, en
1988. Nomm "Internet Worm", il posa normment de problmes sur Internet (qui nen tait qu ses
dbuts). Bien quil ne fasse aucun dgt, tous les serveurs furent mis en quarantaine pour vrification.
Tout le rseau fut paralys en moins de 24 heures. A la suite de cette attaque (si on peut vritablement
la considrer comme une attaque), apparut le CERT, groupe grant les failles de scurit dInternet.
15.2.2.1
La plupart du temps, les vers nont dautres utilits que la destruction (sils saccompagnent dune
bombe logique), et la congestion du rseau. Malgr tout, le ver a parfois dautres utilisations :
Le ver cr par Morris navait dautre but que dexplorer Internet. Il est vrai que ce rseau tait
relativement restreint lpoque. Aujourdhui, cette application ne semble plus ralisable.
Certaines entreprises utilisent galement des vers pour tester la scurit de leur rseau intranet.
Le ver tentant de sinfiltrer sur les machines distantes par lintermdiaire des failles du rseau, sil y
parvient, cela signifiera que le rseau de lentreprise nest pas scuris.
15.2.2.2
159
Avant dinfecter un systme, le ver doit procder dans lordre une srie dtapes. Ce nest qu la
suite de celles-ci quil pourra attaquer la machine cible. La succession dtapes est la suivante (et ne
concerne que la partie "vecteur" jusqu la phase dinvasion) :
1. Initialisation : ce sont les premires instructions du ver. Il peut sagir de la cration de fichiers
temporaires, ou la compilation dune partie de larchive. A cet instant, le ver est toujours sur la
machine mre.
2. Recherche de lhte : Cette tape procde un scan dIP. Ce scan peut tre alatoire ou incrmental (on passe en revue des sries dadresses IP). Pour chacune dentre elles, on teste si le
systme rpond ou non ("up" ou "down").
3. Identification de lhte : une fois une victime potentielle dtecte, le ver (la partie vecteur) va
tester le systme en place sur la machine distante. Il sagira de vrifier si le systme possde des
failles pouvant tre exploites par le ver, si il possde un compilateur appropri, ... Si ce nest pas
le cas, on retourne ltape prcdente.
4. Attaque : cest ici que le ver exploite les vulnrabilits mises au jour dans la phase prcdente. Le
vecteur obtient alors un accs sur la machine cible.
5. Invasion : Le vecteur est maintenant prsent sur la machine cible, mais nest pas encore actif. Les
instructions sont toujours donnes par la machine mre. Ds cet instant, le vecteur va rappatrier la
partie archive sur le systme infecter. Deux techniques sont possibles :
Soit le vecteur est toujours accompagn de sa partie archive, auquel cas larchive est prsente
sur la machine tout moment, le vecteur uploadant son archive de machines en machines. Cette
technique est un peu plus complexe raliser car le vecteur doit avoir t programm pour
transmettre cette archive.
Soit le vecteur doit rappatrier la partie archive. Ce rappatriement se fait partir de la machine
mre, ou depuis un serveur fixe (de type FTP) et unique pour toutes les machines (mais dans ce
cas, lattaque se terminera si le serveur tombe en panne). Cest beaucoup plus facile raliser,
mais galement plus dangereux car lutilisateur pirat pourra plus facilement tracer le ver.
Si larchive est sous forme de sources, le vecteur devra galement procder la dcompression et
la compilation de ces sources avant de passer la phase suivante.
6. Reproduction : ici aussi, deux possibilits existent pour permettre la reproduction du ver :
Soit on tue le ver prsent sur la machine mre. Le ver se dplacera alors de stations en stations.
Soit on ne le tue pas et chacun des deux vers continue se propager selon la mthode dcrite
ci-dessus. Ce choix provoque une tendue exponentielle du ver et est logiquement plus dangereuse
que la prcdente.
160
15.2.3
Ce type de programme est plus subtil, car ils se dissimulent dans un fichier anodin, et ne semblent
mme pas exister aux yeux de lutilisateur.
Les chevaux de Troie (ou Trojan) sont les attaques par logiciel les plus frquentes aujourdhui, leur
propagation tant relativement aises, de par la navet de nombreux utilisateurs dInternet.
Un trojan nest priori pas destructeur comme peut ltre un virus. Cependant, ils sont parfois
associs une bombe logique, ce qui le rend dangereux. Les effets peuvent alors tre trs varis, de la
destruction de fichiers une congestion mmoire, en passant par linstauration dune attaque DDoS.
Le cheval de Troie possde souvent un objectif tout autre, savoir la cration dune backdoor (ou
"porte drobe"). Cette backdoor sera alors le point dentre dun pirate qui pourra sa guise recueillir
des informations diverses propres lutilisateur (mot de passe, accs la base de registre, fonctions
keylogger, ...) ou interagir directement avec lordinateur (arrt/redmarrage de la machine, dconnexion
dun rseau, blocage de priphriques, impression de documents, ...).
Enfin, la diffrence dun virus ou dun ver, le trojan ne se reproduit pas. Il est ainsi plus difficile
de le dtecter car il na pas de signature semblable celle dun virus. Les trojans sont souvent furtifs, et
utilisent des noms de programmes communs1 pour viter leur dtection.
15.2.3.1
Comme dans le cas dun ver, le cheval de Troie doit passer par plusieurs tapes pour tre utilisable
par le pirate :
1. Intrusion sur lordinateur cible : les trojans se rpandent souvent par pice jointe (par exemple :
cran de veille).
2. Modification de lOS : une fois introduit, il va modifier les fichiers systmes ncessaires son
fonctionnement. Les fichiers modifis sont principalement ceux rgissant la phase de dmarrage de
lOS. Le trojan sera alors charg lors du prochain dmarrage.
3. Phase dcoute : le trojan en tant que tel nest pas dangereux. Il ne fait qucouter les instructions
du pirate. Ainsi, une fois le systme redmarr, le trojan passe une phase dcoute, dans laquelle
il attend les commandes du pirate distant.
4. Intraction avec le pirate : le trojan sert de "porte daccs" au pirate. Toutes ses commandes
passeront par son intermdiaire.
15.2.3.2
Comme cit prcdemment, un trojan na pas pour vocation de se reproduire. Lantivirus ne pourra
donc pas scanner sa signature.
Cependant, les trojans sont souvent rutiliss par les pirates. La plupart dentre eux sont donc connus
des logiciels antivirus, et ces derniers peuvent relever des traces (ports utiliss, excutables, ...) pour les
identifier. La table 15.1 donne quelques ports utiliss par certains trojans.
Le problme se pose avec les trojans dont le code source est diffus sur Internet. De ce fait, il existe de
nombreuses versions dun mme trojan, donc les traces sont diffrentes entre chaque variante. Lantivirus
devra donc relever non plus des caractristiques connues, mais des indices afin de dtecter leur activit.
Ainsi, si lantivirus dtecte des ports ouverts suspects, tels que des numros de ports alatoires, il pourrait
en conclure un trojan.
Certaines variantes de trojans ont contourn la difficult en utilisant des ports communs (port ftp,
irc, telnet, ...), et si lantivirus ne ragit pas, il faudra que lutilisateur y prenne garde.
Dans certains cas, le pirate utilisera le trojan comme une passerelle pour attaquer un rseau entier.
Dans ce cas, il faudra galement procder une analyse de trafic, pour par exemple dtecter un scan de
ports.
1 winamp5.exe,
zip.exe, etc.
161
...
Unin68
Kryptonic Ghost Command Pro
AutoSpY
Back Orifice 2000
Fear
FraggleRock Lite
Alicia
Whirlpool
Whirlpool
Dark IRC
...
15.2.4
Ces bombes nont pas, priori, la possibilit de se reproduire. Cest pourquoi elles sont souvent associes des vers ou des chevaux de Troie. Alors quinitialement un ver et un trojan ne font pas de dgat
(le ver se reproduit de machine en machine, et le trojan ouvre un accs), il peut arriver que certains
dentre eux provoquent de gros dgts, semblables ceux dun virus. Une autre diffrence entre virus et
bombe est que la bombe est toujours destructrice (do son nom).
La bombe logique est une portion de code qui, comme son nom lindique, explosera un moment
voulu (aprs un temps dtermin suivant linstallation dun logiciel, une date prcise, aprs une action
de lutilisateur, ...). Dans le cas dun cheval de Troie associ un cran de veille, la bombe logique pourra
exploser aprs quelques heures de veille, ainsi, il y aura de fortes chances que lutilisateur ne soit plus
prsent devant son cran. Lidal est que la bombe nexplose pas directement aprs linstallation du logiciel, et ce pour viter quelle ne soit trop rapidement dtecte.
Certaines bombes logiques peuvent aussi exploser un moment prcis dtermin. Ainsi, la bombe
logique "Tchernobyl" tait de ce type, et, aprs stre rpandue sur de nombreuses machines, a explos
le 26 avril 1999, date du treizime anniversaire de la catastrophe du mme nom. Une telle bombe porte
le nom de Bombe temporelle ou Bombe retardement.
15.2.5
Les intrusions
Avec lextension des parcs informatiques, il est de plus en plus ncessaire daugmenter le niveau de
scurit qui leur est attribu. A cot des systmes dchanges cryptographiques et de contrle daccs, il
peut tre utile danalyser les flux internes et/ou externes du rseau.
A la diffrence des virus, vers et trojans, les attaques bases sur les failles de systme (ou du rseau)
sont souvent plus complexes mettre en place. Elles serviront la plupart du temps mettre en place une
attaque ultrieure.
Il existe des dizaines voire des centaines dintrusions si on tient compte des modifications possibles. Les
consquences peuvent tre trs varies, allant dun simple redmarrage une totale congestion du rseau
en passant par un plantage systme.
On citera par exemple les attaques DoS, DDoS, PortScan, DNS Poisoning, Ping Flooding, ou encore
lOS FingerPrinting2 .
2 Voir
162
15.3
15.3.1
Il est intressant de noter quune fois un fichier infect, il ne lest jamais deux fois. En effet, un virus
est programm de telle sorte quil signe le fichier ds quil est contamin. On parle ainsi de signature
de virus. Cette signature consiste en une suite de bits appose au fichier. Cette suite, une fois dcele,
permettra de reconnaitre le virus.
Lorsque le virus est dtect par lantivirus, plusieurs possibilits sont offertes pour lradiquer.
Supprimer le fichier infect
Supprimer le code malicieux du fichier infect
Placer le ou les fichiers infects en "quarantaine" pour un traitement futur.
Malgr tout, il existe plusieurs catgories de virus compliquant leur propre dtection :
Les virus polymorphes : Puisque les antivirus se basent sur la recherche de signature, les crateurs de virus ont labor une mthode de camouflage. Celle-ci rside dans le fait de chiffrer la signature
inscrite dans le fichier infect, de manire rendre leur dtection et leur identification plus complexe
pour les antivirus. Ainsi, pour chaque fichier infect, la signature aura une apparence diffrente. Lantivirus doit dans ce cas se baser sur la mthode de chiffrement utilise et dtecter les correspondances
dans cette mthode de chiffrement pour pouvoir identifier un fichier infect par tel ou tel virus.
Les virus dfensifs ou rtrovirus : Ces virus ont la particularit de pouvoir modifier les signatures de certains antivirus afin de rendre les dtections impossibles par leur intermdiaire.
Les virus mutants : La majorit des virus ne sont en ralit que des rcritures de virus originaux.
Ces rcritures, qui portent le nom de variantes, restent pourtant uniques pour lantivirus, car ce dernier
doit toujours dtecter la signature, qui elle, est diffrente pour chaque variante.
Les virus furtifs : Ils peuvent restaurer la taille initiale des fichiers aprs leur infection.
La dtection des virus
La guerre entre virus et antivirus est bien relle. Ds quun clan agit, le camp oppos tente de trouver
la parade. Pour dtecter les virus, les antivirus doivent user de plusieurs techniques :
Le scanning des signatures : La dtection des virus consiste en la recherche de ces signatures
partir dune base de donnes de signatures (on parle galement de dfinitions de virus). Le principal
avantage de cette technique est quil est possible de dtecter le virus avant quil ne soit en action. Cependant, il est ncessaire que sa signature soit prsente dans la base de donnes afin quil soit dtect.
De plus, il est ncessaire de tenir la base rgulirement jour afin de pouvoir dtecter les nouveaux virus.
Le contrleur dintgrit : Le principe est que lantivirus maintienne une liste des fichiers excutables associs leur taille, leur date de cration, de modification, voire un CRC. Lutilisation du
CRC permet de vrifier quun excutable na pas t modifi en comparant sa somme de contrle avant
et aprs son excution. En effet, en dehors dune mise jour explicite du fichier, un fichier excutable
nest pas sens tre modifi. Le mme type de vrifications peut tre instaur avec la date et lheure
de modification. Cependant, il suffira aux virus de mmoriser ces valeurs afin de pouvoir les restaurer
par la suite.
Le moniteur de comportement : Il sagit ici de contrler en continu toute activit suspecte telles
que les lectures et critures dans des fichiers excutables, les tentatives dcriture dans les secteurs de
partitions et de boot du disque.
163
15.3.2
Ces logiciels, souvent appels IDS3 , sont utiliss pour couter, et analyser le trafic dun rseau. Il en
existe plusieurs dizaines, aussi bien dans le secteur commercial quen tant que projet libre (SNORT et
PRELUDE tant les plus connus dans ce domaine).
Il existe principalement deux techniques danalyse du trafic, chacune ayant des avantages et des inconvnients :
Lanalyse comportementale (anomaly intrusion detection) : partir dun comportement normal
dtermin, lIDS analyse le comportement des machines. Si un ordinateur se connecte en pleine nuit
alors que personne nest prsent, cela pourrait lever une alerte pour lIDS. Ainsi, dans ce type danalyse,
un profil est dress et lorsque la machine lie ne sloigne du profil type, lIDS ragit.
Avantages : ce type danalyse permet de dtecter des attaques inconnues, elle ne ncessite pas de
base de donnes.
Inconvnient : cette dtection est assez alatoire, elle peut produire de fausses alertes relativement
facilement.
Lanalyse par scnario (misuse intrusion detection) : lIDS utilise ici une base de donnes de
signatures dattaques. Ces signatures peuvent tre assimiles des droulements dattaques. En effet, chaque attaque possde des caractristiques propres (numro de port, taille de paquet, protocole
employ, ...). Ces caractristiques peuvent tre collectes et places dans une base de donnes quinterrogera lIDS. Ce type dIDS utilisent les fichiers journaux (log). Ds quil dtectera des squences
suspectes (relatives une signature de sa base de donnes), il dclenchera une alerte.
Avantage : on peut grer les attaques de faon trs prcise.
Inconvnient : on doit maintenir une base de donnes jour.
Certains IDS analysent uniquement les fichiers systmes (fichiers dhistorique), et dautres uniquement le trafic rseau. On les nomme respectivement HIDS pour "Host IDS" (protection des machines)
et NIDS pour "Network IDS" (protection du rseau).
Les IDS ne ragissent pas non plus de la mme manire en prsence dune attaque. La plupart agissent
passivement, cest--dire quune fois lattaque dtecte, ils mettent simplement une alerte. Dautres,
beaucoup moins rpandus, tentent de contre-attaquer. On dit que ces derniers sont actifs.
Depuis quelques temps, les IDS actifs voluent et se font appels IDP ou IPS (respectivement Intrusion
Detection and Prevention et Intrusion Prevention System. Deux grandes diffrences existent entre les IDS
et les IPS. La premire, comme il la dj t mentionn, repose sur les capacits de lIPS rpondre aux
attaques. De par sa position sur le rseau (figure 15.4), il peut stopper lintrusion ds quil la dtecte.
Le seconde grande diffrence est la gestion des dbits importants actuels. L o les IDS prouvaient des
difficults, les IPS, souvent associs des composants hardware, peuvent grer des flux beaucoup plus
importants.
3 Intrusion
Detection System
164
15.3.2.1
Sans entrer dans le dtail des possibilits de dtection de SNORT, cette signature signifie que lIDS
devra dclencher une alerte lorsquil dtectera, sur le protocole TCP, une tentative de connexion dune
IP externe ( spcifier dans REZO_EXT ERN E) provenant de nimporte quel port vers une IP interne
( spcifier dans REZO_IN T ERN E) sur le port 21 (FTP). Lalerte ne devra toutefois tre dclenche
que si lIDS repre les informations suivantes, spcifies dans la suite de la signature :
flags : demande lIDS de vrifier si le drapeau ACK est lev (A). SNORT peut tester tous les
drapeaux TCP.
content :"|*****|" : vrifie que la chane indique est prsente dans le paquet. En effet, la plupart
des attaques possdent des caractritisques reprsentatives.
classtype-admin : est utilis pour trier les attaques en sous-groupes.
sid : identificateur de rgle de SNORT (numrotation).
rev : numro de rvision de la rgle.
msg : spcifie le nom de lalerte qui devra tre envoye en cas de dtection.
15.3.2.2
Les alertes
Selon les diffrents critres danalyse, il est possible de dterminer lIDS le mieux adapt ses besoins.
Malheureusement, il est bien rare de trouver lIDS correspondant tous les critres de slection.
Il ne faut pas croire quun IDS assure la scurit du rseau lui seul. Comme on la vu, chaque type
danalyse possde ses avantages et ses inconvnients. De plus, en cas de mauvaise maitenance de la base
de donnes, certaines attaques peuvent passer totalement au travers de lIDS.
Il faut galement remarquer que les IDS ne sont jamais robustes 100%, bien loin de l. Les recherches
sont trs actives dans ce domaine. La majorit des attaques ne ncessitent quune modification mineure
pour ne pas tre dtecte.
R. Dumont - Notes provisoires
165
15.3.3
La tolrance dintrusions
Comme nous venons de lexpliquer, les IDS ne sont pas assez fiables pour garantir la scurit dun
rseau. En consquence de cette remarque, on voit merger depuis quelques temps des "systmes ditribus tolrance dintrusions". Sous ce nom se cache en ralit une mthode de gestion des donnes entre
plusieurs ordinateurs distants et autorisant une ou plusieurs intrusions, en se basant sur le principe que
le pirate naura pas accs la totalit des informations quil dsire obtenir.
On dfinit un tel systme comme tant un systme capable de garantir la confidentialit, lintgrit
et la disponibilit des donnes, et ce mme en cas dintrusion dans une partie du systme.
Ce concept peut simplmenter par la technique de "fragmentation-duplication-dispersion".
La technique "fragmentation-redundancy-scattering"
Le principe est de diviser les donnes en plusieurs parties et les rpartir en plusieurs endroits afin
quen cas dintrusion, le pirate nait pas accs au reste de linformation. Pour lobtenir, il devra dterminer les diffrents sites de stockage, ce qui ne lui sera priori pas possible. Linformation proprement dite
symbolise aussi bien les donnes, les droits daccs, ou les programmes.
Grce cette mthode, on peut donc autoriser (tolrer ) un certain nombre dintrusions dans le systme. Ainsi, on aura toujours un respect de la confidentialit et de lintgrit. La disponibilit des donnes
tout moment est garantie par le principe de duplication de linformation et de sa rpartition en plusieurs
endroits.
15.3.4
Les honeypots
A loppos des firewalls et des IDS, les honeypots (littralement, "pot de miel") ne cherchent pas
dtecter ou prvenir une attaque particulire. Au contraire, un honeypot se dfinit comme tant un
systme de receuil dinformations sur les utilisations illicites et non autorises de ce systme.
Le principe du honeypot est quil reprsente une station accessible par les pirates, la plupart du temps
dpourvue de toute protection. Thoriquement, un honeypot ne devrait gnrer aucun trafic car aucune
activit ne lui est autorise. Ainsi, tout intraction avec lui ne peut tre quillicite. On considrera donc
toute activit du honeypot comme suspecte. Par lintermdiaire du honeypot, il est alors possible de lister
tous les accs et toutes les commandes quil subit ou reoit afin, dans un second temps, danalyser ces
166
La plupart du temps, on place les honeypots dans deux catgories : basse intraction ou haute
intraction.
Les honeypots basse intraction travaillent en mulant des systmes dexploitation ou des services.
Relativement simples demploi, ils prsentent un risque minimal. Il fonctionne la suite dune installation
software, et dune slection des services muler. Lavantage de ce type de honeypot est quil ne dispose
pas rellement dun systme dexploitation, il ne fait que lmuler. Le pirate na donc jamais la possibilit
dattaquer ou daffaiblir les autres sytmes. Linconvnient majeur est que ces honeypots ne peuvent
couter que les attaques ayant traits aux services quils mulent. Ils sont alors totalement insensibles aux
attaques bases sur dautres services.
Les honeypots haute intraction sont des solutions beaucoup plus complexes, en ce sens quils
nmulent rien. Ils utilisent un systme dexploitation rel et de vritables applications. A la diffrence
des honeypots basse intraction, le pirate a ici accs la ralit et non lmulation. Le principal
avantage est quil est alors possible de lister lentiret des accs quil subit, pour tous les services. De
plus, en donnant lentiret du sytme au pirate, on peut analyser lattaque dune manire beacoup plus
complte. En contrepartie, puisque le pirate a accs au systme rel, le risque daffaiblir dautres stations
est plus grand.
Enfin, il faut noter quun honeypot haute intraction peut faire tout ce que fait un honeypot basse
intration, et bien plus. Cependant, ils sont plus complexes dployer et maintenir en ordre.
167
15.3.4.2
En gnral, les honeypots peuvent avoir deux utilits disctinctes : la protection et la recherche. Le
premier point consiste protger une organisation, et plus particulirement de les aider prvenir, dtecter et rpondre aux attaques. En ce qui concerne la recherche, les honeypots sont essentiellement
utiliss pour collecter linformation. En gnral, les honeypots basse intraction seront utiliss pour la
protection tandis que les honeypots haute intraction seront employs pour la recherche.
Les tches consistant protger une entreprise peuvent tre explicites comme suit :
la prvention : le principe est de faire perdre du temps au pirate. Dans le cas dun scan de ports,
le honeypot pourrait ralentir sa vitesse de scan4 . Grce ce ralentissement, lentreprise aurait alors le
temps de ragir. Le honeypot se rapproche ici dun IDS, avec la facult supplmentaire de tenter de
"contrer" lattaque. De plus, le simple fait dutiliser un honeypot peut dcourager le pirate. Comme ce
dernier ne sait pas priori quelle machine est le honeypot, il ne risquera pas de sy enliser.
la dtection : les honeypots rduisent le nombre de fausses alertes positives, et peuvent dtecter
des attaques inconnues. Les honeypots basse intraction semblent les plus pratiques pour cette
dtection, de par leur facilit de mise en place. Un honeypot haute intraction permet de mieux
tudier lattaque, mais le risque que celle-ci stende est beaucoup plus grand, ce qui met en pril la
protection de lentreprise.
la rponse aux attaques : lors dune attaque, le pirate ayant le champ libre pour oprer, il
laissera des traces sur son identit, sa localisation, comment il sest introduit, ou les dommages quil a
caus. Toutes ses informations pourront tre rutilises par lentreprise pour rpliquer.
4 par
168
15.3.5
Les firewalls
Quil sagisse dune marchine personnelle, ou dun rseau dentreprise, tous les systmes sont susceptibles dtre un jour la cible dune attaque. La premire protection, en marge de lantivirus, sera dutiliser
un firewall. Le rle du firewall sera dempcher les pirates de sintroduire sur le systme plac derrire
lui.
Un firewall peut tre software ou hardware. Pour protger un systme, il se placera la frontire entre
Internet (ou un rseau) et la machine (ou les machines) du rseau. Il servira de filtre, et si un paquet ne
correspond pas aux filtres quil renferme, le paquet en question sera rejet.
Un firewall peut tre configur de nombreux niveaux :
Les adresses IP : on peut lui faire accepter les flux de donnes provenant dune plage dadresses, ou
mme dune adresse uniquement.
Les noms de domaine : il est galement possible dempcher laccs certaines adresses Internet.
Les protocoles : pour empcher tout transfert FTP, tout accs Telnet, ou encore pour viter le surf
sur Internet (HTTP).
Les ports : pour supprimer le FTP, on peut refuser les connexions sur le port 21.
Par mots ou phrases : semblable aux expressions rgulires, il est possible de refuser les paquets
dont le contenu renferme des squences de lettres donnes.
15.3.5.1
Principes de fonctionnement
Action
Allow
Src Host
124.234.184.74
Src H. Port
*
Dst Host
154.214.217.1
Dst H. Port
*
Flags TCP/Options IP
SYN
Lavantage du filtrage par paquet est sa rapidit. Il est de plus relativement simple implanter dans
un rseau.
Cependant, la scurit ne peut se baser uniquement sur le filtrage par paquet. Dune part, il est
difficile de maintenir un niveau suffisant de scurit lorsque le nombre de rgles augmente. Dautre part,
le type dinformations accessibles ce niveau est limit, en loccurence, il nidentifie que la machine et
non son utilisateur.
169
Il existe 3 types de firewalls. Chacun possde des avantages et inconvnients. Il faudra donc pralablement analyser les besoins rels en termes de scurit, ainsi que les cots engendrs.
Les firewalls Bridge
Ce format de mur de feu a lapparence dun simple cable rseau, sans machine spcifique. Il est invisible et indtectable pour un pirate, son adresse MAC ne circulant jamais sur le rseau. Plac sur le
rseau, le pirate devra donc automatiquement passer par lui pour transmettre des requtes. On trouvera
notamment ce type de firewalls dans des switchs.
Avantages :
Il nest pas possible de lviter.
Il est relativement peu coteux.
Il est transparent.
Inconvnients :
Pour le contourner, il "suffit" dadapter lattaque.
Ses fonctionnalits sont souvent restreintes (il ne sagit la plupart du temps que dun filtrage de
paquets).
170
15.4
La notion de Vulnrabilit
Aprs avoir pass en revue une srie de malwares, traitons dune faon un peu plus gnrale de ce
que dsigne la notion de vulnrabilit, les concepts voisins ainsi que les moyens de les grer.
Donnons-en tout dabord une dfinition. Nous dirons quune vulnrabilit est une faiblesse inhrente
un objet (software ou hardware). Elle a principalement deux origines :
Faute de conception : un algorithme cryptographique qui prsente une faiblesse qui peut tre
volontaire (prsence dune trappe) ou involontaire (ce que lon appelle vulgairement une faille)
Faute dutilisation : une mprise ou une inattention dans la procdure dutilisation dun logiciel
ou du systme
Un terme souvent associ la notion de vulnrabilit est le terme exploit. Cet exploit sera dfini
comme attaque profitant dune faille pour modifier le comportement du systme ou en prendre le contrle.
Plusieurs types dexploits existent :
Remote Exploit : lattaque peut se faire distance
Local Exploit : un accs sur la machine cible est ncessaire
Zero-Day Exploit : lorquune faille est publie, on donne cette dsignation aux attaques lexploitant
le jour mme de la publication. Par extension, on nomme ainsi les attaques publies avant la sortie du
patch li la vulnrabilit, et les attaques reposant sur les failles dcouvertes par les pirates eux-mme
(l aussi jusqu la sortie dun patch).
Il nexiste pas proprement parler un classement des vulnrabilits selon leur degr de gravit. On
admet cependant couramment les catgories Faible, moyenne et haute.
High : pas dinteraction de lutilisateur, globale
Medium : faible interaction
Low : forte interaction, localis
171
15.4.1
La fentre de vulnrabilit
Ce concept est dfini comme le temps entre la mise en place dune attaque exploitant une vulnrabilit
et linstallation du correctif par lutilisateur. Il existe trois cas distincts.
15.4.1.1
1.
2.
3.
4.
Cas favorable
Cas dfavorable
Cas critique
172
15.4.2
Il existe un certificat daptitude au coding sr. Il porte le nom de GSSP (Global Information
Assurance Certification Secure Software Programmer). Ce certificat fut mis au point aprs la constatation
que 85% des vulnrabilits taient dues 3 erreurs de programmation :
Le buffer overflow
Labsence de vrification des insertions de donnes par lutilisateur
Linteger overflow
Labsence de vrification des donnes (Format String), permet notamment le XSS (Cross Site Scripting) : corruption de forums autorisant par exemple linsertion de code dans les messages utilisateur
(HTML,. . . ), ou encore lobtention daccs cachs aux serveurs en envoyant les paramtres adquats dans
les adresses URL.
LInteger overflow, correspondant la non-vrification du format des nombres utiliss, permet de
rendre vulnrable la machine excutant le code en question : la consquence la plus courante est un
simple crash, mais peut aller jusqu permettre lintroduction de code malicieux, selon ltat dans lequel
se trouve la machine aprs exploitation de la faille.
15.4.2.1
Le buffer overflow est dfini comme tant une erreur logicielle par laquelle des donnes sont stockes
dans un espace plus important que celui initialement rserv. Il sagit de la vulnrabilit la plus souvent
observe. Elle fut notamment exploite par les vers CodeRed et Blaster.
173
Il existe un certain nombre de fonctions dont il est bon de se mfier. Une liste est donne la figure
15.11.
Il existe dautres solutions pour viter ces problmes de buffer overflow :
Utiliser des canaris : il sagit de placer sur la pile des nombres alatoires pour chaque appel de
fonction la suite de ladresse de retour. Ainsi, aprs vrification de ces valeurs, on peut dterminer
si une erreur de type Buffer overflow a pu tre commise (non concordance) ou non (concordance).
Linconvnient principal dans lutilisation de ces canaris est le fait quil soit ncessaire de recompiler
le code source.
174
Utiliser des librairies scurises : certaines librairies fournissent des fonctions srs.
Utiliser des langages autres que C et C++, ceux-ci facilitant la mise en place de telles vulnrabilits.
La figure 15.12 donne une liste de langage et leur ventuelle protection par rapport au problme du
buffer-overflow. Attention au fait que la prsence dun Safe dans ce tableau ne concerne que le bufferoverflow, et pas dautres types derreurs de programmation !
Il est parfois possible dempcher lexcution de code sur la pile ou sur le tas par lintermdiaire de
175
Conclusions
En rgle gnrale, la protection contre ces vulnrabilits devra avoir lieu trois moments distincts.
Avant : Se documenter, tre attentif lors du choix du langage
Pendant : tre attentif aux fonctions employes, raliser un audit du code (que ce soit en interne,
ou par des socits spcialises), utiliser des outils de scanning
Aprs : Tester le programme et les entres possibles (longueur, caractres alatoires, etc.)
15.5
Ressources supplmentaires
http://www.vulnerabilite.com/dossier/
http://www.linuxfocus.org/Francais/July2003/article294.shtml
http://www.snort.org/docs/
http://teamlog.developpez.com/virus/
http://www.miscmag.com/articles/index.php3?page=103
http://www.simovits.com/trojans/trojans.html
http://www.tracking-hackers.com/papers/
http://www.tele.ucl.ac.be/EDU/ELEC2920/1997/firewall/Firewalls.html
http://www.interhack.net/pubs/fwfaq/
176
Chapitre 16
La scurit en entreprise
16.1
La notion de risque
La scurit dune entreprise est trs souvent attribue au dpartement IT de celle-ci. En tant quingnieur systme ou chef de scurit, il faut pouvoir grer cette scurit. Dans lidal, cette gestion devra
se faire avec le soutien dinstances suprieures de lentreprise (p.e. le pouvoir organisateur).
Comme nous lavons dj mentionn, la scurit est un compromis entre cots, risques et contraintes :
un systme ultra-scuris mais trs contraignant ne sera pas utilisable en pratique
un systme non scuris encore moins. . .
Il faudra peser le pour et le contre de chaque lment.
16.1.1
Dfinitions
Avant toute chose, dfinissons quelques termes, dont certains ont dj t voqus :
M enace X V ulnerabilites
Contremesures
Consquences :
Le risque est dautant plus rduit que les contremesures sont nombreuses
Le risque est plus important si les vulnrabilits sont nombreuses
16.1.2
Grer le risque
177
1. Dfinition de lenvironnement
Dfinition des acteurs et leurs intrts
Importance de la scurit dans la stratgie de lentreprise
Type de donnes impliques
Visibilit extrieure de la scurit (importance pour la clientle, le public ?)
2. Etude des menaces
Nature : accidentelles (dsastre, bugs, . . . ) ou volontaires (attaques, vols, . . . )
Sources : personnel non autoris, intrus, logiciel
Localisation : procdures manuelles, informatique (software, rseau, stockage, hardware), infrastructure (concrte et abstraite)
3. Etude des vulnrabilits
Etudes des faiblesses engendres par lexcution dune menace
4. Etude des risques
Probabilit doccurrence de ces menaces conduisant une vulnrabilit
5. Estimation du risque et du plan stratgique
Risque :
Cout des pertes engendres ( court, moyen et long terme)
Cout de la mise en place de la contre-mesure (tant au niveau logique que logistique)
Comparer la perte potentielle au cot de la contre-mesure (quantification mathmatique)
Plan stratgique :
Planning de limplmentation avec prise en compte des besoins futurs (en termes de scurit
ou non)
Planning du suivi de limplmentation
6. Mise en place du plan de scurit
Mise en place des correctifs
Dfinition de la police de scurit
Objectifs, Porte, Responsables
Description de la scurit (de linfrastructure physique, des donnes informatiques, des applications, du rseau).
Plan en cas de sinistre
Sensibilisation du personnel aux nouvelles procdures
Sanctions en cas de manquements
7. Audit de scurit
Systme informatis : scanneurs rseau, valuation des algorithmes utiliss (force brute, outils de
cracking, . . . )
Mesurer lefficacit de la solution implmente dans sa globalit Champ plus large quune tude
stricte des lments mis en place
Les tapes 4 et 5 forment ce que lon nomme communment la phase dAnalyse des risques.
16.1.2.2
178
16.1.2.3
Il est de plus en plus admis que la scurit est essentielle. Le CSI (Computer Security Institute)
confirme ce fait par la publication dun rapport annuel[16], dans lequel on constate que chaque anne,
lattention des responsables dentreprises est accentue sur la scurit. Les couts engendrs par les pertes
de donnes dues aux attaques rseaux et autres malwares diminuent sensiblement dannes en annes1 .
Une dernire remarque doit cependant tre faite concernant les employs. Jusquici, nous avons vu
quil fallait tenter dobtenir le meilleur compromis de scurit (efficacit vs convivialit). Mais noublions
quune faille bante peut galement exister en la personne des employs de lentreprise. Si ceux-ci ne sont
pas duquer aux notions de base de la scurit, il est fort probable que la scurit en ptisse lourdement.
Nous avons dj cit ce thme dans le chapitre dintroduction (cube de McCumber) : le facteur
humain. Il est beaucoup plus simple de corrompre lutilisateur et ce qui lentoure que lalgorithme de
chiffrement utilis :
Lutilisateur ne connait pas les risques engendrs par la conservation de la liste des mots de passe
utiliss cot de lordinateur
Il est souvent plus simple de sintroduire dans lordinateur de lutilisateur afin de retrouver le texte
en clair (hacking, vol, . . . )
Il est possible de lespionner, le pousser la dlation, pratiquer le shoulder-surfing ou tout autre
technique dite de social engineering
...
Il ne sagira donc pas ici dexpliquer aux employs comment fonctionnent les algorithmes quils utiliseront, mais plutt comment et dans quelles conditions ils devront les utiliser en dfinissant des rgles
qui ne devront pas tre transgresses.
A mditer. . .
16.1.3
Il y a plusieurs faons de ragir un risque, des plus sres" aux plus inconscientes :
Transfrer les risques une compagnie dassurances
Rduire les risques en implmentant des contre-mesures qui peuvent tre :
1. Dissuasives : empcher une attaque
2. Prventives : faire chouer une attaque
3. Correctrices : rduire les dommages causs par une attaque
Ignorer/Ngliger les risques
Accepter les risques si les contre-mesures sont trop honreuses
Il y a toujours un risque, aussi infime soit-il. Il faudra donc peser le pour et le contre lors de la mise
en place ventuelle dune contre-mesure.
1 Toutefois,
en 2007, on remarque une remonte de la somme totale des pertes, due la fraude financire.
179
16.2
Sil existe un domaine de lentreprise o la scurit peut tre inconsciemment nglige, cest dans
la destruction de ses donnes. Quil sagisse de documents physiques (Hard Copy, tels que des rapports
crits, feuilles imprimes, fax, etc.) ou de supports informatiques (Soft Copy, tels des disques durs, disques
optiques, bandes magntiques, etc.), il est souvent recommand de dtruire ces donnes de faon scurise.
Il existe en effet plusieurs standards dfinissant la marche suivre et les outils employer pour garantir
un niveau de scurit suffisant.
16.2.1
Types de traitement
16.2.2
La copie physique
Ce type de copie tant principalement sous forme papier, lutilisation de destructeurs de papier est
videmment recommande. La norme DIN 32757 identifie les catgories de destructeurs selon le format
des particules mises.
Dans le cas du papier, signalons quil est galement possible de les dtruire par incinration, compostage ou dcomposition chimique.
Dautres formes de copies physiques existent tels les tampons encreurs ou les preuves dimprimerie
par exemple. Pour ces situations, lincinration sera prfre.
180
16.2.3
La copie logicielle
Lorsquon parle de suppression de donnes logicielles, on se rend compte que pour beaucoup, cette
suppression se rsume un simple vidage de corbeille. En y regardant de plus prs, plusieurs niveaux
de suppression sont envisageables, de la plus nave la plus sre :
1. Effacement des donnes (Delete)
2. Formatage
3. Formatage bas-niveau
4. Rcriture
5. Dmagntisation
6. Incinration
Les trois premires solutions ne sont en rien garantes dune suppression efficace des donnes. La premire ne supprime que les pointeurs, la deuxime ne fait que rinitialiser le boot-sector et la troisime
permettra dans certains cas de retrouver des rsidus dune magntisation passe.
La premire solution efficace pour dtruire des donnes est donc la rcriture (Wipe). Sujette beaucoup de controverses, elle trouve son origine dans un article publi en 1996 par Guttman[18], dans lequel
ce dernier proposait un effacement sr des donnes par 35 rcritures successives (suite de 1, suite de 0 et
suites altoires). Pour argumenter sa solution, Guttman voque le fait suivant : les critures successives
ne se superposent pas parfaitement. En simplifiant, cel se traduit par le fait quun 1 crasant un 0
renvoie 0.95, sinon 1.05. Alors que ce fait tait bien rel pour les premiers durs et les disquettes dantan, il
savre que les disques durs actuels, dont la technologie dencodage des donnes a bien volu, ne rendent
plus possible cette analyse.
La figure 16.2 prsente quelques solutions pour cette rcriture. La norme de suppression DoD 5220
ncessitant 3 passes nest plus dapplication. Lutilisation de la commande Secure Erase, disponible en
tant quutilitaire pour les disques durs actuels la norme ATA, est aujourdhui mise en avant et fonctionne par rcriture dun pattern alatoire de tous les blocs accessibles.
://csrc.nist.gov/publications/nistpubs/800-88/NISTSP800-88_rev1.pdf
181
De plus, indpendamment de la validit de ces donnes (le fait que les donnes retrouves soient bien
celles effectivement inscrites avant la rcriture), quel serait leur poids devant une cour de justice avec
une probabilit si faible ?3
Signalons encore la masse de donnes traiter. Les donnes fournies par le MFM sont trs lourdes :
pour un disque de 20 Go, 40 To de donnes brutes sont analyser4 .
Autres mthodes de destruction des donnes :
A cot des techniques logicielles, il existe des techniques physiques, plus radicales, mais galement
plus honreuses :
Dmagntisation (Degausser ) : il sagit dappliquer un champ magntique suffisamment puissant
(suprieur la coercivit du disque dtruire) au disque. Toutefois, les disques les plus rcents semblent
avoir une coercivit trop leve en raison dun blindage de plus en plus fort.
Destruction physique : il sagit de casser le disque en lui faisant subir une forte pression (> 5 tonnes)
Incinration : en exposant le disque dur une temprature suprieure son point de Curie (770C),
au del duquel le disque perdra ses proprits magntiques.
Pour les disques optiques, on pratiquera une pulvrisation, en le rduisant en particules nexcdant
pas 250m.
La plupart de ces outils font lobjet danalyses et de certification par la NSA5
3 Wright
annonce un taux de certitude minimum devant varier entre 95 et 99% dans le cadre dune affaire criminelle.
://www.marsllc.net/tab_services/data_destruction.htm
5 http ://www.nsa.gov/ia/guidance/media_destruction_guidance/index.shtml
4 http
182
Chapitre 17
La biomtrie
17.1
Fonctionnement
La biomtrie est une mthode didentification base sur certaines donnes humaines, physiques ou
comportementales, qui peuvent aller de la rtine, lempreinte digitale en passant par la voix ou la forme
de la main. Chacune de ces mthodes est ce que lon nomme un "Moyen Biomtrique".
Les techniques biomtriques furent avant tout mises au point pour pallier le problme des pertes de
mot de passe et autres vols de cartes puce.
Comme cela vient dtre dit, on classe les moyens en deux catgories :
Les moyens physiques (physiologiques) tels que liris, lempreinte digitale, . . .
Les moyens comportementaux tels que la voix, la dynamique de signature ou de frappe, . . .
Chaque moyen possde ses avantages, ses inconvnients et ses applications. Plusieurs questions devront
tre poses telles que :
Le mode de saisie est-il optimal ?
Quel type danalyse est-il permis doprer ?
Quelles sont les capacits de stockage disponibles ?
Quel est le type de vrification demand ?
Les diffrents moyens nont pas le mme niveau de scurit, ni la mme facilit de mise en oeuvre.
De plus, la diffrence des systmes travaillant partir de mots de passe, les rponses ne seront jamais
fiables 100%. Dans le cas des mots de passe, on peut tout de suite dire si la phase dauthentification a
russi ou non. Avec la biomtrie, il faudra travailler selon des taux de similitude prdfinis.
Il faudra aussi veiller aus faits que les donnes humaines se modifient avec le temps, et que la manire
avec laquelle sont releves ces mmes donnes nest jamais identique. Par exemple, le doigt nest jamais
pos tout fait de la mme manire sur le support de saisie. Un problme similaire se produit avec
lcartement des doigts de la main.
La figure 17.1 illustre les diffrents moyens biomtriques, ainsi que les critres de rfrence utiliss
pour les classer. On dfinira ces derniers comme suit :
Intrusiveness : indique quel point lutilisateur se sent "agress" par la mthode didentification
Accuracy : indique lefficacit du systme pour identifier un utilisateur
Cost : indique le cot de la mise en place dun tel systme (lecteurs, capteurs, stockage, ...)
Effort : indique leffort ncessit par lutilisateur pour permettre la mesure
183
17. LA BIOMTRIE
17.2
Mode de fonctionnement
184
17. LA BIOMTRIE
17.3
Linconvnient principal de la biomtrie est quil ne permet pas une authentification sre 100% :
puisque les mesures se basent sur des proprits physiques, elles peuvent se modifier avec le temps (ge,
accident, blessure, ...). On parlera plutt didentification. Lobjectif pour les crateurs de tels systmes
nest donc pas la scurit absolue, mais un taux de certitude suffisant.
Les performances sexpriment de plusieurs manires :
T.F.R.1 : Taux de Faux Rejets : nombre de personnes rejetes par erreur.
T.F.A.2 : Taux de Fausses Acceptations : nombre de personnes ayant t acceptes alors que cela
naurait pas du tre le cas.
E.E.R. (x, t) : Equal Error Rate. Le seuil reprsentant le niveau derreurs acceptes.
Fig. 17.5 Minimisation des TFR et TFA et type des applications concernes
1 ou
2 ou
185
17. LA BIOMTRIE
Un systme sera fonctionnel lorsque son T.F.R. sera faible. Un systme sera sr lorsque son T.F.A.
sera faible. Lobjectif sera de minimiser ces deux valeurs, comme on le voit sur la figure 17.5. Le x (EER)
reprsente la marge derreur autorise. Plus il est grand, moins le systme est sr, mais plus on le rduit,
moins le systme est utilisable pour identifier des personnes. La recherche tente de limiter cet EER afin
dobtenir simultanment des TFA et TFR acceptables.
17.4
17.4.1
Il sagit de la plus ancienne technique didentification, datant du dbut du 20me sicle. Cette technique
prend ses racines dans la dcouverte de la permanence des dessins de la naissance la mort, son caractre
individuel et son inaltrabilit par le chercheur britannique Galton.
Galton a dfini la notion de minuties des empreintes digitales comme tant larrangement particulier
des lignes des empreintes. Ces lignes forment des points caractritiques permettant didentifier de manire unique un individu. Ces points peuvent tre des arrts de lignes, des bifurcations, ou encore des lots.
Il existe de nombreux types de capteurs pour obtenir limage et les minuties associes :
Optiques par contact, avec ou sans contact : Le capteur utilise un CMOS (anciennement un CCD).
Le scan est ralis avec ou sans contact (doigt pos sur le capteur ou non). Si aucun contact na lieu,
la lecture des empreintes a lieu par rflexion.
Par balayage : le doigt dfile sur le capteur et limage est reconstruite au fur et mesure de faon
logicielle.
Par capacit lectrique : on mesure la capacit lectrique existante entre la peau et le capteur. Elle
varie comme linverse de la distance le doigt et le capteur. Ainsi, en prsence dune crte, la capacit
lectrique sera plus importante (car la distance est plus courte cet endroit, puisque le doigt est pos
sur le capteur).
Par ultrasons : cette technique permet dviter le problme des doigts salis qui ne permettrait pas
une bonne rflexion de la lumire.
Par transmission de lumire : le capteur mesure lintensit dun faisceau traversant le doigt.
La technique dextraction des empreintes porte le nom dEDR : Empreinte Digitale Rduite. Le
processus est illustr par la figure 17.7.
186
17. LA BIOMTRIE
17.4.1.1
Avantages
Cest une technologie trs connue du grand public, ce qui la rend moins intrusive
La petite taille des nouveaux types de lecteurs permet une meilleure intgration dans de nombreuses
applications
Ces nouveaux lecteurs possdent un moindre cot
Le traitement des donnes est relativement rapide
Les T.F.R. et T.F.A. sont assez faibles (si le nombre de points caractristiques est assez lev).
17.4.1.2
Inconvnients
Applications
Les domaines dapplications sont trs larges : gsm, contrle du dmarrage dun vhicule, accs
certains locaux,...
Dans le domaine judiciaire, entre 8 et 20 points caractristiques sont suffisantes pour une identification.
17.4.2
La silhouette de la main est galement une caractristique propre chaque individu. Les paramtres
pris en compte (juqu 90) peuvent tre par exemple la longueur des doigts, la forme des articulations, ou
encore leur paisseur (dans une vue trois dimensions). Le scanner utilis est gnralement infra-rouges,
et possde des guides afin de positionner correctement les doigts de lindividu.
17.4.2.1
Avantages
187
17. LA BIOMTRIE
17.4.2.2
Inconvnients
La mise en place dun tel systme est parfois impossible au vu de la place ncessaire (il est impossible
dutiliser un tel lecteur dans une voiture, ou pour un tlphone portable ...)
Ce moyen biomtrique est sujet aux modifications de forme des au vieillissement de lindividu
Il est galement peu robuste en ce qui concerne lidentification de jumeaux, ou de membres dune
mme famille
17.4.2.3
Application
17.4.3
Cette techniques est rarement employe seule, mais rgulirement en tant quapport de scurit dun
autre moyen biomtrique. Il sagit de cartographier le rseau des veines dune partie du corps. Ainsi,
dans le cas de la dtection de la forme dune main, cette technique permet dobtenir dautres points de
comparaison que les formes ou les distances.
17.4.3.1
Avantages
Inconvnients
Application
17.4.4
Le visage (Facial-Scan)
188
17. LA BIOMTRIE
Plusieurs techniques peuvent tre utilises telles que :
Eigenface (MIT, 1987) : le visage est dcompos en plusieurs images mettant chacune en vidence
une caractristique du visage en question. Ces caractristiques sont dfinies par une srie de valeurs
(vecteurs propres, valeurs propres et matrice de covariance) permettant dtablir un ensemble de statistiques en vue didentifier les individus avec plus ou moins de prcision.
189
17. LA BIOMTRIE
17.4.4.1
Avantages
17.4.4.2
Inconvnients
Applications
Entres de casino
Hall daroports
17.4.5
Liris (Iris-Scan)
Il sagit dans un premier temps de faire clairement la distinction entre iris et rtine (que nous voquerons plus tard), ce qui est illustr la figure 17.11.
190
17. LA BIOMTRIE
Pour la capture, on procde la prise de vue, souvent par infrarouge pour viter la dilatation de la
pupille. On ralise ensuite un applatissement de limage, et aprs traitements mathmatiques (ondelettes
de Gabor), on obtient un code qui pourra prendre place dans une base de donnes. Le processus est
illustr la figure 17.13.
Avantages
Inconvnients
Le motif de liris peut tre photographi en vue dune usurpation. Tout dpend donc des mesures
de scurit prises (utilisation dinfra-rouge).
Caractre plus intrusif que lempreinte ou que la main.
17.4.5.3
Applications
17.4.6
La rtine (Retina-Scan)
Comme on le voit sur la figure 17.11, la rtine est compose en grande partie dun ensemble de
vaisseaux sanguins. La complexit du rseau sanguin ainsi constitu permet une identification unique.
Cette technique est plus ancienne que la saisie de liris, mais bien moins utilise.
Alors que laspect des vaisseaux change avec lge, leur position ne se modifie pas.
Pour effectuer la saisie, il faut clairer le fond de loeil. On pourra alors oprer une cartographie du
rseau et ainsi la stocker dans une base de donnes.
191
17. LA BIOMTRIE
17.4.6.1
Avantages
Lempreinte rtinienne est bien moins expose aux blessures que les empreintes digitales
Les T.F.R. et T.F.A. sont faibles
On peut mesurer jusqu 400 points caractristiques, contre "seulement" 30 40 pour une empreinte
digitale
17.4.6.2
Inconvnients
Applications
17.5
17.5.1
Chaque individu possde une voix unique caractrise par une frquence, une intensit et une tonalit.
Mme si deux voix peuvent sembler similaires pour loreille humaine, le traitement informatique permet
de les isoler. Les prises sont ralises partir dun simple microphone.
On distingue deux types de systmes reconnaissance vocale :
1. Text Dependent System : lidentification se fait sur des termes dtermins. Il existe 4 types de
systmes dpendants du texte :
A texte suggr (text-prompted) : lors de chaque session didentification, et pour chaque utilisateur, le systme affiche un texte alatoire.
A traits phontiques (speech event dependent) : certains traits phontiques doivent tre mis en
avant dans le texte prononc par lindividu.
A vocabulaire limit (vocabulary dependent) : lindividu doit prononcer des mots issus dun
langage limit prdfini (par exemple, une suite de chiffres)
A texte personnalis (user-specific text dependent) : lutilisateur possde un mot de passe, ou
une passphrase.
2. Text Independent System (ou Free-Text) : lutilisateur parle librement.
La scurit est bien entendu plus forte dans le cas dune identification par texte dpendant quindpendant.
La phase dapprentissage ncessite souvent plusieurs phrases afin de prendre en compte les diffrentes
intonations de la personne. Aprs lacquisition, le signal est dcoup en units qui peuvent tre soit des
mots, soit des phonmes.
Cette technique porte aussi le nom de AAL, pour Authentification Automatique du Locuteur.
17.5.1.1
Avantages
192
17. LA BIOMTRIE
17.5.1.2
Inconvnients
Applications
17.5.2
Ce type de reconnaissance identifie les personnes selon leur manire de taper sur un clavier. On parle
dans ce cas prcis de solution biomtrique essentiellement logicielle, car elle consiste uniquement en un
relev de donnes bases sur la dynamique de frappe des utilisateurs. Par dynamique de frappe, on entend
le temps utilis entre deux frappes sur la mme touche (flight time), le temps de pression sur chaque
touche (Dwell Time), ou encore le temps pour taper un mot donn.
Lors de la phase dapprentissage, il sera demand lutilisateur de taper un certain nombre de fois
un mot de passe ou une passphrase, et un algorithme sera charg de moyenner les temps relevs. Par la
suite, et selon le niveau de ressemblance demand, les utilisateurs seront accepts ou refuss.
Fig. 17.14 Moyenne obtenue pour la frappe du mot password par trois utilisateurs [14]
17.5.2.1
Avantages
Pas de systme hardware, seul le logiciel suffit, ce qui permet de raliser des conomies substancielles.
Trs pratique lorsque le nombre dutilisateurs est lev, de par sa simplicit de mise en place et
dapprentissage.
T.F.A. infrieur 0.5% si le mot de passe dpasse 8 caractres.
17.5.2.2
Inconvnient
Il faut faire attention au clavier utilis (distinction demplacement des touches en QWERTY et en
AZERTY). Les vitesses de frappe changeant dun type de clavier lautre, un profil didentification
sera ncessaire pour chaque configuration.
17.5.2.3
Applications
Il est rgulirement utilis en complment de scurit (notamment pour des cartes puces)
R. Dumont - Notes provisoires
193
17. LA BIOMTRIE
17.5.3
Le principe de cette technique est didentifier une personne partir des parties fixes de sa signature.
En effet, une signature, mme si elle reste approximativement identique, possde des parties fixes et des
parties variables. La diffrentiation de ces parties permettra lidentification. Celle-ci pourra galement
prendre dautres paramtres en compte, tels que la pression exerce avec le stylo, la vitesse dcriture, ou
encore les acclrations.
Le systme se compose principalement dune tablette digitale et de son crayon. La phase dapprentissage ncessite quelques signatures. Par la suite, le logiciel en extraira les caractristiques, et tentera den
calculer les variantes possibles et acceptables.
17.5.3.1
Avantages
La scurit contre la copie est plus forte que pour un simple mot de passe
Faible cot du matriel ncessaire
17.5.3.2
Inconvnients
Applications
17.6
17.6.1
Dans ce systme, une camra thermique ralise une photographie infrarouge du visage. Apparait alors
une rpartition de la chaleur. Cette rpartition est propre chaque individu, y compris les vrais jumeaux.
Ce systme reste cependant encore trs coteux.
17.6.2
Loreille
Peu rpandue, cette technique consiste comparer les empreintes doreille que peuvent laisser certains
individus dans le cadre dun dlit. Cette mthode est uniquement utilise par la police, mais est admissible
devant une cour de justice.
17.6.3
LADN
Cette technique est la plus sre car elle ne se base pas sur des points caractristiques, mais sur
lentiret des donnes. Il donnerait des T.F.R. et T.F.A. nuls (si on fait exceptions des vrais jumeaux
monozygotes qui possdent le mme ADN). Cependant, sa mise en place pose normment de problmes
en raison de son caractre "intrusif". En effet, le relev de cet ADN permettrait la cration dun rpertoire
des utilisateurs, et ouvrirait la porte de nombreuses drives.
Il existe toutefois des BD relles recensant lADN de dtenus (Angleterre, France).
194
17. LA BIOMTRIE
17.6.4
Autres
Dautres mthodes sont encore exploitables, telles que la dentition, lodeur, les battements de coeur,
la dmarche ou encore les pores de la peau.
17.7
La biomtrie multimodale
Dans le cas ou un seul moyen biomtrique est mesur, on parle de biomtrie unimodale. Lorsque
ces moyens sont coupls, ou que plusieurs mesures distinctes sont ralises, on parlera de biomtrie
multimodale. Les diffrents types de biomtrie multimodale sont reprsents la figure 17.15
195
17. LA BIOMTRIE
17.8
Remarques importantes :
Les vrais jumeaux sont aujourdhui distinguables avec peu prs nimporte quel technique biomtrique : rtine, iris et mme la forme du visage. Signalons galement que deux vrais jumeaux, mme
monozygotes, non pas les mmes empreintes digitales (elles ne dpendent pas de lADN qui lui est
identique).
Aucune technique ne permet didentifier quelquun avec 100% de certitude (au sens strict), de mme
quaucun moyen nest utilisable avec 100% de la population.
17.9
Ressources supplmentaires
http://www.biometricgroup.com/
http://biometrie.online.fr/
http://pagesperso-orange.fr/fingerchip/index.htm
http://www.facedetection.com/
http://www.minefi.gouv.fr/minefi/ministere/documentation/revuesdeweb/biometrie.htm
http://www.securiteinfo.com/conseils/biometrie.shtml
http://luc.bo.free.fr/SiteProfessionnel/RapportFinal.htm
http://big.chez.com/gipp/oraux/aal/index.html
http://www.techno-science.net/?onglet=articles&article=021&page=1
196
Chapitre 18
La Stganographie
18.1
Dfinition
La stganographie est lart de "cacher" une information prive ou secrte dans un support, apparement
anodin. Le support peut tre de plusieurs types tels quun fichier texte, image, audio, ou vido, mais peut
galement tre un systme de fichier, ou un code source. La caractristique principale est que le fichier
doit sembler ne contenir aucune information sensible, i.e. ne renfermer aucune information secrte. Le
support associ son message porte le nom de "stgo-mdium".
La stganographie part du principe que la perception humaine nest pas assez volue pour dtecter
les petites modifications introduites dans les images et sont destines renfermer un message. De plus,
personne ne sait, priori, quun fichier renferme un message stganographi (en dehors des personnes
vises par le message).
197
18. LA STGANOGRAPHIE
Trois critres existent pour mesurer lefficacit dun systme cryptographique :
Limperceptibilit : comme mentionn ci-haut, la stganographie repose sur le fait quune tierce
personne ne peut percevoir la prsence dun message.
La capacit : il sagit du nombre de bits quil est possible de dissimuls dans le support.
La robustesse : elle reprsente la manire avec laquelle le message dissimul rsiste aux modifications
apportes au support.
18.1.1
Cryptographie et Stganographie
Tout comme la cryptographie, le but principal de la stganographie est de protger une information.
La diffrence intervient dans la manire avec laquelle chaque technique procde. La cryptographie va
chiffrer linformation pour quelle ne soit pas comprhensible par un tiers, alors que la stganographie va
la rendre invisible1 .
On utilisera ds lors cette dernire notamment lorsque les techniques cryptographiques sont inapplicables, ou lorsquon souhaite gard secret le fait mme de communiquer.
Cest en effet l le principal avantage de la stganographie par rapport la cryptographie : le fichier renfermant le message cach reste anodin. Personne ne peut se douter quil cache un message. Au
contraire, un message chiffr annonce clairement quil renferme une information, puisque, par dfinition,
il est chiffr.
Si on dsire transmettre le message "Jean arrt Paris. Mettre rseau en sommeil. Envoyer un
OPR2 .", on obtiendra
Par stganographie (Stganographie linguistique - Code de Barn) :
Mon cher Pierre,
Jespre que tu voudras bien mexcuser, mais jai eu tellement de travail la maison que je nai pas
pris le temps dcrire aux amis. Cependant je tenvoie ce petit mot durgence pour te faire savoir que
si tu veux des pneus, tu ferais bien de te dpcher ; en effet :
Hier, Jean est venu nous rendre visite, il descendait du train et sest arrt un moment chez nous pour
bavarder et donner des nouvelles mon pre de son Paris. En principe, il doit rester quelques jours ici
pour mettre en ordre ses affaires avant de repartir pour la capitale. A Paris, cest calme, mais la veille
il avait t drang en plein sommeil par les sirnes deux fois dans la nuit ! Ceci mis part, il doit nous
faire envoyer par un ami lui des pneus neufs pour nos vlos. Il en a pour le moment, profitons-en ! A
bientt de tes nouvelles.
P.-S. Nous irons au mariage de Simone et Henri, dimanche en quinze. Henri est un garon sympathique
qui a connu Simone lan dernier chez Xavier, notre vieil ami. Il a deux ans de plus quelle et nous
pensons que Simone va tre trs heureuse.
Par chiffrement (Vignre - Cl = Cryptographie) :
LVYCT FXKPP YQWOV RIKSX JEPBM RUFKB XWRVN KVGIT LLDIF
Bien que le texte chiffr soit beaucoup plus court, il est cependant beaucoup plus explicite quant au
fait quil renferme un secret.
On utilisera parfois la cryptographie en supplment de la stganographie. Ainsi, mme si le message
est dcouvert, il faudra encore le dchiffrer, ce qui apporte un gain de scurit non ngligeable.
1 Stganographie
2 OPrateur
198
18. LA STGANOGRAPHIE
18.1.2
Watermarking et Stganographie
Le watermarking consiste cacher une information dans le but de protger le support contre la copie,
contre toute modification de ce support ou dans un but didentification. On considre souvent le watermarking comme la forme moderne de la stganographie, ou en tout cas comme la principale application
de scurit reposant sur la stganographie.
On trouve aujourdhui rgulirement ce type de scurit dans les images protges par droits dauteurs, dans certains supports audios et vidos, ou encore sur des cds ou dvds. La dtection du message
permettra alors de distinguer un original dune copie, de valider un accs, ou encore de tracer lutilisation
dun mdia.
Hormis lutilisation qui en sera faite, une autre diffrence majeure existe entre les deux concepts :
1. Dans le cadre de la stganographie, le message doit tre cach, imperceptible.
2. Dans le cadre du watermarking, le message devra tre impossible enlever, impossible modifier
(mais peut ventuellement tre visible).
Il est galement frquent de considrer la stganographie comme une technique utilise en deux personnes (one-to-one), le watermarking tant prfr pour les communications one-to-many.
18.2
199
18. LA STGANOGRAPHIE
En Chine ancienne, les messages taient crits sur de la soie, qui tait ensuite roule en boule, ellemme recouverte de cire. Un messager devait enfin avaler cette boule.
Vers 1500, labb Trithme utilisa des louanges afin de faire passer des messages de manire anodine.
Chaque lettre du message tait associe un groupe de mots, comme indiqu la figure 18.3. Sa technique
se rapproche dune technique cryptographique, mais le concept de "recouvrement du message" en fait un
exemple de stganographie linguistique.
Apparently neutrals protest is thoroughly discounted and ignored. Isman hard it.
Blockade issue affects pretext for embargo on byproducts, ejecting suets and vegetable
oils.
R. Dumont - Notes provisoires
200
18. LA STGANOGRAPHIE
Dans la cas prsent, en prenant la deuxime lettre de chaque mot, on voit apparaitre le message
suivant :
Pershing sails from NY June 1.
Parmi les exemples les plus clbres illustrant le principe de stganographie linguistique (ou littraire),
on trouvera encore lchange de courier entre George Sand et Alfred de Musset.
Cher ami, Je suis toute mue de vous dire que jai
bien compris lautre jour que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit
une preuve que je puisse tre aime
par vous. Je suis prte montrer mon
affection toute dsintresse et sans calcul, et si vous voulez me voir ainsi
vous dvoiler, sans artifice, mon me
toute nue, daignez me faire visite,
nous causerons et en amis franchement
je vous prouverai que je suis la femme
sincre, capable de vous offrir laffection
la plus profonde, comme la plus troite
amiti, en un mot : la meilleure pouse
dont vous puissiez rver. Puisque votre
me est libre, pensez que labandon o je
vis est bien long, bien dur et souvent bien
insupportable. Mon chagrin est trop
gros. Accourez bien vite et venez me le
faire oublier. vous je veux me soumettre entirement.
Votre poupe
201
18. LA STGANOGRAPHIE
Une autre mthode ingnieuse fut invente par Gaspar Schott (1608 - 1666). Le principe, illustr
la figure 18.4 tait de coder le message selon des notes de musique. Lavantage du procd tait que le
message apparaissait comme une partition musicale, et donc passait totalement inaperu. Cependant, si
la partition tait joue, il y avait trs peu de chance pour que la mlodie soit agrable.
18.3
Principes
Aujourdhui, les messages cachs se transmettent de manire digitale et non plus par des techniques
manuelles (bien que le systme du message crit sur le crne dindividus semblent encore avoir t utilis
au dbut du XX e sicle par des espions allemands). Le schma du processus stganographique est illustr
la figure 18.5.
R. Dumont - Notes provisoires
202
18. LA STGANOGRAPHIE
Il est remarquer que plus le message dissimuler est long, plus la modification du fichier support
sera importante, et donc plus la dtection sera facile.
On distingue 3 utilisations de la stganographie :
la stganographie simple : seul lalgorithme utiliser doit tre connu des deux parties communicantes.
la stganographie cl secrte : les deux parties utilisent une cl commune (ce sont les "paramtres"
de la figure 18.5) afin dintroduire et dextraire le message du support.
la stganographie cl publique : il est possible dutiliser un systme cl publique/prive (utilisable en paramtre), comme dans le cadre cryptographique.
18.3.1
La substitution consiste utiliser des zones inutilises ou de faibles importances dans un fichier. Une
mthode employe dans ce contexte porte le nom de LSB (Least Significant Bit).
Le LSB utilise comme son nom lindique les bit de poids le plus faible pour transmettre un message.
Si on regarde le codage dune image RGB, on remarque que chaque pixel est cod selon 3 octets (un
octet par couleur). En modifiant le bit de poids le plus faible, limage sera effectivement modifie, mais
les nuances rsultantes seront tellement faibles que loeil humain ne pourra que trs rarement sen rendre
compte3 .
Le message cach pourra tre dautant plus important que lon utilisera un grand nombre de bits pour
le cacher. En contrepartie, utiliser plusieurs bits modifiera plus fortement limage de base, et donc rendra
la prsence dun message beaucoup plus dtectable.
Lavantage du LSB est que la taille du fichier nest pas modifie, puisque le message est encod dans
les parties peu ou pas utilises du fichier. Cest galement une mthode rapide et facile mettre en
oeuvre. Cependant, le LSB possde un dsavantage de taille, savoir la perte du message lorsque des
changements importants ont lieu sur le support, comme par exemple une rotation, ou un redimmensionnement de limage.
Une amlioration du LSB consiste introduire un paramtre alatoire permettant de distribuer les
bits de faible utiliss. Ainsi, les modifications nauront pas lieu "uniquement" dans les premiers octets de
limage, mais seront au contraire rpartis alatoirement dans lentiret de limage.
3 Si la modification avait eu lieu sur le bit de poids le plus fort, les diffrences auraient t trs marques, et on aurait
pu en dduire la prsence dun message cach.
203
18. LA STGANOGRAPHIE
18.3.2
Linjection repose sur le fait dinclure le message directement dans le fichier support. Linconvnient
de cette approche est que la taille du fichier support est modifie. La prsence dun message est alors
plus facilement dtectable, bien que ce problme ne se pose que lorsque des regards indiscrets possde
une copie du fichier support original.
18.3.3
Contrairement aux deux autres mthodes qui utilisent un fichier support comme base, cest le message
qui servira ici de base. A partir de celui-ci, on construira une "enveloppe" qui le renfermera. La lettre
de George Sand Alfred de Musset peut tre vu comme un exemple de cette technique. En effet, pour
transmettre son message Alfred de Musset, elle a cr une lettre anodine autour de son message.
18.4
Les techniques de stganographie peuvent sutiliser sur pratiquement tous les types de support. Les
plus communs sont explicits ci-dessous.
18.4.1
Les images
18.4.2
Laudio
Il existe 4 techniques principales permettant dintgrer des donnes dans un flux audio :
LBE (Low Bit Encoding) : les donnes sont stockes dans le flux audio dune manire semblable
celle utilise dans le cas du LSB pour les images.
SSE (Spread Spectrum Encoding) : cette mthode ajoute un bruit alatoire au signal sonore.
Le message est ensuite dissimul dans ce bruit additif.
EDH (Echo Data Hiding) : dans la plupart des cas, un echo dans une mlodie permet de
grandement amliorer la qualit sonore. Plus le temps sparant le son original et son echo est rduit,
moins loreille humaine peut le dtecter. La dure de ce dlai peut alors tre utilise pour dissimuler
des bits dinformation. Ces dlais une fois mesurs, il est alors possible de recrer le message initial.
18.4.3
La vido
Plusieurs techniques existent, mais sont pour la plupart des amliorations ou modifications de la
technique de la transforme en cosinus discret (DCT). Celle-ci utilise la quantification des parties les
moins importantes des images (arrondies aux valeurs suprieures par exemple). Loeil tant relativement
peu sensible aux hautes frquences, la DCT pourra appliquer des modifications plus importantes dans
cette plage, sans pour autant crer de modifications visibles dans limage. Le message est alors inject
dans limage en jouant sur les facteurs darrondi. Une compression sans perte est ensuite applique.
18.4.4
Autres supports
La plupart des fichiers existants peuvent tre utiliss pour transmettre un message de manire cache.
Cela peut aller de la simple page HTML des formes plus volues telles que linsertion doctets dans
une portion inutilise de code assembleur. La stganographie ne se cantonne donc pas aux simples images
204
18. LA STGANOGRAPHIE
ou fichiers musicaux.
Lexemple de code assembleur suivant illustre le principe de linsertion doctets dans les trous du code.
Soit le clbre code source suivant :
/* hello.c */
main() {
printf("Bonjour\n");
}
Sa version assembleur, la figure 18.7, est quant elle plus longue :
205
18. LA STGANOGRAPHIE
18.5
La stganalyse
La stganalyse consiste identifier la prsence dun message. Seule cette prsence doit tre dtermine.
Dans un second temps, le message lui-mme pourra tre retrouv, mais ce nest pas lobjectif principal
de la stganalyse.
Il existe deux catgories dattaques :
1. Les attaques passives : elles visent identifier la prsence dun message, dans le but secondaire de
pouvoir le reconstituer par la suite. Ces attaques peuvent prendre plusieurs formes :
la lecture ou lcoute du fichier,
la comparaison avec le fichier original (si il est disponible),
certaines attaques statistiques (attaques sur le LSB),
la dtection des signatures des logiciels utiliss (tude du code hexadcimal)
2. Les attaques actives : elles consistent dtruire le message cach, sans prter attention ce quil
signifie. Lobjectif est de supprimer le message, ou en tout cas, le rendre inutilisable. Cette
destruction aura souvent lieu par lintermdiaire de modifications du support (redimensionnement
(image, vido), filtrage (sons), compression, ...).
18.6
Les Anamorphoses
Une anamorphose est une image dforme qui retrouve ses proportions dorigine quand on la regarde
sous un certain angle ou rflchie dans un miroir adapt. Les miroirs utiliss peuvent avoir de nombreuses
formes dont les plus rpandues sont les miroirs coniques, cylindriques, ou encore spriques.
On trouve les premiers exemples au dbut du 17me sicle, mais cette technique est toujours rgulirement utilise de nos jours dans la vie courante. On peut notamment citer les marquages routiers ou les
publicits marques au sol dans les grands prix de F1 par exemple. Si on se tient proximit de limage,
elle apparait dforme, mais une fois une certaine distance respecte, ou selon un angle de vue prcis,
limage apparait "normalement" (comme on le voit sur la figure 18.8).
206
18. LA STGANOGRAPHIE
18.7
Ressources supplmentaires
http://www.apprendre-en-ligne.net/crypto/stegano/barncode.html
http://www.echu.org/articles/securite/RapportStegano.pdf
http://www.fbi.gov/hq/lab/fsc/backissu/july2004/research/2004_03_research01.htm
http://neuro.caltech.edu/~seckel/mod/
http://www.anamorphosis.com/
207
Chapitre 19
Conclusions
Il faut protger intelligemment, cest--dire tudier
Ce quil faut protger
Comment le protger
1. Assurer un niveau adquat de scurit
(a) Ne pas surprotger ce qui nen vaut pas/plus la peine
(b) Protger efficacement ce qui en vaut la peine
2. Placer la scurit au bon endroit.
Ne jamais sous-estimer le facteur humain
Mais cest aussi
Rester attentif aux nouvelles technologies, aux mises jour de scurit des logiciels, etc.
Veiller la maintenance des bases de donnes du systme informatique (BD antivirus, scurit du
SGBD utilis, etc.)
Ne pas se reposer sur une scurit juge bonne un moment donn
La scurit est omniprsente et ncessaire tous les niveaux dutilisation de linformation, de sa cration sa destruction.
Et enfin, pour rappel :
La scurit est un compromis entre efficacit et convivialit
208
Bibliographie
[1] William Stallings. Cryptography and Network Security : Principles and Practice, 3rd ed. Prentice
Hall, 2003.
[2] Didier Mller. Les Codes secrets dcrypts. City Editions, 2007.
[3] Alfred J. Menezes, Scott A. Vanstone, and Paul C. Van Oorschot. Handbook of Applied Cryptography.
CRC Press, Inc., Boca Raton, FL, USA, 1996.
[4] Philippe Oechslin. Les compromis temps-memoire et leur utilisation pour casser les mots de passe
windows. 2004.
[5] Travis Spann. Fault induction and environmental failure testing, 2005.
[6] Sergei P. Skorobogatov and Ross J. Anderson. Optical fault induction attacks, 2002.
[7] Adi Shamir and Aran Tromer. Acoustic cryptanalysis : On nosy people and noisy machines, 2004.
[8] Li Zhuang, Feng Zhou, and J. D. Tygar. Keyboard acoustic emanations revisited. 2005.
[9] Jan C. A. van der Lubbe. Basic methods of cryptography. Cambridge University Press, 1998.
[10] Douglas R. Stinson. Cryptography : Theory and Practice, 2nd ed. CRC Press, Inc., 2002.
[11] Anil K. Jain, Arun Ross, and Salil Prabhakar. An introduction to biometric recognition, 2004.
[12] Salil Prabhakary, Anil K. Jain, and Sharath Pankant. Learning fingerprint minutiae location and
type, 2001.
[13] Dr. Marios Savvides. Introduction to biometric recognition technologies and applications, 2006.
[14] Jarmo Ilonen. Keystroke dynamics, 2003.
[15] B. Lampson. Computer security in the real world, 2001.
[16] Computer Security Institute. Csi/fbi 2007 computer crime and security survey, 2007.
[17] Craig Wright, Dave Kleiman, and Shyaam Sundhar. Overwriting hard drive data : The great wiping
controversy. 2008.
[18] Peter Gutmann. Secure deletion of data from magnetic and solid-state memory. 1996.
[19] Gordon Hughes and Tom Coughlin. Tutorial on disk drive data sanitization, 2006.
209