Vous êtes sur la page 1sur 17

Introduction la notion de certificat

Les algorithmes de chiffrement asymtrique sont bas sur le partage entre les diffrents utilisateurs
d'une cl publique. Gnralement le partage de cette cl se fait au travers d'un annuaire lectronique
(gnralement au format LDAP) ou bien d'un site web.
Toutefois ce mode de partage a une grande lacune : rien ne garantit que la cl est bien celle de
l'utilisateur a qui elle est associe. En effet un pirate peut corrompre la cl publique prsente dans
l'annuaire en la remplaant par sa cl publique. Ainsi, le pirate sera en mesure de dchiffrer tous les
messages ayant t chiffrs avec la cl prsente dans l'annuaire.
Ainsi un certificat permet d'associer une cl publique une entit (une personne, une machine, ...) afin
d'en assurer la validit. Le certificat est en quelque sorte la carte d'identit de la cl publique, dlivr par
un organisme appel autorit de certification (souvent note CA pour Certification Authority).
L'autorit de certification est charge de dlivrer les certificats, de leur assigner une date de validit
(quivalent la date limite de premption des produits alimentaires), ainsi que de rvoquer
ventuellement des certificats avant cette date en cas de compromission de la cl (ou du propritaire).

Qu'est-ce qu'un certificat ?


Les certificats sont des petits fichiers diviss en deux parties :

La partie contenant les informations


La partie contenant la signature de l'autorit de certification

La structure des certificats est normalise par le standard X.509 de l'UIT, qui dfinit les informations
contenues dans le certificat :
Le nom de l'autorit de certification

Le nom du propritaire du certificat


La date de validit du certificat
L'algorithme de chiffrement utilis
La cl publique du propritaire

L'ensemble de ces informations (informations + cl publique du demandeur) est sign par l'autorit de
certification, cela signifie qu'une fonction de hachage cre une empreinte de ces informations, puis ce
condens est chiffr l'aide de la cl prive de l'autorit de certification; la cl publique ayant t
pralablement largement diffuse afin de permettre aux utilisateurs de vrifier la signature avec la cl
publique de l'autorit de certification.

Lorsqu'un utilisateur dsire communiquer avec une autre personne, il lui suffit de se procurer le certificat
du destinataire. Ce certificat contient le nom du destinataire, ainsi que sa cl publique et est sign par
l'autorit de certification. Il est donc possible de vrifier la validit du message en appliquant d'une part
la fonction de hachage aux informations contenues dans le certificat, en dchiffrant d'autre part la

signature de l'autorit de certification avec la cl publique de cette dernire et en comparant ces deux
rsultats.

Le chiffrement de Vigenre
Le chiffrement de Vigenre est un cryptosystme symtrique, ce qui signifie qu'il utilise la mme cl pour
le chiffrement et le dchiffrement. Le chiffrement de Vigenre ressemble beaucoup au chiffrement de
Csar, la diffrence prs qu'il utilise une clef plus longue afin de pallier le principal problme du
chiffrement de Csar: le fait qu'une lettre puisse tre code d'une seule faon. Pour cela on utilise un
mot clef au lieu d'un simple caractre.
On associe dans un premier temps chaque lettre un chiffre correspondant.
A B C D E F G H I J

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Il consiste coder un texte avec un mot en ajoutant chacune de ses lettres la lettre d'un autre mot
appel cl. La cl est ajoute indfiniment en vis--vis avec le texte chiffrer, puis le code ASCII de
chacune des lettres de la cl est ajout au texte crypter. Par exemple le texte "rendezvousamidi" avec
la cl bonjour sera cod de la manire suivante:
Texte original:
r

114

101

110

100

101

122

118

111

117

115

97

109

105

100

105

Cl:
b

98

111

110

106

111

117

114

Texte crypt
r+b

e+o

n+n

d+j

e+o

z+u

v+r

o+b

u+o

s+n

a+j

m+o

i+u

d+r

i+b

101
114
+
+ 98
111

110
+
110

100
+
106

101
+
111

122
+
117

118
+
114

117
111
+
+ 98
111

115
+
110

105
97 + 109 +
+
106 111
117

100
+
114

105
+ 98

Pour dchiffrer ce message il suffit d'avoir la cl secrte et faire le dchiffrement inverse, l'aide d'une
soustraction.

Bien que ce chiffrement soit beaucoup plus sr que le chiffrement de Csar, il peut encore tre facilement
cass. En effet, lorsque les messages sont beaucoup plus longs que la clef, il est possible de reprer la
longueur de la clef et d'utiliser pour chaque squence de la longueur de la clef la mthode consistant
calculer la frquence d'apparition des lettres, permettant de dterminer un un les caractres de la
clef...
Pour viter ce problme, une solution consiste utiliser une clef dont la taille est proche de celle du texte
afin de rendre impossible une tude statistique du texte crypt. Ce type de systme de chiffrement est
appel systme cl jetable. Le problme de ce type de mthode est la longueur de la cl de cryptage
(plus le texte crypter est long, plus la clef doit tre volumineuse), qui empche sa mmorisation et
implique une probabilit d'erreur dans la cl beaucoup plus grande (une seule erreur rend le texte
indchiffrable...).

Naccordez jamais une confiance aveugle un systme de cryptographie " - Gilles Dubertret

