Vous êtes sur la page 1sur 261

Universit de Lige

Facult des Sciences Appliques

Cryptographie et Scurit informatique


INFO0045-2

Notes de cours
provisoires
2009 - 2010
Renaud Dumont

Table des matires


1 Introduction
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Diffrents modles de scurit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

5 Le chiffrement par blocs


5.1 Introduction . . . . . . . . . . . . . . . .
5.2 Les structures de Feistel . . . . . . . . .
5.3 D.E.S. - Data Encryption Standard . . .
5.4 Faiblesses du D.E.S. et volutions . . . .
5.5 A.E.S. - Advanced Encryption Standard
5.6 Modes de chiffrement symtrique . . . .
5.7 Rfrences supplmentaires . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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
. . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

70
71
72
74
77
77

.
.
.
.
.
.

7 Le chiffrement par cl publique


7.1 Concept . . . . . . . . . . . . . . .
7.2 Merkle-Hellman . . . . . . . . . . .
7.3 RSA : Rivest - Shamir - Adleman .
7.4 El Gamal . . . . . . . . . . . . . .
7.5 Lutilisation des courbes elliptiques
7.6 Comparaisons . . . . . . . . . . . .
7.7 Ressources supplmentaires . . . .
8 Authentification et intgrit
8.1 Par chiffrement du message . .
8.2 Fonctions de hachage . . . . . .
8.3 MAC - Message Authentication
8.4 Signatures digitales . . . . . . .
8.5 Le Zero-Knowledge . . . . . . .
8.6 Ressources supplmentaires . .

78
78
79
81
85
86
90
91

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

. . . .
. . . .
Code
. . . .
. . . .
. . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

92
. 92
. 94
. 98
. 100
. 101
. 103

et lintgrit
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

9 Algorithmes pour lauthentification


9.1 MD5 . . . . . . . . . . . . . . . . .
9.2 SHA-1 . . . . . . . . . . . . . . . .
9.3 Algorithmes pour les MAC . . . .
9.4 Algorithmes de signatures . . . . .
9.5 Algorithme ZK . . . . . . . . . . .

.
.
.
.
.
.
.

104
104
107
109
111
114

10 La gestion des cls


115
10.1 Distribution des cls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.2 Echange des cls - Diffie Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.3 Ressources supplmentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11 IPSEC
11.1 Prsentation . . . . . . . . . . . . . . .
11.2 Architecture . . . . . . . . . . . . . . .
11.3 Les modes dIPSec . . . . . . . . . . .
11.4 SPD et SA . . . . . . . . . . . . . . .
11.5 AH - Authentication Header . . . . . .
11.6 ESP - Encapsulation Security Payload
11.7 Gestion des cls . . . . . . . . . . . . .
11.8 Ressources supplmentaires . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

126
126
127
127
128
129
130
131
133

12 Protocoles dauthentification
12.1 Authentification mutuelle . . . . . .
12.2 Authentification par passage unique
12.3 Kerberos . . . . . . . . . . . . . . . .
12.4 Secure Socket Layer . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

134
134
136
136
140

13 Les architectures de
13.1 Le SET . . . . .
13.2 3D-Secure . . . .
13.3 Autres solutions

.
.
.
.

paiement lectronique
146
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

ii

14 PGP
14.1 Principes . . . . . . . . . . . . . . .
14.2 Format dun message . . . . . . . . .
14.3 Cls cryptographiques et anneaux de
14.4 Ressources supplmentaires . . . . .

.
.
.
.

156
156
159
159
163

15 S/Mime
15.1 SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.2 MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 S/MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

164
164
164
165

. . .
. . .
cls
. . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

16 Le monde quantique
167
16.1 Le calculateur quantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
16.2 La cryptographie quantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
16.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
17 La cryptanalyse
17.1 Les 4 attaques cryptanalytiques . .
17.2 Quelques autres techniques . . . .
17.3 Attaquer les fonctions de hachage .
17.4 Les attaques par canaux auxiliaires
17.5 En guise de conclusion . . . . . . .

.
.
.
.
.

174
174
175
178
180
181

18 Gestion des accs


18.1 Modle de Lampson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2 Mthodes daccs aux donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.3 La problmatique des mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

182
182
183
185

19 Scurit logicielle
19.1 Introduction . . . . . . . . .
19.2 Virus, Vers et drivs . . . .
19.3 Les systmes de protection .
19.4 La notion de Vulnrabilit .
19.5 Ressources supplmentaires

188
188
190
195
203
208

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

20 La scurit en entreprise
209
20.1 La notion de risque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
20.2 La destruction des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
21 La biomtrie
21.1 Fonctionnement . . . . . . . . . . . . . .
21.2 Mode de fonctionnement . . . . . . . . .
21.3 Mesures des performances . . . . . . . .
21.4 Moyens biomtriques physiques . . . . .
21.5 Moyens biomtriques comportementaux
21.6 Moyens biomtriques exprimentaux . .
21.7 La biomtrie multimodale . . . . . . . .
21.8 Avantages, inconvnients et conclusions
21.9 Ressources supplmentaires . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

iii

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

215
215
216
217
218
224
226
227
228
228

22 La Stganographie
22.1 Dfinition . . . . . . . . . . . . .
22.2 La stganographie dans lHistoire
22.3 Principes . . . . . . . . . . . . .
22.4 Les types de support . . . . . . .
22.5 La stganalyse . . . . . . . . . .
22.6 Les Anamorphoses . . . . . . . .
22.7 Ressources supplmentaires . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

23 Conclusions
24 Annexe 1 : Rappels mathmatiques
24.1 Entropie . . . . . . . . . . . . . . . .
24.2 Distance dunicit . . . . . . . . . .
24.3 Arithmtique modulaire . . . . . . .
24.4 Algorithme dEuclide . . . . . . . . .

229
229
231
234
236
238
238
239
240

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

241
241
243
243
247

25 Annexe 2 : Concours AES


250
25.1 Rijndael - Daemen, Rijmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
25.2 Serpent - Anderson, Biham, Knudsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
25.3 Twofish - Schneier, Wagner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
26 Annexe 3 : Scurit logicielle
253
26.1 Intrusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
26.2 Les firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Bibliographie

255

iv

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-cathedra. 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 plusieurs 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.

Fig. 1.1 La scurit existe plusieurs niveaux (porte de linformation)


On assiste galement une volution constante des techniques, quil sagisse des techniques visant
scuriser lchange de ces donnes ou des techniques mises au point pour contourner ces systmes
scuriss.
Dune manire gnrale, la scurit des donnes tend samliorer. La raison principale est quaujourdhui, ltude des contournements possibles est simultane ltude des protections. La tendance actuelle
veut que les rsultats dcouverts, tous domaines confondus, soient publis. Dans le cadre de la scurit
informatique, cela permet de dcouvrir plus rapidement les failles et/ou avantages de certaines techniques.

1. INTRODUCTION

Fig. 1.2 Stades de vie de linformation

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.

Fig. 1.3 La transmission de donnes vue par Shannon-Weaver en 1949


Pour plus de facilits dans le cadre de ce cours de scurit, nous simplifierons ce schma en trois
entits, telles que reprsentes la figure 1.4

Fig. 1.4 La transmission de donnes simplifie


Ajoutons que les signaux mis et reu seront ici lenvoi et la rception de messages, mais nous prciserons la terminologie employe par la suite.
R. Dumont - Notes provisoires

1. INTRODUCTION

Avec la popularit grandissante des rseaux, des changes de donnes, et donc des transmissions entre
individus, 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

Fig. 1.5 Types de menaces actives

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

Diffrents modles de scurit

Tout en restant 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.

R. Dumont - Notes provisoires

1. INTRODUCTION

Fig. 1.6 CIA

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

Le contrle daccs : Le protocole AAA

On peut en effet se demander pourquoi la vrification de lidentit des parties communicantes nest
pas traite dans ce premier modle. Celui-ci est en ralit la base de tous les systmes existants. Il fut
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.

Fig. 1.7 Le pentagone de confiance


On y retrouve les notions dauthentification, de disponibilit, dautorisation et dintgrit (Authenticity). Mais on y dcouvre un nouveau thme : ladmissibilit : La machine sur laquelle nous travaillons,
laquelle nous nous connectons, est-elle fiable ? En dautres termes, peut-on faire confiance la machine
cible ?

1.2.3

Parkerian Hexad (2002)

Fig. 1.8 Lhexagone de Parker


Ce modle, initi par Donn Parker, ajoute la nuance dutilit (une information chiffre pour laquelle
on a perdu la cl de dchiffrement nest plus daucune utilit, bien que lutilisateur y ait accs, que cette
information soit confidentielle, disponible et intgre).

1.2.4

McCumber Cube (1991)

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

R. Dumont - Notes provisoires

1. INTRODUCTION

Fig. 1.9 Le Cube de McCumber

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 dverrouiller 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.

R. Dumont - Notes provisoires

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

Fig. 2.1 Protocole de chiffrement

Cryptologie :
cryptanalyse

Il sagit dune science mathmatique comportant deux branches : la cryptographie et la

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.

Fig. 2.2 Schma dun cryptosystme


Lalgorithme est en ralit un triplet dalgorithmes :
lun gnrant les cls K,
un autre pour chiffrer M, et
un troisime pour dchiffrer C.
Remarque : On parle de "dcryptage" pour dsigner laction permettant de retrouver le texte clair sans
connatre la clef de dchiffrement. On emploie galement parfois les termes "cryptage" et "crypter" pour
qualifier laction de chiffrer un message. Les mots "encryptage" et "(en)cryptement" sont des anglicismes
drivs du verbe "to encrypt".

2.2

Notations

En cryptographie, la proprit de base est que


M = D(E(M ))
o
M reprsente le texte clair,
C est le texte chiffr,
K est la cl (dans le cas dun algorithme cl symtrique), Ek et Dk dans le cas dalgorithmes
asymtriques,
E(x) est la fonction de chiffrement, et
D(x) est la fonction de dchiffrement.
Ainsi, avec un algorithme clef symtrique,
M = D(C) si C = E(M )
R. Dumont - Notes provisoires

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

La publication des algorithmes

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

donc, dans lequel le secret rside dans la cl.

R. Dumont - Notes provisoires

10

2. INTRODUCTION LA CRYPTOGRAPHIE

2.5

Les principaux concepts cryptographiques

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
prfrera lchange manuel. 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.

Fig. 2.3 Chiffrement symtrique

2.5.2

Cryptosystme cl publique

Fig. 2.4 Chiffrement asymtrique


Caractristiques :

Une cl publique PK (symbolise par la cl verticale),


Une cl prive secrte SK (symbolise par la cl horizontale),
Proprit : La connaissance de PK ne permet pas de dduire SK ,
DSK (EPK (M )) = M ,
Lalgorithme de cryptographie asymtrique le plus connu est le RSA,
Le principe de ce genre dalgorithme est quil sagit dune fonction unidirectionnelle trappe. Une
telle fonction la particularit dtre facile calculer dans un sens, mais difficile voire impossible
dans le sens inverse. La seule manire de pouvoir raliser le calcul inverse est de connatre une

R. Dumont - Notes provisoires

11

2. INTRODUCTION LA CRYPTOGRAPHIE

trappe. Une trappe pourrait par exemple tre une faille dans le gnrateur de cls. Cette faille peut
tre soit intentionnelle de la part du concepteur (dfinition stricte dune trappe) ou accidentelle.
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

dsigner un utilisateur, on emploiera galement le terme "entit"

R. Dumont - Notes provisoires

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.

Fig. 2.5 Confidentialit dun systme symtrique

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.

Fig. 2.6 Confidentialit dun systme asymtrique

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.

Fig. 2.7 Confidentialit dun systme hybride

3 Pour

la cl K dans un systme symtrique, on parle galement de "cl de session"

R. Dumont - Notes provisoires

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.

Fig. 2.8 Vrification de lintgrit par fonction 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

Elle a lieu plusieurs niveaux.


Au niveau des parties communicantes, dans le cas dun systme symtrique (figure 2.9) ou asymtrique (figure 2.10). A la premire figure, Ra est une nonce (p. ex. nombre alatoire), propre
lutilisateur A. Les lettres A et B reprsentent des identificateurs personnels.

Fig. 2.9 Authentification dans un systme symtrique


A la seconde figure, la cl de chiffrement utilise est bien la cl prive. Comme le propritaire de
cette cl est le seul la connaitre, cela prouve quil est bien la personne ayant chiffr le message.
Attention, dans cet exemple, seule lauthentification est souhaite. Le message envoy pourra tre
lu par toute personne possdant la cl publique, cest--dire, nimporte qui. La confidentialit est
ici nulle.

Fig. 2.10 Authentification dans un systme asymtrique

R. Dumont - Notes provisoires

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.

Fig. 2.11 Authentification par MAC et systme symtrique

Fig. 2.12 Authentification par MAC et fonction de hachage


Par lutilisation dune signature digitale. Parmi les proprits remarquables de ces signatures, on
peut dire quelles doivent tre authentiques, infalsifiables, non-rutilisables, non-rpudiables, et
inaltrables. Dans la figure 2.13, on fait abstraction de la confidentialit. Cest lauthentification
qui importe.

Fig. 2.13 Authentification par signature (technique asymtrique)

R. Dumont - Notes provisoires

15

2. INTRODUCTION LA CRYPTOGRAPHIE
2.5.4.4

Synthse

Fig. 2.14 Confidentialit(Rouge), Intgrit(Violet), Authentification(Vert)

R. Dumont - Notes provisoires

16

Chapitre 3

La cryptographie classique
Dans le schma ci-dessous figurent les diffrentes branches de la cryptographie classique.

Fig. 3.1 Domaines inclus dans la cryptologie.

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

Chiffre de Csar (50 av. J-C)

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 lalphabet, 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.

Fig. 3.2 Exemple danalyse de frquence

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.

R. Dumont - Notes provisoires

18

3. LA CRYPTOGRAPHIE CLASSIQUE

Fig. 3.3 Bigrammes et Trigrammes


On peut galement utiliser des homophones :
Il sagit de remplacer une lettre non pas par un symbole unique, mais par un symbole choisi au
hasard parmi plusieurs. Dans sa version la plus sophistique, on choisira un nombre des symboles
proportionnel la frquence dapparition de la lettre. Ainsi, on obtient un renversement des frquences ce qui permet de faire disparatre compltement les indications fournies par la frquence.
On parle de Substitution Homophonique ou de Substitution reprsentation multiple.

Fig. 3.4 Exemple de table pour un chiffrement par homophones

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 respecter la proprit de k1 , il ny a que
12 choix possibles. Et puisque k2 peut prendre nimporte quelle valeur dans [0, 25], il vient 12 26 = 312.
Exemple :

Soient la cl = (k1 , k2 ) = (3, 11)

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

Cryptanalyse du chiffre affine

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)

14k1 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

Chiffre de Playfair (1854)

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 (habituellement 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

Fig. 3.5 Exemple du chiffre de Playfair

3.2.2

Chiffre de Hill (1929)

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.

Fig. 3.6 Exemple de chiffrement de Hill

R. Dumont - Notes provisoires

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

Fig. 3.7 Exemple de dchiffrement de Hill

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

Fig. 3.8 Application du carr de Vigenre


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.

Fig. 3.9 Perte de la frquence des lettres


Pour utiliser le chiffrement de Vigenre, on a recours au Carr de Vigenre, illustr la figure 3.10.

Fig. 3.10 Le carr de Vigenre

R. Dumont - Notes provisoires

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 est ncessaire que m divise d.
m sera donc le pgcd des distances de squences rptes. m reprsentera la longueur de la cl de chiffrement !
Il faut toutefois baser ce raisonnement sur les valeurs significatives du pgcd. Ainsi, dans lexemple 3.11,
les suites FCS et WTV ne seront pas prises en compte.

Fig. 3.11 Mthode de Kasiski


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.
R. Dumont - Notes provisoires

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)

Plus gnralement, la probabilit de tirer 2 lettres identiques est donne par :


IC =

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.

Fig. 3.12 IC des principales langues europennes


Plus n est grand, plus la probabilit est correcte.
Le test de Friedman (aussi appel Test Kappa) a pour premier objectif de dterminer si un texte a
t chiffr avec un chiffre monoalphabtique ou polyalphabtique. Comme second bnfice, il suggre la
longueur du mot-clef si le chiffre est polyalphabtique. Pour raliser ces buts, le test de Friedman sappuie
sur lIC.
Remarques importantes :
Pour un langage de 26 lettres o chaque lettre a la mme frquence (1/26), lIC vaut 0.038.
Pour tout chiffre monoalphabtique, la distribution des frquences est invariante, donc lIC sera le
mme que pour le texte clair (respect des frquences).
Donc, si on applique ce test un texte chiffr avec un chiffre monoalphabtique, on devrait trouver
IC gal environ 0.074 (en franais). Si IC est beaucoup plus petit (p. ex. 0.050), le chiffre est
probablement polyalphabtique.
Exemple de cryptanalyse par le test de Friedman
Soit le message suivant, suppos crit en franais, chiffr avec Vigenre (369 lettres) :
PERTQ UDCDJ XESCW MPNLV MIQDI ZTQFV XAKLR PICCP QSHZY DNCPW EAJWS ZGCLM QNRDE OHCGE ZTQZY HELEW AUQFR OICWH QMYRR UFGBY QSEPV NEQCS EEQWE EAGDS ZDCWE OHYDW QERLM FTCCQ UNCPP QSKPY FEQOI OHGPR EERWI EFSDM
XSYGE UELEH USNLV GPMFV EIVXS USJPW HIEYS NLCDW MCRTZ MICYX MNMFZ QASLZ
QCJPY DSTTK ZEPZR ECMYW OICYG UESIU GIRCE UTYTI ZTJPW HIEYI ETYYH USOFI
XESCW HOGDM ZSNLV QSQPY JSCAV QSQLM QNRLP QSRLM XLCCG AMKPG QLYLY DAGEH GERCI RAGEI ZNMGI YBPP
On va considrer les sous-chanes obtenues en prenant les lettres intervalle donn :

R. Dumont - Notes provisoires

26

3. LA CRYPTOGRAPHIE CLASSIQUE

Intervalle de 1 : PERTQ UDCDJ XESCW MPNLV ... (texte original)


Intervalle de 2 : PRQDD XSWPL ... et ETUCJ ECMNV ...
Intervalle de 3 : PTDJS MLIIQ ..., EQCXC PVQZF... et RUDEW NMDTV
...

On calcule ensuite les IC pour toutes ces sous-chanes, procd illustr la figure 3.13.

Fig. 3.13 Indice de concidence des sous-chaines


On remarque que quand lintervalle est de 5, lIC correspond plus ou moins avec lIC caractristique
du franais (en tout cas, cest cette ligne qui sapproche le plus de 0.074, les autres lignes tant plutt
proches de 0.038). La longueur de la clef utilise est donc probablement 5.

Dautre part, si un message en franais de longueur n et dindice de concidence IC est chiffr avec
un carr de Vigenre, alors on peut dfinir r, la longueur du mot-clef compos de lettres distinctes, qui
est donn par la formule suivante
(0.074 0.038)n
0.036n

(n 1)IC 0.038n + 0.074


(n 1)IC 0.038n + 0.074
En appliquant cette formule au texte prcdent, on trouve r = 4.69, ce qui confirme ce que lon avait
trouv ci-dessus.
r

3.3.2

Chiffre de Vernam (One Time Pad - 1917)

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.

Fig. 3.14 Exemple de One Time Pad


Pour utiliser ce chiffrement, il faut respecter plusieurs proprits :

choisir une clef aussi longue que le texte chiffrer,


utiliser une clef forme dune suite de caractres alatoires,
protger votre clef,
ne jamais rutiliser une clef.

R. Dumont - Notes provisoires

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).

Fig. 3.15 Application dune transposition

R. Dumont - Notes provisoires

28

3. LA CRYPTOGRAPHIE CLASSIQUE

3.5

Machines rotor

Extrait en partie de [2].


Lentre-deux-guerres voit le dbut de la mcanisation de la cryptographie. Des outils mcaniques, comme
les cylindres chiffrants, sont mis disposition des oprateurs, et des machines lectromcaniques, sont
mises au point. Ces machines fonctionnent sur le principe des rotors et des contacts lectriques, afin de
raliser des formes de substitution polyalphabtique dont la clef a une longueur gigantesque de lordre
de centaines de millions de lettres, au lieu de quelques dizaines dans les mthodes artisanales, comme
le chiffre de vigenre. Le tableau 3.1 donne quelques systmes lectro-mcaniques. En supplment, on
pourra citer les machines Purple (Japon), Nema (Suisse) et Sigaba (USA) pour les plus clbres, mais il
en existe encore beaucoup dautres (machines de Hebern (USA), CCM (USA), variantes dEnigma,...)
Origine
USA
Allemagne
Angleterre
Pologne

Nom
Hagelin M-209
Enigma
Typex
Lacida

Priodes des rotors


101 405 850 (26*25*23*21*19*17)
17 576 (26*26*26)1
26*(26-k)*26 avec (k = 5; 7; 9)1
26 040 (24*31*35)

Tab. 3.1 Quelques machines et leur priode.

Fig. 3.16 Diffrents systmes lectromcaniques

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.)

R. Dumont - Notes provisoires

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 branchements du
tableau de connexions. Par exemple, on pouvait spcifier la clef du jour ainsi :

Position des rotors : 2 - 3 - 1


Orientations des rotors : 2 - 23 - 5
Branchements des connexions : A/L - P/R - T/D - B/W - K/F - O/Y
Indicateurs : B - W - E

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 voit sur la figure 3.17, si on frappe la lettre b sur le clavier, un courant lectrique est
envoy dans le rotor, suit le 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".

Fig. 3.17 Premire tape de chiffrement


Dans notre exemple le mot bac est chiffr ADD (et non ABD si le rotor tait rest immobile).
R. Dumont - Notes provisoires

30

3. LA CRYPTOGRAPHIE CLASSIQUE

Fig. 3.18 Deuxime tape de chiffrement

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.

Fig. 3.19 Troisime tape de chiffrement

R. Dumont - Notes provisoires

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.

Fig. 3.20 Bombe de Turing


Avec le temps, les machines Enigma furent modifies, et bientt, les attaques exhaustives devinrent
trop lourdes. Mais deux mthodes furent encore utilises :
Test de mots courants ( wetter ) : certains termes revenaient rgulirement dans les envois de
message. Ainsi, le bulletin mtorologique se transmettait tous les matins la mme heure. Le
terme "wetter" (= mto en Allemand) permettait dobtenir des renseignements sur la faon dont
tait chiffrer les lettres. Et ces dispositions pouvaient tre testes avec les Bombes, ce qui rduisait
lespace des cls possibles.
Test de cillies : mois aprs mois, les envois devenaient rptitifs pour les Allemands. Certains des
transcripteurs finirent par utiliser des cls de moins en moins sophistiques, la plupart du temps,
des suites de lettres au clavier (ex : azert, poiu, bhunji, etc.). Ces cillies permirent de retrouver les
cls de chiffrement plus facilement.

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

R. Dumont - Notes provisoires

32

Chapitre 4

Complments mathmatiques
4.1

Thorie de Shannon - Entropie

Lentropie est la mesure lincertitude sur linformation et dnote H(M).


On la dfinit galement comme le nombre de bits de texte clair qui doivent tre retrouvs pour retrouver le texte en clair en entier. Plus lentropie est leve, plus il y a dincertitude et donc dinformation
lie la source.
En gnral, H(M) est de type log2 n (n = nbre de significations possibles).
4.1.0.3

Taux du langage (r) :

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

Taux absolu (R) :

Cest le nombre maximal de bits pouvant tre cods par chaque caractre (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 redondantes.
4.1.0.5

La redondance dun langage (D) :

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

La redondance relative dun langage :

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

Dmonstration de la confidentialit parfaite du chiffre de Vernam

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) =

R. Dumont - Notes provisoires

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

o on a utilis le fait que M et K sont indpendants. Dautre part,


P (C = y) =

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

Lobjectif principal en cryptographie est de minimiser linformation fournie par lintermdiaire du


texte chiffr.
Plus un texte est redondant, plus il est simple cryptanalyser. La compression rduit cette redondance.
Un systme parfait est loppos dun systme pratique : la cl doit tre de taille raisonnable et
rutilisable.

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

Elaboration de la formule de la distance dunicit

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

Complexit en temps et en espace

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.

R. Dumont - Notes provisoires

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

Les problmes NP-Complet

Soit le problme dit de la satisfaisabilit (SAT) :


Etant donn une formule boolenne propositionnelle, y a-t-il un moyen dassigner
des valeurs de vrit aux variables de telle manire que la formule soit vraie ?
A lheure actuelle, on ne sait pas si SAT se situe dans P ou dans NP. On le place donc dans une
autre classe, incluse dans NP, appele Classe NP-Complet. Les problmes quivalents au problme SAT
forment cet ensemble des problmes de la classe NP-Complet. Cette relation est issue du thorme de
Cook.
Thorme 2 (Thorme de Cook) Tout problme NP peut tre rduit au problme de la satisfaisabilit en un temps polynomial.

Objectifs en cryptographie :
Les mthodes de chiffrement/dchiffrement appartiennent P.
Les mthodes de dcryptement et cryptanalyse appartiennent lensemble NP-Complet.

4.3
4.3.1

Autres concepts utiles


Rsidus quadratiques

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.

R. Dumont - Notes provisoires

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

Fonction totient dEuler

Soit la fonction dEuler dfinie par :


(m) = #{n m|(n, m) = 1}
(n) est lindicateur dEuler, cest--dire le cardinal des entiers inversibles de n.
Il faut lire : la fonction du nombre m a pour rsultat un nombre n infrieur ou gal m et tel que
le plus grand commun diviseur de n et m soit 1.
Si n est premier, il vient (n) = n 1. La fonction (n) donne le nombre dentiers positifs plus petits
ou gaux n relativement premiers n.
On a ici une proprit remarquable : on peut compter le nombre dentiers positifs plus petits que m
et "relativement premiers" m, cest--dire :
(m) =

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(m)1 mod m.
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 des restes chinois

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.

R. Dumont - Notes provisoires

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

Petit thorme de Fermat

Thorme 6 (Petit thorme de Fermat) Soit p un nombre premier, (a,p)=1. Alors :


ap1 = 1 mod p

Si n N est donn, soit a tel que (a,n)=1. On calcule alors an1 . Si an1 6= 1 mod n alors n nest
pas premier. Il faut cependant remarquer que cette condition nest pas ncessaire et suffisante.
4.3.4.2

Test de primalit de Solovay-Strassen

1. Choisir un nombre a < p avec p est impair


Si (a, p) 6= 1, alors p est compos
2. Calculer j = a(p1)/2 mod p
3. Calculer le Jacobien J(a,p)
Si j 6= J(a, p), p nest pas premier
Si j = J(a, p), la probabilit que p soit non premier est de maximum 50%
On rpte alors lopration pour dautres valeurs de a.
Symbole de Jacobi

J(a,n) nest dfini que pour n impair


J(0,n) = 0
Si n est premier alors
J(a,n) = 0 si n|a
J(a,n) = 1 si a est un rsidu quadratique modulo n
J(a,n) = -1 si a nest pas un rsidu quadratique modulo n
Si n est un nombre compos alors J(a, n) = J(a, p1 ) ... J(a, pn ) o p1 , ..., pn est la dcomposition
en facteurs premier de n

R. Dumont - Notes provisoires

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

Test de primalit de Miller-Rabin

Si n est un nombre premier, alors on peut crire


n 1 = 2s d
avec s entier et d impair.
Le test de Miller-Rabin nonce que n est premier si les deux quations suivantes sont vrifies :
ad 6= 1 mod n
a2

.d

6= 1 mod n

et ce, r dans [0; s 1].

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

R. Dumont - Notes provisoires

42

Chapitre 5

Le chiffrement par blocs


5.1

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

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.1 Substitution et permutation

Fig. 5.2 Succession de rondes

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.

Fig. 5.3 Effet davalanche

R. Dumont - Notes provisoires

44

5. LE CHIFFREMENT PAR BLOCS

5.2

Les structures de Feistel

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.

Fig. 5.4 Structure de Feistel


Dans une construction de Feistel (figure 5.4), le bloc dentre dun round est spar en deux parties.
La fonction de chiffrement est applique sur la premire partie du bloc et lopration binaire OU-Exclusif
() est applique sur la partie sortante de la fonction et la deuxime partie. Ensuite les deux parties sont
permutes et le prochain round commence.
Lavantage est que la fonction de chiffrement et la fonction de dchiffrement sont identiques. Ainsi la
fonction na pas tre inversible, cest la structure qui lest.

Fig. 5.5 La structure est inversible

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

Fig. 5.6 Table de correspondance de fonctions

R. Dumont - Notes provisoires

45

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.7 Excution dun schma de Feistel

5.2.2

Choix des paramtres

La ralisation dun tel rseau dpend des choix effectus pour les paramtres suivants :

Taille du bloc : si elle augmente, la scurit augmente galement


Taille de cl : si elle augmente, la scurit aussi
Nombre de cycle : plus il y en a, plus la scurit est renforce
Algorithme de gnration des sous-cls : plus il est complexe, plus la comprhension est rendue
difficile.

5.3

D.E.S. - Data Encryption Standard

5.3.1

Prsentation

Le D.E.S. (Data Encryption Standard, cest--dire Standard de Chiffrement de Donnes) est un


