Cryptographie applique
Deuxime dition
Protocoles, algorithmes
et codes cource en C
xiii
xiv
xvii
p ro p o s de l au teu r
x ix
Protocoles cryptographiques
1
1
9
10
14
15
18
18
21
B riqu es lm en taires
2.1
Introduction aux p r o t o c o le s ......................................................................
2.2
Communications laide d un cryptosystme clef s e cr te...................
2.3
Fonctions sens unique ............................................................................
2.4
Fonctions de hachage sens u n iqu e..........................................................
2.5
Communications laide d un cryptosystme clef p u b liq u e...............
2.6
Signatures num riques................................................................................
2.7
Signatures numriques avec chiffrement................................................
2.8
Gnrateurs alatoires et pseudo-alatoires.............................................
23
23
30
31
32
33
37
44
47
P r o to c o le s lm en taires
3.1
change de clefs .........................................................................................
3.2
Authentification............................................................................................
3.3
Authentification et change de c le fs .........................................................
3.4
Analyse formelle des protocoles d authentification et d change de clefs
3.5
Cryptographie clef publique clefs multiples.......................................
3.6
Secret m orcel...............................................................................................
3.7
Secret r p a r t i...............................................................................................
51
51
56
61
70
74
75
77
80
P r o to c o le s in term diaires
4.1
Services de datation
................................................................................
4.2
Canal su b lim in a l.........................................................................................
4.3
Signatures numriques incontestables.......................................................
4.4
Signatures numriques vrificateurd d i ...............................................
4.5
Signatures par procuration.........................................................................
4.6
Signatures collectives...................................................................................
4.7
Signatures numriques Fail-Stop ..... .....................................................
4.8
Calcul avec donnes chiffres......................................................................
4.9
Mise en gage ...............................................................................................
4.10 Jouer pile ou f a c e ......................................................................................
4.11 Poker la v e u g le .........................................................................................
4.12 Accumulateurs sens unique ...................................................................
4.13 Divulgation tout ou rien de s e c r e t s ..........................................................
4.14 Dpt de c le f s ...............................................................................................
81
81
85
87
88
89
90
91
92
92
95
99
102
103
103
P r o to c o le s avancs
5.1
Preuves divulgation nulle ......................................................................
5.2
Identification par preuve divulgation n u lle ..........................................
5.3
Signatures en aveugle ................................................................................
5.4
Cryptographie clef publique based identification . . . . . . . . .
5.5
Transfert in con scien t..................................................................................
5.6
Signatures in conscien tes............................................................................
5.7
Signature simultane de co n tr a t................................................................
5.8
Courrier lectronique certifi......................................................................
5.9
Echange simultan de s e c r e t s ...................................................................
109
109
117
120
123
124
126
127
131
132
P r o to c o le s sotriq u es
6.1
Elections sres ............................................................................................
6.2
Calcul rparti s r .........................................................................................
6.3
Diffusion de messages anonymes
.
6.4
Argent lectronique .
. . . . . .
135
135
144
148
150
II
7
Techniques cryptographiques
161
L on g u eu r des clefs
163
7.1
Longueur des clefs secrtes.........................................
............
163
7.2
Longueur des clefs publiques......................................................................
170
7.3
Comparaison de la longueur des clefssecrtes et des clefs publiques .
178
7.4
Attaques des anniversaires contre unefonction de hachage sens unique 178
.....................................................
179
7.5
Quelle doit tre la longueur de clef?
7.6
Avertissement...............................................................................................
180
vii
T y p e s et m o d e s d a lgorith m es
9.1 Carnet de codage lectronique....................................................................
9.2 Bloc rejou ...................................................................................................
9.3 Mode de chiffrement avec chanage de b l o c s ...........................................
9.4 Algorithmes de chiffrement en c o n t in u ....................................................
9.5 Chiffrement autosynchrone en c o n t i n u .......................................................
9.6 Chiffrement rtroaction .............................................................................
9.7 Chiffrement synchrone en co n tin u ................................................................
9.8 Mode de rtroaction de s o r t i e ................................................
9.9 Mode compteur .........................................................................................
9.10 Autres m o d e s ..................................................................................................
9.11 Choix dun mode opratoire de chiffrement..................................
9.12 Intercalation.....................................................................................................
9.13 Chiffrement par blocs vs chiffrement en co n tin u .......................................
201
202
203
205
209
211
212
214
216
219
220
222
223
225
III
Algorithmes cryptographiques
245
11 R u d im en ts m ath m a tiqu es
247
11.1 Thorie de lin form a tion ...............................................................................
247
11.2 Thorie de la com p lex it...............................................................................
251
11.3 Thorie des n o m b r e s .....................................................................................
256
11.4 Factorisation .................................................................................................. 271
274
278
12 Le D E S
12.1 H istoriqu e......................................................................................................
12.2 Description du DES.......................................................................................
12.3 Niveau de scurit du D E S
281
281
286
296
302
. . 311
312
318
321
321
322
325
325
331
332
335
337
338
345
346
347
351
351
354
355
359
361
362
364
364
366
366
372
375
377
377
379
384
384
387
387
388
IX
389
391
391
395
402
403
412
413
413
414
414
416
417
417
419
419
420
423
424
427
433
435
436
437
439
441
442
442
444
453
453
455
457
458
460
465
465
469
469
470
471
479
479
479
19 A lg o rith m e s c le f p u b liq u e
19.1 Introduction................................................................................................
19.2 Algorithmes em pilem ent........................................................................
19.3 R S A .............................................................................................................
19.4 P ohlig - H ellman
.................................................................................
19.5 R a b i n ..........................................................................................................
19.6
E l G a m a l ...................................................................................................
19.7 M c E liece .................................................
19.8 Cryptosystmes courbes elliptiqu es.....................................................
19.9
L U C .............................................................................................................
19.10 Automates fin is ..........................................................................................
485
485
486
491
499
500
501
504
505
506
507
509
509
520
522
523
525
526
527
527
541
541
544
544
545
546
550
551
23 A lg o rith m e s sp ciau x p o u r p r o to c o le s
23.1
Cryptographie clef publique clefs multiples....................................
23.2
Algorithmes de partage de s e c r e t ..........................................................
23.3
Canal s u b lim in a l.......................................................................................
23.4
Signatures numriques incontestables....................................................
23.5
Signatures numriques vrificateur d d i ...........................................
23.6
Calcul avec donnes chiffres....................................................................
555
555
556
560
565
567
569
IV
Le monde rel
24 E x em p les d e ra lisation
24.1 Protocole IBM de gestion de clefs secrtes...........................................
24.2 M I T R E N E T ..............................................................................................
24.3
RNIS ..........................................................................................................
24.4 S T U - I I I .......................................................................................................
24.5
K e r b e r o s ....................................................................................................
24.6 K r y p t o K n i g h t .......................................................................................
24.7
SESAME ....................................................................................................
24.8
Architecture cryptographique commune dI B M ..................................
24.9
Environnement dauthentification I S O ..................................................
24.10 Privacy-Enhanced Mail ( P E M ) ..........................................................
24.11 Message Security Protocol (M SP ) ....................................................
24.12 Pretty G ood Privacy (P G P ) ...........................................................
24.13 Cartes p u c e ..............................................................................................
24.14 Public-Key Cryptography Stan
dards (P K C S) ........................................................................................
24.15 Systme de paiement lectronique u n iv e r s e l........................................
24.16 C l i p p e r .......................................................................................................
24.17 C a p s t o n e ....................................................................................................
24.18 Modle 3600 du dispositif de scurit du tlphone d A T & T . . . .
xi
570
572
572
575
577
579
579
580
582
584
587
589
589
590
591
593
594
600
600
601
602
606
612
613
615
616
618
620
622
623
25 P o litiq u e
625
625
25.1 National Security Agency ( N S A ) ......................................................
25.2 National Computer Security Center (N C SC )....................................
627
25.3 National Institute of Standards and Technology ( N I S T ) ..............
628
25.4
R SA D ata Se c u r it y , In c ....................................................................... 632
25.5 Public Key Partners ( P K P ) ...............................................................
632
25.6 International Association for Cryptologie Research (IACR) . . .
634
25.7 R A C E Integrity Primitives Evaluation (R IP E ) . . .
. . 634
25.8 Conditional Access for Europe ( C A F E ) ..........................................
635
25.9 ISO/IEC 9979 .........................................................................................
636
25.10 Groupes industriels, de dfense des liberts civiles, et professionnelles 637
25.11 S c i .c r y p t ...................................................................................................
638
25.12 C y p h e r p u n k s ..........................................................................................
638
xii
Brevets.........................................................................................................
Rglementation amricaine
lexportation ..................................
Importation et exportation
decryptographie...............................
L g a lit ......................................................................................................
P o stfa ce de M a tt B la ze
Code source
639
639
647
648
651
655
D E S ..........................................................................................................................
657
L O K I 9 1 .................................................................................................................
675
I D E A .......................................................................................................................
685
G O S T ....................................................................................................................... N701
B l o w f i s h ................................................................................................................
711
3-W a y .......................................................................................................................
721
R C 5 ..........................................................................................................................
727
A 5 .............................................................................................................................
729
S E A L .......................................................................................................................
735
L ex iq u e anglaisfranais
741
B ib lio g ra p h ie
747
In d ex
827
Prface
Il existe deux types de cryptographie dans le monde: la cryptographie qui empche
votre petite sur de lire vos fichiers, et la cryptographie qui empche les principaux
gouvernements de lire vos fichiers. Ce livre traite de la deuxime.
Je prends une lettre, lenferme dans un coffre et cache ce coffre quelque part dans New
York... si je vous demande ensuite de lire la lettre, il nest pas question de scurit:
cest de lobscurit. Autre exemple : je prends une lettre, lenferme dans un coffre et
vous donne le coffre avec ses spcifications de conception et une centaine dautres
coffres identiques avec leurs combinaisons, de telle manire que vous et les meilleurs
perceurs de coffres-forts puissiez tudier le mcanisme de verrouillage... si vous ne
pouvez toujours pas ouvrir le coffre contenant la lettre, il est alors question de scurit.
Pendant de nombreuses annes, ce type de cryptographie tait le domaine exclusif des
militaires. La National Security Agency amricaine et ses contreparties en ex-Union
sovitique, au Royaume-Uni, en France, en Isral, et partout ailleurs, ont dpens des
milliards de dollars au jeu trs srieux de la protection de leurs propres communications,
tout en essayant de casser toutes celles des autres. Le particulier, avec nettement moins
d expertise et de budget, tait impuissant protger sa propre vie prive vis--vis de
ces gouvernements.
Durant ces vingt dernires annes, il y a eu une explosion de recherche acadmique
publique en cryptographie. Alors que la cryptographie classique est utilise depuis
longtemps par des citoyens ordinaires, la cryptographie par ordinateur tait le domaine
rserv des militaires depuis la Seconde Guerre mondiale. De nos jours, la cryptographie
la pointe de lart est pratique en dehors de la protection des murs des agences
militaires. Le profane peut maintenant employer des techniques cryptographiques qui
le protgent contre les adversaires les plus puissants un niveau de scurit qui
pourrait mme le protger des agences militaires pour plusieurs annes venir.
Est-ce que lindividu moyen a besoin de ce type de scurit? Je laffirme. Il peut prpa
rer une campagne politique, il peut discuter de ses impts, ou avoir une liaison illicite.
Il peut concevoir un nouveau produit, discuter dune stratgie de commercialisation,
ou prparer une prise de pouvoir commerciale agressive. Il peut vivre dans un pays
qui ne respecte pas le droit la vie prive de ses citoyens. Il peut faire quelque chose
quil estime ne pas tre illgal mais qui lest. Peu importe les raisons, ses donnes et
ses communications sont personnelles, prives et ce nest laffaire de personne dautre
part lui.
Ce livre est publi en des temps troubles. Ladministration C l i n t o n a adopt le pro
gramme Escrowed Encryption Standard (qui repose sur la puce CLlPPERet la carte
F o r t e z z a ) et le projet de loi Digital Telephony . Ces deux initiatives tendent
xiv
Prface
Prface
xv
xvi
Prface
impossible de nen laisser aucune. La seconde dition contient srement moins derreurs
que la premire. Je tiens votre disposition une liste des errata qui est priodiquement
poste au group USENET s c i . c r y p t . Si quelquun trouve une erreur, sil vous plat,
avertissez-moi. Pour chaque erreur, la premire personne qui me la signale recevra une
copie gratuite de la disquette1.
1. N ote du traducteur : cette offre n est valable que pou r ldition am ricaine de louvrage.
Prface
xvii
Remerciements
La liste des gens qui ont contribu la ralisation de ce livre semble infinie mais ils
mritent tous d tre mentionns. Je tiens remercier Don A l v a r e z , R oss A n d e r s s o n ,
Dave B a l e n s o n , Karl B a r r u s , Steve B e l l o v i n , Dan B e r n s t e i n , Eli B i h a m , Joan
B o y a r , Karen C o o p e r , W hit D if f ie , Joan F e i g e n b a u m , Phil K a r n , Neal K o b l i t z ,
Xuejia L a i , Tom L e r a n t h , Mike M a r k o w i t z , Ralph M e r k l e , Bill P a t t o n , Peter
P e a r s o n , Charles P f l e e g e r , Ken P iz z i n i , Bart P r e n e e l , Mark R io r d a n , Joachim
S c h u r m a n , et Marc S c h w a r t z pour avoir lu et corrig tout ou partie du ma
nuscrit de la premire dition; Marc VUCLAIR pour avoir traduit la premire di
tion en franais ; Abe A b r a h a m , Ross A n d e r s o n , Dave B a n i s a r , Steve B e l l o v i n ,
Edi B i h a m , Matt B is h o p , Matt B l a z e , Gary C a r t e r , Jan C o m e n is c h , Claude
C r p a u , Joan D a e m e n , Jorge D a v i l a , Ed D a w s o n , Whit D if f ie , Cari E l l is o n ,
Joan F e i g e n b a u m , Niels F e r g u s o n , Matt F r a n k l i n , Rosario G e n n a r o , Dieter
G ollm ' a n n , Mark G o r e s k y , Richard G r a v e m a n , Stuart H a b e r , Jingman H e , bob
H o g u e , Kenneth I v e r s e n , Markus J a k o b s s o n , Burt K a l i s k i , Phil K a r n , John
K e l s e y , John K e n n e d y , Lars K n u d s e n , Paul K o c h e r , John L a d w i g , Xuejia L a i ,
Arjen L e n s t r a , Paul L e y l a n d , Mike M a r k o w i t z , Jim M a s s e y , Bruce M c N a i r ,
William H u g h M u r r a y , Roger N e e d h a m , Clif N e u m a n , Kaisa N y b e r g , Luke
O C o n n o r , Peter P e a r s o n , Ren P e r a l t a , Bart P r e n e e l , Yisrael R a d a i , Matt
R o b s h a w , Michael R o e , Phil R o g a w a y , Avi R u b i n , Paul R u b i n , Selwyn R u s s e l l ,
Kazue S a k o , Mahmoud S a l m a s i z a d e h , Markus S t a d l e r , Dmitry T i t o v , Jimmy
U p t o n , Marc V a u c l a i r , Serge V a u d e n a y , Gideon Y u v a l , Glen Z o r n , et plusieurs
employ anonymes du gouvernement amricain pour avoir lu et dit plusieurs parties
de la seconde dition ; Lawrie B r o w n , Leisa C o n d i e , Joan D a e m e n , Peter G u t m a n n ,
Alan I n s l e y , Chris J o h n s t o n , John K e l s e y , Xuejia L a i , Bill L e i n i n g e r , Mark
M a r k o w i t z , Richard O u t e r b r i d g e , Peter P e a r s o n , Ken P iz z i n i , Colin P l u m b ,
Steph R a v a n o n a , R S A D a t a S e c u r i t y , I n c ., Michael R o e , Michael W o o d , et
Phil Z i m m e r m a n n pour mavoir fourni des codes sources ; Paul M a c N e r l a n d pour
avoir ralis les figures de la premire dition; Karen C o o p e r pour son travail de
secrtaire de rdaction pour la seconde dition ; Beth F r i e d m a n pour avoir revu et
corrig la seconde dition ; Carol K e n n e d y pour avoir fait lindex de la seconde di
tion; les lecteurs de s c i .c r y p t et de la liste de courrier lectronique Cypherpunks
pour avoir comment des ides, avoir rpondu des questions et avoir corrig des er
reurs dans la premire dition ; Randy S e u s s pour avoir fourni un accs liNTERNET ;
Jeff D u n t e m a n n et Jon E r ic k s o n pour m avoir aid commencer ; la famille I n s l e y
pour avoir donn limpulsion, les encouragements, le soutien, les conversations, lamiti
et les dners ; et A T & T B e l l L a b s pour m avoir licenci et pour avoir rendu tout cela
possible. Ces personnes mont aid crer un livre bien meilleur que ce que j aurais pu
faire tout seul.
Bruce S c h n e ie r
Oak Park, 111.
schneier@couterpane.coin
A propos de lauteur
Bruce S c h n e ie r est le prsident de C o u n t e r p a n e S y s t e m s , une entreprise de conseil
en cryptographie et scurit en informatique, situe Oak Park dans lIllinois aux
tats-Unis. Bruce S c h n e ie r est aussi lauteur de E-Mail Security (J o h n W il e y &
F il s , 1995) et Protect Your Macintosh (P e a c h p i t P r e s s , 1994) ; et a crit des dou
zaines douzaines d articles dans les principales revues. Il est lun des diteurs associ
de Dr. Dobbs Journal o il gre la colonne Algorithms Alley , il est aussi diteur
associ de Computer and Communication Security Reviews. Bruce S c h n e ie r officie
dans le conseil de direction de VInternational Association for Cryptologie Research,
il est membre du conseil consultatif du Electronic Privacy Information Center, et il
fait parti du comit de programme du New Security Paradigms Workshop. En plus de
tout cela, il trouve du temps pour donner de frquents exposs sur la cryptographie,
la scurit en informatique, et la confidentialit.
Chapitre 1
Principes de base
1.1
Terminologie
Expditeur et destinataire
Supposons quun expditeur veut envoyer un message un destinataire. Cet expditeur
veut envoyer le message de manire sre: il veut sassurer quaucune oreille indiscrte
ne puisse sinformer du message.
Messages et chiffrement
Un message est appel te x te en clair. Le processus de transformation d un message de
telle manire le rendre incomprhensible est appel chiffrem ent (ou en cry p tion ).
Le rsultat de ce processus de chiffrement est appel te x te chiffr (ou encore c r y p to
gram m e). Le processus de reconstruction du texte en clair partir du texte chiffr est
appel dch iffrem en t (ou d cry p ta g e ). Ces diffrents processus sont illustrs par la
figure 1.1.
Chapitre 1
Principes de base
lordinateur, A i nest rien dautre que de linformation binaire1. Le texte en clair peut
tre transmis ou stock. Dans tous les cas, A i est le message chiffrer.
Le texte chiffr est not C. C est aussi de linformation binaire, parfois de la mme
taille que A i, parfois plus grand2. La fonction de chiffrement, note E , transforme A i
en C. Ce qui en notation mathmatique scrit :
E ( M ) = C.
Comme le but de toutes ces oprations nest rien dautre que de retrouver le message
en clair partir de la version chiffre de ce mme message, lidentit suivante doit tre
vrifie :
D ( E ( M ) ) = A i.
Algorithmes cryptographiques
Un a lgorith m e cry p to g ra p h iq u e est une fonction mathmatique utilise pour le
chiffrement et le dchiffrement3.
1. A partir du chapitre suivant, ce livre ne traite que de cryptographie applique de linform ation
binaire.
2. En com binant com pression et chiffrement, C peut tre plus petit que A 4. Toutefois, en gnral,
le chiffrement lui seul ne fait pas lopration de com pression.
3. Gnralement, un algorithm e cryptographique com prend deux fonctions: une pour chiffrer et
lautre pou r dchiffrer.
1.1
Terminologie
Si la scurit dun algorithme est base sur le fait que celui-ci est tenu secret, on parlera
alors d algorithme restreint. De tels algorithmes ne prsentent plus quun intrt
historique car de nos jours ils sont inadquats pour les besoins actuels de scurit.
Un groupe d utilisateurs important ou variable ne peut utiliser de tels algorithmes
car chaque fois quun membre quitte le groupe, tous les autres doivent se mettre
utiliser un autre algorithme. Si quelquun rvle accidentellement le secret, tout le
mende doit changer dalgorithme. Encore plus accablant, les algorithmes restreints
ne permettent aucun contrle de qualit et aucune standardisation. Chaque groupe
dutilisateurs doit avoir son propre algorithme. Un tel groupe ne peut pas utiliser de
produits tout faits, matriels ou logiciels, vendus dans le commerce; un espion peut
acheter le mme produit et apprendre lalgorithme. Ils leur faut crire leur propres
algorithmes et les programmer eux mme. Sil ny a pas de bon cryptographe dans le
groupe, ils ne sauront pas sils ont un algorithme sr.
Malgr cela, les algorithmes restreints sont trs populaires pour les applications bas
niveau de scurit. Les utilisateurs ne ralisent pas, ou bien ne se soucient pas des
problmes de scurit inhrents leur systme.
La cryptographie moderne rsoud ce problme avec une clef, note k. Cette clef peut
prendre une des valeurs parmi un grand nombre de valeurs possibles. L ensemble des
valeurs possibles d une clef est appel esp ace d es clefs. Les oprations de chiffrement
et de dchiffrement utilisent toutes les deux cette clef (i.e., elles dpendent de la clef
et ceci est dnot par lindice k), aussi les fonctions scrivent de la manire suivante:
E k{ M ) = C
D k(C) = M .
Chapitre 1
4
Clef de
chiffrement
Texte en clair
Principes de base
Clef de
dchiffrement
Texte chiffr
Chiffrement
Texte en clair
original
Dchiffrement
On peut fabriquer en masse un produit utilisant cet algorithme. Peu importe quune
espionne connaisse votre algorihtme; si elle ignore votre clef, elle ne pourra pas lire vos
messages.
Un cryptosystme est compos d un algorithme, et de tous les textes en clairs, textes
chiffrs, et clefs possibles.
Les algorithmes clef secrte peuvent tre classs en deux catgories. Certains oprent
sur le message en clair un bit la fois. Ceux-ci sont appels algorith m es de chif
frem ent en continu. D autres oprent sur le message en clair par groupes de bits.
Ces groupes de bits sont appels b lo cs, et les algorithmes correspondants sont appels
a lgorith m es d e ch iffrem en t par b lo cs. Pour des algorithmes raliss sur ordina
teur, la taille typique des blocs est de 64 bits ce qui est assez grand pour interdire
lanalyse et assez petit pour tre pratique4.
1.1
Terminologie
chiffrement pour chiffrer un message mais seul celui qui possde la clef de dchiffrement
peut dchiffrer le message chiffr rsultant. Dans de tels systmes, la clef de chiffrement
est appele c le f p u b liq u e et la clef de dchiffrement est appele c le f prive. La clef
prive est aussi parfois appele c le f secrte mais pour viter toute confusion avec les
algorithmes clef secrte, ce terme ne sera pas utilis ici.
Le chiffrement en utilisant la clef publique k est not :
E k( M ) = C .
Bien que les clefs publique et prive soient diffrentes, le dchiffrement avec la clef
prive correspondante est not :
D k(C) = M .
Parfois, les messages seront chiffrs avec la clef prive et dchiffrs avec la clef publique ;
une telle technique est utilise pour les signatures numriques (voir 2.6). Malgr le
risque de confusion possible, ces oprations seront notes :
E k{ M ) = C
D k(C) = M .
Cryptanalyse
Le but principal de la cryptographie est de prserver le texte en clair de lindiscr
tion des espions (aussi appels adversaires, attaquants, intercepteurs, intrus, oppo
sants, oreilles indiscrtes, cryptanalystes, dcrypteurs, ou tout simplement ennemis).
On suppose que les espions ont plein accs aux communications entre lexpditeur et
le destinataire.
La cryptanalyse est la science de la reconstitution du texte en clair sans connatre
la clef. Une cryptanalyse russie peut fournir soit le texte en clair, soit la clef. La
cryptanalyse peut galement mettre en vidence les faiblesses dun cryptosystme qui
peuvent ventuellement faciliter les attaques contre celui-ci5.
Une tentative de cryptanalyse est appele attaque. Un des axiomes fondamentaux
de la cryptographie, nnonc pour la premire fois par lhollandais A. Kerckhoffs au
dixneuvime sicle, est que lennemi possde tous les dtails de lalgorithme et quil ne
lui manque que la clef spcifique utilise pour le chiffrement [795]6. Bien que cela ne
soit pas toujours le cas dans le monde rel de la cryptanalyse, c est toujours vrai dans
le monde acadmique de la cryptanalyse, et c est de toute faon une bonne assertion
dans le monde rel de la cryptanalyse. Si lon ne sait pas casser un algorithme mme
en sachant comment il fonctionne, on ne sait certainement pas le casser sans cette
connaissance.
Il y a quatre types gnriques dattaques cryptanalytiques. Il va de soi que chacune
dentre elles repose sur lhypothse que le cryptanalyste dispose de la connaissance
complte de lalgorithme de chiffrement :
1. L a ttaq u e te x te ch iffr seu lem en t. Le cryptanalyste dispose du texte chif
fr de plusieurs messages, tous ayant t chiffrs avec le mme algorithme. La
5. La perte d une clef par des moyens autres que la cryptanalyse est appele com prom ission.
6. Bien sr, on peut supposer que la C IA n a pas lhabitude de com m uniquer au M ossad quoique
ce soit au sujet de ses algorithm es. Bien que le M ossad le dcouvre de toute faon...
Chapitre 1
Principes de base
M i+ 1
1.1
Terminologie
D o n n e s: C i,A li
>a..(Ci),C2,A12
D k (C 2) , , C i , M t = D k (C i).
R e q u is : k.
Ce type d attaque est principalement applicable aux cryptosystmes clef pu
blique et sera illustre dans le paragraphe 19.3. Une attaque texte chiffr choisi
fonctionne parfois pour les cryptosystmes clef secrte9.
2. L a ttaq u e c le f ch oisie. Cela nest pas une attaque o le cryptanalyste peut
choisir la clef; il est seulement au courant de quelques relations entre diffrentes
clefs. C est trange et obscur. Ce nest pas trs pratique. Nous y reviendrons au
paragraphe 12.4.
Les attaques texte en clair connu et les attaques texte en clair choisi sont plus
courantes que vous ne pourriez limaginer. Il arrive quun cryptanalyste dispose du
texte en clair d un message ou quil soudoie quelquun pour chiffrer un message choisi.
Parfois, vous navez mme pas besoin de soudoyer quelquun : si vous donnez un mes
sage un ambassadeur, il y a de fortes chances pour que ce message soit chiffr et
envoy son pays d origine pour valuation. Beaucoup de messages ont des en-ttes
et des conclusions qui peuvent tre connues ou devines par le cryptanalyste. Le code
source chiffr est particulirement vulnrable cause de lapparition frquente des mots
clefs: # d efin e, s tr u c t, e ls e , return. Le code excutable chiffr souffre de la mme
vulnrabilit : dans ce cas ce sont les fonctions, les structures de boucles, etc. qui sont
en cause. Il est connu que des attaques texte en clair connu (et mme texte en
clair choisi) ont t menes avec succs durant la Seconde Guerre mondiale. Le livre de
David K a h n [468, 469, 470] donne quelques exemples historiques de ce type dattaques.
Et noubliez pas laxiome de Kerckhoffs: ne comptez pas sur un cryptosystme dont
la rsistence rside dans le fait que lennemi ne sait pas comment fonctionne votre
algorithme. Vous vous trompez si vous croyez quil vaut mieux garder secret les dtails
de votre algorithme plutt que de laisser la communaut scientifique lanalyser. De
plus, il serait naf de penser que personne ne dsassemblera votre code excutable pour
reconstruire votre algorithme10. Les meilleurs algorithmes dont nous disposions sont
ceux qui ont ts rendus publics et attaqus par les meilleurs cryptographes au monde,
et qui ne sont toujours pas casss11.
Les cryptanalystes nont pas toujours accs lalgorithme c tait le cas quand les
Etats-Unis ont cass le code diplomatique japonais, P U R P L E , pendant la Seconde
Guerre mondiale [795]
mais la plupart du temps ils y ont accs. Si lalgorithme
est utilis dans un programme commercial de scurit, c est seulement une question
de temps et d argent pour dsassembler le programme et retrouver lalgorithme. Si
lalgorithme est utilis dans un systme militaire de communication, cest aussi une
question de temps et d argent pour acheter (ou voler) lquipement et reconstruire
lalgorithme. Il y a beaucoup de cas historiques o les cryptanalystes ne connaissaient
pas lalgorithme ; parfois ils lont cass, parfois ils ont chou. Dans tous les cas il est
irraliste de compter sur la confidentialit de lalgorithme.
9.
Une attaque texte en clair choisi mene de front avec une attaque texte chiffr choisi est
parfois appele a tta q u e te x te choisi.
10. C eci est arriv en 1994 avec lalgorithm e R C 4 voir la section 17.1
11. La N ational Security A gen cy garde ses algorithm es secrets, mais les meilleurs cryptographes
travaillent dans ses murs. D e plus, ils schangent leurs algorithm es les uns les autres, s appuyant sur
leurs pairs pour dceler toute faiblesse dans leurs travaux.
Chapitre 1
Principes de base
Ceux qui clament avoir un systme inviolable seulement parce quils ne peuvent pas
eux-mmes le casser sont soit des gnies, soit des fous. Malheureusement, il y en a plus
de la seconde espce de par le monde. Attention ceux qui vantent les vertus de leur
algorithme mais qui refusent de le rendre public : avoir confiance en leur algorithme est
comme faire confiance un remde de charlatan.
Pour diffrencier les bons algorithmes des mauvais, les bons cryptographes acceptent
le regard critique de leurs pairs.
1.2
Steganographie
Terminologie historique
Historiquement, on appelle c o d e un cryptosystme qui sert au niveau des units linguis
tiques : mots, locutions, phrases, etc. Par exemple, le mot SOEUR peut tre le texte
chiffr pour la phrase entire : TOURNER GAUCHE DE 90 DEGRS ; le mot
NONNES peut tre le texte chiffr de TOURNER DROITE DE 90 DEGRS * ;
et les mots TR A LA LA peuvent tre le texte chiffr pour OBUSIER . Les codes
de ce type ne sont pas dcrits dans ce livre, ils sont prsents dans [795, 796]. Les codes
sont utiles dans certaines circonstances seulement. Les chiffres sont utiles en toute cir
constance. Sil ny a pas d entre pour le mot TROPPO dans le carnet de codage,
il ne peut pas tre cod . On peut tout chiffrer laide dun chiffre.
1.2
Steganographie
La stegan ograph ie sert cacher des messages secrets dans dautres messages, de
sorte que lexistence mme du secret est dissimule. Gnralement, lexpditeur crit
12. Ces oprations peuvent tre com plexes et coteuses en tem ps de calcul.
10
Chapitre 1
Principes de base
1.3
Substitution et transposition
Chiffre substitution
Un chiffre su b stitu tio n est un chiffre dans lequel chaque caractre du texte en
clair est remplac par un autre caractre dans le texte chiffr. Le destinataire applique
la substitution inverse au texte chiffr pour recouvrer le texte en clair.
En cryptographie classique, il y a quatre types de base de substitution :
- Un ch iffre su b stitu tio n sim ple est un chiffre dans lequel chaque caractre du
texte en clair est remplac par un caractre correspondant dans le texte chiffr.
Les cryptogrammes publis dans les journaux sont des exemples de chiffres
substitution simple.
- Un ch iffre su b stitu tio n h o m o p h o n iq u e (ou chiffre su b stitu tion sim ple
rep rsen ta tion m u ltip le) est comme un chiffre substitution simple, sauf
qu un caractre du texte en clair on fait correspondre plusieurs caractres dans
le texte chiffr. Par exemple, A peut correspondre 5, 13, 25 ou 56, B
peut correspondre 7, 19, 31 ou 42 ; etc.
1.3
Substitution et transposition
11
- Un ch iffre su b stitu tio n sim ple par p oly g ra m m es est un chiffre pour lequel
les caractres sont chiffrs par blocs. Par exemple, ABA peut tre chiffr par
RTQ tandis que ABB est chiffr par SLL .
- Un ch iffre su b stitu tio n p o ly a lp h a b tiq u e est compos partir de plusieurs
chiffres substitution simple. Par exemple, il peut y avoir 5 chiffres substitution
simple utiliss ; celui qui est utilis dpend de la position du caractre chiffrer
dans le texte en clair.
Le fameux ch iffre d e Jules C sar, dans lequel chaque caractre du texte en clair est
remplac par celui qui se trouve trois places plus loin dans lalphabet modulo 26 (A est
remplac par D, B est remplac par E..., W est remplac par Z, X est remplac par A, Y
est remplac par B, Z est remplac par C) est un chiffre substitution simple.
R O T I3 est un programme de chiffrement frquemment utilis sur les systmes UNIX.
Dans ce chiffre, A est remplac par N , B est remplac par O , etc. Chaque lettre est
dcale de 13 places. .
Chiffrer un fichier deux fois avec R O T 13 redonne le fichier original :
M = R O T 1 3 (R O T 1 3 (A f)).
R O T I3 nest pas destin la scurit. Il est souvent utilis dans les messages de cour
rier lectronique pour cacher du texte pouvant tre offensant, pour viter de dvoiler
trop tt la solution d un casse-tte, etc.
Ce type de chiffres peut tre facilement cass car le chiffre ne cache pas les frquences
sous-jacentes des diffrents caractres du texte en clair. En langue anglaise, il ne faut
pas plus de 25 caractres du texte chiffr avant quun bon cryptanalyste ne puisse
reconstruire le texte en clair [1439]. Un algorithme gnral pour casser ce genre de
chiffre est dcrit dans [581, 589, 1602, 85, 1481, 1246, 880]. Une bonne ralisation sur
ordinateur est donne dans [700].
Les chiffres substitution reprsentation multiple furent utiliss ds 1401 par le
Duch de Mantoue en Italie [795]. Ils sont biens plus difficiles casser que les chiffres
substitution simple, mais toutefois ils ne cachent pas suffisamment les proprits
statistiques de la langue du texte en clair. Ces chiffres sont trivialement casss par
une attaque texte en clair connu. Une attaque texte chiffr seulement est plus
difficile mais elle ne prend que quelques secondes par ordinateur. Les dtails sont donns
dans [1272].
Les chiffres substitution simple par polygrammes sont des chiffres dans lesquels les
lettres sont chiffres par groupe. Le procd PLAYFAIR, invent en 1854, tait utilis
par les Britanniques pendant la Premire Guerre mondiale [795]. Il chiffre les lettres
par paires. La cryptanalyse de ce procd est prsente dans [589, 1481, 880]. Le chiffre
de H ill est encore un autre exemple de chiffre substitution simple par polygrammes
[734]. Les codes de Huffman sont parfois utiliss pour chiffrer, c est un chiffre substi
tution simple par polygrammes qui est peu sr.
Les chiffres substitution polyalphabtique ont t invents par Lon BATTISTA en
1568 [795]. Ils furent utiliss par les Nordistes durant la guerre de Scession. Bien quils
puissent tre facilement casss [820, 579, 589, 795] (plus particulirement avec laide
dordinateurs), nombre de produits commerciaux de scurit informatique utilisent ce
type de chiffre [1392, 1397, 1506]. La mthode pour casser le systme de chiffrement
substitution polyalphabtique, utilis par le traitement de texte WordPerfect, est
Chapitre 1
12
Principes de base
Chiffre transposition
Un chiffre tra n sp o sitio n est un chiffre dans lequel les caractres du texte en clair
demeurent inchangs mais dont les positions respectives sont modifies. Pour appliquer
la tra n sp o sitio n sim ple en colon n es, on crit le texte en clair horizontalement sur
un morceau de papier quadrill de largeur fixe et lon relve le texte chiffr verticalement
(voir la figure 1.4). Pour dchiffrer le texte chiffr, il suffit d crire verticalement celui-ci
sur un morceau de papier quadrill de la mme largeur et de lire horizontalement le
texte en clair.
Texte en clair
l a s s a s s in
est le d o cteu r
M a t r ix , r e g a r d e z d e r r i r e l h o r l o g e
LASSASSIN
ESTLEDOCT
EURMATRIX
REGARDEZD
ERRIERELH
0RL0GE
Texte chiffr :
LEERE OASUE RRSTR GRLSL M AIOA EAREG SDTDR ESORE EICIZ LN TXD H
1.3
Substitution et transposition
13
Machines tambours
Dans les annes 20, de nombreux dispositifs mcaniques ont t invents pour automa
tiser le chiffrement. Ils utilisaient une (ou plusieurs) pice mcanique appele ta m b ou r
(ou r o to r) qui tait conue de manire effectuer une opration de substitution.
Une m achines ta m b o u rs (ou m achines rotors) a un clavier et un ensemble de
rotors, et ralise une version du chiffre de VlGENRE. Chaque rotor est une permutation
arbitraire de lalphabet, a 26 positions et effectue une substitution simple. Par exemple,
un rotor pouvait tre conu pour substituer F A , U B , L C ,
etc. Les picots de sortie d un rotor entranent ceux du rotor suivant.
Par exemple, dans une machine quatre rotors, le premier rotor pouvait substituer
F A , le deuxime Y F , le troisime E Y , et le quatrime C
E ; C tant la sortie dans le texte chiffr. Puis certains rotors se dcalent et la
substitution est diffrente la fois suivante.
Cest la combinaison de tous ces rotors et des engrenages les entranant qui rendent
cette machine sre.Comme tous les rotors bougent, et des vitesses diffrentes, la p
riode dune machine n rotors est 26 . Certaines machines peuvent avoir des nombres
de positions diffrents sur chaque rotor, ce qui complique encore plus la tche du cryp
tanalyste.
La machine rotors la plus connue est la machine E n i g m a , utilise par les Allemands
pendant la Seconde Guerre mondiale. Lide de base est due Arthur S c h e r b iu s
et Arvid Gerhard D a m m en Europe. Elle a t brevete aux Etats-Unis par Arthur
S c h e r b iu s [1388]. Les Allemands avaient considrablement toff le concept de base
pour leur effort de guerre.
Il y avait un tableau qui permutait lgrement le texte en clair, et un rotor supplmen
taire qui obligeait chaque rotor oprer deux fois sur chaque lettre. Aussi complique
quelle fut, la machine ENIGMA a t casse durant la Seconde Guerre mondiale.
Une quipe de cryptographes polonais a cass une version simplifie de la machine
E n ig m a , une quipe britannique, dont Alan T u r in g faisait partie, a cass la vraie
machine E n i g m a . Pour plus d informations concernant les machines rotors et la fa
on dont elles peuvent tre casses voyez [795, 93, 451, 496, 449, 880, 1326, 1589, 691].
Deux comptes rendus fascinants relatant comment la machine E n i g m a a t casse
sont donns dans [737, 797],
Lectures recommandes
Ce nest pas un livre sur la cryptographie classique, aussi ne vais-je pas mtendre
plus avant sur ce sujet. Deux excellents livres prsentant la cryptologie davant lre
Chapitre 1
Principes de base
informatique sont [589, 1481]; la cryptanalyse des machines chiffrer se trouve dans
[451]. Dorothy D e n n in g prsente nombre de ces chiffres dans [462], et [880] donne une
analyse relativement mathmatique de ces mmes chiffres. Un autre texte plus ancien
sur la cryptographie, qui traite des sujets analogues, est [106]. Un article qui donne
un bon aperu du sujet est [580]. Les livres historiques de David K a h n sont aussi
excellents [795, 796, 797).
1.4
Ou exclusif simple
00 0 = 0
001 = 1
10=1
101 = 0
Remarquez les proprits suivantes:
a a= 0
a b b = a
1.5
Masque jetable
15
fc lo s e (fi);
>
>
>
C est un algorithme clef secrte. Le texte en clair est combin la clef par une
opration ou exclusif pour produire le texte chiffr. Comme lapplication du ou
exclusif deux fois avec la mme valeur redonne la valeur initiale, le chiffrement et le
dchiffrement utilisent exactement le mme programme ( dnote lopration logique
ou exclusif) :
M K = C
CK = M
Il ny a pas de vraie scurit ici. Ce type de chiffre est trivial casser, mme sans
ordinateur [589, 1481]. Cela ne prendra que quelques minutes avec un ordinateur.
Faisons lhypothse que le texte est en langue anglaise. De plus, supposons que la clef
a une petite longueur arbitraire. Voici comment le casser :
1. Dcouvrir la longueur de la clef par un procd appel c o m p ta g e d e con
cid en ces [579]. Comparer le texte chiffr lui-mme mais dcal d un certain
nombre doctets : compter le nombre doctets identiques. Si les deux segments
de texte mis face face ont t cods avec la mme clef, quelque chose comme
plus de 6 % des octets seront gaux. Sils ont t cods avec une clef diffrente
alors moins de 0,4 % des octets seront gaux (avec comme hypothse une clef
quelconque et un texte en clair compos de caractres A SC II ; dautres textes
en clair donneront des pourcentages diffrents). Le plus petit dplacement qui
indique une concidence leve est la longueur de la clef recherche.
2. Dcaler le texte chiffr de cette longueur et appliquer le ou exclusif entre le texte
chiffr et le texte ainsi dcal. Cette opration limine la clef et vous laisse avec le
rsultat du ou exclusif du texte en clair avec lui-mme dcal. Comme langlais
a environ un bit d information utile par octet (voir 11.1), il y a suffisamment
de redondance pour choisir le dchiffrement correct.
Malgr cela, la liste des marchands de logiciels qui prtendent que cet algorithme est
presque aussi sr que lalgorithme DES continue de sallonger [1392]. C est cet
algorithme (avec une clef de 160 bits) que la NSA a finalement permis lindustrie
amricaine du tlphone cellulaire numrique dutiliser pour assurer la confidentialit
des communications. Un ou exclusif simple empchera peut-tre votre sur de lire vos
fichiers mais cela narrtera pas un cryptographe plus de quelques minutes.
1.5
Masque jetable
Chapitre 1
16
Principes de base
MASQUEJET ABLE
et que le morceau de masque utilis est :
TBFRGFARFMIKL
alors le texte chiffr est :
GCYIBKKWZNKWQ
puisque lon a:
M + T mod 26 = G
A + B mod 26 = C
S + F mod 26 = Y
etc.
En mettant lhypothse que ladversaire na pas accs au bloc qui contient le masque
jetable, ce systme est parfaitement sr. Un texte chiffr donn peut correspondre
nimporte quel texte en clair de mme longueur.
Comme tout masque est galement probable (rappelez-vous que le masque est une suite
alatoire), un adversaire na pas d information pour baser sa cryptanalyse. Le morceau
de masque aurait tout aussi bien pu tre :
RXDCXFHVQBYRX
qui donnerait le texte en clair :
OEUFDECAILLES
ou encore :
RTFDAPUVHMGNX
qui donnerait le texte en clair :
OISEAUPARADIS
14. En fait, un masque jetable est un cas particulier d un schm a seuil (voir 3.7).
1.5
Masque jetable
17
Ce point vaut la peine dtre rpt : comme tout texte en clair est quiprobable, il ny
a aucun moyen pour le cryptanalyste de dterminer quel est le bon texte en clair. Le
ou exclusif d une clef alatoire avec un texte en clair non alatoire produit un texte
chiffr compltement alatoire, peu importe la puissance de calcul.
Le point faible, et il est de taille, est que les lettres du masque doivent tre engendres
alatoirement. Toute attaque contre la technique du masque jetable se fera contre la
mthode utilise pour engendrer le masque. On ne peut pas envisager lutilisation dun
gnrateur pseudo-alatoire ; ceux-ci possdent toujours des proprits non alatoires.
Si vous utilisez un gnrateur vraiment alatoire c est beaucoup moins facile quil
ny parat (voir 17.14) cette technique est sre.
Lautre point important est que vous ne pouvez jamais utiliser nouveau le mme
morceau du masque. Mme avec un masque de plusieurs gigaoctets, un cryptanalyste
qui possde des textes chiffrs avec des squences de masque se recouvrant peut re
construire le texte en clair. Il compare chaque paire de textes chiffrs en dcalant lun
par rapport lautre et compte le nombre de lettres identiques en mme position.
Quand les textes sont aligns, la proportion de lettres identiques augmente dun coup
le pourcentage exact dpend de la langue utilise dans le texte en clair. Ensuite la
cryptanalyse est facile. Il sagit d un index de concidences mais avec deux priodes
seulement comparer [905].
Lide du masque jetable peut tre facilement tendue au chiffrement de donnes bi
naires. On utilise un masque compos de bits au lieu de caractres. Au lieu d addition
ner le texte en clair et le masque, on utilise le ou exclusif. Pour dchiffrer, on applique
le ou exclusif avec le mme masque jetable. On ne change rien d autre et on a un
niveau de scurit parfait.
Tout cela lair mirobolant, mais il y a quand mme quelques problmes. La longueur
du masque est gale la longueur du message transmettre. C est acceptable pour
quelques messages courts mais pas pour une ligne de transmission 1,544 mgabit par
seconde. Malgr tout, vous pouvez enregistrer 650 mgaoctets de bits alatoires sur
un CD-ROM mais il y a des problmes. Premirement, vous avez besoin d exactement
deux copies des bits alatoires alors que les CD-ROMs sont conomiquement intres
sants en grande quantit seulement. Deuximent, vous devez pouvoir dtruire les bits
alatoires dj utiliss. Un CD-ROM ne peut-tre effac autrement quen le dtrui
sant physiquement. Les cassettes numriques sont bien mieux adaptes ce genre de
besoins.
Mme si vous rsolvez les problmes de la distribution du masque et de sa sauvegarde,
vous devez encore vous assurer que lexpditeur et le destinataire soient parfaitement
synchroniss. Si le destinataire est dcal ne serait-ce que d un bit (ou si quelques
bits sont perdus pendant la transmission), le message dchiffr naura aucun sens. Si
quelques bits sont fausss durant la transmission (aucun bit n est ajout ou retir, ils
sont seulement modifis), seul ces bits-l seront mal dchiffrs. Dautre part, un masque
jetable ne permet aucune authentification.
Les masques jetables ont encore leur utilit aujourdhui, principalement pour des ca
naux de communications ultra-secrets et faible dbit. Le tlphone rouge entre les
Etats-Unis et lex-Union sovitique tait15, parat-il, chiffr laide de la technique du
masque jetable. Nombre de messages d espions sovitiques taient chiffrs par masque
jetable. De tels messages sont encore secrets mme aujourdhui et le resteront tout ja
15. Lest-il encore?
Chapitre 1
18
Principes de base
mais. Peu importe combien de temps les super-ordinateurs consacreront essayer de les
casser, peu importe le nombre de personnes qui essaieront encore dici un demi-sicle
avec des machines et des techniques inimaginables, ils resteront secrets. Mme quand
les extraterrestres venant dAndromde atterriront avec leurs gigantesques engins spa
tiaux et leur puissance de calcul inimaginable, ils ne seront pas capables de dchiffrer
les messages des espions sovitiques chiffrs laide de la technique du masque jetable
( moins quil puissent aussi voyager dans le temps et rcuprer les masques utiliss).
1.6
Algorithmes informatiques
1.7
Grands nombres
Tout au long de cet ouvrage, j utilise des grands nombres pour dcrire diffrents points
en cryptographie. Il est ais de perdre de vue lordre de grandeur de ces grands nombres.
Le tableau 1.1 montre les quivalents des grands nombres manipuls en cryptographie
par rapport des grands nombres en physique.
Ces nombres sont des estimations dordre de grandeur. Us ont t puiss dans diffrentes
sources. La plupart des nombres venant de lastrophysique sont expliqus dans l article
de Freeman D y s o n : Time Without End: Physics and Biology in an Open Universe
dans Reviews of Modem Physics, volume 52, numro 3, juillet 1979, pages 447 460.
Les nombres indiqus pour les accidents de la circulation ont t calculs partir des
statistiques collectes par le ministre des Transports amricain : 163 morts par million
de personnes en 1993 et une longvit moyenne de 69,7 annes.
1.7
Grands nombres
19
Equivalent physique
Probabilit de mourir foudroy (par jour)
Probabilit de gagner le gros Lot la loterie amricaine
Probabilit de gagner le gros lot la loterie amricaine
et de mourir foudroy le mme jour
Probabilit de se noyer
(aux Etats-Unis et par an)
Probabilit d tre tu dans un accident d automobile
(aux Etats-Unis en 1993)
Probabilit d tre tu dans un accident d automobile
(aux Etats-Unis et sur une vie)
Temps d ici la prochaine glaciation
Temps dici ce que le soleil explose en nova
Age de la terre
Age de lunivers
Nombre d atomes constituant la terre
Nombre d atomes constituant le soleil
Nombre d atomes constituant la galaxie
Nombre datomes constituant lunivers
(sans tenir com pte de la matire sombre)
Nombre
1 chance sur 9 milliards (2 )
1 chance sur 4000000 (222)
1077 (226E)
Volume de lunivers
1 r i2 6
annes
j
annes
Premire partie
Protocoles cryptographiques
Chapitre 2
Briques lmentaires
2.1
Chapitre 2
24
Briques lmentaires
Les protocoles dans ce livre sont organiss en une srie dtapes. L excution d un
protocole parcourt linairement ces tapes, sauf sil y a des instructions de branchement
indiquant quil faut poursuivre partir dune autre tape. Chaque tape comprend des
calculs effectus par lun des participants, et/ou des messages envoys d un participant
un autre.
Un p r o t o c o le cry p to g ra p h iq u e est un protocole qui utilise la cryptographie. Les
participants peuvent tre des amis qui ont implicitement confiance les uns en les autres
ou ils peuvent tre des ennemis qui ne se font pas confiance du tout. Un protocole
cryptographique utilise certains algorithmes cryptographiques, mais en gnral le but
dun protocole va au-del de la simple confidentialit. Les participants dun protocole
peuvent vouloir partager partiellement un secret pour calculer une valeur, engendrer
une suite alatoire, convaincre lautre interlocuteur de son identit, ou signer simul
tanment un contrat. Tout lintret dutiliser la cryptographie dans un protocole est
d empcher ou de dtecter lespionnage ou la tricherie. Si vous n avez jamais vu de tels
protocols auparavant, cela va changer radicalement votre ide de ce que des participants
mutuellement mfiants peuvent accomplir sur un rseau informatique. En gnral, on
peut formuler cela ainsi:
- Il doit tre impossible de faire ou d apprendre plus que ce qui est prvu dans le
protocole.
C est beaucoup plus difficile quil ny parrat. De nombreux protocoles sont exami
ns dans les prochains chapitres. Dans certains, un des participant peut tromper les
autres. Dans d autres, un espion peut altrer le protocol ou apprendre des informations
secrtes. Certains protocoles chouent faute de prcision dans la dfinition des rgies.
D autres chouent parce que leurs auteurs ont manqu de mticulosit dans leur ana
lyse. Comme pour un algorithme, il est bien plus difficile de prouver quun protocle est
sr que le contraire.
2.1
25
autres peuvent faire beaucoup de dgts. En formalisant les protocoles, nous pouvons
examiner comment des participants malhonntes peuvent essayer de tricher et ainsi
dvelopper des protocoles qui excluent les tricheurs.
Non seulement les protocoles formalisent les comportements mais de plus il permettent
dabstraire le processus daccomplissement dune tche des mcanismes par lesquels
cette tche est accomplie. Un protocole de communication entre deux ordinateurs est
le mme, que ce soient des P C d IBM , des V A X de D i g i t a l o u encore des tlco
pieurs. Nous pouvons examiner les protocoles sans nous noyer dans les dtails de leur
ralisation concrte. Une fois que nous sommes convaincus de tenir un bon protocole,
nous pouvons le raliser avec nimporte quoi tel que des ordinateurs, des tlphones ou
mme des gaufriers intelligents.
Les acteurs
Pour illustrer les protocoles, j ai engag des acteurs (voir le tableau 2.1)2. Alice et
Bernard sont les acteurs principaux. Ils accompliront tous les protocoles gnraux
deux participants. Par convention, Alice commencera tous les protocoles. Bernard r
pondra. Si le protocole requiert lintervention d un troisime ou quatrime participant,
Christine et David seront appels la rescousse. Les autres acteurs joueront des rles
spcifiques qui seront dtaills plus tard.
T a b . 2.1
Alice
Bernard
Christine
David
Estelle
Martin
Ivan
Gatien
Patricia
Victor
Protocoles arbitrs
Un arbitre est un tiers, personne de confiance et dsintresse qui veille au bon drou
lement du protocole (voir la figure 2.1a). L arbitre est dit dsintress parce quil
na pas dintrt dans laccomplissement du protocole et quil na aucune allgeance
envers les autres participants. L arbitre est dit de confiance parce que tous les par
ticipants au protocole acceptent que ce quil dit est vrai, que ce quil fait est correct
2.
Note du traducteur : dans la littrature anglo-saxonne, les prnom s des acteurs : A lice, B ob , Carol,
Dave, Eve, Mallet, Trent, W arden, P eggy et V ictor correspondent respectivem ent Alice, Bernard,
Christine, David, Estelle, M artin, Ivan, G atien, P atricia et V ictor dans cette dition franaise. Le
choix de Bernard plutt que B ob n est pas traditionnel mais cela ne change rien la com prhension
de louvrage car ces prnom s peuvent tre quelconques pour autant qu ils com m encent par la bonne
lettre.
Chapitre 2
26
Briques lmentaires
et que sa part du protocole sera complte. Les arbitres aident au bon accomplissement
de protocoles entre participants mfiants.
2.1
21
Dans ce protocole, Alice fait confiance lhomme de loi pour quil ne donne les papiers
et les clefs que si le chque est solvable (et donc encaiss) et pour quil lui rende ceuxci dans le cas contraire. Bernard fait confiance lhomme de loi pour quil garde les
papiers et les clefs jusqu ce que le chque soit encaiss. Pour lhomme de loi, peu
importe si le chque est solvable ou non. Il fera sa part du protocole dans tous les cas
puisquil sera pay de toute faon.
Dans cet exemple, lhomme de loi joue le rle dun agent de dpt. Les hommes de loi
agissent comme arbitres pour les testaments et parfois pour la ngociation de contrats.
Les Bourses agissent comme arbitres entre les acheteurs et les vendeurs.
Les banques agissent aussi comme arbitres. Bernard peut acheter la voiture d Alice
laide dun chque certifi :
1 Bernard fait un chque et le donne sa banque.
2 Aprs avoir retir du compte de Bernard le montant ncessaire pour couvrir le
chque et aprs lavoir plac sur un compte bloqu, la banque certifie le chque
et le rend Bernard.
3 Alice donne les papiers et les clefs Bernard et Bernard donne le chque certifi
Alice.
4 Alice dpose le chque sa banque.
Chapitre 2
28
Briques lmentaires
2.1
29
galement indiquer lidentit de celui qui a trich. Au lieu dempcher la tricherie, les
protocoles avec juge-arbitre dtectent la tricherie. Le caractre invitable de la dtec
tion agit comme une mesure prventive et dcourage la fraude.
Attaques de protocoles
Les attaques diriges contre les protocoles peuvent viser soit les algorithmes cryptogra
phiques utiliss par les protocoles, soit les techniques cryptographiques utilises pour
raliser les algorithmes, ou encore le protocole lui-mme. Comme ce paragraphe ne
traite que les protocoles, nous allons supposer que les algorithmes et les techniques
sont sres et ne regarder que les attaques contre le protocole lui-mme.
II y a plusieurs faons d attaquer un protocole. Quelquun qui n est pas impliqu dans
le protocole peut espionner tout ou partie de celui-ci. C est ce que lon appelle une
attaque passive parce que lattaquant ne modifie pas le protocole. Tout ce quil peut
faire cest observer le protocole et ainsi essayer de collecter de linformation. Ce type
dattaque correspond une attaque texte chiffr seulement, telle celle que dcrite dans
le paragraphe 1.1. Les attaques passives sont difficiles dtecter, aussi les protocoles
essayent de sen prmunir plutt que de les dtecter. Dans de telles attaques le rle de
lespion sera jou par Estelle.
Un attaquant peut aussi essayer d altrer le protocole pour le tourner son avantage. Il
peut prtendre tre quelquun dautre, intercaler de nouveaux messages, supprimer des
messages, remplacer un message par un autre, envoyer un vieux message, dtruire le
canal de communication ou encore modifier linformation enregistre par un ordinateur.
On parlera alors da ttaq u es actives car elles requirent une attitude active de la part
de lattaquant. La manire dont sont menes ces attaques dpendent du rseau.
Les attaquants passifs ne sont intresss que par linformation quils peuvent glaner
concernant les participants au protocole. Ils collectionnent les messages qui circulent
entre les diffrents participants et en essayant de les cryptanalyser. Les attaques ac
tives peuvent au contraire avoir bien dautres objectifs. Lattaquant peut vouloir soit
obtenir de linformation, soit dgrader les performances du systme, soit corrompre de
linformation existante, soit encore avoir accs des ressources non autorises.
Les attaques actives sont bien plus srieuses, plus particulirement dans les protocoles
o les participants nont pas confiance entre eux. Lattaquant nest pas forcment un
tranger. Il peut tre un utilisateur lgitime du systme. Il peut tre ladministrateur
du systme. Il peut mme y avoir plusieurs attaquants actifs, travaillant ensemble,
Chapitre 2
30
Briques lmentaires
chacun tant un utilisateur lgitime. Le rle de lattaquant malicieux actif sera jou
par Martin.
Il se peut que lattaquant soit un des participants au protocole. Ilpeut mentir pendant
le protocole ou mme ne pas du tout suivre les rgles. Ce type dattaquantest appel
tricheur. Les trich eu rs passifs respectent le protocole mais ils essaient dobtenir
plus d informations que le protocole ne leur permet normalement. Les tricheu rs actifs
altrent le protocole en cours en essayant de tricher.
Il est trs difficile de garantir la scurit du systme si la plupart des participants
sont des tricheurs actifs mais, parfois, il est possible pour les participants lgitimes de
dtecter quil y a tricherie active. De toute faon, les protocoles doivent se prmunir
de manire fiable contre la tricherie passive.
2.2
Communications laide
dun cryptosystme clef secrte
Comment deux parties peuvent-elles communiquer de manire sre? Ils chiffrent leur
communication bien sr. Le protocole complet est plus compliqu que cela. Voyons
comment Alice peut envoyer un message chiffr Bernard :
1 Alice et Bernard choisissent un cryptosystme.
2 Alice et Bernard choisissent une clef.
3 Alice chiffre son texte en clair l aide de l algorithme choisi et avec la clef
slectionne. Cette tape produit un texte chiffr.
Que peut apprendre Estelle un espion qui se place entre Alice et Bernard, en coutant
le protocole? Si tout ce quelle peut entendre est la transmission de ltape 4, elle peut
essayer de cryptanalyser le texte chiffr. Cette attaque passive est une attaque texte
chiffr seulement. Il existe des algorithmes qui sont rsistants (pour autant que lon
sache) peu importe la puissance de calcul dont Estelle dispose pour sy attaquer.
Toutefois, Estelle nest pas stupide. Elle sait que si elle peut couter les tapes 1 et
2 du protocole, elle aura ce quil lui faut. Elle connatra alors lalgorithme et la clef;
elle en saura autant que Bernard. Quand le message est transmis ltape 4, tout ce
quelle a faire est de le dchiffrer pour elle-mme.
Un bon cryptosystme est un systme o la scurit est inhrente la connaissance
de la clef et non pas celle de lalgorithme. C est pourquoi la gestion des clefs est un
problme si important en cryptographie. Avec un algorithme clef secrte, Alice et
Bernard peuvent raliser ltape 1 en public mais ils doivent raliser ltape 2 en secret.
La clef doit rester secrte avant, pendant et aprs le protocole, sinon, le message ne
serait plus confidentiel3.
3.
La cryptographie clef publique rsout ce problm e d une autre manire qui sera dcrite dans
le paragraphe 2.5.
2.3
31
Martin, un attaquant actif, peut faire d autres choses. Il peut essayer de casser le canal
de communication de ltape 4, sassurant ainsi quAlice ne peut pas transmettre du
tout son message Bernard. Martin peut aussi intercepter les messages dAlice et les
remplacer par dautres de son cru. Si de plus Martin connat la clef (en interceptant la
communication de ltape 2 par exemple), il peut chiffrer ses propres messages et les
envoyer Bernard en lieu et place des messages intercepts. Bernard naurait aucun
moyen de dtecter que ces messages ne viennent pas d Alice. Si Martin ne connaissait
pas la clef, les messages quil enverrait en remplacement seraient du charabia lorsquils
seraient dchiffrs par Bernard. Bernard, pensant que le message vient dAlice, croirait
que le rseau, ou Alice, ont de srieux problmes.
Quant Alice, que peut-elle faire pour fausser le protocole? Elle peut donner une copie
de la clef Estelle. A laide de celle-ci, Estelle peut lire tout ce que Bernard dit. Elle
peut reproduire ses propos dans le New York Times. Bien que cela soit grave, la faute
nest pas imputable au protocole. Il ny a rien dans le protocole qui puisse empcher
Alice de donner une copie du texte en clair Estelle. Bien sr, Bernard peut faire
tout ce quAlice peut faire. Ce protocole prsume quAlice et Bernard se font confiance
mutuellement.
En rsum, un cryptosystme clef secrte a les problmes suivants :
- Les clefs doivent tre distribues secrtement. Elles ont autant de valeur que
tous les messages chiffrs avec elles car connatre les clefs donne accs tous les
messages. Pour des cryptosystmes utiliss lchelle de la plante, la distribution
des clefs peut tre une tche dcourageante. Souvent, des messagers apportent
les clefs leur destination (de la main la main).
- Si la clef est compromise (vole, devine, extorque, achete, etc.) alors Estelle
peut dchiffrer tous les messages chiffrs laide de cette clef. Elle peut alors
se faire passer pour lun des participants et insuffler ses propres messages pour
tromper lautre participant.
- Si une clef diffrente est utilise pour chaque paire dutilisateurs dun rseau, le
nombre total de clefs crot trs vite par rapport au nombre d utilisateurs. Par
exemple, 10 utilisateurs ont besoin de 45 clefs diffrentes pour pouvoir mener
nimporte quelle conversation deux deux ; 100 utilisateurs ont besoin de 4950
clefs diffrentes. Ce problme peut tre minimis en gardant un petit nombre
dutilisateurs mais cela nest pas toujours possible.
2.3
32
Chapitre 2
Briques lmentaires
Casser une assite est un bon exemple de fonction sens unique. Il est facile de cas
ser lassite en mille morceaux. Toutefois, il est trs difficile de recoller les morceaux
ensembles pour reconstruire lassite.
Cela a lair correct mais on ne peut pas en dmontrer la vracit. D un point de
vue strictement mathmatique, il ny a pas de preuve que des fonctions sens unique
existent ni mme d indice quelles peuvent tre dfinies [233, 532, 603, 662]. Cependant,
de nombreuses fonctions ont lair dtre sens unique: nous pouvons facilement les
calculer et, ce jour, nous ne connaissons pas de moyen simple pour les inverser. Par
exemple, x2 dans un corps fini est facile calculer mais le calcul de \fx est nettement
plus difficile. Par la suite, je prtendrai que des fonctions sens unique existent. Nous
en reparlerons dans le paragraphe 11.2.
Mais quoi peuvent bien servir des fonctions sens unique? On ne peut pas les
utiliser telles quelles pour le chiffrement. Un message chiffr laide dune fonction
sens unique nest pas d une grande utilit: personne ne peut le dchiffrer4. Pour la
cryptographie clef publique, nous avons besoin de ce que lon appelle une fon ctio n
sens u n iqu e b r ch e s e c r te 5.
Une fo n ctio n sens unique brch e secrte est un type spcial de fonction sens
unique. Il est facile de la calculer dans un sens et difficile de le faire dans lautre sens.
Mais pour celui qui connat le secret, il est ais de calculer la fonction dans lautre sens.
En d autres termes, il est facile de calculer f (x) tant donn x et difficile de calculer x
tant donn f{x). Toutefois, il existe une information secrte, y, telle qutant donn
f(x) et y, il est facile de calculer x.
Une montre est un bon exemple de fonction sens unique brche secrte. Il est facile
de dmonter une montre en ses centaines de pices. Il est trs difficile de remettre
les pices ensemble pour reconstruire une montre qui fonctionne. Toutefois, grce
linformation secrte que constitue le plan de montage de la montre, il est bien plus
facile de reconstruire la montre.
2.4
2.5
33
octet qui serait le rsultat du ou exclusif de tous les caractres de la chane donne.
Le but de lopration est de dterminer une empreinte digitale de la chane de caractres
dentre. Cette empreinte permettrait de dterminer si une autre chane a des chances
dtre identique celle pour laquelle lempreinte a t calcule. Comme les fonctions
de hachage ont la caractristique de faire correspondre plusieurs valeurs d entre dif
frentes une mme valeur de sortie, on ne peut pas sen servir pour dterminer avec
certitude si deux chanes sont gales mais on peut lutiliser pour avoir une garantie
raisonnable d galit.
Une fonction de hachage sens unique est une fonction de hachage qui est aussi une
fonction sens unique ; il est ais de calculer lempreinte partir de la chane d entre
mais il est difficile dengendrer des chanes qui ont une certaine empreinte. La fonction
de hachage du paragraphe prcdent nest pas sens unique : tant donn un octet, il
est trivial dengendrer une chane dont le ou exclusif de ses caractres donne cet
octet-l. Vous ne pourriez pas faire cela pour des fonctions de hachage sens unique.
Avec une bonne fonction de hachage sens unique, il est aussi difficile de produire
deux chanes ayant la mme empreinte.
La fonction de hachage est publique; il ny a pas de secret dans lopration. Une fonction
de hachage est sre parce quelle est sens unique. La sortie ne dpend pas de lentre
de manire observable. Tout changement d un bit quelconque lentre entrane le
changement, en moyenne, de la moiti des bits du rsultat. Etant donn une empreinte
il est irralisable par calcul de trouver une chane ayant cette empreinte.
Pensez cela comme un moyen d associer une empreinte des fichiers. Si vous vou
lez vrifier que quelquun possde un fichier donn (que vous avez aussi) sans quil
vous lenvoie, vous lui demandez alors lempreinte du fichier. Sil vous envoie la bonne
empreinte, alors il est trs probable que la personne a le fichier en question. C est
particulirement adapt aux transactions financires o lon ne veut pas quun retrait
de cent francs devienne un retrait de mille francs. Normalement, vous utiliseriez une
fonction de hachage sens unique sans clef de telle manire que nimporte qui puisse
calculer lempreinte. Si vous voulez que seul votre correspondant soit capable de la
calculer, alors lisez le paragraphe suivant.
2.5
Communications laide
dun cryptosystme clef publique
Chapitre 2
34
Briques lmentaires
naison, peut ouvrir le coffre et prendre le document. Toute personne qui ne connat
pas la clef na pas dautre ressort que d apprendre lart de percer les coffres-forts.
En 1976, Whitfeld D i f f i e et Martin H e l l m a n ont chang ce paradigme de la cryp
tographie tout jamais [494]7. Ils ont dcrit la cry p to g ra p h ie c le f publique. Au
lieu d une clef, il y a deux clefs diffrentes : une publique et une prive. De plus, il est
difficile de calculer la clef prive partir de la clef publique. Toute personne peut
laide de la clef publique chiffrer un message mais elle ne peut pas le dchiffrer. Seule la
personne en possession de la clef prive peut dchiffrer le message. C est comme si quel
quun avait chang le coffre-fort de la cryptographie en une bote aux lettres. Mettre
une lettre dans la bote revient chiffrer avec la clef publique, tout le monde peut le
faire. Il suffit de la glisser dans la fente. Sortir le courrier de la bote revient dchiffrer
avec la clef prive. C est difficile en gnral, il faut un chalumeau. Cependant, celui
qui dtient le secret (la clef physique de la bote aux lettres) peut facilement retirer le
courrier de la bote.
Mathmatiquement, le procd est bas sur une fonction sens unique brche secrte
dcrite ci-dessus. Le chiffrement est la direction facile La clef publique constitue les
instructions pour le chiffrement : tout le monde peut chiffrer un message. Le dchif
frement est la direction difficile. C est suffisamment difficile pour que des gens avec
des ordinateurs C r a y et des milliers (ou mme des millions) dannes leur disposi
tion ne puissent pas dchiffrer les messages sans connatre le secret. Le secret, ou la
brche secrte, est la clef prive. Avec ce secret, le dchiffrement est aussi facile que le
chiffrement.
Voici comment Alice peut envoyer un message Bernard en utilisant la cryptographie
clef publique :
1 Alice et Bernard choisissent un cryptosystme clef publique.
2 Bernard envoie Alice sa clef publique.
3 Alice chiffre son message en utilisant la clef publique de Bernard et lui envoie
le rsultat.
2.5
35
Cryptosystmes hybrides
Les premiers algorithmes clef publique furent publis lpoque o il tait question
de prendre le DES comme standard. Il en rsulta une sorte de politique partisane dans
le milieu de la cryptographie. D i f f i e la dcrivit dans ces termes [492] :
Lexcitation provoque par les cryptosystmes clef publique dans la
presse populaire et la presse scientifique na pas t partage par ladmi
nistration cryptographique. Lanne de la dcouverte de la cryptographie
clef publique, la National Security Agency (N SA) proposait d'adop
ter un systme cryptographique conventionnel, conu par International
Business Machines (IB M ), comme standard fdral de chiffrement de
donnes (DES, Data Encryption Standard ). Marty Hellman et moi
critiquions la proposition sur le fait que sa clef tait trop courte, mais
les fabricants taient prts soutenir le standard propos et nos critiques
taient vues par beaucoup comme une tentative d enrayer le processus de
cration du standard au profit de nos propres travaux. La cryptographie
clef publique fut attaque son tour dans la litrature commerciale [1131]
et par des articles se voulant techniques [850, 1159], comme si elle tait plus
un produit en concurrence quune rcente dcouverte. Ceci nempcha pas
nanmoins la NSA rclamer sa part de mrite. Son directeur prcisa dans
lEncyclopdie Britannica [1466] qu il avaient dcouvert la cryptographie
deux clefs dix ans plus tt , bien quaucune preuve de cette affirmation
nait jamais vu le jour.
En pratique, les algorithmes clef publique ne se substituent pas aux algorithmes
clef secrte. On les utilise pour chiffrer des clefs et non des messages. Il y a deux raisons
cela:
- Les algorithmes clef publique sont lents. Les algorithmes clef secrte sont
gnralement au moins 1000 fois plus rapides que les algorithmes clef publique.
Il est vrai que les ordinateurs sont de plus en plus rapides et quils pourront
dans quinze ans utiliser la cryptographie clef publique aussi rapidement que la
cryptographie clef secrte aujourdhui. Mais les besoins en bande passante aug
mentent aussi et on aura toujours besoin de chiffrer des donnes plus rapidement
que cela nest possible avec la cryptographie clef publique.
Chapitre 2
36
Briques lmentaires
- Les cryptosystmes clef publique sont vulnrables aux attaques texte en clair
choisi. Si C = E(Ai) o A i est un texte en clair parmi n textes en clair possibles,
alors il suffit un cryptanalyste de chiffrer les n messages et de comparer les
textes chiffrs rsultant avec C (la clef de chiffrement est publique). Il ne pourra
Une attaque texte en clair choisi peut tre particulirement efficace sil y a relative
ment peu de messages chiffrs possibles. Par exemple, si A i est un montant en francs
infrieur un million, cette attaque marchera; le cryptanalyste essaye les un million
de montants possibles. (Le chiffrement probabiliste rsoud ce problme; voir 23.15.)
Mme si A i nest pas aussi clairement dfini, cette attaque peut tre trs efficace.
Savoir simplement quun texte chiffr ne correspond pas un texte en clair particulier
peut savrer une information utile. Un cryptosystme clef secrte ne prsente pas
ce dfaut car un cryptanalyste ne peut pas faire des chiffrements dessai avec une clef
inconnue.
Dans la plupart des applications pratiques, la cryptographie clef publique est utilise
pour protger et distribuer les clefs de session, et ces clefs d e session sont utilises
dans des algorithmes clef secrte pour protger les messages transmis [879]. Cela est
parfois appel im c r y p to sy st m e hybride.
1 Bernard envoie sa clef publique Alice.
2 Alice engendre une clef de session alatoire, k, la chiffre avec la clef publique
de Bernard et envoie le rsultat Bernard.
E B{k)
3 Bernard utilise sa clef prive pour dchiffrer le message dAlice et ainsi retrou
ver la clef de session.
D B(EB(k)) = k
4 Alice et Bernard utilisent alors la mme clef de session pour chiffrer leur
conversation.
2.6
Signatures numriques
37
lUniversit de Berkeley en Californie. Son devoir de fin dnne, soumis bien avant
la fin de lanne avait pour sujet le problme des Communications prives par des
canaux peu srs [1073]. Hoffman ne put comprendre lide de Merkle et ce dernier
abandonna peut-tre le cours. Il continua de travailler sur le problme, malgrs un
chec continuel faire comprendre ces rsultats.
La technique de Merkle tait base sur des nigmes plus faciles rsoudre pour
lexpditeur et le destinataire que pour un espion. Voici comment Alice envoie un
message chiffr Bernard sans avoir besoin dchanger une clef avec lui.
1 Bernard engendre 220 (ou environ un million) de messages de la form e: Ceci
est lnigme numro x. Voici la clef secrte y , o x est un nombre altoire
et y une clef secrte alatoire, x et y sont tous les deux diffrents pour chaque
message. Il chiffre chaque message avec une clef de 20 bits diffrente et les
envoie Alice.
2 Alice choisi un message au hasard et opre une attaque exhaustive pour retrou
ver le texte en clair. Cela demande un travail important mais pas impossible.
3 Alice chiffre son message secret avec la clef quelle a rcupre et lenvoie
Bernard avec x.
4 Bernard connat la clef secrte y quil avait mise dans le message x, aussi
peut-il dchiffrer le message.
Estelle peut casser ce systme, mais elle doit faire beaucoup plus de travail que Alice
ou Bernard. Pour retrouver le message de ltape 3, elle doit effectuer une attaque
exhaustive sur chacun des 220 messages de ltape 1; cette attaque a une complexit
de 240. La valeur de x naidera pas Estelle car elle a t donne au hasard ltape 1.
En gnral, Estelle doit effectuer un effort environ gal au carr de celui produit par
Alice.
Cet avantage de n par rapport n2 est petit pour les standards cryptographiques mais
cela peut suffir dans certaines circonstances. Si Alice et Bernard pauvent tester dix
mille clefs par seconde, il leur faudra chacun une minute pour mener bien leur tape
et une autre minute pour envoyer les nigmes de Bernard Alice par une liaison 1,544
mgaoctets. Si Estelle dispose de moyens de calcul comparables, il lui faut environ un
an pour casser le systme. Il existe d autres algorithmes encore plus difficiles casser.
2.6
Signatures numriques
Les signatures manuscrites sur des documents ont t longtemps utilises pour prou
ver lidentit de leur auteur ou du moins laccord du signataire avec le contenu du
document. Quest-ce qui rend une signature si importante [1396] ?
1. Une signature est authentique. La signature convainc le destinataire que le signa
taire a dlibrment sign le document.
2. Une signature ne peut pas tre falsifie (imite). La signature est la preuve que
le signataire a dlibrment sign le document.
Chapitre 2
38
Briques lmentaires
2 Ivan dchiffre le message avec K a 3 Ivan assemble le message dchiffr et un avis comme quoi il a reu ce message
d Alice. Ivan chiffre le rsultat avec K b -
Comment Ivan sait-il que le message vient bien d Alice et non pas dun imposteur? Il
dduit cela du message chiffr. Comme seuls lui et Alice partagent la clef secrte, seule
Alice peut chiffrer un message avec cette clef.
Est-ce aussi valable quune signature sur papier? Voyons caractristique par caract
ristique :
1. La signature est authentique. Ivan est un arbitre en qui on a confiance et Ivan
sait que le message venait dAlice. Le certificat d Ivan sert de preuve Bernard.
2.6
Signatures numriques
39
2. La signature est infalsifiable. Seule Alice (et Ivan mais tout le monde lui fait
confiance) connat K A, donc seule Alice peut envoyer un message chiffr avec K A
Ivan. Si quelquun avait essay de se faire passer pour Alice, Ivan sen serait
rendu compte immdiatement ltape 2 du protocole et naurait pas certifi
lauthenticit du message.
3. La signature nest pas rutilisable. Si Bernard essaie de prendre le certificat d Ivan
et quil lassocie un autre message, Alice crierait limposture. Alors, un arbitre
(qui peut tre Ivan, mais cela peut tre nimporte quel arbitre ayant accs la
mme information) demanderait Bernard de produire le texte en clair. Larbitre
chiffrerait le texte en clair avec K A et constaterait que le message chiffr ne
correspond pas celui que Alice a donn Ivan. Bien entendu, Bernard ne peut
pas produire un message chiffr valide puisquil ne connat pas K A.
4. Le document sign est immuable. Si Bernard falsifiait le message aprs lavoir
reu, Ivan pourrait dvoiler limposture exactement de la mme faon que celle
dcrite au paragraphe prcdent.
5. La signature ne peut pas tre renie. Mme si plus tard, Alice prtend ne pas
avoir envoy le message, le certificat d Ivan dmontre le contraire. Rappelez-vous
que tout le monde a confiance en Ivan, ce quil dit est la vrit.
Si Bernard veut montrer le document sign par Alice Christine, il ne peut pas rvler
sa clef secrte Christine. Il doit passer par Ivan galement :
1 Bernard prend le message en clair et le texte du certificat dIvan, chiffre le tout
avec K b et envoie cela Ivan.
2 Ivan dchiffre le tout avec K b 3 Ivan vrifie dans sa base de donnes que le message original venait bien dAlice.
4 Ivan chiffre le tout avec K (la clef secrte quil partage avec Christine) et
envoie le rsultat Christine.
Ces protocoles sont valables mais ils sont coteux en temps pour Ivan. Il doit passer ses
journes chiffrer et dchiffrer des messages, jouant le rle dintermdiaire pour toute
paire de correspondants qui veulent schanger des documents signs. Il doit garder une
copie de chaque message (encore que ceci puisse-tre vit en envoyant au destinataire
une copie du message crypt de lexpditeur). Ivan va devenir le goulot d tranglement
du systme de communication mme sil est incarn par un programme informatique
sans me.
Ce qui est plus ardu reste encore de crer et d entretenir quelquun comme Ivan, quel
quun en qui tout le monde dans le rseau a confiance. Ivan doit tre infaillible ; mme
sil ne fait quune erreur sur un million de signatures, personne naura confiance en
lui. Ivan doit tre totalement sr. Si sa base de donnes de clefs secrtes venait tre
divulgue ou si quelquun modifiait son code, toute signature deviendrait inutilisable.
Des faux documents prtendument signs des annes auparavant pourraient fleurir. Il
en rsulterait le chaos. Cela pourrait marcher en thorie mais il en va autrement de la
pratique.
Chapitre 2
40
Briques lmentaires
Ce protocole est nettement meilleur que le prcdent. Ivan nest pas ncessaire ni pour
signer, ni pour vrifier les signatures8. Alice et Bernard nont mme pas besoin dIvan
pour rsoudre les contestations : si Bernard ne peut effectuer ltape 3, alors il sait que
la signature nest pas valide.
Ce protocole a aussi les proprits que nous recherchons :
1. La signature est authentique: quand Bernard vrifie le message avec la clef pu
blique d Alice, il sait quAlice la sign.
2. La signature est infalsifiable : seule Alice connat sa clef prive.
3. La signature nest pas rutilisable : la signature est une fonction du document et
elle ne peut tre transfre sur nimporte quel autre document.
4. Le document sign est immuable : sil y a la moindre falsification du document,
il ne peut plus tre vrifi avec la clef publique d Alice.
5. La signature ne peut pas tre renie. Bernard na pas besoin de laide d Alice
pour vrifier sa signature.
2.6
Signatures numriques
41
compte d Alice au compte de Bernard. Bernard qui est un personnage peu recommandable garde une copie du chque numrique. La semaine suivante, il peut lapporter de
nouveau la banque (ou mme une autre banque). La banque vrifie la signature et
transfre largent d un compte lautre. Si Alice ne vrifie jamais ses relevs bancaires,
Bernard peut continuer ainsi ad vitam aeternam.
Pour viter cela, les signatures numriques contiennent souvent une datation (date +
heure) Cette datation de la signature est attache l ensemble du message et signe
avec le reste du message. La banque stocke ces datations dans une base de donnes.
Ds lors, si Bernard essaie d encaisser le chque dAlice une deuxime fois, la banque
compare la datation avec sa base de donnes. Comme la banque dj honor ce chque
avec la mme datation, la banque appelle la police. Bernard passe alors quhize ans en
prison et occupe son temps libre apprendre les protocoles cryptographiques.
La vitesse de ce procd est beaucoup plus leve et comme les chances d avoir deux
documents diffrents ayant la mme empreinte de 160 bits sont seulement de 1 sur 2160,
tout le monde peut sans crainte identifier la signature de lempreinte la signature du
document lui-mme. Si la fonction utilise nest pas sens unique, il serait ais de crer
plusieurs documents ayant la mme empreinte et d amener quelquun les signer tous
son insu en ne lui faisant signer quun seul. Ce protocole nest pas valable sans une
fonction de hachage sens unique.
Ce protocole a d autres avantages. Premirement, la signature peut tre garde spa
rment du document. Deuximement, pour le destinataire, les exigences en espace de
stockage pour le document et la signature sont beaucoup plus restreintes. Un systme
darchivage peut utiliser ce type de protocole pour vrifier lexistence d un document
sans stocker son contenu. La base de donnes centrale ne stockerait que les empreintes
des fichiers. Elle ne doit avoir aucun accs aux fichiers ; les utilisateurs envoient leurs
Chapitre 2
Briques lmentaires
Algorithmes et terminologie
Il y a de nombreux algorithmes de signature numrique. Tous sont des algorithmes
clef publique : il y a une information secrte pour signer les documents et il y a une
information publique pour vrifier les signatures. Parfois le procd de signature est
appel ch iffrem en t avec une c le f p riv e et le procd de vrification est appel
dch iffrem en t avec une c le f pu bliqu e. Cela prte confusion et nest valable que
pour un seul algorithme, R SA . Et diffients algorithmes prsentent des diffrences de
ralisation. Par exemple, lutilisation de fonctions de hachage sens unique et/ou
de datations ajoute des tapes aux procds de signature et de vrification. Plusieurs
algorithmes peuvent tre utiliss pour des signatures numriques mais pas pour chiffrer.
En gnral, je ferai rfrence aux procds de signature et de vrification sans plus
entrer dans le dtail des algorithmes utiliss. Signer un message avec une clef prive K
est not :
Sk ( M )
Signatures multiples
Comment Alice et Bernard peuvent-ils signer le mme document numrique? Sans les
fonctions de hachage sens unique, il y a deux faons de procder. Dans le premier
cas, Alice et Bernard signent sparment des copies du document lui-mme. Le message
rsultant aura le double de la taille du document original. Dans le deuxime cas, Alice
signe le document en premier et ensuite Bernard signe la signature dAlice. Cela marche
sauf quil est impossible de vrifier la signature dAlice sans vrifier celle de Bernard.
Si une empreinte du document est signe en lieu et place du document lui-mme, alors
le protocole pour la signature multiple est facile :
1 Alice signe le document.
2 Bernard signe le document.
2.6
Signatures numriques
43
Un autre protocole utilise Ivan aprs le fait [213]. Aprs avoir reu un message sign,
Bernard peut en envoyer une copie Ivan pour vrification. Ivan peut attester de la
validit de la signature dAlice.
Chapitre 2
44
Briques lmentaires
sur le territoire de leur homologue pour contrler les essais nuclaires rellement effec
tus. Le problme tait que la nation qui contrlait voulait tre sre que lhomologue
ne truquait pas les donnes produites par les sismographes placs sur son sol. De plus,
chaque nation voulait sassurer que les sismographes nenvoient que les informations
spcifiquement ncessaires au contrle.
Les techniques d authentification traditionnelles permettaient de faire face au premier
problme mais seules les signatures numriques permettaient de faire face aux deux
problmes. Grce ces dernires, la nation contrle pouvait lire les donnes des sis
mographes sur son territoire et la nation qui contrle savait que les donnes navaient
pas t falsifies.
2.7
2 Alice chiffre le message sign avec la clef publique de Bernard et lui envoie le
rsultat.
E b (Sa ( M ) )
Il semble naturel de signer avant de chiffrer. Quand Alice crit une lettre, elle la signe
et le met ensuite dans lenveloppe. Si elle met la lettre non signe dans lenveloppe
et signe ensuite lenveloppe, alors Bernard pourrait craindre que la lettre naie t
remplace. Si Bernard montrait Christine la lettre et lenveloppe dAlice, Christine
pourrait laccuser de mentir sur la lettre qui est arrive dans lenveloppe.
En matire de correspondance aussi il est prudent de signer avant de chiffrer. C est
non seulement plus sr un adversaire ne peut retirer la signature dun message pour
y mettre la sienne mais il faut prendre en compte des considrations lgales: si le
signataire ne peut pas voir le texte quil signe, sa signature pourrait alors tre conteste
au vues de la loi [1323]. De plus, il existe des attaques cryptanalytiques contre cette
technique utilise avec des signatures R S A (voir 19.3).
Alice na aucune raison dutiliser la mme paire clef publique, clef prive pour chiffrer
et signer. Elle peut avoir deux paires de clef: une pour chiffrer et une pour signer. La
.7
sparation prsente des avantages: elle peut livrer sa clef de chiffrement la police sans
compromettre sa signature, une clef peut tre mise en dpt (voir 4.13) sans affecter
lautre, et les clefs peuvent avoir des tailles diffrentes ou encore expirer des dates
diffrentes.
Bien sr, les messages doivent tre dats pour viter quils ne soient rutiliss. La
datation peut aussi aider se prmunir contre dautres ennuis comme celui dcrit dans
le paragraphe suivant.
3 Bernard signe le message avec sa clef prive, le chiffre avec la clef publique
dAlice et envoie le rsultat Alice.
E A(SB( M ) )
Chapitre 2
Briques lmentaires
2.8
remplacer la clef publique de Bernard par une de son choix. Aprs cela, Bernard ne
pourrait plus lire les messages qui lui seraient destins tandis que Martin le pourrait.
Mme si les clefs publiques sont stockes dans une base de donnes sre, Martin peut
encore remplacer une clef par une autre pendant sa transmission. Pour viter cela, Ivan
peut signer chaque clef publique avec sa propre clef prive (voir 2.6). Quand Ivan
fait cela, il agit comme une Autorit d Authentification de Clefs ou comme un
Centre de Distribution de Clefs (appelons-le C D C en abrg). Dans les ralisations
pratiques, le C D C signe un message composite contenant le nom de lutilisateur, la clef
publique et toute autre information importante concernant lutilisateur. Ce message
composite sign est stock dans la base de donnes du C D C . Quand Alice obtient la
clef publique de Bernard, elle vrifie la signature du C D C pour sassurer de la validit
de la clef quelle a obtenue.
En analyse finale, cela ne rend pas les choses impossibles pour Martin, juste plus
difficiles. Alice a encore la clef publique du C D C stocke quelque part. Martin doit
remplacer cette clef par la sienne, fausser la base de donnes et remplacer les clefs
valides par les siennes toutes signes avec sa clef prive comme sil tait le C D C et
alors il est arriv ses fins. Mme des signatures sur papier peuvent tre contrefaites si
Martin sen donne la peine. Comme il a t dit prcdemment, cela sera racont dans
les moindres dtails au paragraphe 3.1.
2.8
Gnrateurs
alatoires
alatoires
et
pseudo
les alimente lentre, des oprations tout fait prvisibles dterministes ont
lieu lintrieur et finalement un rsultat sort lautre bout. Entrez la mme chose
en deux instants diffrents et vous obtiendrez le mme rsultat la sortie chaque
Chapitre 2
Briques lmentaires
fois. Entrez la mme chose dans deux ordinateurs identiques et le mme rsultat sera
produit par chacun d eux. Il ny a quun ensemble fini d tats dans lesquels peut se
trouver un ordinateur (un grand nombre fini, mais un nombre fini toutefois) et ce qui
sort sera toujours une fonction dterministe de ce qui entre et de ltat de lordinateur.
Cela veut dire que tout gnrateur alatoire de nombres sur ordinateur (du moins, sur
une machine de Turing) est, par dfinition, priodique. Tout ce qui est priodique est,
par dfinition, prvisible. Et ce qui est prvisible nest pas alatoire. Un vrai gnrateur
alatoire de suites ncessite une entre vraiment alatoire ; un ordinateur ne peut pas
fournir cela.
Suites pseudo-alatoires
Le mieux que peut produire un ordinateur est un gn rateu r p seu d o-a la toire de
suites. Quest-ce? Beaucoup de gens se sont attaqus au problme de dfinir cela
formellement, mais je m abstiendrai ici. La priode de la suite doit tre suffisamment
longue de telle manire quune suite finie de longueur raisonnable c est--dire une
suite qui soit utile dans un contexte donn ne soit pas priodique. En dautres
termes, si vous avez besoin d une suite dun milliard de bits alatoires, ne choisissez
pas un gnrateur qui a une priode de 16000 bits. Ces sous-suites non priodiques
relativement courtes, doivent tre autant que possible indiscernables d une suite ala
toire. Par exemple, elles doivent avoir le mme nombre de 1 que de 0 ; peu prs la
moiti des segments (suites de bits ayant la mme valeur) doivent tre de longueur 1,
un quart de longueur 2, un huitime de longueur 3, etc. On ne doit pas pouvoir les
compresser. Les distributions des segments de 0 et des segments de 1 doivent tre les
mmes [645, 864, 106, 1359]. Ces proprits peuvent tre mesures empiriquement et
compares aux prvisions statistiques en utilisant un test en y 2.
Pour nos besoins, un gnrateur de suites est pseudo-alatoire sil satisfait la proprit
suivante :
1. Il a lair alatoire. Cela veut dire quil russit tous les tests statistiques que lon
peut trouver. (Commencez par ceux dcrits dans [864].)
Pas mal defforts ont t investis pour produire des bonnes suites pseudo-alatoires
sur ordinateur. Les descriptions de tels gnrateurs abondent dans la littrature aca
dmique, avec des tests varis sur leur caractre alatoire. Tous ces gnrateurs sont
priodiques (il ny a pas moyen de lviter) ; mais avec des priodes potentielles de 2256
bits et plus, il peuvent tre utiliss pour les applications les plus exigeantes.
Mais le problme des corrlations non dsires et des rsultats tranges est toujours
prsent. Tout gnrateur dterministe en produira si vous lutilisez dune certaine faon.
Et cest cette proprit que le cryptanalyste utilisera pour attaquer le systme.
2.8
49
Chapitre 3
Protocoles lmentaires
3.1
Echange de clefs
Une technique cryptographique courante consiste utiliser une clef diffrente pour
chiffrer chaque conversation entre deux individus. On parlera alors de clef de session
parce quelle nest utilise que pour une session particulire de communication. Comme
on le vera au paragraphe 8.5, les clefs de session sont utiles car elles n existent que
durant la dure de la communication. Il nest pas simple de faire aboutir cette clef de
session commune entre les mains des participants de la conversation.
2 Ivan engendre alatoirement une clef de session. Il chiffre deux copies de celleci, lune avec une clef secrte quil partage avec Alice, et lautre avec une clef
secrte quil partage avec Bernard. Ivan envoie les deux copies Alice.
Ce protocole repose sur la scurit absolue de Ivan qui sera plutt un programme
informatique de confiance quune personne de confiance. Si Martin corrompt Ivan,
tout le rseau est compromis. Il a alors sa disposition toutes les clefs secrtes que
1.
Le protocole passe sous silence le rel problm e de la distribution de ces clefs secrtes; on fait
lhypothse q u elles sont en service et que M artin ne sait pas o elles se trouvent.
Chapitre 3
52
Protocoles lmentaires
Ivan partage avec tous les utilisateurs ; il peut lire tous les messages passs quil a
enregistrs et toutes les communications futures. Tout ce quil doit faire cest placer
une coute sur les lignes de communication et enregistrer le trafic des messages chiffrs.
Lautre inconvnient de ce systme est que Ivan reprsente un potentiel goulot d tran
glement. Il doit participer chaque change de clef. Si Ivan se trompe, cela perturbe
tout le systme.
Bernard dchiffre
Alice et Bernard
conversation.
Lattaque de lintercepteur
Tandis quEstelle ne peut pas faire mieux que tenter de casser lalgorithme clef
publique, ou tenter une attaque texte chiffr seulement contre les textes chiffrs,
Martin peut dchiffrer les messages entre Alice et Bernard. Martin est beaucoup plus
fort quEstelle. Non seulement il peut couter les messages entre Alice et Bernard, mais
il peut aussi modifier des messages, dtruire des messages et en insrer des nouveaux
de son cru. Martin peut
se faire passer pour Bernard en sadressant Alice et se
faire passer pour Alice en sadressant Bernard. Voici comment lattaque peut tre
conduite :
1 Alice envoie sa clef publique Bernard. Martin intercepte cette clef et envoie
sa propre clef publique Bernard.
2 Bernard envoie sa clef publique Alice. Martin intercepte cette clef et envoie
sa propre clef publique Alice.
3 Quand Alice envoie un message Bernard, chiffr avec ce quelle croit tre
la clef publique de Bernard, Martin l intercepte. Comme ce message est en
fait chiffr avec sa clef publique, il le dchiffre avec sa clef prive, le chiffre
nouveau avec la clef publique de Bernard et envoie le rsultat Bernard.
4 Quand Bernard envoie un message Alice, chiffr avec ce quil croit tre la
clef publique dAlice, Martin lintercepte. Comme ce message est en fait chiffr
avec sa clef publique, il le dchiffre avec sa clef prive, le chiffre nouveau avec
la clef publique dAlice et envoie le rsultat Alice.
3.1
change de clefs
53
Mme si les clefs publiques d Alice et de Bernard sont stockes dans une base de
donnes, cette attaque peut tre conduite. Il suffit que Martin intercepte la requte
dAlice vers la base de donnes et quil envoie Alice sa propre clef publique la
place de celle de Bernard. Il peut faire la mme chose avec Bernard et remplacer la clef
dAlice par la sienne. Il peut mme subrepticement pntrer dans la base de donnes
et remplacer les clefs dAlice et Bernard par sa clef publique. Le lendemain, il attend
simplement quAlice et Bernard dialoguent entre eux. Il intercepte alors les messages
et les modifie. Il a russi.
Lattaque de lintercepteur marche parce quAlice et Bernard nont aucun moyen de
vrifier quils parlent bien lun lautre. En faisant lhypothse que Martin est rapide
et quil nintroduit pas de dlai notable dans le comportement du rseau, aucun des
deux ne peut souponner que quelquun est l entre eux deux en train d espionner toute
leur correspondance suppose confidentielle.
Protocole cliquets
Le protocole cliquets, invent par Ron R i v e s t et Adi S h a m i r [1338] a de bonnes
chances de repousser lattaque de lintercepteur. Voici comment cela marche :
1 Alice envoie sa clef publique Bernard.
2 Bernard envoie sa clef publique Alice.
3 Alice chiffre son message avec la clef publique de Bernard. Elle envoie la moiti
du message chiffr Bernard.
4 Bernard chiffre son message avec la clef publique dAlice. Il envoie la moiti
du message chiffr Alice.
et dchiffre
message
Le point important est quune moiti de message est inutilisable sans lautre moiti ;
on ne peut dchiffrer les moitis sparment. Bernard ne peut lire aucune partie du
message d Alice avant ltape 6 et Alice ne peut lire aucune partie du message de
Bernard avant ltape 7. Il y a plusieurs moyens de raliser cela :
- Si lalgorithme de chiffrement est un algorithme par blocs, chaque moiti de
chaque bloc (par exemple, un bit sur deux) peut tre envoye dans chaque moiti
de message chiffr.
- Le dchiffrement du message peut tre dpendant du vecteur dinitialisation (voir
9.3) qui ne serait envoy quavec la deuxime moiti du message.
- La premire moiti du message pourrait tre une empreinte du message chiffr
(voir 2.4) et le message chiffr lui-mme pourrait tre la seconde moiti.
54
Chapitre 3
Protocoles lmentaires
Pour voir comment cela complique la vie de Martin, revoyons sa tentative de corruption
du protocole. Il peut toujours remplacer les clefs publiques d Alice et de Bernard par
sa propre clef publique dans les tapes 1 et 2. Mais maintenant, quand il intercepte
la premire moiti du message d Alice ltape 3, il ne peut pas le dchiffrer avec sa
clef prive et le rechiffrer avec la clef publique de Bernard. Il doit inventer un nouveau
message et envoyer la moiti Bernard. Quand il intercepte la moiti du message de
Bernard vers Alice ltape 4, il a le mme problme. Il ne peut pas le dchiffrer avec
sa clef prive et le rechifrer avec la clef publique dAlice. Il doit inventer un nouveau
message et envoyer la moiti de celui-ci Alice. Quand il intercepte les deux autres
moitis des messages d Alice et de Bernard aux tapes 5 et 6, il est trop tard pour quil
puisse changer les nouveaux messages quil a invents. La conversation entre Alice et
Bernard sera forcment compltement diffrente de ce quelle aurait d tre.
Martin peut peut-tre appliquer ce schma. Sil connat Alice et Bernard suffisamment
pour imiter les deux cts d une conversation entre eux, alors ils ne se rendront jamais
compte quils sont dups. Mais c est certainement plus difficile pour Martin que de
simplement intercepter et lire les messages quils schangent.
3.1
55
change de clefs
rseaux informatiques, cest plus facile et il semble que cela devienne plus facile chaque
jour. Il est possible de duper les protocoles d intercommunication et d attaquer les
routeurs dun rseau; les attaque actives ne signifient pas quelquun dans les gouts
avec un sttoscope et elles ne sont pas rserves aux agences dont le nom comporte
trois lettres.
Pour mieux se prmunir contre une attaque de lintercepteur, Alice peut signer
la transmission.
2 Alice obtient les clefs publiques de Bernard, Christine et David par la base de
donnes.
3 Alice chiffre K avec la clef publique de Bernard, chiffre K avec la clef publique
de Christine et chiffre K avec la clef publique de David.
E b (K) , E c ( K) ,E d (K)
Chapitre 3
56
Protocoles lmentaires
4 Alice diffuse le message chiffr et toutes les clefs chiffres qui veut bien les
recevoir.
E b (K),Ec (K),Ed (K),Ek ( M )
Cet algorithme peut tre ralis dans un rseau stocke-et-relaie . Un serveur central
peut relayer le message dAlice Bernard, Christine et David avec chacun une version
chiffre de la clef de session. Le serveur na pas tre sr et il na pas avoir la
confiance des utilisateurs car il ne peut dchiffrer aucun message.
3.2
Authentification
Lattaque de quelquun qui pntre dans le systme informatique et qui vole la liste
des mots de passe est moins craindre, car lordinateur ne stocke plus la table des
mots de passe corrects mais bien la liste des rsultats de lapplication de la fonction
sens unique aux mots de passe. Cette liste est inutilisable parce que la fonction sens
unique ne peut pas tre inverse pour retrouver les mots de passe.
basede
3.2
Authentification
57
utiliss. Il calcule alors la fonction sens unique pour tous les 1000 000 mots de passe
et stocke le rsultat.
Si chaque mot de passe a environ 8 octets, le fichier rsultant naura pas plus de 8
mga-octets ; ce qui tient aisment sur quelques disquettes. Ensuite, Martin vole le
fichier des mots de passe chiffrs. Il compare les mots de passe chiffrs avec son fichier
des mots de passe chiffrs possibles et localise ceux qui sont identiques.
Cest une attaque par dictionnaire. Celle-ci est tonnamment efficace en pratique
(voir 8.1). Le salage est un moyen de rendre cette attaque plus difficile. Le sel est
une chane alatoire qui est jointe au mot de passe avant quil ne soit transform par la
fonction sens unique. Ensuite, le sel utilis et le rsultat de la fonction sens unique
sont tous deux stocks dans la base de donnes. Si le nombre de valeurs de sel possibles
est suffisamment grand, cela empche presque tout fait lattaque par dictionnaire
de mots de passe communs car Martin doit calculer les valeurs de la fonction sens
unique pour chaque sel. C est un embryon de vecteur d initialisation (voir 9.3).
Lide ici est dobliger Martin chiffrer chacun des mots de passe de son dictionnaire
quil tente comme mot de passe de quelquun et ce pour chaque nouvelle personne et
non une fois pour toutes.
Il faut pas mal de sel. La plupart des systmes U N IX nutilisent que 12 bits pour
le sel. Mme avec cela, Daniel K l e in a dvelopp un programme qui retrouve 21 %
des mots de passe sur un systme donn en peu prs une semaine [848, 849]. David
F e l d m e ie r et Philip K a r n ont rassembl une liste d environ 732 000 mots de passe
communs combins avec 4096 valeurs possibles de sel. Ils estiment quenviron 30 %
des mots de passe dun systme donn peuvent tre retrouvs grce cette liste [563].
Saler nest par le remde universel; augmenter le nombre de bits du sel ne va pas
rsoudre tous les problmes. Le sel ne protge que contre les attaques par dictionnaires
contre un fichier de mots de passe chiffrs, mais non contre une attaque concerte
dirige contre un seul mot de passe. Le salage masque le fait que certaines personnes
ont le mme mot de passe sur plusieurs systmes mais cela ne rend pas meilleurs des
mots de passe mal choisis.
SKEY
SKEY est un programme dauthentification dont la scurit repose sur une fonction
sens unique / . Il est facile expliquer.
Pour mettre en place le systme, Alice entre un nombre alatoire R. L ordinateur calcule
f(R), f {f {R)) , f(.f(f(R))) et ainsi de suite cent fois. Notons ces nombres X i , . . . , x 10oLordinateur affiche la liste de ces nombres et Alice la met dans sa poche labri.
Lordinateur conserve aussi Xioi en clair dans une base de donnes ct du nom
dAlice.
La premire fois quAlice veut se connecter, elle entre son nom et aqoo- Lordinateur cal
cule f ( x ioo) et le compare avec arioi sil sont gaux, Alice est authentifie. Lordinateur
remplace alors aqoi par .x10o dans la base de donnes. Alice barre aqoo de sa liste.
Chaque fois quAlice se connecte, elle entre le dernier nombre x* quelle na pas encore
barr sur sa liste. L ordinateur calcule f{xf) et le compare avec xi + 1 qui se trouve dans
la base de donne. Estelle ne peut pas obtenir d information intressante car chacun
des nombres nest utilis quune seule fois, et la fonction est sens unique. De cette
manire, un attaquant ne peut pas se servir de la base de donnes. Bien sr, quand
58
Chapitre 3
Protocoles lmentaires
Alice est court de nombres sur sa liste, elle doit refaire lopration d initialisation du
systme.
3 L ordinateur hte utilise la clef publique dAlice qui est dans sa base de donnes
et dchiffre le message l aide de celle-ci.
4 Si la chane obtenue est la mme que celle que lordinateur hte a envoye
Alice en premier lieu, lordinateur hte sait que c est bien Alice qui essaie
d accder au systme.
Personne dautre na accs la clef prive dAlice et donc personne ne peut se faire
passer pour Alice. Ce qui est plus important encore : Alice nenvoie jamais sa clef prive
sur la ligne de communication vers lordinateur hte. Estelle, qui coute le protocole,
ne peut obtenir aucune information qui lui permette de deviner la clef prive ou de se
faire passer pour Alice.
La clef prive est longue et non mnmonique. De plus, elle sera manipule automatique
ment par le logiciel et le matriel de communication de lutilisateur. Le terminal dAlice
doit donc tre intelligent et Alice doit avoir confiance en lui, mais ni lordinateur
hte distance, ni le canal de communication nont tre srs.
En gnral, il est idiot de chiffrer des chanes de caractres alatoires envoyes par
un autre participant : des attaques telles que celles dcrites dans le paragraphe 19.3
peuvent tre montes.
Un protocole de preuve d identit sr prend la forme plus complique suivante :
1 Alice effectue des calculs partir de quelques nombres alatoires et de sa clef
prive. Elle envoie le rsultat lordinateur hte.
3.2
Authentification
59
3 Alice effectue des calculs partir des nombres alatoires (ceux quelle avait
choisis et celui qui lui a t envoy par lordinateur) et de sa clef prive. Elle
envoie le rsultat lordinateur hte.
2 Alice chiffre Pa avec la clef publique quelle croit tre celle de Bernard et envoie
le rsultat Bernard. Martin intercepte le message, dchiffre P a avec sa clef
prive, rechiffre Pa avec la clef publique de Bernard et envoie le rsultat
Bernard.
3 Bernard chiffre Pg avec la clef publique quil croit tre dAlice et envoie le
rsultat Alice. Martin intercepte le message, dchiffre Pg avec sa clef prive,
rechiffre Pg avec la clef publique dAlice et envoie le rsultat Alice.
Chapitre 3
60
Protocoles lmentaires
SKID
SKID2 et SK ID 3 sont des protocoles didentification clef secrte dvelopps pour
le projet R IP E du programme R A C E [1316] (voir 25.7). Ils utilisent une fonction
sens unique clef (un C A M , pour Code d'Authentification de Messages , voir
2.4) pour fournir la scurit, et tous les deux font lhypothse quAlice et Bernard
partagent une clef secrte K .
SKID2 permet Bernard de prouver son identit Alice. Voici le protocole :
1 Alice choisit un nombre alatoire, R a Le document R IP E prcise quil doit
avoir 64 bits. Elle lenvoie Bernard.
tapes1 3 sontiden
3.3
61
Authentification de message
Quand Bernard reoit un message de la part d Alice, comment est-il sr de son authen
ticit? Si Alice a sign son message, cest facile. La signature numrique suffit pour
convaincre nimporte qui de lauthenticit du message.
La cryptographie clef secrte permet une part dauthentification. Quand Bernard
reoit de la part d Alice un message chiffr avec la clef quil partagent, il sait quil
vient bien dAlice. Personne dautre ne connat leur clef. Toutefois, Bernard na aucun
moyen de prouver ce fait un troisime parti. Bernard ne peut pas montrer le message
Ivan et le convaincre quil vient d Alice. Ivan peut tre convaincu que le message
vient soit d Alice, soit de Bernard (car ils sont les seuls possder cette clef secrte),
mais il ne peut pas savoir lequel.
Si le message nest pas chiffr, Alice pourrait aussi utiliser un CAM . Cela convaincra
aussi Bernard de lauthenticit du message, mais cela prsente le problme que la
solution apporte par la cryptographie clef secrte.
3.3
T a b . 3.1
A
B
Wide-Mouth Frog
Le. protocole Wide-Mouth Frog [287, 288] est probablement le protocole de gestion
de clefs secrtes le plus simple qui utilise un serveur en qui lon a confiance. Alice
et Bernard partagent chacun une clef secrte avec Ivan. Ces clefs ont elles-mmes t
distribues secrtement et avec garantie d authenticit par un autre canal externe dont
Chapitre S
62
Protocoles lmentaires
nous admettrons quil est sr. Ces clefs sont seulement utilises pour la distribution
des clefs et non pas pour chiffrer des messages entre utilisateurs. Rien quen utilisant
deux messages, une clef de session est transfre d Alice Bernard :
1 Alice combine la datation, le nom de Bernard, B et une clef de session alatoire
et chiffre le tout avec la clef secrte qu elle partage avec Ivan. Elle envoie le
rsultat chiffr Ivan avec son nom.
A , E a (Ta , B, K)
2 Ivan dchiffre le message dAlice. Ivan combine une nouvelle datation, le nom,
dAlice, et la clef de session alatoire. Il chiffre le tout avec la clef secrtequil
partage avec Bernard. Ivan envoie le rsultat chiffr Bernard.
E B(TB, A , K )
Lhypothse la plus risque faite par ce protocole est quAlice est suffisamment com
ptente pour engendrer des clefs de session valables. Rappelez-vous quil nest pas ais
dengendrer des nombres alatoires ; le protocole fait peut-tre trop confiance Alice
ce propos.
Yahalom
Lauteur de ce protocole est Y a h a l o m [187]. Comme dans le protocole prcdent, Alice
et Bernard partagent une clef secrte avec Ivan [287, 288].
1 Alice combine son nom avec un nombre alatoire et envoie le tout
Bernard:
A, R a
4 Alice dchiffre le message chiffr avec sa clef secrte, extrait K , et confirme que
R a a la mme valeur qu ltape 1. Alice envoie Bernard deux messages. Le
premier est le message quelle a reu dIvan, chiffr avec la clef de Bernard. Le
deuxime est R B, chiffr avec la clef de session:
E b ( A , K) , E k (R b )
3.3
63
Finalement, Alice et Bernard sont convaincus quils se parlent bien lun lautre et
non pas un tiers. La nouveaut ici c est que Bernard est le premier contacter Ivan
qui nenvoie quun seul message Alice.
Needham et Schroeder
Ce protocole, invent par Roger N e e d h a m et Michael S c h r o e d e r [1159], utilise aussi
la cryptographie clef secrte et Ivan.
(A , B , R a )
2 Ivan chiffre, avec la clef secrte qu il partage avec Bernard, un message consti
tu dune clef de session alatoire et du nom dAlice. Ensuite, il chiffre, avec la
clef secrte qu il partage avec Alice, un message constitu de la valeur alatoire
dAlice, du nom de Bernard, de la clef de session et du message chiffr avec la
clef secrte quil partage avec Alice. Finalement, il envoie Alice le message
chiffr :
E a (Ra , B , K , E b (K,A))
3 Alice dchiffre le message et extrait K . Elle confirme que R a est bien la mme
valeur quelle a envoye Ivan ltape 1. Ensuite, elle envoie Bernard le
message qu lvan a chiffr avec la clef de Bernard :
E b (K,A)
Chapitre S
64
Protocoles lmentaires
monter lattaque suivante avec succs [467]. Tout ce quil doit faire c est enregistrer
les messages d Alice Bernard pendant ltape 3. Alors, une fois quil a K , il peut
prtendre tre Alice :
1 Martin envoie Bernard, le message suivant :
E
(K ,A )
Otway-Rees
Ce protocole utilise aussi la cryptographie clef secrte [1234].
1 Alice engendre un message constitu dun numro d ordre, de son nom, du nom
de Bernard, et dun nombre alatoire, le tout chiffr avec la clef secrte quelle
partage avec Ivan. Elle envoie le message chiffr Bernard avec le numro
d ordre, son nom elle et son nom lui:
I , A , B , E a (R a ,I,A,B)
2 Bernard engendre un message constitu dun nouveau nombre alatoire, du
numro dordre, du nom dAlice et celui de Bernard, le tout chiffr avec la clef
secrte quil partage avec Ivan. Il envoie le message chiffr rsultant Ivan
avec le message chiffr quil a reu dAlice, le numro dordre, son nom elle
et son nom lui:
I,A ,B ,E a {R a ,I,A ,B ),E b {R b ,I,A,B)
3.3
65
3 Ivan engendre une clef de session alatoire. Il cre alors deux messages. L un
est compos du nombre alatoire dAlice et de la clef de session, et est chiffr
avec la clef qu il partage avec Alice. L autre est compos du nombre alatoire
de Bernard et de la clef de session, et est chiffr avec la clef quil partage avec
Bernard. Il envoie les deux messages avec le numro dordre Bernard:
I , E a (RA jK ) , E b (R b , K )
4 Bernard envoie Alice le message chiffr avec la clef dAlice et avec le numro
dordre:
I , E a {R a , K)
En mettant lhypothse que tous les nombres alatoires sont corrects et que le numro
dordre na pas chang en cours de route, Alice et Bernard sont maintenant convaincus
de leurs identits respectives et ils ont une clef secrte avec laquelle communiquer.
Kerberos
K e r b e r o s est une variante du protocole de Needham et Schroeder, il est prsent en
dtail dans le paragraphe 17.4. Dans le protocole de base K e r b e r o s version 5, Alice et
Bernard partagent chacun des clefs avec Ivan. Alice veut engendrer une clef de session
pour dialoguer avec Bernard.
2 Ivan engendre un message avec la datation, une longvit, une clef de ses
sion alatoire, et lidentit dAlice. Il chiffre cela avec la clef quil partage avec
Bernard. Ensuite il engendre un autre message avec la datation, la longvit,
la clef de session et lidentit de Bernard, et il chiffre le rsultat avec la clef
quil partage avec Alice. Il envoie les deux messages chiffrs Alice:
E a ( T, L,K,B) ,E b (T,L,K,A)
3 Alice engendre un message avec son identit et la datation, chiffre cela avec K
et envoie le rsultat Bernard. Alice envoie aussi Bernard le message qu elle
a reu dIvan, chiffr avec la clef de Bernard :
E k (T,A),E b (T,L,K,A)
Le protocole marche mais il prsume que toutes les horloges sont synchronises avec
lhorloge dIvan. En pratique, cet effet est obtenu en synchronisant les horloges
quelques minutes prs d une horloge de rfrence et en dtectant les rptitions dans
lintervalle de temps donn.
Chapitre 3
66
Protocoles lmentaires
Neuman-St ubblebine
Que ce soit par des erreurs de systme ou par sabotage, il se peut que les horloges se
dsynchronisent, Si cela arrive, il existe une attaque possible contre la plupart de ces
protocoles [646]. Si lhorloge de lexpditeur est en avance, Martin peut intercepter un
message de lexpditeur et le rejouer plus tard quand la datation devient jour sur le
site du destinataire. Cette attaque peut avoir des consquence dsagrables.
Ce protocole prsent pour la premire fois dans [821] et corrig dans [1162] tente de
contrer cette attaque. C est une amlioration du protocole Yalahom qui en fait un
excellent protocole.
1 Alice engendre un message avec son nom, un nombre altoire et lenvoie
Bernard.
A, R a
3 Ivan engendre une clef de session alatoire et cre alors deux messages. Le
premier est constitu du nom de Bernard, du nombre alatoire d Alice, de la
clef de session, et de la datation, le tout chiffr avec la clef qu'il partage avec
Alice. Le second se compose du nom d Alice, de la clef de session, et de la
datation, le tout chiffr avec la clef qu il partage avec Bernard. U envoie les
deux messages Alice avec le nombre alatoire de Bernard.
E a (B, R a ,K,T b ),E b (A,K,T b ),R b
4 Alice dchiffre le message chiffr avec sa clef, extrait K , et vrifie que R a est
bien le mme qu ltape 1. Alice envoie deux messages Bernard. Le premier
est celui quelle a reu de Ivan et qui est chiffr avec la clef de Bernard. Le
second est R b , chiffr avec la clef de session.
E b (B, K, T b ),E k (Rb )
Si les nombres alatoires et les datations correspondent, Alice et Bernard sont convain
cus de lidentit de lun lautre et ils partagent une clef secrte. Il n est pas ncessaire
que les horloges soient synchronises car les datations proviennent toutes de lhorloge
de Bernard ; il vrifie uniquement des datations quil a engendres lui-mme.
Ce protocole prsente un autre avantage: Alice peut utiliser le message quelle a reu de
Ivan pour d autres authentifications avec Bernard jusqu une certaine limite de temps
fixe lavance. Supposons que Bernard et Alice ont termin le protocole ci-dessus
et ont fini de communiquer. Alice et Bernard sont en mesure de mener une nouvelle
authentification en trois tapes, sans laide de Ivan.
1 Alice envoie Bernard le message que Ivan lui avait envoy ltape 3 et un
nouveau nombre alatoire.
E b (A,K,T b ),Ra
3.3
67
3 Alice envoie Bernard son nouveau nombre alatoire chiffr avec leur clef de
session.
E k (R'b )
Les nouveaux nombres alatoires empchent toute attaque consistant rejouer de vieux
messages.
DASS
Les protocoles DASS, dvelopps par D i g it a l E q u i p m e n t C o r p o r a t i o n , per
mettent aussi lauthentification mutuelle et lchange de clefs [606, 1523, 1522].
Contrairement aux autres protocoles, DASS utilise la fois la cryptographie clef
secrte et la cryptographie clef publique. Alice et Bernard ont chacun une clef prive.
Ivan possde des copies signes de ces clefs prives.
1 Alice envoie Ivan un message constitu du nom de Bernard.
B
2 Ivan envoie Alice la clef publique de Bernard, K b , signe avec la clef prive
dIvan, T . Le message sign comprend le nom de Bernard.
St ( B , K b )
3 Alice vrifie la signature dIvan pour confirmer que la clef quelle a reue est
bien la clef publique de Bernard. Elle engendre une clef secrte alatoire, et une
paire alatoire clef publique, clef prive : Kp. Elle chiffre une datation avec
K . Elle signe une longvit de clef, L, son identification, A , et K p avec sa clef
prive, K A. Enfin, elle chiffre K avec la clef publique de Bernard et signe le
rsultat avec K p. Elle envoie le tout Bernard:
E k (Ta ),SKa ( L, A, K p),Sk p (EKb ( K ))
4 Bernard envoie Ivan (ce peut tre un autre Ivan) un message contenant le
nom dAlice:
A
5 Ivan envoie la clef publique dAlice Bernard, signe avec la clef publique
dIvan :
St ( K a )
6 Bernard vrifie la signature d lvan pour confirmer que la clef qu il a reue est
bien la clef publique dAlice. Il vrifie alors la signature dAlice et rcupre
K p. Il vrifie la signature et utilise sa clef prive pour retrouver K . Ensuite, il
dchiffre TA pour tre sr que le message nest pas prim.
Chapitre 3
68
Protocoles lmentaires
8 Alice dchiffre Tb avec K pour tre sre que le message nest pas prim.
D E C a ralis les protocoles DASS. Vous trouverez plus d informations dans [35].
Denning-Sacco
Ce protocole utilise aussi la cryptographie clef publique [467]. Ivan conserve une base
de donne contenant toutes les clefs publiques.
1 Alice envoie un message Ivan avec son nom et celui de Bernard:
A ,B
2 Ivan envoie Alice la clef publique de Bernard, K b , quil signe avec sa propre
clef prive, T. Ivan envoie aussi Alice la clef publique de celle-ci, K a , quil
signe avec sa clef prive.
St ( B , K b ),St ( A, K a )
3 Alice envoie Bernard une clef de session alatoire et une datation signs avec
sa clef prive et chiffrs avec la clef publique de Bernard, le tout accompagn
des deux clefs publiques signes.
E b (Sa (K,T a )),St { B , K b ),St ( A , K a)
4 Bernard dchiffre le message dAlice avec sa clef prive et vrifie la signature
dAlice avec la clef publique de celle-ci. Pour plus de sret, il vrifie que la
datation est toujours valide.
ce niveau, Alice et Bernard ont tous les deux la clef K , et peuvent communiquer en
scurit.
Cela a lair de fonctionner mais il nen est rien. Aprs avoir terminer le protocole avec
Alice, Bernard peut se faire passer pour Alice [9]:
1 Bernard envoie Ivan son nom et celui de Christine .
B ,C
3.3
69
Christine croit maintenant parler avec Alice; Bernard la trompe avec succs. En fait,
Bernard peut tromper nimporte quel membre du rseau jusqu ce que la datation
expire.
Ce problme est facile rgler. Il suffit d ajouter les noms dans le message chiffr
ltape 3:
E b {Sa {A, B, K, T a )),St { B , K b ),St { A , Ka )
Maintenant Bernard ne peut plus rutiliser le vieux message d Alice avec Christine
parce quil est clairement ddi la communication entre Alice et Bernard.
Woo-Lam
Ce protocole utilise encore la cryptographie clef publique [1612, 1613]:
1 Alice envoie Ivan un message contenant son nom et celui de Bernard.
A ,B
2 Ivan envoie Alice la clef publique de Bernard quil signe avec sa propre clef
prive.
St ( K b )
3 Alice vrifie la signature de Ivan. Elle envoie alors Bernard son nom et un
nombre alatoire, quelle chiffre avec la clef publique de Bernard.
E k b ( A, R a )
4 Bernard envoie Ivan son nom, celui dAlice et le nombre alatoire dAlice
quil chiffre avec la clef publique de Ivan.
A , B , E k t {Ra )
5 Ivan envoie Bernard la clef publique dAlice quil signe avec sa propre clef
prive. Il lui envoie aussi le nombre alatoire dAlice, une clef de session ala
toire, le nom dAlice, le nom de Bernard, le tout sign avec la clef prive de
Ivan et chiffr avec la clef publique de Bernard.
S t ( K a ),EKb (St (Ra ,K, A, B))
Chapitre 3
70
Protocoles lmentaires
Autres protocoles
X .509 sont
24.9. Le protocole K r y p t o K n ig h t est dcrit dans le pa
ragraphe 24.6. Le protocole: Echange de Clef Chiffr 3, est dcrit dans le para
graphe 22.5.
Il y a beaucoup d autres protocoles dans la littrature. Les protocoles
Les leons
Il faut tirer quelques leons importantes des protocoles prcdents, la fois de ceux
qui ont ts casss et de ceux qui ne lon pas t:
- Beaucoup de protocoles chouent parce que leurs concepteurs essayent dtre
trop intelligents. Ils optimisent leurs protocoles en laissant de ct des points
importants: les noms, des nombres alatoires, et ainsi de suite. Le remde est de
tout rendre explicite [44, 45].
- On a vite fait de sembrouiller en essayant doptimiser, cela dpend beaucoup des
hypothses que lon fait. Par exemple, si lon dispose de datations sres, on peut
faire beaucoup de choses impossibles sans cela.
Le choix du protocole dpend de larchitecture du rseau utilis pour les commu
nications. Voulez-vous minimiser la taille des messages ou leur nombre? Est-ce
que tous les partis peuvent se parler les uns les autres ou seulement quelques uns
dentre eux.
De telles questions permettent de dvelopper des mthodes formelles pour lanalyse
des protocoles.
3.4
Le problme d obtenir une clef de session sre entre deux ordinateurs (et deux per
sonnes) est si important quil a men de nombreuses recherches. Une part des re
cherches a t dvoue au dveloppement de protocoles tels que ceux examins dans
les paragraphes 3.1, 3.2, et 3.3. Ceci a conduit de plus amples et plus intressants
problmes: lanalyse formelle des protocoles dauthentification et d change de clefs. On
a trouv des failles dans certains protocoles apparament srs des annes aprs quils
furent proposs et les chercheurs voulaient des outils permettant de prouver la scurit
d un protocole ds le dbut. Bien que la plupart de ce travail puisse sappliquer aux pro
tocoles cryptographiques en gnral, lemphase en recherche concerne principalement
lauthentification et lchange de clefs.
3. E n c r y p te d K e y E x ch a n g e.
3-4
71
72
Chapitre 3
Protocoles lmentaires
et pourtant utile pour dtecter des failles. Certaines formulations de la logique BAN
ressemblent ceci:
Alice croit A . (Alice agit comme si X tait vrai.)
Alice voit X . (Quelquun a envoy Alice un message contenant X .
Celle-ci peut le lire et lenvoyer nouveau aprs un ventuel dchiffre
ment.)
Alice a dit X . ( un moment donn, Alice a envoy un message conte
nant X . On ne sait pas quand il a t envoy ou mme sil a t envoy
durant le protocole en cours. On sait seulement que Alice croyait X quand
elle la dit.)
X est rcent (ou frais). (A na jamais t envoy dans un message
quelquinstant que ce soit avant le protocole en cours.)
Et ainsi de suite. La logique B A N fournit aussi des rgles pour raisonner sur des
croyances lintrieur dun protocole. En appliquant ces rgles aux formulations lo
giques concernant le protocole, on peut prouver certaines choses ou rpondre certaines
questions propos du protocole. Par exemple, une des rgles est celle de la signification
dun message:
Si Alice croit quelle et Bernard partagent une clef secrte K et si Alice
voit X chiffr avec K , et si Alice na pas chiffr X avec K , alors Alice croit
que Bernard a dit X .
3.
Insrer des formules logiques inhrentes aux formulations: des assertions propos
de ltat du systme aprs chaque formulation.
4.
Applliquer les rgles logiques aux assertions et aux hypothses pour trouver les
croyances de chaque parti au cours du protocole.
Les auteur de la logique B A N voient les protocoles idaliss comme des spcifications
plus claires et plus compltes que les descriptions traditionnelles de la littrature...
[287, 288]. D autres ne se laissent pas impressionner et critiquent cette tape car elle
pourrait dnaturer le protocole rel [1161, 1614], Voir [225, 1563] pour une poursuite
du dbat. D autres dtracteurs essayent de montrer que la logique BAN peut conduire
pour certains protocoles des caractristiques clairement fausses [1161] voir [289,
1513] pour une rfutation et que la logique BA N concerne seulement la confiance
et pas la scurit [1513]. De plus amples dbats se trouvent dans [1495, 707, 1011],
3-4
73
Malgrs ces critiques, la logique B A N est un succs. Elle a contribu trouver des failles
dans diffrents protocoles dont N E E D H A M -S C H R O E D E R et une premire version dun
protocole C C IT T X .509 [308]. Elle a permis de montrer des redondances dans beau
coup de protocoles comme Y a h a l o m , N e e d h a m - S c h r o e d e r , et K e r b e r o s . Bien
des articles publis font tat de la scurit de leurs protocoles grce la logique BAN
[41, 1162, 80].
Dautres systmes de logique ont ts publis, certains sont des extensions de la logique
BAN [647, 588,1562, 829], et les autres sont bass sur B A N pour palier des faiblesses
connues [1495, 1011]. La plus prise parmi celles-l est G N Y [647] bien quelle prsente
certains dfauts [41]. Des probabilits de croyance ont t ajoutes la logique B A N
avec un succs mitig [296, 507]. D autres logiques formelles sont proposes dans [163,
799, 292]; dans [1518], les auteurs essayent de combiner les aspects de plusieurs logiques.
Enfin, il existe des logiques o les croyances peuvent changer avec le temps [1130, 1515].
Avec quatrime approche lanalyse des protocoles cryptographiques, on modlise le
protocole par un systme algbrique, on exprime ltat de connaissance des participants
en ce qui concerne le protocole, et on analyse alors sil est possible dateindre certains
tats. Cette approche na pas connu autant d gards que les logiques formelles, mais a
ne saurait tarder. Michael M e r r i t t la utilise le premier en montrant quun modle
algbrique permet danalyser les protocoles cryptographiques. On trouvera dautres
approches dans [506, 1512, 1538, 1539, 1540, 1514, 1614],
LAnalyseur de Protocoles des laboratoires de recherche de la marine amricaine5 est
probablement lapplication la plus russie de ces techniques [1516, 824, 1054, 1517]; il
a mis en vidence de nouvelles failles et d autre dj connues dans quelques protocoles
[1052, 1053, 1055]. L 'Analyseur de Protocoles utilise des dfinitions d actions du type:
- Accepter (Bernard, Alice, A i, N ). (Bernard accepte le message A i comme prove
nant d Alice durant la manche N de Bernard.)
- Apprendre(Estelle,A4). (Estelle apprend A4.)
- Envoyer(Alice, Bernard, Q, A i). (Alice envoie A4 Bernard en rponse la
requte Q.)
Request(Bernard, Alice, Q, N ). (Bernard envoie Q Alice durant la manche N
de Bernard.)
A parjjr de ces actions, on peut spcifier des exigences. Par exemple:
- Si Bernard a accept un message A4 de la part d Alice un moment donn, alors
Estelle n a appris A4 aucun moment.
- Si Bernard a accept un message A4 de la part d Alice dans la manche N de
Bernard, alors Alice a envoy A4 Bernard en rponse une requte survenue
durant la manche N de Bernard.
Pour utiliser l Analyseur de Protocoles, le protocole doit tre spcifier avec les construc
teurs prcdents. On distingue alors quatre phases dans lanalyse: la dfinition des
rgles de transition pour les participants hontes, la description des oprations acces
sibles tous les participants (hontes ou malhontes), la description des blocs de base
5. N a vy R esea rch L a b o ra to ry (N R L ).
Chapitre 3
74
Protocoles lmentaires
3.5
Pour la cryptographie clef publique, il y a deux clefs. Un message est chiffr avec lune
et dchiffr avec lautre. En gnral, lune des clefs est prive et lautre est publique.
Toutefois, faisons maintenant lhypothse quAlice a une clef et Bernard lautre. Alice
peut chiffrer un message que seul Bernard pourra dchiffrer et Bernard peut chiffrer
un message que seule Alice pourra lire.
Ce concept a t gnralis par Colin B o y d [220]. Imaginez une variante de la crypto
graphie clef publique avec trois clefs: K a , K b , K c , distribues comme indiqu dans
le tableau 3.2.
T a b . 3 .2
Participant :
Alice
Bernard
Christine
David
Etienne
Francis
Clef(s) en sa possession :
Ka
Kb
Kc
K a et K b
K b et K c
K a et K c
3.6
Secret morcel
75
T a b . 3 .3
Diffusion de message
Imaginez que vous ayez cent oprateurs sur le terrain. Vous voulez envoyer des messages
certains sous-ensembles de vos oprateurs mais vous ne connaissez pas lavance
la composition des sous-ensembles. Vous pouvez chiffrer le message sparment pour
chaque destinataire, ou crer des clefs pour chaque combinaison possible. La premire
option augmente considrablement le trafic des communications ; la deuxime ncessite
un trs grand nombre de clefs.
La cryptographie clefs multiples est nettement plus facile. Considrons trois opra
teurs: Alice, Bernard et Christine. Vous donnez Alice K a et K b , Bernard K b et
K c , et Christine K a et K c - Ainsi, vous pouvez dialoguer avec nimporte quel sousensemble dentre eux. Si vous voulez envoyer un message que seule Ace puisse lire,
chiffrez-le avec K c - Quand elle reoit le message, elle le dchiffre avec K a et puis K r .
Si vous voulez envoyer un message que seul Bernard puisse lire, chiffrez-le avec K a - Si
vous voulez envoyer un message que seule Christine puisse lire, chiffrez-le avec K b - Si
vous voulez envoyer un message quAlice et Bernard puissent lire, chiffrez-le avec K a
et K c , et ainsi de suite.
Cela peut paratre peu excitant, mais avec 100 oprateurs, ce schma est pour le moins
efficace. Envoyer des messages individuels ncessite de partager une clef avec chaque
oprateur (100 clefs au total). Pour couvrir tous les sous-ensembles possibles, il faut
2100 2 clefs (on exclus les messages destins tous les oprateurs et aucun). Le
schma qui vient d tre dcrit marche avec un seul texte chiffr et 100 clefs diffrentes.
Le seul inconvnient est quil faut aussi diffuser le sous-ensemble doprateurs auquel ce
message est destin; sans cela, chaque oprateur devrait essayer toutes les combinaisons
de clefs possibles la recherche de la bonne. Les nom des destinataires suffisent. Dans
la ralisation directe de ceci, chacun reoit une quantit massive de donnes relatives
aux clefs.
Il y a dautres techniques pour la diffusion de messages, certaines ne prsentent pas le
problme prcdent. Elles sont dcrites dans le paragraphe 22.7.
3.6
Secret morcel
Imaginer que vous ayez invent une nouvelle crme de garniture super-collante et super
sucre. Peut-tre avez vous fait une sauce pour hamburger encore plus insipide que
Chapitre 3
16
Protocoles lmentaires
celle de vos concurrents. C est important, vous devez garder le secret. Vous ne pouvez
indiquer la composition exacte des ingrdients qu vos employs en qui vous avez
le plus confiance: mais quarrive-t-il si lun d entre eux vous quitte pour aller la
concurrence? Le secret est dvoil et il ne faudra pas attendre longtemps avant que
tous les marchands de fastfood du quartier ne fassent des hamburgers aussi insipides
que les vtres.
Pour remdier cela, on fera appel au secret m orcel. Il y a moyen de prendre un
message et de le couper en morceaux [553]. Chaque morceau en lui-mme na aucune
signification mais si vous les rassemblez vous pouvez faire la sauce. Si un employ vous
quitte avec un morceau de la recette, cette information est inutilisable par elle-mme.
Le morcellement de secret le plus simple partage un message entre deux personnes.
Voici un protocole o Ivan partage un message entre Alice et Bernard.
1 Ivan engendre une chane alatoire de bits, R, ayant la mme longueur que le
message A i.
Cette technique, pour autant que tout soit fait correctement, est absolument sre.
Chaque lment est en lui-mme sans valeur. Essentiellement, Ivan chiffre le message
avec un masque jetable. Il donne ensuite le masque une personne et le message chiffr
lautre. Le paragraphe 1.5 explique la technique du masque jetable; ce systme de
chiffrement est absolument sr. Aucune puissance de calcul ne permet de retrouver le
message avec un seul morceau.
Il est ais d tendre ce schma plusieurs personnes. Pour morceler un message entre
plus de deux personnes, on combine dautres chanes alatoires de bits avec le message
Dans lexemple qui suit, Ivan partage le message en quatre morceaux :
1 Ivan engendre trois chanes alatoires de bits, R, S et T , ayant chacune la
mme longueur que le message A i.
3.7
Secret rparti
77
Cest un protocole juge-arbitre. Ivan a tous les pouvoirs et il peut faire ce quil
veut. Il peut donner du charabia et prtendre que ce sont les bons lments du secret ;
personne ne le saura jusqu ce quils essaient de reconstruire le secret. Il peut donner
un morceau Alice, Bernard, Christine et David, puis dire tout le monde que seuls
Alice, Christine et David sont ncessaires pour reconstruire le secret. Il peut alors
licencier Bernard. Et comme c est Ivan qui dcide comment partager le secret, c est en
son pouvoir dagir ainsi.
Il y a toutefois un dfaut ce protocole : si un des morceaux est perdu, le message est
perdu aussi. Par exemple, si Christine sen va chez le concurrent avec son morceau de
la recette de la sauce, les autres sont dans lembarras. Elle ne peut pas reproduire la
recette, mais il en est de mme pour Alice, Bernard et David. Alice, Bernard et David
nont quune information commune : la longueur du message rien de plus. Cela est
d au fait que R, S, T, U et A4 ont tous la mme longueur; ds que lon connat lun
deux, on connat la longueur du message. Rappelons que A4 nest pas morcel dans le
sens usuel du terme, il est combin par ou exclusif avec des chanes alatoires de bits.
3.7
Secret rparti
78
Chapitre S
Protocoles lmentaires
Les schmas seuil sont plus varis que cela. Tout scnario de rpartition peut tre
modlis laide de schmas. Vous pouvez diviser un message entre les occupants de
votre immeuble, pour cela vous avez besoin de : 1) sept occupants du premier tage et
cinq occupants du deuxime tage ; 2) il y a quelquun du troisime tage, dans ce cas
il ne faut que cet occupant-l, trois occupants du premier tage et deux personnes du
deuxime tage ; 3) il y a quelquun du quatrime tage, auquel cas il faut cet occupant
et un occupant du troisime tage, ou cet occupant et deux personnes du premier tage
avec une personne du deuxime tage, etc.
Cette ide a t invente indpendamment par Adi S h a m i r [1421] et George B l a k l e y
[189], et tudie en profondeur par Gus SiMMONS [1473]. 11 y a plusieurs algorithmes
diffrents dcrits dans le paragraphe 23.2.
3.7
Secret rparti
79
80
3.8
Chapitre 3
Protocoles lmentaires
La liste des membres dune association professionnelle est une information intressante.
D une part, vous voulez distribuer la base de donnes tous les membres : vous voulez
quils puissent communiquer entre eux, changer des ides, et sinviter les uns les autres
pour boire une tasse de th. Dautre part, si vous distribuez des copies de la base de
donnes des membres, une copie finira tt ou tard par tomber dans les mains dagents
dassurance ou dautres fournisseurs de courrier publicitaire.
La cryptographie peut amliorer la situation. Vous pouvez chiffrer la base de donnes
de manire quil soit facile d extraire ladresse dun membre mais quil soit difficile
d obtenir la liste dadresses complte.
Ce schma, dcrit dans [552, 551], est vident. Choisissez une fonction de hachage
sens unique et un algorithme clef secrte. Chaque enregistrement dans la base de
donnes est compos de deux champs. Le champ d indexation est le nom de famille de
ladhrent converti par la fonction de hachage sens unique. Le champ de donnes est
le nom complet et ladresse de ladhrent, chiffr en utilisant le nom de famille comme
clef.
Chercher un membre ayant un nom de famille donn est facile. Premirement, calculez
lempreinte du nom de famille par la fonction de hachage sens unique et cherchez cette
empreinte dans les champs dindex de la base de donnes. Sil y a une concordance, alors
il existe un membre ayant ce nom de famille. Sil y a plusieurs concordances, alors il y a
plusieurs personnes dans la base de donnes ayant le mme nom de famille. Finalement,
pour chaque concordance, dchiffrez le nom complet et ladresse en utilisant le nom de
famille comme clef.
Dans [552], les auteurs utilisent ce systme pour protger un dictionnaire de 6000
verbes espagnols. Ils indiquent que les dgradations de performance dues au chiffrement
sont minimes. Des possibilits supplmentaires sont offertes par [551] pour faire des
recherches sur des index multiples mais lide est la mme. Le problme principal avec
ce systme est que vous ne pouvez pas retrouver un enregistrement d une personne si
vous ne connaissez pas lorthographe exacte du nom de famille de celle-ci. Vous pouvez
essayer plusieurs orthographes jusqu ce que vous trouviez la bonne, mais ce nest pas
trs pratique de passer en revue tous les noms commenant par Sch quand vous
recherchez Schneier .
Cette protection nest pas parfaite. Il est possible pour un vendeur particulirement
persvrant de reconstruire la base de donnes des membres en essayant tous les noms
de famille possibles. Sil dispose du Bottin, il peut le faire. Cela peut prendre plusieurs
semaines un ordinateur ddi cette tche, mais c est faisable. Toutefois, la tche est
plus difficile, ce qui signifie plus cher pour un fournisseur de courriers publicitaires.
Une autre approche, dcrite dans [192], permet d extraire des statistiques concernant
des donnes chiffres.
Chapitre 4
Protocoles intermdiaires
4.1
Services de datation
Dans de nombreuses situations les gens veulent pouvoir certifier quun document exis
tait une date donne. Pensez une contestation de copyright ou de brevet : celui qui
peut produire le document le plus ancien gagne la partie. Il y a plusieurs manires de
faire cela avec des documents papier. Des notaires peuvent signer les documents ; des
hommes de loi peuvent garder des copies. Si un litige apparat, le notaire ou lhomme
de loi peut attester de lexistence de la lettre une certaine date.
Dans le monde numrique, c est beaucoup plus difficile. Il n y a pas moyen dexaminer
des documents numriques pour dtecter des signes de falsification. Ils peuvent tre
copis et modifis volont sans que cela soit dcelable. Il est trivial de changer la
date de cration dun fichier informatique. Personne ne peut regarder un document
numrique et affirmer: Oui, ce document a t cr avant le 4 novembre 1952.
Stuart H a b e r et W . Scott S t o r n e t t a chez B e l l c o r e ont rflchi au problme [683,
684, 99]. Ils voulaient un protocole de datation de documents qui ait les trois proprits
suivantes :
- les donnes elles-mmes doivent tre dates indpendamment de leur support
physique ;
- il ne doit pas tre possible de changer le moindre bit dun document sans que
cela soit apparent ;
- il doit tre impossible de dater un document avec une date et une heure diffrentes
de la vraie date.
Solution arbitre
Ce protocole utilise Ivan, qui assume le rle d un service de datation sr et fiable. Bien
sr, Alice veut dater un document :
1 Alice transmet une copie du document Ivan.
2 Ivan enregistre la date et lheure auxquelles il a reu le document et garde une
copie de sauvegarde du document.
Chapitre 4
82
Protocoles intermdiaires
Protocole de filiation
Un moyen d viter ce dernier dfaut est de lier la datation d Alice avec les autres
datations dj produites par Ivan, pour dautres utilisateurs ventuels. Comme lordre
dans lequel Ivan recevra les requtes nest pas connu davance, la datation d Alice doit
tre plus rcente que celle de la requte prcdente. Et comme la requte qui suit celle
dAlice est lie la datation qu Alice a obtenue, sa requte doit forcment avoir eu lieu
avant. La requte dAlice est donc prise en sandwich dans le temps.
4-1
Services de datation
83
Si A est le nom d Alice, lempreinte quAlice veut dater est Hn, et la datation prcdente
est Tn- 1 , alors le protocole est donn par:
1 Alice envoie Hn et A Ivan.
2 Ivan envoie en rponse Alice :
S K ( n , A , 11n fljL i f n
ly S n li-^ n )
Sk signifie que le message est sign avec la clef publique dIvan. Le nom dAlice
certifie celle-ci comme auteur de la requte. Le paramtre n indique le numro
dordre de la requte: c est la ne datation produite par Ivan. La datation est
donne par le paramtre Tn. L information additionnelle consiste en l'identi
fication de lauteur, lempreinte, la datation et lempreinte de la datation du
document prcdent quIvan a dat.
Si quelquun met en doute la datation dAlice, elle contacte les auteurs des documents
antrieurs et postrieurs : In- t et In+i- Si leurs documents sont aussi remis en question,
ils se mettent en contact avec In- 2 et In+2 , et ainsi de suite. Chacun peut montrer que
son document a t dat aprs celui qui prcde et avant celui qui suit.
Ce protocole rend trs difficile la complicit entre Alice et Ivan et les empche de pro
duire un document avec une fausse datation. Ivan ne peut pas postdater un document
car cela ncessiterait de connatre lavance la requte qui prcdera ce document.
Mme sil pouvait falsifier cela, il devrait alors connatre davance la requte avant
* cela , et ainsi de suite. Il ne peut pas antidater un document car la datation
doit tre prise en sandwich entre des documents dats juste avant et juste aprs : or
ces documents ont dj t dats. Le seul moyen de contrer ce schma est d inventer
des chanes de requtes fictives, passes et futures par rapport au document dAlice,
suffisamment longues pour dcourager toute personne de contester la datation.
Protocole distribu
Les gens meurent. Les datations se perdent. Beaucoup dvnements peuvent se pro
duire entre le moment de la datation et la contestation de celle-ci. Quand la contestation
arrive, Alice ne pourrait plus forcment obtenir une copie de la datation d/ _ i . Ce
dfaut peut tre vit en incorporant dans la datation d Alice les datations des 10
requtes qui ont prcd celle d Alice et en envoyant Alice les identifications des
auteurs des 10 requtes qui ont suivi la sienne. Alice a ainsi plus de chance de trouver
quelquun qui a encore sa datation.
Suivant le mme ordre dide, le protocole suivant se passe tout fait de la collaboration
dIvan :
1 A partir dHn, Alice engendre une suite de valeurs alatoires en se servant dun
gnrateur alatoire de suites cryptographiquement sr:
v 1,v2,v3,...yk
Chapitre 4
84
Protocoles intermdiaires
Dveloppements futurs
D autres amliorations des protocoles de datation sont prsentes dans [99]. Les au
teurs utilisent des arbres binaires pour augmenter le nombre de datations qui dpendent
dune datation donne, rduisant par la mme occasion la possibilit de produire des
chanes de datations fictives. Ils recommandent galement dditer publiquement lem
preinte des datations du jour, dans les journaux par exemple. Cela remplit une fonction
similaire lenvoi de lempreinte un ensemble alatoire de personnes dans le protocole
distribu. De fait, B e l l C O R E fait cela dans chaque numro du New York Times du
dimanche depuis 1992.
Ces protocoles de datation sont brevets [685, 686, 687]. Une socit inattendue de
Bellcore, SU RETY TECHNOLOGIES, dtient les brevets et a mis sur le march un sys
tme de notaire numrique mettant en oeuvre ces protocoles. Dans la premire ver
sion, les clients envoyaient une requte certifie un serveur central de coordination.
En suivant la technique de Ralph M e r k l e [590], qui permet de construire des arbres
grce des fonctions de hachage [77], le serveur produit un arbre d empreintes dont les
feuilles sont toutes les requtes reues durant une seconde, et renvoie chaque client
la liste des empreintes du chemin allant de la feuille lui correspondant jusqu la racine
de larbre. Le client la conserve localement et peut produire un certificat de notaire
numrique pour chacun des fichiers qui ont ts certifis. La suite des racines de ces
arbres forme le dossier de validation universel qui est accessible dans de multiples
banques de donnes et publi sur CD-ROM. Le logiciel client comprend une fonction
de validation qui permet lutilisateur de tester si un fichier a t certifi dans sa
forme actuelle 1 2.
1. Pour cela il faut rcuprer la racine de larbre appropri et la com parer la valeur obtenue en
appliquant la fonction de hachage adquate sur le fichier et son certificat.
2. Pour plus d informations, contacter Surety T ech n ologies, 1 Main S t ., Chatham, NJ, 07928
tats-U nis, T l: (201) 701-0600, Fax: (201) 701-0601.
4-2
Canal subliminal
4.2
85
Canal subliminal
Alice et Bernard ont t arrts et vont aller en prison. Il entre la prison des hommes
et elle entre la prison des femmes. Leur seul moyen de communiquer est par missives.
Gatien, le gardien, est dispos permettre lchange de messages entre Alice et Bernard
pour autant que ceux-ci ne soient pas chiffrs. Gatien sattend ce quils complotent
pour concocter un plan d vasion, aussi veut-il pouvoir tout lire.
Gatien espre aussi duper soit Alice, soit Bernard. Il veut que lun accepte un message
factice comme un message valide venant de lautre. Alice et Bernard sont prts
prendre le risque dtre dups, sinon ils ne pourraient pas communiquer du tout et ils
doivent prparer leurs projets. Pour mener cela bien, ils doivent duper le gardien
et trouver un moyen de communiquer confidentiellement. Ils doivent mettre en place
un canal subliminal, un canal cach de communication entre eux, au nez et la
barbe de Gatien, bien que les messages eux-mmes ne contiennent pas dinformation
confidentielle. A laide de messages signs inoffensifs ils vont changer de linformation
confidentielle bien que Gatien lise toute la correspondance.
Un canal subliminal simple pourrait tre le nombre de mots dans une phrase. Un
nombre impair de mots correspondrait 1 , tandis quun nombre pair de mots
correspondrait 0 . Ainsi, tandis que vous lisez ce paragraphe d apparence innocente,
j ai envoy mes collaborateurs sur le terrain le message 110 . Le dfaut de cette
technique est dtre de la simple stganographie (voir 1.2); il ny a pas de clef: la
scurit dpend uniquement de la confidentialit de lalgorithme. Une meilleure scurit
est certainement possible.
Gustavus SlMMONS a invent le concept de canal subliminal dans les algorithmes de si
gnature numrique conventionnels [1464, 1477]. Comme les messages subliminaux sont
cachs dans ce qui ressemble des signatures numriques normales, c est une forme
de dissimulation. Gatien voit transiter des messages innocents signs mais il rate com
pltement linformation qui circule sur le canal subliminal. En fait, lalgorithme de
signature numrique subliminal est indiscernable dun algorithme de signature num
rique normal, du moins pour Gatien. Gatien non seulement ne peut pas lire le canal
subliminal mais il ne peut mme pas dceler sa prsence.
En gnral, le protocole ressemble ceci :
1 Alice engendre un message innocent, alatoirement.
2 A laide dune clef secrte quelle partage avec Bernard, Alice signe ce message
innocent de manire cacher son message subliminal dans la signature. C est
le cur du protocole canal subliminal (voir 20.S).
6 Bernard ignore le message innocent et, utilisant la clef secrte quil partage
avec Alice, il extrait le message subliminal.
86
Chapitre 4
Protocoles intermdiaires
dintroduire des messages factices. Comme il ne peut pas engendrer de signature valide,
Bernard dtecterait la tentative de Gatien ltape 5. Et comme il ne connat pas la
clef secrte partage, il ne peut pas lire le canal subliminal. Plus important encore, il
na pas la moindre ide que des messages subliminaux sont changs. Des messages
numriques signs ne sont pas diffrents daspect des messages numriques signs avec
messages subliminaux cachs dans la signature.
La tricherie entre Alice et Bernard est plus problmatique. Dans certaines ralisations
du canal subliminal, linformation secrte dont Bernard a besoin pour lire les messages
subliminaux est la mme information dont Alice a besoin pour signer les messages
innocents. Si tel est le cas, Bernard peut se faire passer pour Alice. Il peut signer
des messages dont Alice serait alors prtendment lauteur et Alice ne peut rien faire
pour len empcher. Si elle doit lui envoyer des messages subliminaux, elle doit lui faire
confiance pour quil n abuse pas de sa clef prive
Dautres ralisations du canal subliminal nont pas ce dfaut Une clef secrte partage
entre Alice et Bernard permet Alice d envoyer des messages subliminaux Bernard
mais elle est diffrente de la clef prive d Alice. Cette clef secrte ne permet pas
Bernard de signer des messages la place d Alice. Alice na pas faire confiance
Bernard pour quil nabuse pas de sa clef prive.
4-3
4.3
87
88
Chapitre 4
Protocoles intermdiaires
Bernard, il valide simultanment la signature avec Alice. Quand Christine lui envoie
le nombre alatoire, il lenvoie Alice. Quand Alice rpond, il envoie la rponse
Christine. Christine est alors convaincue quelle est une acheteuse lgitime du logiciel
alors quil nen est rien. Cette attaque est un cas particulier du problme du grand
matre aux checs qui est dcrit en dtail dans le paragraphe 5.2.
Telles quelles, les signatures icontestables ont de nombreuses applications; il y a beau
coup de situation o Alice ne veut pas que n importe qui puisse vrifier sa signature.
Elle ne veut srement viter que sa correspondance personnelle puisse tre vrifie par
la presse, montre et vrifie hors du contexte, o mme vrifie aprs que les choses ont
chang. Si elle signe une bribe dinformation quelle a vendue, elle ne veut pas que ceux
qui nont pas pay pour linformation puissent tout de mme en vrifier lauthenticit.
En contrlant ceux qui vrifient sa signature, Alice protge sa vie prive.
Une variante des signatures incontestables permet de sparer le lien entre le signataire
et le message, et le lien entre le signataire et la signature [911]. Dans ce cadre, nim
porte qui est capable de vrifier que le signataire a bien produit la signature, mais la
coopration du signataire est ncessaire pour vrifier que la signature est valide pour
le message en question.
Il existe une notion similaire, celle de signatures incontestables arbitres. Imaginez
quAlice travaille pour la socit Toxines et envoie des documents compromettants
un journal en utilisant un protocole de signature incontestable. Alice peut confirmer sa
signature au prs du journaliste, et personne d autre. Toutefois, Bernard, le contre
matre suspecte Alice d avoir divulgu les documents. Il demande Alice de contester
le protocole pour se laver de tout soupon, et Alice refuse. Bernard prtend que la seule
raison poussant Alice refuser est sa culpabilit et il la licencie.
Les signatures incontestables arbitres sutilisent comme les signatures incontestables
sauf que seul Ivan peut effectuer le protocole de contestation. Bernard ne peut pas
demander Alice de contester sa signature car seul Ivan en est capable. Si Ivan est le
sytme judiciaire, il ne devra effectuer le protocole quen cas de dispute.
4.4
La SARL Logiciels Alice fait des ventes astronomiques de D E W , tel point que Alice
passe plus de temps vrifier des signatures incontestables qu laborer de nouveaux
logiciels.
Alice voudrait engager une presonne charge de vrifier les signatures pour toute len
treprise. Alice, ou tout autre programmeur, pourrait signer des documents avec un
protocole de signature incontestable; mais les vrifications seraient toutes faites par
Christine.
Il se trouve que c est possible grce aux signatures vrificateur ddi [337, 1221].
Alice peut signer un document de sorte que Bernard est convaincu de la validit de
la signature sans pouvoir convaincre un troisime parti; ce faisant, Alice peut dsigner
Christine comme future vrificatrice de la signature. Alice na pas mme besoin de
la permission de Christine; il lui suffit dutiliser la clef publique de celle-ci. De plus
Christine peut encore confirmer la signature dAlice quAlice soit partie en voyage,
quelle ait quitt la socit, ou quelle soit morte.
4-5
89
Les signatures vrificateur ddi sont une sorte de compromis entre les signatures nu
mriques classiques et les signatures incontestables. Dans certaines circonstances, Alice
voudra restreindre le nombre des personnes capables de vrifier sa signature. D un autre
ct, donner un contrle total Alice peut compromettre lutilisation des signatures :
Alice pourrait refuser de cooprer pour confirmer ou dsavouer une signature en prtexant quelle a perdu les clefs ncessaires, ou en tant simplement injoignable. Les
signatures vrificateur ddi assurent Alice la protection d une signature incontes
table sans lui permettre dabuser de cette protection. Alice prfrera voir les choses
ainsi: les signatures vrificateur ddi lui permettent d viter des utilisations indrisables, de la protger si elle perd sa clef, et dassurer la prnit du fonctionnement
des signatures si elle est en vacances, lhopital, ou morte.
Cette ide permet toutes sortes d applications. Christine peut se dclarer notaire
publique . Elle publie sa clef et nimporte qui peut la dsigner comme vrificatrice de
ses signatures. Elle peut faire payer chaque confirmation de signature et mener une vie
tranquille.
Christine peut tre un bureau de brevetage, une agence gouvernementale, ou lordi
nateur hte d une organisation. Ce protocole permet de diffrencier les personnes qui
signent les documents de celles qui vrifient les signatures.
4.5
Chapitre 4
90
Protocoles intermdiaires
Dans certains cas, une forme didentification plus large est ncessaire, permettant
nimporte qui de dterminer lidentit du signataire interpos partir de la signature
par procuration. Des protocoles de signatures par procuration, bass sur diffrentes
ralisations de signatures numriques, se trouvent dans [1010].
4.6
Signatures collectives
2 Ivan publie la liste principale de toutes les clefs publiques pour le groupe dans
un ordre alatoire. Il reste seul savoir qui possde quelle clef.
5 En cas de litige, Ivan connat la correspondance entre les clefs publiques et les
membres du groupe.
3.
Si le groupe com porte n membres, et chaque m em bre a m paire de clefs, il y a en tou t n X m
paires de clefs au total.
1^.1
91
Le dfaut de ce protocole est quil ncessite lintgrit d Ivan. Il connat les clefs prives
de tout le monde et il peut imiter des signatures. De plus, la liste des clefs de chaque
membre doit tre suffisamment longue pour viter que lon puisse analyser quelles clefs
ils ont utilises.
Larticle de C h a u m [333] donne d autres protocoles. Pour certains d entre eux, Ivan
ne peut pas imiter de signatures. Dans dautres Ivan nest pas toujours ncessaire.
Un autre protocole [352] permet non seulement de cacher lidentit du signataire, mais
aussi dlargir le groupe de nouveaux membres. On trouvera encore un autre protocole
dans [1241]
4.7
Chapitre 4
92
Protocoles intermdiaires
Des dveloppements thoriques et des applications concernant les signatures FailStop sont dcrits dans [1249, 1251, 732, 733].
4.8
Alice veut connatre la valeur d une certaine fonction f ( x ) pour une valeur particulire
de x. Malheureusement, son ordinateur est en panne. Bernard est dispos lui calculer
f(x) mais Alice ne veut pas que Bernard connaisse x. Comment Alice peut-elle laisser
Bernard calculer f ( x ) sans lui rvler x ?
C est le problme gnral du calcul avec donnes chiffres, appel aussi cacher de
linformation un oracle . Dans lexemple ci-dessus, Bernard est loracle : il rpond
des questions. On peut appliquer cela certaines fonctions ; nous en reparlerons dans
le paragraphe 23.6.
4.9
Mise en gage
4-9
Mise en gage
93
2 Alice cre un message constitu du bit quelle veut mettre en gage, b (cela peut
mme tre plusieurs bits), et de la chane alatoire de Bernard. Elle chiffre le
tout avec une clef alatoire, K et envoie le rsultat Bernard.
E K (R,b)
Cest la partie de mise en gage du protocole. Bernard ne peut pas dchiffrer le message
et donc il ne connat pas la valeur du bit.
Quand vient le moment pour Alice de rvler la valeur du bit, le protocole se poursuit
ainsi :
3 Alice envoie la clef Bernard.
4 Bernard dchiffre le message pour retrouver le bit. Il vrifie la chane alatoire
pour vrifier la validit du bit.
2 Alice cre un message contenant les deux chanes alatoires et le bit quelle veut
mettre en gage (cela peut mme tre plusieurs bits).
(Ri,R2,b)
H(Ri,R2,b),Ri
4.
Remarquez que tou te fonction sens unique gnrale convient pou r ce ty p e d e protocole, pas
seulement les fonctions de hachage sens unique.
Chapitre 4
94
Protocoles intermdiaires
Cette dernire transmission est la mise en gage proprement dite. Alice a utilis une
fonction sens unique ltape 3 et donc Bernard ne peut pas linverser pour retrouver
la valeur du bit.
Quand.vient le tour d Alice pour rvler le bit, le protocole se poursuit ainsi:
4 Alice envoie Bernard le message dorigine:
Lavantage de ce protocole sur le prcdent est que lorsque la communication est tablie,
seule une communication unidirectionnelle est ncessaire : Bernard na pas parler
Alice. Alice envoie Bernard un message pour mettre en gage le bit et un message
pour le rvler.
La chane alatoire de Bernard nest pas ncessaire car le message de mise en gage
d Alice est le rsultat d une fonction sens unique. Alice ne peut pas tricher et trouver
un autre message (Ri,R'2,b'), tel que H(Ri,R'2,b') = H(R\,R 2 ,b). Si Alice nenvoyait
pas Ri, alors elle pourrait changer les valeurs de Ri et R^ et ainsi changer la valeur
de b. Le fait que Bernard connaisse dj R\ len empche.
(b) soit
Quand vient le moment pour Alice de rvler son bit, le protocole se poursuit ainsi :
3 Alice envoie Bernard le germe alatoire.
4 Bernard effectue l tape 2 du protocole pour vrifier quAlice tait honnte.
Si la chane alatoire de Bernard est assez longue, et que le gnrateur pseudo-alatoire
de bits est imprvisible, Alice na aucun moyen pratique de tricher.
f.10
95
Pts
Les chanes de mise en gage quAlice envoie Bernard sont parfois appeles pts. Un
pt est une suite de bits, bien que les protocoles nutilisent pas cette proprit. Comme
le dit Gilles B r a s s a r d : Ils pourraient tout aussi bien tre faits de poussire dtoile
(ou de photons polariss!) si cela s avrait utile. [239] Les pts ont les proprits
suivantes :
- Alice peut mettre un pt en gage. Ce faisant, elle sengage quant la valeur
dun bit spcifique.
- Alice peut ouvrir nimporte quel pt quelle a mis en gage. Quand elle ouvre un
pt, elle peut convaincre Bernard de la valeur du bit quelle a mis en gage lors
quelle a mis le pt en gage. Donc, elle ne peut pas ouvrir un pt indiffremment
la fois comme un 0 ou comme un 1.
- Bernard ne peut rien apprendre sur la mthode pour ouvrir un pt non encore
ouvert et mis en gage par Alice. C est vrai mme aprs quAlice a ouvert dautres
pts.
- Les pts ne contiennent pas dautre information que le bit mis en gage par Alice.
Les pts eux-mmes ainsi que les procds de mise en gage et d ouverture ne sont
en aucune faon corrls avec d autres secrets quAlice pourrait vouloir cacher
Bernard.
4.10
Chapitre 4
96
Protocoles intermdiaires
4-10
97
3 Bernard, qui ne peut lire aucun des deux messages, choisit lun dentre eux au
hasard (il peut lancer une pice de monnaie, engager un ordinateur malfaisant
pour tenter en vain de dcider lequel choisir, ou mme consulter son horoscope
chinois - peu importe). Il chiffre celui quil a choisi avec sa clef et envoie le
rsultat Alice.
E b (E a ( M ) )
A4 reprsente donc soit A4i soit A42.
4 Alice qui ne peut pas lire ce message, le dchiffre avec sa clef et envoie le rsultat
Bernard.
D a {E b (E a ( M) ) )
E b ( M i ) si M = M !
E b {A42) si A4 A42
5.
Le bit de poids faible constitue parfois un mauvais ch oix car il arrive q u il soit plus facile
calculer.
Chapitre 4
98
Protocoles intermdiaires
Mi
M 2 si M = M 2
si M = M i
6 Alice lit le rsultat du lancer et vrifie que la chane alatoire est correcte.
7 Alice et Bernard rvlent tous les deux leurs clefs de telle manire quils
puissent vrifier que ni lun ni lautre na trich.
j .l l
Poker laveugle
99
4.11
Poker laveugle
3 Bernard, qui ne peut lire aucun des messages, en choisit 5 au hasard. R les
chiffre avec sa clef et les renvoie Alice.
E B(EA( M n))
4 Bernard envoie les 47 autres messages Christine.
E A( M n)
5 Christine, qui ne peut lire aucun des messages, en choisit 5 au hasard. Elle les
chiffre avec sa clef et les renvoie Alice.
E c (EA( M n))
Chapitre 4
100
Protocoles intermdiaires
6 Alice, qui ne peut lire aucun des messages qui lui sont renvoys, dchiffre ceuxci avec sa clef et envoie les rsultats Bernard ou Christine (en fonction de
leur provenance).
D A(EB(EA( M n))) = E B( M n)
D A(Ec (EA( M n))) = E c ( M n)
7 Bernard et Christine dchiffrent les messages avec leurs clefs respectives pour
dcouvrir leurs donnes.
D B(EB ( M n)) M n
Dc {Ec { M n)) = M n
8 Christine choisit 5 autres messages parmi les 42 restant. Elle les envoie Alice.
E A( M n)
AAn
10 A la fin du jeu, Alice, Bernard et Christine dvoilent leurs jeux et leur clefs
afin que chacun puisse vrifier quil ny a pas eu tricherie.
4-11
Poker laveugle
101
table virtuelle avec deux autres joueurs qui ne rvlent jamais leur main quand lun
des deux est le donneur (Alice, dans le protocole ci-dessus), arrtez de jouer.
Il faut noter que si cela constitue une thorie intressante, le raliser sur un ordinateur
est une tche ardue. Une ralisation sur des stations de travail Sparc avec trois joueurs
(un par station) prend huit heures pour mlanger les cartes [515].
Chapitre 4
102
Protocoles intermdiaires
4.12
Alice fait partie de la socit Clique dimport export. Il lui arrive de rencontrer les
autres membres dans des restaurants mal clairs et de chuchoter des secrets droite
gauche. Le problme est que le restaurant est si mal clair quelle a du mal voir si
la personne lautre bout de la table est aussi membre.
La socit Clique peut opter pour plusieurs solutions. Chaque membre peut porter
une liste des membres. Cela pose deux problmes. Premirement, tout le monde doit
transporter une importante base de donnes, et deuximement, ils doivent surveiller
de prs leurs listes des membres. D un autre ct, un secrtaire.de confiance pourrait
distribuer des cartes didentit signes numriquement. Ceci prsente lavantage sup
plmentaire de permettre aux tranger de vrifier lappartenance d un membre (pour
des remises chez lpicier par exemple), mais cela requiert un secrtaire de confiance.
Aucun membre de la socit Clique ne mrite une telle confiance.
Une solution originale consiste utiliser quelque chose du nom de a ccu m u lateu r
sens unique [126]. C est, une sorte de fonction de hachage sens unique, la diffrence
prs que c est, commutatif. C est dire quil est, possible d appliquer cette fonction
la liste des membres dans nimporte quel ordre en obtenant toujours la mme valeur.
On peut mme rajouter des membres toujours sans se soucier de lordre.
Aussi, voici ce quAlce fait. Elle calcule laccumulation de tous les noms des membres
except le sien. Ensuite, elle stocke le rsultat avec son nom. Bernard, ainsi que tous
les autres membres, font de mme. Maintenant, quand Alice et Bernard se rencontrent
dans le restaurant, mal clair, ils changent simplement leurs valeurs d accumulation et
leurs noms. Alice vrifie alors que lajout du nom de Bernard sa valeur daccumulation
4-13
103
produit le mme rsultat que lajout du nom d Alice sa propre valeur daccumulation.
Bernard fait de mme. Chacun sait alors que lautre est bien un membre. De plus, aucun
des deux na la moindre ide des identits des autres membres.
Encore mieux, on peut donner toutes les valeurs daccumulation des personnes ext
rieures. Alice peut alors prouver son appartenance la socit une personne extrieure
(peut-tre pour obtenir une remise au magasin local de contre espionnage) sans que la
personne extrieure puisse deviner la liste entire des membres.
Pour ajouter de nouveaux membres, il suffit denvoyer leurs noms aux autres.
Malheureusement, le seul moyen d effacer un membre et d envoyer tout le monde
une nouvelle liste et de recalculer les valeurs daccumulation. Mais la socit Clique
na besoin de faire cela que si un membre dmissionne; les membres morts peuvent
rester sur la liste. (Aussi trange que cela puisse paratre, cela na jamais pos de
problme).
Cest une ide intelligente qui entre en application chaque fois que vous dsirez les
mmes effets que les signatures numrique sans avoir recourt un signeur centralis.
4.13
4.14
Dpt de clefs
M lC A U
104
Chapitre 4
Protocoles intermdiaires
4-If
Dpt de clefs
105
Si une autorit judiciaire autorise une coute, alors chaque dpositaire remet son mor
ceau au C D C . Le C D C reconstruit alors la clef prive. Avant cela, ni le C D C , ni
aucun des dpositaires ne pouvait reconstruire individuellement la clef prive : tous les
dpositaires sont requis pour reconstruire la clef.
Tout algorithme clef publique peut tre rendu quitable de cette manire. Certains
algorithmes particuliers sont dcrits dans le paragraphe 23.10. Larticle de M lC A L i
[1091, 1090] prsente des mthodes pour combiner cela avec un schma seuil, de
manire quun sous-ensemble des dpositaires (par exemple, 3 parmi 5) soit ncessaire
pour reconstruire la clef prive. Il montre aussi comment combiner cela avec un transfert
inconscient (voir 5.5) afin que les dpositaires ne puissent pas connatre lidentit du
propritaire de la clef prive reconstruite.
Les cryptosystmes quitables ne sont pas parfaits. Un criminel peut exploiter le sys
tme en utilisant un canal subliminal (voir 4.2) pour insrer une autre clef secrte
dans son morceau. De cette manire, il peut communiquer de faon sre avec quelquun
dautre en utilisant cette clef subliminale sans avoir se soucier dune mise sur coute
judiciaire. Un autre protocole appel d p t d e clefs s ret in tgre rsoud ce
problme [957, 834]. Lalgorithme et le protocole seront dcrits au paragraphe 23.10.
106
Chapitre 4
Protocoles intermdiaires
obtenir ses clefs le fasse dans le cadre de la loi et avec responsabilit. Imaginez une
attaque terroriste massive New York; quelles seraient les limites dpasses par la
police en rpercussion?
Il est dur d imaginer des plans de dpts de chiffrement fonctionnant tels que ses parti
sans le voudraient, c est--dire sans aucune sorte de pression lgale. La prochaine tape
vidente est de bannir lutilisation des chiffrements non dposs. C est probablement la
seule manire de rendre un systme commercial lucratif, et cest certainement la seule
manire de les faire utiliser par des criminels et terroristes techniquement trs quips.
Il nest pas facile de dire sil sera ais de faire disparatre la cryptographie non dpo
se, ou si cela affectera la cryptographie en tant que discipline acadmique. Comment
puis-je rechercher des programmes dalgorithmes cryptographiques sans avoir en ma
possession du matriel de chiffrement non dpos; aurai-je besoin d une autorisation
spciale ?
Il y a des questions lgales. Les dpts de clefs engageront-ils la responsabilit des uti
lisateurs sil y avait une fuite de donnes chiffres? Si le gouvernement amricain essaie
de protger les agences de dpts, cela ne voudrait-il pas dire que c est lutilisateur qui
sera systmatiquement en faute si le secret devait tre compromis soit par lutilisateur
soit par lagence de dpts?
Que se passerait-il si une grande entreprise de dpts de clefs, gouvernementale ou
civile, se faisait voler toutes ses clefs mises en dpt? Que se passerait-il si le gou
vernement amricain essayait d touffer laffaire? Cela aurait un indniable effet sur la
volont des utilisateurs continuer utiliser le dpt de clefs. Si ce nest pas volontaire,
quelques scandales de ce genre auraient pour effet d augmenter la pression politique
pour soit le rendre volontaire, soit rajouter des rgles complexes cette industrie.
Ce qui serait encore plus dangereux serait un scandale rendu publique o un membre
de lopposition ladministration en place, ou un vif opposant aux agences de ren
seignement ou de police, aurait t sous surveillance pendant plusieurs annes. Ceci
pourrait faire monter un sentiment hostile au chiffrement mis sous dpt.
Si les signatures de clefs sont comme les chiffrement de clefs mises sous dpt, il y a
alors d autres dbouchs. Peut-on accepter des autorits quelles utilisent des signatures
de clefs pour mener des oprations contre des criminels? Est-ce-que lauthenticit des
signatures bases sur des clefs dposes sera reconnue en cour de justice? Quels recours
auront les utilisateurs si les autorits utilisent leurs signatures de clefs pour signer des
contrats dfavorables, pour aider une industrie tatise, ou pour voler de largent?
La globalisation de la cryptographie amne toute une srie de questions. Est-ce-que les
politiques de dpts de clefs seront compatibles entre diffrentes nations? Est-ce-que les
entreprises multi-nationales devront dposer leurs clefs sparment dans chaque pays
afin de respecter les diffrentes lgislations? Sans un minimum de compatibilit, un
des avantages supposs des dpts de clefs (utilisation internationale de chiffrement)
disparat.
Que se passerait-il si des pays ne faisaient pas confiance en la scurit des agences
de dpts de clefs? Comment les utilisateurs feraient-ils des affaires? Leurs contrats
digitaux seront-ils confirms par la cour, ou est-ce-que le fait que leur signature de
clef soit sous dpt aux Etats-Unis leur permet de dire quen Suisse quelquun d autre
aurait pu signer ce contrat lectronique ? Y aura-t-il des dispositions spciales pour les
personnes faisant des affaires dans de tels pays?
Et propos de lespionnage industriel, il ny a aucune raison de croire que les pays
4-14
Dpt de clefs
107
Chapitre 5
Protocoles avancs
5.1
Chapitre 5
110
Protocoles avancs
Patricia connat le secret de la grotte. Elle veut le prouver Victor mais elle ne veut
pas lui rvler la formule magique. Voici comment elle le convainc :
1 Victor se place au point A.
2 Patricia entre dans la grotte jusquau point C ou jusquau point D.
3 Aprs que Patricia a disparu dans la grotte, Victor va jusquau point B .
4 Victor crie Patricia en lui demandant :
(a) soit de sortir par le tunnel de gauche ;
(b) soit
5.1
111
passages et Victor lui fait une requte alatoire. Si Victor a demand le bon passage,
tout va bien; sinon, ils coupent cette squence du film final. De quelque manire que
ce soit, Victor peut obtenir un film avec exactement la mme squence d vnements
que dans une preuve relle o Patricia connat la formule magique.
Cela prouve deux choses. Premirement, Victor ne peut pas convaincre un troisime
parti de ta validit de la preuve. Deuximement, le protocole a une divulgation nulle.
Dans le cas o Patricia ne connaissait pas la formule magique, Victor napprendra
videmment rien en regardant le film. Mais comme il ny a pas de moyen de distinguer
un enregistrement rel d un faux, Victor ne peut rien apprendre de la preuve relle,
elle a forcment une divulgation nulle.
La technique utilise dans ce protocole est appele couper-et -choisir cause de sa
similitude avec le protocole classique pour diviser quelque chose quitablement :
1 Alice coupe en deux.
2 Bernard choisit une des moitis pour lui-mme.
3 Alice prend la moiti restante.
Il est dans lintrt d Alice de partager honntement ltape 1, car Bernard peut
choisir sa part ltape 2. Michael R a b i n est le premier avoir utilis la technique
couper-et-choisir en cryptographie [1293]. Les concepts de p r o to c o le in te ra ctif
et de divulgation nulle furent formaliss par la suite [628, 629].
La technique couper-et~choisir marche parce que Patricia ne peut pas deviner coup
sr le ct par lequel Victor lui demandera de sortir. Si elle ne connat pas le secret,
elle ne peut ressortir que par o elle est entre. Elle a 50 % de chance de deviner le
ct par lequel Victor lui demandera de sortir au tour suivant, elle a donc 50 % de
chance de pouvoir le duper. Les chances de pouvoir le duper en deux tours sont de
25 % et les chances de pouvoir le duper en n tours n fois sont de une sur 2n . Aprs
16 tours, Patricia a une chance sur 65 536 de duper Victor chaque fois. Victor peut
raisonnablement conclure que si les 16 preuves de Patricia sont toutes valables, alors
elle doit connatre la formule magique pour ouvrir la porte entre C et D. (Lanalogie
avec la grotte nest pas parfaite. Patricia peut simplement prendre un des tunnels et
ressortir par lautre ; la technique couper-et-choisir n est pas ncessaire. Toutefois, la
preuve mathmatique en a besoin.)
Faites lhypothse que Patricia connat une information et que cette information est la
solution d un problme trs difficile. Le protocole de base consiste en plusieurs tours :
1 Patricia utilise son information et un nombre alatoire pour transformer son
problme en un autre problme trs difficile qui est isomorphe la fonction
initiale. Elle utilise alors son information et le nombre alatoire pour rsoudre
le nouveau problme difficile.
3 Patricia dvoile Victor le nouveau problme trs difficile. Victor ne peut pas
utiliser ce nouveau problme pour dduire la moindre information concernant,
le problme initial ou sa solution.
Chapitre 5
112
Protocoles avancs
(b) soit
5 Patricia s excute.
6 Patricia et Victor effectuent les tapes 1 5 un nombre n de fois.
Vous souvenez-vous de la camra dans lpisode de la cave? On peut faire la mme
chose ici. Victor peut transcrire tous ses changes entre lui et Patricia. Il ne peut pas
utiliser la transcription pour convaincre Christine, car il peut sentendre avec Patricia
pour construire une simulation qui maquille le savoir de Patricia. Cet argument prouve
que le protocole est divulgation nulle.
Les mathmatiques sous-jacentes ce type de preuve sont compliques. Les problmes
et les transformations alatoires doivent tre choisis judicieusement de manire que
Victor nobtienne pas la moindre information concernant la solution du problme ini
tial, mme aprs plusieurs itrations du protocole. Tous les problmes difficiles ne
peuvent pas tre utiliss pour des preuves divulgation nulle mais c est, le cas pour
nombre d entre eux.
Isomorphisme de graphes
Un exemple permettra de mieux illustrer ce concept. Celui-ci vient de la thorie des
graphes [621, 624]. Un graphe est un rseau de lignes connectant des points. Si deux
graphes sont identiques mis part les noms des tiquettes, on dit quils sont iso
m orph es. Pour des graphes extrmements grands, il peut falloir des sicles de calcul
pour vrifier sils sont isomorphes; c est lun des problmes difficiles abords au para
graphe 11.1.
Faites lhypothse que Patricia connat lisomorphisme entre deux graphes G i et GV
Le protocole suivant convainc Victor que Patricia connat bien cet isomorphisme :
1 Patricia permute alatoirement les nuds de G\ pour obtenir un autre graphe.
H qui est isomorphe G i. Comme Patricia connat lisomorphisme entre G\ et
H , elle connat aussi lisom.orphisme entre H et G'2 Pour toute autre personne,
trouver l isomorphisme entre G'i et H ou entre G'2 et H , est aussi difficile que
de trouver lisomorphisme entre G\ et G 2 2 Patricia envoie H Victor.
3 Victor demande Patricia:
{a) soit de lui prouver que G\ et H sont isomorphes ;
(b) soit
4 Patricia s excute :
{a) soit elle prouve que Gi et H sont isomorphes sans prouver que G 2 et H
sont isomorphes ;
5.1
11S
Circuit hamiltonien
Une variante de cet exemple fut prsente pour la premire fois par Manuel B l u m [133].
Patricia connat un chemin ferm continu, suivant les lignes, et qui passe par tous les
points une fois et une seule. Un tel chemin est appel circu it ham iltonien .
Trouver un tel chemin est un autre problme difficile. Patricia dispose de cette
information quelle a certainement obtenue en construisant le graphe partir d un
certain circuit hamiltonien et elle veut convaincre Victor quelle connat un tel che
min.
Patricia connat le circuit hamiltonien du graphe G. Victor connat G mais pas le
circuit hamiltonien. Patricia veut prouver quelle connat ce circuit hamiltonien sans
le dvoiler. Voici comment le protocole se droule :
1 Patricia permute alatoirement le graphe G. Elle dplace les points et change
leurs tiquettes pour former un nouveau graphe, H . Comme G et H sont topologiquement isomorphes (cest--dire, des graphes identiques), si elle connat
un circuit hamiltonien de G, elle peut alors facilement trouver un circuit hamil
tonien de H . Si elle navait pas cr H elle-mme, dterminer lisomorphisme
entre les deux graphes aurait t un problme autrement plus difficile ; cela peut
prendre des annes de temps de calcul. Elle chiffre ensuite H et obtient H ' 1.
Chapitre 5
U4
Protocoles avancs
(b) soit
5.1
115
Des protocoles ont t invents pour des preuves divulgation nulle non interactives
[1380, 204, 1381, 207]. Ces protocoles ne ncessitent aucune interaction; Patricia peut
les publier et ainsi apporter la preuve quiconque se donne la peine de la vrifier.
Le protocole de base est similaire celui des preuves divulgation nulle en parallle,
mais une fonction sens unique prend la place de Victor:
1 Patricia utilise son information et n nombres alatoires pour transformer son
problme difficile en n problmes isomorphes diffrents. Elle utilise ensuite son
information et les nombres alatoires pour rsoudre les n nouveaux problmes
difficiles.
4 Patricia prend les n bits engendrs ltape S. Pour chaque ie nouveau pro
blme difficile suivant que le ie bit vaut 0 ou 1 elle excutera lune des
deux tapes suivantes :
(a.)sil vaut 0 , elle prouve que lancien et le nouveau problmes sont iso
morphes ;
5 Patricia publie toutes les mises en gage de ltape 2 ainsi que les rponses de
ltape 46
Victor, Christine, ou toute autre personne intresse, vrifie que les tapes 1
5 ont t excutes correctement.
Cest tonnant : Patricia publie des donnes qui ne contiennent pas la moindre infor
mation sur son secret et pourtant ces donnes peuvent tre utilises pour convaincre
nimporte qui de lexistence du secret. On peut aussi utiliser le protocole pour des
schmas de signature numrique en appliquant la fonction de hachage sens unique
la fois aux messages initiaux et au message signer.
Cela marche parce que la fonction de hachage sens unique se comporte comme un
gnrateur alatoire non biais de bits. Pour que Patricia puisse tricher, elle devrait
tre capable de prdire le rsultat de la fonction de hachage sens unique. Rappelezvous que si elle ne connat pas la solution du problme difficile, elle ne peut rpondre
qu un des dfis de ltape 4 mais pas aux deux. Si elle arrivait savoir d avance
ce que la fonction de hachage sens unique donnera, elle pourrait tricher. Toutefois,
Patricia ne dispose daucun moyen pour forcer la fonction de hachage sens unique
produire certains bits, ou pour deviner ceux qui seront produits. La fonction sens
unique remplace en fait Victor dans le protocole, en choisissant au hasard un des deux
dfis ltape 4.
Pour un protocole non interactif, il doit y avoir bien plus ditrations dfi-rponse .
Patricia, et non Victor, choisit les problmes difficiles laide de nombres alatoires.
Elle peut prendre diffrents problmes, donc diffrents vecteurs de bits de mise en gage,
Chapitre 5
116
Protocoles avancs
jusqu ce que le rsultat de la fonction de hachage sens unique lui convienne. Pour
le protocole interactif, 1 0 itrations sont suffisantes (cela donne une probabilit de 1
chance sur 2 10 = 1024 que Patricia puisse tricher). Pour le protocole non interactif ce
nest pas suffisant. Rappelons que Martin peut toujours relever un des deux dfis
ltape 4. Il peut essayer de deviner les dfis quil devra relever ltape 4, effectuer
les tapes 1 3, et regarder sil a bien devin. Dans le cas contraire, il peut rpter
lopration jusqu un coup de chance. Un ordinateur permet aisment de faire 1024
tentatives. Pour se prmunir de cette attaque exhaustive, les protocoles non interactifs
requirent 64 itrations, ou mme 128, pour tre valables.
C est l tout lintrt dutiliser une fonction de hachage sens unique: Patricia ne peut
pas prdire la sortie de la fonction car elle ne peut pas prdire son entre. Les mises en
gage utilises en entre ne sont connues quaprs avoir rsolu les nouveaux problmes.
Gnralits
B l u m a prouv que tout thorme mathmatique peut tre converti en un graphe tel
que la preuve du thorme est quivalente un circuit hamiltonien. On trouvera dans
[623] une preuve du cas gnral statuant que tout problme NP admet une preuve
divulgation nulle si lon admet lexistence des fonctions de hachage sens unique et donc
de bons algorithmes de chiffrement. De cette faon toute preuve mathmatique peut
tre convertie en une preuve divulgation nulle. Grce cette technique, les chercheurs
peuvent prouver au monde entier quils connaissent la preuve dun thorme particulier
sans rien rvler de celle-ci. En effect, B l u m aurait pu publier ses rsultats sans les
dvoiler.
On distingue aussi les preu ves d iv u lg a tion m inim ale. Dans une preuve divul
gation minimale, les proprits suivantes sont vrifis :
- Patricia ne peut pas tromper V ictor: si Patricia ne connat pas la preuve, ses
chances de convaincre Victor sont ngligeables.
Victor ne peut pas tromper Patricia. Il na pas le moindre indice concernant la
preuve, part le fait que Patricia connat la preuve. En particulier, Victor ne peut
faire la dmonstration personne sans d abord en faire la preuve par lui-mme
partir de zro.
Pour les protocoles de preuve divulgation nulle, une proprit supplmentaire doit
tre vrifie :
- Victor napprend rien de Patricia quil ne puisse apprendre par lui-mme mis
part le fait que Patricia connat le secret.
Il y a une diffrence notable entre les preuves divulgation minimale et les preuves
divulgation nulle2. Ces concepts ont t prsents dans [628, 621, 624]. Des thories
plus pousses, bases sur des concepts mathmatiques diffrents ont t dveloppes
indpendamment dans [244, 323, 243].
2.
C e sujet dpasse le cadre de ce livre mais le lecteur intress pou rra faire b o n usage de la
bibliographie la fin de cet ouvrage.
5.2
117
- In u tile .
Au fil des annes, pas mal de recherches ont t effectues, tant sur le plan thorique
que sur le plan pratique, sur les preuves divulgation minimale et divulgation nulle.
Mike B u r m e s t e r et Yvo D e s m e d t ont invent les p r e u v e s i n t e r a c t i v e s d i f f u s e s ,
o un plaideur peut diffuser une preuve interactive divulgation nulle un grand
groupe de vrificateurs [284]. Une horde de cryptographes a prouv que tout ce qui
peut tre prouv par une preuve interactive peut ltre aussi laide d une preuve
interactive divulgation nulle [755, 122].
Un bon article gnral sur le sujet est [550]. Pour des dtails mathmatiques suppl
mentaires, des variantes, des protocoles et des applications consultez [592, 621, 244,
323, 623, 123, 245, 1536, 1561, 242, 593, 619, 511, 594, 217, 113, 219, 833, 104, 950,
624, 480, 617, 620, 218, 1379, 76]. On a crit normment sur le sujet.
5.2
Dans le monde rel, nous utilisons des objets physiques pour prouver notre identit :
carte didentit, passeport, permis de conduire, cartes de crdits, etc. Les documents
contiennent quelque chose qui les rattache une personne : une photo, gnralement,
mais ce pourrait tout aussi bien tre une empreinte digitale, une empreinte rtinienne
ou une radiographie dentaire. Ne serait-ce pas intressant de fane la mme chose nu
mriquement?
Lutilisation des preuves divulgation nulle comme preuve d identit fut propose pour
la premire fois par Uriel F e i g e , Amos F i a t et Adi S h a m i r [568, 569]. La clef prive
dAlice devient fonction de son identit . Grce une preuve divulgation nulle, elle
prouve quelle connat sa clef prive et ainsi par la mme occasion prouve son identit.
On trouvera des algorithmes ddis cela au paragraphe 23.11.
Cette ide est vraiment efficace. Elle permet aux gens de prouver leur identit sans
aucune vidence matrielle. Toutefois, ce nest pas achev. Voici quelques exemples
dabus.
3. C est le cas des problm es du circuit ham iltonien et de l isom orphism e de graphes.
4. C est le cas de la preuve en parallle.
118
Chapitre 5
Protocoles avancs
5.2
119
Quand David pose des questions Christine dans le cadre du protocole de preuve
divulgation nulle, Christine les relaie par radio Alice, qui y rpond elle-mme.
Christine donne ces rponses-l David. En ralit, Alice prouve son identit David,
avec Christine faisant loffice de voie de communication. Quand le protocole se termine,
David pense que Christine est Alice et la laisse entrer dans le pays. Trois jours plus
tard, Christine commet un acte terroriste.
Propositions de solutions
Les supercheries des mafiosi et des terroristes sont toutes deux ralisables parce que
les conspirateurs communiquent par une liaison radio secrte. Un moyen dviter ces
fraudes consisterait exiger que toutes les identifications aient lieu dans une cage
de Faraday, qui bloque toutes les missions lectromagntiques. Dans lexemple des
terroristes, cela garantirait David que Christine ne reoit pas ses rponses dAlice.
Dans lexemple des mafiosi, Bernard pourrait construire une fausse cage de Faraday
dans son restaurant mais le bijoutier David en aurait une vraie : Bernard et Christine ne
pourraient pas communiquer. Pour rsoudre le problme du grand matre aux checs,
il faudrait, obliger Alice reter assise jusqu la fin de la partie.
Thomas B e t h et Y vo D e s m e d t proposent une autre solution qui utilise des horloges
prcises [155]. Si chaque tape du protocole doit se drouler un instant donn prcis,
les conspirateurs nauront pas de temps pour communiquer. Dans le cas de lhistoire des
grands matres aux checs, si chaque coup doit tre jou quand laiguille des secondes
passe par 0, alors Alice naura pas le temps de courir d une pice lautre. Bernard et
Christine nauront pas le temps de se passer les questions et les rponses.
Chapitre 5
120
Protocoles avancs
Le prt de passeports
Alice veut aller en Argentine, mais le Gouvernement refuse de lui donner un visa.
Christine propose de louer son identit Alice (Bernard stait propos en premier
mais cela posait des problmes vidents). Christine vend sa clef prive Alice et Alice
part en Argentine prtendant tre Christine.
Non seulement Christine a t paye pour son identit mais encore elle dispose main
tenant d un alibi parfait. Elle commet un crime pendant quAlice est en Argentine.
Christine a prouv son identit en Argentine : comment pourrait-elle commettre un
crime chez elle?
Bien sr, Alice est libre de commettre des crimes galement. Elle les commet avant son
dpart ou aprs son retour, de prfrence prs du domicile de Christine. D abord, elle
sidentifie comme Christine (elle a la clef prive de Christine, c est donc facile pour elle),
ensuite elle commet un crime et senfuit. La police vient alors apprhender Christine.
Christine prtendra quelle a lou son identit Alice mais qui pourrait croire une
histoire aussi insense?
Le problme est quAlice ne prouve pas effectivement son identit, elle prouve quelle
possde une information secrte. C est le lien entre cette information et la personne
qui est fauss. La solution des bbs infalsifiables viterait ce genre de fraudes, de
mme quun tat policier dans lequel chaque citoyen devrait trs frquemment prouver
son identit ( la fin de chaque jour, chaque coin de rue, etc.). Les mthodes de
biomtrie empreintes digitales, images rtiniennes, empreintes vocales, et ainsi de
suitepeuvent aider rsoudre le problme.
5.3
Signatures en aveugle
Une caractristique essentielle des protocoles de signature numrique est que le signa
taire d un document sait toujours ce quil signe. C est trs bien, sauf que nous voulons
linverse.
Il y a des situations o nous voulons que des gens signent un document sans jamais
en voir le contenu. Ce n est pas un protocole trs utile en tant que tel, mais nous
lutiliserons plus tard pour raliser des protocoles de vote et de paiement numrique. Il
y a moyen pour le signataire de presque savoir ce quil signe, sans savoir exactement.
Mais commenons par le dbut.
5.3
Signatures en aveugle
121
il ne fait que certifier que le document a t enregistr devant notaire une certaine
date. Voil ce quoi il consent :
1 Alice prend le document et le multiplie par une valeur alatoire. Cette valeur
alatoire est appele f a c t e u r d e c a m o u f l a g e .
2
Signatures en aveugle
Avec le protocole de signature en aveugle total, Alice peut faire signer nimporte quoi
par Bernard : Bernard doit un million de francs Alice , Bernard est le pre du
premier-n dAlice , Bernard doit un sachet de drages Alice . Les possibilits
sont infinies. Nul besoin dinsister, ce protocole nest pas particulirement utile.
Il existe toutefois un moyen pour Bernard de savoir ce quil signe, tout en maintenant
les proprits intressantes de la signature en aveugle. Le cur de ce protocole est la
Chapitre 5
122
Protocoles avancs
ne peut pas simplement distribuer des documents signs. Les agents ne veulent pas
envoyer leur nom d emprunt lagence: lennemi peut avoir investi lordinateur de
lagence. En outre, lagence ne veut pas signer en aveugle nimporte quel document que
lui donne lagent Un agent malin pourrait soumettre un message tel que: L agent
(nom) est retrait et a droit une pension dun million de francs par an. Sign:
Monsieur le Prsident. Dans ce cas un protocole de signature en aveugle est utile.
Faisons lhypothse que chaque agent a n noms d emprunt possibles, quil a choisi lui-
mme et que personne d autre ne connat. Supposons galement quil importe peu aux
agents sous quel nom demprunt ils obtiennent limmunit diplomatique. Enfin admet
tons que lordinateur de lagence sappelle Ordinateur Secret Central de l Agence de
Renseignements (O S C A R en dautres termes).
1 L agent Bernard prpare n documents, chacun utilisant un nom demprunt dif
frent, garantissant cet agent limmunit diplomatique.
5-4
123
Brevets
C h a u m a pos des brevets sur diffrents types de signatures en aveugle (voir le ta
bleau 5.1).
5.4
Alice veut envoyer un message confidentiel Bernard. Elle ne veut se procurer sa clef
publique dans un serveur de clefs; elle ne veut pas avoir vrifier la signature d un
troisime parti de confiance avec le certificat de sa clef publique; et elle ne veut mme
Chapitre 5
124
Numro
4 759 063
4 759 064
4 914 698
4 949 380
4 991 210
ab
Protocoles avancs
Date
Titre
19/7/88 Systmes
19/7/88 Systmes
3 /3 /9 0 Systmes
14/8/90 Systmes
5/2/91 Systmes
de
de
de
de
de
signature
signature
signature
signature
signature
en
en
en
en
en
aveugle
aveugle
aveugle
aveugle
aveugle
[324]
sans anticipation [325]
avec aperu [329]
avec retour de valeur [331]
imprvisible [334]
pas enregistrer la clef publique de Bernard sur son propre ordinateur. Elle veut juste
lui envoyer un message confidentiel.
Les c r y p t o s y s t m e s b a s e d i d e n t i f i c a t i o n 5 permettent de rsoudre ce problme
[1429]. La clef publique de Bernard est base sur son nom et son addresse lectronique
(ou encore son numro de tlphone, ou son addresse en ville, ou quoi que ce soit
dautre). Avec la cryptographie clef publique classique, Alice a besoin d un certificat
sign numriquement qui lie lidentit de Bernard sa clef publique. Avec la cryptogra
phie clef publique base d identification, la clef publique de Bernard est son identit.
C est une ide vraiment sduisante, lide idale dont on peut rver pour un systme
de courrier lectronique: si Alice connat laddresse de Bernard, elle peut lui envoyer
du courrier en toute scurit. Cela rend la cryptographie aussi transparente quil est
possible.
Le sytme est fond sur Ivan qui fournit des clefs prives bases sur lidentit. Si jamais
la clef dAlice est compromise, elle doit changer un aspect de son identit pour avoir
une autre clef. Le problme le plus srieux est d laborer un systme qui ne laisse pas
la possibilit des utilisateurs malhonntes de sunir pour crer une clef.
Une grande part de travail a t faite sur les mathmatiques sous-jacentes la plupart
au Japon qui savrent affreusement compliques quand il sagit de rendre le sytme
sr. De nombreuses solutions parmi celles proposes impliquent que Ivan choisisse un
nombre alatoire pour chaque utilisateur ce qui mon avis vient lencontre de lide
mme du systme. Certains algorithmes dcrits aux chapitres 19 et 20 peuvent sutiliser
base d identification. Pour les dtails algorithmiques et cryptographiques, se reporter
[198, 1429, 891, 1030, 1519, 1224, 1205, 909, 693, 675, 1138, 1031, 1520, 1544, 1552,
6 8 , 1218, 318, 319, 1553, 1547, 1551, 944, 1521, 750, 1238]. On trouvera un algorithme
qui ne repose pas sur des nombres alatoires dans [1043]. Le systme introduit dans
[1554, 1555, 1511] rsiste aux attaques clefs publiques choisies, de mme que celui
prsent dans [1550, 1548, 1549, 1003, 378, 1546]. Honntement, rien de ce qui a t
propos jusqu prsent nest la fois ralisable et sr.
5.5
Transfert inconscient
5.5
Transfert inconscient
125
faire des heures supplmentaires et il va rater son poker laveugle hebdomadaire avec
Alice.)
Alice passe alors par l :
Il se trouve que je connais un facteur du nombre dit Alice, et je te le
donnerai pour cent francs. Cela fait un franc le bit. Pour montrer quelle
est srieuse, elle utilise un schma de mise en gage de bits et met en gage
chaque bit individuellement.
Bernard est intress, mais il na que 50 francs. Alice nest pas prte
abaisser son prix et elle propose de vendre Bernard la moiti des bits
pour la moiti du prix. Cela t vitera pas mal de boulot , dit-elle.
Mais comment puis-je tre sr que ton nombre est bien un facteur de
n ? Si tu me montres le nombre et que tu me laisses vrifier que c est un
facteur, alors je serai daccord avec tes conditions , dit Bernard.
Alice na pas lintention de le suivre dans cette voie, ils sont donc dans
une impasse. Alice ne peut pas convaincre Bernard que son nombre est un
facteur de n sans le rvler et Bernard nest pas prt payer 50 bits dun
nombre qui pourrait bien lui tre inutile.
Cette histoire emprunte Joe K i l i a n [832], introduit le concept de t r a n s f e r t i n
Alice transmet un groupe de messages Bernard. Bernard reoit un sousensemble de ces messages, mais Alice ignore quels sont ceux quil reoit. Cependant,
cela ne rsout pas tout fait le problme prcdent. Aprs que Bernard a reu une
moiti alatoire des bits, Alice doit encore le convaincre que les bits quelle envoie
constituent un facteur de n en utilisant une preuve divulgation nulle.
Dans le protocole suivant, Alice va envoyer Bernard un des deux messages. Bernard
en recevra un et Alice ne saura pas lequel.
c o n s c ie n t .
Alice engendre deux paires clef publique clef prive , soit 4 clefs au total.
Elle envoie les deux clefs publiques Bernard.
2 Bernard choisit une clef pour un algorithme clef secrte (le DES par
exemple). Il choisit une des clefs publiques dAlice alatoirement et chiffre sa
clef DES avec cette dernire. Il envoie la clef chiffre Alice sans lui dire
quelle clef publique il a utilise pour la chiffrer.
3 Alice dchiffre la clef de Bernard avec ses deux clefs prives. Dans un des cas
elle utilise la bonne clef et dchiffre avec succs la clef DES de Bernard. Dans
lautre cas, elle utilise la mauvaise clef et nengendre rien dautre quune suite
de bits sans sens qui nanmoins nen ressemble pas moins une clef DES
quelconque. Comme elle ne connat pas le texte en clair correct, elle ignore
quoi est quoi.
4 Alice chiffre ses deux messages chacun avec une des deux clefs DES quelle a
engendr ltape prcdente (une vraie et une sans sens) et envoie les deux
rsultats Bernard.
5 Bernard reoit lun des messages dAlice chiffr avec la bonne clef DES et
lautre message avec une clef factice. Bernard utilise sa clef DES pour dchiffrer
les deux messages dAlice mais il ne peut lire avec succs que lun dentre eux.
Chapitre 5
126
Protocoles avancs
ce point, le transfert inconscient est termin. Bernard a pu lire un des deux messages
(celui chiffr avec sa clef DES) et Alice na aucun moyen de savoir lequel. Une tape
supplmentaire est ncessaire pour quAlice ne puisse pas tricher.
1
Aprs avoir termin le protocole et quand les deux rsultats possibles du trans
fert sont connus, Alice doit donner Bernard ses clefs prives afin qu il puisse
vrifier quelle na pas trich. Aprs tout, elle pourrait avoir chiffr le mme
message avec les deux clefs ltape 4-
5.6
Signatures inconscientes
. Alice possde n messages diffrents. Bernard peut choisir un des n messages pour
quAlice le signe, et Alice n aura aucun moyen de savoir quel message elle a sign.
. Alice possde un message. Bernard peut choisir une clef parmi n avec laquelle Alice
va signer le message, et Alice ne pourra pas dterminer la clef elle aura utilis.
C est une ide intressante, je suis sr quelle a son utilit quelque part.
5.7
5.7
127
Alice et Bernard informent Ivan quils ont chacun une copie du contrat signe
par eux deux.
7 Ivan dchire les deux copies de contrat chacun avec une seule signature.
Le protocole marche parce quIvan empche les deux parties de tricher. Si Bernard
refusait de signer le contrat ltape 5, Alice pourrait demander Ivan la copie du
contrat dj signe par Bernard. Si Alice refusait de signer ltape 4, Bernard pourrait
faire de mme. Quand Ivan indique quil a reu les deux contrats ltape 3, Alice et
Bernard savent tous deux quils sont lis par le contrat. Si Ivan ne reoit pas les deux
contrats, il dchiffre celui quil a reu et aucune partie nest lie.
Si vous ignorez le dfaut vident de ce protocole (Bernard a un nom plus long quAlice),
cela marchera. Aprs avoir sign avec une seule lettre, Alice sait quaucun juge ne la
considrera comme lie par les termes du contrat. Mais cette lettre est un acte de bonne
volont et Bernard rpond avec un acte similaire de bonne volont.
Aprs que chaque participant a sign avec quelques lettres, un juge sera certainement
convaincu que les deux parties ont sign le contrat. Toutefois, les dtails sont obscurs.
Srement quils ne sont pas lis aprs la premire lettre ; mais ils le sont certainement
ds quils ont sign leur nom entier. A quel point du protocole deviennent-ils lis?
Chapitre 5
128
Protocoles avancs
Aprs avoir sign avec la moiti de leurs noms? Les deux tiers de leurs noms? Les trois
quarts?
Comme ni Alice ni Bernard ne sont certains de linstant partir duquel ils sont lis,
ils craignent un peu, chaque instant, d tre lis. Cela na pas de sens pour Bernard
de dire : Tu as sign avec quatre lettres et moi je nai sign quavec trois lettres. Tu
es lie et moi pas. Il ny a pas de raison que Bernard ne continue pas le protocole.
Plus longtemps ils continuent, plus grande est la probabilit quun juge les considrent
comme lis. Une fois de plus, il n y a aucune raison de ne pas continuer le protocole.
Aprs tout, ils voulaient tous deux signer le contrat ; ils ne voulaient simplement pas
signer lun avant lautre.
Soit p' la probabilit du message que Bernard a reu d Alice ltape prcdente.
Bernard envoie Alice un message sign avec le minimum de p = p' + B ou
p= 1.
et 6 jusquce quilsaient
ce queladate convenue
Tout au long du droulement du protocole, Alice et Bernard consentent tre lis par
le contrat avec une probabilit de plus en plus grande. Par exemple, le premier message
dAlice pourrait indiquer quelle se considre comme lie avec une probabilit de 2 %.
Bernard pourrait rpondre quil est li avec une probabilit de 3 %. Le message suivant
dAlice pourrait indiquer quelle est lie avec une probabilit de 4 %, et ainsi de suite
jusqu ce quils soient lis avec une probabilit de 1 0 0 %.
Si Alice et Bernard terminent tous deux le protocole, tout va bien. Si la date dchance
du protocole arrive, chaque participant peut montrer le contrat un juge avec le dernier
5.7
129
message sign de lautre participant. Le juge choisit simplement une valeur alatoire
entre 0 et 1. Si la valeur est infrieure la probabilit que lautre participant a sign,
alors les parties sont lies. Si la valeur est plus grande que la probabilit, alors les
parties ne sont pas lies6. C est cela que lon entend par tre li au contrat avec une
probabilit p.
Cest le protocole de base, mais il peut y avoir d autres complications. Si Alice com
mence signer des messages avec des incrments de plus en plus faibles de probabilit,
Bernard peut rpondre dans le mme sens. Le juge peut trancher en labsence dun
des participants. La dcision du juge lie soit les deux parties, soit aucune ; il ny a pas
de situations o lune des parties est lie et lautre pas. Aussi longtemps que lune des
parties est dispose avoir une probabilit lgrement suprieure d tre lie lautre
(peut importe la petitesse de lcart), le protocole se terminera.
Alice et Bernard choisissent chacun alatoirement 200 clefs DES groupes par
paires. Il ny a rien de spcial propos de ces paires ; elles sont juste apparies
pour les besoins du protocole.
3 Alice et Bernard chiffrent tous deux leurs paires de messages avec chaque paire
de clefs D ES, le message gauche avec la clef gauche de la paire, et le message
droit avec la clef droit de la paire.
4 Alice et Bernard s envoient rciproquement leur paquet de 2n messages chiffrs,
en s assurant que lautre sait que tel message appartient telle moiti de telle
paire.
Chapitre 5
130
6
Protocoles avancs
Alice et Bernard dchiffrent tous deux les moitis de messages comme ils
peuvent, en utilisant les clefs quils ont reues. Ils s assurent que les messages
dchiffrs sont corrects.
7 Alice et Bernard s envoient rciproquement les premiers bits des 2n clefs DES.
8
Alice et Bernard rptent ltape 7 pour les deuximes bits des 2n clefs DES,
les troisimes bits, et ainsi de suite, jusqu ce que toutes les clefs DES aient
t transfres.
Pourquoi Alice et Bernard doivent-ils faire tout cela? Supposons quAlice veuille tricher
et voyons ce qui se passe. Aux tapes 4 et 5, Alice peut perturber le protocole en
envoyant Bernard des chanes de bits sans sens. Bernard dcouvrirait cela ltape
6 , quand il essaierait de dchiffrer la moiti quil a reue, quelle que soit cette moiti.
Bernard peut alors arrter sans dommage, puisquAlice ne peut dchiffrer aucune des
paires de messages de Bernard.
Si Alice tait trs maligne, elle pourrait ne perturber que la moiti du protocole. Elle
pourrait envoyer la moiti gauche de chaque paire correctement et envoyer du charabia
comme moiti droite. Bernard na que 50 % de chance de recevoir la moiti droite et
donc Alice peut tricher la moiti du temps. Toutefois, cela ne marche que sil ny a
quune paire de clefs. Sil ny avait que deux paires, ce type de supercherie pourrait
russir dans 25 % des cas. C est pour cela que n doit tre grand. Alice doit anticiper
correctement le rsultat de n protocoles de transfert inconscient; Alice na que 1 chance
sur 2 de russir cela. Si n = 10, Alice a une chance sur 1024 de rouler Bernard.
Alice peut aussi envoyer des bits alatoires Bernard ltape 8 . Peut-tre que Bernard
ne saura pas quelle lui a envoy des bits alatoires jusqu ce quil reoive la clef
complte et quil essaie de dchiffrer les moitis de messages. Mais une fois de plus, les
probabilits sont du ct de Bernard. Il a dj reu la moiti des clefs et Alice ne sait
pas quelles sont ces moitis. Alice est sre de lui envoyer un bit erron pour une des
clefs quil a dj reues, et lui, il saura immdiatement quAlice essaie de le rouler.
Peut-tre qu Alice va continuer ltape 8 jusqu ce quelle ait suffisamment de bits des
clefs pour casser les messages DES et ensuite arrter de transmettre les bits. Le DES
a une longueur de clef de 56 bits. Si elle reoit 40 des 56 bits, elle ne doit essayer que
2 16 (65 536) clefs pour pouvoir lire le message
une tche qui est certainement la
porte d un ordinateur. Mais Bernard aura exactement le mme nombre de bits des
clefs d Alice (ou un bit de moins tout au plus) et donc il pourra faire la mme chose.
Alice na pas dautre choix que de poursuivre le protocole.
Le point principal est quAlice doit jouer le jeu honntement, car les chances de rouler
Bernard sont bien trop minces. A la fin du protocole, les deux parties ont n paires de
messages signs, chacune d elles suffit pour une signature valable.
Alice a nanmoins la possibilit de tricher; elle peut envoyer des messages identiques
Bernard durant ltape 5. Bernard ne pourra sen rendre compte qu la fin du
protocole, mais il peut utiliser une transcription du protocole pour convaincre un juge
de la duplicit d Alice.
Il y a deux faiblesses dans les protocoles de ce type [120] :
Premirement, il y a un problme si lune des parties a nettement plus de puissance de
calcul que lautre. Si, par exemple, Ace peut casser lalgorithme plus rapidement que
5.8
131
Bernard, alors elle peut arrter plus tt de transmettre des bits ltape 8 et calculer
elle-mme les clefs de Bernard. Bernard qui ne peut pas faire la mme chose en un
temps raisonnable ne sera pas content.
Deuximement, il y a un problme si une des parties arrte le protocole plus tt. Si
Alice arrte abruptement le protocole, tous deux devront faire le mme effort pour
faire les calculs, mais Bernard na pas de rel recours lgal. Si, par exemple, le contrat
spcifie quil doit faire quelque chose dans une semaine, et qu Alice arrte le protocole
en un point o Bernard devrait consacrer un an calculer pour qu Alice soit vrai
ment engage, il y aurait alors un problme. La vraie difficult ici est quil ny a pas
dchance court terme laquelle le processus doit se terminer comme il se doit : soit
les deux parties lies, soit aucune.
On retrouve ces problmes avec les protocoles dcrits aux paragraphes 5.8 et 5.9.
5.8
Alice engendre n paires de clefs DES. La premire clef de chaque paire est
engendre alatoirement; la seconde clef de chaque paire est le ou exclusif de
1a. premire clef et de la clef de chiffrement du message.
132
Chapitre 5
Protocoles avancs
7 Bernard chiffre chacune de ses paires de messages avec les paires de clef DES,
la i e paire de messages avec la ie paire de clefs, le message gauche avec la clef
gauche de la paire et le message droit avec la clef droite de la paire.
8
Bernard envoie son paquet de messages Alice en s assurant quAlice sait que
tel message est telle moiti de telle paire.
12 Alice et Bernard rptent ltape 11 pour le deuxime bit des 2n clefs DES, le
troisime bit, et ainsi de suite jusqu ce que tous les bits de toutes les clefs
Les tapes 5 8 pour Bernard et les tapes 9 12 pour Alice et Bernard sont les
mmes que pour le protocole de signature de contrats. La diffrence se marque par
les messages factices chiffrs dAlice. Ds donnent Bernard un moyen de vrifier les
transferts inconscients dAlice ltape 1 0 , qui oblige Alice tre honnte aux tapes
11 13. Et tout comme pour le protocole de signature simultane de contrat, une
moiti gauche et une moiti droite d une des paires de messages dAlice sont toutes
deux ncessaires pour terminer le protocole.
A
5.9
Alice connat un secret A ; Bernard connat un secret B . Alice est dispose dire A
Bernard si Bernard lui dit B . Bernard est dispos dire B Alice si Alice lui dit A. Le
5.9
133
protocole suivant peut tre observ dans une cours d cole, il ne marche manifestement
pas:
1 Alice : Je te le dirai si tu me le dis en premier.
2 Bernard : Je te le dirai si tu me le dis en premier.
3 Alice : Non, toi en premier.
4 Bernard: A h ! bon. (Bernard chuchote dans loreille dAlice.)
5 Alice : Ha ! Ha ! Je ne te dis rien.
6
Chapitre 6
Protocoles sotriques
6.1
Elections sres
moins quil ny ait un protocole qui vite la tricherie et qui garantisse la confiden
tialit, le vote informatique ne sera jamais utilis pour des lections grandeur nature.
Le protocole idal a au minimum les 6 caractristiques suivantes :
1. Seules les personnes autorises voter peuvent voter.
2. Personne ne peut voter plus dune fois.
3. Personne ne peut dterminer pour qui quelquun d autre a vot.
4. Personne ne peut dupliquer le vote de quelquun d autre. (Il savre que cette
exigence est la plus difficile remplir.)
5. Personne ne peut modifier le vote de quelquun d autre sans tre dcouvert.
6.
Tous les votants peuvent vrifier que leur vote a bien t pris en compte dans le
dcompte final.
Chapitre 6
136
Protocoles sotriques
lesvotants
Tous
lesvotants
Tous
lesvotants
L A C D dchiffre
rsultats publics.
de ZA C D .
Ce protocole satisfait les proprits ( 1 ) et ( 2 ) : seuls les votants autoriss peuvent voter
et personne ne peut voter plus d une fois. Pour cela, lA C D doit garder une trace des
votes reus ltape 3. Les votes sont signs avec la clef prive des votants donc lACD
sait qui a vot, qui na pas vot et combien de fois chaque votant a vot. Si un vote
sign par un votant non autoris arrive ou un vote sign par un votant qui a dj
vot lA C D lignore. De plus, personne ne peut modifier le vote dautrui mme sil
lintercepte ltape 2 grce la signature numrique.
Le dfaut de ce protocole est que la signature est attache au vote et quainsi lACD
sait qui a vot pour qui. Le chiffrement des votes avec la clef publique de lACD
empche quiconque coute le protocole de dterminer qui vote pour qui, mais ce nest
pas suffisant. C est comme si un assesseur de bureau de vote regardait par-dessus votre
paule dans lisoloir.
Les deux exemples suivants montrent quel point il est difficile de remplir ne serait-ce
que les trois premires exigences d un protocole de vote sr.
2 Tous les votants camouflent individuellement tous les messages (voir 5.3) et
envoient le rsultat ZA C D .
3 L A C D vrifie dans sa base de donnes pour tre sre que des votants nont
pas dj auparavant soumis des votes camoufls pour leur signature. Elle ouvre
neuf des dix ensembles de messages et vrifie qu ils ont t faits dans les rgles.
6.1
lections sres
137
4 Les votants dvoilent les messages pour donner un ensemble de votes signs
par TA C D . (Ces votes sont signs mais non chiffrs, donc les votants peuvent
aisment voir quel vote est oui et quel vote est non .)
5 Les votants choisissent lun des votes ( O Dmocratie !) et chiffrent celui-ci avec
la clef publique de lA C D .
6
7 L A C D dchiffre les votes, vrifie les signatures, vrifie dans sa base de don
nes pour des numros de srie redondants, enregistre le numro de srie, et
dcompte les voix. Elle publie les rsultats du vote avec tous les numros de
srie et leur vote associ.
Chapitre 6
138
Protocoles sotriques
Aprs que tous les votes ont t reus, ZA C D publie le rsultat ainsi que les
listes des numros didentification et pour qui leur propritaire a vot.
Un avantage de ce systme est que tous les votants peuvent regarder la liste des nu
mros d identification et trouver le leur. Cela leur prouve que leur vote a t pris en
compte. Bien sr, tous les messages circulant entre les diffrents participants du pro
tocole doivent tre chiffrs et signs pour viter que quelquun puisse se faire passer
pour quelquun d autre et pour viter les interceptions.
LA C D ne peut pas modifier les votes parce que tous les votants vont rechercher leur
numro d identification. Si un votant ne le trouve pas ou le trouve dans une autre liste
que celle pour laquelle il a vot, il saura immdiatement quil y a eu tricherie. LACD
ne peut pas trafiquer lurne parce que lA C L surveille. L A C L sait combien de votants
ont t valids ainsi que leurs numros de validation. Toute modification de lun ou
lautre est immdiatement dtecte.
Martin qui nest pas un votant autoris, peut essayer de tricher en devinant un numro
de validation valide. La probabilit de succs de cette attaque peut tre minimise
en rendant le nombre de numros de validation possibles nettement plus grand que
le nombre de numros de validation effectivement mis : un million de nombres de
100 chiffres par exemple. Bien sr, les numros de validation doivent tre engendrs
alatoirement.
Malgr cela, lA C L fait, en quelque sorte, toujours autorit. Elle peut valider des
votants non autoriss. Elle peut valider des votants lgitimes plusieurs fois. Le risque
peut tre minimis en obligeant lA C L publier la liste des votants valids (mais pas
leur numro de vadation). Si le nombre de votants sur cette liste est infrieur au
nombre de votes compts, il y a anguille sous roche. Sil y a plus de votants valids
que de votes, cela signifie probablement que des votants valids ne se sont pas donns
la peine de voter. De nombreuses personnes sont enregistres pour voter choisissent de
ne pas participer aux ballottages.
Ce protocole est aussi vulnrable une collusion entre lA C D et lACL. Si les deux
se mettent ensemble, elles peuvent corrler leurs bases de donnes et dterminer qui a
vot pour qui.
6.1
139
lections sres
Si les votants dcouvrent que leur vote a t mal comptabilis, ils peuvent iden
tifier et corriger le problme sans compromettre la confidentialit de leur vote.
Voici le protocole :
1 L A C D publie la liste de tous les votants lgitimes.
2 Pendant un laps de temps spcifi, toute personne peut indiquer son intention
de voter auprs de ZA C D .
5 Tous les votants engendrent une paire clef publique clef prive : k,d. Si v est le
vote, ils engendrent le message suivant et lenvoient ZA C D :
I ,E k(I,v)
6
Chapitre 6
8
Protocoles sotriques
L A C D utilise d pour dchiffrer les votes. A la fin de llection, elle publie les
rsultats de llection et pour chaque vote possible, la liste de tous les E k(I,v)
contenant ce vote-l.
Si un votant veut changer son vote (c est possible dans certains types dlec
tions) de v v', il peut envoyer l A C D :
I ,E k(i,v'),d
Un autre protocole de vote [587] utilise des signatures en aveugle la place d ANDOS,
mais il est essentiellement le mme. Les tapes 1 3 sont des prliminaires au vote
lui-mme. Leur but est de dterminer et de publier le nombre total de votants. Bien
que certains d entre eux ne participeront probablement pas, cela rduit la possibilit
pour lA C D d ajouter des votes frauduleux.
A ltape 4, il est possible que deux votants reoivent le mme numro d identification.
Cette ventualit peut tre vite en ayant bien plus de numros d identification quil
ny a de votants. Si deux votants soumettent des votes avec le mme identificateur,
lA C D engendre un nouveau numro didentification i', choisit lun des deux votes et
publie :
r , E k(i,v)
6.1
lections sres
141
chiffrer le rsultat de
(d ) chiffrer le rsultat de
( e )
chiffrer le rsultat de
(g) ajouter une nouvelle chane alatoire au rsultat de ltape (f) et chiffrer le
tout avec la clef publique de Christine. Ils enregistrent la valeur de cette
chane alatoire;
(i) ajouter une nouvelle chane alatoire au rsultat de ltape (h) et chiffrer le
tout avec la clef publique dAlice. Ils enregistrent la valeur de cette chane
alatoire.
Si E est la fonction de chiffrement, R est une chane alatoire et V est un vote,
le vote ressemble ceci:
EA(Rb,E B(Ri>E c (R 3,ED(R2,EA(E B(Ec (ED(V1R 1))))))))
Tous les votants sauvegardent les rsultats intermdiaires chaque point du
calcul. Ces rsultats seront utiliss plus tard dans le protocole pour confirmer
que leur vote est parmi ceux qui ont t comptabiliss.
5 Bernard dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi lensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat Christine.
Chaque vote ressemble ceci maintenant:
E c ( R 3 ,E d ( R 2,E a ( E b ( E c ( E d ( V ,R 1 ) ) ) ) ) )
Chapitre 6
142
6
Protocoles sotriques
Christine dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi lensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat David.
Chaque vote ressemble ceci maintenant :
E d (R 2 ,E a (E b (E c (E d (V A ) ) ) ) )
7 David dchiffre tous les votes avec sa clef publique, vrifie que son vote est
bien parmi l ensemble des votes, retire toutes les chanes alatoires ce niveau,
mlange tous les votes et envoie le rsultat Alice.
Chaque vote ressemble ceci maintenant :
E a (E b (E c (E d (V,R i))))
8
Alice dchiffre tous les votes avec sa clef publique, vrifie que son vote est bien
parmi lensemble des votes, signe lensemble des votes, et envoie le rsultat
Bernard, Christine et David.
Chaque vote ressemble ceci maintenant:
S a (E b (E c (E d (V ,/Zi))))
9 Bernard vrifie et retire la signature dAlice. Il dchiffre tous les votes avec sa
clef publique, vrifie que son vote est bien parmi lensemble des votes, signe
lensemble des votes, et envoie le rsultat Alice, Christine et David.
Chaque vote ressemble ceci maintenant :
S B {E c{E D{V,Ry)))
10
Christine vrifie et retire la signature de Bernard. Elle dchiffre tous les votes
avec sa clef publique, vrifie que son vote est bien parmi lensemble des votes,
signe l ensemble des votes, et envoie le rsultat Alice, Bernard et David.
Chaque vote ressemble ceci maintenant:
SC{E D{V,Ry))
1 1
David vrifie et retire la signature de Christine. Il dchiffre tous les votes avec
sa clef publique, vrifie que son vote est bien parmi l ensemble des votes, signe
lensemble des votes, et envoie le rsultat Alice, Bernard et Christine.
Chaque vote ressemble ceci maintenant:
S d {V,R i)
12 Tous vrifient et retirent la signature de David. Ils s assurent que leur vote est
bien parmi lensemble des votes (en cherchant leur chane alatoire parmi les
votes).
13 Chacun retire les chanes alatoires de chaque vote et compte les voix.
6.1
lections sres
Non seulement ce protocole marche mais il est auto-arbitr. Alice, Bernard, Chris
tine et David sauront immdiatement si quelquun triche. Aucune A C D ou A C L nest
ncessaire. Pour voir comment cela marche, essayons de tricher.
Si quelquun essaie de rajouter des voix, Alice le dtectera ltape 3 quand elle
recevra plus de votes que de participants. Si Alice essaie de rajouter des voix, Bernard
le dtectera ltape 4.
Un moyen plus dtourn de tricher est de remplacer un vote par un autre. Comme les
votes sont chiffrs avec plusieurs clefs publiques, nimporte qui peut crer autant de
votes valides que ncessaire. Il y a deux rondes au protocole de dchiffrement : la ronde
1 est constitue des tapes 3 7, et la ronde 2 est constitue des tapes 8 11. Le
remplacement de votes est dtect de faon diffrente dans les deux rondes.
Si quelquun remplace un vote par un autre dans la ronde 2 , ces actions sont dcouvertes
immdiatement. A chaque tape les votes sont signs et envoys tous les votants. Si
un (ou plusieurs) votant constate que son vote n est plus dans lensemble des votes, il
peut immdiatement arrter le protocole. Comme les votes sont signs chaque tape,
et que tout le monde peut remonter la ronde 2 du protocole, il est ais de dterminer
qui a remplac des votes.
Remplacer un vote par un autre pendant la ronde 1 du protocole est plus subtil. Alice ne
peut pas le faire ltape 3, car Bernard, Christine ou David le dtecteraient ltape
5, 6 ou 7. Bernard pourrait essayer ltape 5. Sil remplace le vote de Christine ou de
David (rappelez-vous quil ne sait pas qui tel vote correspond). Christine ou David
sen rendront compte ltape 6 ou 7. Ils ignoreront qui a modifi leur vote (bien
que cela ne puisse tre que quelquun ayant dj manipul leur vote) mais ils sauront
que leur vote a t falsifi. Si Bernard est chanceux et choisit le vote dAlice pour la
substitution, elle ne sen rendra compte qu la deuxime ronde. A ce moment-l, elle
dtectera ltape 8 que son vote manque. Toutefois, elle ne saura pas qui a modifi
son vote. Durant la premire ronde, les votes sont mlangs d une tape lautre et
non signs: il est impossible pour qui que ce soit de remonter le protocole afin de
dterminer qui a truqu les votes.
Un autre moyen de tricher est d essayer de deviner qui a vot pour qui. A cause du
mlange durant la premire ronde, il est impossible de remonter le protocole pour
associer les votants aux votes. Le retrait des chanes alatoires pendant la premire
ronde est galement crucial pour prserver lanonymat. Si elles ne sont pas retires, le
mlange des votes peut tre dfait en rechiffrant les votes avec la clef publique de celui
qui a mlang. Tant que le protocole tient, la confidentialit des votes est sre.
Plus fort encore, cause de la chane alatoire initiale R i , mme des votes identiques
sont chiffrs diffremment chaque tape du protocole. Personne ne connat le rsultat
du vote avant ltape 1 1 .
Quels sont les dfauts de ce protocole? Premirement, le protocole ncessite un grand
nombre de calculs. Lexemple dcrit ici nimplique que 4 votants et c tait compliqu.
Cela ne marcherait jamais pour de vraies lections avec des dizaines de milliers de
votants. Deuximement, David apprend les rsultats de llection avant tout le monde.
Bien quil ne puisse plus en modifier le rsultat, cela lui donne un pouvoir que les
autres nont pas. Pour en finir, tout cela sapplique aux protocoles de vote avec autorit
centrale.
Le troisime problme est quAlice peut faire le mme vote que nimporte quel autre
votant. Pour comprendre pourquoi cela peut tre un problme, considrons une lection
Chapitre 6
144
Protocoles sotriques
trois personnes Alice, Bernard et Estelle. Estelle ne soucie pas du rsultat de llection,
mais elle veut connatre le vote d Alice. Pour cela, elle copie le vote dAlice et le rsultat
de llection sera forcment gal au vote d Alice.
6.2
Calcul rparti sr
6.2
Calcul rparti sr
Protocole n 1
Comment un groupe de personnes peuvent-elles calculer la moyenne de leurs salaires
sans que personne napprenne le montant du salaire d un autre?
1 Alice ajoute un nombre alatoire secret son salaire, chiffre le rsultat avec la
clef publique de Bernard et lenvoie Bernard.
2 Bernard dchiffre le rsultat d Alice avec sa clef prive. Il ajoute son salaire
ce quil a reu dAlice, chiffre le rsultat avec la clef publique de Christine et
lenvoie Christine.
3 Christine dchiffre le rsultat de Bernard avec sa clef prive. Elle ajoute son
salaire ce quelle a reu de Bernard, chiffre le rsultat avec la clef publique
de David et lenvoie David.
4 David dchiffre le rsultat de Christine avec sa clef prive. Il ajoute son salaire
ce quil a reu de Christine, chiffre le rsultat avec la clef publique dAlice et
lenvoie Alice.
5 Alice dchiffre le rsultat de David avec sa clef prive. Elle retire le nombre
alatoire de ltape 1 pour retrouver la somme des salaires de tout le monde.
6
Ce protocole fait lhypothse que tout le monde est honnte. Si les participants mentent
propos de leur salaire, la moyenne sera fausse. Un dfaut plus srieux est quAlice
peut truquer le rsultat prsent aux autres. Elle peut retirer le nombre quelle veut
du rsultat ltape 5 et personne ne sen rendrait compte. Alice pourrait en tre
empche en lobligeant mettre en gage son nombre alatoire en utilisant nimporte
quel schma de mise en gage de le paragraphe 4.9 mais quand elle rvle son nombre
alatoire la fin du protocole, Bernard peut connatre le montant du salaire d Alice.
Protocole n 2
Alice et Bernard sont ensemble au restaurant et discutent de leur ge respectif. Ni lun
ni lautre ne veut dire son ge lautre mais ils sont tous les deux curieux de savoir
qui est le plus g. Ils pourraient chacun murmurer leur ge loreille dun tiers de
confiance (le serveur, par exemple), qui calculera de tte et qui annoncera le rsultat
Alice et Bernard.
Il y a deux dfauts au protocole ci-dessus. Premirement, le serveur ordinaire na pas
de capacit de calcul pour traiter des problmes plus complexes que la comparaison
entre deux nombres. Deuximement, si Alice et Bernard taient vraiment soucieux du
caractre secret de leurs informations, ils devraient noyer le serveur dans un verre deau
de Vichy sinon celui-ci pourrait tout raconter au sommelier.
La cryptographie clef publique offre une solution bien moins violente. U existe un
protocole grce auquel Alice qui connat la valeur a, et Bernard qui connat la va
leur b, peuvent ensemble calculer f(a,b) de manire qu Alice nait aucune information
concernant b et que Bernard nait aucune information concernant a. Ainsi, Alice et
Bernard sont tous deux convaincus de la validit des calculs. Comme lalgorithme
Chapitre 6
146
Protocoles sotriques
cryptographique utilis est partie intgrante du protocole, les dtails seront donns
dans le paragraphe 23.14.
Bien sr, ce protocole ne protge pas contre les tricheurs actifs. Il ny a rien qui empche
Alice (ou Bernard par la mme occasion) de tricher sur son ge. Si Bernard tait
un programme informatique qui excutait aveuglment le protocole, Alice pourrait
apprendre son ge (est-ce que lge d un programme informatique est compt partir
du temps o il a t crit ou partir du temps o il a commenc tre excut?) par
applications rptes du protocole. Alice peut excuter le protocole en donnant comme
ge 60 ans. Aprs avoir appris quelle est plus ge, elle excute le protocole nouveau
en prtendant tre ge de 30 ans. Aprs avoir appris que Bernard est plus g, elle
excute le protocole nouveau avec 45 et ainsi de suite jusqu que ce quelle connaisse
lge de Bernard avec une prcision aussi grande que souhaite.
En faisant lhypothse que les participants ne trichent pas activement, il est ais
d tendre ce protocole plus de deux participants. Nimporte quel nombre de personnes
peuvent dterminer lordre de leurs ges par des applications honntes et rptes du
protocole ; et aucun participant napprendra lge dun autre participant.
Protocole n 3
Alice aime faire des choses un peu perverses avec des ours en peluche. Bernard a des
fantasmes rotiques propos des tables en marbre. Chacun est gn d voquer ses
ftiches particuliers mais aimerait bien trouver le compagnon qui partage leur ... hum
... style de vie.
Au Service Informatique Scuris de Rencontres de Groupetm nous avons conu
un protocole pour de telles personnes. Nous avons numrot une liste tonnante de
ftiches depuis a jusqu z . Discrtement, spars par un modem, Alice et
Bernard peuvent participer un protocole multi-participants sr. Ensemble, ils peuvent
dterminer sils partagent ou non un ftiche particulier. Si oui, ils peuvent envisager
une heureuse relation. Si non, ils peuvent se dire au revoir, assurs de la confidentialit
de leurs secrets. Personne, mme pas la Secure Multiparty Computation Dating
Servicetm ne saura jamais.
Voil comment a marche.
1
Alice applique une fonction de hachage a sens unique au nom de son ftiche et
obtient une suite de huit chiffres.
2 Alice se sert de cette suite de chiffres comme dun numro de tlphone au quel
elle appelle et laisse un message pour Bernard. Si personne ne rpond ou si le
numro nest pas en service, Alice applique autant de fois quil est ncessaire
la fonction de hachage au numro de tlphone pour avoir en ligne quelquun
qui puisse participer au protocole.
Bernard peut faire une attaque texte en clair choisi. Il peut appliquer la fonction de
hachage des noms de ftiches usuels et appeller aux numros de tlphones rsultants
6.2
147
Calcul rparti sr
la recherche de messages pour lui. Ce protocole ne marche vraiment que sil y a assez
de textes en clair possibles pour rendre cette attaque infaisable.
Il existe aussi un protocole mathmatique similaire au protocole n 2. Alice connat a,
Bernard connat b et ensemble ils vont dterminer si a = b de telle manire que Bernard
napprenne rien sur a et Alice napprenne rien sur b. Les dtails sont donns dans le
paragraphe 23.14.
Protocole n 4
Voici un autre problme pour le calcul rparti sr [1375]. Un comit se runit rguli
rement pour voter secrtement sur certains sujets. (Oui, ils gouvernent secrtement le
monde, ne dites personne que je vous lai dit.) Tous les membres du comit peuvent
voter par oui ou non . En plus, deux participants ont le droit dmettre des
super-votes : Soui et S non . Ils ne sont pas obligs dmettre des super
votes, ils peuvent mettre des votes normaux sils prfrent. Si personne nmet de
super-vote, alors la majorit des voix dcide de lissue du scrutin. Dans le cas o il ny
a quun seul super-vote, ou deux super-votes quivalents, tous les votes normaux sont
ignors. Dans le cas de deux super-votes contradictoires, la majorit des votes normaux
lemporte. Nous voulons un protocole qui ralise de faon sre ce type de vote.
Deux exemples illustreront le processus de vote. Faites lhypothse quil y a 5 votants
normaux, Nj IV5 et deux super-votants Si et S2. Voici le rsultat du vote n 1
Si
S -oui
S-2 Ni
non non
N2 N3
non non
N4
oui
N5
oui
S -oui
S2
S- non
Ni
non
N2
non
N3
non
N4
oui
N5
oui
Chapitre 6
148
Protocoles sotriques
6.3
Vous ne pouvez pas aller dner avec un groupe de cryptographes sans quil y ait du
chahut. Dans [327], David C h a u m introduit le Problme du Dner des Cryptographes:
Trois cryptographes sont en train de dner dans leur restaurant trois
toiles favori. Leur serveur les informe que des arrangements ont t pris
avec le matre dhtel pour que la note soit paye anonymement. L un des
cryptographes peut avoir pay le dner, ou cela peut tre la NSA. Les
trois cryptographes respectent leur droit respectif d effectuer un paiement
anonyme mais ils aimeraient bien savoir quand c est la NSA qui paie.
Comment les cryptographes, appels Alice, Bernard et Christine, dterminent-ils si lun
dentre eux paie le repas tout en prservant lanonymat du payeur?
C h a u m continue ainsi pour rsoudre le problme :
Chaque cryptographe lance une pice non biaise derrire son menu, entre
lui et le cryptographe sa droite, de telle faon queux deux seuls voient le
rsultat du lancer. Chaque cryptographe annonce alors haute voix si les
deux pices quil peut voir celle quil a lance et celle que son voisin de
gauche a lance sont tombes sur la mme face ou sur des faces opposes.
Si lun des cryptographes est le payeur, il annonce le contraire de ce quil
voit. Un nombre impair de diffrences annonc autour de la table indique
que lun des cryptographes paie laddition ; un nombre pair de diffrences
indique que la NSA paie (en faisant lhypothse que le repas n est pay
quune seule fois). Ainsi, si un cryptographe paie, aucun des deux autres
napprend quoi que ce soit concernant lidentit du payeur partir des
annonces.
Pour voir si cela marche, imaginez quAlice essaie de deviner quel autre cryptographe a
pay le dner (en faisant lhypothse que ni elle ni la NSA nont pay). Si elle voit deux
6.3
149
faces diffrentes, alors les deux autres cryptographes, Bernard et Christine, ont tous
deux annonc identiques , ou ils ont tous deux annonc diffrentes . (Rappelezvous quun nombre impair de cryptographes annonant diffrentes indique que
lun dentre eux paie.) Si tous les deux ont dit diffrentes alors le payeur est le
cryptographe le plus proche de la pice qui est identique la pice cache (celle qui
a t lance entre Bernard et Christine). Si tous les deux ont dit identiques alors
le payeur est le cryptographe le plus proche de la pice diffrente de la pice cache.
De mme, si Alice voit deux faces identiques, alors soit Bernard a dit identiques et
Christine diffrentes ou inversment. Si la pice cache est la mme que les deux
pices quelle voit, alors le cryptographe qui a dit diffrentes est le payeur. Si la
pice cache est diffrente des deux pices quelle voit, alors le cryptographe qui a dit
identiques est le payeur. Dans tous les cas, Alice doit connatre le rsultat du lancer
entre Bernard et Christine pour dterminer qui a pay.
Ce protocole peut tre gnralis pour nimporte quel nombre de cryptographes : ils sont
tous assis en rond et lancent des pices entre eux. Mme deux cryptographes peuvent
effectuer le protocole: bien sr ils savent qui a pay mais quelquun qui observe le
protocole peut seulement dire si un des cryptographes a pay ou si la NSA a pay. Il
ne peut pas dire quel cryptographe a pay.
Les applications de ce protocole dpassent largement le cadre du restaurant. C est un
exemple d a b s e n c e i n c o n d i t i o n n e l l e d e m o y e n d e r e t r o u v e r l e x p d i t e u r e t
le d e s t i n a t a i r e . Un groupe d utilisateurs d un rseau disposent du protocole suivant
pour changer des messages anonymes.
1 Les utilisateurs s organisent sous forme dun anneau logique.
2 A intervalles rguliers les paires dutilisateurs adjacents lancent une pice entre
eux, en utilisant un protocole quitable de jeu pile ou face. Ils veillent ce que
tous leurs messages soient chiffrs de manire qu ils soient les seuls connatre
le rsultat du lancer.
150
Chapitre 6
Protocoles sotriques
trace et enregistre les motifs de communication entre les gens bien que les messages
soient eux-mmes chiffrs, est inutile dans ce cas-l.
Une alternative au lancer de pice entre participants adjacents est de partager un
fichier de bits alatoires. Peut-tre pourront-ils le ranger sur un CD-ROM, ou lun
des membres de la paire pourra engendrer un paquet de bits alatoires et les envoyer
lautre participant (en chiffrant le transfert bien sr) ? Une autre possibilit est de
convenir de lutilisation d un gnrateur pseudo-alatoire de nombres et ils peuvent
alors chacun engendrer la mme chane de bits pseudo-alatoires pour le protocole.
Un problme dans ce protocole est le suivant: si un participant malveillant ne peut
lire aucun message, il peut par contre fausser le systme sans tre pris en mentant
ltape 3. Il existe une modification de ce protocole qui permet de dtecter les
perturbations [1580, 1253] ; le problme sappelle le Dner des Cryptographes la
Discothque .
6.4
Argent lectronique
L argent est un problme. C est gnant transporter, cela peut rpandre les maladies,
et on peut vous le voler. L existence des cartes de crdit a largement rduit la quantit
de monnaie qui circule dans notre socit mais llimination complte de la monnaie
est virtuellement impossible. Cela narrivera jamais : les trafiquants de drogue et les
politiciens ne laccepteront jamais. Les cartes de crdit et les chques sont associes
un relev : vous ne pouvez pas cacher qui vous donnez de largent.
D un autre ct, les chques et les cartes de crdit autorisent une intrusion dans votre
vie prive un degr jamais imagin auparavant. Vous pourriez ne jamais avoir faire
la police de toute votre vie, mais la police peut surveiller vos transactions financires.
Ils peuvent voir o vous achetez de lessence, de la nourriture, qui vous appelez au
tlphone, tout cela sans bouger de leur ordinateur. Les gens ont besoin d un moyen
de protger leur anonymat pour protger leur vie prive.
Heureusement, il existe un protocole compliqu qui permet des messages authentiques
mais dont on ne peut retrouver lmetteur. Alice la lobbyiste peut transfrer de largent
lectronique au snateur Bernard de manire que la journaliste Estelle ne connaisse
pas lidentit dAlice. Bernard peut alors dposer cet argent lectronique sur son compte
en banque, mme si la banque na pas la moindre ide de qui est Alice. Mais si Alice
essaie de corrompre deux hommes politiques avec le mme argent lectronique chose
facile tenter avec un programme de copies de bits elle sera repre par la banque. Et
si Bernard essaie de dposer deux fois le mme argent lectronique sur deux comptes dif
frents, il sera repr mais Alice restera anonyme. On nomme aussi cela de largent
lectronique anonyme pour le diffrencier de largent lctronique avec relev comme
les cartes de crdit.
La demande sociale pour ce genre de choses est forte. Avec la monte dInternet dans
les transactions commerciales, il y a un appel grandissant pour la prservation de la vie
prive dans les rseaux et lanonymat dans les affaires3. D un autre ct, les banques et
les gouvernements ne veulent pas abandonner le contrle que leur procure les systmes
actuels de paiement avec relev. Ils y seront contreints pourtant. Tout ce dont il suffit
3.
Les gens ont de bonnes raisons dtre rtissants avant denvoyer leur numro de carte de crdit
via Internet.
6.4
Argent lectronique
151
pour Lancer largent lectronique, c est une institution de confiance qui changera les
nombres numriques contre de largent officiel.
Les protocoles dargent lectronique sont trs compliqus. Nous allons en mettre un
sur pied, tape par tape. Pour plus de dtails lisez [322, 344, 330, 340, 345]. Rendez
vous bien compte quil sagit l dun seul protocole dargent lectronique, il en existe
dautres.
Protocole n 1
Les quelques premiers protocoles sont des analogies matrielles des protocoles cryptographiques. Le protocole suivant est un protocole matriel pour des ordres de paiement
anonymes :
1 Alice prpare 100 ordres de paiement anonymes de 1000 francs.
2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.
Protocole n 2
Le protocole prcdent empche Alice d indiquer un montant suprieur ce quelle est
en droit de prtendre sur un ordre de paiement, mais rien ne lempche de photocopier
4. Les peines de prison sont de bons moyens de dissuasion.
152
Chapitre 6
Protocoles sotriques
lordre de paiement et de lutiliser deux fois. Pour viter cela nous devons compliquer
le protocole :
1 Alice prpare 100 ordres de paiement anonymes de 1000 francs chacun. Sur
chaque ordre de paiement elle ajoute une chane alatoire diffrente et unique,
suffisamment longue pour que les chances quun autre utilisateur utilise la
mme chane soient ngligeables.
2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.
Protocole n 3
Le protocole prcdent protge la banque de la tricherie mais il ne permet pas lidentifi
cation du tricheur. La banque ne sait pas si la personne qui a achet lordre de paiement
(la banque ne peut pas savoir que c est Alice) a essay de rouler le commerant ou si
le commerant a essay de rouler la banque. Le protocole suivant corrige ce dfaut :
1 Alice prpare 100 ordres de paiement anonymes de 1000 francs chacun. Sur
chaque ordre de paiement elle ajoute une chane alatoire diffrente et unique,
suffisamment longue pour que les chances quun autre utilisateur utilise la
mme chane soient ngligeables.
2 Alice place chacun dentre eux avec une feuille de carbone dans 100 enveloppes
diffrentes. Elle donne le tout la banque.
6.4
Argent lectronique
15S
Alice s excute.
Ce protocole fait lhypothse que le commerant ne peut pas modifier la chane diden
tification une fois quAlice la crite sur lordre de paiement. Lordre de paiement peut
avoir une suite de petites cases que le commerant demandera Alice de remplir avec
des X ou des O. Lordre de paiement serait fait de papier qui se dchire si lon tente
deffacer.
Comme linteraction entre le commerant et la banque a lieu aprs quAlice a dpens
largent, le commerant reste avec un mauvais ordre de paiement sur les bras. Des
ralisations pratiques de ce protocole ncessitent quAlice attende prs de la caisse
pendant linteraction entre le commerant et la banque tout comme pour les cartes de
crdit aujourdhui.
Alice peut essayer de rouler le commerant. Elle peut essayer d utiliser une copie de
lordre de paiement une seconde fois en donnant la mme chane d identification
ltape 7. A moins que le commerant nenregistre les ordres de paiement quil reoit
dans une base de donnes, le commerant se fera rouler. Le protocole suivant limine
ce dfaut.
Protocole n 4
Sil savre que la personne qui a achet lordre de paiement a essay de rouler le
commerant, il incombe la banque de dterminer lidentit du tricheur. Pour ce faire
nous devons quitter le monde matriel pour celui de la cryptographie.
Chapitre 6
154
Protocoles sotriques
La technique du morcellement de secret peut tre utilise pour cacher le nom dAlice
dans lordre de paiement numrique.
ln
2
(^nci^np)
Alice s excute.
6.4
Argent lectronique
155
156
Chapitre 6
Protocoles sotriques
pas. Ou, vous pouvez augmenter le nombre d ordres de paiement quAlice doit prparer
ltape 2 .
Est-ce que le commerant peut tricher? Ses chances sont encore moins grandes. Il
ne peut pas encaisser lordre de paiement deux fois : la banque dtecterait la double
utilisation de la chane de slection. Il ne peut pas reporter la faute sur Alice, seule
Alice peut ouvrir les chanes d identification.
Mme une collusion entre Alice et le commerant ne peut pas duper la banque. Comme
la banque signe lordre de paiement avec la chane unique, elle est sre de ne payer cet
ordre quune fois.
Quen est-il de la banque? A-t-elle un moyen de dterminer quun ordre de paiement
encaiss a t sign pour Alice? Alice est protge par le protocole de signature en
aveugle des tapes 2 5. La banque ne peut faire le lien, mme si elle garde un enre
gistrement complet de toutes les transactions. Bien mieux, la banque et le commerant
nont aucun moyen de se mettre ensemble pour dterminer qui est Alice. Alice peut
entrer dans le magasin et dans le plus complet anonymat faire ses achats.
Estelle peut tricher. Elle peut espionner la communication entre Alice et le commerant,
et si elle peut aller la banque avant lui, elle peut porter lordre de paiement la banque
en premier. La banque lacceptera, et mme pire, quand le commerant viendra porter
son ordre de paiement, il sera suspect de tricherie. Si Estelle vole et dpense largent
lectronique d Alice avant cell-ci, cest Alice qui sera suspecte de tricherie. Il ny a
aucun moyen d empcher cela; c est la consquence directe de lanonymat procur par
largent lectronique. Alice et le commerant doivent tous les deux protger leurs bits
comme ils le feraient avec des billets.
Ce protocole se situe quelque part entre les protocoles arbitrs et les protocoles autoarbitrs. Alice et le commerant font confiance la banque pour quelle honore les
ordres de paiement, mais Alice na pas confiance dans la banque en ce qui concerne
son identit.
6.4
Argent lectronique
157
Chapitre 6
158
Protocoles sotriques
6.4
Argent lectronique
159
Deuxime partie
Techniques cryptographiques
Chapitre 7
164
Chapitre 7
Avant de vous prcipiter pour inventer un cryptosystme avec une clef de 8 kilo-octets,
rappelez-vous quil y a une autre condition satisfaire : lalgorithme doit tre suffisam
ment solide pour quil ny ait pas d autre attaque possible que lattaque exhaustive. Ce
nest pas aussi facile quil y parat. La cryptographie est un art subtil. Les cryptosys
tmes qui semblent parfaits sont souvent mauvais. Des cryptosystmes solides peuvent
tre grandement affaiblis par de toutes petites modifications. Deux cryptosystmes so
lides utiliss ensemble sans prcautions peuvent interagir entre eux et produire des
textes cods faciles dchiffrer. Le meilleur conseil que lon puisse donner au cryp
tographe amateur est de suspecter tout nouvel algorithme et ce, mme avec un petit
brin de paranoa. Il vaut mieux avoir confiance en un algorithme parce que des crypto
graphes professionnels lont examin sous toutes ses coutures pendant de nombreuses
annes sans trouver de failles, plutt que parce que les inventeurs d un algorithme
clament haut et fort que leur algorithme est inviolable.
Rappelez vous une remarque importante faite au paragraphe 1.1 : la scurit dun cryp
tosystme doit rsider dans la clef et non pas dans les dtails de lalgorithme. Faites
toutes les hypothses suivantes : 1 - 1 attaquant a accs tous les dtails de votre algo
rithme. 2 il a accs autant de texte chiffr quil le souhaite et il peut attaquer votre
algorithme grce des textes chiffrs seulement. 3- il peut monter une attaque texte
en clair. 4il peut monter une attaque texte en clair choisi. Si votre cryptosystme
reste sr mme avec toute cette connaissance dans les mains de lattaquant, alors vous
avez atteint le niveau de scurit souhaitable.
Cet avertissement mis part, il y a suffisamment de marge de manuvre dans le
domaine de la cryptographie. Dans la vie de tous les jours, il y a des situations o un
tel niveau de scurit nest pas vraiment ncessaire. La plupart des attaquants nont
pas les connaissances et les ressources de nos Gouvernements, et mme ceux qui ont
de tels moyens ne sont pas forcment intresss casser votre cryptosystme. Si vous
avez lintention de comploter pour renverser un Gouvernement, alors tenez-vous en aux
algorithmes prouvs dcrits la fin de cet ouvrage. Pour les autres : amusez-vous !
7.1
165
million ou plus !
La communaut cryptographique sest surtout concentre sur l attaque exhaustive de
lalgorithme DES. En 1977, Whitfield D i f f i e et Martin H e l l m a n [495] ont dcrit
une machine hypothtique. Elle serait compose dun million de processeurs et chacun
de ces processeurs serait capable de tester un million de clefs par seconde. Une telle
machine pourrait tester 256 clefs en 20 heures. Si une telle machine tait construite
pour attaquer une clef de 64 bits, elle testerait les 264 clefs en 214 jours.
Lattaque exhaustive est faite pour les processeurs parallles. Chaque processeur peut
tester un sous-ensemble des clefs. Les processeurs nont pas communiquer entre eux :
la seule communication ncessaire est un message indiquant la russite et la clef pour
laquelle elle a t obtenue. U ny a pas de contraintes de mmoire partage. Il est facile
de concevoir une telle machine parallle avec un million de processeurs, chacun d entre
eux calculant indpendamment des autres.
Plus rcemment, Michael Wiener a dcid de concevoir une machine spcialement d
die la recherche exhaustive [1599, 1600] L II a conu des puces et des cartes spciali
ses. Aprs estimation des prix, il sest aperu quon pouvait construire pour 1 million
de dollars une machine capable de casser une clef de 56 bits dans un temps moyen
de trois heures et demi (et sept heures au pire). De plus le rapport prix sur vitesse
est linaire. Le tableau 7.1 donne une gnralisation de ces rsultats pour diffrentes
longueurs de clef. Rappelez vous de la loi de M o o r e : la puissance de calcul des or
dinateurs double tous les 18 mois environ. Cela signifie que le cot est divis par 10
tous les cinq ans; ce qui cote 1 million de dollars en 1995 sera construit pour 100 000
dollars en lan 2000. Les ordinateurs systoliques pourraient mme faire mieux [726].
Tab. 7.1
Cot
100 K$
IMS
10 M$
100 M$
1 G$
10 G$
100 G$
1 G$
10 G$
40
2 sec.
0 ,2 sec.
0 ,0 2 sec.
2 millisec.
0 , 2 millisec.
0 ,0 2 millisec.
2 microsec.
0 ,2 microsec.
0 ,0 2 microsec.
112
128
ans
1 0 1 3 ans
1 0 1 2 ans
1 0 1 1 ans
1 0 10 ans
1 0 9 ans
1 0 8 ans
1 0 7 ans
1 0 ans
1 0 19
1 0 14
1 0 18
1 0 17
1 0 16
1 0 15
1 0 14
1 0 13
1 0 12
10 11
ans
ans
ans
ans
ans
ans
ans
ans
ans
Pour les clefe de 56 bits, cest la porte de la plupart des grandes entreprises et
de nombreuses organisations criminelles. Les budgets militaires des nations les plus
industrialises permettraient de construire une machine casser les clefs de 64 bits.
Casser une clef de 80 bits est toujours hors de porte, mais si la tendance actuelle
continue, cela changera dans 30 ans seulement.
U est bien sr ridicule d estimer la puissance des ordinateur venir dans 30 ans.
Une avance dans quelque technologie de science-fiction pourrait faire de ces chiffres
1. II a conu la machine pour DES, mais lanalyse tient pout la plupart des algorithmes.
166
Chapitre 7
une histoire drle. loppos, des limitations physiques encore inconnues pourraient
impliquer quils sont exagrment optimistes. En cryptographie, il vaut mieux tre
pessimiste. Opter pour un algorithme avec des clefs de 80 bits semble une vue trs
court terme. Il faut des clefs d au moins 112 bits.
Si un attaquant veut vraiment trouver une clef, tout ce qui lui reste faire est de d
penser le montant ncessaire. En consquence, il semble prudent destimer la valeur
minimale d une clef: quelle valeur peut tre attribue une clef avant que cela nait
un sens conomique de la trouver ? Pour donner un exemple extrme, si un message en
clair vaut 1,39 $, cela naurait pas grand sens de dpenser 10 million de dollars pour
trouver la clef. D un autre cte, si le message en clair vaut 100 million de dollars, alors
le dchiffrement de ce seul message justifierait la dpense. Notons aussi que la valeur
de certains messages dcrot rapidement avec le temps.
7.1
167
Lutilisation dun algorithme avec une clef de 64 bits au lieu de 56 bits rend ce type
dattaque 256 fois plus difficile. Avec une clef de 40 bits, la situation est nettement plus
dramatique. Un rseau de 400 ordinateurs, chacun capable de faire 32 000 chiffrements
par seconde, peut effectuer une attaque exhaustive contre une clef de 40 bits en une
seule journe2.
Lutilisation dune clef de 128 bits rend une telle attaque ridicule envisager.
Lindustrie estime que d ici 1996, il y aura 200 millions d ordinateurs de par le
monde. Cette estimation inclut tout depuis les super-ordinateurs Cray jusquaux nanoordinateurs. Si tous ces ordinateurs coopraient une attaque exhaustive raison de
1 million de chiffrements par seconde, cela prendrait encore 1 million de fois lge de
lunivers pour trouver la clef.
Rseaux neuronaux
Les rseaux neuronaux ne sont pas trs utiles pour la cryptanalyse, premirement
cause de la forme de lespace des solutions. Les rseaux neuronaux sont efficaces dans
les problmes o il y a une continuit des solutions, certains plus que dautres. Ceci
permet un rseau neuronal d apprendre et de proposer des solutions de plus en plus
adaptes au fur et mesure. Les opportunits dapprendre quelque chose quand on
casse un algorithme sont rares: soit on retrouve la clef, soit on ne la retrouve pas3.
Les rseaux neuronaux marchent bien dans les environnements structurs o il y a
quelque chose apprendre mais pas dans le monde de grande entropie et d apparent
chaos quest la cryptographie.
Virus
La difficult majeure dans une attaque de cette ampleur est de convaincre chaque
utilisateur individuel de se prter lexprience. Vous pourriez demander poliment mais
cela prendrait trop de temps. Pire mme, ils pourraient refuser. Vous pourriez essayer
dinvestir leurs machines la nuit mais ce serait encore plus coteux en temps. De plus,
vous risqueriez de finir en prison pour violation de domicile. Les virus informatiques
pourraient rpandre un programme de recherche exhaustive de clef efficacement sur un
nombre maximum dordinateurs.
Cette ide, particulirement insidieuse, a t prsente pour la premire fois dans [1595].
Lattaquant crit un virus informatique et le lche dans la nature. Ce virus-l ne refor
mate pas le disque dur, ou ne dtruit pas des fichiers ; tout ce quil fait cest travailler
une attaque exhaustive quand lordinateur na rien d autre faire. Diffrentes tudes
ont montr que les micro-ordinateurs sont inactifs 70 % 90 % du temps. Ainsi le
virus naurait aucune difficult pour trouver du temps pour accomplir sa tche. Si par
ailleurs il est bnin, il peut mme passer inaperu en continuant sa tche.
ventuellement, une des machines infectes trouvera la bonne clef. A ce point, il y deux
manires de procder. Premirement, le virus peut donner naissance un nouveau virus
diffrent. Celui-ci ne ferait rien d autre que se rpandre et dtruire toute copie de son
anctre, tout en transportant de machine en machine linformation concernant la bonne
2. En 1992, les algorithmes RC2 et RC4 ont t autoriss lexportation hors des Etats-Unis pour
autant que leur clef soit restreinte 40 bits (voir 13.8).
3. Du moins, cest vrai quand lalgorithme est bon.
Chapitre 7
168
clef. Lors de ses prgrinations, il finirait par atterrir sur la machine de celui qui a lanc
lattaque initiale.
Une autre approche plus subtile consisterait afficher le message suivant sur lcran
de lordinateur infect qui a trouv la bonne clef :
Il y a un problme srieux cet ordinateur.
Veuillez appeler le numro de tlphone 1-800-123-4567
et lire le nombre de 64 bits suivant l oprateur:
xxxx xxxx xxxx xxxx
Il y a une prime de 100 $ la premire personne qui
communiquera cette information.
Quelle est lefficacit dune telle attaque? Faisons lhypothse quun ordinateur infect
essaie 1 000 clefs par seconde. C est nettement moins que ce que lon attendrait comme
vitesse, mais noublions pas que cet ordinateur est sens accomplir dautres tches.
Faisons galement lhypothse quun tel virus peut infecter 10 millions d ordinateurs.
Le virus pourrait casser une clef de 56 bits en 83 jours et une clef de 64 bits en 58
ans. Vous devrez peut-tre corrompre les auteurs de vaccins informatiques mais cest
votre problme. Toute augmentation de la vitesse des micro-ordinateurs ou du nombre
dordinateurs rendrait bien videmment cette attaque plus efficace.
La loterie chinoise
La loterie chinoise est une suggestion originale mais ralisable pour une machine
massivement parallle pour attaquer lalgorithme DES [1289]. Imaginez que lon incor
pore une puce de recherche exhaustive de clef, capable de faire un million de tests par
seconde dans chaque radio et dans chaque tlvision nouvellement construits. Chaque
puce est programme pour tester un ensemble diffrent de clefs et ce automatiquement,
ds quelle reoit une paire texte en clair, texte chiffr sur les ondes. Alors chaque
fois que le Gouvernement chinois veut casser une clef, il diffuse les donnes et toutes
les radios et les tlvisions du pays se mettent la tche. Eventuellement, la bonne
clef apparatra sur lcran de tlvision de quelquun, quelque part dans le pays. Le
Gouvernement chinois paie alors un prix cet heureux gagnant dune loterie un peu
particulire. Grce la promesse dune rcompense, le Gouvernement est sr que la
bonne clef sera transmise correctement et en prime, cela favorise la vente de radios et
de tlvisions contenant cette puce spciale.
Si chaque homme, femme et enfant en Chine possde une radio ou une tlvision,
la bonne clef, pour un algorithme qui utilise 56 bits pour la clef, sera trouve en 64
secondes. Si seulement un chinois sur dix possde une radio ou une tlvision (ce qui
est plus proche de la ralit), alors la bonne clef apparatra au bout de 11 minutes. La
bonne clef pour un algorithme 64 bits apparatra au bout de 4 heures et demie (45
heures si seulement un chinois sur dix possde une radio ou une tlvision).
Certaines modifications sont ncessaires pour rendre cette attaque praticable. Premi
rement, il serait plus facile que chaque puce essaie des clefs alatoires au lieu dun
ensemble prdtermin de clefs. Cela ne ralentirait lattaque que de 39 % (pas grand
chose en comparaison des chiffres que nous manipulons). De plus, le parti commu
niste chinois devrait convaincre chaque personne d couter ou de regarder une certaine
7.1
169
mission un certain moment de la journe pour tre sr que toutes les radios et tl
visions sont oprationnelles au moment de la diffusion de la paire texte en clair, texte
chiffr . Finalement, chacun recevrait comme instruction de contacter le Central-PeuImporte-Son-Nom si jamais une clef apparat lcran et de lire les nombres qui y
figurent. Le Parti pourrait mme transformer cela en loterie : la personne qui trouve la
clef, reoit un prix.
Le tableau 7.2 montre lefficacit de la loterie chinoise pour diffrents pays et pour
diffrentes longueurs de clef. La Chine est clairement en bonne position pour conduire
une telle attaque, mais elle devrait quiper chaque homme, femme et enfant de sa
propre radio ou tlvision. Les Etats-Unis ont moins d habitants mais beaucoup plus
dquipement par tte dhabitant. Ltat du Wyoming pourrait casser une clef de 56
bits rien qu lui seul en moins dun jour.
Tab. 7.2 Estimations pour une attaque exhaustive pour la loterie chinoise (les donnes
concernant la population et le nombre de radios et tlvisions proviennent de 1995
World Almanac and Book o f Facts ) _____________________________________________
Contre
Chine
Etats-Unis
Irak
Isral
Wyoming (USA)
Morehead, NC (U SA)
Population
(approx.)
1190431000
260 714000
19890000
5051000
470 000
6100
Nombre de
tlvisions
et radios
257000000
739000000
4730000
3 640000
1330000
17300
Temps ncessaire
Clef de 56 bits
Clef de 64 bits
280 secondes
20 heures
97 secondes
6,9 heures
4,2 heures
44 jours
5,5 heures
58 jours
160 jours
15 heures
48 jours
34 annes
Biotechnologie
Si les biopuces sont possibles, il serait alors idiot de ne pas sen servir pour construire
un outil dattaque exhaustive rpartie. Considrez un animal hypothtique, malencon
treusement appel DESosaure [1289]. Il est constitu de cellules biologiques capables
de tester les clefs possibles. La paire texte en clair-texte chiffr est diffuse aux
cellules par un canal optique (ces cellules sont transparentes, vous voyez). Les solutions
sont transmises lorgane vocal du DESosaure par lintermdiaire de cellules spciales
qui se propagent dans le systme circulatoire de lanimal.
Un dinosaure typique a 1014 cellules (sans compter les bactries). Si chacune dentre
elles est capable d effectuer un million de chiffrements par seconde (daccord, cela est
un grand si ), retrouver une clef de 56 bits prendrait sept dix millimes de seconde.
Retrouver une clef de 64 bits prendrait moins de deux diximes de seconde. Retrouver
une clef de 128 bits prendrait encore 1 0 1 1 annes, malgr tout.
Une autre approche biologique serait dutiliser des algues modifies gntiquement pour
la cryptographie et qui seraient capables deffectuer des attaques exhaustives contre les
algorithmes cryptographiques [1289]. Ces organismes rendraient possible la ralisation
dune machine distribue avec plus de processeurs, car ils pourraient couvrir une grande
surface. La paire texte en clair-texte chiffr pourrait tre diffuse par satellite. Si un
organisme trouve le rsultat, il pourrait induire un changement de couleur des cellules
voisines pour communiquer le rsultat en retour au satellite.
170
Chapitre 7
Limitations thermodynamiques
Selon le second principe de la thermodynamique, une certaine quantit d nergie est
ncessaire pour reprsenter de linformation. Enregistrer un simple bit en changeant
ltat dun sytme requiert une quantit d nergie suprieure kT, o T est la temp
rature fondamentale du systme et A; la constante de B o l t z m a n . (Restez avec moi, la
leon de physique est presque termine.)
Etant donn que k = 1,38.10 16 et que la temprature ambiante de lunivers est de 3,2,
un ordinateur idal marchant 3,2 consommerait 4,4.10 ~ 16 chaque modification ou
effacement d un bit. Faire tourner un ordinateur une temprature plus basse que le
rayonnement cosmique environnant demanderait un apport nergtique suplmentaire
pour faire fonctionner une pompe chaleur.
Maintenant, le soleil dgage chaque anne une nergie gale 1 ,2 1 .1041 environ. Cest
assez pour effectuer 2 ,7 .1 0 56 changements de bit dans notre ordinateur idal; et assez
pour quun compteur de 18 7 bits prenne toutes ses valeurs. En construisant une sphre
de D y s o n autour du soleil et en captant toute son nergie pendant 32 ans, notre
ordinateur pourrait compter jusqu 2 192. Bien-sr il ne resterait pas assez d nergie
pour effectuer dautres oprations utiles avec ce compteur.
Mais il sagit juste d une toile, pas trs doue pour cela. Une supemova moyenne
dgage quelque chose comme 1051. (Environ cent fois plus d nergie serait dgage
sous forme de neutrinos, mais laissons les passer pour linstant.) Si toute cette nergie
pouvait tre canalise afin d effectuer un seul calcul gigantesque, un compteur de 219
bits pourrait passer par tous ses tats.
Ces nombres nont rien voir avec la technologie du matriel; ils sont les bornes sup
rieures autorises par la thermodynamique. Et ils impliquent fortement quune attaque
exhaustive contre des clefs de 256 bits restera impossible jusqu ce que les ordinateurs
soient construits avec autre chose que de la matire et fonctionnent ailleurs que dans
lespace.
7.2
Les fonctions sens unique ont t traites dans le paragraphe 2.3. Multiplier deux
grands nombres premiers est une fonction sens unique ; il est facile de multiplier les
4. Par comparaison, la catastrophe de VExxon Valdez a rpandu 38 millions de litres de ptrole.
5. Lexplosion dmographique rsultante des algues est votre problme.
7.2
171
172
Chapitre 7
T a b . 7.3
Anne
1983
1985
1988
1989
1993
1994
Nombre de dcimales
des nombres factoriss
71
80
90
12 0
129
10 0
10 0
11/780. Donc un mips-an est lquivalent d un VAX 11/780 tournant pendant un an.
(Un Pentium 100 MHz est une machine de 50 mips; une machine Paragon d Intel
1800 processeurs est une machine de 50000 mips.)
En 1983, factoriser un nombre 71 chiffres demandait 0,1 mips-an ; la mme opration
en 1994 avec un nombre 129 chiffres demandait 5000 mips-an. Cette augmentation
insense de la puissance de calcul est principalement le rsultat de lintroduction du
calcul distribu, utilisant le temps d inactivit des stations de travail d un rseau. Cette
tendance a t initie par Bob S i l v e r m a n et dveloppe par Arjen L e n s t r a et Mark
M a n a s s e . En 1983, factoriser prenait 95 heures CPU sur un seul Cray X-M P ; en 199A
cela ncessitait 5000 mips-ans et utilisait le temps dinactivit de 1600 ordinateurs
travers le monde pendant environ huit mois. Les mthodes modernes de factorisation
se prtent ce genre de distribution des tches.
La situation sempire encore. Un nouvel algorithme de factorisation a remplac le crible
quadratique : le crible gnral sur corps numrique. En 1989, les mathmaticiens vous
auraient dit que le crible gnral sur corps numrique ne serait jamais pratique. En
1992, ils vous auraient dit que ctait pratique, mais seulement plus rapide que le
crible quadratique dans les cas de nombres plus de 130 150 chiffres. Aujourdhui,
il est reconnu tre plus rapide que le crible quadratique pour des nombres compre
nant bien moins de 116 chiffres [504, 637]. Le crible gnral sur corps numrique peut
factoriser un nombre de 512 bits plus de 10 fois plus rapidement que le crible qua
dratique. Lalgorithme tournerait moins dun an sur un Paragon Intel 1800. Le ta
bleau 7.4 nous donne le nombre de mips-ans ncessaires pour factoriser des nombres de
diffrentes tailles, en considrant les applications actuelles du crible gnral sur corps
numrique [1195].
Tab.
7.2
113
Le crible gnral sur corps numrique est de plus en plus rapide. Les mathmaticiens
trouvent toujours des nouvelles optimisations, des nouvelles techniques. Il ny a aucune
raison de penser que cette tendance ne continuera pas. Un algorithme voisin, le crible
spcial sur corps numrique, peut dj factoriser des nombres dune forme spcialise (ce
sont des nombres gnralement pas utiliss pour la cryptographie) bien plus rapidement
que le crible gnral sur corps numrique peut factoriser des nombres gnraux de mme
taille. Il nest pas draisonnable de penser que le crible gnral sur corps numrique
peut tre optimis pour aller aussi vite [1195] ; il est d ailleurs fort possible que la NSA
sache dj comment faire. Le tableau 7.5 donne le nombre de mips-ans ncessaires
pour que le crible spcial sur corps numrique factorise des nombres de diffrentes
longueurs [1195].
Tab.
3 * 107
3 * 109
2 * 1 0 11
4 * 1014
Lors dun atelier de lInstitut europen pour la scurit des systmes en 1991, les
participants ont convenu quun module de 1024 bits devrait tre suffisant pour des
secrets long terme jusquen 2005 [157]. Nanmoins, ils ajoutrent: Bien que les
participants de cet atelier pensent tre les plus qualifis dans leurs domaines respectifs,
cette dclaration [concernant la durabilit de la scurit] devrait tre considre avec
beaucoup de prudence. C est un bon conseil.
Le cryptographe avis est trs prudent lorsquil choisit la longueur de clefs publiques.
Pour dterminer de quelle longueur de clef vous avez besoin, il faut que vous considriez
la fois le niveau de scurit dsir et la dure de vie de la clef, ainsi que le nec plus
ultra de la factorisation. Aujourdhui, vous avez besoin dun nombre de 1024 bits pour
avoir le niveau de scurit que vous aviez en 1980 avec un nombre de 512 bits. Si
vous voulez que vos clefs restent sres pour les 20 prochaines annes, 1024 bits sont
probablement insuffisants.
Mme si vos secrets ne valent pas leffort investit pour factoriser votre module, vous
tes peut-tre en danger. Imaginez un systme bancaire automatique qui utilise le RSA
pour la scurit. Martin peut aller devant la justice et dclarer : Avez-vous lu dans
les journaux quen 1994 le RSA-129 a t cass et que les nombres de 512 bits peuvent
tre factoriss par toute organisation prte dpenser quelques millions de dollars et
attendre quelques mois? Pour sa scurit, ma banque utilise des nombres 512 bits,
et jen profite pour vous dire que ce nest pas moi qui ait effectu ces septs retraits.
Mme si Martin ment, il est probable que le juge somme la banque de sexpliquer.
Mais alors, pourquoi ne pas utiliser des clefs de 10000 bits? Vous pouvez, mais sachez
que plus votre clef sera longue, plus vous passerez de temps la calculer. Vous voulez
une clef assez longue pour quelle soit sre, mais assez courte pour que le calcul soit
faisable.
Chapitre 7
174
Un peu plus haut dans ce paragraphe, j ai dit que faire des prdictions est stupide. Je
vais maintenant en faire quelques-unes. Le tableau 7.6 regroupe mes recommandations
pour les longueurs de clefs publiques, selon le niveau de scurit de votre clef que
vous dsirez. Il y a trois longueurs de clefs pour chaque anne, une pouvant supporter
les attaques individuelles, une sre pouvant supporter les attaques dune entreprise
majeure, et une pouvant supporter les attaques dun gouvernement.
T a b . 7.6
Anne
1995
2000
2005
2 0 10
2015
contre un individu
768
1024
1280
1280
1536
contre un gouvernement
1536
1536
2048
2048
2048
7.2
175
le mois, ou mme quelques annes. Mais vous ne voulez srement pas vous retrouver
devant la justice dans 2 0 ans avec un document sign lectroniquement et voir la partie
oppose dmontrer comment contrefaire un document avec la mme signature.
Faire des prdictions au-del d un future proche est encore plus insens. Qui connait
les progrs qui vont tre effectu en calcul, en matire de rseau et en mathmatiques
dici lan 2020? Nanmoins, si on considre la situation dun point de vue gnral,
pour chaque dcade, nous pouvons factoriser des nombres deux fois plus longs que la
dcade prcdente. Ceci nous mne au tableau 7.7.
T ab. 7.7 - Prdictions de factorisation long terme
Anne
1995
2005
2015
2025
2035
2045
Dun autre ct, la technologie de factorisation peut atteindre son apoge bien avant
2045. Dici vingt ans, nous serons peut-tre capable de factoriser nimporte quel
nombre. Je pense nanmoins que ceci est trs peu probable.
Tout le monde ne sera pas d accord avec mes recommandations. La NSA a mandat
des clefs de 512 1024 bits pour leur standard de signature lectronique (voir 20.1),
ce qui est bien moins que ce que je recommande pour une scurit long terme. Pretty
Good Privacy (voir 24.12) a une longueur de clef RSA maximum de 2047 bits. Arjen
LENSTRA, le plus clbre factorisateur mondial, refuse de faire des prdictions audel de 10 ans [960]. Le tableau 7.8 nous livre les recommandations sur la longueur de
clef de Ron R i v e s t , faites en 1990, que je considre bien trop optimistes [1334]. Bien
que son analyse paraisse correcte sur papier, les vnements rcents montrent que des
surprises arrivent rgulirement. Il semble logique de choisir ses clefs afin de se protger
de futures surprises.
T ab . 7.8
- Recommandations optimistes de
Anne
1990
1995
2000
2005
2 0 10
2015
2020
Faible
398
405
422
439
455
472
489
iv e s t
Moyenne
515
542
572
602
631
661
677
Eleve
1289
1399
1512
1628
1754
1884
2017
Les estimations les plus basses parlent dun budget de 25 000 dollars, de lalgorithme
du crible quadratique et d un progrs technologique de 20 pourcents par an. Les es
timations moyennes parlent d un budget de 25 millions de dollars, de lalgorithme du
176
Chapitre 7
Calculs biologiques
Maintenant, cela devient trange. En 1994, Lonard M. A d l e m a n a trouv une m
thode pour rsoudre un problme N P complet (voir 1 1 .2 ) dans un laboratoire de
biochimie, en utilisant des molcules d ADN pour reprsenter les solutions du pro
blme [21]. (Ici, par solutions , on entend rponses et non pas liquide conte
nant des substances .) Le problme qu A d l e m a n a rsolu tait un cas particulier
du problme de trouver un chemin orient Hamiltonien : soit une carte avec des villes
connectes par des routes sens unique, trouvez un chemin de la ville A la ville Z qui
ne passe exactement quune seule fois par chaque ville de la carte. Chaque ville tait
reprsente par des chanes alatoires distinctes de 20 bases d ADN ; avec les techniques
conventionnelles de biologie molculaire, A d l e m a n a synthtis 50 picomoles (30 mil
lions de millions de molcules) de la chane dADN reprsentant chaque ville. Chaque
route tait aussi reprsente par une chane de 20 bases d ADN, mais ces chanes nont
pas t choisies de faon alatoire : elles ont t choisies judicieusement de manire ce
que la fin de la chane dADN reprsentant la route de la ville P la ville K ( route
P K ) ait tendance se rapprocher de la chane dADN reprsentant la ville P , et que
la fin de la route P K ait tendance se rapprocher de la ville K .
A d l e m a n a synthtis 50 picomoles dADN reprsentant chaque route, les a mix tous
ensemble avec lADN reprsentant toutes les villes et a ajout un enzyme ligase qui
noue ensemble les bouts de molcules d ADN. La relation judicieuse entre les chanes
dADN de la route et les chanes dADN de la ville fait que la ligase lie les chanes
dADN de la route entre-elles de manire lgale. C est--dire que lissue de la route
qui va de P A sera toujours relie au dbut d une route qui part de la ville K ,
jamais lissue d une autre route ou au dbut dune route qui part dune ville autre
que K . Aprs un temps de raction minutieusement limit, la ligase a construit un
grand nombre de chanes d ADN reprsentant des chemins multiroutes lgaux bien
qualatoires sur la carte.
De cette soupe de chemins alatoires, A d l e m a n peut retrouver la plus infime trace
(peut-tre mme une seule molcule) d ADN qui reprsente la rponse au problme. En
utilisant les techniques communes de la biologie molculaire, il carte toutes les chanes
d ADN qui reprsentent des chemins trop longs ou trop courts. (Le nombre de routes
dans le chemin cherch doit tre gal au nombre de villes moins un.) Ensuite, il carte
toutes les chanes d ADN qui ne passent pas par la ville A, puis celles qui ne passent
pas par la ville B, etc... Sil reste un ADN lissue de cette srie d liminations, la
squence de routes quil dcrit est la solution au problme de dcouverte d un chemin
orient Hamiltonien.
Par dfinition, toute instance d un problme N P complet peut tre transform, en
temps polynomial, en une instance de tout autre problme N P complet, et par cons
quent en un problme de dcouverte d un chemin orient Hamiltonien. Depuis les an
7.2
177
nes 1970, les cryptologues ont essay d utiliser les problmes N P c o m p l e t s pour la
crypotographie clef publique.
Bien que le cas rsolu par A d l e m a n fut modeste (sept villes sur sa carte, une nigme
qui peut tre rsolue en rflchissant quelques minutes), la technique en est ses
balbutiements et ne rencontrerait aucun obstacle tre tendue des problmes
plus consquents. C est pourquoi, les arguments propos des protocoles cryptographiques bass sur des problmes N P c o m p l e t s , arguments qui jusqualors commen
aient par Supposons quun adversaire possde un million de processeurs, chacun
dentre-eux pouvant effectuer un million de tests par seconde, pourraient bientt de
venir Supposons quun adversaire possde un millier de lieux de fermentation, chacun
ayant une capacit de 2 0 0 0 0 litres.
Ordinateurs quantiques
Attention, cela devient encore plus trange. Le principe sous-jacent de lordinateur
quantique inclut la dualit onde-particule dcouverte par Albert E i n s t e i n . Un photon
peut simultanment exister dans un grand nombre d tats. L exemple classique est celui
du photon qui se comporte comme une onde quand il rencontre un mirroir partiellement
argent ; il est la fois rflchi et transmis. C est tout comme une vague qui vient se jeter
sur une digue qui comporte une petite ouverture, la vague sera refoule mais passera
un peu travers la digue. Nanmoins, quand un photon est mesur, il se comporte
comme une particule et un seul tat peut tre dtect.
Dans [1449], Peter S h o r nous montre une conception d e machine factoriser qui repose
sur les principes de la mcanique quantique. A linverse dun ordinateur classique, qui
en fait est dans un tat unique, fixe, un moment donn, un ordinateur quantique a
une fonction d onde interne, qui est une superposition d une combinaison des tats de
base possibles. Les calculs transforment la fonction d ondulation, modifiant ainsi tout
lensemble des tats en une seule opration. De cette faon, un ordinateur quantique est
une amlioration par rapport lautomate classique tat fini : il utilise les proprits
quantiques afin de factoriser en temps polynomial ; ce qui nous permet thoriquement
de casser les cryptosystmes bass sur la factorisation ou le problme du logarithme
discret.
Le consensus est que les ordinateurs quantiques sont compatibles avec les lois fonda
mentales de la mcanique quantique. Nanmoins, il est peu probable quune machine
de factorisation quantique soit construite dans le futur. Un obstacle majeur est le pro
blme de dcohrence qui fait que des formes ondulatoires superposes perdent leur
distinction et que lordinateur ne marche pas. La dcohrence implique quun ordi
nateur quantique fonctionnant 1 Kelvin ne marche pas plus d une nanoseconde. De
plus, un trs grand nombre de portes serait ncessaire pour construire une machine
de factorisation quantique ; cela peut rendre sa construction impossible. Le concept
de SHOR ncessite un module complet dexponentiation en arithmtique modulaire.
Aucune horloge interne ne peut tre utilise, alors des millions, voire des milliards de
portes seraient ncessaires pour factoriser des nombres cryptographiquement signifi
catifs. Si n portes quantiques ont une probabilit minimum p d chouer, le nombre
moyen dessais par coup russi est de (1/(1 p))n- Le nombre de portes ncessaires
crot polynmialement avec la longueur en bits du nombre, donc le nombre dessais
ncessaires serait superexponentiel en la longueur des nombres utiliss (ce qui est pire
que factoriser par des divisions).
Chapitre 7
178
Ainsi, alors que la factorisation quantique attire de nombreux chercheurs, il est extr
mement peu probable quelle soit jamais mise en pratique. Mais ne dites pas que je ne
vous ai pas prvenu.
7.3
Un systme sera attaqu au niveau de son point faible. Si vous concevez un systme qui
utilise la fois les cryptographies clef secrte et clef publique, les longueurs de clefs
pour chaque type de cryptographie devront tre choisies de faon ce quil soit aussi
difficile d attaquer le systme via lun ou lautre des mcanismes. Il nest pas logique
d utiliser un algorithme clef secrte de 128 bits avec un algorithme clef publique
de 386 bits, de mme quil nest pas logique d utiliser un algorithme clef secrte de
56 bits avec un algorithme clef publique de 1024 bits.
Le tableau 7.9 donne les longueurs des modules des algorithmes clef publique dont
la difficult de factorisation gale peu prs la difficult dune attaque exaustive pour
les longueurs de clefs secrtes usuelles.
T ab . 7.9 - Longueurs des clefs secrtes et des clefs publiques avec rsistances similaires
Ce tableau nous dit que si vous tes assez soucieux pour votre scurit pour choisir
un algorithme clef secrte avec une clef de 1 1 2 bits, alors vous devriez choisir une
longueur de module d au moins 1792 bits pour votre algorithme clef publique. En
gnral, vous devriez choisir une longueur de clef publique plus sre que votre longueur
de clef secrte. Les clefs publiques demeurent gnralement plus longtemps et sont
utilises pour protger plus dinformations.
7.4
7.5
179
7.5
180
Chapitre 7
Tab.
Type de trafic
Longvit
minutes/heures
Longueur de
clef minimum
56-64 bits
j ours/semaines
annes
64 bits
64 bits
dcades
> 40 ans
> 50 ans
> 50 ans
> 65 ans
1 0 0 ans
bits
128 bits
128 bits
128 bits
au moins 128 bits
au moins 128 bits
112
La puissance de calcul future est plus difficile valuer, mais vue de nez : lefficacit
des quipements de calcul divise par le prix double tous les 18 mois et augmente dun
facteur 10 tous les 5 ans [100]. Donc, d ici 50 ans, les ordinateurs les plus rapides seront
10 milliards de fois plus rapides quaujourdhui ! Gardons lesprit que ces chiffres ne
prennent en compte que des ordinateurs gnriques ; qui sait quel type de systme de
recherche cryptographique exhaustive pourra tre dvelopp dici 50 ans?
En faisant lhypothse quun algorithme cryptographique sera utilis pendant 30 ans,
vous pouvez avoir une ide du niveau de scurit quil doit offrir. Un algorithme conu
aujourdhui ne sera probablement pas dun usage gnralis avant lan 2 0 0 0 et sera tou
jours utilis en lan 2025 pour chiffrer des messages qui devront rester secrets jusquen
2075 ou plus tard.
7.6
Avertissement
Chapitre 8
Chapitre 8
182
8.1
Gnration de clefs
4 octets
460000
1700000
1,5 xlO7
8,1 xlO 7
2,7x10
4,3 x 109
5 octets
1,2 xlO7
6,0 xlO 7
9,2 x 10
7,7 xlO9
3,4 xlO 10
1,1 xlO 12
6 octets
3,1x10
2,2 x 109
5,7 xlO 10
7,4 xlO11
4,4 x 1012
2,8 x 1014
7 octets
8,0x 10
7,8 xlO10
3,5 xlO 12
7,0 xlO13
5,6 xlO 14
7,2 xlO 16
8 octets
2,1 xlO 11
2,8 xlO 12
2,2 xlO 14
6,6 xlO 15
7,2 xlO 16
1,8 xlO 19
8.1
183
Gnration de clefs
Tab. 8.2 - Recherche exhaustive de diffrents espaces de clefs (sur la base dun million
de tentatives par secondes)
Lettres minuscules (26)
Lettres minuscules et chiffres (36)
Caractres alphanumriques (62)
Caractres affichables (95)
Caractres ASCII (128)
Caractres ASCII 8 bits (256)
4 octets
0,5 s
1,7 s
15,0 s
1,4 mn
4,5 mn
1,2 h
5 octets
12 s
1 mn
15 mn
2,1 h
9,5 h
13 j
6 octets
5 mn
36 mn
16 h
8,5 j
51 j
8,9 ans
7 octets
2,2 h
22 h
41 j
2,2 ans
18 ans
2300 ans
8 octets
2,4 j
33 j
6,9 ans
210 ans
2 300 ans
580000 ans
Des mots de diffrentes bases de donnes. Celles-ci comprennent les listes des
noms dhommes et de femmes (environ 16 0 0 0 au total) ; des noms d endroits (y
1 Note du traducteur : l inform ation reprise dans cette section est typiquem ent anglo-saxonne mais
elle est galement d application, moyennant de lgres m odifications, pou r les utilisateurs d expression
francophone.
184
Chapitre 8
4. Diffrentes mises en majuscule des mots de ltape 2 qui ne furent pas considres
pour ltape 3. Cela inclut la mise en majuscule dune seule lettre toutes les
positions possibles (ainsi m ichael donne m ichael , miChael , micHael ,
michAel , etc.), la mise en majuscule de deux lettres ( M ichael , MiChael ,
MicHael , .. , mIChael , mlcHael , etc.), la mise en majuscule de trois
lettres, etc. La mise en majuscule dune seule lettre rajouta environ 400000 mots
tester par utilisateur tandis que la mise en majuscule de deux lettres rajouta
1500 000 de mots supplmentaires. La mise en majuscule de trois lettres aurait
rajout au moins 3000000 de mots par utilisateur sil y avait eu suffisamment de
8.1
Gnration de clefs
185
temps pour effectuer les tests. Tester les mises en majuscule de quatre, cinq et
six lettres savrait infaisable sans beaucoup plus de puissance de calcul.
5. Des mots de langues trangres pour des utilisateurs trangers. Le test spcifique
qui fut ralis tait dessayer des mots de passe chinois pour les utilisateurs chi
nois. La romanisation Pidgin des syllabes chinoises a t utilise, en combinant
les syllabes par une, deux ou trois pour former des mots. Comme aucun test ne
fut fait pour dterminer si les mots engendrs avaient un sens, une recherche ex
haustive fut entame. Comme il y a 298 syllabes chinoises dans le systme Pidgin,
il y a 158 404 mots de deux syllabes et un peu plus de 16 000 000 de mots de trois
syllabes. Un mode d attaque similaire peut tre aisment utilis pour la langue
anglaise en utilisant des rgles pour construire des mots prononables mais sans
aucun sens.
6.
Des paires de mots. L ordre de grandeur dun test exhaustif de ce type est stup
fiant. Pour simplifier le test, seuls les mots de trois et quatre caractres de long
de /usr/dic.t/words furent utiliss. Mme ainsi, le nombre de paires est de lordre
de dix millions.
Une attaque par dictionnaire est bien plus efficace quand elle est monte contre un
fichier de clefs plutt que contre une seule clef. Un seul utilisateur peut tre assez
malin pour choisir de bonnes clefs. Si un millier de personnes choisissent leur propre
clef comme mot de passe d accs un systme informatique, les chances sont leves que
le mot de passe d au moins une personne se trouve dans le dictionnaire de lattaquant.
Clefs alatoires
Les bonnes clefs sont des chanes alatoires de bits gnres par des processus automa
tiques. Si une clef a 64 bits de long, toutes les chanes possibles de 64 bits devraient
tre quiprobables. Engendrez les bits de la clef partir dune source alatoire fiable
(voir 17.14) ou d un gnrateur pseudo-alatoire de bits cryptographiquement sr
(voir chapitres 16 et 17). Si ces dispositifs automatiques ne sont pas disponibles, lancez
une pice de monnaie ou un d.
Cest important, mais ne vous laissez pas emporter dans une conversation quant
savoir si les bruits alatoires des sources audios sont plus alatoires que ceux des dchets
radioactifs. Aucun de ces bruits alatoires sera parfait, mais ils seront probablement
assez bons. Il est important d utiliser un bon gnrateur de nombre alatoire pour la
gnration de clef, mais il est encore plus important dutiliser de bons algorithmes de
chiffrement et de bonnes procdures de gestion de clefs. Si le fait que vos clefs soient
alatoires vous ennuie, utilisez la technique du broyage de clef, dcrite plus loin.
Certains algorithmes de chiffrement ont des clefs faibles : des clefs spcifiques qui sont
moins sres que les autres clefs. Je vous conseille de dtecter ces clefs et d en engendrer
une autre si vous en dcouvrez une. Le DES na que 16 ('lefs faibles sur 256, donc les
chances dengendrer Lune d elles sont incroyablement faibles. Il a t argument quun
cryptanalyste naurait pas la moindre ide quune clef faible est utilise et donc ne
tire pas avantage de leur utilisation accidentelle. Toutefois, dtecter les quelques clefs
faibles est tellement facile quil semble imprudent de ne pas le faire.
Engendrer des clefs pour les systmes de cryptographie clef publique est nettement
plus difficile car souvent les clefs doivent avoir certaines proprits mathmatiques
Chapitre 8
186
(elles doivent parfois tre un nombre premier, un rsidu quadratique, etc.). Des tech
niques pour engendrer des grands nombres premiers alatoires sont dcrites dans le
paragraphe 11.5. La chose importante se rappeler du point de vue de la gestion des
clefs est que les germes de ces gnrateurs doivent tre compltement alatoires.
Engendrer une clef alatoire n est pas toujours possible. Parfois, il est ncessaire de
mmoriser votre clef2. Si vous devez engendrer une clef facile mmoriser, rendezla obscure. Lide est d avoir quelque chose de facile mmoriser mais de difficile
deviner. Voici quelques suggestions :
- Des paires de mots spars par un signe de ponctuation,
par exemple: tu rtle*m oose ou z o r c h ls p la t .
- Des chanes de caractres qui sont un acronyme de phrases plus longues, par
exemple Mein Luftkissenfahrzeug ist voiler Aale! donne la clef MLivA ! .
Phrases-mots de passe
Une meilleure solution est d utiliser une phrase entire au lieu dun seul mot et de
convertir cette phrase en une clef. Ces phrases sont appeles phrase clef Une technique
appele broyage de clef, transforme des phrases faciles mmoriser en des clefs
alatoires. Utilisez une fonction de hachage sens unique pour transformer un texte
de longueur quelconque en une chane de bits pseudo-alatoire.
Par exemple, le texte suivant facile mmoriser:
Mon nom est Ozymandias, roi des rois. Contemple mon uvre, O toi le
tout puissant, et dsespre.
pourrait tre broy pour donner la clef de 64 bits suivante (en hexadcimal) :
E6C1 4398 5AE9 0A9B
Bien sr, taper une phrase entire dans un ordinateur peut se rvler difficile. Les
bonnes ides pour rsoudre ce problme sont les bienvenues.
Si la phrase est assez longue, la clef rsultante sera alatoire. Ce que signifie exactement
assez longue est sujet interprtation. La thorie nous dit que langlais standard a
peu prs 1,3 bits d information par caractre (voir 11.1). Pour une clef de 64 bits,
une phrase clef d peu prs 49 caractres, ou de 10 mots normaux anglais, devrait
tre suffisante. A vue de nez, dites-vous que vous avez besoin de 5 mots pour 4 bits de
clef C est une hypothse modre, sachant que cela ne prend en compte ni les lettres
majuscules ou minuscules, ni lespacement, ni la ponctuation.
Cette technique peut mme tre utilise pour engendrer la clef prive des systmes
cryptographiques clef publique : le texte peut tre transform en un germe alatoire
et ce germe peut tre fourni un systme dterministe qui engendre la paire clef
prive, clef publique .
Si vous choisissez une phrase clef, choisissez quelque chose d unique et de facile retenir.
Ne choisissez pas des phrases extraites de la littrature, lexemple de Ozymandias
nest pas bon. Les uvres compltes de S h a k e s p e a r e et les dialogues de La guerre
des toiles (Star Wars) sont disponibles et peuvent tre utiliss pour une attaque
2. Constatez com bien de tem ps il vous faut pou r m m oriser 25e8 5 6 f2 e8ba c820.
8.1
Gnration de clefs
187
F ig.
8 .1
Soit E k ( X ) le chiffrement DES de X avec la clef K . C est une clef spciale rserve
la gnration de clefs. Vo est un germe de 64 bits secret. T est une datation. Pour
engendrer la clef alatoire Ri, calculez :
Ri
Epc(Efi-(7'z)
Vi).
( E k ( Ti ) R i ) .
Pour transformer Ri en une clef DES, ajustez simplement un bit sur huit pour la
parit. Si vous avez besoin dune clef de 64 bits, utilisez-la telle quelle. Si vous avez
besoin dune clef de 128 bits, engendrez une paire de clefs et joignez-les.
Chapitre 8
188
8.2
Imaginez que vous tes une organisation militaire de cryptographie, fabriquant des
quipements de cryptographie pour vos troupes. Vous voulez utiliser un algorithme sr,
mais vous avez peur que cet quipement tombe entre des mains ennemies. La dernire
chose que vous voulez est que cet ennemi soit capable dutiliser cet quipement pour
protger ses propres secrets.
Si vous pouvez placer votre algorithme dans un module inviolable, voici ce que vous
pouvez faire. Vous pouvez exiger des clefs de forme spciale et secrte ; toutes les autres
clefs feront que le module chiffrera et dchiffrera en utilisant un algorithme svrement
affaibli. Vous pouvez vous arranger pour que les chances de tomber sur une clef correcte
soient de plus en plus faibles quand on ne connat pas cette forme spciale.
On appelle cela un espace de clef non linaire, car toutes les clefs ne sont pas de
force gale, (le contraire est un espace de clef linaire). Une manire facile de le faire est
de crer la clef en deux parties : la clef elle-mme et une chane fixe chiffre avec cette
clef. Le module dchiffre la chane avec la clef; si il obtient la chane fixe il utilise la
clef normallement, sinon, il utilise un algorithme diffrent, plus faible. Si lalgorithme a
une clef de 128 bits et une taille de 64 bits, la clef gnrale est de 192 bits ; ceci donne
lalgorithme une clef efficace de 2 128 et rduit les chances de trouver par hasard une
bonne clef un contre 2 64.
Vous pouvez mme tre encore plus subtil. Vous pouvez crer un algorithme tel que
certaines clefs sont plus fortes que d autres. Un algorithme peut ne prsenter aucune
clef faible qui soit vraiment trs mauvaise tout en ayant un espace de clef non
linaire.
Ceci ne marche que si lalgorithme est secret et si lennemi ne peut pas en analyser le
code machine, ou si la diffrence entre les niveaux de clefs est suffisamment subtile pour
que cela ne se remarque pas. La NSA la utilis avec ses algorithmes secrets dans ses
modules Overtake (voir 25.1). L ont-ils refait avec Skipjack (voir 13.12)? Personne
ne le sait.
8.3
Transfert de clefs
Alice et Bernard vont utiliser un algorithme cryptographique clef secrte pour com
muniquer de manire sre ; ils ont besoin d une clef commune. Alice engendre une clef
en utilisant un gnrateur alatoire de clefs. Maintenant elle doit la faire parvenir
Bernard, en toute scurit. Si Alice peut rencontrer Bernard quelque part (une alle
sombre, une pice sans fentre, ou sur un des satellites de Jupiter), elle peut lui donner
une copie de la clef. Sinon, ils ont un problme. La cryptographie clef publique rsout
ce problme lgamment et avec un minimum de prarrangements, mais ces techniques
ne sont pas toujours disponibles (voir 3.1). Certains systmes peuvent utiliser des ca
naux de communication alternatifs rputs pour tre srs. Alice peut envoyer Bernard
la clef par un messager de confiance. Elle peut lenvoyer par courrier certifi ou via un
service de livraison express. Elle peut crer un nouveau canal de communication avec
Bernard et esprer que personne ncoute celui-l.
Alice peut envoyer Bernard la clef secrte sur le canal de communication, celui quils
vont utiliser. C est idiot : si le canal garantit le chiffrement, envoyer la clef de chiffrement
8.3
Transfert de clefs
189
en clair sur le mme canal garantit que nimporte qui coutant le canal peut dchiffrer
toutes les communications.
Le standard X 9 .17 [57] dtermine deux types de clefs : les clefs de chiffrement de clefs
et les clefs de donnes. Les clefs de chiffrement de clefs chiffrent les autres clefs
pour la distribution. Les clefs de donnes chiffrent le trafic des messages. Ces clefs de
chiffrement de clefs doivent tre distribues manuellement (bien quelles puissent tre
en scurit dans un systme inviolable, tel quune carte puce), mais seulement trs
rarement. Les clefs de donnes sont distribues plus souvent. Vous trouverez plus de
dtails dans [82]. Ce concept de deux niveaux de clefs est trs utilis dans la distribution
de clefs.
Une autre solution au problme de distribution est de diviser la clef en plusieurs mor
ceaux (voir 3.6) et denvoyer chaque morceau par un canal diffrent. Un morceau
pourrait tre envoy par tlphone, un par courrier, un par courrier express, un par
pigeon voyageur, etc. (voir la figure 8.2). Comme un adversaire arrivant collecter
tous les morceaux sauf un ne pourra pas reconstruire la clef, cette mthode marchera
dans tous les cas except les cas extrmes. Le paragraphe 3.6 prsente des schmas
pour diviser une clef en plusieurs morceaux. Alice pourrait mme utiliser un schma
de partage de secret (voir 3.7), permettant Bernard de reconstruire la clef mme si
quelques morceaux se sont gars pendant la transmission.
190
Chapitre 8
8.4
Vrification de clefs
Quand Bernard reoit une clef, comment peut-il savoir que celle-ci vient bien dAlice
et non pas de quelquun qui se fait.passer pour Alice? Si Alice lui a donne lors dune
rencontre en chair et en os, cest facile. Si Alice a envoy la clef par un porteur de
confiance, alors Bernard doit avoir confiance dans le porteur. Si la clef est chiffre avec
une clef de chiffrement de clefs, alors Bernard doit avoir confiance dans le fait que seule
Alice a cette clef. Si Alice utilise un protocole de signature numrique pour signer la
clef, Bernard doit avoir confiance dans la base de donnes de clefs publiques quand il
vrifie la signature (il doit aussi croire qu Alice n a pas divulgu sa clef). Si le Centre
de Distribution des Clefs (C D C ) signe la clef publique dAlice, Bernard doit avoir
confiance dans le fait que la clef publique du C D C na pas t falsifie.
En fin de compte, quelquun qui contrle compltement tout le rseau autour de
Bernard peut lui faire croire ce quil veut. Martin peut envoyer un message chiffr
et sign en prtendant tre Alice. Quand Bernard essaie datteindre la base de donnes
de clefs publiques pour vrifier la signature dAlice, Martin peut fournir sa propre clef
publique. Martin peut inventer son propre C D C factice et remplacer les vraies clefs
publiques du C D C pour son propre usage. Bernard ne se rendra compte de rien.
Certaines personnes ont utilis cet argument pour clamer que la cryptographie clef
publique est inutile. Comme le seul moyen pour Alice et Bernard de sassurer que leur
clef nest pas falsifie est de se rencontrer en chair et en os, la cryptographie clef
publique namliore pas du tout la scurit.
Cette vision est nave. C est thoriquement vrai, mais la ralit est bien plus compli
que. La cryptographie clef publique, utilise avec des signatures numriques et des
C D C de confiance, rend bien plus difficile la substitution dune clef par une autre.
Bernard peut ne jamais tre tout fait certain que Martin ne manipule pas son uni
vers, mais Bernard peut tre certain que faire cela ncessite bien plus de ressources que
celles dont disposent la plupart des Martin du monde rel.
Bernard peut aussi vrifier la clef d Alice par tlphone, il entend alors sa voix. La
reconnaissance de la voix est un trs bon moyen d identification. Si c est une clef
publique, il peut la rciter en toute scurit en public. Si c est une clef secrte, il peut
utiliser une fonction de hachage sens unique pour vrifier la clef. P G P (voir 24.12)
et A T & T T SD (voir 24.18) utilisent tous les deux ce genre de vrification de clef.
Parfois, il peut mme tre sans importance de vrifier qui appartient une clef publique.
8.4
Vrification de clefs
191
Il peut tre ncessaire de vrifier quelle appartient bien la mme personne que celle
qui elle appartenait lan dernier. Si quelquun envoie un ordre de retrait une banque, la
banque ne doit pas sinquiter de savoir qui retire largent, elle doit seulement sassurer
que cest la mme personne que celle qui a dpos largent originellement.
3 Hachez le rsultat.
4 Utilisez les mme bits de lempreinte, par exemple 32, pour la somme de
contrle de la clef.
Ceci donne Estelle des informations, mais trs peu. Si elle essaie dutiliser les 32
bits de la valeur finale du hachage pour entreprendre une attaque massive, elle devra
effectuer de multiples chiffrements ainsi quun hachage par clef; une attaque massive
sur la clef elle-mme serait plus rapide.
Chapitre 8
192
De plus, elle naura pas de valeurs de texte en clair connues essayer, et mme si elle
arrive choisir une valeur alatoire notre place, elle ne pourra pas choisir un de nos
textes, puisquils passent au hachage avant quelle puisse les voir.
8.5
Le chiffrement par logiciel est angoissant. Il est loin le temps o les simples microordinateurs taient sous le contrle de programmes isols. Maintenant, il y a le SYSTEM
7 du M a c i n t o s h , W i n d o w s N T et U NIX. Vous ne pouvez pas prvoir quand le
systme va interrompre lapplication de chiffrement en cours, crire le tout sur disque,
et soccuper dune tche urgente. Quand le systme redonne finalement la main au
chiffrement de ce qui doit tre chiffr, tout a lair normal. Personne ne ralise que
le systme a crit toute lapplication de chiffrement sur disque et quil a crit la clef
en mme temps. La clef est maintenant sur le disque, non chiffre jusqu ce que
lordinateur rcrive cet endroit nouveau. Cela peut prendre des minutes ou des
mois. Cela pourrait mme jamais se produire : la clef pourrait encore tre l quand
un adversaire passe le disque dur au peigne fin. Dans un environnement multitche
premptif, vous pouvez mettre votre application un niveau de priorit suffisamment
lev pour quelle ne soit pas interrompue. Cela diminuerait le risque. Mme ainsi, c est
encore trop hasardeux.
Les ralisations matrielles sont plus sres. De nombreux dispositifs sont conus pour
effacer la clef si lon essaie de les dcortiquer. Par exemple, la carte de chiffrement de
lIBM P S /2 a une unit en poxyde qui contient la puce DES, lalimentation et la
mmoire. Bien sr, vous devez faire confiance au fabricant pour quil ait ralis cela
correctement.
Quelques applications de communication, tels que les chiffreurs de tlphone, peuvent
utiliser des c l e f s d e s e s s i o n . Une clef de session est une clef quon utilise juste pour
une opration de communication une seule conversation tlphonique puis dont
on se dbarasse. Il n y a pas de raison de garder la clef aprs quelle ait t utilise. Et si
vous utilisez un protocole dchange de clef pour la transfrer, elle na pas besoin d tre
stocke avant d tre utilise. De ce fait, la clef est moins susceptible d tre compromise.
8.6
193
directement aux clefs. Ce systme est abord plus fond dans les chapitres 24.1 et
24.8.
8.7
Le stockage de clefs le moins complexe est pour lutilisateur isol, Alice, qui chiffre
ses fichiers pour une utilisation future. Comme elle est la seule concerne, elle est la
seule responsable de sa clef. Certains systmes prennent une approche facile : la clef
est stocke dans le cerveau d Alice et jamais dans le systme. Alice doit mmoriser la
clef et lentrer chaque fois quelle a besoin quun fichier soit chiffr ou dchiffr.
Un exemple dun tel systme est donn par IPS [881]. Les utilisateurs peuvent soit
entrer directement leur clef de 64 bits, soit entrer la clef sous forme d une longue
chane de caractres. Le systme engendre alors une clef de 64 bits partir de la chane
de caractres, laide dune technique de broyage de clefs.
Une autre solution est de stocker la clef sur une carte piste magntique, une clef en
plastique avec une puce R O M (appele une clef R O M ), ou sur une carte puce [558,
559, 461]. Un utilisateur peut alors entrer sa clef dans le systme, en insrant sa carte
dans un lecteur spcial de la bote de chiffrement ou attach au terminal informatique.
Il peut lutiliser seulement dans les limites prcises par le vecteur de contrle.
La clef RO M est une trs bonne ide. Les personnes comprennent les clefs physiques,
ce quelles reprsentent et comment les protger. Mettre une clef cryptographique sous
cette mme forme rend le stockage et la protection de cette clef plus intuitive.
Cette technique est rendue encore plus sre en morcelant la clef en deux moitis et en
stockant une moiti dans le terminal et lautre moiti dans la clef R O M . Le procd
STU-III du gouvernement amricain de protection du tlphone fonctionne de cette
manire. Perdre la clef R O M ne compromet pas la clef cryptographique, changez-la
et tout rentre dans lordre. Ceci est aussi vrai dans le cas de la perte du terminal. De
cette faon, compromettre soit la clef R O M soit le terminal ne compromet pas la clef
cryptographique un adversaire doit avoir les deux moitis.
Chapitre 8
194
Des clefs difficiles mmoriser peuvent tre stockes sous forme chiffre, en utilisant
quelque chose de similaire une clef de chiffrement de clefs. Par exemple, une clef
prive R SA peut tre chiffre par DES et stocke sur le disque. Pour rcuprer la clef
R SA , l'utilisateur doit donner la clef D ES au programme de dchiffrement.
Si les clefs sont engendres de manire dterministe (avec un gnrateur pseudo
alatoire de nombres cryptographiquement sr) il peut tre plus simple de rengendrer
les clefs partir d un mot de passe facile retenir chaque fois quelles sont ncessaires.
Lidal serait quune clef napparaisse jamais non-chiffre hors du module de chiffre
ment. Ce nest pas toujours possible, mais cest un but que nous devons atteindre.
8.8
Alice est le responsable financier de la socit Secrets, S.A. , Nous ne dvoilons pas
notre devise . Comme tout employ consciencieux, elle suit les consignes de scurit de
sa socit et chiffre toutes ses donnes. Malheureusement, elle ignore les consignes de
scurit routire pour traverser la rue et est renverse par un camion. Que fait Bernard,
le prsident de la socit?
Bernard est bien embarass, moins quAlice nait laiss une copie de sa clef. Le but
du chiffrement est de rendre les fichiers non rcuprables sans la clef. Ses fichiers seront
perdus jamais, moins quAlice soit une dbile ou quelle utilisait un logiciel de
chiffrement miteux.
Bernard peut viter cela de plusieurs manires. La plus simple est parfois appele
d p t d e c l e f (voir 4.14) : Bernard exige que ses employs mettent leur clef par crit
et la donnent au responsable de la scurit de lentreprise, qui les enfermera en lieu sr
(ou qui les chiffrera toutes avec une clef matresse). Maintenant, si Alice est tue sur
lautoroute, Bernard peut demander la clef dAlice son responsable de la scurit.
Bernard devrait aussi sassurer d avoir personnellement la combinaison du coffre, sinon
si le responsable de la scurit est lui aussi cras par un autre camion, Bernard serait
de nouveau frapp par la malchance.
Le problme avec ce systme de gestion de clefs est que Bernard doit avoir confiance
dans le responsable de la scurit pour que celui-ci ne fasse pas un mauvais usage des
clefs dont il a la garde. Plus important encore, tous les employs doivent avoir confiance
dans le responsable de la scurit pour quil ne fasse pas mauvais usage de leur clef.
Une bien meilleure solution est d utiliser un protocole de partage de secret (voir 3.7).
Quand Alice engendre la clef, elle partage galement celle-ci en un certain nombre de
morceaux. Elle envoie ensuite chaque morceau chiffr bien sr un employ
diffrent de la compagnie suivant en cela les consignes de scurit de la socit. Aucun
des morceaux nest la clef lui seul mais quelquun peut rassembler les morceaux et
peut ainsi reconstruire la clef. Maintenant, Alice est protge contre toute personne
malintentionne et Bernard est protg de la perte de toutes les donnes dAlice en
cas d accident. Ou encore, elle peut stocker tous les morceaux, chacun chiffr avec une
clef publique d un employ diffrent de la socit, sur son propre disque dur . De cette
faon, personne ne soccupe de la gestion des clefs tant que ce nest pas ncessaire.
Un autre schma de duplication de clef [194] utilise les cartes puce (voir 24.13)
pour le dpt temporaire des clefs. Alice peut mettre sa clef d ordinateur sur une carte
puce et la donner Bernard pendant quelle sabsente. Bernard peut utiliser la carte
pour avoir accs son ordinateur, mais comme la clef est inscrite dans la carte, Bernard
8.9
Clefs compromises
195
ne peut pas la connatre. Et le systme marche double sens : Bernard peut vrifier
que la clef permet laccs lordinateur d Alice, et quand Alice reviendra, elle pourra
vrifier si Bernard a utilis la clef et si oui, combien de fois.
Un tel schma nest pas applicable aux transmissions de donnes. Sur un tlphone
protg, la clef ne devrait exister que le temps de lappel. Pour le stockage de donnes,
comme on vient de le dire, le dpt de clef peut tre une bonne ide. Jai perdu environ
une clef tous les cinq ans, et ma mmoire est suprieure la moyenne. Si 200 millions
de personnes utilisaient la cryptographie, ce mme taux quivaudrait 40 millions de
clefs perdues annuellement. Je laisse un double des clefs de ma maison mon voisin,
au cas o je les perde. Si les clefs de la maison taient des clefs cryptographiques, et si
je les perdais, je ne pourrais plus jamais rentrer chez moi. Au mme titre que je garde
part un duplicata de mes donnes, il me semble logique de garder une copie de ses
clefs de chiffrement de donnes.
8.9
Clefs compromises
Tous les protocoles, techniques et algorithmes de ce livre ne sont srs que si la clef (la
clef prive dans un systme cryptographie clef publique) reste secrte. Si la clef
dAlice est perdue, vole, imprime dans un quotidien ou compromise dune faon ou
dune autre, alors toute sa scurit senvole.
Si la clef compromise tait celle d un systme cryptographique clef secrte, Alice doit
changer sa clef et esprer que le dommage caus est minimum. Si ctait une clef prive,
elle a de plus gros problmes ; sa clef publique est probablement sur tous les serveurs
du rseau. Et si Estelle a accs la clef prive dAlice, elle peut alors se faire passer
pour elle sur le rseau : elle peut lire du courrier chiffr, signer de la correspondance,
conclure des contrats, et ainsi de suite. Estelle peut devenir Alice.
Quand une clef prive est compromise il est vital de diffuser linformation le plus vite
possible travers le rseau. Toute base de donnes publique de clefs publiques doit tre
immdiatement avertie quune clef prive est corrompue, sinon quelquun qui nest pas
au courant pourrait chiffrer un message avec cette clef.
Il faut esprer quAlice sait quand sa clef a t compromise. Si un C D C gre les clefs,
Alice doit lavertir que sa clef a t compromise. Sil n y a pas de C D C , elle doit
alors avertir tous ses correspondants. Quelquun doit rendre public le fait que tout
message reu aprs la perte de la clef est suspect et que personne ne doit envoyer
de message Alice avec la clef publique associe. Lapplication devrait utiliser un
systme de datation et les utilisateurs peuvent alors diffrencier les messages suspects
des messages lgitimes.
Si Alice ne sait pas exactement quand sa clef a t compromise, les choses sont plus
difficiles. Alice peut vouloir annuler un contrat sign par la personne qui a vol la clef.
Si le systme le permet, alors tout un chacun a la possibilit d annuler un contrat rien
quen prtendant que sa clef a t compromise avant la signature du contrat. Seul le
juge pourra en dbattre.
Cest un problme trs srieux qui met en lumire les dangers que prend Alice en liant
son identit une seule clef. Alice ferait mieux d avoir diffrentes clefs pour diffrentes
applications tout comme elle a diffrentes clefs dans sa poche qui ouvrent diffrentes
serrures. D autres solutions ce problme sont la biomtrie, des limitations d utilisation
dune clef, linsertion de dlais et la contre-signature.
196
Chapitre 8
Les procdures et les recommandations sont rarement optimales, mais elles sont ce que
lon peut faire de mieux. La morale de cette histoire est quil faut protger les clefs, et
les clefs prives par-dessus tout.
8.10
Aucune clef de chiffrement ne doit tre utilise pour une priode indfinie. Elle devrait
expirer automatiquement tout comme un passeport ou une licence. 1 1 y a plusieurs
raisons cela :
- Plus la clef sera utilise longtemps, plus elle aura de chances dtre compromise.
Les gens mettent par crit les clefs, ils les perdent. Les accidents arrivent. Si
vous utilisez la mme clef pendant un an, il y a bien plus de chances quelle soit
compromise que si vous lutilisez un jour seulement.
Plus la clef est utilise longtemps, plus grande est la perte si la clef est compro
mise. Si la clef est utilise seulement pour chiffrer un seul document de budget
sur un serveur de fichiers, alors la perte de la clef ne compromet que ce document.
Si la mme clef est utilise pour chiffrer tous les budgets sur le serveur de fichiers
alors la perte est nettement plus catastrophique.
- Plus la clef est utilise longtemps, plus grande est la tentation pour quelquun de
fournir leffort ncessaire pour la retrouver mme si cet effort est une attaque
exhaustive. Retrouver une clef partage par deux units militaires pendant un
jour permettrait quelquun de lire et dengendrer des messages entre ces deux
units pendant un jour. Retrouver une clef partage par un tat-major de larme
pendant un an permettrait la mme personne de lire et dengendrer des mes
sages travers le monde entier pendant toute une anne. En ayant conscience
du budget, dans notre monde daprs-guerre froide, quelle clef choisiriez-vous
dattaquer?
- Il est en gnral plus facile d effectuer une cryptanalyse quand on a plus de texte
chiffr avec une mme clef.
Pour toute application cryptographique, il doit y avoir une consigne qui dtermine la
longvit dune clef. Des clefs diffrentes peuvent avoir des longvits diffrentes. Pour
un systme bas sur la connection, tel que le tlphone, il semble logique dutiliser une
clef pour la dure de lappel et d en utiliser une nouvelle chaque appel. Les systmes
ddis aux canaux de communication ne sont pas si vidents Les clefs devraient avoir
une dure de vie relativement courte, selon la valeur et la quantit de donnes chiffres
pendant une priode donne. La clef pour une liaison de communication 1 gigabit
par seconde doit tre change plus souvent que la clef pour une liaison par modem
9600 bauds. En faisant lhypothse quil existe une mthode efficace pour transmettre
des nouvelles clefs laide d une clef de chiffrement de clefs, les clefs de session doivent
tre changes au minimum chaque jour.
Les clefs de chiffrement de clefs ne doivent pas tre changes aussi souvent. Elles sont
utilises occasionnellement (grosso modo une fois par jour) pour lchange de clefs. Cela
gnre peu de texte chiffr au cryptanalyste, et le texte en clair correspondant na pas
8.11
197
8.11
Etant donn que les clefs doivent tre remplaces rgulirement, les vieilles clefs doivent
tre dtruites. Les vieilles clefs ont de la valeur, mme si elles ne sont plus jamais
utilises. Avec celles-ci, un adversaire peut lire d anciens messages chiffrs [70].
Les clefs doivent tre dtruites de manire sre (voir 10.9). Si la clef est crite sur un
bout de papier, le papier peut tre dchiquet ou brl. Veillez utiliser une machine
dchiqueter de trs bonne qualit : de nombreux mauvais dchiqueteurs sont sur le
march. Les algorithmes de ce livre sont protgs des attaques exhaustives qui cotent
des millions de dollars et qui prennent des millions d annes. Si un adversaire peut
retrouver votre clef en rcuprant la sortie de la machine dchiqueter dans votre
poubelle, et sil peut payer 1 0 0 chmeurs dans un pays pauvre 0 , 1 dollar par heure
pendant un an pour recoller les pages dchiquetes, cela ne reprsenterait que 26 0 0 0 $
bien dpenss.
Si la clef est dans une mmoire E E P R O M , la clef peut tre rcrite plusieurs fois. Si la
clef est dans une E P R O M ou une P R O M , la puce doit tre broye en mille morceaux
et dissmine aux quatre vents. Si la clef est stocke sur un disque d ordinateur, les bits
utiliss pour son stockage doivent tre rcrits plusieurs fois (voir 10.9) ou le disque
devrait lui-mme tre dchiquet.
Un problme potentiel est que, dans un ordinateur, les clefs peuvent tre facilement
copies et stockes en divers endroits. Tout ordinateur qui autogre sa mmoire, en
Chapitre 8
198
8.12
La cryptographie clef publique rend la gestion des clefs plus facile mais elle a ses
propres problmes. Chaque personne na quune clef publique, peu importe le nombre
dutilisateurs du rseau. Si Alice veut envoyer un message Bernard, elle doit se pro
curer la clef publique de Bernard. Elle peut lobtenir de plusieurs manires :
Elle peut lobtenir auprs de Bernard.
Elle peut lobtenir auprs dune base de donnes centrale.
Elle peut lobtenir partir de sa propre base de donnes prive.
Le paragraphe 2.5 prsente un certain nombre dattaques contre la cryptographie clef
publique, base sur Martin qui remplace la clef de Bernard par la sienne. Le scnario
est quAlice veut envoyer un message Bernard. Elle demande la base de donnes
publique et obtient la clef publique de Bernard. Mais Martin, qui est sournois, remplace
la clef de Bernard par la sienne. (Si Alice demande directement Bernard, Martin doit
intercepter la communication entre Alice et Bernard et remplacer la clef de Bernard par
la sienne.) Alice chiffre son message avec la clef de Martin et lenvoie Bernard. Martin
intercepte le message, le dchiffre, le lit. Il le rechiffre alors avec la vraie clef publique
de Bernard et envoie le rsultat Bernard. Ni Alice, ni Bernard ne remarquent quoi
que ce soit.
8.12
199
200
Chapitre 8
quAlice et Bernard nont confiance quen leurs amis. Peut-tre quAlice et Bernard
nont confiance en personne.
La gestion distribue des clefs, utilise dans le programme Pretty Good Privacy
(P G P ) (voir 24.12) rsout ce problme laide de parrains. Les parrains sont
dautres utilisateurs du systme qui peuvent signer les clefs publiques de leurs amis.
Par exemple, quand Bernard engendre sa clef publique, il en donne une copie ses
amis: Christine et David. Ils connaissent Bernard et donc ils signent chacun la clef
publique de Bernard et lui envoient une copie des clefs signes. Maintenant, Bernard
prsente sa clef publique une trangre, Alice; il la lui prsente avec les signatures
de ses deux parrains. Si Alice connat et a confiance en Christine, elle a des raisons
de croire que la clef de Bernard est valide. Si elle connat un peu et a quelque peu
confiance en Christine et David, elle a des raisons de croire que la clef de Bernard est
valide. Si elle ne connat ni Christine ni David, elle na aucune raison de faire confiance
la clef de Bernard.
Au fil du temps, Bernard rassemblera bien plus de parrains. Si Alice et Bernard gra
vitent dans les mmes cercles, les chances d Alice de connatre un des parrains de
Bernard sont leves. Pour se prmunir contre Martin qui remplace une clef par une
autre, un parrain doit sassurer que la clef de Bernard appartient bien celui-ci avant de
la signer. Le parrain peut demander que la clef soit communique lors d une rencontre
en chair et en os, ou vrifie par tlphone.
L avantage de ce mcanisme est quil ny a pas dA C en qui tout le monde doit avoir
confiance. Le dfaut est que lorsquAlice reoit la clef publique de Bernard, elle na
aucune garantie de connaitre un des parrains, et par consquent aucune garantie de
pouvoir avoir confiance dans la validit de cette clef.
Chapitre 9
202
9.1
Chapitre 9
9.2
Bloc rejou
203
Remplissage
La plupart des messages ne se divisent pas exactement en un nombre entier de blocs
de 64 bits (ou de toute autre taille) : il y a d habitude un bloc court la fin. LECB
traite des blocs de 64 bits. Le rem plissage permet de rgler ce problme.
Remplissez le bloc avec un schma rgulier
des zros, des uns, des uns et des zros en
alternance pour complter le bloc. Si vous devez tre capable de retirer le remplissage
aprs le dchiffrement, ajoutez le nombre d octets de remplissage comme dernier octet
du dernier bloc. Par exemple, faites lhypothse que la taille des blocs est de 64 bits,
et que le dernier bloc contient 3 octets (24 bits). Cinq octets de remplissage sont
ncessaires pour transformer le dernier bloc en un bloc de 64 bits; ajoutez 4 octets
de 0 et un octet final avec le nombre 5. Aprs dchiffrement, dtruisez les 5 derniers
octets du dernier bloc dchiffr. Pour que cette mthode marche correctement, tous les
message doivent tre remplis. Mme si le texte en clair sachve la limite dun bloc,
vous devez remplir un bloc complet. Sinon, vous pouvez utiliser un caractre marqueur
de fin de fichier pour dlimiter la fin du texte en clair, puis remplir la suite de ce
caractre.
La figure 9.1 propose une alternative appele vol de texte chiffr [405]. E i n- i est le
dernier bloc en clair plein et M .n est le bloc final en clair court. Cn~j est le dernier bloc
chiffr plein et Cn est le bloc final chiffr court. C' est juste un rsultat intermdiaire
et ne fait pas partie du texte chiffr transmis.
Chiffrement
Mn-1
Dchiffrement
Mn
1r
Cnu
C
r
1f
Cn
ir
C
Mn
F ig. 9.1
9.2
1r
1r
C
Bloc rejou
Un dfaut plus dangereux avec le mode E C B est que ladversaire pourrait modifier les
messages chiffrs sans connatre la clef, ni mme lalgorithme, de manire duper le
destinataire lgitime. Ce dfaut fut dcrit en premier dans [295],
Pour illustrer le problme, considrons un systme de transfert de fonds inter-bancaire
qui fait circuler de largent entre des comptes dans diffrentes banques. Pour rendre
204
Chapitre 9
la vie plus facile pour le systme informatique de la banque, les banques se sont mises
daccord sur un format de message standard pour les transferts dargent qui ressemble
ceci :
Banque A : mettrice
Banque B: bnficiaire
Nom du dposant
Numro de compte du dposant
Montant du dpt
15 blocs
15 blocs
6 blocs
2 blocs
1 bloc
1 bloc
15 blocs
15 blocs
6 blocs
2 blocs
1 bloc
Deux messages identiques seraient facilement identifis avec ce systme. Mais, en utili
sant une mthode appele blocs rejous, Martin peut encore senrichir. La figure 9.2
montre que Martin peut extraire les huit blocs chiffrs correspondant son nom et
son numro de compte : les blocs 5 12. En analysant cette figure, Martin, dsormais
arm, ricane dans son coin.
Il intercepte alatoirement des messages de la banque d Alice vers la banque de Bernard
et remplace les blocs 5 12 dans le message avec les octets correspondant son nom et
son numro de compte. Ensuite, il les envoie la banque de Bernard.Il na pas savoir
qui est le dposant lgitime ; il n a mme pas connatre lemontantdu transfert (bien
9.3
205
Numro de bloc
1
Banque
Datation mettrice
Banque
bnficiaire
10
Nom du dposant
11
12
Compte du
dposant
13
Montant
Cham p
quil puisse corrler les messages des diffrents transferts avec des montants diffrents
quil a effectus vers son compte, et ainsi dterminer les blocs chiffrs correspondant
certains montants). Simplement, il remplace les noms et les numros de compte par les
siens et il contemple le solde de son compte augmenter, (il faut que Martin soit prudent
et ne modifie pas le message de retrait, imaginez rien quune seconde que chacun ait
une longueur diffrente.)
Cela prendra plusieurs jours aux banques pour dtecter cela. Lorsquelles feront la
balance journalire des transferts, tout sera en ordre. Ce ne sera certainement pas
avant que lun des dposants honntes saperoive que largent ne lui a pas t crdit,
ou que quelquun remarque lactivit inhabituelle du compte de Martin, que les banques
dcouvriront lescroquerie. Martin nest pas stupide, et dici l il aura ferm son compte,
chang son nom et achet une villa en Argentine.
Les banques peuvent minimiser le problme en changeant frquemment de clef mais
Martin peut aussi travailler plus vite. Nanmoins, rajouter un C A M peut aussi r
soudre le problme. Pourtant, c est un dfaut fondamental en mode ECB. Martin peut
retirer, rpter ou changer des blocs volont. La solution est une technique appele
chanage.
9.3
Chapitre 9
206
i-l
VI
M.
M. ,
1+1
Ci-l
i+J
M i-l
C:i+1
M.
' 'i
M.
'" i + l
Mi = C i-! D n{Ct).
Vecteur dinitialisation
Le mode C B C ne produit des blocs chiffrs diffrents pour des mmes blocs en clair
seulement si un des blocs prcdents est diffrent. Deux messages identiques donneront
toujours le mme texte chiffr. Pis encore, deux messages qui commencent de la mme
faon donneront le mme texte chiffr jusqu la premire diffrence. Certains messages
ont un en-tte commun : un en-tte de lettre, une ligne Frorri dun message lectro
nique, par exemple. Bien quune attaque par blocs rejous soit toujours impossible, ce
dbut identique donne encore dutiles informations au cryptanalyste.
Evitez cela en chiffrant des donnes alatoires comme premier bloc. Ce bloc de donnes
alatoires est appel vecteur dinitialisation (IV pour initialization vector ),
variable d initialisation ou valeur initiale de chanage. LIV na pas de sens : il
est juste l pour rendre chaque message unique. Quand le destinataire dchiffre ce bloc,
il lutilise pour remplir le registre de rtroaction et lignore par ailleurs. Une datation
fait un bon IV. Sinon, utilisez des bits alatoires.
9.3
201
Avec laddition de lIV , des messages en clair identiques donneront des messages chiffrs
diffrents. Il est donc impossible pour un espion de tenter une attaque par blocs rejous,
et encore plus difficile de constituer un carnet de codage. Bien que lIV devrait tre
unique par message chiffr avec la mme clef, ce nest pas une condition absolue.
LIV na pas besoin dtre tenu secret ; il peut tre transmis en clair avec le texte chiffr.
Si vous ntes pas persuad, considrez le raisonnement suivant. Nous possdons un
message de plusieurs blocs: B\, B 2 , ......., B ,. B\ est chiffr avec lIV. B 2 est chiffr
avec le texte chifr de Bi en tant quIV . B 3 est chiffr avec le texte chifr de B 2 en
tant quIV , etc. Donc, sil y a n blocs, il y a n 1 IV , mme si lIV original est gard
secret. Il ny a donc aucune raison de garder lIV secret ; lIV est juste un simple bloc
de texte chiffr un peu comme Bq qui commence la srie.
Remplissage
Le remplissage marche exactement comme dans le mode E B C , mais dans certaines
applications le texte chiffr doit avoir exactement la mme taille que le texte en clair.
Peut-tre quun texte en clair doit tre chiffr et mis exactement la mme place en
mmoire. Dans ce cas, vous devez chiffrer le dernier bloc court diffremment. Faites
lhypothse que le dernier bloc a j bits. Aprs avoir chiffr le dernier bloc complet,
rechiffrez le texte chiffr, slectionnez les j bits les plus gauche du texte chiffr deux
fois et combinez le rsultat par ou exclusif avec le bloc court pour donner le texte
chiffr. Cela est illustr par la figure 9.4.
M
n-2
Pn (j-bits de long)
-*0
Slectionne
les j-bits
-e
n 1
C (j-bits de long)
208
Chapitre 9
et ne fait pas partie du texte chiffr transmis. Lavantage de cette mthode est que
tous les bits d un message en clair passent par lalgorithme de chiffrement.
Propagation derreurs
Le mode C B C peut tre dcrit comme une rtroaction du texte chiffr du ct du
chiffrement et une alimentation en texte chiffr du ct du dchiffrement. Ceci a des
consquences sur les erreurs. Une erreur d un seul bit dans un bloc de texte en clair
va affecter le bloc de texte chiffr correspondant et tous les blocs de textes chiffrs qui
suivent. Ce nest pas de grande porte parce que le dchiffrement va inverser cet effet
et le texte en clair retrouv aura la mme seule erreur.
Les erreurs dans le texte chiffr sont plus frquentes. Elles peuvent tout simplement
provenir d un bruitage de la liaison ou d un disfonctionnement du dispositif de stockage.
En mode C B C , une erreur d un seul bit dans le texte chiffr affecte un bloc, et un bit
du texte en clair reconstruit. Le bloc contenant lerreur est compltement brouill. Le
bloc suivant a une erreur de 1 bit au mme endroit que le bit erron.
Cette transformation dune petite erreur dans le texte chiffr en une grande erreur
dans le texte en clair est appele amplification derreur. Cest un handicap majeur.
Les blocs aprs le deuxime ne sont pas affects par lerreur, donc le mode C B C est
auto-rparateur. Deux blocs sont affects par une erreur mais le systme rcupre
et continue fonctionner correctement pour tous les blocs suivants. Le C B C est un
exemple d algorithme de chiffrement par blocs utilis d une manire auto-synchronise,
mais seulement au niveau du bloc.
Bien que le mode C B C rcupre rapidement les erreurs de bits, il ne rcupre pas du
tout les erreurs de synchronisation. Si un bit est ajout ou perdu dans le flot de texte
chiffr, alors tous les blocs suivants sont dcals d un bit et le dchiffrement va produire
du charabia indfiniment. Tout cryptosystme qui utilise le mode C B C doit sassurer
que la structure des blocs reste intacte, soit par encadrement soit en stockant les
donnes dans des paquets de plusieurs blocs.
9-4
209
Problmes de scurit
Des problmes potentiels sont causs par la structure mme du C B C . Primo, du fait
quun bloc de texte chiffr affecte les blocs suivants dune manire simple, Martin peut
ajouter des blocs la fin d un message chiffr sans tre dtect. Ce sera coup sr
dchiffr en charabia, mais dans certaines situations, ce nest pas dsirable.
Si vous utilisez le C B C , vous devriez structurer votre texte en clair de faon savoir
o le message sarrte et de pouvoir dtecter les rajouts de blocs supplmentaires.
Secundo, Martin peut altrer un bloc de texte chiffr pour introduire des changements
voulus dans le bloc dchiffr de texte en clair. Par exemple, si Martin change un seul
bit de texte chiffr, le dchiffrement du bloc entier sera incorrect, mais le bloc suivant
comportera une erreur d 1 bit en lieu et place du bit correspondant. Il y a des situations
o ceci est dsirable. Le message en clair entier devrait inclure une sorte de contrle
redondant ou une authentification.
Finalement, bien que les motifs du texte en clair soient dissimuls par le chanage, les
trs longs messages auront encore des motifs. Le paradoxe de lanniversaire prvoit
quil y aura des blocs identiques aprs 2m / 2 blocs, o m est la taille du bloc. Pour un
bloc d une taille de 64 bits, a reprsente peu prs 34 giga-octets. Un message doit
tre incroyablement long avant que ce ne soit un problme.
9.4
210
Chapitre 9
Du ct du dchiffrement, les bits du texte chiffr sont combins par ou exclusif avec
un flux identique de codons pour retrouver les bits du texte en clair.
rrii = a kt
Comme :
ml k i @ki = ml
tout va bien.
La scurit du systme dpend entirement des dtails internes du gnrateur de co
dons. Si le gnrateur de codons engendre un flux continu de zros, le texte chiffr sera
identique au texte en clair et toute lopration sera inutile. Si le gnrateur de codons
engendre un motif rptitif de 16 bits, lalgorithme nest rien dautre que le simple
algorithme du ou exclusif qui nest pas du tout sr (voir 1.4). Si le gnrateur de
codons engendre une suite de bits alatoires (pas pseudo-alatoires, vraiment alatoires
voir 2 .8 ), vous avez la technique du masque jetable et une scurit parfaite.
La scurit des algorithmes de chiffrement en continu concrets est entre les deux ex
trmes (ou exclusif et masque jetable) idalement, elle est plus proche du masque
jetable. Le gnrateur de codons engendre un flux de bits qui ont lair alatoires, mais
en fait il est dterministe et il peut tre reproduit de faon infaillible au moment du
dchiffrement. Plus la sortie du gnrateur est alatoire, plus il est difficile pour le
cryptanalyste de le casser.
Si, nanmoins, le gnrateur de codons engendre le mme flot de bits chaque fois quon
lactive, le systme cryptographique rsultant sera facile casser. Un exemple montrera
mieux pourquoi.
Si Estelle a un texte chiffr et le texte en clair correspondant, elle peut combiner par
ou exclusif le texte en clair avec le texte chiffr pour retrouver le flux de codons. Ou, si
elle dispose de deux textes chiffrs avec le mme flux de codons, elle peut les combiner
par ou exclusif pour obtenir le rsultat de la combinaison par ou exclusif des deux
textes en clair. C est facile casser et elle peut alors combiner par ou exclusif un des
textes en clair avec le texte chiffr pour retrouver le flux de codons.
Maintenant, chaque fois quelle intercepte un message chiffr, elle a les codons nces
saires pour dchiffrer le message. De plus, elle peut dchiffrer et lire tout texte chiffr
quelle aurait intercept avant. Quand Estelle obtient une seule paire texte en clair,
texte chiffr , elle peut tout lire.
Cest pourquoi tous les algorithmes de chiffrement en continu utilisent des clefs. La sor
tie du gnrateur de codons est une fonction de la clef.Maintenant, si Estelle a une paire
texte en clair, texte chiffr , elle peut seulement lire les messages chiffrs avec une
seule clef. Changez la clef et ladversaire se retrouve la case dpart. Les algorithmes
de chiffrement en continu sont spcifiquement utiles pour chiffrer des communications
continues : un lien T - l entre deux ordinateurs, par exemple.
Un gnrateur de codons est compos de trois parties de base (voir la figure 9.7). Ltat
interne dcrit ltat courant du gnrateur de codons. Deux gnrateurs de codons, avec
la mme clef et le mme tat interne, produisent le mme flux de codons. La fonction
de sortie prend ltat interne et engendre un codon (un bit). La fonction tat-suivant
prend ltat interne et engendre un nouvel tat interne.
9.5
F ig. 9.7
9.5
211
Chapitre 9
212
Problmes de scurit
Les systmes de chiffrement autosynchrone en continu sont aussi vulnrables aux at
taques par blocs rejous. D abord, Martin enregistre quelques bits de texte chiffr. Puis,
un peu plus tard, il place cet enregistrement dans la communication. Aprs quelque
charabia initial pendant que le rcepteur se resynchronise, le vieux texte chiffr sera
dchiffr normalement comme lgitime. Le rcepteur na aucun moyen de dterminer
que ces donnes ne sont pas courantes, mais quil sagit de vieilles donnes rejoues. A
moins quun systme de datation soit utilis, Martin peut convaincre une banque de
crditer son compte plusieurs fois en rptant toujours le mme message (en suppo
sant que la clef nait pas chang, bien sr). D autres faiblesses dans ce type de schma
pourraient tre exploites dans le cas de frquentes resynchronisations [412].
9.6
Chiffrement rtroaction
Un bloc chiffr peut aussi tre utilis en tant que chiffrement autosynchrone en continu ;
cela sappelle le mode de chiffrement rtroaction (C F B pour Cipher Feedback ).
Avec le mode C B C , le chiffrement ne peut pas commencer avant quun bloc complet
de donnes ait t reu. C est un dfaut dans certaines applications rseaux. Dans
lenvironnement d un rseau sr, par exemple, un terminal doit pouvoir transmettre
chaque caractre lordinateur central ds quil est entr. Quand les donnes traiter
se prsentent sous forme de paquets de la taille de loctet, le mode C B C ne fonctionnera
pas.
En mode C F B , les donnes peuvent tre chiffres par units plus petites que la taille
de bloc. L exemple suivant chiffre un caractre ASCII la fois (on parle alors de CFB
8 bits). Mais le chiffre 8 nest pas sacr, vous pouvez chiffrer les donnes un bit
la fois en utilisant un C F B 1 bit, bien quutiliser un chiffrement complet dun bloc
pour un seul bit reprsente beaucoup de travail ; un chiffrement en continu serait une
meilleure ide. (Rduire le nombre de rondes dun chiffrement par blocs pour acclrer
les choses nest pas recommand [1280] ) Vous pouvez aussi utiliser un C FB 64 bits,
ou tout autre C F B n bit o n est infrieur ou gal la taille du bloc.
La figure 9.9 illustre un C FB 8 bits appliqu un algorithme de chiffrement par
blocs de 64 bits. Un algorithme de chiffrement par blocs en mode C F B manipule une
file dattente de la taille dun bloc dentre. Initialement, la file dattente est remplie
avec un IV , comme en mode C B C . La file d attente est chiffre et les huit bits les plus
gauche du rsultat sont combins par ou exclusif avec le premier caractre de 8 bits
du texte en clair pour devenir les 8 premiers bits du texte chiffr. Ce caractre peut
9.6
213
Chiffrement rtroaction
maintenant tre transmis. Les mmes huit bits sont placs dans les huit bits les plus
droite de la file dattente et tous les autres bits sont dcals de huit positions vers la
gauche. Les huit bits les plus gauche sont ignors. Le caractre en clair suivant est
alors chiffr de la mme manire. Le dchiffrement est le processus inverse. Des deux
cts, chiffrement et dchiffrement, lalgorithme de chiffrement par blocs est utilis
dans son mode de chiffrement.
bits
M.i = Ci EK(Ci~i).
F i g . 9 .1 0
Chapitre 9
Tout comme le mode C B C , le mode C FB lie les caractres du texte en clair entre eux
de manire que le texte chiffr dpende de tout le texte en clair qui prcde.
Vecteur dinitialisation
Pour initialiser le processus C FB , lentre de lalgorithme de blocs doit tre initie par
un IV. Tout comme lIV du mode C B C , il na pas besoin dtre secret.
Nanmoins, lIV doit tre unique2. Si le lIV du mode C F B nest pas unique, un
cryptanalyste peut retrouver le texte en clair correspondant. LTV doit tre chang
avec chaque message. Ce peut tre un nombre de srie, qui augmente aprs chaque
message et qui ne se rpte pas tout au long de la vie de la clef. Pour des donnes
chiffres stocker, cela peut tre une fonction de lindex utilis pour rechercher les
donnes.
Propagation derreurs
Avec le mode C F B , une erreur dans le texte en clair affecte tous les textes chiffrs
suivants et cette erreur est inverse par le dchiffrement. Une erreur dans le texte
chiffr est plus intressante considrer. Le premier effet d une erreur d un seul bit
dans le texte chiffr est de provoquer une erreur dun seul bit dans le texte en clair.
Aprs cela, cette erreur entre dans le registre dcalage, o elle embrouille tout jusqu
ce quelle ressorte la fin du registre. En mode C FB 8 bits, 9 octets de texte en clair
dchiffr sont embrouills par une erreur dun seul bit dans le texte chiffr. Aprs cela,
le systme rcupre et tous les textes en clair suivants sont dchiffrs correctement.
En gnral, en mode C F B n bit, une seule erreur dun texte chiffr affectera le
dchiffrement du bloc prsent et des m /n 1 blocs suivants, o m est la taille du bloc
Un problme subtil avec ce type de propagation derreur est que si Martin connat le
texte en clair de la transmission, il peut changer 1 tat de certains bits dun bloc donn
et ainsi le faire dchiffrer en ce quil veut. Le bloc suivant peut tre dchiffr comme
du charabia, mais les dgts peuvent dj avoir t accomplis. Et il peut changer les
derniers bits d un message sans tre dtect.
Le mode C F B est aussi autorparateur pour ce qui est des erreurs de synchronisation.
Lerreur entre dans le registre dcalage, embrouille 8 octets de donnes, jusqu ce
quelle ressorte lautre bout. Le C FB est un exemple d algorithme de chiffrement par
blocs utilis comme algorithme de chiffrement autosynchrone en continu.
9.7
9.7
215
mi
m2
h
Cl
fe2
Cl
m3
k3
c3
m4
c4
Martin insre un seul bit connu, m ', dans le texte en clair aprs m,\ et sarrange pour
faire chiffrer ce nouveau texte en clair avec le mme flux de codons. Il enregistre le
Chapitre 9
216
mi
m'
ki
k2
Cl
C2
m2
k3
m3
c3
C4
7714
k
En faisant lhypothse quil connat la valeur de m ', il peut dterminer tout le texte en
clair aprs ce bit partir du texte chiffr original et du nouveau texte chiffr :
k2 c 2 m 'i et donc rri2 = c2 k2
k3 = c 3 rri2 , et donc m 3 = c 3 A'3
7714
= c4
Martin na mme pas connatre la position dans laquelle le bit a t insr ; il doit
juste comparer le texte chiffr avec le texte chiffr mis jour et dterminer partir
de quel endroit ils diffrent. Pour se protger contre cette attaque, il ne faut jamais
utiliser le mme flux de codons pour chiffrer deux messages diffrents.
9.8
; St = EK(St- i )
M , = Cr St
; Sx Ej((St- i ) .
Si est ltat, qui est indpendant soit du texte en clair soit du texte chiffr.
Une caractristique intressante du mode O F B est qu une grosse partiedu travail peut
tre effectue sparment, avant mmeque
le message en clair
nexiste.Puis,quand
le message arrive, il peut tre combin par ou exclusif avec le produit de lalgorithme
pour produire le texte chiffr.
Vecteur dinitialisation
Le registre dcalage de lO F B doit aussi tre charg initialement avec un IV. Il
devrait tre unique mais na pas besoin d tre secret.
9.8
F i g . 9.11
217
Propagation derreurs
Le mode O F B na pas d amplification derreur. Une erreur d un seul bit dans le texte
chiffr occasionne une erreur dun seul bit dans le texte en clair rcupr. Cela peut
tre utile dans certaines transmissions analogiques numrises, comme la voix ou la
vido numrise, o une erreur occasionnelle dun bit peut tre tolre mais pas lam
plification derreur.
D autre part, la perte de synchronisation est fatale. Si les contenus des registres dca
lage de chiffrement dune part et de dchiffrement dautre part ne sont pas identiques,
alors le texte en clair rcupr sera du charabia. Tout systme qui utilise le mode OFB
doit avoir un mcanisme de dtection de perte de synchronisation, et un mcanisme
F i g . 9 .1 2
Chapitre 9
218
pour remplir les deux registres dcalage avec un nouveau (ou le mme) IV pour
resynchroniser.
F i g . 9 .1 3
Dans une variante de ce mode, la clef dtermine juste ltat initial du gnrateur de
9.9
Mode compteur
219
codons. Une fois que la clef aura rgl ltat interne du gnrateur, celui-ci marchera
sans problme.
9.9
Mode compteur
Les algorithmes de chiffrements par blocs en mode compteur utilise des suites de
nombres en entre de lalgorithme [826, 496, 718]. Au lieu d utiliser la sortie du chiffre
ment pour remplir le registre dcalage, lentre du registre est un compteur. Aprs
chiffrement d un bloc, le compteur est augment dune certaine valeur, typiquement
un. Les proprits de synchronisation et de propagation d erreurs sont les mmes que
pour le mode O FB . Le mode compteur rsoud le problme de sortie de n bit du mode
OFB o n est plus petit que la longueur de bloc.
Rien propos du compteur nest sacr ; il ne doit pas compter toutes les entres pos
sibles dans lordre. Vous pouvez utiliser tous les gnrateurs de suites alatoires des
chapitres 16 et 17, quils soient cryptographiquement srs ou pas, en entre de lalgo
rithme de blocs.
F i g . 9.14
Chapitre 9
220
9.10
Autres modes
Fi+i = Fz C%
M Z= FZ D k (Cz)
Fl+1 = Ft Ci.
M t- i D k (Cz)
9.10
Autres modes
221
une combinaison par ou exclusif de tous les blocs de texte en clair, et combinez-la par ou
exclusif avec le dernier bloc de texte en clair avant chiffrement. Le mode C B C C sassure
que tout changement effectu un quelconque des blocs chiffrs change le rsultat
dchiffr du dernier bloc. Si le dernier bloc contient un type de contrle d intgrit ou
une constante, alors lintgrit du texte en clair dchiffr peut tre vrifie avec peu de
frais supplmentaires.
K i = EK {Ki- 1)
M i = D Kt(Ci)
K i ~ E K ( K i ^ i)
Une erreur dun seul bit dans le texte chiffr ne se rpercute que dans un seul bloc en
clair. Nanmoins, si un seul bit est perdu ou ajout, alors il y a une propagation infinie
derreurs. Avec un algorithme de chiffrement par blocs qui a un algorithme compliqu
de gestion de clef, comme le DES, ce mode est lent. Je ne connais pas de cryptanalyse
de ce mode.
222
Chapitre 9
bloc de texte en clair au lieu du texte chiffr. Le mode de chiffrem ent rtroaction
du te x te en clair (P F B pour plaintext feedback ) est comme le mode C FB , sauf
que c est le texte en clair, et non pas le texte chiffr, qui est utilis pour la rtroaction.
Ces deux modes permettent les attaques texte en clair choisi afin de rsister aux
attaques texte en clair connu. Il y a aussi le mode de chiffrem ent p a r b lo cs avec
chanage des diffren ces en tre b lo c s d e te x te en clair (C B C P D pour cipher
block chaining of plaintext diffrence ). Je suis persuad que c est encore plus trange.
Si un cryptanalyste a une machine de recherche exaustive de clefs, alors il peut re
trouver la clef sil peut deviner un des blocs de texte en clair. Certains de ces modes
tranges reviennent un chiffrement lger avant d appliquer lalgorithme de chiffre
ment : par exemple, combiner le texte par ou exclusif avec une chane de caractres
secrte ou le permuter. A peu prs nimporte quoi dinhabituel permet d viter ce type
de cryptanalyse.
9.11
Si la simplicit et la vitesse sont vos critres principaux, le mode ECB est le plus facile
et le plus rapide utiliser pour un algorithme de chiffrement par blocs. C est aussi le
plus faible. Non seulement un algorithme est vulnrable lattaque des blocs rejous,
mais en mode EC B , il est plus facile cryptanalyser. Je ne recommande donc pas le
mode ECB pour le chiffrement des messages.
Pour le chiffrement de donnes alatoires, telles que d autres clefs, lECB est un bon
mode utiliser. Comme les donnes sont courtes et alatoires, aucun des points faibles
du mode E C B n ont d importance pour cette application.
Pour du texte en clair normal, utilisez plutt les modes C B C , C FB , ou O FB . Celui
que vous choisirez dpendra de vos exigences spcifiques. Les deux tableaux 9.1 et 9.2
rsument la scurit et lefficacit des diffrents modes.
Le mode C B C convient en gnral pour chiffrer des fichiers. L augmentation du niveau
de scurit est significative ; et bien quil puisse y avoir des erreurs de bit dans les don
nes stockes, il n y a presque jamais d erreurs de synchronisation. Si votre application
est une ralisation logicielle, le mode C B C est presque toujours le meilleur choix.
Le mode C FB plus spcifiquement le mode C F B 8 bits est gnralement le mode
de choix pour chiffrer des flots de caractres quand chaque caractre doit tre trait
individuellement, comme c est le cas pour le lien entre un terminal et un ordinateur
central. Le mode O FB est gnralement utilis pour les systmes synchrones grande
vitesse o la propagation derreurs est inacceptable. Le mode O FB est aussi le mode
de choix quand du pr-traitement est requis.
Le mode O F B est le mode de choix dans un environnement o il y a beaucoup d erreurs,
car il ne les propage pas.
Restez lcart des modes tranges. L un des quatre modes de base E C B , CBC,
OFB et C F B
est adquat pour presque nimporte quelle application. Ces modes ne
sont pas exagrment complexes et probablement ne diminuent pas le niveau de scurit
du systme. Bien quil soit possible quun mode compliqu puisse augmenter le niveau
de scurit d un systme, il est plus probable quil naugmente que sa complexit.
9.12
Intercalation
T a b . 9.1 - R s u m
223
d e s m o d e s d e c h if f r e m e n t s p a r b l o c s
ECB
Scurit
C BC
Scurit
Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est jusqu un bloc
plus long que le texte en clair, du fait du
remplissage.
Pas de pr-traitement possible.
+ Le traitement est paralllisable.
Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est jusqu un bloc plus
long que le texte en clair, sans compter
lIV.
Pas de pr-traitement possible.
+ /
Le traitement nest pas drivable;
le dchiffrement est paralllisable et
supporte laccs alatoire.
9.12
Intercalation
Dans la plupart des modes, le chiffrement dun bit (ou dun bloc) dpend du chiffre
ment du bit (ou du bloc) prcdent. Cela rend souvent impossible la paralllisation du
chiffrement. Prenez par exemple du matriel qui fait du chiffrement en mode CBC.
Mme si ce matriel contient quatre puces de chiffrement, une seule peut marcher la
fois. La puce suivante a besoin du rsultat de la puce prcdente pour commencer
Chapitre 9
224
T a b . 9.2 - R s u m
d e s m o d e s d e c h if f r e m e n t s p a r b l o c s
CFB
Scurit
FB/Compteur
Scurit
Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est de la mme taille
que le texte en clair, sans compter lIV.
+ / Le chiffrement n est pas parallli
sable; le dchiffrement est drivable et
supporte laccs alatoire.
Du pr-traitement est possible avant
lapparition d un b loc; le bloc de texte
chiffr prcdent peut tre chiffr.
Efficacit
+ La vitesse est la mme que celle de
lalgorithme de chiffrement par blocs.
Le texte chiffr est de la mme taille
que le texte en clair, sans compter lIV.
Du pr-traitement est possible avant
lapparition du message.
+ / Le traitement OFB nest pas pa
ralllisable ; le traitement compteur est
paralllisable.
travailler.
La solution est d in terca ler les multiples flots de chiffrement. (Ce nest pas un chiffre
ment multiple, ceci sera abord dans les paragraphes 15.1 et 15.2). Au lieu d utiliser
une seule chane en mode C B C , utilisez-en quatre. Les premier, cinquime et un bloc
sur quatre par la suite sont chiffrs en modes C B C avec un IV. Les second, sixime et
un bloc sur quatre par la suite sont chiffrs en modes C B C avec un autre IV , et ainsi
de suite. LTV total est plus long quil laurait t sans intercalaires.
Cest comme si vous chiffriez quatre messages diffrents avec la mme clef et quatre
diffrents IV. Ces messages sont tous intercals.
9.13
225
Cette astuce peut aussi tre utilise pour augmenter la vitesse de matriels de chiffre
ment. Si vous avez trois puces de chiffrement, chacune capable de chiffrer des donnes
33 mgabits/seconde, vous pouvez les intercaler pour chiffrer un seul canal de donnes
100 mgabits/seconde.
La figure 9.16 montre trois flots parallles intercals en mode C FB . L ide peut aussi
marcher en modes C B C et O FB , et avec autant de flots parallles que dsir. Souvenezvous juste que chaque flot a besoin de son propre IV. Il ne doit pas tre partag.
F ig. 9.16
9.13
Bien que les systmes de chiffrement par blocs et les systmes de chiffrement en continu
soient trs diffrents, des systmes de chiffrement par blocs peuvent tre utiliss en
tant que systmes de chiffrement en continu et des systmes de chiffrement en continu
peuvent tre utiliss en tant que systmes de chiffrement par blocs. La meilleure dfi
nition de la diffrence que j ai trouve est celle de Ranier R u e p p e l [1364] :
Les systmes de chiffrement par blocs agissent sur des donnes avec une
transformation fixe des grands blocs de donnes en clair; les systmes de
chiffrement en continu agissent avec une transformation variant avec le
temps des chiffres en clair individuels.
Dans le monde rel, les systmes de chiffrement par blocs sont plus gnraux (ils
peuvent tre utiliss dans nimporte lequel des quatres modes) et les systmes de chif
frement en continu sont plus faciles analyser mathmatiquement. Il y a beaucoup
de travail thorique effectu sur lanalyse et la conception des systmes de. chiffrement
en continu ; la plupart de ces travaux sont effectus en Europe, je ne sais pour quelle
raison. Ils ont t utiliss par les militaires du monde entier depuis linvention de llec
tronique. Cela semble changer dornavant ; rcemment, une grande quantit darticles
thoriques sur les systmes de chiffrement par blocs ont t publis. Il y aura peut-tre
que bientt une thorie sur le modle des systmes de chiffrement par blocs aussi riche
que la thorie sur la conception des systmes de chiffrement en continu.
226
Chapitre 9
Ceci mis part, les diffrences entre ces deux systmes se trouvent dans les ralisations.
Les systmes de chiffrement en continu qui ne chiffrent et ne dchiffrent quun bit
la fois ne sont pas vraiment adapts des ralisations logicielles. Les systmes de
chiffrement par blocs sont nettement plus faciles raliser en logiciel, car ils vitent
les manipulations de bits qui sont coteuses en temps de calcul et ils oprent sur
des donnes dans des blocs de taille raisonnable. D un autre ct, les systmes de
chiffrement en continu sont mieux adapts des ralisations matrielles car ils peuvent
tre raliss de faon trs efficace dans du silicone.
Ce sont des considrations importantes. Il semble logique pour un appareil de chiffre
ment dun canal digital de communications de chiffrer chaque bit quand il arrive. C est
ce que lappareil voit. D un autre ct, il semble illogique pour un logiciel de chiffre
ment de chiffrer chaque bit sparment. Il y a des exemples prcis o le chiffrement de
chaque bit et de chaque octet est ncessaire dans un systme informatique chiffrer
le lien entre le clavier et le microprocesseur, par exemple mais gnralement le bloc
de chiffrement devrait au moins tre de la largeur du bus de donnes.
Chapitre 10
228
Chapitre 10
stupides, des rats d intgration et des idioties alatoires. (Je recommande fortement
le papier de Ross A n d e r s o n Pourquoi les cryptosystmes ont chou [45] ; il de
vrait tre lu par toute personne voluant dans ce domaine.) Mme si la N SA a admis
que la plupart des checs de scurit dans sa zone d intrt sont dus des checs de
ralisations, et non pas des checs au niveau des algorithmes et des protocoles [1125].
Dans ces exemples, peu importe si la cryptographie tait bonne ou pas ; les attaques
victorieuses lont compltement surpasse.
10.1
Quand on en arrive jauger et choisir les algorithmes, les gens ont plusieurs choix :
- Ils peuvent utiliser un algorithme publi, croyant que les algorithmes publis ont
t dcortiqus par de nombreux cryptographes ; si personne ne la encore cass,
alors il doit tre trs bon.
- Ils peuvent faire confiance un fabricant, croyant quun fabricant connu a une
rputation dfendre et quil ne risquera pas cette rputation en vendant des
quipements ou des programmes avec des algorithmes de mauvaise qualit.
- Ils peuvent faire confiance un consultant indpendant, croyant quun consul
tant impartial est mieux quip pour faire une valuation fiable des diffrents
algorithmes.
- Ils peuvent faire confiance au Gouvernement, croyant que le Gouvernement est
digne de confiance et quil ne tromperait pas ses citoyens.
- Ils peuvent crire leur propre algorithme, croyant que leurs comptences en cryp
tographie nont pas leur pareil et quils ne doivent avoir confiance en personne
dautre queux-mme.
Chacune de ces croyances est problmatique, mais la premire semble tre la plus
sense. Placer votre confiance dans un seul fabricant, consultant ou gouvernement
revient chercher des ennuis. La plupart des gens qui portent ltiquette consultant
en scurit (mme des firmes clbres) ne connaissent en gnral rien au chiffrement.
La plupart des fabricants en scurit ne sont pas fiables. Les meilleurs cryptographes
au monde travaillent pour la NSA, mais ils ne disent pas tout ce quils savent. Les
intrts quils poursuivent ne sont pas conformes ceux des citoyens. Et mme si vous
tes un gnie, crire votre propre algorithme et ensuite lutiliser sans lavoir soumis
lexamen critique des pairs est de linconscience pure.
Les algorithmes de ce livre sont publiques. La plupart ont t divulgus dans la littra
ture publique et ont t cryptanalyss par des experts dans le domaine. Je mentionne
tous les rsultats publis, positifs et ngatifs. Je nai pas accs aux cryptanalyss en
treprises par la myriade d organisations de scurit militaire de par le monde (qui sont
probablement meilleures que les institutions acadmiques elles le font depuis plus
longtemps et elles sont mieux finances), donc il est possible que ces algorithmes soient
plus faciles casser quils ne le paraissent. Mme ainsi, il est bien plus probable quils
soient plus srs quun algorithme conu et ralis en secret par une socit spcialise
en scurit.
10.1
229
Le point faible de ce raisonnement est que nous ne connaissons pas les capacits des
nombreuses organisations militaires de cryptanalyse.
Quels algorithmes la NSA peut-elle casser? Pour la majorit dentre nous, il est impos
sible de le dire. Si vous tes arrt en possession dun ordinateur chiffr avec DES, il
est peu probable que le FB I produise le contenu dchiffr comme pice conviction ; le
fait quils peuvent casser lalgorithme est souvent un secret bien plus important que les
informations qui sont alors dchiffres. Pendant la deuxime guerre mondiale, il tait
interdit aux Allis d utiliser une information dchiffre du trafic Ultra des Allemands,
moins quils aient pu plausiblement obtenir linformation autrement. La seule faon de
pousser la NSA reconnatre sa capacit casser un algorithme donn est de chiffrer
une information tellement importante quils ne pourront pas faire autrement que de la
divulguer publiquement. Ou, mieux encore, crez une blague trs drle et envoyez-la
par courrier lectronique chiffr des correspondants ambigus dans des pays suspects.
Les employs de la NSA sont aussi des hommes; je doute quil puisse garder une si
bonne blague secrte.
Une bonne hypothse de travail est que la N SA peut lire chaque message quelle choisit,
mais quelle ne peut pas lire tous les messages quelle choisit. La NSA est limite par
ses ressources et doit faire un choix dans ses cibles. Une autre bonne hypothse est
quelle prfre casser autre chose que des codes ; cette prfrence est si forte quelle se
rsoudra casser les codes seulement quand elle voudra prserver le secret quelle a lu
le message.
Dans tous les cas, la meilleure chose que la plupart d entre-nous peuvent faire est de
choisir parmi des algorithmes publiques qui ont raisonnablement rsist une obser
vation publique et des cryptanalyss.
Chapitre 10
230
10.2
10.3
10.3
ab
. 1 0 .1 - C
lasses
Confidentialit
Algorithmes
Algorithmes
Algorithmes
Algorithmes
231
d a l g o r it h m e s
Authentification
Intgrit
Clef
Gestion
Oui
Oui
Non
Non
Non
Oui
Optionnel
Non
Oui
Non
Non
Oui
Non
Oui
Oui
Non
Non
Oui
Oui
Oui
Non
Oui
Non
Non
ig
Chapitre 10
232
aussi simple : seules les deux extrmits d une ligne doivent partager une clef et elles
peuvent changer leur clef indpendamment du reste du rseau.
Imaginez-vous une ligne de communication synchrone, chiffre en mode C FB 1 bit.
Aprs linitialisation, cette ligne peut fonctionner indfiniment, rcuprant automati
quement des erreurs de bit ou de synchronisation. La ligne chiffre ds que des messages
sont envoys partir d une extrmit vers lautre ; sinon, elle chiffre et dchiffre des
donnes alatoires. Estelle na aucune ide de la date des messages envoys ou non;
elle na pas d ide du dbut et de la fin des messages. Tout ce quelle voit est un flux
continu de bits qui ont lair alatoires.
Si la ligne de communication est asynchrone, le mme mode C FB 1 bit peut tre
utilis. La diffrence est que ladversaire peut obtenir de linformation sur le taux de
la transmission. Si cette information doit rester secrte, prenez des prcautions en
envoyant des messages factices entre les communications utiles.
Le plus gros dfaut du chiffrement lien par lien est que chaque lien physique du rseau
doit tre chiffr : laisser un seul lien non chiffr compromet la scurit de tout le rseau.
Si le rseau est grand, le cot peut rapidement devenir prohibitif pour ce type de
chiffrement.
De plus, tous les nuds du rseau doivent tre protgs, car ils vhiculent des donnes
non chiffres. Si tous les utilisateurs du rseau se font confiance mutuellement et si tous
les nuds sont en lieu sr, cela peut tre acceptable. C est toutefois improbable. Mme
dans une socit, linformation doit tre garde secrte au sein dun dpartement. Si
le rseau se trompe de chemin pour acheminer une information, tout le monde peut la
lire. Le tableau 10.2 rsume les avantages et les inconvnients du chiffrement lien par
lien.
Ta
Avantages
Opration plus simple, puisquelle est transparente pour lutilisateur. Tout est chiffr
avant d tre envoy sur le lien.
Un seul jeu de clefs par lien est ncessaire.
Fournit une scurit du flot de traffic, puisque chaque information de routage est
chiffre.
Le chiffrement est en ligne.
Inconvnients
Les donnes sont vulnrables dans les nuds intermdiaires.
10.3
233
Chapitre 10
234
Avantages
Niveau de secret plus lev.
Inconvnients
Requiert un systme de gestion des clefs plus complexe.
Lanalyse de trafic est possible, puisque linformation de routage nest pas chiffre.
Le chiffrement est hors-ligne.
rendre sr un rseau. Le chiffrement de tout lien physique rend toute analyse des
informations de routage impossible, tandis que le chiffrement de bout en bout rduit
le danger des donnes non chiffres aux diffrents nuds du rseau. Les gestions des
clefs des deux schmas peuvent tre compltement spares : les gestionnaires de rseau
peuvent soccuper du chiffrement au niveau physique, tandis que les individus peuvent
avoir la responsabilit du chiffrement de bout en bout.
Tab. 10.4
C
h if f r e m e n t l ie n
par
l ie n
h if f r e m e n t
de
bo u t en
bout
Exigences de la ralisation
Ncessite une clef par paire dutilisa
Ncessite une clef par paire dhtes.
Ncessite un matriel ou un logiciel de teurs.
Ncessite un matriel ou un logiciel de
chiffrement chaque hte.
chiffrement chaque nud.
Effectue lauthentification des nuds.
Effectue lauthentification des utilisa
teurs.
10. Jf
10.4
2S5
Chiffrer des donnes pour les stocker et les rcuprer plus tard peut tre utilis dans
le modle dAlice et de Bernard. Alice envoie toujours un message Bernard, mais
dans ce cas Bernard est Alice dans un temps futur. Nanmoins, le problme est
fondamentalement diffrent.
Dans les canaux de communication, les messages en transit nont pas de valeur intrin
sque. Si Bernard ne reoit pas un message particulier, Alice peut toujours le renvoyer.
Ceci nest pas vrai pour le stockage des donnes chiffres. Si Alice ne peut pas dchiffrer
son propre message, elle ne peut pas remonter le temps et le rechiffrer. Elle la perdu
jamais. Ceci veut dire que les applications de chiffrement pour le stockage des donnes
devraient avoir des mcanismes pour empcher des erreurs irrcuprables de sinfiltrer
dans le texte chiffr.
La clef de chiffrement a la mme valeur que le message, elle est seulement plus pe
tite. En effet, la cryptographie convertit de gros secrets en petits. Etant plus petites,
elles peuvent facilement tre perdues. Les procdures de gestion des clefs devraient
considrer que les mmes clefs seront utilises maintes fois et que les donnes pourront
demeurer sur disque pendant des annes avant d tre dchiffres.
De plus, les clefs seront prsentes pendant une longue priode. Une clef utilise pour
une liaison tlphonique devrait, ce qui serait idal, exister juste le temps de la commu
nication. Une clef utilise pour le stockage des donnes peut servir pendant des annes
et doit par consquent tre stocke de manire sre pendant des annes.
Dautres problmes spcifiques au chiffrement des donnes informatiques en vue de
stockage sont numrs dans [361] :
- Les donnes peuvent aussi exister sous forme de texte en clair, soit sur un autre
disque, dans un autre systme informatique ou sur papier. Il y a plus doccasions
pour des cryptanalystes de monter une attaque texte en clair connu.
- Dans les applications de bases de donnes, des parcelles de donnes peuvent tre
plus petites que la taille de blocs de la plupart des algorithmes. Cela donnera un
texte chiffr qui peut tre largement plus grand que le texte en clair.
- La vitesse des priphriques dentre et sortie ncessite une grande vitesse de
chiffrement et de dchiffrement, et une ralisation matrielle du chiffrement sera
probablement ncessaire. Pour certaines applications, des algorithmes haute
vitesse pourraient tre ncessaires.
- Un stockage sr et de longue dure pour les clefs est ncessaire.
- La gestion des clefs est nettement plus complique, car diffrentes personnes
doivent accder diffrents fichiers, diffrentes portions dun mme fichier, etc.
Si les fichiers chiffrs ne sont pas structurs en enregistrements et champs, comme dans
les fichiers de texte, laccs est facile : tout le fichier est dchiffr avant usage. Si les
fichiers chiffrs sont des fichiers dune base de donnes, la solution est problmatique.
Dchiffrer toute la base de donnes pour accder un seul enregistrement est inefficace,
2S6
Chapitre 10
mais chiffrer les enregistrements indpendamment peut tre sujet une attaque du type
des blocs rejous.
De plus, vous devez tre sr que le fichier non chiffr est effac aprs le chiffrement
(voir 10.9). Pour plus de dtails et un autre aperu, consultez [427, 571].
10.5
231
Pour la clef matresse, gnrez un bloc pseudo-alatoire aussi grand quun secteur.
(Vous pouvez le faire en utilisant un algorithme en mode O F B par exemple.) Pour
chiffrer tout secteur, combinez d abord par ou exclusif avec ce bloc pseudo-alatoire,
puis chiffrez normalement avec un algorithme de chiffrement par blocs en mode ECB.
Cela sappelle E C B + O F B (voir 15.4).
Comme C B C et C FB sont des modes de rcupration d erreurs, vous pouvez utilisez
tous les blocs du secteur sauf les premiers et seconds pour gnrer un IV pour ce
secteur. Par exemple, lIV du secteur 3 001 peut tre le hachage de toutes les donnes du
secteur, mis part les premiers 128 bits. Aprs avoir gnr lIV , chiffrez normalement
en mode C B C . Pour dchiffrer le secteur, vous utilisez les 64 bits du second bloc
du secteur en tant quIV puis dchiffrez le reste du secteur. Ensuite, en utilisant les
donnes dchiffres, vous rgnrez lIV et dchiffrez les premiers 128 bits.
Vous pouvez utiliser un algorithme de chiffrement par blocs avec une taille de bloc
assez grande pour pouvoir chiffrer tout le secteur dun coup. C R A B (voir 14.6) en
est un exemple.
10.5
Chiffrement matriel
Jusqu il y a peu, tous les quipements de chiffrement taient des ralisations ma
trielles ddies. Ces botes de chiffrement/dchiffrement se branchaient sur les lignes
de communications et chiffraient toutes les donnes passant sur la ligne. Bien que le
chiffrement en logiciel prenne de limportance aujourdhui, le matriel est toujours le
choix qui est fait par les militaires et les applications commerciales srieuses. La NSA,
par exemple, nautorise que le chiffrement par le matriel. Il y a plusieurs raisons
cela.
La premire est la vitesse. Comme nous le verrons dans la troisime Partie, les algo
rithmes de chiffrement consistent en de nombreuses oprations compliques sur des bits
de texte en clair. On ne trouve pas sous le sabot dun cheval des ordinateurs qui com
prennent ce genre d oprations en standard. Les deux algorithmes de chiffrement les
plus courants, le DES et R SA , ne fonctionnent pas bien sur des processeurs gnraux.
Bien que certains cryptographes aient essay de rendre les algorithmes plus facilement
ralisables en logiciel, le matriel ddi gagnera toujours la course de vitesse.
De plus, le chiffrement est souvent une tche de calcul intensif. Mobiliser le processeur
principal de lordinateur pour cela est inefficace. Confier le chiffrement une autre puce,
mme si cette puce nest quun autre processeur, rend tout le systme plus rapide.
La deuxime raison est la scurit. Un algorithme de chiffrement fonctionnant sur
un ordinateur commun na pas de protection physique. Martin peut utiliser diffrents
outils de dbogage et subrepticement modifier lalgorithme sans que qui que ce soit sen
rende compte. Les dispositifs de chiffrement matriels peuvent tre bien encapsuls pour
prvenir cela. Des botes lpreuve de linvestigation peuvent empcher que quelquun
modifie le dispositif de chiffrement matriel. Des puces VLSI ddies peuvent tre
recouvertes d un film protecteur chimique spcial tel que toute tentative daccder
lintrieur provoque la destruction des circuits logiques de l a puce. Les puces C l i p p e r
Chapitre 10
238
h if f r e m e n t a u
n iv e a u
d e s f ic h ie r s
h if f r e m e n t
au
n iv e a u
du
d is q u e
Bnfices
Facilit de ralisation et dutilisation.
Les fichiers temporaires, de travail, et
Flexibilit.
autres, peuvent tre gards dans le
Baisse de performance trs faible.
disque sr.
Les utilisateurs peuvent transfrer des fiIl est