L'histoire de Enigma
C'est la fin de la premire guerre mondiale qu'est apparue la ncessit de crypter les messages (bien
que les techniques de chiffrement existaient dj depuis fort longtemps).
C'est un Hollandais rsidant en Allemagne, le Dr Arthur Scherbius qui mit au point des fin
commerciales la machine Enigma, servant encoder des messages.
Le modle A de la machine (Chieffrienmaschinen Aktien Gesellschaft) ft prsente en 1923 au Congrs
Postal International de Bern. Le prix de cette machine l'poque (quivalent 30000 euros aujourd'hui)
en fit un chec cuisant. Mais l'ide fit son chemin et la marine de guerre allemande reprit le projet en
1925 et en confia son volution au service de chiffrement (Chiffrierstelle) du ministre de la guerre
allemand. Le modle Enigma M3 ft finalement adopt par la Wehrmacht (arme Allemande) le 12
janvier 1937.
Ce que les Allemands ignoraient, c'est que les services de contre-espionnage franais et Polonais
travaillaient galement depuis 1930 sur une mthode de dchiffrement. Le Commandant Gustave
Bertrand des services secrets franais, recruta pour cela Hans Thilo Schmidt (dont le nom de code
tait Asche), qui travaillait l'poque pour le Chiffrierstelle.
Lorsque la seconde guerre mondiale clata en 1939, les allis savaient dcrypter les messages d'Enigma.
Le 24 juillet 1939, Marian Rejewski ( responsable du Biuro Szyfrow - service europen le plus avanc
dans les recherches sur le chiffrement allemand ) remit un modle de la machine Enigma au
Commandant Bertrand et Alistair Denniston, chef du service de dchiffrement de l'Intelligence
Service (IS) britannique.
La guerre s'intensifia et la cadence de dchiffrement augmenta. Ainsi entre les mois d'octobre et juin
1939, plus de 4000 messages chiffrs furent dcods par les services secrets franais.
Ces oprations portaient dsormais un nom : Opration Z pour les franais et Code Ultra (pour Ultra
Secret) pour les Anglais.
En Aot 1939 les Anglais installrent Bletchley Park (80 km de Londres) les services du Code et du
Chiffre. Ce n'taient pas moins de 12000 scientifiques et mathmaticiens Anglais, Polonais et franais qui
travaillaient "casser" le code d'Enigma.
Parmi ces mathmaticiens, on retrouve l'un des inventeurs de l'informatique moderne : Alan Turing, qui
dirigeait tous ces travaux.
Les messages dcrypts Bletchley Park arrivaient par tapis roulant la Huts 6, puis, au poste pour tre
traduits (2 postes par quipe) :

un pour les messages en retard


un pour le matriel urgent

Les messages traduits de la Luftwaffe taient transmis aux 3A et ceux de l'arme aux 3M (A= aviation;
M= militaire). On attribuait ensuite des Z en fonction de l'importance des messages (1Z: peu important;
5Z: extrmement urgent). Les renseignements taient rsums et envoys en 3 exemplaires:
un au SIS de Broadway

un au service de ministre appropri ou Withehall

un au gnral concern sur le terrain.

Les Anglais russirent ainsi dchiffrer ces messages cods. Seulement, la Kriegsmarine ( Marine de
guerre Allemande), utilisant des mesures de cryptage diffrentes, le dchiffrement s'avra plus difficile.
La capture sur le U-110 d'une Enigma et surtout de ses instructions permit une avance importante. Ceci
permettant de connatre les positions de sous-marins et de rduire le tonnage coul par les U-Boot (Cf :
Le film U-571).
Le 1er fvrier 1942, le modle Enigma M4 fut mis en service. Pendant onze mois, les allis ne russirent
pas dcrypter ces messages.
Durant toute la guerre, plus de 18 000 messages par jours furent dcrypts, et permirent aux forces de
l'alliance de connatre les intentions de l'Allemagne.
Le dernier message chiffr fut trouv en Norvge, sign par l'Amiral Doenitz : " Le Fhrer est mort. Le
combat continue ".
Les Allemands ne se sont jamais douts que leur prcieuse machine pouvait tre dcrypte.
Source :
Mmorial de Caen : http://www.memorial.fr/index2.htm

http://www.chronicus.com/sgm/dossgm/Enigma.htm

Le fonctionnement de Enigma
Enigma avait un fonctionnement de cryptage particulirement simple.
L'objet tait quip d'un clavier pour la saisie du message, de diffrentes roues pour le codage, et enfin
d'un tableau lumineux pour le rsultat.
A chaque pression d'une touche du clavier, une lettre du panneau lumineux s'illuminait.
Il y avait 3 roues de codage appeles "Brouilleur Rotor" qui reliaient le clavier au panneau lumineux.
Exemple avec un seul rotor :
Lorsque l'on appuie sur B le courant passe par le rotor et allume A sur le panneau lumineux :

Pour complexifier la machine, chaque pression sur une touche, le rotor tourne d'un cran.
Exemple, rotation du rotor:
Apres la premire pression on a :

Suivant les modles ( M3 ou M4), le systme tait muni de 3 ou 4 rotors. Les deuxime et troisime
rotors avancaient d'un cran quand le premier avait fait un tour complet. Il y avait aussi un tableau de
connexion qui mlangeait les lettres de l'alphabet et un rflecteur qui faisait repasser le courant dans les
rotors avant l'affichage.
Troisime exemple :
------------------------------------------------------------------------------------------------ ---------------Tableau lumineux | Clavier | Tableau de connexion | Rotor 1 | Rotor 2 | Rotor 3 | Rflecteur
----------------------------------------------------------------------------------------------------------------A------------------a-------<------\/------>>----------------|
B
b------->------/\
|
|-->>---|
C
c
|
|---->>-----|
|

D
d
|
|
E
e
|------<--------|
|---<----------------+---<----|
F
f
|---<---|
|--->>---|
--------------------------------------------------------------------------------------------------------------Au final, si l'on revient aux machines Enigma quipes pour 26 lettres, on a:
26 x 26 x 26 = 17 576 combinaisons lies l'orientation de chacun des trois rotors,
6 combinaisons possibles lies l'ordre dans lequel sont disposs les rotors,
100 391 791 500 branchements possibles quand on relie les six paires de lettres dans le tableau de
connexions : il s'agit de choisir 12 lettres parmi 26 (26! /(12!14!)), puis 6 lettres parmi 12 (12!/6!), et
puisque certaines paires sont quivalents (A/D et D/A), il s'agit de diviser par 2 6.
Les machines Enigma peuvent donc chiffrer un texte selon 17 576 x 6 x 100 391 791 500 = 10 16
combinaisons diffrentes !

Le cassage du code d'Enigma