standard mondial depuis la fin des annes 1970.
Au dbut de cette dcennie, le dveloppement des communications entre ordinateurs a ncessit la mise
en place dun standard de chiffrement de donnes pour limiter la prolifration dalgorithmes diffrents
ne pouvant pas communiquer entre eux. Pour rsoudre ce problme, LAgence Nationale de Scurit
amricaine (N.S.A.) a lanc des appels doffres. La socit I.B.M. a dvelopp alors un algorithme nomm
Lucifer, relativement complexe et sophistiqu. Aprs quelques annes de discussions et de modifications
(applications de S-Boxes et rduction des cls de 56 bits), cet algorithme, devenu alors D.E.S., fut
adopt au niveau fdral le 23 novembre 1976.
Particularits
Le DES comporte plusieurs avantages qui en ont fait lalgorithme de chiffrement symtrique standard
pendant longtemps, jusquil y a quelques annes. En voici quelques-uns :

il possde un haut niveau de scurit,


il est compltement spcifi et facile comprendre,
la scurit est indpendante de lalgorithme lui-mme,
il est rendu disponible tous, par le fait quil est public,
il est adaptable diverses applications (logicielles et matrielles),
il est rapide et exportable,
il repose sur une cl relativement petite, qui sert la fois au chiffrement et au dchiffrement,
il est facile implmenter.

R. Dumont - Notes provisoires

46

5. LE CHIFFREMENT PAR BLOCS

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.

Fig. 5.8 Algorithme principal du DES


Lalgorithme repose principalement sur 3 tapes, en plus de la gestion spcifique de la cl :
1. Permutation initiale
2. Calcul mdian (16 fois) : application dun algorithme complexe appliqu en fonction de la cl
3. Permutation finale
5.3.2.1

La permutation initiale

Les 64 bits du bloc dentre subissent la permutation de la figure 5.9


R. Dumont - Notes provisoires

47

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.9 Matrice de permutations initiale

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

Les 64 bits initiaux de donnes sont diviss en 2 blocs (L et R).


Itrations :
Ln = Rn1
Rn = Ln1 F (Rn1 , Kn )
Kn = G(K, n)
avec
Tn = Ln Rn
Ln = t1 ...t32
Rn = t33 ...t64

Fig. 5.10 Etape gnrale du calcul mdian

R. Dumont - Notes provisoires

48

5. LE CHIFFREMENT PAR BLOCS


Le calcul mdian seffectue en 16 itrations. Le dtail de la fonction F est donn la figure 5.11. On
traite 2 blocs simultanment : un bloc de 32 bits (donnes) et un bloc de 48 bits (cls). Le rsultat forme
un bloc de 32 bits.

Fig. 5.11 Fonction F dtaille

Expansion : Les 32 bits sont tendus 48 bits grce une table dexpansion (galement appele
matrice dextension). On retrouve ici un effet davalanche.

Fig. 5.12 Matrice dexpansion

Fig. 5.13 Phase dexpansion

R. Dumont - Notes provisoires

49

5. LE CHIFFREMENT PAR BLOCS


Addition de la sous-cl : Le rsultat de lexpansion est additionn (par une opration ) la
sous-cl Kn correspondant litration selon la formule :
E(Ri1 ) Ki = B1 B2 . . . B8
Les B1 , B2 , ..., B8 sont des blocs de 6 bits :
B j = b1 b2 b3 b4 b5 b6 .
Transformations par S-Boxes : Chaque bloc Bj constitue ensuite lentre de lopration de
substitution ralise sur base des S-Box.

Fig. 5.14 Transformations S-Box


Lopration de substitution consiste pour chaque S-box calculer :
b1 b6 = n de ligne
b2 b3 b4 b5 = n de colonne

Fig. 5.15 S-Box particulire

Fig. 5.16 Les 8 S-Box du DES

R. Dumont - Notes provisoires

50

5. LE CHIFFREMENT PAR BLOCS


Transformations par P-Box (permutation du calcul mdian) : Lopration de permutation
est ralise sur le rsultat de la substitution des S-box et est base sur la table de la figure 5.17.

Fig. 5.17 Matrice de permutation du calcul mdian


Le rsultat de cette dernire permutation est not F (Rn1 , Kn ).

Fig. 5.18 Ronde dtaille du calcul mdian

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 !

Fig. 5.19 Permutation finale

5.3.3

Algorithme du calcul de la cl G(K, n)

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. LE CHIFFREMENT PAR BLOCS


La cl initiale est de 64 bits. Le calcul a lieu en 4 tapes :
1. Rduction 56 bits : les bits de parit sont enlevs. On procde ensuite une permutation semblable
celle de la figure 5.20.

Fig. 5.20 Matrice de rduction de la cl


2. Division en sous-cls de 28 bits : le rsultat de ltape prcdente (56 bits) est scind en deux
sous-cls de 28 bits.
3. Rotation de la cl : chaque itration, chaque sous-cl de 28 bits subit une rotation d1 ou 2 bits
vers la gauche selon la table de la figure 5.21,

Fig. 5.21 Rotation de la cl


4. Rduction : aprs concatnation des deux sous-cls prcdentes, la cl rsultante (56 bits) est rduite
une sous-cl de 48 bits sur base de la matrice de la figure 5.22,

Fig. 5.22 Matrice de rduction de la cl


Le rsultat de cette rduction est la sous-cl Kn additionne avec E(Rn1 ).

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 )

R. Dumont - Notes provisoires

52

5. LE CHIFFREMENT PAR BLOCS

5.4
5.4.1

Faiblesses du D.E.S. et volutions


Problme des complments

Si c = DES(p, k), alors !c = DES(!p, !k) mais cela ne reprsente pas un problme srieux.

5.4.2

Les clefs faibles

Clefs faibles : telles que Ek (Ek (x)) = x. Il en existe 4.


Clefs semi-faibles : ce sont les paires de clefs (K1 , K2 ) dont la deuxime peut dcrypter un
message encrypt par la premire. Ce sont les cls telles que EK1 (EK2 (x)) = x. Il existe six paires
de ce genre.
Cls pouvant tre faibles : le problme est similaire aux cls semi-faibles. Il en existe 48.

5.4.3

Attaques sur le DES

Plusieurs attaques existent pour casser le DES :


La recherche exhaustive par force brute : on teste toutes les cls possibles, lune aprs lautre, afin
de dchiffrer un bloc de donnes. On a besoin, en moyenne, de 255 essais.
Une machine ddie au calcul des cls : Deep Crack (Des Cracker, labor par lElectronic Frontier
Foundation) a cot moins de 250000 dollars. Elle disposait de 1850 processeurs en parallle pour
un temps de recherche de 56 heures (1998).
Le calcul distribu : un regroupement dordinateurs par Internet qui partagent leur puissance de
calcul. En 1998, Distributed.net a pu dcrypter un message en 39 jours1 . Le 19 janvier 1999, EFF
et Distributed.net ont cass en travaillant conjointement une cl en 22 heures et 15 minutes.
Depuis 2006, un autre ordinateur ddi, nomm COPACABANA2 , permet de casser une cl
DES en 9 jours. En 2008, des amliorations logicielles ont mme permis de diminuer le temps de
recherche 6,4 jours. Son avantage est son cot : 10.000$. On peut donc facilement en acqurir
plusieurs et donc diminuer le temps de recherche en consquence. Par exemple, pour 4 machines
acquises (=40,000$), il faudra compter 1,6 jour de recherche.
Cryptanalyse diffrentielle : il sagit de la possibilit de produire au moyen de textes clairs choisis
les textes chiffrs correspondants avec une cl inconnue. On analyse les diffrences rsultantes sur
les textes chiffrs et on donne des probabilits aux cls testes. En affinant, on trouve la cl la plus
probable. La meilleure attaque diffrentielle connue demande 247 textes clairs choisis
Cryptanalyse linaire : on dispose dun dictionnaire de (M,C). On ne possde pas la boite noire
comme dans le cas diffrentiel. Lobjectif est de dterminer une quation linaire modlisant au
mieux les transformations du cryptogramme cr par lalgorithme de chiffrement.
Il existe dautres attaques spcifiques au DES (Davies attack, ou des attaques sur des versions
simplifies du DES) mais qui nentrent pas dans le cadre de ce cours.

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

R. Dumont - Notes provisoires

53

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.23 Double DES

2DES - Attaque Meet-in-the-middle


Le 2DES est sensible lattaque Meet-in-the-middle, autrement dit, un intrus peut sintroduire dans
lchange et retrouver la cl utilise. Imaginons la situation suivante :
Alice transmet C = f2 (f1 (M )) Bob o f1 = K1 et f2 = K2 .
Si Jack connat M et C, il peut construire deux listes de 256 messages :
1
L1 = {fK (M ); K} et L2 = {fK
(C); K}

Il cherche ensuite un lment commun.


1
Si R = fK3 (M ) = fK
(C), cest que fK4 (fK3 (M )) = C.
4

Jack a alors probablement retrouv


K3 = K1 et K4 = K2
Ainsi, lattaque ncessite X = 2n oprations, et Y = 2n oprations, ce qui revient 2 2n = 2n+1 .

5.4.5

3DES

Grce 2 clefs, on pratique 3 oprations :


E(k1 , D(k2 , E(k1 , m))).
Cest quivalent au fait de doubler la taille effective de la cl (ce qui est une longueur sre actuellement).
Il existe deux versions : la premire utilise deux cls (cas de figure prsent ici), la seconde trois (le dernier
chiffrement utilise une troisime cl).

Fig. 5.24 Triple DES


Il est trs robuste contre toutes les attaques faisables connues. Cependant, il est beaucoup plus lent
que le DES car on triple les oprations.
R. Dumont - Notes provisoires

54

5. LE CHIFFREMENT PAR BLOCS

5.5
5.5.1

A.E.S. - Advanced Encryption Standard


Les rsultats dun concours

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 utiliser 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.

Fig. 5.25 Diffrents participants au concours AES

Cahier des charges


Au second tour du concours, les jurys devaient juger diffrents critres :

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 milliers 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 rsultats varient assez fortement. Cependant, Serpent
reste le moins bon pour la majorit des plate-formes, Rijndael et RC6 tant les meilleurs.

R. Dumont - Notes provisoires

55

5. LE CHIFFREMENT PAR BLOCS

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

possde les proprits suivantes :


Plusieurs longueurs de clef et de bloc sont possibles : 128, 192, ou 256 bits ;
Le nombre de cycles ("rondes") varie en fonction de la longueur des blocs et des cls (de 10 14) ;
La structure gnrale ne comprend quune srie de transformations/permutations/slections ;
Il est beaucoup plus performant que le DES ;
Il est facilement adaptable des processeurs de 8 ou de 64 bits ;
Le paralllisme peut tre implment

chaque ronde, quatre transformations sont appliques :


1. substitution doctets dans le tableau dtat
2. dcalage de ranges dans le tableau dtat
3. dplacement de colonnes dans le tableau dtat (sauf la dernire ronde)
4. addition dune "clef de ronde" qui varie chaque ronde

Fig. 5.26 Schma gnral de Rijndael

5.5.2.1

Chiffrement et Dchiffrement

Lordonnancement des tapes est illustr la figure 5.27.

R. Dumont - Notes provisoires

56

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.27 Schma des diffrentes tapes

Table dtat du texte et des cls


Le message et la cl sont conservs sous forme de tables reprsentes respectivement aux figures 5.28
et 5.29. Le nombre de colonnes dpend des tailles des textes et cls.
N b = Lbloc /32
N k = Lclef /32
Une colonne du tableau correspond un mot de 32 bits. Ainsi, chaque petit bloc reprsente 8 bits, donc
1 octet. Linput et loutput sont donc grs comme des squences linaires doctets.

Fig. 5.28 Table dtat du texte

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.

R. Dumont - Notes provisoires

57

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.29 Table dtat des cls

Fig. 5.30 Fonction SubByte

Fig. 5.31 S-Box inversible

R. Dumont - Notes provisoires

58

5. LE CHIFFREMENT PAR BLOCS


ShiftRow
Cette tape augmente la diffusion dans la ronde.

Fig. 5.32 Schma de ltape ShiftRow


Selon la taille des blocs de message (cest--dire la valeur de Nb), les dcalages ne seront pas toujours
identiques.
La ligne 0 nest jamais dcale,
La ligne 1 est dcale de C1 ,
La ligne 2 est dcale de C2 ,
La ligne 3 est dcale de C3 .

Fig. 5.33 Dcalage selon la taille des blocs de messages.

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.

Fig. 5.34 Etape du MixColumn

R. Dumont - Notes provisoires

59

5. LE CHIFFREMENT PAR BLOCS


Add Round Key
Cest un simple des cls. Il sagit dadditionner des sous-cls aux sous-blocs correspondants.

Fig. 5.35 AddRound Key

Nombre de rondes
Selon la taille des blocs traiter et la taille de la cl, le nombre de rondes volue.

Fig. 5.36 Nombres de rondes effectuer

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.

Fig. 5.37 Schma des oprations effectues sur la cl

R. Dumont - Notes provisoires

60

5. LE CHIFFREMENT PAR BLOCS


Le nombre de sous-blocs ki dpendra bien sr de la taille des cls et bloc du message.
Extension de la cl
Le calcul de lexpansion de la cl se fait de deux manires distinctes selon le sous-bloc de la cl
concern, comme lillustrent les figures 5.38 et 5.39.

Fig. 5.38 Expansion de la cl avec bloc "commun"

Fig. 5.39 Expansion de la cl avec les blocs "multiples de Nk "

R. Dumont - Notes provisoires

61

5. LE CHIFFREMENT PAR BLOCS


Remarques concernant la figure 5.39 :
Lajout de "Rcon[x]" donne comme rsultat un sur les bits les plus significatifs. La table utilise
pour donner les valeurs de Rcon[] est donne la figure 5.40.

Fig. 5.40 Table de correspondance des Rcon[]


La rgle de construction3 de cette table est
RC[1] = 1
RC[j] = 2.RC[j 1]

5.5.3

Avantages et limites

Les principaux avantages sont :

des performances trs leves,


la possibilit de ralisation en "Smart Card" avec peu de code,
la possibilit de paralllisme,
il ne comprend pas doprations arithmtiques : ce sont uniquement des dcalages et des XOR,
il nutilise pas de composants dautres cryptosystmes,
il nest pas fond sur des relations obscures entres oprations,
le nombre de rondes peut facilement tre augment si cest requis,
il ne possde pas de cls faibles,
il est rsistant la cryptanalyse diffrentielle et linaire.

Il possde pourtant quelques inconvnients et limites :


le code et les tables sont diffrents pour le chiffrement et dchiffrement,
le dchiffrement est plus difficile implanter en "Smart Card",
dans une ralisation matrielle, il y a peu de rutilisation des circuits de chiffrement pour effectuer
le dchiffrement.

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 versions 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 champ fini GF (28 ).
://eprint.iacr.org/2009/374

4 http

R. Dumont - Notes provisoires

62

5. LE CHIFFREMENT PAR BLOCS

5.6

Modes de chiffrement symtrique

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.

Fig. 5.41 Apparition des modes cryptographiques


Lutilisation de ces modes repose sur diffrents critres :
Scurit :
Effacement des formats standards (ex. lintroduction dun texte).
Protection contre la modification de C.
Chiffrement de plusieurs messages avec la mme cl.
Efficacit :
Lutilisation dun mode cryptographique ne doit pas pnaliser lefficacit du cryptosystme.
Limitation de la propagation des erreurs qui apparaissent dans M ou C.

5.6.1

ECB - Electronic Code Book

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 :

+/- indpendance des blocs


- conservation des formats m = m0 c = c0
- cl non-rutilisable
5.6.1.2

Efficacit :

+ paralllisme possible
+ accs alatoire possible
+ bonne vitesse de chiffrement
- pas de prprocessing
R. Dumont - Notes provisoires

63

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.42 Mode ECB

5.6.1.3

Propagation des erreurs :

+ une erreur dans mi (ci ) naffecte que le ci (mi ) correspondant


+ la perte dun bloc ci naffecte quun bloc de M
- la perte ou lajout dun bit de ci affecte tous les blocs suivants (mi , mi+1 , ...)
- Une erreur dans Ci affecte un bloc Mi entier

5.6.2

CBC - Cipher Block Chaining

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 :

+ mme vitesse de chiffrement que ECB


- pas de prprocessing
- pas de paralllisme
- IV connu des 2 cots (problme pour sa communication)

R. Dumont - Notes provisoires

64

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.43 Mode CBC

5.6.2.3

Propagation des erreurs :

+ la perte dun ci naffecte que deux blocs de M


Considrons que le bloc C1 soit perdu. Les premiers blocs seront construits par les relations suivantes :
M1 = DK (C2 ) IV
M2 = DK (C3 ) C2 (= P3 )
M3 = DK (C4 ) C3 (= P4 )
Au final, seuls les blocs P1 et P2 seront perdus.
+ une erreur dans mi affecte tous les ci suivants mais ne se retrouve que dans le mi correspondant
- une erreur dans ci affecte un bloc entier de mi et le bit correspondant dans mi+1
- la perte ou lajout dun bit de ci affecte tous les blocs mi , mi+1 , ... suivants (perte des limites de bloc)

5.6.3

CFB - Cipher FeedBack

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 :

+ mme fonction pour le chiffrement et le dchiffrement


+ pas de rptition de bloc si IV diffrents
+ effacement du format standard
5.6.3.2

Efficacit :

+ mme vitesse de chiffrement que ECB


+ CFB peut dbuter le chiffrement aprs rception de sous-blocs utilisation rseaux

R. Dumont - Notes provisoires

65

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.44 Mode CFB

- pas de prprocessing
- pas de paralllisme
5.6.3.3

Propagation des erreurs :

+ 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

OFB - Output FeedBack

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

R. Dumont - Notes provisoires

66

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.45 Mode OFB

+ cl rutilisable
+ pas de rptition de blocs
- le chiffrement ne consiste quen un XOR
5.6.4.2

Efficacit :

+ mme vitesse de chiffrement


+ prprocessing
- pas de paralllisme
5.6.4.3

Propagation des erreurs :

+ une erreur dans ci affecte uniquement le bit correspondant de mi


- pas de mcanisme de rcupration de synchronisation (il faut que les shifts registers soient identiques
pour E et D)

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

R. Dumont - Notes provisoires

67

5. LE CHIFFREMENT PAR BLOCS

Fig. 5.46 Mode CTR

simple mais garantissant que la squence utilise pour chiffrer ne sera pas rutilise (cycle plus long que
ne le ncessite le message).
5.6.5.1

Scurit :

+ Scurit dmontrable
+/- non-rutilisation du compteur
5.6.5.2
+
+
+
+

Efficacit :

Paralllisme (architecture multi-coeur)


Accs alatoire possible
Prprocessing possible
Simplicit du mode

5.6.5.3

Propagation des erreurs :

+ une erreur dun bit dans ci affecte le bit correspondant dans mi

5.6.6

Tableau rcapitulatif

Fig. 5.47 Comparaison des modes

5.7

Rfrences supplmentaires

http://sic.epfl.ch/publications/FI00/fi-sp-00/sp-00-page8.html
R. Dumont - Notes provisoires

68

5. LE CHIFFREMENT PAR BLOCS

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

R. Dumont - Notes provisoires

69

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.

Fig. 6.1 Schma de chiffrement par flux

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.

70

6. CHIFFREMENT DE FLUX

Fig. 6.2 Schma gnral dun Feedback Shift Register

6.1

Les LFSR classiques

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.

Fig. 6.3 FSR : Fonction du registre

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 constituent 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

71

6. CHIFFREMENT DE FLUX

6.2

Utilisation moderne des LFSR

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

Les LFSR combins

Pour rsoudre ce problme, on utilise m LFSR donnant 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.

Fig. 6.4 LFSR combin

6.2.2

Les LFSR filtrs

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.

Fig. 6.5 LFSR filtr

6.2.3

Le contrle dhorloge

Dans le cas prsent, on contrle lhorloge dun LFSR par celle dun autre, ce qui introduit la nonlinarit.

R. Dumont - Notes provisoires

72

6. CHIFFREMENT DE FLUX

Fig. 6.6 Le gnrateur rtrcissant

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 supprime, et aucune sortie nest valide.
Ce type de systme possde le dsavantage davoir un 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

Scurit des LFSR

Pour assurer une meilleure scurit, on doit respecter 3 caractristiques :


La priode doit tre la plus longue possible.
Le flux de sortie doit tre le plus alatoire possible.
La cl K servant dinitialisation doit tre la plus longue possible (au moins 128 bits) et rester secrte.
Une attaque trs commune porte le nom dattaque par corrlation. Le principe est de trouver un LFSR
dont la sortie est corrle avec la sortie des LFSR utiliss.
Attaque par corrlation : le gnrateur de Geffe
Soit la figure 6.7. Un gnrateur de Geffe est compos de 3 LFSR dont les longueurs L1 , L2 et L3 sont
relativement premires deux deux, et dont la fonction de combinaison est donne par
f (x1 , x2 , x3 ) = x1 x2 (1 + x2 )x3 = x1 x2 x2 x3 x3
Ce gnrateur nest pas sr car des informations au sujet des LFSR 1 et 3 peuvent tre dcouvertes
partir dune tude probabiliste sur le flot de sortie.
Ainsi, notons x1 (t), x2 (t), x3 (t) et z(t) comme tant les sorties respectives du LFSR 1, 2, 3, et du
systme. On remarque rapidement que selon la valeur de x2 (t), on peut dduire les valeurs de x1 (t) ou
de x3 (t) avec une probabilit de 3/4.
En effet, il vient
P (z(t) = x1 (t)) = P (x2 (t) = 1) + P (x2 (t) = 0).P (x3 (t) = x1 (t))
= 1/2 + 1/2 1/2
= 3/4

R. Dumont - Notes provisoires

73

6. CHIFFREMENT DE FLUX

Fig. 6.7 Le gnrateur de Geffe

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

Vitesse (en Mbps)


9
3
45

Tab. 6.1 Vitesses de quelques chiffrements symtriques.

1 Selon

la rumeur, RC signifierait Rons Code ou Rivest Cipher.

R. Dumont - Notes provisoires

74

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.

Fig. 6.8 Fonctionnement du chiffrement 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];

Fig. 6.9 Initialisation (1)


Le vecteur temporaire T est ensuite utilis pour produire la permutation initiale de S. Pour chaque
cellule S[i] de S, celle-ci sera change avec une autre cellule de S selon un calcul bas sur la valeur
comprise dans la cellule T[i] correspondante. Le point (b) illustre cette phase. Tout comme linitialisation
des vecteurs, on peut reprsenter la permutation initiale de S par un algorithme :
j = 0;
FOR i = 0 TO 255 DO
j = (j + S[i] + T[i]) mod 256;
SWAP(S[i], S[j]);
Ces deux portions de code portent le nom de KSA (Key Schedule Algorithm).
R. Dumont - Notes provisoires

75

6. CHIFFREMENT DE FLUX

Fig. 6.10 Initialisation (2)

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];

Fig. 6.11 Gnration du flux RC4


La valeur de k est alors utilise pour le chiffrement ( avec le prochain octet de texte clair), ou pour
le dchiffrement ( avec le prochain octet de texte chiffr).

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 alatoires. 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 rencontrs 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

76

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

Comparaisons des chiffrements par blocs et par flots

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 utilis 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

Tab. 6.2 Comparaison des chiffrements par blocs et par flots.

6.5

Ressources supplmentaires

http://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
http://www.crimelabs.net/docs/stream.html

R. Dumont - Notes provisoires

77

Chapitre 7

Le chiffrement par cl publique


7.1

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.

Fig. 7.1 Chiffrement cl publique

On peut classer lutilisation des algorithmes cl publique en 3 catgories :


Chiffrement/dchiffrement : cela fournit le secret.
Signatures numriques : cela fournit lauthentification.
change de cls (ou des clefs de session).
Quelques algorithmes conviennent pour tous les usages, dautres sont spcifiques un deux.
Le concept date officiellement de 1976 de Diffie et Hellman. Officieusement, les bases existent depuis
1969 par Ellis. La premire implmentation a lieu en 1978 par Rivest, Shamir et Adleman sous la forme
de lalgorithme RSA bien que, l aussi, les fondements de ce systme datent de 1973, par Cocks.
La scurit de tels systmes repose sur des problmes calculatoires :

RSA : factorisation de grands entiers


ElGamal : logarithme discret
Merkle-Hellman : problme du sac dos (knapsacks)
...

78

7. LE CHIFFREMENT PAR CL PUBLIQUE


La recherche des cls par force brute est toujours thoriquement possible mais les clefs utilises sont
trop grandes (> 512bits). La scurit se fonde sur une assez grande diffrence en termes de difficult entre
les problmes faciles (dchiffrement) et difficiles (dcryptement) :
gnralement le problme difficile est connu, mais il est trop complexe rsoudre en pratique,
La gnration des cls exige lutilisation de trs grands nombres.
En consquence, ce type de chiffrement est lent si on le compare aux chiffrements symtriques.

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.

R. Dumont - Notes provisoires

79

7. LE CHIFFREMENT PAR CL PUBLIQUE


Si le poids total est infrieur ce nombre, alors celui-ci nest pas dans le tas. On recommence
lopration avec le nombre suivant dans le tas (qui, par dfinition de la suite, sera plus petit)
Si le poids total est suprieur ce nombre, alors celui-ci est dans le tas
2. Rduire le poids du tas crer de ce nombre et passer au plus grand nombre suivant de la suite.
3. Rpter jusqu ce que ce soit termin.
4. Si le poids total a pu tre ramen 0 : il y a une solution.
7.2.3.2

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

Le chiffrement consiste additionner les termes o un 1 apparat. Pour le dchiffrement, on calcule


n1 tel que
n n1 1 mod m
Ensuite, on multiplie chaque valeur du texte chiffr par n1 mod m.
En pratique, les sacs contiennent environ 250 lments. Et chaque terme a une longueur de 200 400
bits. Le module a une longueur de 100 200 bits.
Exemple de calcul de la cl publique Soit S, une squence super-croissante de h entiers : par
exemple S = {1, 2, 4, 9}.
Choisissons un multiplicateur n et un module m : soit n = 15 et m = 17

1 15 mod 17 15
2 15 mod 17 13
4 15 mod 17 9
9 15 mod 17 16

Le havresac difficile est donc H = {15, 13, 9, 16}, et reprsente la cl publique.



Le message est ainsi trait comme une squence de bits :
P = [p1 , p2 , p3 , ..., pk ]
On le divise en blocs de h bits :
P0 = [p1 , p2 , p3 , ..., ph ], P1 = [ph+1 , ph+2 , ph+3 , ..., p2h ], ...
On utilise chaque bloc comme vecteur V du problme de havresac.

R. Dumont - Notes provisoires

80

7. LE CHIFFREMENT PAR CL PUBLIQUE


Exemple de chiffrement Soit P = 0100101110100101 0100 1011 1010 0101

[0, 1, 0, 0] [15, 13, 9, 16] 13


[1, 0, 1, 1] [15, 13, 9, 16] 40
[1, 0, 1, 0] [15, 13, 9, 16] 24
[0, 1, 0, 1] [15, 13, 9, 16] 29

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 :

13 8 mod 17 = 104 mod 17 = 2 = [1, 2, 4, 9] [0100]


40 8 mod 17 = 320 mod 17 = 14 = [1, 2, 4, 9] [1011]
24 8 mod 17 = 192 mod 17 = 5 = [1, 2, 4, 9] [1010]
29 8 mod 17 = 232 mod 17 = 11 = [1, 2, 4, 9] [0101]

et le texte en clair est 0100 1011 1010 0101 0100101110100101. On a donc bien retrouv le texte
original.


7.2.5

Scurit

Plusieurs failles ont t dcouvertes, qui ont rendu lalgorithme obsolte.


Herlestam a dmontr en 1978 quun bit de texte clair pouvait souvent tre retrouv.
Malgr les modifications apportes lalgorithme la suite de ces dcouvertes, des travaux de Shamir
(1982-84) et Brickell (1985) ont pouss labandon de cet algorithme.

7.3

RSA : Rivest - Shamir - Adleman

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

proprit sera nouveau voque dans le chapitre portant sur lauthentification.

R. Dumont - Notes provisoires

81

7. LE CHIFFREMENT PAR CL PUBLIQUE


et le dchiffrement par
M = C d mod n.
La scurit repose sur le cot ncessaire pour factoriser de grands nombres. Le nombre de factorisation
prend environ O(elog n log(log n)) ) oprations ce qui demande un temps de calcul trop important pour les
machines actuelles, dans un cadre priv. On lutilise pour la confidentialit, lauthentification, ou encore
une combinaison des 2.

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

Par les thormes dEuler et de Fermat, on sait que


a(n) 1 mod n
et
a(n) mod n = 1
o (a,n)=1.
Dans le RSA, on a n = p q. De plus, (n) donne le nombre dentiers positifs plus petits que n et
relativement premiers n (si p est premier, (p) = p 1). Si n = p q, avec p et q premiers, il vient
(n) = (p) (q) = (p 1) (q 1)
De par la faon de choisir e et d,
e d 1 mod (n) = k (n) + 1
pour un certain k.
De plus, par dfinition et proprits des oprations modulo n, on a :
Dk (Ek (M )) = ((M )e mod n)d mod n = (M e )d mod n = M ed mod n
Et donc :
M ed = M k(n)+1 = M k(n) .M mod n = 1.M mod n = M mod n
3 Le