Les Polonais inventrent "la Bombe" (rebaptise plus tard "Ultra") qui permettait de connatre les
rglages Enigma. Seulement, partir de 1938, c'est l'oprateur lui-mme qui tablissait le rglage. Pour
remdier ce problme, les polonais trouvrent la solution: chaque message contenait soit une
rptition de mots soit des mots rcurrents (appels "femelles"). Ceci tait un indice quant au "noyau"
(rglage de base des rotors). Pour dcouvrir ce rglage, les Polonais utilisaient ensuite la "Grille" (cartes
perfores correspondant toutes les permutations du noyau). Ces cartes taient empiles les unes sur
les autres par rapport la position des "femelles". Ensuite, on cherchait le point o une srie de
perforations se recouvrait du haut en bas de la pile.
Article crit par Sbastien DELSIRIE

DES, le chiffrement cl secrte


Le 15 mai 1973 le NBS (National Bureau of Standards, aujourd'hui appel NIST - National Institute of
Standards and Technology) a lanc un appel dans le Federal Register (l'quivalent aux Etats-Unix du
Journal Officiel en France) pour la cration d'un algorithme de chiffrement rpondant aux critres
suivants:

ayant un haut niveau de scurit li une cl de petite taille servant au chiffrement et au


dchiffrement
comprhensible
ne devant pas dpendre de la confidentialit de l'algorithme
adaptable et conomique
efficace et exportable

Fin 1974, IBM propose Lucifer, qui, grce la NSA (National Security Agency), est modifi le 23
novembre 1976 pour donner le DES (Data Encryption Standard). Le DES a finalement t approuv en
1978 par le NBS. Le DES ft normalis par l'ANSI (American National Standard Institute) sous le nom de
ANSI X3.92, plus connu sous la dnomination DEA (Data Encryption Algorithm).
C'est un systme de chiffrement par blocs de 64 bits, dont 8 bits (un octet) servent de test de parit
(pour vrifier l'intgrit de la cl). Chaque bit de parit de la clef (1 tous les 8 bits) sert tester un des
octets de la clef par parit impaire, c'est--dire que chacun des bits de parit est ajust de facon avoir
un nombre impair de '1' dans l'octet qui il appartient. La cl a donc une longueur "utile" de 56 bits, ce
qui signifie que seuls 56 bits servent dans l'algorithme.
L'algorithme consiste faire des combinaisons, des substitutions et des permutations entre le texte
chiffrer et la cl, en faisant en sorte que les oprations puissent se faire dans les deux sens (pour le
dchiffrement). On appelle code produit la combinaison entre substitutions et permutations. La cl est
code sur 64 bits et forme de 16 blocs de 4 bits, gnralement nots k1 k16. Etant donn que
"seulement" 56 bits servent rellement chiffrer, il y a 2 56 (soit 7.2*1016) possibilits de cls diffrentes !

L'algorithme du DES
Les grandes lignes de l'algorithme sont les suivantes:
Fractionnement du texte en blocs de 64 bits (8 octets)

Permutation initiale des blocs


Dcoupage des blocs en deux parties: gauche et droite, nommes G et D
Etapes de permutation et de substitution rptes 16 fois (appeles rondes)
Recollement des parties gauche et droite puis permutation initiale inverse

Fractionnement du texte
Permutation initiale
Dans un premier temps, chaque bit d'un bloc est soumis la permutation initiale, pouvant tre
reprsente par la matrice de permutation initiale (note PI) suivante :
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
PI

64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

Cette matrice de permutation indique, en parcourant la matrice de gauche droite puis de haut en bas,
que le 58me bit du bloc de texte de 64 bits se retrouve en premire position, le 50 me en seconde position
et ainsi de suite.

Scindement en blocs de 32 bits

Une fois la permutation initiale ralise, le bloc de 64 bits est scind en deux blocs de 32 bits, nots
respectivement G et D (pour gauche et droite, la notation anglo-saxonne tant L et R pour Left and
Right). On note G0 et D0 l'tat initial de ces deux blocs :
58 50 42 34 26 18 10 2
G0

60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1

D0

59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

Il est intressant de remarquer que G0 contient tous les bits possdant une position paire dans le
message initial, tandis que D0 contient les bits de position impaire.

Rondes
Les blocs Gn et Dn sont soumis un ensemble de transformation itratives appeles rondes, explicites
dans ce schma, et dont les dtails sont donns plus bas :

Fonction d'expansion
Les 32 bits du bloc D0 sont tendus 48 bits grce une table (matrice) appel table d'expansion (note
E), dans laquelle les 48 bits sont mlangs et 16 d'entre eux sont dupliqus :
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
E

12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

Ainsi, le dernier bit de D0 (c'est--dire le 7me bit du bloc d'origine) devient le premier, le premier devient
le second, ...
De plus, les bits 1,4,5,8,9,12,13,16,17,20,21,24,25,28 et 29 de D0 (respectivement 57, 33, 25, l, 59, 35,
27, 3, 6l, 37, 29, 5, 63, 39, 31 et 7 du bloc d'origine) sont dupliqus et dissmins dans la matrice.

OU exclusif avec la cl
La matrice rsultante de 48 bits est appele D'0 ou bien E[D0]. L'algorithme DES procde ensuite un
OU exclusif entre la premire cl K1 et E[D0]. Le rsultat de ce OU exclusif est une matrice de 48 bits que
nous appelerons D0 par commodit (il ne s'agit pas du D0 de dpart!).

Fonction de substitution
D0 est ensuite scind en 8 blocs de 6 bits, not D0i. Chacun de ces blocs passe par des fonctions de
slection (appeles parfois botes de substitution ou fonctions de compression), notes gnralement Si.
Les premiers et derniers bits de chaque D0i dtermine (en binaire) la ligne de la fonction de slection, les
autres bits (respectivement 2, 3, 4 et 5) dterminent la colonne. La slection de la ligne se faisant sur
deux bits, il y a 4 possibilits (0,1,2,3). La slection de la colonne se faisant sur 4 bits, il y a 16
possibilits (0 15). Grce cette information, la fonction de slection "slectionne" une valeur code
sur 4 bits.
Voici la premire fonction de substitution, reprsente par une matrice de 4 par 16 :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S1 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Soit D01 gal 101110. Les premiers et derniers bits donnent 10, c'est--dire 2 en binaire. Les bits 2,3,4
et 5 donnent 0111, soit 7 en binaire. Le rsultat de la fonction de slection est donc la valeur situ la
ligne n2, dans la colonne n7. Il s'agit de la valeur 11, soit en binaire 111.
Chacun des 8 blocs de 6 bits est pass dans la fonction de slection correspondante, ce qui donne en
sortie 8 valeurs de 4 bits chacune. Voici les autres fonctions de slection :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
S2 1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
S3 1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
S4 1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
S5 1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
S6 1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
S7 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
S8 1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
1 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
1 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Chaque bloc de 6 bits est ainsi substitu en un bloc de 4 bits. Ces bits sont regroups pour former un
bloc de 32 bits.

Permutation
Le bloc de 32 bits obtenu est enfin soumis une permutation P dont voici la table :
16 7 20 21 29 12 28 17
P

1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25

OU Exclusif
L'ensemble de ces rsultats en sortie de P est soumis un OU Exclusif avec le G0 de dpart (comme
indiqu sur le premier schma) pour donner D1, tandis que le D0 initial donne G1.

Itration

L'ensemble des tapes prcdentes (rondes) est ritr 16 fois.

Permutation initiale inverse


A la fin des itrations, les deux blocs G16 et D16 sont "recolls, puis soumis la permutation initiale
inverse :
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
PI-1

37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25

Le rsultat en sortie est un texte cod de 64 bits !

Gnration des cls


Etant donn que l'algorithme du DES prsent ci-dessus est public, toute la scurit repose sur la
complexit des cls de chiffrement.
L'algorithme ci-dessous montre comment obtenir partir d'une cl de 64 bits (compos de 64 caractres
alphanumriques quelconques) 8 cls diversifies de 48 bits chacune servant dans l'algorithme du DES :

Dans un premier temps les bits de parit de la cl sont limins afin d'obtenir une cl d'une longueur
utile de 56 bits.
La premire tape consiste en une permutation note CP-1 dont la matrice est prsente ci-dessous :
57 49 41 33 25 17 9 1 58 50 42 34 26 18
CP-1

10 2 59 51 43 35 27 19 11 3 60 52 44 36
63 55 47 39 31 23 15 7 62 54 46 38 30 22
14 6 61 53 45 37 29 21 13 5 28 20 12 4

Cette matrice peut en fait s'crire sous la forme de deux matrice Gi et Di (pour gauche et droite)
composes chacune de 28 bits :
Gi 57 49 41 33 25 17 9
1 58 50 42 34 26 18

10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
Di

7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4

On note G0 et D0 le rsultat;de cette premire permutation.


Ces deux blocs subissent ensuite une rotation gauche, de telles faons que les bits en seconde position
prennent la premire position, ceux en troisime position la seconde, ...
Les bits en premire position passent en dernire position.
Les 2 blocs de 28 bits sont ensuite regroups en un bloc de 56 bits. Celui-ci passe par une permutation,
note CP-2, fournissant en sortie un bloc de 48 bits, reprsentant la cl Ki.
14 17 11 24 1 5 3 28 15 6 21 10
CP-2

23 19 12 4 26 8 16 7 27 20 13 2
41 52 31 37 47 55 30 40 51 45 51 45
44 49 39 56 34 53 46 42 50 36 29 32

Des itrations de l'algorithme permettent de donner les 16 cls K1 K16 utilises dans l'algortihme du
DES.
LS1 2 4 6 8 10 12 14 15 17 19 21 23 25 27 28

TDES, une alternative au DES


En 1990 Eli Biham et Adi Shamir ont mis au point la cryptanalyse diffrentielle qui recherche des paires
de texte en clair et des paires de texte chiffres. Cette mthode marche jusqu' un nombre de rondes
infrieur 15, or un nombre de 16 rondes sont prsentes dans l'algorithme prsent ci-dessus.
D'autre part, mme si une cl de 56 bits donne un nombre norme de possibilits, de nombreux
processeurs permettent de calculer plus de 106 cls par seconde, ainsi, utiliss paralllement sur un trs
grand nombre de machines, il devient possible pour un grand organisme (un Etat par exemple) de
trouver la bonne cl...
Un solution court terme consiste chaner trois chiffrement DES l'aide de deux cls de 56 bits (ce qui
quivait une cl de 112 bits). Ce procd est appel Triple DES, not TDES (parfois 3DES ou 3-DES).

Le TDES permet d'augmenter significativement la scurit du DES, toutefois il a l'inconvnient majeur de


demander galement plus de ressources pour les chiffrement et le dchiffrement.
En 1997 le NIST lana un nouvel appel projet pour laborer l'AES (Advanced Encryption Standard), un
algorithme de chiffrement destin remplacer le DES.
Le systme de chiffrement DES ft ractualis tous les 5 ans. En 2000 lors de la dernire rvision, aprs
un processus d'valuation qui a dur 3 annes, lalgorithme conu conjointement par deux candidats
belges, Messieurs Vincent Rijmen et Joan Daemen ft choisi comme nouveau standard par le NIST. Ce
nouvel algorithme baptis RIJNDAEL par ses inventeurs, remplacera dornavant le DES.

Plus d'informations
L'algorithme du DES tant public (tout comme celui du TDES ou de l'AES), vous pouvez accder aux
spcifications sur le site du NIST :
http://csrc.nist.gov/encryption/tkencryption.html

le systme RSA
Le premier algorithme de chiffrement clef publique a t dvelopp par R.Merckle et M.Hellman en
1977. Il fut vite rendu obsolte grce aux travaux de Shamir, Zippel et Herlestman, de clbres
cryptanalistes.
En 1978, l'algorithme cl publique de Rivest, Shamir, et Adelman (d'o son nom RSA) apparat. Cette
algorithme sert encore en 2002 protger les codes nuclaires de l'arme amricaine et russe...

fonctionnement de RSA
Le fonctionnement du cryptosystme RSA est bas sur la difficult de factoriser de grands entiers.
Soit deux nombres premiers p et q, et d un entier tel que d soit premier avec (p-1)*(q-1)). Le triplet
(p,q,d) constitue ainsi la cl prive.
La cl publique est alors le doublet (n,e) cr l'aide de la cl prive par les transformations suivantes :