FBI utilise le RSA 4096.

R. Dumont - Notes provisoires

82

7. LE CHIFFREMENT PAR CL PUBLIQUE

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

Rsum

Gnration de 2 nombres premiers p et q


Calcul de n = p*q
Dterminer e tel que 3 < e < (n) et (e, (n)) = 1
Calculer d tel que e d 1 mod (n)
Cl publique : (e,n)
Cl prive : (d,n)
p et q doivent rester secrets, voire supprims
C = M e mod n et M = C d mod n

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

R. Dumont - Notes provisoires

14
N

05
E

13
M

15
O

14
N

05
E

83

7. LE CHIFFREMENT PAR CL PUBLIQUE


7.3.2.1

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

Il existe trois approches pour attaquer le RSA :


recherche par force brute de la cl (impossible tant donn la taille des donnes),
attaques mathmatiques (bases sur la difficult de calculer (n), la factorisation du module n) :
factoriser n=p*q et par consquent trouver (n) et puis d,
dterminer (n) directement et trouver d,
trouver d directement.
attaques de synchronisation (sur le fonctionnement du dchiffrement).
A lheure actuelle, la factorisation connait de lentes amliorations au cours des annes. La meilleure
amlioration possible reste loptimisation des algorithmes. Except un changement dramatique, le RSA1024 restera sr pour les prochaines annes. Daprs les projections, une cl de 2048 bits est sense tenir
jusque 2079 si on tient compte de la loi de Moore. Mais ces valeurs sont correctes uniquement si on
respecte les proprits de e, d, p et q.
Attaque de synchronisation (timing attack)
Dvelopp dans le milieu des annes 90, il sagit dexploiter les variations de temps pris pour effectuer
certaines oprations (par exemple la multiplication par un petit ou un grand nombre).
Plusieurs contre-mesures existent telles que lemploi de temps constants dlvation une puissance,
lajout de dlais alatoires, ou le fait de rendre non visibles les valeurs utilises dans les calculs. Dans ce
dernier cas, cela reviendrait calculer :
(re me )d mod n
7.3.3.2

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 champ magntique
mit par les atomes (que lon nomme des q-bits).

7.3.4

Conseils dutilisation du RSA

Pour garantir une bonne scurit, il faut respecter certains rgles telles que :

Ne jamais utiliser de valeur n trop petite,


Nutiliser que des cls fortes (p-1 et q-1 ont un grand facteur premier),
Ne pas chiffrer de blocs trop courts,
Ne pas utiliser de n communs plusieurs cls,
Si (d,n) est compromise ne plus utiliser n.

R. Dumont - Notes provisoires

84

7. LE CHIFFREMENT PAR CL PUBLIQUE

Fig. 7.2 Taille des cls pour une utilisation sre.

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

chapitre "Le monde quantique".

R. Dumont - Notes provisoires

85

7. LE CHIFFREMENT PAR CL PUBLIQUE

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

Lutilisation des courbes elliptiques

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

86

7. LE CHIFFREMENT PAR CL PUBLIQUE


Dune manire gnrale, sur R, les courbes elliptiques seront considres comme lensemble des couples
(x,y) tels que
y 2 = x3 + ax + b
dont le discriminant
(4a3 + 27b2 )
est non nul.
Pour la dessiner, pour a et b fixs, on calcule y tel que
p
y = x3 + ax + b

Fig. 7.3 Deux exemples dEC

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

87

7. LE CHIFFREMENT PAR CL PUBLIQUE


Cette quation est par exemple satisfaite pour a = 1, b = 1, x = 9, y = 7 et p = 23.
72 mod 23 = (93 + 9 + 1) mod 23
49 mod 23 = 739 mod 23
3=3
On note Ep (a, b) lensemble des couples dentiers (x, y) qui satisfont cette quation. On parle de
groupe elliptique.
Exemple : Soient p = 23 et la courbe elliptique y 2 = x3 + x + 1. On est donc dans E23 (1, 1). Comme
nous travaillons dans Zp , les couples (x, y) rpondant lquation sont donns la figure 7.4

Fig. 7.4 Couples (x,y) rpondant lquation y 2 = x3 + x + 1


Pour tous points P, Q Ep (a, b) :
1. P + O = P
2. Si P = (xP , yP ), alors P + (xP , yP ) = 0 et (xP , yP ) = P .
Retour lexemple : Dans E23 (1, 1), pour P = (13, 7), P = (13, 7) = (13, 16)
3. Si P = (xP , yP ) et Q = (xQ , yQ ) avec P 6= Q, alors on dtermine R = P + Q = (xR , yR ) comme
suit :
xR = (2 xP xQ ) mod p
yR = ((xP xR ) yP ) mod p
o



yQ y P

mod p si P 6= Q
x x
Q
P
=  2


3xP + a mod p si P = Q
2yP

4. La multiplication est dfinie comme une rptition dadditions (ex : 3P = P + P + P )


Retour lexemple : Soient P = (3, 10) et Q = (9, 7) dans E23 (1, 1). Il vient






7 10
3
1
=
mod 23 =
mod 23 =
mod 23 = 11
93
6
2

xR = 112 3 9 mod 23 = 109 mod 23 = 17
yR = (11(3 17) 10) mod 23 = 164 mod 23 = 20
Et ainsi, P + Q = (17, 20). Pour trouver 2P , on a


 
 
3(32 ) + 1
5
1
=
mod 23 =
mod 23 =
mod 23
2 10
20
4
R. Dumont - Notes provisoires

88

7. LE CHIFFREMENT PAR CL PUBLIQUE



xR = 62 3 3 mod 23 = 30 mod 23 = 17
yR = (6(3 7) 10) mod 23 = 34 mod 23 = 12
et donc 2P = (7, 12).
Remarque La section prcdente traite du problme dans ZP . Les quations sont diffrentes si nous
travaillons dans le champ fini GF (2m ).

7.5.3

La cryptographie sur courbes elliptiques (ECC)

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

ECC pour lchange de cls

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

ECC pour chiffrer des donnes

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 encoder 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

R. Dumont - Notes provisoires

89

7. LE CHIFFREMENT PAR CL PUBLIQUE


doivent galement choisir une cl prive et gnrer la cl publique correspondante.
Pour chiffrer le message, A dtermine alatoirement un nombre entier positif k et produit Cm comme
un couple de points tel que
Cm = {kG, Pm + kPB }
On remarquera lutilisation de la cl publique de B. Pour dchiffrer, B devra multiplier le premier
point par sa cl prive, et soustraire le rsultat au second point reu :
Pm + kPB nB (kG) = Pm + k(nB G) nB (kG) = Pm

7.6
7.6.1

Comparaisons
Longueur des cls

Fig. 7.5 Tailles des cls pour une utilisation sre (2009)

7.6.2

Symtrique et Asymtrique : problmes communs

Deux problmes persistent dans ces 2 types de cryptosystmes.


En premier lieu, la gestion des cls secrtes. La confidentialit reposant exclusivement sur ces dernires,
si elles sont gares, divulgues ou oublies, toute la scurit seffondre. Second point, la scurit se
base sur des arguments empiriques plutt que thoriques. On suppose (et on espre, mme si on en est
pratiquement certain), que les problmes NP le resteront. Cela na pas (encore ?) t dmontr.

R. Dumont - Notes provisoires

90

7. LE CHIFFREMENT PAR CL PUBLIQUE

Asymtrique(RSA)

Avantages

- Cryptosystme largement rpandu


- Nombreuses tudes au sujet de sa scurit

Inconvnients

Avantages

- Oprations de d/chiffrement trs ingales en termes de temps de calcul


- Cryptanalyse par algorithme sousexponentiel

7.7

- Taille de cl infrieure pour une scurit gale


- La taille des cls croit moins vite que
le RSA si on souhaite une meilleure scurit
- Utilisation pour systmes embarqus
- Calculs moins lourds que lexponentiation
- Utilisation mmoire moindre
- Cryptanalyse par algorithme exponentiel
- Complexe
- Peu de dveloppement sur des systmes grande chelle (mais tend
changer)
- Travaux doptimisation essentiellement destins aux systmes mobiles

Symtrique

Asymtrique

- Rapidit (jusqu 1000 fois plus rapide)


- Facilit dimplantation sur hardware

- Distributions des cls facilites : pas


dauthentification
- Permet de signer des messages facilement
- Nombre de cls distribuer est rduit
par rapport aux cls symtriques

- Taille de cl : 128 bits ( 16 caractres : mmorisable)

Inconvnients

Asymtrique(ECC)

- Nombre de cls grer


- Distribution des cls (authentification,
confidentialit)
- Certaines proprits (p.ex. signatures)
sont difficiles raliser

- Taille des cls


- Vitesse de chiffrement

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

R. Dumont - Notes provisoires

91

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

Par chiffrement du message


Par utilisation dun cryptosystme symtrique

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).

92

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.

Fig. 8.1 Controle derreur interne et externe

8.1.2

Par utilisation dun cryptosystme asymtrique

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 possible didentifier
les messages corrompus mais au cot de deux utilisations de ce chiffrement sur le message.

Fig. 8.2 Authentification lors dun chiffrement asymtrique

R. Dumont - Notes provisoires

93

8. AUTHENTIFICATION ET INTGRIT

8.2

Fonctions de hachage

On les utilise en cryptographie pour :


fournir un condens de taille fixe
reprsenter prcisment les donnes : la dtection des changements dans le message est simplifie.
Lintrt est que cela permet lusage de la cryptographie asymtrique sans engendrer trop de ralentissement, mais galement dassurer la provenance dun fichier ainsi que son intgrit. Dans la majorit des
cas, elles seront utilises pour crer une signature numrique. Enfin, la qualit principale de ces fonctions
est que les algorithmes sont publics.

8.2.1

Proprits

On parle de "hach", de "rsum", ou de "condens" pour nommer la caractristique dun texte ou


de donnes uniques. La probabilit davoir deux messages avec le mme hach doit tre extrmement
faible. Le hach ne contient pas assez dinformations en lui-mme pour permettre la reconstitution du
texte original. Lobjectif est dtre reprsentatif dune donne particulire et bien dfinie (en loccurrence
le message).
Les fonctions de hachage possdent de nombreuses proprits :
Elles peuvent sappliquer nimporte quelle longueur de message M
Elles produisent un rsultat de longueur constante
Il doit tre facile de calculer h = H(M ) pour nimporte quel message M
Pour un h donn, il est impossible de trouver x tel que H(x) = h. On parle de proprit sens
unique.
Pour un x donn, il est impossible de trouver y tel que H(y) = H(x) rsistance faible de collision
Il est impossible de trouver x, y tels que H(y) = H(x) rsistance forte de collision

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

R. Dumont - Notes provisoires

94

8. AUTHENTIFICATION ET INTGRIT

Fig. 8.3 Exemple dutilisation des fonctions de hachage

Fig. 8.4 Exemple dutilisation des fonctions de hachage

Fig. 8.5 Exemple dutilisation des fonctions de hachage

arrt et ne peut pas produire un message faux.

R. Dumont - Notes provisoires

95

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.

8.2.3

Attaque sur les fonctions des hachage

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)!

Si on enlve la restriction comme quoi il ny a pas de doublons, il y a 365k possibilits. Donc, la


probabilit de ne pas avoir de doublons est donne par
Q(365, k) =

N
365!
=
365k
(365 k)!(365)k

Par consquent,
P (365, k) = 1 Q(365, k) = 1

365!
(365 k)!(365)k

Pour k = 23, on a P (365, k) = 0.5073.


Retour aux fonctions de hachage
Le problme quivalent est le suivant. Soient une fonction de hachage H possdant n rsultats possibles diffrents, et une valeur H(x). Si H est appliqu k entres alatoires, quelle doit tre la valeur de
k pour que la probabilit quau moins une entre y satisfaisant H(y) = H(x) soit gale 0.5 ?
Pour une valeur isole y, la probabilit que H(y) = H(x) est de 1/n. A contrario, la probabilit que
H(y) 6= H(x) est de [1 (1/n)]. Si on gnre k valeurs dentres, la probabilit quil ny ait aucune
correspondance est de [1 (1/n)]k . Donc, la probabilit quil y ait au moins une correspondance est gale
1 [1 (1/n)]k .
Selon la formule du binme de Newton,
(1 a)k = 1 ka +

R. Dumont - Notes provisoires

k(k 1) 2
a ...
2!

96

8. AUTHENTIFICATION ET INTGRIT
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
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 adapt 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

Pour obtenir une probabilit gale 0.5, il vient


1/2 = 1 (ek
ln(2) =
et donc,

/n

k2
n

k = 0, 83 n n

Pour une fonction de hachage produisant 2m sorties, on a k =

2m = 2m/2 .

Un pirate utilisera donc le paradoxe de la manire suivante :


ladversaire produit de 2m/2 variations dun message valide tous avec essentiellement la mme
signification
ladversaire produit galement de 2m/2 variations du message frauduleux dsir
les deux ensembles de messages sont compars pour trouver une paire donnant les mmes condenss
(la probabilit de trouver une paire est suprieure 0.5 daprs le paradoxe danniversaire)
faire signer lutilisateur le message valide, puis substituer la contrefaon qui aura une signature
valide puisque les condenss sont semblables.
En conclusion, il est ncessaire dutiliser de plus grands condenss.
La figure 8.6 reprsente une lettre laquelle on apporte 237 modifications.
R. Dumont - Notes provisoires

97

8. AUTHENTIFICATION ET INTGRIT

Fig. 8.6 Message original et message approch

8.3

MAC - Message Authentication Code

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).

R. Dumont - Notes provisoires

98

8. AUTHENTIFICATION ET INTGRIT

Fig. 8.7 Fonctions MAC et authentification

8.3.1

Utilisation des chiffrements symtriques

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.

Fig. 8.8 Data Authentication Algorithm

R. Dumont - Notes provisoires

99

8. AUTHENTIFICATION ET INTGRIT

8.3.2

Scurit des MAC et fonctions de hachage

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 envoy 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

Une signature digitale doit


dpendre du message sign
employer une information unique propre lexpditeur pour empcher la contrefaon et le dmenti
tre relativement facile produire, reconnatre et vrifier
tre mathmatiquement infaisable forger (par construction de nouveaux messages pour une signature numrique existante, ou par construction dune signature numrique frauduleuse pour un
message donn)
tre facile stocker

8.4.2

Signatures digitales directes

Ce type de signature implique uniquement lexpditeur et le rcepteur. On suppose que le rcepteur


dispose de la cl publique de lexpditeur.
La signature numrique est faite par lexpditeur en signant le message entier ou le condens avec sa
cl prive. Par la suite, le message sign pourra tre chiffr en utilisant la cl publique du rcepteur. Il
est important de signer dabord et de chiffrer ensuite le message et la signature. La scurit dpend de
la cl prive de lexpditeur.

R. Dumont - Notes provisoires

100

8. AUTHENTIFICATION ET INTGRIT

8.4.3

Signatures digitales arbitres

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.

Fig. 8.9 Authentification par signature digitale avec arbitre

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 un secret
Il veut convaincre le vrifieur quil connat ce secret sans pour autant le lui rvler
Le vrifieur veut tre certain que le prouveur ne le trompe pas

R. Dumont - Notes provisoires

101

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

Exemple : la caverne dAli-Baba

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.

Fig. 8.10 La caverne


Mais que se passe-t-il si Alice est dj dans le couloir demand par Bob ? Alice na alors pas besoin
de connatre le mot de passe ! Il y a plusieurs possibilits :
Alice connat le mot de passe :
si elle se trouve en A et que Bob dit B , elle satisfait la requte
si elle se trouve en B et que Bob dit A , elle satisfait la requte
si elle se trouve en A et que Bob dit A , elle satisfait la requte
si elle se trouve en B et que Bob dit B , elle satisfait la requte
Alice ne connat pas le mot de passe :
si elle se trouve en A et que Bob dit B , elle ne satisfait pas la requte
si elle se trouve en B et que Bob dit A , elle ne satisfait pas la requte
si elle se trouve en A et que Bob dit A , elle satisfait la requte
si elle se trouve en B et que Bob dit B , elle satisfait la requte
En dautres termes si Alice connat le mot de passe, il ny a jamais de problme. Si Alice ne le connat
pas, il y a une chance sur deux que Bob soit tromp la premire exprience. Ainsi, plus Bob la rptera,
plus il pourra croire Alice : aprs n essais, il y a 1/2n chances que Bob soit tromp (autrement dit, que
Alice affirme possder le secret sans le connatre en ralit).
Une seule erreur, et on peut dduire quAlice ne connat pas le secret. Par contre, 100 bonnes arrives ne
permettent aucune conclusion sre 100% bien que la probabilit derreur soit extrmement faible.
Pour reprendre les trois proprits cites en dbut de section, on peut dire que

R. Dumont - Notes provisoires

102

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

R. Dumont - Notes provisoires

103

Chapitre 9

Algorithmes pour lauthentification et


lintgrit
On constate des similitudes dans lvolution des fonctions de hachage et des chiffrements symtriques :
par la puissance croissante des attaques par force brute, les algorithmes voluent constamment. On est
pass du DES lAES dans les chiffrements symtriques et de MD5 SHA et Ripemd-160 dans les
algorithmes de hachage. Il est aujourdhui conseill dutiliser le SHA-256 (SHA-2), suite aux rcentes
attaques dveloppes pour SHA-1.

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

Le droulement gnral de lalgorithme est illustr la figure 9.1.


1. Compltion : ajout de padding si ncessaire afin que le message ait une longueur de 448 mod 512.
Cet ajout a toujours lieu.
2. Ajout de la longueur : on ajoute la longueur relle du message (sur 64 bits) aprs les 448 bits. En
consquence, la taille totale du bloc atteint 512 bits. Si la longueur ncessite plus de 64 bits, on ne
note que les 64 bits de poids faible.
3. Initialisation : initialiser 4 buffers de 32 bits chacun (A,B,C,D), qui constitue lIV.
4. Calcul itratif : traiter le message par blocs de 512 bits. Il y a 4 rondes de 16 oprations qui sont
ralises en fonction du bloc (512), du contenu des buffers et de fonctions primitives, tel quillustr
la figure 9.3.
5. Le rsultat final est obtenu en concatnant les rsultats des additions des registres A,B,C,D avec
la valeur de CVq (voir 9.2).

9.1.2

Algorithme

La figure 9.2 schmatise le dtail de lalgorithme, dont voici les caractristiques.


CV0 = IVP
CVq+1 = 32 [CV q, RFI (Yq , RFH (Yq , RFG (Yq , RFF (Yq , CVq ))))]

104

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.1 Vue densemble du MD5

MD = CVL
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

Chaque ronde comprend 16 itrations de la forme :


(A, B, C, D) (D, B + ((A + g(B, C, D) + X[k] + T [i]) <<< s), B, C)
Les lettres a, b, c, d se rapportent aux 4 buffers, mais sont utiliss selon des permutations variables. Il
est remarquer que cela ne met jour quun seul des buffers (de 32 bits). Aprs 16 tapes, chaque buffer
a t mis jour 4 fois. La fonction g(b, c, d) est une fonction non-linaire diffrente dans chaque ronde
(note F,G, H et I dans la figure 9.2). T[i] est une valeur constante drive de la fonction sinus. ( s)
reprsente un dcalage circulaire gauche (pour chaque buffer sparment) de s bits.

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.

R. Dumont - Notes provisoires

105

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.2 Rondes du MD5

Fig. 9.3 Fonction lmentaire du MD5

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".

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,
R. Dumont - Notes provisoires

106

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.4 Valeurs dfinies pour le MD5

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.

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.

Fig. 9.5 Rondes du SHA-1

1. Compltion : le message condens doit tre de longueur 448 mod 512


2. Ajout de la longueur : une valeur code sur 64 bits
3. Initialisation : Initialiser 5 buffers de 32 bits (= 160 bits) - A,B,C,D,E
R. Dumont - Notes provisoires

107

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT


4. Calcul itratif : 4 rondes de 20 itrations chacune. Ces rondes ont une structure similaire mais
utilisent des fonctions primitives diffrentes (f1 , f2 , f3 , f4 ). Le SHA utilise des constantes additives
Kt (0 t 79). Le rsultat est utilis pour initialiser les buffers du bloc suivant.
5. Le condens final constitue le condens attendu

9.2.1

Fonction de compression

Chaque ronde comprend 20 tapes qui manipulent ainsi les 5 registres :


(A, B, C, D, E) (E + f (t, B, C, D) + (A << 5) + Wt + Kt ), A, (B << 30), C, D)
o A,B,C,D,E se rapportent aux 5 registres, t est le numro de litration, f(t, B, C, D) est une fonction
primitive non-linaire de la ronde pour litration t, Wt est driv du bloc de message(32 bits) et Kt est
une valeur additive.

Fig. 9.6 Fonction de ronde du SHA-1

Fig. 9.7 Valeurs dfinies pour le SHA-1

Le calcul des Wt , drivs des blocs de messages est donn la figure 9.8. Pour ce calcul, il faut
remarquer quil introduit beaucoup de redondance, ce qui introduit une forte interdpendance des blocs.
En consquence, il est donc relativement difficile de trouver deux messages avec le mme hach. La
formule rsumant le calcul de Wt est donne la figure 9.7.

9.2.2

SHA-1 face MD5

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.

R. Dumont - Notes provisoires

108

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.8 Calcul du Wt driv

Fig. 9.9 Comparatif MD5 - SHA-1

9.2.3

Revised Secure Hash Standard

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).

Fig. 9.10 SHA et ses volutions


La figure 9.10 compare les diffrentes versions du SHA. Toutes les tailles sont mesures en bits. La
scurit se rapporte au fait quune attaque danniversaire sur un condens de message de taille n produit
une collision avec un facteur dapproximativement 2n/2 .

9.3
9.3.1

Algorithmes pour les MAC


Fonction de hachage pour les MAC

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

R. Dumont - Notes provisoires

109

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT


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.

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

La fonction HMAC est la suivante et illustre la figure 9.11 :


HMACk (M) = H[(K opad)||H[(K ipad)||M]]
Diffrents lments interviennent dans lalgorithme :
H : la fonction de hachage
IV : un vecteur dinitialisation
M : le message dentre de lalgo (+ padding pour le hachage)
Yi : ie`me bloc de M
L : le nombre de blocs de M
b : le nombre de bits dans un bloc
n : la longueur du condens produit
K : la cl permettant le calcul du MAC
K + : la cl K padde par des 0 pour obtenir une longueur b
ipad : 0x36 (rpt b/8 fois)
opad : 0x5C (rpt b/8 fois)
Il vient dans lordre :
1. Padding de la cl : Ajout de 0 gauche de K pour crer un flux de b bits (K+)
2. XOR de K+ et ipad pour produire Si (longueur b bits)
3. Concatnation de M Si
4. Application de H ce flux
5. XOR de K+ et opad pour produire So (longueur b bits)
6. Concatnation du hach de ltape 4 avec So
7. Application de H au rsultat de ltape 6

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.
R. Dumont - Notes provisoires

110

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.11 Algorithme HMAC

9.3.4

Optimisation de HMAC

Il est possible damliorer lalgorithme HMAC en utilisant un prprocessing :


f(IV, (K ipad)) et f(IV, (K opad))
La fonction f est le fonction de compression de la fonction de hachage. Elle prend en argument une
variable chane de n bits et un bloc de b bits et produit une variable chane de n bits. Ces quantits
ne sont calcules qu linitialisation et quand la cl change. Ces quantits se substituent lIV dans la
fonction de hachage. Cette technique na dintrt que lorsque les messages hacher sont relativement
courts.

9.4
9.4.1

Algorithmes de signatures
El Gamal

Soient un nombre p premier et une cl prive SK = x (o x < p).


Soit la cl publique PK = (y, g, p) o y = g x mod p avec g < p.
La signature reprsente par (a, b) est calcule comme suit :
soit un nombre entier k gard secret tel que (k, p 1) = 1
on calcule a = g k mod p
on calcule b tel que M = (xa + kb) mod (p 1)
Lors de la vrification, on pourra dterminer une signature valide si
y a ab mod p = g M mod p.
Pour assurer la scurit de la mthode, il faudra utiliser un nouveau k chaque signature ou chiffrement. Si on utilise plusieurs fois le mme k, il est possible de retrouver x aisment.
R. Dumont - Notes provisoires

111

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.12 Prprocessing de HMAC

Exemple : Soit la cl priv x = 8 et les valeurs p = 11, g = 2. Il vient pour la cl publique


y = g x mod p = 28 mod 11 = 3 cest--dire PK = (3,2,11).
Soit le message M = 5. Pour lauthentification, prenons un nombre alatoire k=9, o on a bien
(9,10)=1. On calcule alors
a = g k mod p = 29 mod 11 = 6
Par Euclide :
M = (xa + kb) mod (p 1)
5 = (8 6 + 9 b) mod 10
b = 3 signature = (a, b) = (6, 3)
Pour la vrification, il faudra alors sassurer que 36 63 mod 11 = 25 mod 11, ce qui est bien le cas.

9.4.2

Digital Signature Standard (DSS)

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

Ici aussi, diffrents lments interviennent dans lalgorithme :

1 Il

p : nombre premier de L bits (512 < L < 1024)


L doit tre divisible par 64 et 2L1 < p < 2L
q : facteur premier de p 1, de 160 bits
g : g = h(p1)/q mod p
h : 1 < h < p 1 tel que h(p1)/q mod p > 1
x : valeur entire alatoire t.q. 0 < x < q (cl secrte)
sagit dun algorithme bas sur un envoi mutuel de valeurs alatoires.

R. Dumont - Notes provisoires

112

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT


y : y = g x mod p (cl publique)
H(x) : fonction de hachage sens unique (SHA)
9.4.2.2

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

Bob vrifie la signature en calculant :

w = s1 mod q
u1 = (H(M ) w) mod q
u2 = rw mod q
v = ((g u1 y u2 ) mod p) mod q

Si v = r, alors la signature est vrifie, et lauthentification ralise.

Fig. 9.13 Illustration des procds de signature et de vrification de DSA

9.4.3

Comparaison des approches

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.

R. Dumont - Notes provisoires

113

9. ALGORITHMES POUR LAUTHENTIFICATION ET LINTGRIT

Fig. 9.14 Signatures par RSA et DSA

9.5

Algorithme ZK

Lexemple donn ci-dessous concerne le protocole de Fiat-Shamir, datant de 1986.


Une autorit dtermine alatoirement un n (1024 bits), produit de 2 grands nombres premiers.
Alice choisit un nombre s, avec (s, n) = 1. s sera la cl prive dAlice. Alice calcule ensuite v tel que
v = s2 mod n. v sera la cl publique dAlice. Ne connaissant pas les facteurs de n, il sera impossible
un correspondant de retrouver la cl prive s partir de v.
1.
2.
3.
4.
5.

Alice dtermine alatoirement un nombre r < n


Alice calcule x = r2 mod n, et envoie x Bob
Bob renvoie un bit alatoire b Alice
Alice envoie y = r.sb mod n Bob.
Bob vrifie que y 2 = x.v b mod n

Fig. 9.15 Fiat-Shamir


Un prouveur digne de confiance doit pouvoir rpondre aux deux requtes (b = 0 ou b = 1).
Si Alice ne connat pas s, elle pourrait corrompre Bob en choisissant un r particulier. Mais comme Bob
va rpter lopration T fois, le r ne pourra pas rpondre correctement aux deux questions simultanment.
En contexte rel, on travaille avec des vecteurs de donnes de longueur K, ce qui augmente la scurit.
La cl publique est (v1 , v2 , . . . , vK ), la cl prive est (s1 , s2 , . . . , sK ), et le vecteur de bits (b1 , b2 , . . . , bK ).
La probabilit que Bob soit tromp est de 1/2KT . En pratique, on conseille k=6 et T=5.
R. Dumont - Notes provisoires

114

Chapitre 10

La gestion des cls


La gestion des cls est principalement constitue de quatre domaines :
1. La gnration des cls : il faut prendre garde aux caractres choisis, aux cls faibles, ... et veiller
utiliser des gnrateurs fiables,
2. Le transfert de la cl : lidal est de se rencontrer, ou dutiliser un canal de transmission protg.
Mais cela est souvent impossible. Aussi, si A et B ont des communications sres avec un tiers C,
ce dernier peut relayer la cl entre A et B. Un tiers est un intermdiaire de confiance, qui tous
les usagers font confiance, pour ngocier ltablissement de transmissions sres entre elles,
3. La vrification des cls : par hachage, ou utilisation de certificats,
4. Le stockage des cls : que ce soit dans des fichiers, sur supports extrieurs, par surchiffrement, ...

10.1
10.1.1

Distribution des cls


Cls symtriques

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).

115

10. LA GESTION DES CLS

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 :

Il doit contenir les entres {nom, clef publique},


Il doit tre possible de sinscrire de manire scurise dans lannuaire,
On doit pouvoir remplacer la clef tout moment,
Lannuaire doit tre publi priodiquement,
Il devrait galement permettre la consultation lectronique.

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.

R. Dumont - Notes provisoires

116

10. LA GESTION DES CLS


10.1.2.3

Autorit de cls publique

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.

Fig. 10.2 Utilisation dune autorit de cls publiques

10.1.2.4

Certificats de cls publiques

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

Fig. 10.3 Certificats de cls publiques

R. Dumont - Notes provisoires

117

10. LA GESTION DES CLS


Plusieurs proprits permettent de garantir une meilleure scurit :
Nimporte quel participant peut lire un certificat pour dterminer le nom et la cl publique du
propritaire du certificat.
Nimporte quel participant peut vrifier que le certificat provient rellement du CA et nest pas
contrefait.
Seul le CA peut crer et mettre jour des certificats.
Tous les participants peuvent vrifier la validit des certificats (Denning - 1983)
Pour mieux comprendre ce concept, illustrons le par un exemple : si vous commandez des cds sur
Internet, comment tre sr que vous envoyez bien votre numro de carte bleue au commerant, et non
un pirate qui aurait usurp son identit et donn sa propre cl publique ?
Pour passer un examen, il vous faut prouver votre identit grce une carte didentit, un passeport
ou un permis de conduire. Un organisme suprieur (lEtat) a sign ces certificats, sassurant auparavant
(par un acte de naissance,...) quil sagit bien de vous.
Les certificats numriques fonctionnent sur le mme principe. Alice veut certifier que sa cl publique
lui appartient. Elle envoie sa cl un organisme de certification, ainsi que diffrentes informations la
concernant (nom, email, etc...). Cet organisme vrifie les informations fournies par Alice, et ajoute au
certificat son propre nom, une date limite de validit, et surtout une signature numrique. Cette signature
est ralise grce sa cl prive et un algorithme de hachage laiss au choix, bien que le RSA et le SHA
soit maintenant prfr. En rsum, lautorit de certification fournit un certificat tel que
CA = EKRauth [T, IDA , KUa ]
o EKRauth reprsente la signature appose au certificat, T est un timestamp, IDA est lensemble des
informations propres lentit A et KUa est la cl publique de A.
Lorsque Bob veut envoyer un message Alice ou simplement vrifier la validit du certificat que A
lui a envoy, il applique la cl publique de lautorit de certification. Cette action permet de vrifier que
le certificat est bien authentique :
DKUauth [CA ] = DKUauth [EKRauth [T, IDA , KUa ]] = (T, IDA , KUA )

10.1.3

Les certificats - Service dauthentification X.509

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 autorit 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

Obtention dun certificat

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

118

10. LA GESTION DES CLS

Fig. 10.4 Format standard et exemple de certificat X.509

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.

Fig. 10.5 Hirarchie de certificats

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.

R. Dumont - Notes provisoires

119

10. LA GESTION DES CLS

Fig. 10.6 Format dune CRL

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 trafic 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 lutilisation basique dune CRL et lOCSP, mais on peut aussi nommer la Delta-CRL
ou les CRL DP1 .
10.1.3.4

Procdures dauthentification

X.509 inclut trois procdures alternatives dauthentification :


Authentification sens unique (one-way) (telle que les mails)
Authentification 2 passages (two-way) (par utilisation de timestamps)
Authentification 3 passages (three-way) (pas de timestamps)
One-Way Un seul message (A b) est utilis pour tablir la fois
lidentit de A et lorigine du message,
le destinataire du message,
lintgrit et lauthenticit du message.
Le message inclut lhorodateur (tA ), le nonce (rA ), lidentit de B (IDB ) et doit tre sign par A
(sgnData)
Two-Way Deux messages (A b, B a) sont utiliss. Le principe est le mme que pour lauthentification One-Way mais dtermine plus de caractristiques des entits :
lidentit de B et que cette rponse est de B,
la rponse est destine A,
1 Consulter "Mthodes de Rvocation de Certificats : Etudes et Comparaisons" de Bekara et Maknavicious pour plus
dinformations.

R. Dumont - Notes provisoires

120

10. LA GESTION DES CLS


lintgrit et lauthenticit de la rponse.
La rponse inclut le nonce de A, lhorodateur et le nonce de B.
Three-Way Trois messages sont changs (A b, B a, A b) permettant une authentification
sans horloge synchronise.
La rponse de A B contient la copie signe du nonce de B ce qui signifie que les horodateurs nont
pas besoin dtre vrifis ou compts.

Fig. 10.7 Authentification unidirectionnelle (One-Way)

Fig. 10.8 Authentification bidirectionnelle (Two-Way)

Fig. 10.9 Authentification tridirectionnelle (Three-Way)

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.

R. Dumont - Notes provisoires

121

10. LA GESTION DES CLS

10.1.4

Cls de session

La distribution de cls publiques bien que simple et permettant la confidentialit et lauthentification,


reste lente. Lobjectif restant de protger le contenu dun message, une solution plus rapide est dutiliser
un systme hybride permettant lchange final dune cl de session.
Merkle
Cette solution fut propose par Merkle en 1979. Le droulement est le suivant :
1. A produit une nouvelle paire de cls publique/prive provisoire
2. A envoie B sa clef publique (et son identit)
3. B produit une clef K de session et lenvoie A (la cl est chiffre au moyen de la clef publique
fournie par A)
4. A dchiffre la clef de session et tous les deux lemploient
Cette technique est illustre la figure 10.10.

Fig. 10.10 Echange de cls par le principe de Merkle


Le problme est quun adversaire peut arrter et personnifier les deux moitis de protocole (attaque
man-in-the-middle).
Attaque Man-in-the-Middle Si un adversaire E a la commande de la voie de transmission intervenante, alors E peut compromettre la communication de la faon suivante sans tre dtect :
1. A produit une paire de cls publique/prive {KUa , KRa } et transmet un message destin B se
composant de KUa et dune marque de A, IDA .
2. E arrte le message, cre sa propre paire de cls publique/prive {KUe , KRe } et transmet KUe ||IDA
B.
3. B produit une clef secrte, Ks , et transmet EKUe (Ks ).
4. E arrte le message, et apprend Ks par DKRe (EKUe (Ks de calcul))
5. E transmet EKUa (Ks ) A.
Le rsultat est quA et B connaissent Ks et ignorent que Ks a t galement donn E. A et B
peuvent maintenant changer des messages en utilisant Ks . E ninterfre plus activement sur la voie de
transmission mais coute clandestinement. Connaissant Ks , E peut dchiffrer tous les messages alors
quA et B ignorent le problme.

R. Dumont - Notes provisoires

122

10. LA GESTION DES CLS

Fig. 10.11 Attaque Man in the Middle

10.1.5

Distribution de cls secrtes avec confidentialit et authentification

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.

Fig. 10.12 Distribution de cls secrtes avec confidentialit et authentification

10.2

Echange des cls - Diffie Hellman

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

Soient A et B, les deux parties de la communication. A gnre un nombre premier p et un primitif a


(p et a sont publics).
R. Dumont - Notes provisoires

123

10. LA GESTION DES CLS


Dfinition 1 (Primitif ) Soient p premier et a < p. On dit que a est un primitif de p si b (1, p 1),
g tel que ag b mod p.2

Une fois ces deux valeurs rendues publiques, A et B gnrent chacun un nombre alatoire : xA (< p)
et xB (< p) (gards secrets).

Fig. 10.13 Principe de DH


A et B partagent ainsi la mme cl puisque KAB = KBA . En effet :
xA
KAB = yB
mod p
xB xA
= (a ) (modp)
= axA xB (modp)
= KBA

Exemple :

Alice et Bob souhaitent changer une cl.

1. Soient les valeurs p = 353 et a = 3 rendues publiques.


2. Ils slectionnent chacun une valeur alatoire : A choisit Xa = 97, B choisit Xb = 233.
3. Ils calculent la cl publique : YA = 397 mod 353 = 40(pour Alice) et YB = 3233 mod 353 = 248(pour
Bob).
4. Et calculent finalement la cl de session : KAB = (YB )Xa mod 353 = 24897 = 160 (pour Alice) et
KAB = (YA )Xb mod 353 = 40233 = 160 (pour Bob).
Un imposteur pourrait cependant essayer de trouver KAB partir de yA , de yB , de a et de p en
calculant
log y
KAB = yB a A (modp)
mais la scurit de cet algorithme repose sur le fait quil est impossible de calculer {loga y( mod p)} en
algbre modulaire dans un temps raisonnable. Notons cependant que lauthentification de A et B nest
pas assure par cet algorithme (sensible lattaque MITM).

10.2.2

Protocole Station Station (STS)

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.

R. Dumont - Notes provisoires

124

10. LA GESTION DES CLS


linformation relative soit lidentit de lexpditeur, soit au message chang. Plusieurs moyens existent,
dont les signatures digitales ou les MACs.
Le protocole STS est illustr la figure 10.14. Dans le cas prsent, la fonction Sign est calcule au
moyen de la cl dfinie par le nombre secret de B, valeur que pourra vrifier A grce la proprit
dinversibilit. Comme ces valeurs secrtes sont inconnues de lennemi, ce dernier ne pourra plus feindre
son identit.

Fig. 10.14 Protocole STS

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/

R. Dumont - Notes provisoires

125

Chapitre 11

IPSEC
11.1

Prsentation

IPSec nest pas un protocole simple. Il fournit un cadre gnral qui permet une paire dentits
communicantes demployer nimporte quel algorithme fournissant la scurit approprie pour la communication. Cette technologie a pour but dtablir une communication scurise (un tunnel) entre des
entits loignes, spares par un rseau non scuris voire public comme Internet, et ce de manire
quasi-transparente si on le dsire.
IPSec fournit trois types de services : lauthentification des deux extrmits, la confidentialit des
donnes par chiffrement, et la gestion des cls. On lutilise notamment pour protger la connectivit de
succursales au travers de lInternet, tablir la connectivit intranet et extranet avec des partenaires ou
encore augmenter la scurit du commerce lectronique.

Fig. 11.1 Emplacement du protocole IPSec


IPSec fournit 4 services de scurit, permettant lauthentification et/ou la confidentialit.
Authentification des donnes : IPSec permet de sassurer que pour chaque paquet chang, il a bien
t mis par la bonne machine et quil est bien destination de la seconde machine
Confidentialit des donnes changes : On peut dcider de chiffrer le contenu des paquets IP pour
empcher quune personne extrieure ne le lise
Intgrit des donnes changes : IPSec permet de sassurer quaucun paquet na subit une quelconque modification durant son trajet.

126

11. IPSEC
Protection contre lanalyse de trafic : IPSec permet de chiffrer les adresses relles de lexpditeur et
du destinataire, ainsi que tout len-tte IP correspondant. Cest le principe de base du tunneling.

11.2

Architecture

Larchitecture dIPSEC est dfinie en dtails dans les RFC 2401, 2402, 2046 et 2408. Il est constitu
de deux protocoles. Le premier, AH (Authentication Header), est responsable de lauthentification des
parties de manire sre, mais ne garantit aucune confidentialit. Le second, ESP (Encapsulating Security Payload), est responsable du chiffrement des donnes. Il peut galement garantir lauthentification
des parties, mais apporte alors une certaine redondance avec AH. Ces protocoles peuvent tre utiliss
sparment ou combins.

Fig. 11.2 Architecture IPSec

11.3

Les modes dIPSec

Trois modes sont possibles : Transport, Tunnel et Nesting.

11.3.1

Le mode Transport

Il se positionne entre le protocole Rseau (IP) et le protocole Transport (TCP, UDP).

Fig. 11.3 Mode Transport du protocole IPSec

R. Dumont - Notes provisoires

127

11. IPSEC
Il peut tre utilis entre deux end-users. Il protge uniquement la zone de donnes du paquet. Ce
mode nest utilis que ponctuellement.

11.3.2

Le mode Tunnel

Il remplace les adresses IP originales (IPB ) et encapsule tout le paquet IP. Pour ce faire, il place
dautres enttes IP (IPA ) qui ne seront conserves que durant le transfert du paquet.

Fig. 11.4 Mode Tunnel du protocole IPSec


Ce mode permet la transparence, et est habituellement utilis entre des routeurs.

11.3.3

Le mode Nesting

Cest un mode hybride. On applique successivement les deux protocoles. Il sagit ds lors dune
encapsulation IPSec dans IPSec

Fig. 11.5 Mode Nesting du protocole IPSec

11.4

SPD et SA

La SPD (Security Policy Database) est une base de donnes prsente sur chaque systme capable dutiliser IPSec. Elle permet de dterminer la politique de scurit appliquer un certain trafic. Chaque
entre de cette base est identifie grce plusieurs "slecteurs" tels que ladresse IP source et destination,
le numro de port ou le protocole de transport. Ce sont ces slecteurs qui permettent de retrouver les
SAs associes un type de trafic. On parle de granularit.
La SPD est consulte pendant tout transfert de donnes, entrant ou sortant, IPSec ou Non-IPSec.
Trois choix de traitement sont possibles :
Appliquer les paramtres IPSec (cest--dire protger la connexion par une SA)
Laisser passer le trafic
Rejeter le trafic
Les SA (Security Association) sont le nom donn toute communication protge par lintermdiaire
dIPSec. Cest une relation sens unique entre un expditeur et un rcepteur. Elle repose sur une unique
application de AH ou de ESP. Ainsi, pour une liaison protge par AH entre 2 entits, il y aura 2 SA.
La SA est identifie de manire unique par trois paramtres :
Index de Paramtres de Scurit (SPI - Security Parameters Index)
Adresse de destination IP
Identifiant du protocole de scurit : AH ou ESP

R. Dumont - Notes provisoires

128

11. IPSEC
Pour envoyer un paquet, il faudra donc :
1. Rechercher la politique de scurit grce aux slecteurs
2. Sil faut protger le trafic, on cherche la SA correspondante :
Si la SA existe, on applique le traitement associ (AH, ESP)
Sinon, on cre la SA, puis on applique le traitement

11.5

AH - Authentication Header

Ce protocole fournit le support pour lintgrit des donnes et lauthentification des paquets IP. Pour
lauthentification, lextrmit du systme/routeur peut authentifier lutilisateur/application. Pour lintgrit, on se basera lutilisation dun MAC, do la ncessit dune cl secrte. Lalgorithme HMAC est
prsent, et repose sur le MD5 ou SHA-1 (les deux doivent tre supports). AH permet aussi de vrifier
lunicit des paquets pour contrer les attaques de rejeu.
AH nassure pas la confidentialit. En effet, les donnes sont signes, mais pas chiffres.

Fig. 11.6 En-tte AH


La figure 11.7 illustre le mode Transport associ au protocole AH. On note la prsence de la cl secrte
(SK). On utilise lalgorithme HMAC pour obtenir le MAC partir de la fonction de hachage MD5 ou
SHA-1. La ligne noire continue reprsente ce qui est authentifi (ici, lentiret du paquet).

Fig. 11.7 AH + Transport

R. Dumont - Notes provisoires

129

11. IPSEC

Fig. 11.8 AH + Tunnel

11.6

ESP - Encapsulation Security Payload

Ce protocole fournit la confidentialit du contenu du message et une protection contre lanalyse de


trafic. Il peut galement fournir en option des services dauthentification semblables ceux de AH. Il
supporte les chiffrements usuels (DES, Triple-DES, RC5, IDEA, CAST,...), le mode CBC, et autorise le
padding afin dobtenir la taille de bloc ncessaire, le cas chant.

Fig. 11.9 En-tte ESP


La figure 11.10 illustre le mode Transport avec le protocole ESP. La double flche reprsente ce qui
est chiffr, la droite continue, ce qui est authentifi. On remarque ce propos que lauthentification est
moindre que pour le protocole AH (o lentte IP originale est galement authentifie). Lauthentification est donc prsente, mais moins forte. Dans la majorit des cas, elle sera cependant suffisante, et on
prfrera utiliser ESP plutt que AH pour des raisons de confidentialit.
Le trailer ESP a deux raisons dtre :
Il permet de camoufler la taille relle du paquet,
Il permet de remplir les conditions pour certains modes de chiffrement pour le DES par exemple.

R. Dumont - Notes provisoires

130

11. IPSEC

Fig. 11.10 ESP + Transport

Fig. 11.11 ESP + Tunnel

11.7

Gestion des cls

IPSEC gre la gnration et la distribution des cls. Dans le cadre dune gestion manuelle, ladministrateur systme configure manuellement chaque systme. Mais cela devient problmatique lorsque le
nombre de machines augmente car le nombre de couples de clefs volue de manire quadratique avec le
nombre de systmes. Avec IPSEC, la gestion des cls est automatise (IKE : Internet Key Exchange).
Un systme automatis est prsent pour la cration sur demande des clefs pour la cration des SAs dans
de grands systmes. La partie responsable de la gestion des cls dans IPSEC repose sur les protocoles
OAKLEY et ISAKMP.

11.7.1

OAKLEY

Cest un protocole dchange de cls bas sur la mthode de Diffie-Hellman. Il ajoute des dispositifs
pour contrer certaines faiblesses. Ces dispositifs peuvent prendre la forme de cookies, de groupes (paramtres globaux), de nonces, ou encore dun change de cl DH avec authentification. Il peut pour ce faire
employer des nombres premiers ou des courbes elliptiques.

R. Dumont - Notes provisoires

131

11. IPSEC

Fig. 11.12 Echange par OAKLEY

11.7.2

ISAKMP

Cet acronyme reprsente lInternet Security Association and Key Management Protocol. Il fournit
le cadre pour la gestion des cls et dfinit des procdures et le format de paquet pour tablir, ngocier,
modifier, et supprimer des SAs. Il est indpendant du protocole dchange de cl, de lalgorithme de
chiffrement, et de la mthode dauthentification.

Fig. 11.13 Les types dchange par ISAKMP

R. Dumont - Notes provisoires

132

11. IPSEC

Fig. 11.14 Les types dchange par ISAKMP (suite)

11.8

Ressources supplmentaires

http://www.hsc.fr/ressources/articles/
http://web.mit.edu/tytso/www/ipsec/index.html

R. Dumont - Notes provisoires

133

Chapitre 12

Protocoles dauthentification
12.1

Authentification mutuelle

On lutilise pour convaincre les parties de lidentit de lune par rapport lautre et pour changer
des cls de session. Il faut veiller la confidentialit (protection des cls de session) et au paramtre de
temps (pour empcher le rejeu).

12.1.1

Approche symtrique

Comme discut prcdemment, on peut employer une hirarchie deux niveaux des clefs :
Transfert confidentiel de la cl
Transfert confidentiel des donnes
Habituellement, on trouvera un centre de distribution de cls (KDC). Chaque partie partage une cl
principale avec lui. Il produit des clefs de session utilises pour les communications entre les parties. Les
cls principales sont utilises pour distribuer ces cls de session aux parties.
12.1.1.1

Needham-Schroeder :

Il sagit dun protocole de distribution de cl avec un tiers mdiateur. Pour une session entre A et B,
ngocie par le KDC, il vient la squence suivante :
1. A KDC : IDA ||IDB ||N1
2. KDC A : EKa [Ks ||IDB ||N1 ||EKb [Ks ||IDA ]]
3. A B : EKb [Ks ||IDA ]
4. B A : EKs [N2 ]
5. A B : EKs [f (N2 )]
On lutilise pour distribuer srement une nouvelle cl de session entre A et B. Il est cependant vulnrable une attaque par rejeu1 si une vieille cl de session a t compromise.
Plusieurs modifications peuvent tre apportes pour contrer ce risque : ce sont les mthodes de Denning
et de Neuman.
1 Rejeu

du message 3 qui convainc B que A communique avec lui.

134

12. PROTOCOLES DAUTHENTIFICATION


Utilisation dun timestamp (Denning 81) :
1. A KDC : IDA ||IDB
2. KDC A : EKa [Ks ||IDB ||T ||EKb [Ks ||IDA ||T ]]
3. A B : EKb [Ks ||IDA ||T ]
4. B A : EKs [N1 ]
5. A B : EKs [f (N1 )]
Employer un nonce supplmentaire (Neuman 93) :
1. A B : IDA ||Na
2. B KDC : IDB ||Nb ||EKb [IDA ||Na ||Tb ]
3. KDC A : EKa [IDB ||Na ||Ks ||Tb ]||EKb [IDA ||Ks ||Tb ]||Nb
4. A B : EKb [IDA ||Ks ||Tb ]||EKs [Nb ]

12.1.2

Approche par cl publique

On dispose de diffrentes alternatives bases sur lutilisation du chiffrement cl publique. Mais il est
ncessaire de sassurer que les clefs publiques dont on dispose correspondent aux bonnes personnes. On
emploie alors un serveur central dauthentification2 . Divers protocoles existent utilisant des horodateurs
ou des nonces.
12.1.2.1

Protocole de Denning utilisant un AS :

1. A AS : IDA ||IDB
2. AS A : EKRas [IDA ||KUa ||T ]||EKRas [IDB ||KUb ||T ]
3. A B : EKRas [IDA ||KUa ||T ]||EKRas [IDB ||KUb ||T ]||EKUb [EKRa [Ks ||T ]]
La clef de session est choisie par A. Par consquent, il nest pas ncessaire de faire confiance lAS
pour la protger. Les horodateurs empchent le rejeu mais exigent des horloges synchronises.
Solution pour la dsynchronisation [Woo & Lam 92] : (on fonctionne avec des certificats)
1. A KDC : IDA ||IDB
2. KDC A : EKRauth [IDB ||KUb ]
3. A B : EKUb [Na ||IDA ]
4. B KDC : IDB ||IDA ||EKUauth [Na ]
5. KDC B : EKRauth [IDA ||KUa ]||EKUb [EKRauth [Na ||Ks ||IDB ]]
6. B A : EKUa [EKRauth [Na ||Ks ||IDB ]||Nb ]
7. A B : EKs [Nb ]
Renforcement [Woo & Lam 92]
1. A KDC : IDA ||IDB
2. KDC A : EKRauth [IDB ||KUb ]
3. A B : EKUb [Na ||IDA ]
4. B KDC : IDB ||IDA ||EKUauth [Na ]
5. KDC B : EKRauth [IDA ||KUa ]||EKUb [EKRauth [Na ||Ks ||IDA ||IDB ]]
6. B A : EKUa [EKRauth [Na ||Ks ||IDA ||IDB ]||Nb ]
7. A B : EKs [Nb ]
2 AS

- Authentication Server.

R. Dumont - Notes provisoires

135

12. PROTOCOLES DAUTHENTIFICATION

12.2

Authentification par passage unique

Cette technique est requise lorsque lexpditeur et le rcepteur ne sont pas en communication en mme
temps (dans le cas dun mail par exemple). Len-tte est en clair, ainsi il peut tre compris par le serveur
mail. On souhaite que le contenu du corps du texte soit protg et que lexpditeur soit authentifi.

12.2.1

Approche symtrique

Cest un raffinement de lutilisation dun KDC :


1. A KDC : IDA ||IDB ||N1
2. KDC A : EKa [Ks ||IDB ||N1 ||EKb [Ks ||IDA ]]
3. A B : EKb [Ks ||IDA ]||EKs [M ]
Cela garantit un certain niveau dauthentification, mais ne protge pas du rejeu. On pourrait utiliser
des timestamps mais les dlais des mails rendent ce systme problmatique.

12.2.2

Approche cl publique

Plusieurs alternatives ont dj t prsentes :


Si la confidentialit est le souci principal :
A B : EKUb [Ks ]||EKs [M ]
La cl de session est chiffre avec la cl publique de B, le message est chiffr avec cette cl de session.
Si lauthentification est importante :
on utilise une signature numrique avec un certificat numrique.
A B : M ||EKRa [H(M )]||EKRas [T ||IDA ||KUa ]
On remarque que message, signature, et certificat sont fournis.

12.3

Kerberos

Kerberos est un systme de serveurs de distribution de cls propos par le MIT. Il fournit une authentification centralise dans un rseau distribu et permet laccs pour les utilisateurs aux services
distribus proposs par le rseau sans devoir faire confiance tous les postes de travail mais plutt en
faisant confiance un serveur central dauthentification. Deux versions sont en service : v4 et v5.

12.3.1

Conditions remplir

Le cahier des charges mentionnait les services logiques dun serveur dauthentification, savoir :
la scurit,
la fiabilit,
la transparence,
la modularit.
Il utilise en outre un protocole dauthentification bas sur Needham-Schroeder.

R. Dumont - Notes provisoires

136

12. PROTOCOLES DAUTHENTIFICATION

12.3.2

Kerberos V4 - Vue gnrale

Cest un schma dauthentification basique utilisant un tiers de confiance. Larchitecture Kerberos


dispose :
dun serveur dauthentification (AS). Les utilisateurs ngocient avec lAS pour sidentifier. Celui-ci
fournit un ticket dauthentification non corruptible (Ticket Granting Ticket - TGT).
dun serveur de ticket (Ticket Granting Server - TGS). Les utilisateurs demandent un accs des
services proposs par le TGS sur base de leur TGT.

Fig. 12.1 Systme Kerberos

1. Lutilisateur se loggue sur un poste de travail (le mot de passe est utilis pour tablir la cl secrte
KC par lintermdiaire dune fonction de hachage) et demande un service lAS.
2. LAS vrifie les droits daccs de lutilisateur dans la base de donnes, cre un ticket (TGT) et une
cl de session. Ces rsultats sont chiffrs en utilisant la cl KC .
3. Le client dchiffre le message venant du serveur, puis il envoie le TGT et un authentificateur qui
contient le nom de lutilisateur, ladresse rseau du poste de travail et un horodateur au TGS.
4. Le TGS dchiffre le ticket et lauthentificateur, vrifie la demande, puis cre le ticket pour le serveur
(service) demand.
5. Le poste de travail envoie ce ticket et lauthentificateur au serveur concern.
6. Le serveur vrifie que ce ticket et lauthentificateur correspondent et accorde alors laccs au service.
Si lauthentification mutuelle est exige, le serveur renvoie un authentificateur.
Dans la figure 12.2, KC reprsente la cl calcule partir du mot de passe de C, et Kc,tgs est chiffre
par KC . Seul C peut donc la lire.

R. Dumont - Notes provisoires

137

12. PROTOCOLES DAUTHENTIFICATION

Fig. 12.2 Synthse des envois de messages

12.3.3

Domaines Kerberos

Un environnement Kerberos se compose de 3 lments :


un serveur Kerberos,
un certain nombre de clients, tous inscrits au serveur,
et un ou plusieurs serveurs dapplication, partageant des cls avec le serveur.
Un tel environnement est appel domaine Kerberos (realm). En cas de domaines Kerberos multiples,
les diffrents serveurs Kerberos doivent partager des cls et se faire confiance, afin dinteragir comme sur
la figure 12.3.
La squence dchange de tickets est la suivante :
1. C AS : IDc ||IDtgs ||T S1
2. AS C : EKc [Kc,tgs ||IDtgs ||T S2 ||Lif etime2 ||T ickettgs ]
3. C T GS : IDtgsrem ||T ickettgs ||Authenticatorc
4. T GS C : EKc,tgs [Kc,tgsrem ||IDtgsrem ||T S4 ||T ickettgsrem ]
5. C T GSrem : IDvrem ||T ickettgsrem ||Authenticatorc
6. T GSrem C : EKc ,tgsrem [Kc,vrem ||IDvrem ||T S6 ||T icketvrem ]
7. C V rem : T icketvrem ||Authenticatorc

R. Dumont - Notes provisoires

138

12. PROTOCOLES DAUTHENTIFICATION

Fig. 12.3 Domaines Kerberos

12.3.4

Kerberos V5

Dvelopp dans le milieu des annes 90, il fournit des amliorations de v4. Il corrige et met jour
quelques points cls du systme tels que les algorithmes de chiffrement, lutilisation de certains protocoles
rseau, le temps de vie du ticket, les transferts dauthentification ou lauthentification inter-domaines.
Lensemble des caractristiques est repris dans la RFC 1510.
Dans la figure 12.4, Realm reprsente le domaine de lutilisateur, Options est utilis pour demander
que certains flags soient levs dans le ticket obtenu en retour, Times permet de prciser les balises de
dure de vie du ticket (from, till, rtime) et Nonce est une valeur alatoire assurant de la fracheur de
linformation obtenue.
La Subkey apparaissant dans la 6e`me phase est une proposition du client pour lutilisation dune cl de
chiffrement utiliser pour protger les informations qui transiteront lors de cette session. Si le paramtre
est omis, cest Kc,v qui sera utilise. Dans cette mme phase, le Sequence number prcise le numro
de squence partir duquel seront numrots les messages changs pendant la session (cela permet de
dtecter les attaques par rejeu).

R. Dumont - Notes provisoires

139

12. PROTOCOLES DAUTHENTIFICATION

Fig. 12.4 Synthse des messages de Kerberos v5

12.4

Secure Socket Layer

Cest un protocole de la couche Session (modle OSI) qui permet de crer une connexion scurise
partir dun transport TCP. Il fut lorigine cr par Netscape, en 1992. Il offre des fonctions dauthentification forte du serveur et/ou du client. De plus, il vrifie lintgrit des donnes ainsi que la confidentialit
des donnes.

Fig. 12.5 Emplacement du protocole SSL

SSL est compos de 2 sous-couches : la premire dfinit la faon dont seront traites les donnes
chiffrer et la seconde, gre ltablissement de la connexion scurise et la ngociation des paramtres de
la session.

R. Dumont - Notes provisoires

140

12. PROTOCOLES DAUTHENTIFICATION

12.4.1

SSL Record Protocol

Elle fournit 2 services :


la confidentialit : via un chiffrement symtrique avec une clef secrte partage dfinie dans le
Handshake Protocol. Les algorithmes pouvant tre utiliss sont notamment IDEA, DES, 3DES
et RC4.
lintgrit des messages par lutilisation dun MAC avec la clef secrte partage.