n = p * q
e = 1/d mod((p-1)(q-1))
Soit M, le message envoyer. Il faut que le message M soit premier avec la cl n. En effet, le
dchiffrement repose sur le thorme d'Euler stipulant que si M et n sont premiers entre eux, alors :

Mphi(n) = 1 mod(n)
Phi(n) tant l'indicateur d'euler, et valant dans le cas prsent (p-1)*(q-1).
Il est donc ncessaire que M ne soit pas un multiple de p, de q , ou de n. Une solution consiste
dcouper le message M en morceaux Mi tels que le nombre de chiffres de chaque Mi soit strictement
infrieur celui de p et de q. Cela suppose donc que p et q soient grand, ce qui est le cas en pratique
puisque tout le principe de RSA rside dans la difficult trouver dans un temps raisonnable p et q
connaissant n, ce qui suppose p et q grands.

En pratique...
Supposons qu'un utilisateur (nomm Bob) dsire envoyer un message M une personne (nommons-l
Alice), il lui suffit de se procurer la cl publique (n,e) de cette dernire puis de calculer le message chiffr
c:

c = Me mod(n)
Bob envoie ensuite le message chiffr c Alice, qui est capable de le dchiffrer l'aide de sa cl prive
(p,q,d) :

M = Me*d mod(n) = cd mod(n)


Introduction PGP - Pretty Good Privacy
PGP est un cryptosystme (systme de chiffrement) invent par Philip zimmermann, un analyste
informaticien. Philip Zimmermann a travaill de 1984 1991 sur un programme permettant de faire
fonctionner RSA sur des ordinateurs personnels (PGP).
Cependant, tant donn que celui-ci utilisait RSA sans l'accord de ses auteurs, cela lui a valu des procs
pendant 3 ans, il est donc vendu environ 150$ depuis 1993...
Il est trs rapide et sr ce qui le rend quasiment impossible cryptanalyser.

Le principe de PGP
PGP est une combinaison des fonctionnalits de la cryptographie de clef publique et de la cryptographie
conventionnelle. PGP est donc un systme de cryptographie hybride.
Lorsqu'un utilisateur chiffre un texte avec PGP, les donnes sont dabord compresses. Cette compression
des donnes permet de rduire le temps de transmission par modem, d'conomiser l'espace disque et,
surtout, de renforcer la scurit cryptographique.
La plupart des cryptanalystes exploitent les modles trouvs dans le texte en clair pour casser le
chiffrement. La compression rduit ces modles dans le texte en clair, amliorant par consquent
considrablement la rsistance la cryptanalyse.

Ensuite, l'opration de chiffrement se fait principalement en deux tapes :

PGP cre une cl secrte IDEA de manire alatoire, et chiffre les donnes avec cette clef
PGP crypte la cl secrte IDEA et la transmet au moyen de la cl RSA publique du destinataire.

De mme, l'opration de dcryptage se fait aussi en deux tapes :


PGP dchiffre la cl secrte IDEA au moyen de la cl RSA prive.

PGP dchiffre les donnes avec la cl secrte IDEA prcdemment obtenue.

Cette mthode de chiffrement associe la facilit d'utilisation du cryptage de clef publique la vitesse du
cryptage conventionnel. Le chiffrement conventionnel est environ 1 000 fois plus rapide que le cryptage
de clef publique. Le cryptage de clef publique rsout le problme de la distribution des clefs. Utilises
conjointement, ces deux mthodes amliorent la performance et la gestion des clefs, sans pour autant
compromettre la scurit.

Les fonctionnalits de PGP


PGP offre les fonctionnalits suivantes :
Signature lectronique et vrification d'intgrit de messages : fonction base sur
l'emploi simultan d'une fonction de hachage (MD5) et du systme RSA. MD5 hache le message
et fournit un rsultat de 128 bits qui est ensuite chiffr, grce RSA, par la clef prive de
l'expditeur.
Chiffrement des fichiers locaux : fonction utilisant IDEA.

Gnration de clefs publiques et prives : chaque utilisateur chiffre ses messages l'aide de
clefs prives IDEA. Le transfert de clefs lectroniques IDEA utilise le systme RSA; PGP offre
donc des mcanismes de gnration de clefs adapts ce systme. La taille des clefs RSA est
propose suivant plusieurs niveaux de scurit : 512, 768, 1024 ou 1280 bits.
Gestion des clefs : fonction s'assurant de distribuer la clef publique de l'utilisateur aux
correspondants qui souhaiteraient lui envoyer des messages chiffrs.
Certification de clefs : cette fonction permet d'ajouter un sceau numrique garantissant
l'authenticit des clefs publiques. Il s'agit d'une originalit de PGP, qui base sa confiance sur une
notion de proximit sociale plutt que sur celle d'autorit centrale de certification.
Rvocation, dsactivation, enregistrement de clefs : fonction qui permet de produire des
certificats de rvocation.

Le format des certificats PGP


Un certificat PGP comprend, entre autres, les informations suivantes :
Le numro de version de PGP : identifie la version de PGP utilise pour crer la clef associe
au certificat.
La clef publique du dtenteur du certificat : partie publique de votre paire de clefs associe
l'algorithme de la clef, qu'il soit RSA, DH (Diffie-Hellman) ou DSA (Algorithme de signature
numrique).
Les informations du dtenteur du certificat : il s'agit des informations portant sur l'
identit de l'utilisateur, telles que son nom, son ID utilisateur, sa photographie, etc.
La signature numrique du dtenteur du certificat : galement appele autosignature, il
s'agit de la signature effectue avec la clef prive correspondant la clef publique associe au
certificat.
La priode de validit du certificat : dates/ heures de dbut et d'expiration du certificat.
Indique la date d'expiration du certificat.
L'algorithme de chiffrement symtrique prfr pour la clef : indique l'algorithme de
chiffrement que le dtenteur du certificat prfre appliquer au cryptage des informations. Les
algorithmes pris en charge sont CAST, IDEA ou DES triple
Le fait qu'un seul certificat puisse contenir plusieurs signatures est l'un des aspects uniques du format du
certificat PGP. Plusieurs personnes peuvent signer la paire de clefs/ d'identification pour attester en toute
certitude de l'appartenance de la clef publique au dtenteur spcifi. Certains certificats PGP sont
composs d'une clef publique avec plusieurs libells, chacun offrant un mode d'identification du dtenteur
de la clef diffrent (par exemple, le nom et le compte de messagerie d'entreprise du dtenteur, l'alias et
le compte de messagerie personnel du dtenteur, sa photographie, et ce, dans un seul certificat).
Dans un certificat, une personne doit affirmer qu'une clef publique et le nom du dtenteur de la clef sont
associs. Quiconque peut valider les certificats PGP. Les certificats X. 509 doivent toujours tre valids
par une autorit de certification ou une personne dsigne par la CA. Les certificats PGP prennent
galement en charge une structure hirarchique l'aide d'une CA pour la validation des certificats.