Fig. 12.6 SSL Record Protocol


Le Record protocol est illustr la figure 12.6. Chaque phase est dfinie ci-dessous :
1. Fragmentation : chaque message est fragment en blocs de 214 bytes ou moins.
2. Compression (optionnelle) : doit tre sans perte et ne doit pas augmenter la taille du contenu de plus
de 1024 bytes. En effet, dans certains cas, si le message est trop court, il arrive que la compression
gonfle les donnes. Dans SSL3, lalgorithme de compression utiliser nest pas spcifi.
3. MAC : on utilise une cl secrte connue des 2 parties.
Le calcul du MAC est ralis par la fonction suivante :
Hash(M AC_write_secret||pad_2||hash(M AC_write_secret||
pad_1||seq_num||SSLCompressed.type||
SSLCompressed.length||SSLCompressed.f ragment))
o

MAC_write_secret : la cl secrte partage


Hash : algorithme MD5 ou SHA-1
Pad_1 : byte 0x36 (0011 0110) rpt 48 fois (384 bits) pour le MD5 et 40 fois pour le SHA-1
Pad_2 : byte 0x5C (0101 1100) rpt 48 fois pour le MD5 et 40 fois pour le SHA-1
Seq_num : numro de squence pour ce message
SSLCompressed.type : le protocole de haut niveau utilis pour manipuler ce fragment
SSLCompressed.length : longueur du fragment compress
SSLCompressed.fragment : le fragment compress

4. Chiffrement symtrique : ne doit pas augmenter la longueur du contenu de plus de 1024 bytes et
donc la longueur totale ne doit pas excder 214 + 2048 bytes (chiffrement + compression).
R. Dumont - Notes provisoires

141

12. PROTOCOLES DAUTHENTIFICATION


5. Le header contient diffrents paramtres dont la manire de manipuler le fragment en question
(Content Type, qui indique le protocole de niveau suprieur utiliser pour traiter les donnes du
paquet), la version SSL (Major et Minor Version) et la longueur du fragment compress (ou du
fragment de texte clair si aucune compression na lieu).

Fig. 12.7 SSL Record Protocol - Header

12.4.2

SSL Change Cipher Spec Protocol

Il est lanc au cours de la phase de handshake. Il est constitu dun seul byte. Son but est de
synchroniser les stratgies de chiffrement utilises par le client et le serveur.
Au cours du handshake, les paramtres de chiffrement sont ngocis et calculs. Ces nouveaux paramtres constituent une stratgie temporaire. A lenvoi du message Change_cipher_specs, les nouveaux
paramtres sont copis dans la stratgie courante pour tre directement utiliss par la couche SSL Record.

12.4.3

SSL Alert Protocol

Comme son nom lindique, ce protocole transmet des alertes qui peuvent tre un simple avertissement
ou tre fatale, et dans ce cas provoquer la fermeture de la connexion SSL.
Elles sont reprsentes sur 2 octets, le premier donne le niveau dalerte (Warning ou Fatal ), le second
donne le code de lalerte.
Ces alertes peuvent survenir notamment lors dun message inattendu, dun mauvais MAC, dun chec
de dcompression, dun chec durant la phase de handshake, ou encore dun paramtre illgal. Mais une
alerte peut aussi tre mise lors de la fin de lenvoi de message, lorsquaucun certificat nest utilis, en
cas de mauvais certificat ou de certificat non support, si le certificat est rvoqu ou expir, ou encore en
cas de certificat inconnu.

12.4.4

SSL Handshake protocol

Ce protocole permet au serveur et au client de sauthentifier, de ngocier les algorithmes de chiffrement


et de MAC, et de ngocier les cls cryptographiques employer. Il comporte quatre phases dchanges
de messages :

R. Dumont - Notes provisoires

142

12. PROTOCOLES DAUTHENTIFICATION


1. (HELLO) Ltablissement des possibilits en matire de scurit. Cette phase dtermine entre autres
la version, la session, les algorithmes de chiffrement et compression ainsi que des nombres alatoires.
2. Lauthentification du serveur et change de cl.
3. Lauthentification du client et change de cl.
4. (FINISH) La clture.

Phase 1 : HELLO Au dpart, les paramtres de chiffrement sont initialiss 0 (c--d quaucun
algorithme de chiffrement, de hachage et de signature ne sont dfinis).

Fig. 12.8 SSL Phase 1 - Hello


Client_hello est compos de :
N de version SSL (2 ou 3)
N alatoire du client (ClientHello.random)
N de session (optionnel) (permet de rcuprer les paramtres de scurit dune connexion antrieure)
Liste des stratgies de chiffrements supportes, par ordre dcroissant de prfrences ( DES, 3DES,
IDEA, ...)
Algorithmes de hachage supports. (MD5, SHA-1, ...)
Server_hello comporte :
N de version SSL (en fonction de celui support par le client)
N alatoire du serveur (ServerHello.random)
N de session
Stratgie de chiffrement choisie (en fonction de celles du client)
Algorithme de hachage choisi (en fonction de ceux du client)
Phase 2 : Authentification du serveur et change de cl Plusieurs techniques existent pour
changer les cls. Elles sont bases sur une version de lalgorithme Diffie-Hellman et/ou du RSA :
DH anonyme : il sagit de lalgorithme de base. Il est sujet lattaque man-in-the-middle car les
paramtres DH ne sont pas authentifis.
DH fix : les paramtres de DH sont tablis et publis au moyen dun certificat. Il contre lattaque
man-in-the-middle mais pas une attaque par force brute.
DH phmre : les paramtres DH peuvent changer dune session lautre ce qui rend une attaque
par force brute bien plus difficile raliser. Les paramtres DH sont de plus signs grce la cl
RSA prive de lexpditeur pour contrer lattaque man-in-the-middle.
RSA : la cl secrte est chiffre grce la cl publique du receveur. Cela implique quun certificat
du receveur soit disponible afin dobtenir sa cl publique de faon fiable.

R. Dumont - Notes provisoires

143

12. PROTOCOLES DAUTHENTIFICATION

Fig. 12.9 SSL Phase 2 - authentification du serveur

La phase 2 est illustre la figure 12.9.


Certificate envoie le certificat au client. Il nest pas envoy sil sagit dun DH anonyme. Il contient
aussi les paramtres de la cl publique DH sil sagit dun DH fix.
Server_key_exchange envoie les paramtres relatifs la cl de session. Il nest pas envoy si on
utilise un DH fix (car ils sont dj fournis dans le certificat) ou RSA sont utiliss.
Certificate_request demande le certificat du client. Il nest pas envoy si un DH anonyme est utilis.
Server_hello_done marque la fin de la phase de Hello pour le serveur.
Phase 3 : Authentification du client et change de cl Le client vrifie le certificat du serveur
sil la reu, ensuite il enverra son certificat au serveur si celui-ci la demand (message Certificate de la
figure 12.10.

Fig. 12.10 SSL Phase 3 - authentification du client


Client_key_exchange est similaire Server_key_exchange. Il est toujours envoy, mme si son
contenu est nul. Son contenu dpend du mcanisme dchange de cl utilis :
Sil sagit du RSA, le client gnrera une cl matresse primaire (PMK) reprsente par un nombre
alatoire de 48 octets, et lenvoie au serveur.
En cas de DH phmre ou anonyme, les paramtres de la cl publique du client sont envoys.
En cas de DH fix, le contenu de ce message est nul, puisque ces paramtres ont t envoys dans
le certificat.
Client_certificate_verify est envoy aprs la gnration de la valeur secrte maitresse (Master_secret).
Il nest pas envoy si un DH fix est utilis. Pour cet envoi, le client signe le hach rsultant de la
concatnation de le MK, des messages quil aura envoy prcdemment, et de valeurs de padding.
R. Dumont - Notes provisoires

144

12. PROTOCOLES DAUTHENTIFICATION


Gnration des cls :

Selon quon utilise RSA ou DH, la gestion de la PMK sera diffrente :

RSA : le client gnre une valeur de 48 octets, la chiffre laide de la cl publique du serveur et
lenvoie ce dernier. Le serveur utilise alors sa cl prive pour obtenir la PMK.
DH : Les deux parties (client et serveur) gnre une cl publique DH. une fois ces cls changes,
chaque partie calcule la PMK correspondante.
A ce moment, peu importe le mcanisme dchange de cl utilis, les deux parties disposent de la mme
PMK. A cet instant, serveur et client dtermine la valeur secrte maitresse. Soit X, le ClientHello.random
et Y, le ServerHello.random. La valeur secrte maitresse est donne par
M _Secret =M D5(P M K||SHA(0 A0 ||P M K||X||Y ))||
M D5(P M K||SHA(0 BB 0 ||P M K||X||Y ))||
M D5(P M K||SHA(0 CCC 0 ||P M K||X||Y ))
Phase 4 : FINISH Il sagit des premiers messages utilisant la stratgie de chiffrement ngocie au
cours du handshake .

Fig. 12.11 SSL Phase 4 - finish


Change_cipher_spec fait partie du protocole Cipher Spec. Il a pour but de transformer la stratgie
temporaire en stratgie courante. Le message Finished vrifie que lchange de cl et les processus
dauthentification se sont correctement drouls.

12.4.5

TLS - Transport Layer Security

Aujourdhui, on parle frquemment du protocole TLS. Il sagit en ralit de lvolution du protocole SSL. Ses spcifications sont disponibles dans le RFC 2246. Les principales diffrences sont listes
ci-dessous :

utilisations HMAC pour le calcul de MAC


une fonction pseudo-alatoire intervient dans le calcul de cl
des codes alertes additionnels
modifications des chiffrements supports
le calcul de la valeur secrte maitresse est modifi

12.4.6

Utilisation du SSL - HTTPS

Le HTTPS3 est une application du SSL pour Internet. De nombreux sites internet bancaires utilisent
cette combinaison.
3 HTTP over SSL, ne pas confondre avec SHTTP (Secure HTTP) qui authentifie individuellement chaque page html
avec un certificat.

R. Dumont - Notes provisoires

145

Chapitre 13

Les architectures de paiement


lectronique
Le pourcentage dinternautes utilisant une carte de crdit pour effectuer leur paiement en ligne ne
cesse de progresser. De nombreuses architectures de paiement lectronique ont vu le jour. La plupart
nont pas survcu. Aprs le SET, cest aujourdhui 3D-Secure qui est le plus couramment utilis.

13.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 13.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)

146

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

Fig. 13.1 Composants du protocole SET

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

13.1.1

Quelques rgles de scurit

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

147

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE


Le banquier ne doit pas avoir accs la nature de la commande passe par lacheteur.
Le SET permet de vrifier lauthenticit des parties et lintgrit des donnes grce lutilisation de
plusieurs algorithmes et protocoles prcdemment prsents :
La confidentialit de linformation : on utilise un chiffrement RSA-1024 pour chiffrer les cls de
sessions DES ou 3DES, seule la banque peut lire le numro de carte
Lintgrit des donnes : par lintermdiaire de signatures digitales RSA, SHA-1 et HMAC
Lauthentification du propritaire de la carte : par des certificats X.509v3 et des signatures RSA
Lauthentification du marchand : par des certificats X.509v3 et des signatures RSA.
Pour garantir cette scurit, et permettre une compatibilit entre toutes les entits, le choix des algorithmes fut impos.

13.1.2

Droulement gnral dune transaction

Une transaction SET ncessite dix tapes entre louverture dun compte, et la 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 lauthenticit 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

13.1.3

Les signatures duales

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

R. Dumont - Notes provisoires

148

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE


ne permet pas cette fraude.
Le fonctionnement de la signature est donne la figure 13.2. Le client calcule en premier lieu individuellement le hach (par SHA-1) de son PI et celui de son OI. Le hach de leur concatnation est ensuite
chiffr avec sa cl prive, ce qui constitue la signature duale. On peut illustrer lentiret du procd par
la formule suivante :
DS = EKRc [H(H(P I)||H(OI)]

Fig. 13.2 Fonctionnement dune signature duale

13.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.
13.1.4.1

La Commande

La premire phase consiste en lenvoi dune demande dachat (Purchase Request) au marchand. Elle
est illustre par la figure 13.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.

R. Dumont - Notes provisoires

149

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

Fig. 13.3 Commande - Requte du client

Lorsque le marchand reoit la requte dachat du client, il procde aux vrifications illustres la
figure 13.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.

13.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

150

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

Fig. 13.4 Commande - Vrification par le marchand

Lautorisation de la passerelle de paiement a lieu en 7 tapes :


1. Il dchiffre lenveloppe numrique du bloc dautorisation pour obtenir la clef symtrique et dchiffre
alors le bloc dautorisation
2. Il vrifie la signature du ngociant sur le bloc dautorisation
3. Il dchiffre lenveloppe numrique du bloc de paiement (originaire du client et transmis par le
marchand) pour obtenir la clef symtrique et dchiffre alors le bloc de paiement
4. Il vrifie la signature duale sur le bloc de paiement
5. Il vrifie que lidentificateur de transaction reu du marchand correspond celui reu (indirectement) dans le PI du client
6. Il demande et reoit une autorisation de linstitution financire
7. Il renvoie la rponse dautorisation au marchand

13.1.5

Paiement

Cette dernire phase de paiement prend place en 4 tapes :


1. Le ngociant envoie une demande de paiement au gateway de paiement
2. La passerelle vrifie la demande (vrification de la signature du marchand)
3. La passerelle effectue le transfert de fond vers le compte du ngociant
4. Il informe enfin le ngociant du transfert accompli.

R. Dumont - Notes provisoires

151

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

13.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)

Fig. 13.5 Aperu de larchitecture

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.

13.2.1

Architecture gnrale

Domaine de lmetteur (ISSUER Domain - authentifie le client)


Le client (cardholder) :
Il achte en ligne et fournit les infos ncessaires (numro de carte de crdit, mot de passe pour
lauthentification, date dexpiration)
LACS (Access Control Server) :
Son rle est de vrifier si lauthentification 3D-Secure est possible pour un numro de carte particulier, mais aussi dauthentifier un client pour chaque transaction.
Le navigateur du client :
Il permet une connexion scurise entre le MPI (Merchant Plug-In) prsent dans le domaine du
marchand et lACS

R. Dumont - Notes provisoires

152

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE


Lmetteur (Issuer - souvent une banque) :
Il est responsable de lobtention de la carte. Il fournit galement les informations ncessaires au DS
(Directory Server) prsent dans le domaine dinteroprabilit. Enfin, il dtermine si un client peut
utiliser le service ou non.
Domaine de lacqureur (ACQUIRER Domain - authentifie le marchand)
Le marchand.
Le MPI (Merchant Plug-In) :
Cest une interface qui dialogue avec le client et le DS. Cest par son intermdiaire quont lieu les
principaux changes, et qui a donc conduit "dresponsabiliser" le marchand dans cette architecture.
Lacqureur (Acquirer - souvent une banque) :
Il dtermine si un marchand peut participer au service 3D-Secure. Durant les transactions, cest lui
qui dialoguera avec les entits du domaine dinteroprabilit afin de grer les demandes dautorisation de paiement.
Domaine dinteroprabilit (INTEROPERABILITY Domain - gre les envois de messages)
Le DS (Directory Server) :
Il dtermine si un numro de carte est valide ou non et transmet les requtes dauthentifications
des clients lACS. Lorsquil reoit la rponse, il la transmet au marchand.
LAuthentication History Server (AHS) :
Il reoit et conserve chaque message reu de la part de lACS pour chaque authentification de
paiement (russie ou non). En cas de conflit entre la banque du client et celle du marchand, une
copie de cet historique est consultable.
Ltablissement de crdit (ici VisaNet) :
Il reoit les requtes dautorisations de linstitution financire et les transmet au fournisseur (Issuer). Cest lui aussi qui transmet la rponse reue la banque du marchand.
Un aperu gnrale des 3 domaines est donn la figure 13.6. Une vue plus dtaille des lments
composant chaque domaine est illustre par la figure 13.8.

Fig. 13.6 Architecture gnrale

R. Dumont - Notes provisoires

153

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

13.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.

Fig. 13.7 3D-Secure : Inscription

13.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).

R. Dumont - Notes provisoires

154

13. LES ARCHITECTURES DE PAIEMENT LECTRONIQUE

Fig. 13.8 3D-Secure : Achat

13.3
13.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.

13.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.

13.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

R. Dumont - Notes provisoires

155

Chapitre 14

PGP
Lemail est lun des services rseau les plus utiliss. Le contenu des messages nest pas scuris, il
peut donc tre inspect durant son transit ou par les utilisateurs privilgis sur le systme de destination.
On souhaite donc la mise en place de services de scurit tels que la confidentialit, lauthentification,
lintgrit et la non-rpudiation. Ces quatre services sont apports par le logiciel PGP, que nous allons
dcrire en dtails.
Dvelopp par Phil Zimmermann, PGP fournit un service de confidentialit et dauthentification qui
peut tre employ pour des applications de type courrier lectronique et stockage de dossiers. PGP repose
sur une slection et un emploi des meilleurs algorithmes cryptographiques (RSA, DSA, DH, 3DES, IDEA,
CAST-128, SHA-1) disponibles intgrs dans un programme simple indpendant de lOS. A lorigine libre,
il dispose maintenant de versions commerciales. Il reste cependant disponible librement sur une grande
varit de plateformes. Il possde un large ventail dapplicabilit, nest pas dvelopp ou command
par des organismes de normalisation gouvernementaux et est pourtant maintenant reconnu comme un
standard (RFC 3156).

14.1

Principes

PGP propose cinq services, qui seront explicits par la suite :


Authentification
Confidentialit
Compression
Compatibilit E-mail
Segmentation

Notations utilises
Diverses notations seront utilises dans les schmas illustrant le principe de PGP :
Ks : cl de session utilise dans les schmas symtriques
KRa : cl prive de A
KUa : cl publique de A
EP : chiffrement public
DP : dchiffrement public
EC : chiffrement symtrique
DC : dchiffrement symtrique
H : fonction de hachage
|| : concatnation
Z : fonction de compression utilisant lalgorithme ZIP
R64 : conversion au format ASCII Radix 64
156

14. PGP

14.1.1

Authentification

Lors de cette premire phase, lexpditeur cre tout dabord son message. Un fois termin, SHA-1
gnre un condens de 160 bits associ. Ce dernier est chiffr avec RSA ou DSS en utilisant la cl prive
de lexpditeur, et le rsultat est attach au message.
Le rcepteur utilise RSA ou DSS avec la cl publique de lexpditeur pour dchiffrer et rcuprer le
condens. Il produit ensuite un nouveau condens du message et le compare avec le condens dchiffr.
Sils correspondent, lauthenticit du message est dmontre. Le point (a) de la figure 14.1 illustre le
mcanisme dauthentification.

Fig. 14.1 Authentification (a) et Confidentialit (b) de PGP

14.1.2

Confidentialit

Lexpditeur gnre un message et un nombre alatoire de 128 bits employer comme clef de session
pour ce message seulement. Le message est chiffr, en utilisant Cast-128/IDEA/3DES avec la clef de
session. Celle-ci est chiffre en utilisant le RSA avec la clef publique du destinataire, puis attache au
message.
Comme le montre le (b) de la figure 14.1, le rcepteur emploie le RSA avec sa cl prive pour dchiffrer
et rcuprer la cl de session qui sera utilise pour dchiffrer le message.
Confidentialit et authentification
Logiquement, on emploie les deux services sur le mme message. On cre la signature que lon attache
ensuite au message. On chiffre le message et la signature. On attache ensuite la clef de session chiffre
par RSA. Cette association est illustre la figure 14.2.

Fig. 14.2 Authentification et Confidentialit associes dans PGP

R. Dumont - Notes provisoires

157

14. PGP

14.1.3

Compression

Par dfaut PGP compresse le message aprs la signature mais avant le chiffrement. Ainsi on peut
stocker le message et la signature non compresss pour une vrification ultrieure. Lalgorithme de compression utilis est le ZIP. Son emplacement est critique (en raison de la redondance).

14.1.4

Compatibilit mail

Lemploi de PGP fournit des donnes binaires. Ainsi, tout ou partie du message consistera en une
suite arbitraire doctets. Cependant, la plupart des clients mail nacceptent que lutilisation de blocs
ASCII. Par consquent PGP doit coder les donnes binaires en caractres ASCII imprimables.
PGP emploie pour ce faire lalgorithme Radix-64 qui fait correspondre 3 bytes 4 caractres imprimables. Il appose galement un CRC. Si cela savre ncessaire, PGP procdera galement la segmentation des messages.

14.1.5

Segmentation et Rassemblage

Selon les infrastructures en place, la taille des mails est souvent limite (p. ex. une longueur de
message maximale de 50.000 octets). Ainsi, les messages plus longs doivent tre dcoups en segments.
PGP va automatiquement subdiviser un message trop grand. En rception, il faudra enlever tous les
en-ttes de mail et rassembler tous les blocs en un seul.

14.1.6

Rsum des oprations PGP

La figure 14.3 illustre schmatiquement lordonnancement des services proposs.

Fig. 14.3 Oprations PGP

R. Dumont - Notes provisoires

158

14. PGP

14.2

Format dun message

Le format des messages utiliss par PGP est donn la figure 14.4. La plupart des termes utiliss
dans ce schma seront explicits par la suite.

Fig. 14.4 Format de message PGP

Identifiant de cl
Comme beaucoup de clefs publique/prive peuvent tre en service (un utilisateur peut possder plusieurs paires), il y a ncessit didentifier quelles sont les cls employes rellement pour chiffrer la clef
de session dans un message.
Il aurait t possible denvoyer la cl publique complte avec chaque message, mais cest inefficace
et moins sr. PGP emploie plutt un identifiant de cl bas sur cette cl. Il prend les 64 bits les moins
significatifs de la cl, ce qui permet avec une probabilit trs leve didentifier de manire unique la cl
ayant t utilise. La mme mthode est employe dans les signatures.

14.3

Cls cryptographiques et anneaux de cls

Il est ncessaire de gnrer des cls de session alatoires. De plus comme on vient de le mentionner,
il est possible de disposer de plusieurs paires de cls publique/prive. Il est donc obligatoire de conserver
la liste de ses paires de cls mais galement la liste des cls publiques de ses correspondants.

R. Dumont - Notes provisoires

159

14. PGP

14.3.1

Cls de session

On a besoin dune cl de session pour chaque message. Les tailles varieront selon lalgorithme utilis :
DES 56 bits, CAST ou IDEA 128 bits, Triple-DES 168 bits.
Pour introduire la notion alatoire de la cl, PGP utilise des donnes issues des utilisations prcdentes
et de la dynamique de frappe de lutilisateur (temps pris pour taper une squence de lettres, le temps de
pression sur une touche ou encore le temps entre deux pressions successives sur une mme touche).

14.3.2

Anneaux de cls

Chaque utilisateur PGP dispose dune paire danneaux :


Lanneau de cls publiques contient toutes les cls publiques des autres utilisateurs de PGP connus
de cet utilisateur, classes par identifiant de cl.
Lanneau de cls prives contient les paires de cls publiques/prives de cet utilisateur, classes par
identifiant de cl.

Fig. 14.5 Anneaux de cls prives et publiques

Remarque : La cl prive nest pas conserve en tant que telle mais chiffre (avec CAST ou IDEA ou
3DES) au moyen dun condens (SHA-1) obtenu partir dune passphrase selon la mthode suivante :
1. Lutilisateur slectionne une passphrase, un simple mot de passe ntant plus suffisant pour garantir
une bonne scurit.
2. Quand le systme gnre une nouvelle paire de cls RSA, il demande lutilisateur sa passphrase.
En utilisant le SHA-1, il gnre un condens de 160 bits partir de cette passphrase et la passphrase
est efface.
3. Le systme chiffre la cl prive avec CAST en utilisant 128 bits du condens. Le condens est
ensuite supprim et la cl prive chiffre est stocke dans lanneau des cls prive. Cest la raison
pour laquelle PGP demande la passphrase lorsque lon dsire obtenir sa cl prive.

R. Dumont - Notes provisoires

160

14. PGP
14.3.2.1

Utilisation des anneaux pour un envoi

Dans un premier temps, on procde la signature du message :


Obtention de la cl prive dans lanneau de cls prives
Utilisation de la passphrase pour dchiffrer la cl
Construction du composant signature
Ensuite, on procdera au chiffrement du message :
Gnration dune cl de session et chiffrement du message
Obtention de la cl publique du correspondant dans lanneau de cls publiques
Cration du composant de la cl de session

Fig. 14.6 Gnration dun message PGP

14.3.2.2

Utilisation des anneaux pour une rception

Lors du dchiffrement du message, il viendra dans lordre :


Rcupration de la cl prive dans lanneau de cls prives (obtention de lID de la cl dans le
composant de la cl de session)
Utilisation de la passphrase pour dchiffrer la cl
Rcupration de la cl de session et dchiffrement du message
Authentification du message :
Rcupration de la cl publique de lexpditeur dans lanneau de cls publiques (utilisant lID de
la cl dans le composant de la signature)
R. Dumont - Notes provisoires

161

14. PGP
Rcupration du condens transmis
Calcul du condens du message reu et comparaison.

Fig. 14.7 Rception dun message PGP

14.3.3

Gestion des cls

Plutt que demployer des autorits de certificats, chaque utilisateur est son propre CA dans PGP.
Nimporte quel utilisateur peut signer des clefs pour des utilisateurs quils connaissent directement. Cest
ce que lon appelle la Toile de Confiance de PGP. On peut faire confiance aux clefs dautres utilisateurs
pour autant quils soient atteints par une chane de signatures. Lanneau des cls publiques inclut des
indicateurs de confiance (Key legitimacy, Signature Trust, et Owner Trust de la figure 14.5).
Remarques relatives au schma 14.8
Vous signez toutes les cls appartenant des utilisateurs qui vous faites confiance (ou partiellement
confiance) lexception du noeud L. Ces signatures personnelles ne sont pas obligatoires (comme
on le voit avec L), mais sont souhaitables.
On le remarque avec le noeud E, qui est sign par F qui vous faites confiance. Dans la majorit
des cas, il sera prfrable de "confirmer" la signature de F par une signature vous appartenant.
Ainsi, il serait prfrable que vous signiez la cl de L.
On considre que deux utilisateurs qui vous faites partiellement confiance sont suffisants pour
certifier la cl dun autre utilisateur. Ainsi, la cl de H est certifie valide par la prsence des
signatures de A et de B, utilisateurs auxquels vous faites partiellement confiance.
Il arrive que certaines cls soient certifies, alors que vous navez pas confiance en son propritaire.
Cest le cas pour lutilisateur N. Celui-ci est sign par E, sa cl est donc certifie valide. Mais
bien que vous ayez confiance en E, cette confiance nest pas transitive. Pour lutilisateur R, bien
que sign par N dont la cl est valide, PGP ne le considre pas comme digne de confiance. Cette
situation est tout fait plausible : il peut arriver que vous souhaitiez envoyer des donnes chiffres

R. Dumont - Notes provisoires

162

14. PGP

Fig. 14.8 Toile de confiance

un utilisateur quelconque en qui vous navez pas confiance, cependant, la cl utilise pour chiffrer
doit rellement tre la cl de ce correspondant.
Le noeud S est sign par deux utilisateurs inconnus (un tel cas peut avoir lieu si cette cl est obtenue
partir dun serveur de cls.) PGP ne considre pas cette cl comme valide, mme si elle provient
dun serveur certifi valide.

14.3.4

Rvocation des cls publiques

Il est galement possible pour les utilisateurs de rvoquer leurs clefs. Le propritaire gnre alors un
certificat de rvocation de cl. Il sagit dun certificat de signature muni dun indicateur de rvocation.
La cl prive correspondante est employe pour signer ce certificat.

14.4

Ressources supplmentaires

http://www.gamers.org/~tony/pgp.html
http://axion.physics.ubc.ca/pgp-attack.html
http://www.faqs.org/faqs/pgp-faq/

R. Dumont - Notes provisoires

163

Chapitre 15

S/Mime
15.1

SMTP

Le protocole SMTP1 est le protocole de base pour les communications de type mail. Ses spcifications sont disponibles dans le RFC 822. Linconvnient majeur de ce protocole est quil est relativement
limit pour les besoins actuels. Ainsi, il ne peut pas transmettre, ou en tout cas prouve des difficults
transmettre :

les
les
les
les
les
...

dossiers excutables,
caractres "de langue nationale" (non-ASCII),
messages de taille suprieure une certaine limite,
problmes de traduction ASCII vers EBCDIC,
lignes de messages plus longues quune certaine longueur (72 254 caractres),

Le protocole MIME2 tente de rsoudre ces problmes.

15.2

MIME

On peut trouver ses spcifications dans les documents RFC 2045 2049. Elles consistent en 3 modifications majeures :
5 nouveaux champs den-tte sont dfinis, donnant des informations sur le contenu du message,
Un certain nombre de formats de contenu ont t dfinis, de manire supporter en standard les
mails multimdia
Plusieurs codages permettant de convertir nimporte quel format de contenu en un autre pour viter
les altrations du message par les systmes mails
Les en-ttes MIME
Les cinq en-ttes dfinies dans ce protocole sont reprises ci-dessous :
MIME-Version : la version indique doit tre "1.0".
Content-Type : plusieurs types ont t ajouts (par exemple "application/word", "text/plain",...)
Content-Transfer-Encoding : indique comment le message a t encod (radix-64)
Content-ID (facultatif ) : reprsente une chaine didentification unique
Content Description (facultatif ) : description textuelle de lobjet transmis. Cest ncessaire
quand le contenu nest pas un texte lisible (p. ex. des donnes audio).
1 Simple