Plusieurs diffrences existent entre un certificat X. 509 et un certificat PGP. Les plus importantes sont
indiques ci-dessous :
Pour crer votre propre certificat PGP, vous devez demander l'mission d'un certificat X. 509 auprs
d'une autorit de certification et l'obtenir ;
Les certificats X. 509 prennent en charge un seul nom pour le dtenteur de la clef ;

Les certificats X. 509 prennent en charge une seule signature numrique pour attester de la
validit de la clef ;

Les modles de fiabilit de PGP


En rgle gnrale, la CA (Certification authority - autorit de certification) inspire une confiance totale
pour tablir la validit des certificats et effectuer tout le processus de validation manuelle. Mais, il est
difficile d'tablir une ligne de confiance avec les personnes n'ayant pas t explicitement considres
comme fiables par votre CA.
Dans un environnement PGP, tout utilisateur peut agir en tant qu'autorit de certification. Il peut donc
valider le certificat de clef publique d'un autre utilisateur PGP. Cependant, un tel certificat peut tre
considr comme valide par un autre utilisateur uniquement si un tiers reconnat celui qui a valid ce
certificat comme un correspondant fiable. C'est--dire, si l'on respecte par exemple mon opinion selon
laquelle les clefs des autres sont correctes uniquement si je suis considr comme un correspondant
fiable. Dans le cas contraire, mon opinion sur la validit d'autres clefs est controverse.
Supposons, par exemple, que votre trousseau de clefs contient la clef d'Alice. Vous l'avez valide et, pour
l'indiquer, vous la signez. En outre, vous savez qu'Alice est trs pointilleuse en ce qui concerne la
validation des clefs d'autres utilisateurs. Par consquent, vous affectez une fiabilit complte sa clef.
Alice devient ainsi une autorit de certification. Si elle signe la clef d'un autre utilisateur, cette clef
apparat comme valide sur votre trousseau de clefs.

La rvocation d'un certificat PGP


Seul le dtenteur du certificat (le dtenteur de sa clef prive correspondante) ou un autre utilisateur,
dsign comme autorit de rvocation par le dtenteur du certificat, a la possibilit de rvoquer un
certificat PGP. La dsignation d'une autorit de rvocation est utile, car la rvocation, par un utilisateur
PGP, de son certificat est souvent due la perte du mot de passe complexe de la clef prive
correspondante. Or, cette procdure peut uniquement tre effectue s'il est possible d'accder la clef
prive. Un certificat X. 509 peut uniquement tre rvoqu par son metteur.
Lorsqu'un certificat est rvoqu, il est important d'en avertir ses utilisateurs potentiels. Pour informer de
la rvocation des certificats PGP, la mthode habituelle consiste placer cette information sur un serveur
de certificats. Ainsi, les utilisateurs souhaitant communiquer avec vous sont avertis de ne pas utiliser
cette clef publique.
Article crit par Sylvain Lorin
Source : http://www.pgpi.org/doc/pgpintro/, une trs bonne rfrence