Mail Transfert Protocol.


Internet Mail Extension.

2 Multipurpose

164

15. S/MIME

15.3

S/MIME

Cet acronyme signifie Secure/Multipurpose Internet Mail Extension et concerne donc une amlioration
scurise du format MIME. Il est dfini dans un grand nombre de documents dont principalement les
RFC 2630, 2632, 2633.
S/MIME va probablement devenir le futur standard de lindustrie, alors que PGP sera plutt utilis
pour la scurit des mails personnels. Actuellement, S/MIME est reconnu par la plupart des architectures
mails.

15.3.1

Possibilits S/MIME

Les possibilits gnrales de S/MIME sont proches de celles apportes par PGP, savoir signer et
chiffrer les messages.
Mais S/MIME permet galement quatre configurations de transferts :
Donnes enveloppes :
Le contenu du message et les cls de session sont chiffres pour les destinataires.
Donnes signes :
Le condens du message est chiffr avec la cl prive du signataire. Le texte et ce condens sont
ensuite encods en base64. Un tel message ne peut tre lu que si le destinataire est compatible
S/MIME.
Donnes signes en clair :
Seul le condens est encod en base64. Le texte reste en clair. Ainsi, un systme non compatible
S/MIME peut lire le message mais ne peut pas vrifier la signature.
Donnes signes et chiffres :
Cest une combinaison des modes prcdents. Ainsi, des donnes chiffres peuvent tre signes, et
inversment.

15.3.2

Algorithmes utiliss

Tout comme PGP, plusieurs algorithmes sont employs dans le protocole. En ce qui concerne les
fonctions de hachage, SHA-1 et MD5 sont utiliss. Pour la cration des signatures digitales, le DSS est
disponible. Pour les oprations de chiffrement symtrique, on peut utiliser soit le 3DES, ou le RC2/403 .
Enfin, dans le cas des chiffrements par cl publique, le RSA avec des cls de 1024 bits est conseill, ainsi
que Diffie-Hellman pour lenvoi des cls de session.

15.3.3

Gestion des certificats

S/MIME utilise des certificats X.509 v3. Cette gestion est un systme hybride entre la hirarchie de
CA X.509 et la toile de confiance de PGP. Dans le cas prsent, chaque client dispose dune liste de cls
auxquelles il fait confiance, ainsi quune CRL. Le client doit donc maintenir les certificats jour pour
garantir une certaine scurit. De plus ces certificats doivent tre signs par des CA.
15.3.3.1

Rle de lutilisateur

Lutilisateur doit grer ses cls, et doit pour ce faire, veiller trois points importants :
Gnration de cl : en utilisant Diffie-Hellman (obligatoire), DSS (obligatoire) et RSA (souhait).
Enregistrement : les cls publiques doivent tre enregistres auprs dune CA X.509 afin de pouvoir
obtenir un certificat.
Stockage du certificat : les utilisateurs doivent pouvoir accder une liste locale des certificats pour
permettre la vrification des signatures et le chiffrement des messages sortants.
3 Chiffrement

symtrique cl de 40 bits.

R. Dumont - Notes provisoires

165

15. S/MIME
15.3.3.2

Autorits de certification

Il en existe de nombreuses, Verisign tant une des plus utilises et compatible avec S/MIME. Elle
propose diffrents types de certificats avec des niveaux de confiance et de vrification croissants. Ces
diffrents certificats sont explicits dans le tableau 15.1. Les certificats ainsi dlivrs sont la norme
X.509. Ils sont tous identifiables par un Digital ID. Ce Digital ID reprend au minimum :
La cl publique du propritaire du certificat, ainsi que son nom ou son alias
La date dexpiration du certificat ainsi que son numro de srie
Le nom du CA layant dlivr
La signature digitale de ce CA
Les certificats peuvent appartenir une certaine classe selon le niveau de scurit souhait :
Classe 1 : la vrification online est suffisante
Classe 2 : la vrification se fait galement par adresse postale
Classe 3 : la vrification doit impliquer la personne physique (par signature manuelle notamment)
Classe
1
2+
3+

Vrif didentit
vrif nom/email
vrif adress/inscrip
identification des documents

Usage
web browsing/email
email, souscription online, validation software
accs e-banking/services

Tab. 15.1 Certificats VeriSign

15.3.4

ESS - Enhanced Security Services

Il sagit dun ensemble de fonctions de scurit pour S/MIME. Ces fonctions permettent de raliser 4
services :
un renvoi daccus de rception (dun message M envoy et sign par A) sign par B : aprs avoir
contrl la signature de A, B envoie cet accus, contenant une rfrence du message M et la signature
de A pour ce message, le tout sign par B. A vrifie alors que sa signature (prsente dans laccus)
correspond la signature quil avait envoy. Si cest le cas, B a bien reu M.
les labels de scurit : ils permettent didentifier la politique de scurit associe au contenu du
message, ou encore dindiquer le type dutilisateurs autoriss accder lobjet en question.
lutilisation dagents de diffusion (MLA - Message List Agent) : lorsque A dsire envoyer un message,
il communique avec son MLA qui devra transmettre ce message aux destinataires. Ce dernier pourra
au besoin communiquer avec dautres MLA. Lavantage de cette technique est que A dlgue le
travail ( son MLA), ce qui simplifie la tche de lutilisateur. Bien sr, les utilisateurs doivent avoir
confiance en leur MLA.
lutilisation de cls gnres par un protocole de gestions de cls (type ISAKMP)

R. Dumont - Notes provisoires

166

Chapitre 16

Le monde quantique
16.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
167

16. LE MONDE QUANTIQUE


la valeur 15 = 5 * 3. Mme si ce rsultat peut paratre drisoire, il doit tre rapport aux recherches
effectues. Si des rsultats plus significatifs peuvent tre apports, cest toute la cryptographie classique
(de type chiffrement symtrique, asymtrique, protection par mot de passe, etc.) qui seffondrera.
Lordinateur de 2001 utilise des atomes de carbone et de fluor ainsi quune machine rsonance
magntique (aimants supra-conducteurs plongs dans un bain dhlium liquide -269C. Dautres types
dordinateurs quantiques existent : intgrer des qubits dans un substrat solide (NEC), emprisonner des
photons dans des cavits optiques.
Il y a cependant des contraintes de construction. Lordinateur doit tre par exemple tre totalement
isol du monde extrieur, car ce dernier provoque la dcohrence du systme. De plus, il ne peut y avoir
aucune perte dinformation.

16.1.1

Ordinateur quantique VS ordinateur classique

Le calculateur quantique devance lordinateur classique sur plusieurs points :


La rsolution de problmes complexes.
Laide aux physiciens dans les calculs quantiques, souvent trop complexes.
La recherche acclre dans des bases de donnes1 .

16.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.

16.2
16.2.1

La cryptographie quantique
Fondements et principes

La cryptographie quantique repose sur trois domaines distincts :


La cryptographie, en ce sens quelle permet de garantir la confidentialit dune cl.
La physique quantique, et plus particulirement la mcanique quantique.
La thorie de linformation, car elle fournit un systme inconditionnellement sr.
Le problme majeur en cryptographie est le transfert de la cl entre les deux parties communicantes.
Ici, on nmet aucune hypothse sur la scurit du canal employ. La raison en est que la cryptographie
quantique repose sur le principe dHeisenberg :
Certaines quantits subatomiques ne peuvent tre simultanment mesures.
La consquence de ce principe est quil est impossible de mesurer ces particules sans les modifier.
Il est donc possible de construire un canal de communication que nul ne peut espionner sans modifier
1 quantum

database search : par lalgorithme de Grover (recherche exhaustive)

R. Dumont - Notes provisoires

168

16. LE MONDE QUANTIQUE


la transmission de manire dtectable. Ainsi, il est possible de transmettre une cl secrte entre deux
personnes sans quelles disposent dinformations secrtes communes pralables.
Dans le cadre du transport dune cl, la technique qui nous occupera ici consistera en lenvoi de
photons. On utilisera la technique dite de Polarisation de photons.

16.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 16.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.

Fig. 16.1 Filtre polarisant


Source : http ://www.iro.umontreal.ca/crepeau/PRL93/MQC.html

16.2.3

Dtecteurs de photons (Photodtecteurs)

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 .

Fig. 16.2 Dtecteurs de photons


Source : http ://www.iro.umontreal.ca/crepeau/PRL93/MQC.html

R. Dumont - Notes provisoires

169

16. LE MONDE QUANTIQUE


Pour un filtre dangle gnral, le raisonnement est semblable. Soit A, langle du photon et B langle
du filtre. On obtient une transmission avec une probabilit de COS 2 (A B) et non transmission avec
une probabilit de SIN 2 (A B).
Par convention, on considre quun photon polaris 0ou 45reprsentent un 0 et un photon polaris
90 ou 135 reprsente un 1. Le problme intervient lorsquun photon polaris diagonalement (45 ou
135) rencontre un filtre standard (et inversment). Il y a alors incertitude, comme on le voit sur la figure
16.3.

Fig. 16.3 Dtection sre et incertitude


Source : P. Jorrand, CNRS Labo Leibniz, France,2006

16.2.4

Exemple de communication : Le protocole BB84

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 16.4.
A la fin de la transmission, Bob possde un ensemble de bits, formant la cl brute. Aprs vrification
sur le canal non protg, seuls les bits 1,3,4 et 7 seront valables et constitueront la cl tamise.
16.2.4.1

Pourquoi ce type de communication est-il sr ?

La preuve de la scurit de ce type de transmission est base sur deux observations :


1. Pour raliser une coute sur le canal et ainsi intercepter la cl, il faut obligatoirement utiliser le
mme type doutils (filtre et photodtecteur).
R. Dumont - Notes provisoires

170

16. LE MONDE QUANTIQUE

Fig. 16.4 Protocole BB84

2. 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 16.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).
En effet, la probabilit quEve choisisse un filtre incorrecte est de 50%, et donc elle a 50% de chance
de se tromper en rmettant le photon. Si Bob lit ce photon rmis en utilisant le mme filtre que celui
utilis pour lmission par Alice (dans le cas contraire, le bit nest pas retenu pour la cl), il a aussi 50%
de chance de se tromper. La probabilit quun photon intercept donne une erreur dans la cl est donc
de 50% x 50% = 25%. Autrement dit, il y a 75% de chance que linterception ne provoque pas derreur,
ou encore, il y a 75% de chance quEve ne soit pas dtecte.
Si Alice et Bob comparent n bits de la cl sur le canal public, la probabilit quils dcouvrent la
prsence dEve est gale
 n
3
Pd = 1
4
Pour n = 72, on obtient Pd = 0.999999999. Il est conseill denvoyer 4n bits pour obtenir une cl
tamise de taille n.
Alice et Bob peuvent aussi utiliser des tests de parit :
Alice choisit alatoirement une suite de bits quelle pense partager avec Bob.
Sur le canal publique, Alice envoie la parit de la suite et leur position dans le flux global. La parit
pourra tre simplement la rponse la question "Y a til un nombre pair ou impair de 1 ?". La
position sera transmise sous la forme "jai choisi le bit n1, le bit n4, le bit n9, etc.".
Bob vrifie avec la suite quil a dtect : si cela ne correspond pas cest que la cl est compromise,
si cela correspond, on ne peut encore rien conclure.
Alice rpte le processus plusieurs fois sur des suites distinctes.
Aprs k vrifications, la probabilit de se tromper en assurant quils nont pas t couts sera de
2k .
R. Dumont - Notes provisoires

171

16. LE MONDE QUANTIQUE

Fig. 16.5 Protocole BB84 avec coute pirate

En rsum, on peut reprsenter lobtention dune cl secrte en trois tapes, telles quillustres la
figure 16.6.

Fig. 16.6 Les 3 tapes ncessaires lobtention dune cl secrte


Source : R. Allaume, Dp. Inf. et Rseaux, ENS Tlcommunications, Paris, 2007

16.2.4.2

Rsolution des problmes

Le premier problme auquel il fallut faire face tait la manipulation de photons isols. 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.
Cependant, les impulsions impliquaient par dfinition plusieurs photons, et donc plus de facilit pour
R. Dumont - Notes provisoires

172

16. LE MONDE QUANTIQUE


dterminer la polarisation des photons par le pirate.
A lheure actuelle, pour travailler photon par photon, il faut utiliser un systme muni de 4 lasers
possdant chacun un filtre polarisant diffrent. La puissance du laser est rduite de telle sorte quon
nmet quun photon la fois.
Un deuxime problme est quil peut arriver que certains photons soient corrompus, mme en labsence dcoute pirate (par une notion diffrente de lhorizontal entre les deux entits communicantes par
exemple). Cela est d limperfection du matriel utilis. Tout comme dans le cas classique, il existe une
srie de codes correcteurs derreurs, regroup dans le monde quantique sous la notion de QEC (Quantum
Error Correction).
Un autre domaine demande des recherches actives : la qualit du support du canal quantique. Il est
actuellement compos dune fibre optique, avec les inconvnients que cela apporte :
La rflexion des photons sur les parois de la fibre modifie la polarisation.
La perte de photons si la distance est trop longue.
On trouve aujourdhui des fibres optiques spcialement ddies au transport de photons. On parle
dans ce cas de Fibres Optiques Photoniques (FOP).
16.2.4.3

En pratique

La premire exprience de cryptographie quantique a eu lieu en 1991. Elle consista en lenvoi et


la rception de 2000 bits. En tenant compte des erreurs durant le transfert, de lespionnage et des bits
diffuss sur le canal public, la cl secrte finale aurait eu une taille de 800 bits. Par manque de technologie, cette exprience na permis que le transfert dun bit par seconde sur une distance de 32 centimtres.
En 2003, Toshiba a ralis une exprience similaire sur une centaine de kilomtres.
La technique dcrite ici est aujourdhui fonctionnelle et porte le nom de QKD (Quantum Key Distribution). La premire exprience commerciale eut lieu Genve en 2007 lors des lections fdrales.
Son adoption est toutefois lente, pour plusieurs raisons :
Il sagit dune technologie mergente
Son cot est assez lev (environ 5000$ par capteur)
Il existe une srie de contraintes physiques (fibre optique, porte limite, chiffrement P2P)
Le dbit offert actuellement est assez limit (autour d1 Mbit maximum [10/2008])

16.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 dcennies
(annes ?) si lon parvient mettre au point des ordinateurs quantiques grande chelle.

R. Dumont - Notes provisoires

173

Chapitre 17

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.

17.1
17.1.1

Les 4 attaques cryptanalytiques


Attaque sur le texte chiffr uniquement (ciphertext-only)

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.

17.1.2

Attaque texte clair connu (known-plaintext attack)

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.

17.1.3

Attaque sur un texte clair slectionn(chosen-plaintext attack)

Etant donn la capacit de chiffrer un fragment de texte clair choisi arbitrairement, on recherche la
cl par la technique de la cryptanalyse diffrentielle.

17.1.4

Attaque sur le texte chiffr uniquement (chosen-ciphertext attack)

Etant donn la capacit de dchiffrer un fragment de texte chiffr choisi arbitrairement, on recherche
la cl.

174

17. LA CRYPTANALYSE

17.2
17.2.1

Quelques autres techniques


La force brute

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 17.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).

Fig. 17.1 Temps de calcul pour une taille de cl donne

Fig. 17.2 Scurit fournie selon la taille de la cl

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

175

17. LA CRYPTANALYSE

17.2.2

Attaque par dictionnaire

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).

17.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).

17.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.

Fig. 17.3 Cryptanalyse diffrentielle

17.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

176

17. LA CRYPTANALYSE

17.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 chapitre 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.

Fig. 17.4 Meet-In-The-Middle


Un nombre de cls possibles rduit rend cette attaque utilisable.

17.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.

Fig. 17.5 Man-In-The-Middle

17.2.8

Autres attaques logicielles

Quelques autres attaques logicielles rpandues sont frquemment cites :


Mascarade/Dguisement : attaquer le service dauthentification dun systme en se faisant passer
pour une personne digne de confiance.
Attaque par Rejeu : rpter un envoi de donnes ou une squence dactions sans les modifier (rpter un ordre de crdit par exemple).

R. Dumont - Notes provisoires

177

17. 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.

17.3
17.3.1

Attaquer les fonctions de hachage


Utilisation du paradoxe de lanniversaire

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 substitution.

17.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).
17.3.2.1

Cas 1 : la fonction de rduction unique

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.17.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.

Fig. 17.6 Compromis temps-mmoire par fonction de rduction unique


Source [4]

R. Dumont - Notes provisoires

178

17. 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 17.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.
17.3.2.2

Cas 2 : Rainbow Attack

Fig. 17.7 Compromis temps-mmoire par tables arc-en-ciel

Pour un hach donn, lalgorithme de cassage (figure 17.7) est le suivant :


1. On calcule sa rduction R3
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 R2 puis H puis R3
Le rsultat est dans la dernire colonne ?
Oui, on recalcule la chaine partir du dbut
Non, on lui applique R1 puis H puis R2 puis H puis R3
Si aucun rsultat nest obtenu, on sait que notre table nest pas assez complte. Il faudra alors soit
augmenter le nombre de chaines traites dans la table, soit augmenter le nombre de tables avec utilisant
dautres fonctions de rduction.

R. Dumont - Notes provisoires

179

17. LA CRYPTANALYSE
17.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 .

17.4

Les attaques par canaux auxiliaires

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.
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

R. Dumont - Notes provisoires

180

17. LA CRYPTANALYSE
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].

17.5

En guise de conclusion

Dfinissons encore 2 termes :


Un (crypto)systme est dit inconditionnellement sr si le texte chiffr ne contient pas assez
dinformation pour retrouver le texte clair correspondant, peu importe la longueur du texte chiffr
disposition.
Un systme est dit informatiquement sr :
1. Si le cot ncessaire au dcryptement excde la valeur intrinsque de linformation
2. Si le cot ncessaire au dcryptement excde la dure de vie utile (dure de validit) de
linformation
Dans la pratique, on trouve trs peu de systmes du premier type. Beaucoup plus du second.
Signalons enfin que la cryptanalyse et la cryptographie ont volu conjointement. Comme dans de
nombreux autres domaines, le jeu du chat et de la souris est bel et bien rel, mme si la finalit de la
cryptanalyse est souvent daider la conception de meilleurs algorithmes.

R. Dumont - Notes provisoires

181

Chapitre 18

Gestion des accs


18.1

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

Fig. 18.1 Le modle de Lampson


Des exemples pratiques sont donns dans le tableau ci-dessous.
utilisateur
utilisateur
machine
programme

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

Le modle de Lampson est particulirement adapt la prsentation pratique du protocole AAA. En


effet, par lintermdiaire de son schma, on reprsente facilement les endroits o ont lieu les diffrentes
phase dudit protocole (voir figure 18.2).

182

18. GESTION DES ACCS

Fig. 18.2 Le modle de Lampson et le protocole AAA

18.2

Mthodes daccs aux donnes

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.

18.2.1

Discretionary Access Control (DAC)

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 : . . .

18.2.2

Mandatory Access Control (MAC)

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

R. Dumont - Notes provisoires

183

18. GESTION DES ACCS


les utilisateurs. . .
Un exemple concret est le modle driv LBAC : Lattice-Based Access Control. Une lattice est une
rgle dfinissant un ensemble de niveaux de scurit. Par exemple, la dfinition suivante, illustre la
figure 18.3 :
Les sujets avec un label L ne peuvent lire que des objets de label L0 <= L (No Read-Up)
Les sujets avec un label L ne peuvent crire que des objets de label L0 >= L (No Write-Down)

Fig. 18.3 LBAC : no read-up et no write-down (Red Hat Inc., www.centos.org)


Comme on le voit, ce systme est trs contraignant. Peu adapt un environnement commercial, il
est peu rpandu dans les contextes non-militaires. On le rserve des lattices simples.
Bien que trs sr, il reste sensible aux attaques par canaux cachs (dialogue interprocessus partir
de lutilisation du processeur par exemple).
Dans le contexte grand public, ce type de contrle daccs est rarement utilis pour garantir la
confidentialit en tant que telle. Ainsi, le systme SELinux lutilise pour la vrification de lintgrit des
donnes. Son modle porte le nom de "Biba Model, qui utilise une rgle no write-up. Cette technique
est notamment utilise pour empcher la modification des donnes de lOS partir de logiciels indsirables
circulant sur Internet.

18.2.3

Role-Based Access Control (RBAC)

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 tre autoriss
simultanment pour un mme utilisateur.
R. Dumont - Notes provisoires

184

18. GESTION DES ACCS

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,
...

Fig. 18.4 RBAC-DAC sous Windows (www.windowssecurity.com)

Remarques au sujet de la figure 18.4 :


A louverture dune session, lutilisateur reoit un jeton daccs (Access Token). Ce jeton dfinira
les actions quil peut effectuer.
SID : Security Identifier (unique)
SACL : System ACL utilis pour lAudit
Lordre tabli dans la DACL est important : la premire entre correspondante est prise en compte.
Comme on le voit, la notion de groupe est prsente, mais ce sont bel et bien les droits dfinis par
le propritaire qui dtermine les actions possibles pour les autres utilisateurs (cf. Owner SID).

18.3

La problmatique des mots de passe

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 ?

18.3.1

Quelques principes vidents, en thorie. . .

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 employer une grande varit de caractres
(pour le rendre plus robuste la force brute).

R. Dumont - Notes provisoires

185

18. GESTION DES ACCS


Il peut tre utile dutiliser un vrificateur de mots de passe afin de tester la vulnrabilit aux
attaques par dictionnaire. Dans le mme temps, il pourra tester la taille des mdp face aux attaques
par force brute.
Il est bon dassocier une dure de vie aux mdp. Un changement rgulier permet une meilleure
protection contre la force brute.
On peut aussi limiter le nombre dessais.
Quelques exemples de mauvais mots de passe :

Par dfaut : password, mdp, default, admin, . . .


Mots : bonjour, test, voiture, silence, . . .
Mots numrots : clavier12, merci154, armoire98, . . .
Egaux au login : Albert84, . . .
Mots doubls : crabcrab, stopstop, treetree,. . .
Squences : qwerty, 12345678, bhunji,. . .
Personnels : prnom, numro dimatriculation,. . .

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 de lutilisateur loggu
Une autre possibilit, mais qui nest pas utilisable dans toutes les conditions, porte le nom de One
Time Password (OTP).

18.3.2

One Time Password

Le mot de passe ici gnr ne reste valable que pour une dure dtermine. Deux mthodes coexistent :

R. Dumont - Notes provisoires

186

18. GESTION DES ACCS


1. Mthode synchrone : Fonction du temps (Time-synchronous)
2. Mthode asynchrone : En rponse un "challenge" (Challenge-response)
18.3.2.1

Mthode synchrone

Fig. 18.5 OTP par mthode synchrone

18.3.2.2

Mthode asynchrone

Fig. 18.6 OTP par mthode asynchrone

18.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

R. Dumont - Notes provisoires

187

Chapitre 19

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.

19.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

Fig. 19.1 Type de "pirate" et caractristiques

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 assisterait plutt une simple tude des techniques de hacking, destine lapprofondissement
188

19. SCURIT LOGICIELLE


global des connaissances en scurit.
Autre diffrence entre ces deux rgions : la taille mme des groupes. En Europe, les hackers sembleraient isols, ou agissant par petits groupes. En Chine, il sagit de vritables organisations criminelles de
plusieurs dizaines voire centaines de personnes.
Dans le mme temps, la difficult pour mettre en place ces attaques dcroit, comme le montre une
tude ralise en 2002 prsente par la figure 19.2.

Fig. 19.2 Cyberterrorism, Tim Shimeall, Carnegie Mellon University, 2002


Une autre reprsentation, plus axe sur limpact de ces attaques est donne la figure 19.3. Remarquons ici que la notion dimpact global reprsente la taille des rseaux viss. Ainsi, on attaque plus
aujourdhui des rseaux bancaires de grandes envergures plutt que le pc du voisin. On constate dans le
mme temps que les attaques lances au hasard ( destination de tout Internet, tel quun ver lach
travers Internet par exemple) sont de moins en moins frquentes.

Fig. 19.3 Cisco Expo 2007 Presentation, Cisco Systems Inc.


Les systmes cibls peuvent prendre nimporte quelle forme, de luniversit aux infrastructures militaires, en passant par les FAI ou les banques.
R. Dumont - Notes provisoires

189

19. SCURIT LOGICIELLE


Ces attaques (par virus ou par intrusion) provoquent souvent de nombreux problmes, correspondant
des pertes de donnes, de fonctionnalits, dimage de marque, ou plus simplement une perte de temps,
lorsquil sagit dun virus inoffensif.

19.2

Virus, Vers et drivs

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.

19.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.
19.2.1.1

Analogie entre virus informatique et virus biologique

Tout comme le virus biologique, le virus informatique poursuit plusieurs objectifs :


Il essaye de se dissimuler le plus longtemps possible aux yeux de lutilisateur infect
Il contamine tout ce qui est sa porte
Il tente de se rpandre, sans se cantonner au support sur lequel il se trouve
19.2.1.2
Il

Classification des virus

nexiste pas de classification stricte. En voici quelques exemples :


Par le format vis (excutable ou documents),
Par leur comportement (rapide, lent, rsident, polymorphe,. . . ),
Selon lorgane vis (boot sector, driver, . . . ),
Selon le langage utilis (virus assembleur, macro-virus, virus interprt, . . . ),
...

Quelques infos sur certains des noms donns ci-dessus :


Les macro-virus : Ces virus utilisent le langage de Microsoft Visual Basic. Ce langage permet
dcrire des macros pour les logiciels de la suite bureautique Office (Word, Excel,...). Un virus de
ce type pourra donc se propager lorsque lutilisateur ouvrira le fichier infect. De plus en plus de
logiciels sont compatibles avec le VB (VBScript). Le risque de propagation est donc dautant plus
important.
Les virus rsidents : Ils se placent en mmoire RAM et contaminent les fichiers au fur et mesure
de leurs excutions. Ils peuvent par exemple prendre la forme de fichier pilote de Windows (.vxd).
Ils sont alors chargs ds le dmarrage du systme, avant le chargement de lantivirus.

R. Dumont - Notes provisoires

190

19. SCURIT LOGICIELLE


Les virus de boot : On parle aussi de virus de secteurs damorce. Leur objectif est de modifier
le secteur de dmarrage du disque et de le remplacer par une copie deux-mme de sorte que le
virus soit dj en cours dexcution ds le dmarrage du systme dexploitation et de tout systme
dradication.
Les virus lents : A la diffrence dun virus rapide qui infecte les fichiers ds quils sont manipuls
par le systme, les virus lents ninfectent les fichiers quen cas de modification, ce qui rend leur
dtection plus subtile.
. . . (voir aussi la section consacre aux anti-virus)
Trois principales techniques (modes daction) sont utilises par les virus :
Contamination par recouvrement : le virus crase les premires instructions du fichier par ses propres
instructions. Lavantage est que la taille du fichier nest pas modifie. Cependant, il nest plus
utilisable par la suite, le dbut de ses instructions ayant t supprim.
Contamination par ajout : le virus sexcute avant le code original du fichier infect, mais repasse
la main ce dernier la suite de son excution. Dans ce cas, la taille du fichier est modifie.
Contamination par entrelacement : il sagit ici dinsrer du code entre les blocs valides du programme. Elle est plus difficile mettre en place, mais est moins facilement dtecte.

19.2.2

Les vers

Ils sont souvent confondus avec les virus mail. La diffrence oprer 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.
19.2.2.1

Utilit des vers

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.
19.2.2.2

Architecture dun ver

Il est compos de deux parties :


Le vecteur : cest la partie principale du ver, qui soccupe de la recherche de failles et est responsable de transmettre la seconde partie du ver.
Larchive : cest la partie "morte" du ver, qui sera envoye sur le systme distant et linfectera.
Cette archive peut exister sous deux formes distinctes :

R. Dumont - Notes provisoires

191

19. SCURIT LOGICIELLE


sous forme de sources : la reproduction est beaucoup plus aise, car le nombre de machines
potentiellement cibles est beaucoup plus grand. Linconvnient majeur de ce procd est quun
compilateur est ncessaire sur la machine infecter. Les donnes ncessaires linfection sont
plus volumineux et une compression des sources sera parfois opre pralablement.
sous forme binaire : la reproduction de ce type de ver nest possible que sur une architecture
compatible avec les donnes binaires. Cependant, ce format ne ncessite pas de compilateur sur
la machine hte et est souvent plus compacte que la version source.
Il est remarquer quil existe des vers multi-formes, cest--dire utilisant une archive en sources ou binaire
selon le systme infecter.
19.2.2.3

Contamination dun systme

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.

R. Dumont - Notes provisoires

192

19. SCURIT LOGICIELLE

19.2.3

Les chevaux de Troie

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 aise, 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 les 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.
19.2.3.1

Mise en place dun cheval de Troie

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.
19.2.3.2

Dtection par les antivirus

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 19.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.

R. Dumont - Notes provisoires

193

19. SCURIT LOGICIELLE