le problme de la lgislation
Il existe des lois sur Internet, cependant elles sont souvent inadquates et chaque pays a sa propre
lgislation, si bien que la France interdisait il y a encore quelques annes tout chiffrage (except la
signature depuis 1990) car les politiciens considraient (certains encore aujourd'hui) que le citoyen ne
pouvait pas avoir accs des moyens cryptographiques pouvant servir aux militaires. La politique
franaise s'est assouplie depuis mais reste encore en marge par rapport des pays comme les Etats-Unis
qui laisse la libert ses citoyens de crypter loisir.
Cependant, l'Etat n'a plus aucun contrle sur le contenu des changes, au grand bonheur des pirates
(pour les transactions bancaires par exemple), de la Mafia, des terroristes (pour l'change de donnes
mettant en jeu la scurit nationale).
D'autre part, le commerce lectronique a besoin des services de la cryptographie pour assurer au client
qu'il va tre livr et pour s'assurer qu'il va tre pay.
Il fallait donc que l'Etat puisse avoir accs certaines informations pour pouvoir contrer les terroristes.
Les cls paraissent donc tre le meilleur moyen de garantir l'identification

Le Tiers de confiance
Cette nouvelle lgislation autorise n'importe quelle personne (physique ou morale) utiliser un logiciel de
chiffrement condition de dposer les cls auprs d'un organisme agr par la DCSSI (Direction Centrale
de Scurit des Systmes d'Information). Celui-ci pourra remettre les cls de chiffrement la justice en
cas de doute. Ce Tiers de confiance ne dpend pas de l'Etat, ce dernier doit mettre en place une
procdure judiciaire pour pouvoir contrler des messages chiffrs.

La lenteur de la France
La France est comme dans beaucoup d'autres domaines trs lente ds qu'il s'agit d'affaires
administratives (d'autres pays le sont beaucoup plus) et notamment en matire de lgislation. Si bien
que lorsque les lois apparaissent, les technologies ont dj chang rendant les lois obsoltes... A qui la
faute? La justice est-elle trop lente, ou le monde volue-t-il trop vite? Un peu des deux srement...

Introduction SSL
SSL (Secure Sockets Layers, que l'on pourrait traduire par couche de sockets scurise) est un
procd de scurisation des transactions effectues via Internet mis au point par Netscape, en
collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics. Il repose sur un procd de
cryptographie par clef publique afin de garantir la scurit de la transmission de donnes sur Internet Le
systme SSL est indpendant du protocole utilis, ce qui signifie qu'il peut aussi bien scuriser des
transactions faites sur le Web par le protocole HTTP que des connexions via le protocole FTP, POP ou
IMAP. En effet, SSL agit telle une couche supplmentaire, permettant d'assurer la scurit des donnes,
situe entre la couche application et la couche transport (protocole TCP par exemple).
De cette manire, SSL est transparent pour l'utilisateur (entendez par l qu'il peut ignorer qu'il utilise
SSL). Par exemple un utilisateur utilisant un navigateur Internet pour se connecter un site de
commerce lectronique scuris par SSL enverra des donnes chiffres sans avoir s'en proccuper.
La quasi intgralit des navigateurs supporte dsormais le protocole SSL. Netscape Navigator affiche par
exemple un cadenas verrouill pour indiquer la connexion un site scuris par SSL et un cadenas
ouvert dans le cas contraire, tandis que Microsoft Internet Explorer affiche un cadenas uniquement lors
de la connexion un site scuris par SSL.
sous Internet Explorer

sous Mozilla

Un serveur scuris par SSL possde une URL commenant par https://, o le "s" signifie bien
videmment secured (scuris).
Au milieu de l'anne 2001, le brevet de SSL appartenant jusqu'alors Netscape a t rachet par l'IETF
(Internet Engineering Task Force) et a t rebaptis pour l'occasion TLS (Transport Layer Security).

Fonctionnement de SSL 2.0


La scurisation des transactions par SSL 2.0 est base sur un change de cls entre client et serveur. La
transaction scurise par SSL se fait selon le schma suivant:

Dans un premier temps, le client, se connecte au site marchand scuris par SSL et lui demande
de s'authentifier. Le client envoie galement la liste des cryptosystmes qu'il supporte, trie par
ordre dcroissant de la longueur des cls.
Le serveur a rception de la requte envoie un certificat au client, contenant la cl publique du
serveur, signe par une autorit de certification (CA), ainsi que le nom du cryptosystme le plus
haut dans la liste avec lequel il est compatible (la longueur de la cl de chiffrement - 40 bits ou
128 bits - sera celle du cryptosystme commun ayant la plus grande taille de cl).

Le client vrifie la validit du certificat (donc l'authenticit du marchand), puis cre une cl
secrte alatoire (plus exactement un bloc prtenduement alatoire), chiffre cette cl l'aide de
la cl publique du serveur, puis lui envoie le rsultat (la cl de session).
Le serveur est en mesure de dchiffrer la cl de session avec sa cl prive. Ainsi, les deux
entits sont en possession d'une cl commune dont ils sont seuls connaisseurs. Le reste des
transactions peut se faire l'aide de cl de session, garantissant l'intgrit et la confidentialit
des donnes changes.

Problmatique
Internet permet de raliser un grand nombre d'oprations distance, notamment l'administration de
serveurs ou bien le transfert de fichiers. Le protocole Telnet et les r-commandes BSD (rsh, rlogin et
rexec) permettant d'effectuer ces tches distantes possdent l'inconvnient majeur de faire circuler en
clair sur le rseau les informations changes, notamment l'identifiant (login) et le mot de passe pour
l'accs la machine distante. Ainsi, un pirate situ sur un rseau entre l'utilisateur et la machine distante
a la possibilit d'couter le traffic, c'est--dire d'utiliser un outil appel sniffer, capable de capturer les
trames circulant sur le rseau et d'obtenir l'identifiant et le mot de passe pour accder la machine
distante.
Mme si les informations changes ne possdent pas un grand niveau de scurit, le pirate obtient un
accs un compte sur la machine distante et peut ventuellement tendre ses privilges sur la machine
afin d'obtenir un accs administrateur (root).
Etant donn qu'il est impossible de matriser l'ensemble des infrastructures physiques situes entre
l'utilisateur et la machine distante (internet tant par dfinition un rseau ouvert), la seule solution est
de recourir une scurit au niveau logique (au niveau des donnes). Le protocole SSH (Secure Shell)
rpond cette problmatique en permettant des utilisateurs (ou bien des services TCP/IP) d'accder
une machine travers une communication chiffre (appele tunnel).

Le protocole SSH
Le protocole SSH (Secure Shell) est un protocole permettant un client (un utilisateur ou bien mme
une machine) d'ouvrir une session interactive sur une machine distante (serveur) afin d'envoyer des
commandes ou des fichiers de manire scurise :

Les donnes circulant entre le client et le serveur sont chiffres, ce qui garantit leur
confidentialit (personne d'autre que le serveur ou le client ne peut lire les informations
transitant sur le rseau). Il n'est donc pas possible d'couter le rseau l'aide d'un analyseur de
trames.
Le client et le serveur s'authentifient mutuellement afin d'assurer que les deux machines qui
communiquent sont bien celles que chacune des parties croit tre. Il n'est donc plus possible
pour un pirate d'usurper l'identit du client ou du serveur (spoofing).

La version 1 du protocole (SSH1) propose ds 1995 avait pour but de servir d'alternative aux sessions
interactives (shells) telles que Telnet, rsh, rlogin et rexec. Ce protocole possdait toutefois une faille
permettant un pirate d'insrer des donnes dans le flux chiffr. C'est la raison pour laquelle en 1997 la
version 2 du protocole (SSH2) a t propose en tant que document de travail (draft) l'IETF. Les
documents dfinissant le protocole sont accessibles en ligne sur http://www.ietf.org/html.charters/secshcharter.html.
Secure Shell Version 2 propose galement une solution de transfert de fichiers scuris (SFTP, Secure
File Transfer Protocol).
SSH est un protocole, c'est--dire une mthode standard permettant des machines d'tablir une
communication scurise. A ce titre, il existe de nombreuses implmentations de clients et de serveurs
SSH. Certains sont payants, d'autres sont gratuits ou open source : vous trouverez un certain nombre de
clients SSH dans la section tlchargement de CommentCaMarche.

Fonctionnement de SSH
L'tablissement d'une connexion SSH se fait en plusieurs tapes :
Dans un premier temps le serveur et le client s'identifient mutuellement afin de mettre en place
un canal scuris (couche de transport scurise).
Dans un second temps le client s'authentifie auprs du serveur pour obtenir une session.

Mise en place du canal scuris

La mise en place d'une couche de transport scurise dbute par une phase de ngociation entre le client
et le serveur afin de s'entendre sur les mthodes de chiffrement utiliser. En effet le protocole SSH est
prvu pour fonctionner avec un grand nombre d'algorithmes de chiffrement, c'est pourquoi le client et le
serveur doivent dans un premier temps changer les algorithmes qu'ils supportent.
Ensuite, afin d'tablir une connexion scurise, le serveur envoie sa cl publique d'hte (host key) au
client. Le client gnre une cl de session de 256 bits qu'il chiffre grce la cl publique du serveur, et
envoie au serveur la cl de session chiffre ainsi que l'algorithme utilis. Le serveur dchiffre la cl de
session grce sa cl prive et envoie un message de confirmation chiffr l'aide de la cl de session. A
partir de l le reste des communications est chiffr grce un algorithme de chiffrement symtrique en
utilisant la cl de session partage par le client et le serveur.
Toute la scurit de la transaction repose sur l'assurance qu'ont le client et le serveur de la validit des
cls d'hte de l'autre partie. Ainsi, lors de la premire connexion un serveur, le client affiche
gnralement un message demandant d'accepter la connexion (et prsente ventuellement un condens
de la cl d'hte du serveur) :

Host key not found from the list of known hosts.


Are you sure you want to continue connecting (yes/no)?

Afin d'obtenir une session vritablement scurise, il est conseill de demander oralement
l'administrateur du serveur de valider la cl publique prsente. Si l'utilisateur valide la connexion, le
client enregistre la cl hte du serveur afin d'viter la rptition de cette phase.
A l'inverse, selon sa configuration, le serveur peut parfois vrifier que le client est bien celui qu'il prtend
tre. Ainsi, si le serveur possde une liste d'htes autoriss se connecter, il va chiffrer un message
l'aide de la cl publique du client (qu'il possde dans sa base de donnes de cls d'htes) afin de vrifier
si le client est en mesure de le dchiffrer l'aide de sa cl prive (on parle de challenge).

L'authentification
Une fois que la connexion scurise est mise en place entre le client et le serveur, le client doit s'identifier
sur le serveur afin d'obtenir un droit d'accs. Il existe plusieurs mthodes :
la mthode la plus connue est le traditionnel mot de passe. Le client envoie un nom d'utilisateur
et un mot de passe au serveur au travers de la communication scuris et le serveur vrifie si
l'utilisateur concern a accs la machine et si le mot de passe fourni est valide
une mthode moins connue mais plus souple est l'utilisation de cls publiques. Si
l'authentification par cl est choisie par le client, le serveur va crer un challenge et donner un
accs au client si ce dernier parvient dchiffrer le challenge avec sa cl prive

Introduction S-HTTP
S-HTTP (Secure HTTP, traduisible par Protocole HTTP scuris) est un procd de scurisation des
transactions HTTP reposant sur une amlioration du protocole HTTP mise au point en 1994 par l'EIT
(Enterprise Integration Technologies). Il permet de fournir une scurisation des changes lors de
transactions de commerce lectronique en cryptant les messages afin de garantir aux clients la
confidentialit de leur numro de carte bancaire ou de tout autre information personnelle. Une
implmentation de S-HTTP a t dveloppe par la socit Terisa Systems afin d'inclure une scurisation
au niveau des serveurs web et des navigateurs.

Fonctionnement de S-HTTP
Contrairement SSL qui travaille au niveau de la couche de transport, S-HTTP procure une scurit
base sur des messages au-dessus du protocole HTTP, en marquant individuellement les documents
HTML l'aide de "certificats". Ainsi, alors que SSL est indpendant de l'application utilise et crypte
l'intgralit de la communication, S-HTTP est trs fortement li au protocole HTTP et crypte
individuellement chaque message.
Les messages S-HTTP sont bass sur trois composantes:

Le message HTTP
Les prfrences cryptographiques de l'envoyeur
Les prfrences du destinataire

Ainsi, pour dcrypter un message S-HTTP, le destinataire du message analyse les en-ttes du message
afin de dterminer le type de mthode qui a t utilis pour crypter le message. Puis, grce ses
prfrences cryptographiques actuelles et prcdentes, ainsi que des prfrences cryptographiques
prcdentes de l'expditeur, il est capable de dcrypter le message.

La complmentarit de S-HTTP et de SSL

Alors que SSL et S-HTTP taient concurrents, un grand nombre de personnes a ralis que les deux
protocoles de scurisation taient complmentaires, tant donn qu'ils ne travaillent pas au mme
niveau. De cette faon, SSL permet de scuriser la connexion Internet tandis que S-HTTP permet de
fournir des changes HTTP scuriss.
De cette faon, la compagnie Terisa Systems, spcialise dans la scurisation des rseaux, forme par
RSA Data Security et l'EIT, a mis au point un Kit de dveloppement permettant des dveloppeurs de
dvelopper des serveurs Web implmentant SSL et S-HTTP (SecureWeb Server Toolkit), ainsi que des
clients Web supportant ces protocoles (SecureWeb Client Toolkit).

Introduction SET
SET (Secure Electronic Transaction) est un protocole de scurisation des transactions lectroniques mis
au point par Visa et MasterCard, et s'appuyant sur la mthode SSL.
SET est bas sur l'utilisation d'une signature lectronique au niveau de l'acheteur et une transaction
mettant en jeu non seulement l'acheteur et le vendeur, mais aussi leurs banques respectives.

Fonctionnement de SET
Lors d'une transaction scurise avec SET, les donnes sont envoyes par le client au serveur du
vendeur, mais ce dernier ne rcupre que la commande. En effet, le numro de carte bleue est envoye
directement la banque du commerant, qui va tre en mesure de lire les coordonnes bancaires de
l'acheteur, et donc de contacter sa banque afin de les vrifier en temps rel.

Ce type de mthode ncessite une signature lectronique au niveau de l'utilisateur de la carte afin de
certifier qu'il s'agit bien du possesseur de cette carte.