...
8685
8732
8734
8787
8811
8812
8821
8848
8864
8888
...

...
Unin68
Kryptonic Ghost Command Pro
AutoSpY
Back Orifice 2000
Fear
FraggleRock Lite
Alicia
Whirlpool
Whirlpool
Dark IRC
...

Tab. 19.1 Liste de quelques ports utiliss

19.2.4

Les bombes logiques

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.

19.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

les annexes pour quelques informations complmentaires sur ces attaques.

R. Dumont - Notes provisoires

194

19. SCURIT LOGICIELLE

19.3
19.3.1

Les systmes de protection


Les antivirus

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.

R. Dumont - Notes provisoires

195

19. SCURIT LOGICIELLE

Lanalyse heuristique : A la diffrence du moniteur de comportement qui dtecte les modifications causes par les virus, lanalyse heuristique tente de dtecter les virus avant leur excution, en
cherchant des portions de code suspectes. Il pourrait par exemple chercher des squences de lecture
suivies de squences dcriture sur un mme fichier excutable. Cette technique permet donc de
dtecter des virus mme sil ne sont pas prsent dans la base de donnes, puisque lanalyseur teste
des squences dinstructions communes de nombreux virus.

19.3.2

Les systmes de dtection (et de prvention) dintrusions

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 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 19.4), il peut stopper lintrusion ds quil la dtecte.
La 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

R. Dumont - Notes provisoires

196

19. SCURIT LOGICIELLE

Fig. 19.4 Positionnement dun IDS et dun IPS sur un rseau

19.3.2.1

Dtail dune signature (de SNORT)


ALERT tcp $REZO_EXT ERN E any -> $REZO_IN T ERN E 21
(msg :"FTP EXPLOIT overflow" ; flags : A+ ; content :"|5057 440A
2F69|" ; classtype :attempted-admin ; sid :340 ; rev :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 caractristiques 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.
19.3.2.2

Les alertes

La dtection dintrusions utilisent des taux de vraies et fausses alertes :


les fausses alertes ngatives : lIDS ne signale aucune intrusion alors quune a lieu.
les vraies alertes positives : lIDS signale raison quune attaque est en cours ou a eu lieu.
les fausse alertes positives : lIDS signale une alerte alors quaucune attaque na eu lieu.
les vraies alertes ngatives : cest la situation normale, rien ne se passe et lIDS ne ragit pas.
19.3.2.3

Scurit apporte par les IDS

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

197

19. SCURIT LOGICIELLE

19.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.

Fig. 19.5 Technique de tolrance dintrusions

19.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 recueil 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

R. Dumont - Notes provisoires

198

19. SCURIT LOGICIELLE


accs et les rsultats associs pour dterminer les mthodes dattaques des pirates.
Les honeypots peuvent tre de formes et de tailles trs variables. Ils ont galement des avantages et
inconvnients, comme toute technologie.
Au niveau des avantages, on trouvera :
des ensembles dinformations rduits mais de plus grande utilit : au lieu de gnrer des milliers
dalertes par jour, un honeypot ne pourra gnrer quune petite dizaine dalertes, mais dont la
qualit et lutilit seront beaucoup plus grande. En effet, de par sa nature, le honeypot ne capture
que lactivit suspecte, ce qui dune part rduit le taux de fausses alertes, et dautre part, facilite
lanalyse des donnes recueillies.
de nouveaux outils et de nouvelles techniques : comme un honeypot capture tout ce quil subit,
il capture galement les nouvelles mthodes dattaques. Il ne travaille pas partir dune base de
donnes comme la plupart des IDS.
un consommation minimale de ressources : pour construire un honeypot, il nest pas ncessaire
davoir une station puissante, un simple Pentium avec 128 Mb de RAM est amplement suffisant.
la simplicit : les honeypots sont relativement simples comprendre et mettre en place. Ils ne
ncessitent pas dalgorithmes complexes, de bases de donnes maintenir jour, ou de listes de
signatures.
En ce qui concerne les inconvnients, on peut citer :
une vue limite : bien que les honeypots collectent toute intraction avec eux-mme, ils ne peuvent
relever les informations sur dautres machines.
le risque : il peut arriver quun pirate prenne entirement le contrle du honeypot cible. Si le
honeypot est isol, cela ne posera pas normment de problmes, mais sil sagit dune station
spcifique dans un rseau, le risque est plus lev.
19.3.4.1

Les types de honeypots

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 systmes. 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 beaucoup 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 interaction peut faire tout ce que fait un honeypot basse
intration, et bien plus. Cependant, ils sont plus complexes dployer et maintenir en ordre.

R. Dumont - Notes provisoires

199

19. SCURIT LOGICIELLE

Fig. 19.6 HoneyNet : un honeypot haute intraction

19.3.4.2

Utilisation des honeypots

En gnral, les honeypots peuvent avoir deux utilits distinctes : 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

lintermdiaire de plages IP non utilises par exemple.

R. Dumont - Notes provisoires

200

19. SCURIT LOGICIELLE

19.3.5

Les firewalls

Quil sagisse dune machine 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.

19.3.5.1

Principes de fonctionnement

Le filtrage de paquets (Packet Filtering )


Les paquets sont analyss en les comparant un ensemble de filtres (cest--dire un ensemble de
rgles). Les paquets seront alors soit rejets, soit accepts et transmis au rseau interne.
Lorsque le paquet arrive au firewall, celui-ci analyse les champs IP et TCP/UDP. Ils sont confronts
chacune des rgles spcifies dans la table des autorisations prsente dans le firewall, et configure par
ladministrateur du systme. Selon les rgles qui autorisent ou refusent la transmission des paquets, le
firewall obira aux ordres. Si un paquet ne satisfait aucune des rgles, il est soit rejet, soit accept,
suivant la philosophie choisie par ladministrateur rseau :
Ce qui nest pas expressment permis est interdit
Ce qui nest pas expressment interdit est permis.
La premire de ces deux approches est beaucoup plus sre. La seconde est plus risque car elle suppose
que ladministrateur est certain davoir envisag tous les cas pouvant engendrer des problmes.
On pourrait par exemple avoir une rgle du type suivant :
Rule
1

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 loccurrence, il nidentifie que la machine et
non son utilisateur.

R. Dumont - Notes provisoires

201

19. SCURIT LOGICIELLE


Le filtrage du flux (Circuit Filtering )
Le filtrage de flux ne prte pas attention au contenu des paquets transitant sur la connexion. De ce
fait, ce type de filtrage ne peut tre utilis pour assurer lauthentification des parties, ou la scurit du
protocole par lintermdiaire duquel a lieu la connexion.
A la diffrence du filtrage de paquets, qui est considr comme permissif, le filtrage de flux est restrictif.
En effet, il nautorisera le flux entre deux entits que si la connexion entre ces deux entits existe. On
peut voir ce principe comme la cration dun tunnel entre deux machines. De ce fait, le circuit-filtering
ne sera souvent utilis quen complment de lapplication gateway.
La passerelle applicative (Application Gateway )
A la diffrence du filtrage de paquets, qui analyse les paquets individuellement, lapplication gateway
permet de limiter les commandes un service plutt que de linterdire.
Ce principe de fonctionnement empche le trafic direct entre le rseau protg et lInternet, et ce dans
les deux sens. Le trafic interne natteindra jamais Internet, et inversment, aucun trafic Internet ne voyagera sur le rseau interne. En effet, chaque client interne se connectera sur un serveur proxy (qui est la
base de ce principe). Toutes les communications se feront par lintermdiaire de celui-ci. Il dterminera si
le service demand par lutilisateur est permis et se connectera avec le destinataire en cas dautorisation.
Le destinataire ne connatra pas ladresse de son correspondant . Il ne communiquera quavec le serveur
proxy, qui jouera en ralit le rle dun translateur dadresse rseau (NAT).
La scurit peut tre ici trs leve. Agissant au niveau applicatif, on peut notamment la retrouver
dans lauthentification par mot de passe des utilisateurs.
En tant quinconvnient, ce principe de fonctionnement supposera que toutes les machines sont configures pour communiquer avec ce proxy, ce qui impliquera probablement une configuration individuelle
de chaque machine ou linstallation de logiciels sur chacune delles.
19.3.5.2

Les types darchitectures

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).

R. Dumont - Notes provisoires

202

19. SCURIT LOGICIELLE


Les firewalls hardware
Ils sont souvent assimils des boites noires, laccs leur code tant difficile. Ce type de matriel
propritaire renferme dailleurs souvent un systme de protection permettant dauthentifier le logiciel
associ (par signature RSA par exemple), et ainsi rendre toute modification pratiquement impossible.
Avantages :
Il est facilement intgr au rseau.
Son administration est souvent simplifie.
Le niveau de scurit est assez lev.
Inconvnients :
Ce type de firewall tant propritaire, les mises jour dpendent entirement du constructeur.
En raison de larchitecture hardware, peu de modifications sont autorises.
Les firewalls logiciels
Ces firewalls existent autant sous forme commerciales que sous forme gratuites. Quelque soit son
origine, la scurit pourra fortement varier. Un logiciel commercial pourra parfois mettre en avant sa
facilit de mise en place et de configuration, mais ce sera souvent aux dpends de la scurit. Au niveau
des logiciels gratuits et/ou libres, ils seront souvent plus flexibles (cest--dire plus fournis en options),
mais ncessiteront la plupart du temps de bonnes connaissances en rseau afin de les configurer finement
sans abaisser le niveau de scurit.

19.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 : lorsquune 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

R. Dumont - Notes provisoires

203

19. SCURIT LOGICIELLE


On trouve galement parfois le qualificatif critique". Toutefois, le fait de classer une vulnrabilit
dans telle ou telle catgorie est purement subjectif. Ainsi une faille classe critique par une socit X
sera peut-tre classe moyenne par une socit Y. Un exemple est donn la figure 19.7.

Fig. 19.7 Classification des vulnrabilits en 2007 selon IBM

19.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.
19.4.1.1
1.
2.
3.
4.

Cas favorable

Dcouverte de la faille par des whitehats/chercheurs


Correction de la vulnrabilit par le vendeur
Exploitation par les blackhats
Installation du correctif chez lutilisateur

La fentre de vulnrabilit stend de T3 T4.


Remarquons tout de mme que ce nest pas parce quun patch existe quil est install par lutilisateur.
Dans la majorit des cas, le patch existera, mais par mconnaissance, ou inconscience, lutilisateur omettra
dinstaller le correctif.
19.4.1.2
1.
2.
3.
4.

Cas dfavorable

Dcouverte de la faille par des whitehats/chercheurs


Exploitation par les blackhats
Correction de la vulnrabilit par le vendeur
Installation du correctif chez lutilisateur

La fentre de vulnrabilit stend de T2 T4.


19.4.1.3

Cas critique

1. Dcouverte/exploitation de la faille par des blackhats


2. Correction de la vulnrabilit par le vendeur
3. Installation du correctif chez lutilisateur
La fentre de vulnrabilit stend de T1 T3.

R. Dumont - Notes provisoires

204

19. SCURIT LOGICIELLE

19.4.2

Supprimer les vulnrabilits

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.
19.4.2.1

Un exemple concret : Le buffer overflow

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.

Fig. 19.8 Organisation de la mmoire - http ://www.computerworld.com/


Sur la figure 19.9, on aperoit le comportement normal de la fonction strcpy(). A priori, sans avoir
t averti dune utilisation malicieuse possible, on ne dtecte pas directement pourquoi cette fonction
peut poser un quelconque problme. Toutefois, la mise en situation voque la figure 19.10 montre
le contraire : si aucune vrification de la taille effective des donnes pointes par bar nest faite, une
corruption est possible, pouvant permettre linsertion de code.

R. Dumont - Notes provisoires

205

19. SCURIT LOGICIELLE

Fig. 19.9 Utilisation normale de la fonction strcpy()

Fig. 19.10 Utilisation possible de la fonction strcpy()

Il existe un certain nombre de fonctions dont il est bon de se mfier. Une liste est donne la figure
19.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.

R. Dumont - Notes provisoires

206

19. SCURIT LOGICIELLE

Fig. 19.11 http ://www.ibm.com/developerworks/library/s-buffer-defend.html

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 19.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 buffer-overflow, 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

R. Dumont - Notes provisoires

207

19. SCURIT LOGICIELLE

Fig. 19.12 Liste de langages et protection face au buffer-overflow


flags CPU ou directement dans lOS.
On peut galement distribuer alatoirement les segments en mmoire. De ce fait, le pirate ne sait
pas priori o se situe le code excuter.
19.4.2.2

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.)

19.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/

R. Dumont - Notes provisoires

208

Chapitre 20

La scurit en entreprise
20.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.

20.1.1

Dfinitions

Avant toute chose, dfinissons quelques termes, dont certains ont dj t voqus :

Vulnrabilit : faiblesse inhrente un objet (software ou hardware)


Menace : danger (interne ou externe) tel quun hacker, un virus, etc.
Risque : probabilit quune menace exploite une vulnrabilit
Contre-mesure : moyen permettant de rduire le risque

On comprend mieux le poids dun risque en se fiant la modlisation suivante :


Risque =

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

20.1.2

Grer le risque

La gestion des risques consiste en trois actions majeures :


Etudier les risques potentiels (identifier/mettre au jour ces risques)
Imposer des rgles de scurit adquates pour rduire ces risques
Eduquer les employs

209

20. LA SCURIT EN ENTREPRISE


20.1.2.1

Etudier les risques : mthodologie

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.
20.1.2.2

Imposer des rgles de scurit adquates

Cela consistera en la dfinition de procdures internes lentreprise bases sur :


1. des rgles administratives
Suivre des standards de scurit (normes ISO)
Suivre les lois
2. des rgles physiques
Gardes, camras, alarmes, verrous
Accs aux locaux scuriss par biomtrie
3. des rgles techniques
R. Dumont - Notes provisoires

210

20. LA SCURIT EN ENTREPRISE

Dterminer des niveaux de classification des donnes


Dfinir des niveaux daccs ces donnes
Utiliser la cryptographie pour le traitement et le stockage de linformation
Mettre en place un firewall matriel et/ou logiciel
...

20.1.2.3

Eduquer les employs

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 duqus 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. . .

20.1.3

Ragir face un risque

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 onreuses
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.

R. Dumont - Notes provisoires

211

20. LA SCURIT EN ENTREPRISE

20.2

La destruction des donnes

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.

20.2.1

Types de traitement

Il existe 4 stades de destruction des donnes :


Niveau 0 limination (Disposal) : Donnes ne prsentant pas de danger pour lentreprise. Elles ne subissent
aucun traitement particulier.
Niveau 1 Nettoyage (Clearing) : Protection des donnes permettant de contrer une "attaque logicielle" (Keyboard Attack), cest--dire lutilisation dun programme de rcupration de donnes.
Niveau 2 Purification (Purging) : Protection des donnes permettant de contrer une "attaque matrielle"
(Laboratory Attack), cest--dire lutilisation de techniques lies au traitement du signal, MFM,
etc.
Niveau 3 Destruction (Destroying) : plusieurs techniques sont autorises telles que lincinration, la pulvrisation ou la dcomposition chimique.
Remarque : depuis 2001, les niveaux 1 et 2 ont fusionn en raison des volutions des techniques
dcriture des donnes sur les disques.

20.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.

Fig. 20.1 Destruction des copies physiques papier

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.

R. Dumont - Notes provisoires

212

20. LA SCURIT EN ENTREPRISE

20.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 alatoires). 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 20.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.

Fig. 20.2 DOD 5220 et SE[19]


Aujourdhui, tant le NIST2 que les dpartements responsables de la scurit nationale des diffrents
gouvernements du monde entier sentendent sur le fait quun seul passage est suffisant. Pour vrifier la
2 http

://csrc.nist.gov/publications/nistpubs/800-88/NISTSP800-88_rev1.pdf

R. Dumont - Notes provisoires

213

20. LA SCURIT EN ENTREPRISE


vracit de cette proposition, Wright[17] publia en dcembre 2008 un article prsentant les rsultats de
tests effectus en laboratoire laide dun MFM. Ses rsultats sont les suivants :
sur un disque dusage normal, il y a moins d1% de chance de rcuprer un octet valide sur un
disque dusage normal.
Mme sur un disque neuf (pristine disk) nayant subi quune seule rcriture, il y a moins de 7%
de chance de rcuprer un mot de 32 bits valide
Sur ce mme disque, il y a 0,00002317% de rcuprer un mot de 4 lettres issu dun traitement de
texte

Fig. 20.3 Rsultats de Wright

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 onreuses :
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

R. Dumont - Notes provisoires

214

Chapitre 21

La biomtrie
21.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 au fait 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 21.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

215

21. LA BIOMTRIE

Fig. 21.1 Les moyens biomtriques et leurs caractristiques

21.2

Mode de fonctionnement

Le processus biomtrique se droule en 3 tapes :


1. Enregistrement : lutilisateur donne ventuellement un identifiant (PIN), puis utilise le capteur.
Le systme vrifie la qualit de la mesure, en extrait les points dintrt, et place la rfrence
(template) dans sa base de donnes.

Fig. 21.2 Enregistrement dun utilisateur [11]


2. Vrification : lutilisateur fournit son PIN et se prsente au capteur. Le systme cherche lentre
correspondant au PIN dans sa BD et en extrait la rfrence associe. Le systme compare la
mesure et le template. Lorsquelle est possible, cette phase est la plus rapide. On parle de "positive
recognition".
3. Identification : Lutilisateur se prsente devant le capteur, sans fournir de code PIN. Le systme
extrait les points dintrt de la mesure et cherche dans sa BD sil y a une correspondance. En consquence, cette phase est plus lente que la prcdente puisquil est plus rapide dextraire une donne
en vue de la comparer que de comparer tous les templates. On parle de "negative recognition".
R. Dumont - Notes provisoires

216

21. LA BIOMTRIE

Fig. 21.3 Vrification dun utilisateur [11]

Fig. 21.4 Identification dun utilisateur [11]

21.3

Mesures des performances

Linconvnient principal de la biomtrie est quelle 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. 21.5 Minimisation des TFR et TFA et type des applications concernes
1 ou
2 ou

FRR, pour False Rejection Rate, ou FNMR, False Non-Match Rate


FAR, pour False Acceptation Rate, ou FMR, pour False Match Rate.

R. Dumont - Notes provisoires

217

21. 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 21.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.

21.4
21.4.1

Moyens biomtriques physiques


Les empreintes digitales (Finger-Scan)

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.

Fig. 21.6 Type de minuties

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 entre 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 21.7.

R. Dumont - Notes provisoires

218

21. LA BIOMTRIE

Fig. 21.7 Processus de dtection des minutcies [12]

21.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).
21.4.1.2

Inconvnients

Laspect "policier" donne un caractre ngatif lidentification


Il est difficile de lire les donnes en prsence de doigts blesss ou sales, selon la technique employe.
Lutilisateur doit poser correctement son doigt sur le capteur, au risque de se voir rejet.
Le lecteur est expos aux dgradations des aux passages rguliers des doigts et aux pressions
exerces lorsquun contact est ncessaire.
Il existe des techniques de contournement qui ne sont pas compliques mettre en oeuvre (ex :
gummy fingers).
21.4.1.3

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.

21.4.2

La forme de la main (Hand-Scan)

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.
21.4.2.1

Avantages

Cest une technique simple utiliser


Elle est galement trs connue du grand public par lintermdiaire du cinma

R. Dumont - Notes provisoires

219

21. LA BIOMTRIE
21.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
21.4.2.3

Application

On lutilise souvent dans les contrles daccs aux locaux

21.4.3

Les Veines (Vein pattern-Scan)

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.
21.4.3.1

Avantages

Il permet dobtenir facilement des points caractristiques supplmentaires


21.4.3.2

Inconvnients

Cette mthode nest pas utilisable seule


21.4.3.3

Application

Utilisation en complment dune autre technique


Applications identiques celle du Hand-Scan

21.4.4

Le visage (Facial-Scan)

Le visage possde galement de nombreuses caractristiques pouvant dterminer une personne. On


pourra citer la forme des yeux, du nez, de la bouche, ou encore le creusement des joues. Lune des premires difficults tait de tenir compte des lments additionnels physionomiques tels que la prsence de
lunettes, dune barbe, ou du maquillage. Aujourdhui, cest un peu moins vrai, les techniques ayant fortement volu. Il faudra aussi prendre garde aux conditions dclairage qui peuvent provoquer des ombres.

Fig. 21.8 Extraction de caractristiques dun visage

R. Dumont - Notes provisoires

220

21. 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.

Fig. 21.9 Facial-Scan par la mthode "Eigenface"


Feature Analysis : base sur la mthode Eigenface, elle calcule certaines distances entre lments,
les positions relatives de ces lments, et semble donc plus souple pour lidentification. En effet, en
cas dinclinaison de la tte par exemple, la premire mthode ne reconnaitra pas le visage, alors
que le calcul des positions relatives permettra lidentification de lindividu.
Etudes des expressions et postures : laide des rseaux de neurones, ce systme permet, partir
dun nombre rduit de donnes sources, de dduire un nombre impressionnant dimages qui pourront par la suite tre compares la saisie du visage de lindividu dsirant tre identifi. La figure
21.10 illustre les possibilits de cette technique.

Fig. 21.10 Utilisation de rseaux de neuronnes en Facial-Scan


Etude 3D : cela permet danalyser la forme des lments du visage tels que le creusement des joues,
la profondeur des orbites, etc.
Etude de la texture de la peau : avec une prcision assez grande, cette technique permet den tudier
certaines caractristiques (pores, taches, dfauts de peau, etc.)

R. Dumont - Notes provisoires

221

21. LA BIOMTRIE
21.4.4.1

Avantages

Technique non invasive


"user-friendly"
Une des techniques les plus dveloppes aprs les empreintes digitales
Permet de scuriser des organisations publiques de grande envergure

21.4.4.2

Inconvnients

Selon les techniques : mauvaise adaptation au vieillissement, pilosit changeante, expression du


visage, mouvement du visage, etc.
21.4.4.3

Applications

Entres de casino
Hall daroports

21.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 21.11.

Fig. 21.11 Vue dtaille de loeil humain


Chaque oeil est unique. Dans liris de loeil, il est possible de compter plus de 200 paramtres indpendants. Ds 1980, des opthalmologues ont remarqu que si la couleur de liris peut varier travers le
temps, il nen est pas de mme pour le motif (voir firgure 21.12) qui reste constant.

Fig. 21.12 Motif de liris

R. Dumont - Notes provisoires

222

21. 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 21.13.

Fig. 21.13 Processus denregistrement de liris [13]


Signalons aussi que cette mesure biomtrique ncessite un nombre lev de prises de vue. En effet,
ici, non seulement la distance entre le capteur et loeil peut varier, mais galement la position de la tte,
louverture de la paupire, lventuel maquillage des cils masquant une partie du motif, etc.
21.4.5.1

Avantages

Grande quantit dinformation prsente dans liris


Le capteur est moins expos quun capteur tactile
Liris ne subit pas de modification travers le temps
21.4.5.2

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.
21.4.5.3

Applications

Identification dans les distributeurs de billets de banque.


Contrle daccs aux locaux et machines.

21.4.6

La rtine (Retina-Scan)

Comme on le voit sur la figure 21.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.

R. Dumont - Notes provisoires

223

21. LA BIOMTRIE
21.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
21.4.6.2

Inconvnients

Souvent mal accept par le public, en raison de laspect sensible de lorgane


Mise en place assez coteuse car le systme nest pas produit en masse
21.4.6.3

Applications

Utilisation dans certains distributeurs de billets


Controle daccs aux locaux "haute scurit"

21.5
21.5.1

Moyens biomtriques comportementaux


La voix (Voice-Scan)

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.
21.5.1.1

Avantages

Bien accept par les utilisateurs, car il suffit de parler


Il est facile de protger le lecteur (par lintermdiaire dune grille, dans le cas dun parlophone)
Cest le seul moyen didentifier les extrmits dune communication tlphonique
R. Dumont - Notes provisoires

224

21. LA BIOMTRIE
21.5.1.2

Inconvnients

Ce systme est sensible ltat physique de lindividu


1. selon son tat : stress, fatigue, maladie, . . .
2. selon ses motions : joie, peine, . . .
3. selon son ge
La fraude est possible par lintermdiaire dun enregistrement de bonnne qualit
Le systme est sensible aux bruits parasites (environnement, usure du micro)
21.5.1.3

Applications

Utilis dans la reconnaissance tlphonique


Identification des propritaires dans des immeubles appartements, dont les lecteurs peuvent tre
protgs par une grille

21.5.2

La dynamique de frappe (Keystroke-Scan)

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. 21.14 Moyenne obtenue pour la frappe du mot password par trois utilisateurs [14]

21.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.
21.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.
21.5.2.3

Applications

Il est rgulirement utilis en complment de scurit (notamment pour des cartes puces)
R. Dumont - Notes provisoires

225

21. LA BIOMTRIE

21.5.3

La signature dynamique (Signature-Scan)

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.
21.5.3.1

Avantages

La scurit contre la copie est plus forte que pour un simple mot de passe
Faible cot du matriel ncessaire
21.5.3.2

Inconvnients

Dgradation du matriel avec le temps


Lcriture change au cours de la vie de lindividu.
21.5.3.3

Applications

E-Commerce : Validation de la signature avant toute transaction


Gestion banquaire : toutes les oprations sont signes
Scurisation des sessions sur ordinateur : au lieu dun simple mot de passe, lutilisateur doit soumettre sa signature, ce qui est beaucoup plus difficile copier
Verrouillage de fichiers : on protge les fichiers par signature, ce qui permettra de louvrir, de le
modifier, de limprimer, de faon scurise

21.6
21.6.1

Moyens biomtriques exprimentaux


La thermographie

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.

21.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.

21.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).

R. Dumont - Notes provisoires

226

21. LA BIOMTRIE

21.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.

21.7

La biomtrie multimodale

Dans le cas o 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 21.15

Fig. 21.15 Biomtrie multimodale [11]


Ce type de biomtrie offre de nombreux avantages :
Plus de fiabilit car les vrifications sont indpendantes (moins de faux positifs et faux ngatifs)
Plus de compatibilit : un moyen biomtrique pris seul nest jamais utilisable par 100% de la
population.
Plus de scurit : la multiplication des moyens rend plus complique la tche du pirate (plusieurs
mesures contourner). Il est aussi possible de vrifier le caractre rel de lutilisateur en interagissant avec lui, par exemple en testant plusieurs doigts dans un ordre prcis inconnu lavance.

R. Dumont - Notes provisoires

227

21. LA BIOMTRIE

21.8

Avantages, inconvnients et conclusions

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, nont 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.

21.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

R. Dumont - Notes provisoires

228

Chapitre 22

La Stganographie
22.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).

Fig. 22.1 Stganographie et concepts lis


On parle galement de la stganographie comme dune possibilit pour tablir un canal secret de communication (cover channel ). En effet, par son intermdiaire, il est possible de communiquer avec dautres
individus sans se faire remarquer. Il serait alors possible par exemple, de passer travers un firewall en
se bornant aux protocoles et liens autoriss, mais en transmettant des messages cachs lintrieur de
ceux-ci.

229

22. 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 dissimuler dans le support.
La robustesse : elle reprsente la manire avec laquelle le message dissimul rsiste aux modifications
apportes au support.

22.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 garder 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

vient du grec "steganos", signifiant "couvrir".


Radio.

R. Dumont - Notes provisoires

230

22. LA STGANOGRAPHIE

22.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.

Fig. 22.2 Quelques applications des techniques de watermarking


Source : http ://www.willamette.edu/wits/idc/mmcamp/watermarking.htm

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 entre deux
personnes (one-to-one), le watermarking tant prfr pour les communications one-to-many.

22.2

La stganographie dans lHistoire

La premire utilisation de la stganographie remonte la Grce Antique o on utilisait certains


esclaves pour transmettre les messages. Ceux-ci taient crits sur les crnes des messagers, et passaient
donc inaperu lorsque les cheveux repoussaient. Une fois suffisamment longs, le messager pouvait tre
envoy, avec lordre de se faire raser le crne une fois arriv destination. Le principal dsavantage de
cette mthode tait lattente pour lenvoi dun message.
Une autre technique tait dutiliser des tablettes de cire. Une fois la cire racle, on gravait le message
dans le bois de la tablette. Il suffisait ensuite dy remettre de la cire, et le message tait parfaitement cach.

R. Dumont - Notes provisoires

231

22. 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 22.3. Sa technique
se rapproche dune technique cryptographique, mais le concept de "recouvrement du message" en fait un
exemple de stganographie linguistique.

Fig. 22.3 Les Ave Maria de labb Trithme


Au XV I e sicle, Giovanni Porta, un scientifique italien, dcouvrit le moyen de cacher un message
dans un oeuf dur : en crivant sur la coquille avec une encre contenant une once dalun par pinte de
vinaigre. Lencre pntre alors la coquille et le message se voit crit sur le blanc de loeuf sans apparaitre
sur la coquille. Pour lire le message, il suffit dplucher loeuf.
Ene le Tacticien, un historien de la Grce Antique, imagina de percer de minuscules trous sous
certaines lettres dun texte anodin. Une fois toutes les lettres ainsi marques relves, on pouvait lire
le message cach. Ces trous taient invisibles pour une personne ntant pas au courant de la mthode
employe.
Durant la seconde guerre mondiale, on utilisa lencre invisible. Cette encre, pouvant tre cre notamment partir de lait, de vinaigre, durine, de jus de citron ou encore de chlorure dammoniac, permettait
dcrire sur du papier sans pour autant afficher les caractres ainsi nots.
Diffrentes mthodes linguistiques existent galement. Pour cacher un message dans un texte, on peut
jouer sur lespace entre les mots, la ponctuation, ou encore lorthographe. A lorigine, cest lacrostiche
qui permettait de cacher ces messages. Lacrostiche est un pome dont la premire lettre de chaque vers
compose un mot ou une phrase. Ds quun enfant commence crire, il pratique donc souvent lacrostiche pour son premier cadeau de fte des mre ! Un des exemples les plus imposant fut sans doute le
livre Hypnorotomachia Poliphili publi en 1499 par un anonyme. On dcouvre en effet dans cet ouvrage
que si on regroupe la premire lettre de chacun des chapitres, au nombre de 38, on peut recomposer la
phrase Poliam frater Franciscus Columna peramavit ce qui signifie Frre Francesco Colonna aime Polia
passionnment.
Mais il existe galement des techniques plus volues o, pour pouvoir comprendre le message cach,
il faut savoir quels mots ou quelles lettres lire. Par exemple, ci-dessous, un texte premire vue innocent
envoy par un espion allemand pendant la seconde guerre mondiale renfermait un message trs important :

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

232

22. 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

Quand je mets vos pieds un ternel hommage,


Voulez-vous quun instant je change de visage ?
Vous avez captur les sentiments dun coeur
Que pour vous adorer forma le crateur.
Je vous chris, amour, et ma plume en dlire
Couche sur le papier ce que je nose dire.
Avec soin de mes vers lisez les premiers mots,
Vous saurez quel remde apporter mes maux.
Alfred de Musset

Cette insigne faveur que votre coeur rclame


Nuit ma renomme et rpugne mon me.
George Sand

R. Dumont - Notes provisoires

233

22. LA STGANOGRAPHIE
Une autre mthode ingnieuse fut invente par Gaspar Schott (1608 - 1666). Le principe, illustr
la figure 22.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.

Fig. 22.4 La stganographie par partition musicale.


La ponctuation permit aussi didentifier certains messages cachs. Au XV II e sicle, Sir John Trevanion fut arret et emprisonn dans un chateau. Il reut alors une lettre, que les gardiens avaient jugs
sans danger. Lorsque John lut celle-ci, il dtecta la prsence suspecte de certaines virgules trangement
places. Il repra galement quen prenant la troisime lettre de chaque mot suivant ces virgules, il pouvait former la phrase Panel at east of chapel slides ce qui signifiait Le panneau lextrmit Est de la
chapelle peut glisser. Cest ainsi quil demanda un instant de recueillement dans la chapelle et svada.
Dans les annes 1940, la puissance des techniques stganographiques tait si crainte que les EtatsUnis mirent en place un service de censure constitu denviron 10.000 personnes, charges dtudier et de
dtecter les messages cachs. On interdit les parties dchecs internationnales, les dessins denfant accompagnant les lettres pour les grands-parents, les diffusions de disques la radio, ou encore les annonces
pour chiens perdus.
La stganographie reste galement un sujet dactualit. Aprs les incidents du 11 septembre 2001,
beaucoup ont avanc lhypothse que des changes entre terroristes avaient eu lieu afin de prparer les
attaques.
Remarque : Un autre "phnomne stganographique" est apparu avec le livre "The Bible Code" de
Michael Drosdin. Ce dernier prtendait que la Bible renfermait des messages cachs, tels que lassassinat
dYitzhak Rabin. Aprs plusieurs expriences, il savra que ce "code" ntait rien dautre que le fruit du
hasard. Ainsi, on dcouvrit notamment lassasinat de JFK dans Moby Dick (fig. ??), ou encore le dcs
accidentel de la princesse Diana.
Lexplication prend sa source dans un thorme, portant le nom de Thorme de Borel. Celui-ci
indique que si on prend un nombre suffisant de combinaisons de lettres, il est possible de retrouver peu
prs nimporte quel sujet ayant trait au pass ou au futur. Ainsi, sur un texte denviron 1000 lettres, il
est possible de trouver plusieurs millions de mots, selon leur agencement par la mthode appele ELS
(Equidistant Letter Sequence).

22.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 22.5.
R. Dumont - Notes provisoires

234

22. LA STGANOGRAPHIE

Fig. 22.5 Principe dun systme stganographique.

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 22.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.

22.3.1

Premire Technique : la substitution

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 poids faible utilit. 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.

R. Dumont - Notes provisoires

235

22. LA STGANOGRAPHIE

22.3.2

Deuxime Technique : linjection

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.

22.3.3

Troisime Technique : la cration dun nouveau fichier

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.

22.4

Les types de support

Les techniques de stganographie peuvent sutiliser sur pratiquement tous les types de support. Les
plus communs sont explicits ci-dessous.

22.4.1

Les images

La technique du LSB a dj t explicite dans une section prcdente. On trouvera principalement


2 types dimages : les images 24 bits et 8 bits. On remarquera cependant quil est plus facile de cacher
un message dans une image 24 bits en raison du nombre plus important doctets.

22.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.

22.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.

22.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

R. Dumont - Notes provisoires

236

22. LA STGANOGRAPHIE

Fig. 22.6 Processus dinsertion du message par DCT

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 22.7, est quant elle plus longue :

Fig. 22.7 Code assembleur du code source hello.c


Linsertion doctets sera rendue possible grce la prsence dinstructions inutiles (NOP, NO operation). On peut ds lors remplacer ce code mort par des octets de notre choix, sans que cela naffecte le
droulement du programme, pour autant que lon soit certain de la non-utilit de cette partie du code.
Dans le cas contraire, il est trs probable que le programme plante en tentant dexcuter ces instructions.
Il existe galement des techniques permettant de cacher des informations sur un disque dur en utilisant
des blocs non utiliss et donc non rfrencs dans la table dallocations des fichiers. Ainsi, seul lutilisateur
ayant connaissance de ces blocs pourra lire les informations caches. Un amlioration consiste placer
linformation cache de manire redondante. En effet, le systme dexploitation nayant pas connaissance
du message dissimul, il pourrait craser certains blocs le contenant en partie.

R. Dumont - Notes provisoires

237

22. LA STGANOGRAPHIE

22.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, ...).

22.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 22.8).

Fig. 22.8 Anamorphose sur mur


Cependant, alors que lanamorphose nest rien dautre quune reprsentation particulire dun dessin
(mais reposant tout de mme sur une solide base mathmatique), certains ont trouv en cette technique,
une mthode originale pour transmettre une image tout en la cachant dans une autre. Il ne sagit pas
proprement parler dune technique de stganographie (puisquil ny a pas dcriture), mais lide de
dissimulation reste tout de mme assez proche dans certains cas. Quelques exemples sont prsents cidessous.

R. Dumont - Notes provisoires

238

22. LA STGANOGRAPHIE

Fig. 22.9 Anamorphose par miroir conique.

Fig. 22.10 Anamorphoses dIstvan Orosz

22.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/

R. Dumont - Notes provisoires

239

Chapitre 23

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

240

Chapitre 24

Annexe 1 : Rappels mathmatiques


24.1

Entropie

On dit quune variable alatoire X renseigne totalement sur le droulement de lexprience E si


H(X) = H(E)
Exemples :
Jours de la semaine : 3 bits dinformation 000 = dimanche, 001 = lundi, ..., 110 = samedi
Genre : 1 bit dinformation 1 = masculin, 0 = fminin
On lance un d non pip et on considre les 3 variables alatoires suivantes :
X1 qui vaut 0 si le nombre tir est pair, 1 sil est impair.
X2 qui vaut 0 si le nombre tir est 1 ou 2, 1 si le nombre tir est 3 ou 4, 2 si le nombre tir est 5
ou 6.
X3 qui vaut le nombre tir.
Il est intuitivement clair que la connaissance de X3 renseigne plus sur le droulement de lpreuve
alatoire que la connaissance de X2 , qui elle-mme renseigne plus que celle de X1
On a
H(X1 ) = log 2 < H(X2 ) = log 3 < H(X3 ) = log 6
On vous prsente 10 cartons sur lesquels sont inscrits sur la face cache un nombre (tous les nombres
sont diffrents).
Vous pouvez poser des questions du type : "Est-ce que le nombre sur ce carton est plus lev que
sur celui-l ?".
Vous payez un franc par question, et vous en recevez 15 lorsque vous savez rordonner les cartons.
Acceptez-vous de jouer ?
Il y a 10 ! faons dordonner les cartons. Lincertitude sur lordre dans lequel ils sont rangs vaut
donc log2 (10!) = 21, 8 bits environ. Chaque rponse apporte au plus un bit dinformation. Il faudra,
du point de vue de la thorie de linformation, 22 questions en moyenne pour reconstituer lordre.
Il ne faut pas jouer !

24.1.1

Entropie - Approche ponctuelle

On dfinit lentropie par :


h(x) = log[1/p(x)] = log p(x)
Ds lors, un vnement certain apporte une information nulle (h(1) = 0).

241

24. ANNEXE 1 : RAPPELS MATHMATIQUES


24.1.1.1

Deux vnements indpendants :

Si x et y sont 2 vnements indpendants :

p(x, y) = p(x).p(y)

h(x, y) = log[1/p(x, y)]


= log p(x, y)
ou encore
h(x, y) = log[1/(p(x).p(y))]
= log[1/p(x)] + log[1/p(y)]
= h(x) + h(y)
h(x) ne dpend pas de la valeur de x mais seulement de la probabilit qui lui est associe.

24.1.1.2

Deux vnements conscutifs :

La quantit dinformation associe x conditionnelle la ralisation de y est donne par :


h(x|y) = log p(x|y)
Or, par Bayes :
p(x, y) = p(y|x).p(x) = p(x|y).p(y)
Donc,
h(x, y) = log(p(x, y))
= log(p(y|x).p(x))
= log(p(y|x)) log(p(x))
= h(y|x) + h(x)
24.1.1.3

Information mutuelle :

Elle dtermine la quantit dinformation que la connaissance dune des variables apporte sur lautre.
Il vient
i(x; y) = h(x) h(x|y)
= log(p(x|y)) + log(1/p(x))
= log(p(x|y)/p(x)
= log(p(x, y)/(p(x).p(y))
= i(y; x)

24.1.2

Entropie - Approche gnrale

Soient 2 variables alatoires X et Y valeurs respectives dans (x1 , ..., xn ) et dans (y1 , ..., yn ). Il vient :
X
H(X) =
p(xi ) log(1/p(xi ))
i

R. Dumont - Notes provisoires

242

24. ANNEXE 1 : RAPPELS MATHMATIQUES


On dfinit lentropie conjointe par :
H(X, Y ) =

XX
i

p(xi , yj ) log(p(xi , yj ))

Donc,
H(X, Y ) =

XX
i

XX
i

p(xi , yj )[log(p(xi |yj )) + log(p(yj ))]

XX
i

p(xi , yj ) log(p(xi |yj ).p(yj ))

p(xi , yj ) log(p(xi |yj ))

XX
i

p(xi , yj ) log(p(yj ))

= H(X|Y ) + H(Y ) = H(Y |X) + H(X)


Remarques :
On suppose les choix successifs des xi indpendants.
Le remplacement dun symbole par un autre ne change pas la valeur de H (probabilits quidistribues).
H(X|Y) est lincertitude quil reste sur X lorsque Y est connu. Linformation apporte par les 2 variables X et Y vaut donc linformation apporte par Y seule plus linformation apporte par X connaissant
dj la valeur de Y.

24.1.2.1

Information mutuelle moyenne :

On sait que
I(X; Y ) = H(X) H(X|Y ) = H(Y ) H(Y |X)
Mais aussi que
H(X, Y ) = H(X) + H(Y |X)
Donc,
I(X; Y ) = H(X) + H(Y ) H(X, Y )

Remarque : Le maximum de H(X) est atteint pour n fix, lorsque pi =

24.2

1
n i.

Distance dunicit

Le nombre de cls diffrentes traduisant un message chiffr en texte clair intelligible est1 :
2H(K)nD 1

24.3

Arithmtique modulaire

En cryptographie on fait un usage intensif de larithmtique modulo n. Celle-ci permet de restreindre


la taille de tous les rsultats intermdiaires et de la valeur finale. Cest indispensable, par exemple, pour
le calcul de logarithmes discrets ou de racines carres qui sont des oprations trs coteuses en ressources
de calcul.
1 Pour

une dmonstration dtaille, voir : http ://www-ee.stanford.edu/ hellman/publications/25.pdf

R. Dumont - Notes provisoires

243

24. ANNEXE 1 : RAPPELS MATHMATIQUES

24.3.1

Diviseurs

Soient a, b et m N. b(6= 0) divise a si


a = mb
On dit que b est un diviseur de a.
Exemple : les diviseurs de 24 sont 1,2,3,4,6,8,12,24.
24.3.1.1

Si a|1 alors a = 1
Si a|b et b|a alors a = b
Tout b diffrent de 0 divise 0
Si b|g et b|h alors b|(mg + nh) pour m et n arbitraires
Si a = 0 mod n alors n|a

24.3.1.2

Proprits :

Quelques critres de divisibilit :

n est divisible par 2 sil se termine par 0,2,4,6,8.


n est divisible par 3 si la somme de ses chiffres est divisible par 3.
n est divisible par 4 si ses deux derniers chiffres forment un multiple de 4 (ex : 256628).
n est divisible par 5 sil se termine par 0 ou 5.
n est divisible par 8 si ses 3 derniers chiffres forment un multiple de 8 (ex : 176072).
n est divisible par 9 si la somme de ses chiffres est un multiple de 9 (ex : 37521=3+7+5+2+1=18=2*9).
n est divisible par 11 si la diffrence (1er chiffre + 3ime chiffre + 5ime chiffre + ...) - (2ime chiffre
+ 4ime chiffre + 6ime chiffre + ...) est divisible par 11. Par exemple, 1485 est divisible par 11, car
(1+8)-(4+5)=0 est divisible par 11.

24.3.2

Congruence

Soit n, un entier non nul (dans Z), et a, b des entiers. a et b sont dits congruents modulo n si
(a mod n) = (b mod n)
ce qui scrit a = b mod n.
Exemples : 73 = 4 mod 23, 21 = 1 mod 10
Deux entiers a et b sont gaux (ou congrus) modulo n si n|a b.
24.3.2.1

Proprits :

1. a = b mod nssin|a b
2. a = b mod n ca = cb mod (cn)
3. a = b mod n ac = bc mod n
4. a = b mod m b = a mod m
5. a = b mod netb = c mod n a = c mod n
6. ((a mod n) + (b mod n)) mod n = (a + b) mod n
7. ((a mod n) (b mod n)) mod n = (a b) mod n
8. ((a mod n) (b mod n)) mod n = (a b) mod n

R. Dumont - Notes provisoires

244

24. ANNEXE 1 : RAPPELS MATHMATIQUES


Proprit 1 :
23 = 8(mod5) car 23 8 = 15 = 5 3
11 = 5(mod8) car 11 5 = 16 = 8 (2)
Proprit 6 :
[(11 mod 8) + (15 mod 8)] mod 8 = (3 + 7) mod 8 = 2
(11 + 15) mod 8 = 26 mod 8 = 2
Proprit 7 :
[(11 mod 8) (15 mod 8)] mod 8 = (4) mod 8 = 4
(11 15) mod 8 = (4) mod 8 = 4
Proprit 8 :
[(11 mod 8) (15 mod 8)] mod 8 = (3 7) mod 8 = 5
(11 15) mod 8 = 165 mod 8 = 5
Il existe une autre technique pour la proprit n8 : la dcomposition par facteurs plus simples.
Exemple : Pour trouver 117 mod 13, on peut procder comme suit
112 = 121 = 4 mod 13
114 = (112 )2 = 42 = 3 mod 13
117 = 11 114 112 = (11 3 4) = 132 = 2 mod 13

24.3.3

Lensemble Zn

Soit Zn lensemble des entiers, Zn = {0, 1, ..., (n 1)}. Zn reprsente lensemble des rsidus ou
classes de rsidu modulo n (chaque entier dans Zn est une classe de rsidu). On peut crire ces classes
[0], [1], ..., [n 1] o [r] = {a : a Z et a = r mod n}
Exemple :
Classes de rsidu modulo 4 :
0
1
2
3

=
=
=
=

{..., -8, -4,0,4,8,...}


{...,-7,-3,1,5,9,...}
{...,-6,-2,2,6,10,...}
{...,-5,-1,3,7,11,...}

De tous les nombres entiers dans une classe de rsidu, le plus petit nombre entier non ngatif est celui
habituellement utilis pour reprsenter la classe de rsidu. Trouver le plus petit nombre entier non ngatif
pour lequel k est congruent modulo n sappelle la rduction de k modulo n.

24.3.4

Le PGCD

Il sagit du Plus Grand Commun Diviseur (c) de a et b et tel que c est un diviseur de a et de b.
Par cette dfinition, il vient que tout diviseur de a et b sera un diviseur de c.
gcd(a, b) = max[k : k|a et k|b]
gcd(a, b) = gcd(|a|, |b|)
gcd(a, 0) = |a|

R. Dumont - Notes provisoires

245

24. ANNEXE 1 : RAPPELS MATHMATIQUES

Fig. 24.1 Proprits remarquables de lensemble Zn

24.3.5

Nombres premiers

Thorme 7 (Nombres premiers) Tout nombre naturel n 1 peut scrire comme un produit de
nombres premiers, et cette reprsentation est unique, part lordre dans lequel les facteurs premiers sont
disposs.

On dit quun nombre est premier si les deux seuls diviseurs positifs quil admet sont 1 et lui-mme.
Deux entiers sont relativement premiers si leur unique facteur commun positif est 1. On note lorsque a
et c sont relativement premiers :
(a, c) = 1 ou gcd(a, c) = 1

24.3.6

Autres proprits de Zn

24.3.6.1

Proprit de laddition
(a + b) = (a + c) mod n)b = c mod n

Exemple : (5 + 23) = (5 + 7) mod 8 23 = 7 mod 8


24.3.6.2

Proprit de la multiplication
Si (a, n) = 1 alors (a b) = (a c) mod n)b = c mod n

La condition doit absolument tre vrifie. En effet, si par exemple (a = 6, n = 8) 6= 1 6 3 =


2 mod 8 et 6 7 = 2 mod 8 or 3 6= 7 mod 8.
Explications :

Avec a = 6 et n = 8, on obtient le rsultat de la figure 24.2.

Fig. 24.2 Ensemble incomplet de rsidus

R. Dumont - Notes provisoires

246

24. ANNEXE 1 : RAPPELS MATHMATIQUES


et il ny a pas densemble complet de rsidus. On a plusieurs rsidus identiques (plusieurs nombres
donnent le mme rsidu). Il ny a donc pas dinverse unique.
Comme on nobtient pas un ensemble complet de rsidus quand on multiplie par 6, plus de un entier
de Z8 donne le mme rsidu. Ainsi, 6 0 mod 8 = 6 4 mod 8, 6 1 mod 8 = 6 5 mod 8, etc.
Cependant, avec a = 5 et n = 8, on le rsultat de la figure 24.3

Fig. 24.3 Ensemble complet de rsidus


La ligne des rsidus contient tous les entiers de Z8 dans le dsordre.
Un entier a donc un inverse multiplicatif dans Zn si cet entier est relativement premier n.

24.4
24.4.1

Algorithme dEuclide
Algorithme dEuclide simple

Lobjectif est de permettre de dterminer le PGCD de deux nombres entiers positifs sans avoir besoin
de faire leur dcomposition en facteurs premiers.
Thorme 8 (Principe dEuclide) Si a et b N et a b, si b > 0, a = r mod b, alors
gcd(a, b) = gcd(b, r).

Tout repose ici sur le fait que si a et b N , a 0 et b > 0, alors
gcd(a, b) = gcd(b, a mod b)
Exemple : gcd(55, 22) = gcd(22, 55 mod 22) = gcd(22, 11) = 11.

Algorithme dEuclide (a > b > 0) :


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

A a ; B b
IF (B = 0) RET U RN A = gcd(a, b)
R = A mod B
A B
B R
GOT O 2

Exemple :

Soit le calcul de pgcd(1970,1066). Il vient

R. Dumont - Notes provisoires

247

24. ANNEXE 1 : RAPPELS MATHMATIQUES

1970 = 1 1066 + 904 gcd(1066, 904)


1066 = 1 904 + 162 gcd(904, 162)
904 = 5 162 + 94 gcd(162, 94)
162 = 1 94 + 68 gcd(94, 68)
94 = 1 68 + 26 gcd(68, 26)
68 = 2 26 + 16 gcd(26, 16)
26 = 1 16 + 10 gcd(16, 10)
10 = 1 6 + 4 gcd(6, 4)
6 = 1 4 + 2 gcd(4, 2)
4 = 2 2 + 0 gcd(2, 0)

24.4.2

Algorithme dEuclide tendu


Algorithme dEuclide tendu (m > b > 0) :
1.
2.
3.
4.
5.
6.
7.
8.
9.

(A1 , A2 , A3 ) (1, 0, m)
(B1 , B2 , B3 ) (0, 1, b)
IF (B3 = 0) RET U RN A3 = gcd(m, b)
IF (B3 = 1) RET U RN B3 = gcd(m, b)
Q = bA3 /B3 c
(T1 , T2 , T3 ) (A1 Q.B1 , A2 Q.B2 , A3 Q.B3 )
(A1 , A2 , A3 ) (B1 , B2 , B3 )
(B1 , B2 , B3 ) (T1 , T2 , T3 )
GOT O 2

Remarques
b c reprsente le nombre directement infrieur ou gal au nombre entre crochets
Si la condition du point 3 est remplie, alors b na pas dinverse modulo m
Si la condition du point 4 est remplie, alors le pgcd vaut 1 et b1 mod m = B2
24.4.2.1

Exemple dexcution de lalgorithme :

Soit gcd(550, 1759) = 1, linverse multiplicatif de 550 est 355. En effet, (550 355) = 1 mod 1759

Fig. 24.4 Exemple dexcution dEuclide tendu

R. Dumont - Notes provisoires

248

24. ANNEXE 1 : RAPPELS MATHMATIQUES


24.4.2.2

Exemple dexcution manuelle :

Soit le problme suivant : trouver (43)1 mod 26[= (17)1 mod 26]. Il vient
9 = 26 1 17
8 = 17 1 9 17 1 (26 1 17) = 2 17 1 26
1 = 9 1 8 26 1 17 1 (2 17 1 26) = 2 26 3 17
Donc, (3) mod 26 = 23 mod 26 : linverse modulo 26 de 43 est 23.

R. Dumont - Notes provisoires

249

Chapitre 25

Annexe 2 : Concours AES

Fig. 25.1 Distribution des jurys et Scurit

Fig. 25.2 Efficacit matrielle

250

25. ANNEXE 2 : CONCOURS AES

Fig. 25.3 Efficacit logicielle des algorithmes participants

25.1

Rijndael - Daemen, Rijmen

Avantages :
Le plus rapide en implantation matrielle
Proche des plus rapides en implantation logicielle
Trs grande flexibilit
Inconvnients :
Marge de scurit

25.2

Serpent - Anderson, Biham, Knudsen

Avantages :

Large marge de scurit


Construction conservatrice
Trs rapide en implantation matrielle
Rputation cryptanalytique de ses auteurs (Anderson, Biham, Knudsen)

Inconvnients :
Lent en implantation logicielle
Flexibilit modre

R. Dumont - Notes provisoires

251

25. ANNEXE 2 : CONCOURS AES

25.3

Twofish - Schneier, Wagner

Avantages :

Bonne marge de scurit


Rapide pour le chiffrement/dchiffrement en implantation logicielle
Amricain
Beaucoup de publicit

Inconvnients :
Modrment rapide en implantation matrielle
Configuration lente de la cl en implantation logicielle
Flexibilit modre

R. Dumont - Notes provisoires

252

Chapitre 26

Annexe 3 : Scurit logicielle


26.1

Intrusions

26.1.1

Port Scan

Il existe de nombreuses manires de scanner des ports. Mais le principe gnral est denvoyer un
paquet (TCP, IP, ...) et de regarder ce quil se passe. Selon la raction, on pourra dterminer si le port
est ouvert, ferm, ou filtr.
Selon cette rponse, le pirate pourra savoir quels protocoles sont utiliss ou les services auxquels il a
accs. A la suite dun port scan, le pirate aura donc plusieurs renseignements :
ladresse IP ayant rpondu
les services accessibles
ltat des ports
la liste des protocoles supports par la machine (TCP, IP, SMTP, Telnet, ...)
La plupart du temps, cette attaque est un prmice une autre attaque1 , visant sintroduire sur la
machine.
Les attaques de ce type sont souvent facilement dtectables. Une fois dcouverte, on peut bannir
ladresse source ordonnant le scan.

26.1.2

OS Fingerprinting

Chaque OS possde sa propre gestion des protocoles rseaux. Il faut savoir que certains champs des
paquets de donnes sont laisses lOS, et ce dernier doit dcider ce quil y place. Dautre part, ces mmes
OS ne respectent pas toujours les documents RFC dfinissant les points importants. En consquence, il
existe des bases de donnes rfrenant ces caractristiques propres chaque OS.
En rcuprant les paquets qumet la machine cible, on peut en extraire certains champs tels que
le TTL (dure de vie du paquet) ou le ToS (permettant grer la manire dont on traite la paquet, en
spcifiant sa priorit, son importance,...).
Selon les OS, tous ces paramtres changent. La base de donnes contenant leur valeur par dfaut
permet alors de les identifier. Il suffit ainsi denvoyer certains paquets diffrents la machine pour tester
les rponses et ensuite comparer ces dernires une base de signatures pour identifier lOS.
1 On

parle d"tape de dcouverte".

253

26. ANNEXE 3 : SCURIT LOGICIELLE

26.1.3

DoS

Le but de lattaque DoS, pour Denial of Service (ou Dni de Service), est de saturer une machine en
gnrant un gros trafic lui tant destin. La consquence de cette saturation pourra tre la suppression
dun accs un service, ou plus grave, la destruction de serveurs ou de sous-rseaux.
Les attaques par dni de service consistent envoyer des paquets IP de taille ou de constitution
inhabituelle, causant la saturation ou une mauvaise gestion de la part de la machine victime, qui ne peut
plus assurer les services rseaux quelle propose. Cette attaque ne profite pas dune faille du systme
dexploitation, mais dune faille de larchitecture TCP/IP.
On parlera de DDoS (Distributed Denial of Service) lorsque plusieurs machines sont lorigine de
lattaque. Pour obtenir ces machines secondaires (on parle aussi de zombies), le pirate aura d en prendre
contrle prcdemment, en ayant acquis des droits administrateurs sur ces machines. Une fois quil les
aura toutes en sa possession, il pourra lancer une attaque commune vers une machine cible.
La dtection de ce type dattaque est problmatique, et reste un des grands enjeux des firewalls
actuels.

26.1.4

IP Spoofing

Cette attaque consiste modifier les paquets IP dans le but dusurper lidentit dune machine, et
de passer inaperu aux yeux dun firewall qui les considrera alors comme provenant dune machine "de
confiance".
Les nouveaux firewalls utilisant les protocoles VPN (par exemple IPSec) contrent cette attaque. En
effet, le chiffrement des paquet permet dviter cette usurpation.

26.1.5

Ping of Death (obsolte)

Un ping a normalement une longueur maximale de 65535 octets. Cette attaque consiste envoyer un
ping de taille suprieure. Lors de lenvoi, le ping sera fragment, et sa rception par la machine sible,
cette dernire devra runir les morceaux du paquet. Il arrive que certains systmes (anciens) ne grent
pas correctement cette runification du paquet. Dans ce cas, le systme plantera.

26.1.6

Ping Flooding

Comme toutes les techniques de flooding, cette attaque consiste envoyer un nombre trs important
de requtes Ping sur une machine cible. Il peut y avoir une ou plusieurs machines mettrices (en cas de
DDoS par exemple).
Cette attaque, comme la plupart de celles prsentes rapidement ici, causera un ralentissement de la
machine pouvant aller jusquau crash systme. La seule faon de sen protger est dutiliser un firewall
correctement configur.

26.1.7

Autres attaques

On pourra mentionner lattaque par tunneling, les buffer overflow, les conditions de course, les DNS
Poisoning, et beaucoup dautres. Il sagissait ici den prsenter quelques-unes.

26.2
26.2.1

Les firewalls
Packet Filtering

Ce filtrage a lieu sur les couches Rseau (IP) et Transport (TCP/UDP).


R. Dumont - Notes provisoires

254

26. ANNEXE 3 : SCURIT LOGICIELLE


Au niveau de la couche Rseau, le firewall vrifiera 3 informations (illustres sur la figure 26.1) :
Ladresse IP de destination
Ladresse IP de la source
Quelques options prsentes ce niveau

Fig. 26.1 Packet Filtering - Couche Rseau (IP)

Au niveau de la couche Transport, le firewall analysera dautres informations (illustres sur la figure
26.2) telles que :
Le port de destination
Le port source
Le type de protocole utilis (TCP ou UDP)
Les flags TCP

Fig. 26.2 Packet Filtering - Couche Transport (TCP)

R. Dumont - Notes provisoires

255

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.

256