Vous êtes sur la page 1sur 80

Bibliographie

LA CRYPTOGRAPHIE  Cours de cryptographie


– Gilles Zemor, Edition Cassini
 Introduction aux méthodes de la cryptographie
– Brassart, Beckett
 Cryptographie appliquée
Anas ABOU EL KALAM – Bruce Schneier
 Handbook of applied cryptography
– Menesez, Van Oorschott
ENSEEIHT
• www.carc.math.uwaterloo.ca/hac
 Chryptographie théorie et pratique
– Douglas Stinson

Anas Abou El Kalam


2

Plan du cours Les différents domaines de sécurité

Sécurité informatique
 Confidentialité
– Introduction : utilité, définitions, historique
– Chiffrement symétrique : transpositions, substitutions
– Chiffrement asymétrique Sécurité des systèmes et réseaux Sécurité applicative
– le futur : courbes elliptiques, cryptographie quantique
 Authentification
– Introduction : objectifs, définitions
– Fonction de hashage Protections Attaques et intrusions Sécurité applicative locale Sécurité applicative sur Internet
– Signatures digitales et certificats Firewall Virus, vers.. Chif rement local PKI : certificats, signatures
 Applications
– PAP, CHAP, NTLM
VPN, IPsec, IPv6 Dénis de service Biométrie, cartes à puce . . Authentification HTTP, NTLM..
– TLS, Kerberos Détection d'intrusion prise de contrôle
Anas Abou El Kalam
3 Anas Abou El Kalam
4
Introduction à la confidentialité Les risques liés à la sécurité

 Confidentialité  Les grosses


– garantir le secret de l’information transmise ou archivée 40% 23% entreprises sont les
plus touchées parce
que les plus exposées,
 Quelle utilité sur Internet ? mais aussi car leurs
systèmes
– Domaine militaire : transmission de documents “secret informatiques leur
défense”, stratégies, plans> permettent de détecter
– Domaine médical : confidentialité des dossiers de patients les attaques…
– Domaine commercial : pour les achats sur Internet,  0.4% des entreprises
transmission sécurisée du numéro de carte bancaire 37% Malveillance
françaises déclarent
– Domaine industriel : transmission d’informations internes à Erreurs avoir eu une «€fraude€»
l’entreprise à l’abris du regard des concurrents ! Accidents ie 6800 entreprises

Source « Sinistralités » CLUSIF Année 2000

Anas Abou El Kalam


5 Anas Abou El Kalam
6

Crypto : définitions Crypto : historique


– cryptosystème : mécanisme permettant de camoufler des messages
• I.e., de le rendre incompréhensible pour quiconque n’est pas autorisé

– cryptographie : art de créer et utiliser des cryptosystèmes  Hiéroglyphes


– cryptanalyse : art de “casser” des cryptosystèmes – pour étaler son savoir
– pour cacher l’emplacement des trésors
– cryptologie : étude de la cryptographie + cryptanalyse
 Ancien Testament
• À PROSCRIRE : cryptage, encryptage, chiffrage, chiffration !!!!! – code atbash : a=z (taw), b=y (shin)> k=l (lamed)...
– livre de Jérémie : Sheshach à la place de Babylone, Leb
Convention secrète Kamai à la place de Kashdim (Chaldéens)
 Civilisation arabe
chiffrement
Texte en Texte chiffré – l’alphabet “magique” Davidien
clair
(cryptogramme)  Seconde guerre mondiale
déchiffrement – livres marqués à l’encre invisible
– déplacements des navires japonais dans le Pacifique.

Décryptage (espions) 7 8
Anas Abou El Kalam Anas Abou El Kalam
Crypto : historique Plan du cours
 <70
– Cryptosystèmes symétriques
• I.e. conventionnels ou à clé secrète  Confidentialité
• Même clé pour chiffrement / déchiffrement  doit être secrète – Introduction : utilité, définitions, historique
» N personnes  N (N-1)/2 clés – Chiffrement classique : transpositions, substitutions
• Clés courtes ; plus rapide – Chiffrement symétrique
 1976 – Chiffrement asymétrique
– W. Diffie et M. Hellman introduisent crypto à clé publique – le futur : courbes élliptiques, cryptographie quantique
• Asymétrique  Authentification
– Clé de chiffrement est publique (i.e., connue de tous) – Introduction : objectifs, définitions
– Seul clé déchiffrement reste secrète – Fonctions de hashage
» N personnes  2 N clés – Signatures digitales et certificats
 1978  Applications
– Premier système chiffrement à clé publique (RSA). – PAP, CHAP, NTLM
• RSA est un des seuls à résister à la cryptanalyse – TLS, Kerberos...

Anas Abou El Kalam


9 Anas Abou El Kalam
10

La grilles Jérôme Cardan ~1550


Chiffrement à clé secrète
Clé secrète
Quoi ?
une feuille dans laquelle ont été découpées des fenêtres rectangulaires
à intervalles irréguliers. Texte chiffré

Chiffrement  Chiffrements à clé secrète :


• La personne qui veut coder un message pose ce cacher sur une feuille – utilisation de la même clé : on parle aussi de chiffrement symétrique
de papier et inscrit le message secret dans les fenêtres. – l’expéditeur et son interlocuteur doivent s’être échangé une clé - dite secrète - au
préalable.
• Elle enlève ensuite la grille et remplit les espaces avec des lettres
– fonctionnement bloc par bloc (“block ciphers”) ou caractère par caractère
quelconques. (“stream ciphers”)
– ce type de chiffrement existe depuis très longtemps
Déchiffrement
La personne qui veut déchiffrer le cryptogramme place simplement la  Principes de base
– Toute la crypto symétrique repose sur deux et seulement deux principes :
grille sur le texte pour voir apparaître le message
• Substitution
• Transposition
Anas Abou El Kalam
11 Anas Abou El Kalam
12


 




J


' &



 


1






]

bc a


( 
p

L ? 

ˆ K

c 

H @

H
m

?A

()

G
d

ns
p






e % 




U
e

OK
N



R
bs

 

bs


g V


eh

VO

Chiffrement
d

f


Réarranger


d p

HO
d N

. -

c
e

 Cryptanalyse
Déchiffrement
I

j d

i f


 ~

e 

réordonner
c

/ 

– anagramme
e

 €

e
/ 

jk


@

12 0 

0
.

d
T
O

BONJOUR
€

et


l g

m ‚

scytale
<

4 3
t
a


€

O T

u
 


ƒ ‚ B 0


m e

d
n

C 6

jn

567
o

La transposition : Technique
V




8 7

f R

y wx

eo

c V

D1

K
‰ t

‡ †

 
e


e

<1

| { z U

 Transposition simple


1
-

 Transposition par clé



p g
m

dŠ /




} v

Š K
Transpositions

12

9:




f
n

e
U

" 

 
" 

-
.
j
H


3;

Anas Abou El Kalam


Anas Abou El Kalam
/ 12

8
/

#

#

12
0

1
Transposition simple

8
/

/
– les permutations sont décrites par une clé secrète





Asyrienne (Grèce, 600 avant JC)






<=
JOBOURN

0







/ 


6>

12


 


?

15
13

– –

• “ •

‘–

‘ ™
• •

”

‹ ‹ ‹ Œ ‹

Ÿ — ˜
œ E

Œ
–


Ž•


–

• ž

• E
¥


˜
”

š •
’ • œ

•

” Œ

¤ 

– ”‘ ”

” ”

– ”‘

•
£ Ÿ

•
Ž
”•

F G F

• œ 

Ž
Œ

–
— O \
•
› 
•


—

 

™ —
™



•
‘

–
” ‘ 

’


“ 



—
” H

OQ
• Y
’
” “

ΠT
OQ

Q


œ 
JK I

’“

‘


›


 ™ ”


•  •
’ ˜ ’

• •

˜ M L
• Œ
L
RS


”•
™
•


˜
–

‘–

–
“

– —¢ 

”‘

Œ
Ž•

¢ O N

R
M
” “ œ
•


–


J
• 

œ 


•

–
•
•
Chiffrement

• K

• œ



Déchiffrement

Œ

™ L

•
™


” POQ
”


O
•
LW

œ
• •
‘

”
•


N
”

‘–


˜
š

Œ
”
š

• I
S
˜
– —¢

’ ™

– RS
– —¢

”
•
’

”
š
¢

–
Ÿ —

” –

”
—
—

• R

• 

• › N


™
•
™

— O

” “

 ”

 V

•
’


T
La transposition : Transposition

La transposition : Transposition

M
H

JK I

V
M

OK

O
N

O
N
horizontalement

POQ
Anas Abou El Kalam
Anas Abou El Kalam

RS

HO

K
simple par colonnes

par carré polybique

N
verticalement

L
[

O
matrice

O
N

IW

X O
L

H^

OK

Q
16
14

[
Chiffrement de Vernam (1917) Transpositions, en Math *.
 Appelé aussi masque jetable ou one-time-pad  Soit σ une permutation (bijection) sur {1, .., n}
 Servait initialement à chiffrer les messages téléphoniques  N : longueur du clair
 La clé K est une suite binaire de la même longueur que le clair  M = m1 >. mn
 Chiffrement : ajouter (mod 2) – bit à bit – du clair et de la clé
 Chiffrement : c = Eσ(m) = mσ(1) .. mσ(n)

– Crypté = Message XOR clé  La clé secrète est σ


– C = m ⊕ K = m1 ⊕ K1 > mn ⊕ Kn
 Déchiffrement : Dσ(c) = cσ-1(1).. cσ-1(n) = m.
 Mais, attaque à chiffre seul
 Il y a « n! » permutations possibles
– Si l’attaquant peut décrypter un (seul) message (càd trouver m connaissant c),
alors il détient la clé  Pourtant ce système est cassé car il est linéaire

• K=m⊕c  ∃ matrice Aσ telle que : c = m × Aσ

– Vulnérable aux attaques à clair connus !!


» La clé ne doit être utilisée qu’une seule fois
Anas Abou El Kalam
17 Anas Abou El Kalam
18

Transpositions, « attaque » Substitutions


A donne D, B donne E...
 Si l’attaquant dispose de n paires de clairs-chiffrés BONJOUR ERQMRXU

 On met les n claires en une matrice M carrée n × n


 On met les n chiffrés correspondants en une matrice C.  on remplace une lettre par autre chose
 Chryptanalyse  Trouver A ?
 simple monoalphabétique
– C=M×A – on remplace une lettre par une autre

– Si M est inversible : A = M-1 × C


 synonimique
• en n3 opérations élémentaires (par méthode du pivot de Gauss), – une lettre peut être remplacée par plusieurs signes
l’attaquant peu réussir (avec proba non négligeable) – exemple : A donne % ou µ ou $

 polyalphabétique
– différents décalages suivant une clé
– exemples : Vigenère, WordPerfect, > plus élaboré : RC4

Anas Abou El Kalam


19 Anas Abou El Kalam
20
Substitution momoapphabétique(Exemple *) Substitution momoapphabétique(Exemple >)
 Texte en claire 








– TEXTE EN CLAIR . 










 Clé

















• 11 ; 23 ; 32 ;














 Texte chiffré
– TXET ECLAL IUR

 Cas général (26! Permutations = 4. 1026)


– Pourtant, ce système est cassé par la cryptanalyse statique
– Dans une langue usuelle, les lettres n’apparaissent pas toutes
avec les mêmes fréquences.

 Cas particulier (décalage circulaire de lettres d’amptitude k)


– C’est le nombre k qui est secret


01

2
*

*
"

$%

&'(

"+

"

$-

"

'

&

'

$
• Ex : Chiffrement de César utilisait k=3
• Que 26 clés possibles  système pas fiable
Anas Abou El Kalam
21 Anas Abou El Kalam
22

La Substitution homophonique La Substitution polyalphabétique

c
b

b
XY

Z[

]^

]`

aY

XY

a
\

\
Comment ?

ZYd

]e

Yf

ai

Y
g

g
b

b

:

=>

EF

>
?

XY

]f

X
34

567

48

67

<

67

<

8
AB

<

3B

9B

96

6H

<
@

\k

gk
:

>

>

plusieurs

b
?

d
XY

]d

d
3

<

34

96

<

96

3B

9B

96

<

6H


K

LM

>

FN

OP

LT

LU

OV

O
?
B

6H

34

96

<

96

48

48
@

@
W

\k

g
b

b
S

X
J

cm

\
b
Yf

]f

Y
 n

\k
b
]`

aY

X]^

XY

^
ck

\
b

b
d

XY

]f

Y
Chiffrement
\

o
b
p

XY

X]^

XY
c

g
b

b
^

XYd

]f

Yq

Yf

Yf
g

\k
b

b
a

]f

^
gk
]d


u

‚
x

x
rst

{|

rs€

y
z

u
x

x
|

Anas Abou El Kalam


23 Anas Abou El Kalam
24
Chiffrement de CESAR (60~50 av JC) Autres exemples
principe Chaque lettre d'un messages est remplacée par une lettre différente.
 



























ABCDEFGH I J KLMNOPQRS T UVWXYZ






















DE FGHI J KLMNOP Q RSTUVWXYZ ABC























message : LANCE LES MISSILES

















"

#$

#%

"

&

message chiffré : ODQFH OHV PLVVLHV



'

















*+

















1 2 3 4 5
 Le carré de Polybe (~150 av JC)
,












1 A B C D E
)






Chaque lettre est codée par deux 2 F G H I-J K



.
#





/0






chiffres exemple X=53
 inconvénient 3 L M N O P

 4 Q R S T U










 5 V W X Y Z
)














Anas Abou El Kalam
25 Anas Abou El Kalam
26

Substitution Poly-apphabétique Chiffrement de vigenère

 «€t€» permutations : Π1 .. Πt Quoi ?

1
– M = m1>mn

<=

>?@

F?

?=

=
G
1

45

89

:5A

65

DE

HE

5
;
– On applique Π1 à m1, >... Π1 à mn,,
– puis on continue cycliquement Π1 à mt+1, Π2 à mt+2 >>
Pourquoi ?
– C=E Π1 .. Πt (m) = Π1(m1) .. Πi[t](mi) >. Πn[t](mn)

>

>

>

@
G

G
1

45

89

:J

:5

BE

:5

63

L3A

M
• i[t] = i mod t si i mod t ≠ 0 et t si i mod t = 0
 Exemple : «€système de vigenière€; 19ème »
 Πi étaient des décalages circulaires
Chiffrement
– Le décalage correspondant à chaque permutation était indiqué par
>

<

>

>

F
G

G
63

5N

O5

43

5A

6E

:5

:5

A
une lettre =

7
G

G
9

:5

43

B5

M
– « EXEMPLE » 
R

>

<

<

Q?@

@
G

G
9

A
45

5A

O5

5N

:5

:
S

;
– t=7
 Π1 est décalage 4 position (car E est situé à 4 positions de 1)
 Π2 est décalage de 23
–> 27 28
Anas Abou El Kalam Anas Abou El Kalam
Crypto-système de vigenère Crypto-système de Vigenère (…)

Keyword: RELATIONS
Plaintext: TO BE OR NOT TO BE THAT IS THE QUESTION
Chiffrement
Keyword: RELAT IONSR ELATI ONSRE LATIO NSREL
Plaintext: TOBEO RNOTT OBETH ATIST HEQUE STION
Ciphertext:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY

Déchiffrement
Keyword: RELAT IONSR ELATI ONSRE LATIO NSREL
Ciphertext: KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
Plaintext: TOBEO RNOTT OBETH ATIST HEQUE STION

Anas Abou El Kalam


29 Anas Abou El Kalam
30

Crypto-système de vigenère ... Crypto-système de vigenère ...

Anas Abou El Kalam


31 Anas Abou El Kalam
32
Le cylindre de Jefferson (1790)- E-IGMA

•Principe:
•le cylindre consiste en 26 roues pouvant
tourner autour d'un axe.
•Les 26 lettres de l'alphabet sont inscrites
sur chaque roue dans un ordre aléatoire.
•En tournant ces roues on peut former
des message de 26 lettres.
Exemple : on veut envoyer le message suivant : "Thomas Jefferson wheel cipher"
On écrit ce message sur une ligne puis pour le coder on regarde une autre ligne du
cylindre: Par exemple, on peut prendre celle juste au-dessus
le destinataire du message reçoit alors le message "MZNCSK
YONSLKTRFAJQQBRTXYUK" qu'il écrit sur son propre cylindre, identique bien sûr
à celui de l'expéditeur,
puis il cherche sur celui-ci la ligne où le texte apparaît clairement.

Anas Abou El Kalam


33 Anas Abou El Kalam
34

Schéma simplifié E-IGMA E-IGMA en Allemagne

• Amélioration de la machine de Scherbius (rotor spécial, câblage)


• Progrès surveillé de près par les polonais. Grâce à l'aide des
Français (par espionnage classique), Marian Rejewski trouve le
câblage de la machine en décembre 1932. Il faut construire des
"bombes" pour tester les 26*26*26=15576 clefs possibles en
utilisant des mots probables
• Décembres 1938: les trois rotors sont pris parmis cinq (ce qui
multiplie les combinaisons par 10
L'opérateur devait • 25 Juillet 1939 : les Français et les anglais sont mis au courant
1- Effectuer des branchements de lettres A/L P/R T/D B/W K/F des travaux des polonais
O/Y • http://home.us.net/~encore/Enigma/enigma.html
2- Régler le brouilleur : 2 3 1 • http://www.codesandciphers.org.uk/enigma/enigma2.htm
3- Orienter le brouilleur : Q C W

L'opérateur tape B et obtient D


Anas Abou El Kalam
35 Anas Abou El Kalam
36
Blechtley Park La machine Colossus

re de décryptage anglais (jusqu’à 12 000 personnes)


onnel formé de nombreux mathématiciens, joueurs
ecs, etc. Tous soumis au secret absolu.
ng, Welchman, etc. construisent eux aussi des machines à
pter, ancêtres des ordinateurs.
énorme quantité de messages allemands (surtout de la
affe) sont lus pendant toute la guerre. Les décryptements
alousement protégés (ULTRA), jusqu’en 1973 !

Marian Rejewski Alan Türing


Anas Abou El Kalam
37 Anas Abou El Kalam
38

Chiffrement par symboles de substitution Le chiffre de Hill

 idée
ne plus coder lettres par lettres, mais de coder simultanément des groupes de m lettres!
A B C J N O P W Bien sûr, plus m est grand, plus les analyses statistiques deviennent difficiles!
D E F K L Q R S X Y
 Comment ?
G H I M T U V Z  Remplacer chaque lettre par son ordre dans l'alphabet-1 : A devient 0, B devient 1…
 grouper les nombres ainsi obtenus par m (prenons par exemple m=2).
 Pour chaque bloc de m nombres à coder x1x2...xm, on calcule le texte codé en effectuant
des combinaisons linéaires (ici m=2) :
 y1=a
ax1+b bx2

 y2=ccx1+d
dx2
message : LANCELESMISSILES
 Le choix de la clé correspond ici au choix d'un nombre m, et au choix des
message chiffré : combinaisons linéaires à effectuer (ce sont toujours les mêmes de blocs en blocs).

Anas Abou El Kalam


39 Anas Abou El Kalam
40
Le chiffre de Hill : exemple Le chiffre de Hill

coder le mot ELECTION avec le chiffre de Hill, pour m=2, a=3, b=5, c=1 et d=2. Remarques :
 Etape 1 : On partage en blocs de 2 : EL EC TI ON. le premier E de ELECTION est transformé en P,
 tandis que le second est transformé en W.
Etape 2 : On remplace les lettres par leur nombre associé : 4-11 | 4-2 | 19-8 | 14-13.  Le critère des chiffrements polyalphabétique est bien respecté : les analyses
statistiques directes sur la fréquence des lettres sont impossibles.
Etape 3 : combinaisons linéaires pour chaque bloc. E.g., pour le 1er bloc (x1=4, x2=11)

 y1=3×4+5×11=67.
Déchiffrement
 y2=1×4+2×11=26.
 Découper message en blocs de m lettres,
 inverser relations données par les combinaisons linéaires : si un système donne y1 et y2
De même, y3=22, y4=8, y5=97, y6=35, y7=107, y8=40.
en fonction de x1 et x2, il faut pouvoir l'inverser et exprimer y1 et y2 en fonction de x1 et x2

 Etape 4 : restes modulo 26: z1=15, z2=0, z3=22, z4=8, z5=19, z6=9, z7=3, z8=14.

 Etape 5 : On reconvertit en lettres, pour trouver PAWITDJO.

Anas Abou El Kalam


41 Anas Abou El Kalam
42

Confidentialité parfaite Comment “casser” * ?

 Le message chiffré ne  Exemple : système à  Déterminer la langue dans laquelle le


révèle rien du texte en masque jetable - Gilbert message est écrit
clair Vernam et Joseph
Mauborgne  Type de système utilisé ?
(mis à part peut être la taille du – Texte en clair : BONJOUR
texte en clair) – Transposition : même fréquence de chaque lettre que
– Clé secrète (aléatoire) : dans la langue
 Théorème de Shannon LDYKGRR
“la confidentialité parfaite n’est – Substitution monoalphabétique : des fréquences
– Message chiffré : différentes
réalisable que si l’ensemble des NSMUVMJ
clés est au moins aussi grand
– Sans connaître la clé,
– Substitution polyalphabétique : toutes les lettres ont (quasi)
que l’ensemble des textes en la même fréquence
clair.” NSMUVMJ peut aussi bien
vouloir dire VANILLE  Essayer de trouver la clé du système
(RRYLJAE) ou ATTAQUE
=> la clé doit être aussi longue que (MYSTERE)  Exploiter une faille de l’algorithme
le message, et ne doit être
utilisée qu’une fois.
 En informatique : OU – Génération de clés prédictible, trappe secrète ...
=> théorique...
EXCLUSIF binaire.  Analyse de trafic

Anas Abou El Kalam


43 Anas Abou El Kalam
44
La cryptanalyse statistique (~9 siècle)
Cryptanalyse : recherche exhaustive
Une façon d'élucider un message crypté, si nous savons dans quelle
langue il est écrit, est de nous procurer un autre texte en clair de la
 On dispose seulement du texte chiffré, et on même langue, de la longueur d'un feuillet environ, et de compter
essaie toutes les clés possibles pour déchiffrer alors les apparition de chaque lettre. ous appellerons la lettre
 Souvent trop longue à moins d’utiliser des apparaissant le plus souvent la "première", la suivante la "deuxième",
configurations matérielles énormes la suivante la "troisième", et ainsi de suite pour chaque lettre figurant
 pour le D.E.S (longueur clé = 56 bits) il faut dans le texte.
essayer en moyenne 255 clés Ensuite nous nous reportons au texte chiffré que nous voulons éclaircir
• DES Cracker de EFF (1998) : 1536 processeurs, $200.000 : 4 jours
• Distributed.Net (1999) : 100.000 machines, 23 heures
et nous relevons de même ses symboles. ous remplaçons le symbole
le plus fréquent par la lettre "première" du texte clair, le suivant par la
"deuxième" le suivant par la "troisième" et ainsi de suite jusqu'à ce que
nous soyons venu à bout de tous les symboles du cryptogramme à
résoudre.

Abu Yusuf Ya'qub ibn Is-haq ibn as-Sabbah Oòmran ibn Ismaïl Al-Kindi
Anas Abou El Kalam
45 Anas Abou El Kalam
46

La cryptanalyse statistique
Cryptanalyse différentielle
 Proposée par Adi Shamir et Eli Biham (1990)
Défaut de ce système : Le cryptogramme doit être suffisamment long
pour avoir des moyennes significatives. De plus, chaque langue  Fonctionnement
dispose de fréquences différentes : il faut donc avoir sous les yeux – On suppose que l’on dispose d’une « boîte noire » permettant de
les fréquences de toutes les langues si on ne connaît pas l'origine du chiffrer des textes en clair (la clé utilisée étant la même, mais inconnue)
message. • étude sur la manière dont les différences entre les données en entrée
affectent les différences de leurs sorties.
– Choisir un grand nombre de couples (texte en clair, texte chiffré)
– Réduit le travail de la recherche exhaustive

 Exemples :
– Pour le DES : choisir 247 textes en clair>

Anas Abou El Kalam


47 Anas Abou El Kalam
48
Cryptanalyse linéaire Cryptanalyse suite*
 Attaque à chiffre seul
 Proposée Mitsuru Matsui (1994) – Attaquant ne connaît que le chiffré et cherche le clair et si possible la clé
 Fonctionnement : • Voir chiffrement par substitution
– Analyse générale portant sur un grand nombre de couples  Attaque à clair connu
(texte en clair, texte chiffré), mais sans avoir besoin de les
– Attaquant connaît un ou plusieurs couples clair-chiffré, et cherche la clé
choisir.
• Voir chiffrement par transposition (linaire).
– Etablir une équation linéaire entre certains bits du texte en
clair et certains du texte chiffré : attaque à texte clair connu.
 Attaque à clair choisi
– Semblable à précédente + attaquant peut choisir les clairs de façon à ce
 Exemple :
que son attaque réussisse avec une meilleure proba
– D.E.S : utiliser 243 couples, on trouve 26 bits des 56 bits de
 Adaptative si choix peuvent être faites en fonction des résultats des
la clé par cette attaque. attaques sur les couples précédents

 Attaque à chiffré choisi

Anas Abou El Kalam


49 Anas Abou El Kalam
50

D.E.S, Triple D.E.S, A.E.S


 D.E.S
– Inventé par IBM sous le nom de Lucifer (1976)
– Adopté comme standard de chiffrement aux USA en 1977
– Blocs de 64 bits, clés de 56 bits (+8 bits de parité)
– Grand succès (anciens systèmes UNIX, beaucoup d’applications>)

La Cryptographie  Triple D.E.S


– Utilise 2 ou 3 clés différentes de 56 bits chacune
– Modes : EEE3, EDE3, EEE2, EDE2 ; une préférence pour le EDE3.
symétrique
 A.E.S
– Concours lancé par le NIST (National Institute of Standards and Technology)
moderne – 15 participants
– Octobre 2000 : gagnant RIJNDAEL
• Vincent Rijmen et Joan Daemen
• Algorithme de chiffrement par blocs.

Anas Abou El Kalam


51 Anas Abou El Kalam
52
DES
• Chiffrement par blocs
• Découpe le texte clair en blocs de 64 bits (8 octets)
• Code les blocs séparément,
• Les concatène.

• Algorithme assez simple


DES • ne combine que des permutations et des substitutions

• Algorithme à clef secrète


• La clef sert à la fois à chiffrer et à déchiffrer message
• Longueur de 64 bits (8 caractères),
• mais seulement 56 bits sont utilisés.
Anas Abou El Kalam
53 Anas Abou El Kalam
54

DES DES
• La clef K (64 bits) est utilisée pour générer 16 autres clefs de 48 bits
• Fractionnement du texte en blocs chacune (K0, .., K15)
de 64 bits (8 octets) • Ki est utilisée à l’itérations i (rounde).
• Permutation initiale des blocs • Ces clefs sont les mêmes ∀ le bloc qu'on code dans un message.
• Découpage des blocs en deux
parties: G et D
• La sécurité de DES repose sur ses tables de substitutions
• Permutations et substitutions • Nombre de clefs possibles est (256=7,2*1016)
répétées 16 fois (rondes)
rondes
• Recollement des parties gauche et
•Algorithme relativement facile à réaliser matériellement
droite • certaines puces chiffrent jusqu'à 1 Go de données /s
• Permutation initiale inverse

Anas Abou El Kalam


55 Anas Abou El Kalam
56
Permutations initiales Scindement en blocs
58 50 42 34 26 18 10 2
58 50 42 34 26 18 10 2
 Chaque bit d'un bloc est 60 52 44 36 28 20 12 4  Une fois la permutation initiale
soumis à la permutation
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 réalisée, le bloc de 64 bits est G0
initiale, pouvant être scindé en deux blocs de 32 bits, 62 54 46 38 30 22 14 6
représentée par une matrice 64 56 48 40 32 24 16 8
PI notés respectivement G0 et D0 64 56 48 40 32 24 16 8
 Exemple : 57 49 41 33 25 17 9 1 – G0 contient tous les bits
– le 58ème bit du bloc de texte possédant une position paire
de 64 bits se retrouve en
59 51 43 35 27 19 11 3 dans le message initial, 57 49 41 33 25 17 9 1
première position, le 50ème en 61 53 45 37 29 21 13 5 – D0 contient les bits de position
seconde position et ainsi de impaire. 59 51 43 35 27 19 11 3
suite. D0
63 55 47 39 31 23 15 7 61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

Anas Abou El Kalam


57 Anas Abou El Kalam
58

Rondes Génération des clefs


 Initialement les 64 bits de la clef DES sont réduits à 56 bits (ignorer bits parité)
 Les blocs Gn et Dn sont soumis à un ensemble de
 Une clé de 48 bits différentes est engendrée pour chaque ronde du DES
transformation itératives appelées rondes – D’abord la clé de 56 bits est divisée en 2 moitiés de 28 bits
– Ensuite les moitiés sont décalées vers la gauched’une ou deux positions en fonction de
la ronde
– Le nombre de bits de décalage est donné par le tableau

Dn+1 = Gn ⊕ EKn(Dn) Ronde 1 2 3 4 5 6 7 8 9 10 1


1
1
2
13 1
5
1
6
Ronde n
Nbre décalage 1 1 2 2 2 2 2 2 1 2 2 2 2 2 1
Gn+1 = Dn

 Après avoir été décalés, 48 bits parmi les 56 sont sélectionnés


 Cette opération fourni un sous ensemble de bits qui a la même taille que la sortie
de la permutation expansive

Anas Abou El Kalam


59 Anas Abou El Kalam
60
Permutation expansive Permutation expansive
 La moitié droite est étendue de 32 à 48 bits
– Change l’ordre de certains bits et répète certains bits
 Pourquoi ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
– Le résultat à la même taille que la clé pour le ou exclusif
– Fournit un résultat plus long qui pourra être comprimé pendant 32
l’opération de substitution
32 1 2 3 4 5
48
4 5 6 7 8 9
• le dernier bit de D0 (32ème) devient le premier, 8 9 10 11 12 13
• le premier devient le second, … 1 2 3 4 5 6 7 8 9 10 11 121314151617 18 19 20 21 22 23
• les bits 1,4,5,8,9,12,13,16,17,20, 21, 24,25,28 12 13 14 15 16 17
E
et 29 de D0 sont dupliqués et disséminés dans la 16 17 18 19 20 21
matrice
• par ex : Le premier bits sera copié dans le
20 21 22 23 24 25
deuxième et le 64 bits
ème 24 25 26 27 28 29
28 29 30 31 32 1
Anas Abou El Kalam
61 Anas Abou El Kalam
62

Substitution par tables-S DES, suite *


 Après que la clef comprimée a été combinée par ou exclusif avec le bloc expansé, le résultat
de 48 bits est soumis à une opération de substitution  OU exclusif entre la première clé K1 et E[D0]
 Ces substitutions sont réalisées à l’aide de 8 tables de substitutions
 Chaque table-S a 6 bits d’entrée et 4 de sortie
 Fonction de substitution
 Les 48 bits d’entrée sont divisés en blocs de 6 bits – D0 est scindé en 8 blocs de 6 bits, noté D0i. Chacun de ces blocs passe par des
 Chaque bloc est manipulé séparément par une table-S différente fonctions de sélection (boîtes de substitution ou fonctions de compression),
notées généralement Si.
– Chaque bloc de 6 bits est ainsi substitué en un bloc de 4 bits. Ces bits sont
Entrée de 48 bits regroupés pour former un bloc de 32 bits.
 Permutation
Table S-1 Table S-2 ..... Table S-8 – Le bloc de 32 bits obtenu est enfin soumis à une permutation P
 OU Exclusif
Sortie de 32 bits – Les résultats en sortie de P est soumis à un OU Exclusif avec le G0 de départ pour
donner D1, tandis que le D0 initial donne G1
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
•Exemple de Table-S : S-6  Itération (16 fois)
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
 Permutation initiale inverse
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
– A la fin des itérations, les deux blocs G16 et D16 sont "recollés, puis soumis à la
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 permutation initiale inverse

Anas Abou El Kalam


63 Anas Abou El Kalam
64
Les caractéristiques du DES. Les modes du DES

 Le DES est un algorithme de chiffrement par blocs

1. Tous les bits de C dépendent de tous les bits de M  L'opération de chiffrement s'effectue sur des blocs de texte
clair (ex: pour le DES -blocs de 64 bits)
bits
2. Effet d'avalanche:  Dans le cadre d'une implémentation pratique, l'algorithme
 Une légère modification de M entraîne une grande 'pur' est combiné à une série d'opérations simples en vue
modification de C d'améliorer la sécurité sans pour autant pénaliser l'efficacité de
 (en moy. 32 bits différents/bit de M modifié). l'algorithme.
 Le même effet est obtenu en modifiant la clé.  Cette combinaison est appelée un mode cryptographique.

Anas Abou El Kalam


65 Anas Abou El Kalam
66

Les modes du DES (6) A quel point le DES est sûr ?

Sécurité: • 1993 : Une attaque par une machine spécialement conçue (1M$)
- Effacement des formats standards (ex. l'introduction d'un prend 3-5 heures en moyenne
texte).
- Protection contre la modification de C. • Difficile de résister à une technique de cryptanalyse différentielle
- Chiffrement de plusieurs messages avec la même clé. lorsque le texte clair est chiffré avec la même clé

Efficacité: • W. Schwartau a écrit que la NSA a construit une machine CRAY


- L'utilisation d'un mode cryptographique ne doit pas pénaliser 1980 basée sur des algorithmes statistiques, clés probables (3-15mn)
l'efficacité du cryptosystème.
- Limitation de la propagation des erreurs qui apparaissent • Recommandation : utiliser des tables S-Box dépendant de la clé
dans M ou C.

Anas Abou El Kalam


67 Anas Abou El Kalam
68
Le triple DES : pourquoi ? Le triple DES : pourquoi ?
Faiblesses du DES  Augmenter la sécurité du DES sans
réécrire un nouvel algorithme
 Les S-boxes qui pourraient contenir des failles.  Une attaque brutale devrait tester 2 112 clés possibles
 La taille de la clé
 3DES : chaîner trois chiffrement DES à l'aide de deux clés
 1990 : Eli Biham et Adi Shamir ont mis au point la cryptanalyse de 56 bits (clé de 112 bits)  Augmenter sécurité
– Mais demande également plus de ressources pour les
différentielle qui recherche des paires de texte en clair et des paires chiffrement et le déchiffrement
de texte chiffrées.
 Cette méthode marche jusqu'à un nombre de rondes < 15  On distingue plusieurs types de chiffrement triple DES :
– DES-EEE3
EEE3 : 3 chiffrements DES avec 3 clés différentes ;
 ++ processeurs permettent de calculer plus de 106 clés par seconde
– DES-EDE3
EDE3 : une clé différente pour chacune des 3 opérations
– utilisés parallèlement sur un très grand nombre de machines, il devient
DES (chiffrement, déchiffrement, chiffrement) ;
possible de trouver la bonne clé ...
– DES-EEE2
EEE2 et DES-EDE2
EDE2 : une clé différente pour la seconde
opération (déchiffrement).

Anas Abou El Kalam


69 Anas Abou El Kalam
70

IDEA
 L'International Data Encryption Algorithm (IDEA
(IDEA)) a été proposé en
1992 pour remplacer le DES.

 Utilise une clé de 128 bits

 Réalise un chiffrement par blocs de 64 bits,


bits, en opérant 8 rondes
d'une même fonction

IDEA  Utilise seulement 3 opérations (pas de permutations!!):


– Ou exclusif.
– Addition modulo 216.
– Multiplication modulo 216 + 1 (cette opération est un peu les table-S d’IDEA).

 particulièrement adapté aux réalisations logicielles (même sur


processuers 16 bits).

 IDEA constitue la partie "cryptographie à clé secrète" de PGP


Anas Abou El Kalam
71 Anas Abou El Kalam
72
IDEA IDEA
 Le texte est découpé en blocs de 64 bits, redivisés  Etape1 = X1 * K1
Etape2 = X2 * K2
en
Etape3 = X3 * K3
quatre sous-blocs de 16 bits : X1, X2, X3, X4.
Etape4 = X4 * K4
Etape5 = Etape1 XOR Etape3
 La clé K est Etape6 = Etape2 XOR Etape4
Etape7 = Etape5 * K5
– divisée en 8 blocs de 16 bits, puis
Etape8 = Etape6 + Etape7
– décalées circulairement sur la gauche de 25 bits, et Etape9 = Etape8 * K6
– redivisée, et ainsi de suite jusqu'à obtenir 52 clés. Etape10 = Etape7 + Etape9
– Ces clés formeront
• 8 groupes de 6 clés (un groupe par ronde) : K1, K2, K3, K4, K5, K6, et
• un groupe de 4 clés pour la ronde finale : K1, K2, K3, K4.

Anas Abou El Kalam


73 Anas Abou El Kalam
74

IDEA
 Etape11 = Etape1 XOR Etape9 => X1 de la ronde suivante
 Etape12 = Etape3 XOR Etape9 => X3 de la ronde suivante
 Etape13 = Etape2 XOR Etape10 => X2 de la ronde suivante
 Etape14 = Etape4 XOR Etape10 => X4 de la ronde suivante
 Pour finir, on applique une étape supplémentaire aprèsla
huitième ronde :
– C1 = X1 * K1
– C2 = X2 + K2
AES
– C3 = X3 + K3
– C4 = X4 * K4

 Les 4 blocs C1, C2, C3, C4, forment alors le


message chiffré.
Anas Abou El Kalam
75 Anas Abou El Kalam
76
A.E.S (1) A.E.S : génération des sous-clés (2)
Sous-clé numéro i-1

 Algorithme à clé secrète :


– Clés de 128, 192 ou 256 bits
 Algorithme de chiffrement par
blocs : S-Box
– Blocs de 128 bits
– Traitement itératif de ces blocs en fonction Constante(i)
de la taille de la clé secrète :
• 10 itérations pour des clés de 128 bits
• 12 itérations (clés de 192 bits)
• 14 itérations (clés de 256 bits)
– Chaque itération fait appel à :
• Une table de substitutions (S-Box) basée sur Sous-clé numéro i
les inverses dans le corps fini 28
•Initialisation : La sous-clé numéro 0 est la clé secrète.
• Une sous-clé générée initialement à partir de
la clé secrète. •On génère (Nb itérations + 1) sous clés
Anas Abou El Kalam
77 Anas Abou El Kalam
78

A.E.S : traitement des blocs (3) Les atouts de l’A.E.S (4)

Initialisation
 Initialisation
– Le bloc de 128 bits (=16 octets) est K0
 Robustesse
recopié verticalement dans un tableau – Il existe beaucoup plus de clés possibles :
« d’état » 4x4 • 2128 clés de 128 bits contre 256 clés pour le DES, soit environ
– XOR avec la sous-clé numéro 0 1021 fois plus de solutions>
 Itérations (10, 12 ou 14 fois) sur – Aucune clé « faible » n’est connue actuellement : toutes les
le tableau d’état : clés sont utilisables
– Confusion : substitution indépendante 10, 12 ou 14 itérations – Résistance à la cryptanalyse différentielle et linéaire
sur chaque bloc, basée sur les inverses
dans le corps fini 28  Implémentation facile
– Décalage des trois dernières lignes – Calculs simples sur les octets :
suivant un pas différent – Facilité d’implémentation hardware (cartes à puce>) et
– Diffusion : multiplication polynomiale des software
colonnes – Flexibilité d’implémentation : plusieurs longueurs de clés
– XOR avec la sous-clé numéro i Obtention du résultat
 Lecture du résultat final dans le
tableau d’état.
Anas Abou El Kalam
79 Anas Abou El Kalam
80
Les clés secrètes ... en pratique Comparaison entre algorithmes

Sur un Pentium 150


 Les algorithmes à clés secrètes sont 120
réellement utilisés dans la pratique
– on utilise toujours de multiples transpositions combinées à 100
de multiples substitutions
80
– l’implémentation des algorithmes à clé secrète est
généralement assez rapide 60 Nb de cycles
– D.E.S, Triple D.E.S, Blowfish, RC4, AES > d'horloge / bit
40 chiffré
20
Chiffrement à clé secrète, parfait ? 0
Reste le problème crucial de la distribution de la clé secrète ! Blowfish DES IDEA Triple
DES
Source http://www.counterpane.com/speed.html

Anas Abou El Kalam


81 Anas Abou El Kalam
82

Chiffrement “sans clés” chiffrement Symétriques


 Un algorithme symétrique de chiffrement utilise la même
“Machine à clé pour chiffrer et déchiffrer (KC = KD).
chiffrer” ou – Aussi appelé algorithme à clé secrète
algorithme – clé secrète notée KAB, si elle est partagée entre A et B, ou simplement K
(complexe) de Texte chiffré
chiffrement A
KAB
 La transmission d’une clé secrète pose un problème !
Et … si on n’en utilise pas ?
– Concevoir une machine dédiée au chiffrement/déchiffrement B C
– ou concevoir un algorithme de chiffrement/déchiffrement complexe
KAB KBC
 La confidentialité repose sur l’algorithme ou la machine KBC
utilisée
– il faut assurer la sécurité physique de la “machine à chiffrer” • Le nombre de clés
Bernard, Alice, Daniel = 3 clés
– il faut garder la confidentialité de l’algorithme utilisé
Bernard, Alice, Daniel, Carole, Eric = 10 clés
 Le chiffrement “sans clés” ne résout rien …
– en fait, la machine / l’algorithme deviennent une clé du cryptosystème>

Anas Abou El Kalam


83 Anas Abou El Kalam
84
Cryptographie à clés publiques
Plan du cours

 Pblème principale de la crypto symétrique


 Confidentialité
 Distribution de la clé « secrète » !!
– Introduction : utilité, définitions, historique
– Chiffrement symétrique : transpositions, substitutions
– Chiffrement asymétrique
– le futur : courbes élliptiques, cryptographie quantique  la cryptographie à clés publiques est récente.
 Authentification  1976 : Diffie et Hellman,
– Introduction : objectifs, définitions  1977 : RSA par Rivest, Shamir et Adleman
– Fonctions de hashage
 Il y a eu d’autres propositions de schémas à clefs
– Scellement, signatures digitales et certificats
publiques, comprenant le cryptosystème ElGamal et les
 Applications
cryptosystèmes basés sur les courbes elliptiques.
– PAP, CHAP, NTLM
– TLS, Kerberos...

Anas Abou El Kalam


85 Anas Abou El Kalam
86

Idée Diffie- Hellmann

Diffie - Hellmann

Anas Abou El Kalam


87 Anas Abou El Kalam
88
Diffie - Hellmann (1) Diffie - Hellmann (2)

 Algorithme à clé publique inventé en 1976  Privé : - Algorithme -


– a pour Alice ∀n,1 ≤ n < p − 1, ∃k / g k = n mod p
 Objectif :
– b pour Bob Alice génère a (privé) < p − 1 et calcule g a mod p(public)
Permet l’échange d’une clé secrète sur un domaine non
sécurisé, sans disposer au préalable de secret Bob génère b (privé) < p - 1 et calcule g b mod p (public)
 Public :
 Utilisation : – p : nbre premier
entre autres, dans SSL/TLS (Netscape) Echange des clés publiques
– G: appelé générateur
 Repose sur : – clé publique d’Alice
– clé publique de Bob Alice calcule ( g b ) a mod p
– connaissant ga mod p et gb mod p,
Bob calcule ( g a ) b mod p
il est très difficile d’en déduire a et b.
( g b ) a mod p = ( g a )b mod p = g ab mod p = k (secret partagé)

Anas Abou El Kalam


89 Anas Abou El Kalam
90

DH : un exemple DH : un exemple
Alice Bob Alice Bob
p = nombre premier p = nombre premier
arbitraire arbitraire = 419
g = nombre aléatoire g = nombre aléatoire
inférieur à p Ax = nombre aléatoire (privé) inférieur à p = 7 Bx = nombre aléatoire (privé)
178 344
Ax = nombre aléatoire (privé) Bx = nombre aléatoire (privé) Ay = 7 ^ 178 %419 By = 7 ^ 344 %419 = 351

Ay = g ^ Ax % p By = g ^ Bx % p 181 181

Ay Ay 351 351

By By s = 351 ^ 178 % 419 Échange données s = 181 ^ 344 % 419


= 493 Chiffrées avec = 493
s = By ^ Ax % p Échange données s = Ay ^ Bx % p s
Chiffrées avec
s
NB : Contrairement à RSA, il ne permet pas de signer des documents.
91 Diffie-Hellman est souvent associé à DSS 92
Anas Abou El Kalam Anas Abou El Kalam
Diffie - Hellmann (3) Chiffrement asymétrique

 Attaque “sandwich” (man-in- Clé publique Clé privée


the-middle attack) :
Bob
gb mod p – Carole intercepte le message Texte chiffré
d’Alice et remplace ga mod p par
sa propre clé publique gc mod p,
ga mod p et l’envoie à Bob.
gc mod p
– Carole intercepte la réponse de  Deux clés différentes : une privée, une publique
Alice Bob, et remplace gb mod p par gc – une solution au problème de distribution de clé secrète des
mod p, et l’envoie à Alice. algorithmes symétriques
 Reposent sur des problèmes dits “difficiles” de
gc mod p Carole – Alice et Bob croient converser mathématiques
entre eux, alors que tout passe par – algorithmes inventés en 1976
ga mod p Carole !
gb mod p

Anas Abou El Kalam


93 Anas Abou El Kalam
94

Définitions

 Fonction à sens unique


– facile à calculer dans un sens, mais très difficile à inverser
(rien ne prouve même que cela soit possible)
– différent de la notion de surjection ou injection en
mathématiques.
– exemple : f(b) = ab mod n, inverse = logarithme discret
 Fonction à brèche secrète
– très difficile à inverser SI on ne connaît pas le secret (mais
l’inversion est possible)
RSA
– exemple : f(a) = ab mod n, inverse = racine bième faisable si
on connaît la décomposition en facteurs premiers de n.

Anas Abou El Kalam


95 Anas Abou El Kalam
96
Algorithme R.S.A (1) Algorithme R.S.A (2)

Algorithme de chiffrementt :
 Inventé en 1977 par  p et q deux nombres me mod n = c
Rivest, Shamir et premiers distincts
Adleman
 Utilise une fonction à
brèche secrète  Modulo : Euclide (Algo PGCD) :
– factorisation de nombres – n=pq
premiers. d tq ed mod( p −1)(q −1) =1
 Parmi les plus utilisés Théorème d' Euler :
 Exposant public :
 Sécurité :
– Le RSA à clé de 512 bits a – e premier avec (p-1)(q-1) ∀m,0 ≤ m < n, med mod n = m
récemment été cassé, mais
ce n’est pas à la portée de
tout le monde.  Clés :
– Incassable actuellement sur – clé publique : (n,ee) Algorithme de déchiffrement :
du 768 ou 1024 bits. – clé privée : (n,d
d)
• p, q restent secrets, ils
cd mod n = m
permettent de calculer d

Anas Abou El Kalam


97 Anas Abou El Kalam
98

RSA : un exemple RSA : Chiffrer « hello »


 2 nombres premiers au hasard: p = 29, q = 37
 Prendre le code ASCII des caractères m = 72 69 76 76 79
 calcul n = pq = 29 * 37 = 1073  Découper m en blocs qui comportent - de chiffres que n. (n comporte 4
chiffres),
 choisir e au hasard tq e n'ai aucun facteur commun avec (p-1)(q-1) =  Découper m en blocs de 3 chiffres: 726 976 767 900 (on complète avec
1008 zéros)
 On prend e = 71  Chiffrer chacun de ces blocs: « c = Me mod(n) »
726^71 mod 1073 = 436 976^71 mod 1073 = 822
 On choisit d tel que 71*d mod 1008 = 1  d = 1079
767^71 mod 1073 = 825 900^71 mod 1073 = 552

On a maintenant nos clés : Le message chiffré est 436 822 825 552.
 La clé publique est (e, n) = (71,1073) (=clé de chiffrement)
 La clé privée est (d, n) = (1079,1073) (=clé de déchiffrement) • Déchiffrer (avec d) : M = Me*d mod(n) = cd mod(n)
436^1079 mod 1073 = 726 822^1079 mod 1073 = 976
825^1079 mod 1073 = 767 552^1079 mod 1073 = 900

 726976767900.
Anas Abou El Kalam
99 retrouver notre message en clair
Anas 72
Abou69 76 76 79 : 'HELLO'.
El Kalam
100
Algorithme R.S.A (3) Record RSA
 Décomposition d'un nombre à 155 chiffres (512 bits) en produit
de deux nombres premiers de 78 chiffres :
• Août 1999
 Cryptanalyse (on connaît n et e) : • 300 PCs et stations
– arriver à factoriser n en facteurs premiers. • 12 sites dans 6 pays.
– ou calculer la racine eième de c > RSA-155 =
 Choix de p et q : 109417386415705274218097073220403576120037329454492059909
– p et q doivent être voisins 138421314763499842889347847179972578912673324976257528997
– la factorisation en nombre premiers est d’autant plus difficile que (p-1) et 81833797076537244027146743531593354333897
(p+1) ont des facteurs premiers élevés.
écrit comme le produit de deux nombres premiers de 78 chiffres:
– Il n’y a aucun risque de tomber à court de nombres premiers
102639592829741105772054196573991675900716567808038066803
 Longueurs de clés : 341933521790711307779
– ne pas comparer avec les longueurs de clés d’algorithmes à clés
secrètes.
*
106603488380168454820927220360012878679207958575989291522
270608237193062808643

Anas Abou El Kalam


101 Anas Abou El Kalam
102

El Gamal
 Publié par El Gamal en 1987 (Cf. gnuPG)
 Clé privée (secrète) : s
 Clé publique : (p, g, y)
– p, entier premier de grande taille.
– g, entier premier avec p.
– y = gs mod p,.
 Chiffrer
– Découper message en blocs compris entre 0 et p-1.

EL GAMAL – Chaque bloc est un entier ,


– Générer au hasard k premier avec p - 1
– Calculer a = gk mod p et b= yk mod p
– Message chiffré = (a, b)

 Déchiffrer

b yk g sk
= = =
103
as a s
g sk
104
Anas Abou El Kalam Anas Abou El Kalam
El Gamal: un exemple El Gamal: robustesse
 Le destinataire, Bob, possède deux clés : • Pour retrouver M, un attaquant doit pouvoir calculer Yk,
– clé privée (secrète) : un entier s. connaissant Y, a et ak.
– clé publique (p, a, Y) tel que a premier avec p ; Y=as mod p. • Il doit donc découvrir k,
• Problème du logarithme discret !!
 Chiffrer
– tirer au hasard un nombre k,
– calculer : C1=ak mod p, et C2=MYk mod p. Point -
–Le message chiffré est le couple (C1,C2), le message chiffré est deux fois plus long que le message original

 Déchiffrer
Point +
– calculer R1=C1s mod p=ask mod p=Yk mod p.
Le fait d'utiliser un paramètre aléatoire k est un plus en termes de
– retrouver Yk,
sécurité
– diviser Yk par C2  le même message M chiffré à 2 moments différents donnera
– retrouver M. deux messages codés distincts!

Anas Abou El Kalam


105 Anas Abou El Kalam
106

El Gamal: robustesse

• Vitesse de ElGamal pour différentes longueurs de module


avec des exposants de 160 bits (station SPARC II)

512bits 768bits 1024bits


Chiffrement 0.33 s 0.80 s 1.09 s
Déchiffrement
Signature
Vérification
0.24 s
0.25 s
1.37 s
0.58 s
0.47 s
5.12 s
0.77 s
0.63 s
9.30 s
Chiffrement
• Brevets : ElGamal n'est plus breveté aux USAdepuis hybride
29 Avril 1997

Anas Abou El Kalam


107 Anas Abou El Kalam
108
Chiffrement hybride Chiffrement :hybride

 Chiffrement à clé secrète (symétrique) : Chiffrement


– Rapides • Génération clé session
– Problème de distribution de clés • Chiffrement clé session
 Chiffrement à clé publique (asymétrique) : avec Kpub destinataire
– Plus lents • Chiffrer message avec
– Utilisés pour : clé session
• transmettre des clés secrètes de session (Diffie-Hellmann)
• ou signer (DSA) Déchiffrement
– Quelques rares algorithmes permettent de faire les deux : • Déchiffrement clé session
RSA, El Gamal, Rabin ...
par Kpriv destinataire
• Déchiffrement message
avec clé session

Anas Abou El Kalam


109 Anas Abou El Kalam
110

Récapitulatif algo et dates de cassage Récapitulatif algo et dates de cassage


Année Nom Taille Année de Pas encore cassé
d'apparition cassage

1977 RSA-640 640 - RSA Labs offre 20000$


Année Nom Taille Année de Par qui ?
d'apparition cassage 1977 RSA-704 704 - RSA Labs offre 30000$
1977 RSA-140 155 1999 Une équipe internationale de
chercheurs 1977 RSA-768 768 - RSA Labs offre 50000$

1977 RSA-160 160 2002 une équipe internationale de 1977 RSA-1024 1024 - RSA Labs offre 100000$
chercheurs du BSI
1977 RSA-576 560 2003 Une équipe internationale de 1977 RSA-2048 2048 - RSA Labs offre 200000$
chercheurs
1977 3DES 192 - pas encore cassé
1987 RC4 40 1995 Adam Back, Eric Young et David 1985 Elliptic 131, 163, - pas encore cassé
Byers Curve 191, 239
1990 MD4 128 1996 Hans Dobbertin Cryptogra 359
phy
1991 MD5 128 2004 Xiaoyun Wang

1993 SHA-0 160 2004 Antoine Joux, la DCSSI et l'UVSQ 1995 SHA-1 160, 224, - pas encore cassé
256, 384
1994 RC5 64 2002 utilisateur d'Internet sous la
bannière Distributed.net 1999 AES 128, 192, - pas encore cassé
256

Anas Abou El Kalam


111 Anas Abou El Kalam
112
Algo de chiffrement cassés Législation

 Les logiciels de chiffrement ne sont pas libres d'utilisation en France.

Deux décrets fixent l'utilisation des moyens de cryptographie en France:


Année Nom Taille Année de Par qui ?
d'apparition cassage  décret 99-200 du 17 mars 1999 sur les moyens de cryptographie dispensés de
1974 RSA 560 2003 équipe internationale toute formalité préalable pour l'utilisateur (pas de demande d’autorisation)
de chercheurs  logiciels dont l'algo utilise une la clé de session inférieure à 40bits
 logiciels dont l'algo utilise une clé inférieure à 128 bits à condition que:
1976 DES 56 1997 Internet (Distributed.net et  l'éditeur du logiciel ait fait une déclaration ou
Electronic Frontier Foundation)
 logiciels utilisés dans un cadre privé exclusivement
1985 ECC 109 1997 Internet (Ecc2.com )
1987 RC4 40 1995 Adam Back, Eric  décret 99-199 du 17 mars 1999 sur les moyens de cryptographie nécessitant un
Young et David Byers déclaration préalable auprès des autorités compétentes.
 logiciels dont l'algo utilise une clé inférieure à 128 bits
 non déclarés par l'éditeur et utilisés dans un cadre non-privé
(commercial, entreprise, ...).

Anas Abou El Kalam


113 Anas Abou El Kalam
114

Législation : conclusions Plan du cours

 il est interdit en France de se servir des logiciels qui utilisent une clé de
session supérieure à 128bits.
 Confidentialité
 Dans le cadre privé, vous pouvez utiliser n'importe quel logiciel, déclaré ou – Introduction : utilité, définitions, historique
non par l'éditeur, dès lors que la clé de session ne dépasse pas 128bits. – Chiffrement symétrique : transpositions, substitutions
– Chiffrement asymétrique
 Dans le cadre de l'entreprise, vous pouvez utiliser les logiciels commerciaux – le futur : courbes élliptiques, cryptographie quantique
de cryptographie déclarés en France,  Authentification
 liste sur le site du DCSSI
– Introduction : objectifs, définitions
 Les restrictions ne concernent que la clé qui chiffre les données et donc – Fonctions de hashage
garantit la confidentialité des données, – Signatures digitales et certificats
 Applications
 Pas de limites pour tout ce qui concerne les fonctions de signature et – PAP, CHAP, NTLM
d'intégrité des données. – Kerberos, TLS...

Anas Abou El Kalam


115 Anas Abou El Kalam
116
Courbes elliptiques : histoire ECC : présentation (1)

 Courbe élliptique
•1975 : échange de clef par Diffie–Hellman,
Diffie–Hellman – courbes d ’équations y²=x3+ax+b.
+ax+b
• fondée sur le problème du logarithme discret dans un corps fini – sous certaines conditions, les points de la courbe + le point 0
•1978 : RSA « infini » peuvent former un groupe.
• chiffrement et signature, fondés sur le problème de la factorisation – on définit l ’opération d ’addition et de multiplication sur la
• cryptosystèmes à clef publique les plus répandus courbe.
•1985 : ElGamal,
ElGamal chiffrement et signatures
• fondés sur le problème du logarithme discret dans un corps fini  Durcissement des problèmes mathématiques
•1986 : Koblitz/Miller, cryptosystèmes elliptiques fondés sur le problème du
dits «€difficiles€» :
– utilisation de courbes elliptiques comme support.
logarithme discret dans une courbe elliptique plus efficaces
– factorisation d ’entiers : peu utilisé car difficulté du même ordre.
• particulièrement intéressants pour les environnement contraints
– logarithme discret sur corps finis : très intéressant car bien plus
• Cryptographie quantique : difficile, utilisation des corps finis F(p) (entiers de 0 à p-1 où p
–canal non espionnable de photons polarisés est premier) et F(2m) (polynôme de degré strictement inférieur à
m, et de coefficients 0 ou 1) : ECDH, ECDSA...

Anas Abou El Kalam


117 Anas Abou El Kalam
118

Courbes élliptiques (2) ECC : performances (3)

 Paramètres du système : Unité : nombre de ms


– courbe elliptique donnée, sur un corps fini
 Comparaison à
sur un Pentium 200Mhz
donné, un générateur (point P) un algorithme à
 Clé publique : 45 clé publique
– le point Q = kP. Il est très difficile de 40 «€classique€» :
trouver k connaissant Q et P.
35 – 160 bits ECC
 Clé privée : k 30 équivalent à 1024 bits
 Exemple d’échange de secret : 25 RSA
– Alice choisit un entier secret ka, et calcule 20 – 136 bits ECC
Signature
A p = ka P 15 équivalent à 768 bits
10 Vérification
– Bob choisit un entier secret kb et calcule Bp RSA
5
= kbP 0  Challenges ECC :
– ils s’échangent Ap et Bp
RSA- DSA- ECDSA- – ECCp-97 cassé en 53
1024 1024 168 jours avec 1200
– Bpka = (kbP)ka = kb(Pka)=kbAp est le secret (e=3) machines
échangé !
Courbe y2=x3-5x+4
119
Source CryptoBytes, Vol 4, N°1, été 1998 120
Source http://www.certicom.com
Anas Abou El Kalam Anas Abou El Kalam
ECC : génération (4) Cryptographie quantique
Génération très longue !
(recherche)
7000
 Principe d’incertitude d’Heisenberg
– on ne peut pas espionner le canal de transmission sans
6000 risquer de le perturber de manière non contrôlée
5000 – c’est donc une solution pour transmettre une clé secrète !
Génération de clé
4000
 Mise en œuvre expérimentale
3000
Génération de – par envoi d’impulsions de photons polarisés auxquels on
2000 paramètres du donne les angles 0, 45, 90 ou 135 degrés.
1000 système – un essai a été réalisé sur un canal d’une trentaine de
centimètres
0
RSA-1024 DSA-1024 ECDSA- Unité : nombre de ms
(e=3) 168 sur un Pentium 200Mhz

Source CryptoBytes, Vol 4, N°1, été 1998 121 122


Anas Abou El Kalam Anas Abou El Kalam

Cryptographie quantique (2) Cryptographie quantique (3)

 Alice envoie une Alice


suite de photons  Bob transmet à Mesures de Bob
polarisés Alice les mesures
– les photons peuvent qu’il a effectuées
représenter les bits
d’une clé secrète.  Alice lui indique
 Bob effectue des celles qui sont
correctes Envoie à Alice
mesures Perte Perte
rectilinéaires ou => ces photons
diagonales servent à établir Premier envoi
– certains photons sont Mesures de Bob Photons valides
perdus au cours du
la clé secrète Ok Ok
transfert commune à Alice
– certains sont mal et Bob. Envoie à Bob
analysés. Clé secrète
Erreur
d’analyse commune à
Alice et Bob
Anas Abou El Kalam
123 Anas Abou El Kalam
124
Cryptographie quantique (4) Cryptographie quantique (5)

Alice Bob  Si Carole écoute la transmission de p


?
photons entre Alice et Bob :
– elle peut apprendre p/2 photons, mais risque d’en perturber
au moins p/4
– Alice et Bob ne partageront pas la même clé secrète.
 Comment Alice et Bob peuvent-ils
vérifier qu’ils ont bien la même clé ?  Techniquement, il est difficile d’envoyer
– Bob envoie (sacrifie) quelques photons de la clé et les des photons isolés
envoie pour vérification à Alice. – on envoie donc des impulsions de photons.
– Alice prend quelques bits de la clé, calcule leur parité, – mais alors il faut qu’il y ait un minimum de photons par
et envoie à Bob l’emplacement des bits choisis + la impulsions.
parité.

Anas Abou El Kalam


125 Anas Abou El Kalam
126

Références Plan du cours

 Historique
– The Codebreakers - David Kahn - Ed. Scribner  Confidentialité
 La cryptologie – Introduction : utilité, définitions, historique
– Cryptologie contemporaine - G. Brassard - Ed. Masson (dont – Chiffrement symétrique : transpositions, substitutions
cryptographie quantique)
– Counterpane Labs - http://www.counterpane.com – Chiffrement asymétrique
– LANAKI lessons - (orienté pratique) – le futur : courbes élliptiques, cryptographie quantique
http://www.fortunecity.com/skyscraper/coding/379/lesson1.htm  Authentification
– Le nid du coucou - Clifford Stoll - Ed. Albin Michel – Introduction : objectifs, définitions
 A.E.S – Fonctions de hashage
– « The Advanced Encryption Standard (Rijndael)” de J. Savard – Signatures digitales et certificats
http://home.ecn.ab.ca/~jsavard/crypto/co040801.htm
 R.S.A, Diffie-Hellmann, courbes élliptiques...  Applications
– FAQ http://www.rsasecurity.com/rsalabs/faq/ – PAP, CHAP, NTLM
– Certicom http://www.certicom.com – TLS, Kerberos...

Anas Abou El Kalam


127 Anas Abou El Kalam
128
Protocoles cryptographiques Introduction à l’authentification

Dès que plusieurs entités sont impliquées dans un échange


de messages sécurisés, des règles doivent déterminer  La notion de
confidentialité ne suffit
l'ensemble des opérations cryptographiques à réaliser, leur pas forcément :
séquence, afin de sécuriser la communication:
C'est ce que l'on appelle les protocoles
– qui m’a réellement envoyé
ce message ? Authenticité ?
– quelqu’un a-t-il pu usurper émetteur !!
cryptographiques. son identité ? +
– ai-je bien reçu le message Non répudiation !!
complet ?
Les propriétés fondamentales – quelqu’un a-t-il pu Authenticité

Que signifie sécuriser Confidentialité


remplacer le message initial
par un autre ?
message !!
?
un échange? - Authentification
-Intégrité La confidentialité ne répond
-Non répudiation pas à ces questions !

Anas Abou El Kalam


129 Anas Abou El Kalam
130

Définitions Plan du cours

 Intégrité
– on assure que le message n’a pas été modifié
 Confidentialité
– exemple : une lettre scellée. Si une tierce personne ouvre l’enveloppe et – Introduction : utilité, définitions, historique
remplace la lettre par une autre, le sceau sera forcément rompu – Chiffrement symétrique : transpositions, substitutions
– attaque : la substitution (remplacer le message originel par un autre)
– Chiffrement asymétrique
– le futur : courbes élliptiques, cryptographie quantique
 Authenticité
– on garantit la provenance du message  Authentification
– l’authentification, c’est le procédé qui permet de prouver et valider – Introduction : objectifs, définitions
l’authenticité.
– exemple : le message provient d’Alice.
– Fonctions de hachage
– attaque : la mascarade (espérer que le message forgé sera considéré – Signatures digitales et certificats
comme authentique)  Applications
– PAP, CHAP, NTLM
 Non répudiation
– propriété rendant impossible de nier toute action qui a été effectuée – TLS, Kerberos...

Anas Abou El Kalam


131 Anas Abou El Kalam
132
Fonctions de hashage Contrôler l’intégrité
 Dans la pratique, un sceau, signature, c’est petit!
– On condense le texte avant de le sceller ou de le signer
– La fonction qui effectue ce “résumé” est appelée fonction de hashage Document Transmission du document Document
 Choix des algorithmes de hachage
– Une fonction de hachage "H" transforme une entrée d'une dimension variable
"m" et donne comme résultat une sortie de données inférieure et fixe "h
Algorithme de hashage à
 il doit être impossible de trouver m à partir de h. Hashage Hashage
sens unique, résistant aux
collisions
 fonction de hachage doit remplir conditions €:
 L'entrée peut être de dimension variable. Empreinte Empreinte (2)
 La sortie doit être fixe.
 H(m) doit être relativement facile à calculer.
Transmission de
comparaison ?
H(m) doit être une fonction à sens unique.
l’empreinte Empreinte (1)
impossible de trouver m à partir de h.
 H(m) doit être "sans collision".
M1 ≠ M2 ∧ H(M1)=H(M2) Attention: résout l’intégrité… mais pas l’authenticité de
l’émetteur !
Anas Abou El Kalam
133 Anas Abou El Kalam
134

Message Authentication Code Vue d’ensemble sur les algorithmes de hashage

Document MAC Algo. Authentifiant Fonctions de hashage


Propriétés: compression, facilité de calcul
Clé secrète
 Objectif : Intégrité et authenticité
Sans clé Avec clé secrète
 Algorithmes de MAC :
– Fonction de hashage
• compression et facilité de calcul. Codes de détection de MAC
– Convenir au préalable d’une clé sécrète. modification (MDC)
Propriétés: résistance aux
– Pas (ou très très peu) de collisions – sans connaître la clé. Autres
Propriétés: sens unique, résistance collisions lorsque clé
aux collisions (faible, forte) applications inconnue
 Exemples : DES-CBC, HMAC …
SHA-1
SHA-2 HMAC DES-CBC
MD2, MD4, MD5…
Résout l’intégrité et l’authenticité (à condition que la clé soit bien
secrète) MAIS pas de non répudiation (quelqu’un d’autre
pourrait posséder la même clé). Intégrité Intégrité & Authenticité

Anas Abou El Kalam


135 Anas Abou El Kalam
136
Aperçu du SHA-1 (1) SHA-1 (2)

 Mise en forme du texte


 Historique – Padding du texte de sorte que sa taille soit congruente à 448 modulo
– conçu en 1995 Mise en forme du texte 512
– Adopté comme algorithme
– On ajoute sur 64 bits la taille du message à condenser
standard de hashage par le
gouvernement américain Calculs sur 5 registres – On obtient donc un message M découpable en n blocs de 512 bits.
– Décrit dans le FIPS 180-1
 Objectifs Obtention du résultat
Padding : un
– fonction de hashage qui retourne premier 1 puis
Texte à condenser des 0 Taille du texte
toujours un résumé sur 20
octets,
octets quelque soit la taille du
0100010101... …010 1000… ...0 000..0100000000
texte en entrée
– conçu pour des machines 32 bits Ex : 256 bits + 192 bits + 64 bits = 512 bits

Anas Abou El Kalam


137 Anas Abou El Kalam
138

SHA-1 (3) : traitement du texte SHA-1 (4) : conclusion


 On dispose de :  Points positifs:
– Ajout de la permutation circulaire pour amélioration de la sécurité
– 5 registres A, B, C, D et E de 32 bits
⇒ création de SHA-256, SHA-384 et SHA-512.
– 80 fonctions fi opérant sur les blocs B, C et D (OU-EXCLUSIF, ⇒ Plus rapide et plus sûr que la famille MD (2 .. 5)
NON, ET,>). Les fonctions fi sont en fait de 4 types différents. => SHA-512 effectue un traitement par mots de 64 bits (et non 32), d’où une
plus grande rapidité.
 On traite le message par blocs de 512 bits – Applications (nécessitant intégrité) : Peut être utilisé avec DSA (cf. plus loi)
– On initialise les 5 registres avec des constantes définies dans le dans les mails, transactions électroniques, distribution de logiciels,
sauvegarde données
standard.
– Implémentations (validées par le NIST) : logiciel, matériel
– Chaque bloc de 512 bits est redécoupé en mots de 32 bits.
– Boucle de calcul faisant intervenir permutations circulaires à
gauche, les 5 registres et les 80 fonctions  Points négatifs:
– Le résultat est recopié dans les registres A à E, et on recommence – Résistance à la collision devenant de plus en plus critique
autant de fois que nécessaire. – Récemment (août 2004 ?), un groupe de chercheurs chinois ont montré
qu’il n’est pas infaillible.
• SHA-1 devient obsolète !!
 Résultat : concaténation des 5 registres
=> 20 octets = (160 bits)
Anas Abou El Kalam
139 Anas Abou El Kalam
140
SHA 2 : le successeur de SHA-1 Récapitulatifs *
 Rappel
– but d'un haché : être le plus court possible, tout en gardant ses propriétés.
• problème des collisions (paradoxe des anniversaires) !!
– il faut 2n/2 essais pour trouver une collision au hasard
– Empreinte de128 bits (n/2=64) ne représentent plus une sécurité à moyen terme
• Pour les applications crypto. (VPN, chiffrement de documents, etc...)
 Pourquoi SHA-2 ?
– SHA-1 ne peut produire que des hash de 160 bits • choisir AES et RSA-704 (minimum) pour le chiffrement
 pas plus de 80 bits de sécurité contre les collisions.
– AES (Advanced Encryption Standard), qui utilise des clés de taille128, • SHA-384 et SHA-512 pour le hachage.
192 ou 256-bit • Triple-DES et SHA-1 vivent leur dernières années de robustesse
 SHA-2
– SHA-2 algorithm … !!
• contient SHA-256, SHA-384 et SHA-512
• Produit un hash de 256,
256 384 ou 512-bits
512 MAIS : Loi de Moore  depuis les années 70, la puissance des ordinateurs
 avec un niveau de protection (contre les collision) de 128, 192 ou 256- double tous les 2 ans,
bits.  ????

Anas Abou El Kalam


141 Anas Abou El Kalam
142

Plan du cours 1. Confidentialité

 Confidentialité Cryptosystème à
– Introduction : utilité, définitions, historique clés symétriques
– Chiffrement symétrique : transpositions, substitutions (K)
– Chiffrement asymétrique
– le futur : courbes élliptiques, cryptographie quantique
 Authentification
– Introduction : objectifs, définitions
Cryptosystème à
– Propriétés de sécurité & mécanismes crypto
clés publiques
– Signatures digitales et certificats
(PKA/SKA,
 Applications
PKB/SKB)
– PAP, CHAP, NTLM
– TLS, Kerberos...

Anas Abou El Kalam


143 Anas Abou El Kalam
144
1. Confidentialité (*) 2. Intégrité du message

A l'aide de cryptosystèmes hybrides.


• Cryptosystème à clés publiques pour l'échange • Vérification qu ’un message n ’a pas été altéré
confidentiel de la clé (de session) K. durant la communication.
• Cryptosystème à clés symétriques pour l'échange • A cette fin, on utilise les fonctions de hashage.
confidentiel du message.

Anas Abou El Kalam


145 Anas Abou El Kalam
146

3. Authentification des acteurs. 3. Authentification des acteurs (*)

Protocole question réponse A l ’aide d’un cryptosystème à clés publiques.


RA Chaîne aléatoire de A
A l ’aide d’un cryptosystème à Chaque partie possède une paire de clés
RB Chaîne aléatoire de B
clés symétriques. publique/privée (PKA/SKA, PKB/SKB).
Si on suppose que A et B partagent
une même clé secrète K
B
A RA
Génération RA EK(RA,B)

DK(EK(RA,B)) EK(RA,B) , RB Génération RB

EK(RB,A) EK(RB,A) DK(EK(RB,A))

Anas Abou El Kalam


147 Anas Abou El Kalam
148
3. Authenticité du message 3. Authenticité du message (*)
1. A l'aide d ’un cryptosystème symétrique

Authentification grâce à K Par ex le triple DES


A l ’aide d’un MAC (Message Authentication Code).
Un MAC peut être généré de deux manières:
1. A l'aide d ’un cryptosystème symétrique.
2. A l'aide d ’une fonction de hashage.

Anas Abou El Kalam


149 Anas Abou El Kalam
150

3. Authenticité du message (*) Plan du cours


2. A l'aide d ’une fonction de hashage.
Une clé secrète K est partagée entre  Confidentialité
A et B – Introduction : utilité, définitions, historique
– Chiffrement symétrique : transpositions, substitutions
Authentification grâce à K – Chiffrement asymétrique
– le futur : courbes élliptiques, cryptographie quantique
+ Intégrité.
 Authentification
– Introduction : objectifs, définitions
– Fonctions de hashage
– Signatures digitales
– certificats
 Applications
– PAP, CHAP, NTLM
– TLS, Kerberos...

Anas Abou El Kalam


151 Anas Abou El Kalam
152
Signatures (1) Signatures (3)
 Il n’est pas forcément facile de s’échanger une
Alice Bob
clé secrète auparavant
Document Transmission du document Document

 Solution :
– utiliser des algorithmes à clé publique.
– Alice envoie un document à Bob. Hashage à sens unique
Hashage à sens unique
– Elle décide alors de signer le document : elle condense le
document (fonction de hashage) puis le “chiffre” avec sa clé Document condensé (1)
privée, cela constitue une signature.
signature Document condensé
?
Document condensé (2)
 Vérification : Algorithme à Clé privée Algorithme à
– Bob possède la clé publique d’Alice. Il peut donc clé publique d’Alice
Clé publique
d’Alice clé publique
• déchiffrer (=vérifier) la signature.
chiffrement déchiffrement
– Si le message est altéré en cours de route, la signature ne Transmission de la signature
correspondra plus !!!

Signature Signature
Anas Abou El Kalam
153 Anas Abou El Kalam
154

Signature (2) : un exemple Algorithmes de signatures


 Digital Signature Millisecondes / opération
Algorithm (1994) : Sur un Celeron 850Mhz sous
– Utilise un algorithme à clé Windows 2000 avec l’API
publique Crypto++
– Repose sur le problème des 12
logarithmes discrets
– Ne peut être utilisé que pour 10
effectuer des signatures (pas
pour le chiffrement) 8

 Comparaison avec RSA : 6 Signature


– La génération de la signature
en DSA est plus rapide que 4 Vérification
sa vérification
– Le RSA peut servir au 2
chiffrement et aux
signatures. 0
DSA RSA
1024 1024
Anas Abou El Kalam
155 Anas Abou El Kalam
156
4. Non répudiation

Récapitulatif A l'aide d’une signature digitale.

–Propriétés de sécurité Les signatures digitales doivent posséder les propriétés :


1. Authentique.;
–Mécanismes crypto 2. Infalsifiable;
3. Non-réutilisable;
4. Inaltérable;
5. Non-répudiable.

Anas Abou El Kalam


157 Anas Abou El Kalam
158

4. Non répudiation 4. Non répudiation + confidentialité


Seul A a pu
A l'aide d’une signature
composer Sign. A l'aide d’une signature Authentification +
digitale.
digitale. Confidentialité

Anas Abou El Kalam


159 Anas Abou El Kalam
160
Plan du cours

 Confidentialité
– Introduction : utilité, définitions, historique
– Chiffrement symétrique : transpositions, substitutions


Chiffrement asymétrique
le futur : courbes élliptiques, cryptographie quantique
 Authentification
Certificats



Introduction : objectifs, définitions
Fonctions de hashage
Signatures digitales
&
– certificats
 Applications
– PAP, CHAP, NTLM
– TLS, Kerberos...
PKI
Anas Abou El Kalam
161 Anas Abou El Kalam
162

Certificats : pourquoi ? Certificats : pourquoi ?


Scénario :
 Alice et Marie veulent s’envoyer des messages
 Bob = pirate
Bob
 chiffrement & signatures supposent  modifie l’annuaire ou le serveur web qui héberge les clés publiques
l’authenticité des clés publiques, disponibles  remplace clé publique d’Alice par la sienne.

sur un annuaire ou un serveur web  Bob peut mnt lire les courriers destinés à Alice et signer des message
– signature garantit que le message provient bien du en se faisant passer pour Alice !!
détenteur de la clé privée 6 mais 6  si Marie envoie message « M » chiffré à Alice,
• A qui appartient clé privée/publique ? – Marie va chiffrer M avec clé publique de Bob (croyant que c’est la clé d’Alice).

– Chiffrement garantit que le message ne pourra être déchiffré  Bob pourra


que par le détenteur de la clé privée (associée à la clé – déchiffrer les messages destinés à Alice avec sa clé privée,
– lire ainsi le courrier confidentiel d’Alice.
publique utilisée lors du chiffrement) 6 mais
• A qui appartient cette clé publique ? Les signatures et les MACs ne résolvent pas entièrement le
 Est-on sûr qu’il ne s’agit pas d’un usurpateur ? problème de l’authenticité.
On introduit alors la notion de certificat !
Anas Abou El Kalam
163 Anas Abou El Kalam
164
Certificats : quoi ? Demande de certificat (3)
 permet d’établir un environnement de confiance entre deux
entités distantes ayant besoin de communiquer entre elles  Processus de certification :
et de s’échanger des informations :
• non-répudiables (nécessité de signature) ou
• confidentielles (application de chiffrement). M. Bidon génère son bi-clé (publique/privé)

Je, soussigné M. Documents demandés


 certificat : vise à effectuer un lien entre une personne et
Bidon, demande par l’autorité de
une bi-clé (privé/publique) un certificat ...
– Il est délivré par une autorité de certification (AC) certification :
– Il est nominatif Clé publique fiche d’état civil ...
– Il est destiné à un usage unique (signature OU chiffrement)
Avec sa clé
– Il a une durée de validité donnée Signature
privée
– Il est certifié par l’AC
– Il est révocable
Autorité de certification
 X.509 : norme proposée par l’ISO (et la plus répandue)

Anas Abou El Kalam


165 Anas Abou El Kalam
166

Certificats : exemple Certificats : vérification


 Structure du certificat X.509v3
 Vérification certificat

Version du certificat
Numéro de série du certificat Autorité de certification : ACBob
Hachage Empreinte 1
Algo.de signature de l’AC Prénom: Bob
Nom: Dupond
Nom de l’AC ayant délivré le certificat
Email: bob.dupond@entreprise.fr Certificat valide
Période de validité Si oui
Egalité ? Clé publique de
Date de validité: Du 01/10/93 au Bob Dupond :
Nom du propriétaire du certificat 01/10/94 A5:3F:F9:…E2
Clé publique de l’autorité
Clé publique Clé publique: A5:3F:F9:…E2
de certification
Algo. à utiliser avec la clé publique ….
Déchiffrement Empreinte 2
Identification de l’AC (opt) Signature: 9B:C5:11:..:F5

Identification du propriétaire (opt)


Extensions (opt)

Signature de l’AC

Anas Abou El Kalam


167 Anas Abou El Kalam
168
Infrastructure de gestion de clés Les acteurs de la certification
 IGC ou PKI (Public Key Infrastructure) recouvre les services  Le porteur
mis en œuvre pour assurer la gestion des clés publiques – Il est référencé par le certificat
– enregistrement des utilisateurs – Il est le seul à posséder la clé privée associée
– vérification des attributs,  L’utilisateur
– génération de certificats,
– Il utilise le certificat
– publication des certificats valides et révoqués,
• Il vérifie que l’identité indiquée par le certificat est bien son interlocuteur
– identification et authentification des utilisateurs,
• Il vérifie que le certificat n’est pas révoqué (en consultant des listes de
– archivage des certificats, etc. certificats révoqués - CRL)
• Il vérifie que l’utilisation qu’il veut faire du certificat est conforme à son
usage (chiffrement, signature, >)
 Composants fondamentaux d’une IGC
• authentifie et vérifie l’intégrité du certificat à l’aide de la clé publique de l’AC
 l’autorité de certification ;
 l’autorité d’enregistrement,  L’autorité de certification (AC)
 un service de publication ou autorité de validation ; – Elle émet le certificat
 l’annuaire qui contient les clés publiques, les certificats distribués, ainsi que les listes – Elle a la confiance des utilisateur
de certificats révoqués. • diffuse la valeur de sa clé publique auprès des structures qu’elle connaît et des
annuaires (e.g., LDAP « Light Directory Access Protocol ») ;
– Elle peut optionnellement créer des clés

Anas Abou El Kalam


169 Anas Abou El Kalam
170

Les acteurs de la certification Les acteurs de la certification


L’autorité d’enregistrement (AE)
–Elle dépend de l’AC
–Elle s’occupe des aspects administratifs :  En janvier 2001, Verisign a délivré deux
•réception utilisateurs certificats à la société Microsoft … mais le
•Vérification de l’identité du demandeur porteur du certificat n’était pas affilié à
Microsoft
•Vérification que le demandeur est habilité à recevoir les droits indiqués http://www.amug.org/~glguerin/opinion/revocati
dans le certificat
on.html
•s’assure que celui-ci possède bien un couple de clés privée-publique,
•Obtention la clé publique
•Transmission de la demande à l’AC
 Verisign, suite à un audit de sécurité (6
semaines après), annonce que les deux
•Traitement les demandes de révocation, suspension ou activitation d ’un
certificat certificats sont révoqués
–L’AE est le point faible du système (affaire Microsoft/Verisign)
 Microsoft publie un patch pour ne plus
accepter ces certificats

Anas Abou El Kalam


171 Anas Abou El Kalam
172
Les acteurs de la certification Les acteurs de la certification
 Le répertoire (e.g., LDAP)
– Il contient les certificats et est consultable par le public

Infrastructure de confiance
Autorité de certification
Création
 Des acteurs annexes peuvent exister
– L’autorité d’approbation des politiques : elle spécifie les Demande de
création
règles selon lesquelles l’AC est autorisée à délivrer des Consultation,
modification
certificats
Autorité d ’enregistrement
– L’autorité d’horodatage : elle délivre des marques de temps
qui sont signées
Demande de Répertoire
– Autorité d’attributs : elle délivre des « sous-certificats » création,
temporaires (comme par exemple des délégation de suspension,
révocation ou
signature) réactivation
– Service de validation : il valide des certificats déjà existants Consultation
pour les utilisateurs de ces certificats
– Service de séquestre et de recouvrement des clés : il stocke Porteur Utilisateur
Echange sécurisé
la clé privée associée au certificat et peut donc répondre en
cas de perte de cette clé par le porteur du certificat

Anas Abou El Kalam


173 Anas Abou El Kalam
174

Les étapes de la certification Les étapes de la certification


 La création du certification  L’utilisation du certificat
– La création passe par les étapes suivantes : – L’étape la plus importante dans l’utilisation du certificat est sa validation
• Le porteur fait une demande à l’autorité d’enregistrement (AE) • Vérification de l’intégrité du certificat
• l’AE authentifie et vérifie le bien fondé de la demande du porteur – Chaque certificat est signé par l’AC
– Vérification éventuelle de la possession de la clé privée – Chaque AC possède donc un certificat appelé certificat racine et qui
– Le « sérieux » de l’authentification indique le degré de confiance à est « bien connu »
placer dans le certificat [on peut le voir dans l’autre sens également] » Il faut vérifier le certificat racine également (peut impliquer n
• l’AE transmet la demande à l’AC étapes si le certificat racine appartient à une AC fililale)
• l’AC génère le certificat • Vérification de la validité du certificat
– Une stratégie de nommage évitant les doublons doit être utilisée – Cela implique de vérifier que le certificat n’a pas expiré ou qu’il n’a pas
– Si il y a stockage (service de séquestre) de la clé privée, on peut été révoqué
utiliser, par ex., des cartes à puce
– On peut faire appel à une service de validation pour simplifier le travail
• Le certificat est publié
• Vérification de l’adéquation d’usage du certificat
– La publication d ’un certificat de signature n’est pas forcément utile
(car le certificat correspondant est toujours joint avec la signature)
– On utilise des mécanismes d ’annuaire (ex: LDAP, X.500) – Note : tous les logiciels ne mettent pas en œuvre l’entièreté de ces
• Le certificat est transmis à l’AE par l’AC étapes !!!
• Le certificat est délivré au porteur

Anas Abou El Kalam


175 Anas Abou El Kalam
176
Les étapes de la certification Les étapes de la certification
 La révocation du certificat
 La révocation du certificat
– Un certificat est révoqué car :
– La CRL peut être obtenue,
• Il a expiré
• Les clés secrètes ont été perdues ou compromises • A partir d’un URL accessible publiquement (et bien connue)
• Le porteur à fait un usage illégal du certificat Ex : http://crl.verisign.com/Class3SoftwarePublishers.crl
• Il est non valide • Manuellement (en téléchargeant une liste des certificats révoqués)
• A partir d’une URL contenue dans le certificat racine (celui de l’AC)
– Chaque AC publie périodiquement une liste des certificats révoqués • A partir d’une URL contenue dans le certificat
(CRL)
– La polémique de l’affaire Microsoft/Verisign porte sur l’absence d’une
– Cette liste pouvant être volumineuse, on procède infrastructure de révocation
• En publiant des delta (modifications incrémentales)
• En découpant la CRL en partition. Chaque certificat contient un pointeur
vers la partition où il devrait se trouver

Anas Abou El Kalam


177 Anas Abou El Kalam
178

Organisation des PKI Chaîne de certification (5)

 le certificat ne peut garantir seul la validité d’une Autorité racine

transaction, le sérieux de la PKI ayant délivré le  La confiance est


certificat est important également déplacée vers l’autorité Clés
de certification
 Etant donné qu’il n’existe pas qu’une seule PKI, il  Des autorités peuvent
arrive un moment ou une relation de confiance en certifier d’autres : on Autorité A
doit être établie entre les intervenants dépendant aboutit à une chaîne de
de plusieurs PKI certification
– à la racine, on a forcément un
certificat “racine” auto-certifié> Clés
– si on ne fait pas confiance à
cette autorité racine, toute la
chaîne de certification ne sert
à rien Émis Clés
– généralement, il s’agit d’une par A
organisation très réputée

Anas Abou El Kalam


179 Anas Abou El Kalam
180
Organisation des PKI Organisation des PKI
 En fonction du nombre et de la nature des intervenants, on
parle de modèle de confiance à 1,2,3,4 ou 5 coins  les AC peuvent être organisées de manière
hiérarchique. Plusieurs organisations sont
 Modèle à un coin possibles :
– Une entreprise émet des certificats pour ses employés. – Organisation arborescente
• modèle à un coin : employés et E/se sont considérés comme une même entité juridique
– Organisation en maillage
 Modèle à deux coins
– Organisation en étoile (avec point focal)
– Une entreprise (ex: une banque) émet des certificats pour ses clients et fournit
un logiciel sécurisé par lequel passent toutes les transactions
AC
 Modèle à trois coins AC AC
AC AC
– Une entreprise émet des certificats pour ses clients, mais n’est pas
l’intermédiaire de toutes les transactions AC AC
AC
 Modèle à quatre coins
– Deux clients effectuent des transactions ensemble et chacun dispose de sa PKI. AC AC
AC AC
• Il existe relation confiance entre les PKI impliquées
AC AC AC
 Modèle à cinq coins
– Deux clients effectuent des transactions ensemble et chacun dispose de sa PKI.
Les deux PKI appartiennent à un réseau fédérateur de PKI Arborescente Maillage En étoile

Anas Abou El Kalam


181 Anas Abou El Kalam
182

Conclusion Références (authentification)


Intégrité Authenticité Non
répudiation
Empreinte  Généralités sur l’authentification
digitale – Site de MSI S.A. http://shl.msi-sa.fr
MAC Voir note 1 – FAQ R.S.A http://www.rsasecurity.com/rsalabs/faq/
Signature Voir note 2 – FAQ des news sci.crypt
digitale  Signatures digitales, certificats
Signature Voir note 3 – Site de Verisign http://digitalid.verisign.com/client/help/technical.htm
digitale + – Site de Thawte http://www.thawte.com
certificat  Algorithmes
– “The MD5 Message Digest Algorithm” de R. Rivest - RFC 1321
Note 1. Impossible d’identifier précisément l’émetteur si la – “Secure Hashing Standard” - FIPS 180-1
clé secrète est partagée entre plusieurs personnes. – “Handbook of applied cryptography” de A. Menezes, P. van
Oorschot et S. Vanstone
Note 2. On garantit que l’émetteur possède la clé privée, mais
A retenir
pas l’identité effective de l’émetteur.
Note 3. Ne pas oublier de vérifier la validité (date,
répudiation…) du certificat.
Anas Abou El Kalam
183 Anas Abou El Kalam
184
Plan du cours Utilités à tous les niveaux

Application : S-MIME, PGP, Sbox, OTP


 Confidentialité
– Introduction : utilité, définitions, historique Présentation
– Chiffrement symétrique : transpositions, substitutions SSH
Session : SHTTP
– Chiffrement asymétrique SSL, TLS,
– le futur : courbes élliptiques, cryptographie quantique Transport : SSL, TLS SHTTP
 Authentification
Réseau : authentification IP (IPsec)
– Introduction : objectifs, définitions
– Fonctions de hashage Liaison : CHAP, PAP
Boîtier de
– Signatures digitales et certificats
Liaison physique : Bluetooth chiffrement
 Applications
– PAP, CHAP, NTLM
– TLS, Kerberos...

Anas Abou El Kalam


185 Anas Abou El Kalam
186

Authentification = identification + vérification


 Identification = présentation de l'identité
l'identité : information non secrète, différente pour
chaque utilisateur (nom, numéro, ...) connue (au moins) de l'utilisateur et du système
3. Authentification informatique

 Vérification de l'identité = l'utilisateur doit présenter quelque chose :


– qu'il connaît (mot de passe, >)
– qu'il possède (badge, carte à puce, >)
– qui lui est propre : biométrie (empreinte digitale, iris, voix, >)
ou une combinaison : carte à puce + empreinte digitale

 La qualité des systèmes d'authentification dépend :


du taux d'acceptation à tort (false
(false acceptation rate, FAR)
FAR)
et du taux de rejet à tort (false rejection rate, FRR).
Ex : empreinte digitale : FAR ≈ 10-6 FRR ≈ 1/1.000 (Compaq, NEC)
iris : typiquement : FAR ≈ 10-12 FRR ≈ 1/10.000 (Sensar, IriScan)

 Trois techniques, selon ce que connaît l'authentificateur


– Secret partagé
– Secret, caractéristique de l'utilisateur (non-rejouable, non-falsifiable)
– Valeur publique vérifiant un secret maintenu par l'utilisateur (zero-knowledge)

Anas Abou El Kalam


188
Authentification à distance (secret partagé)
Exemple de défi-réponse
U
 Danger : écoute sur le réseau -> rejeu Serveur
STATION
 {aléa}Ku
 U, Ku DE
TRAVAIL
STATION STATION
ESPION
DE
TRAVAIL
DE
TRAVAIL ¦ {aléa+1} Ku

U ’ Ku

1. L’utilisateur tape son nom (U) et son mot de passe (Ku) sur la
station.
SERVEURS 2. La station transmet l’identité de l’utilisateur au serveur.
3. Le serveur recherche le mot de passe de l’utilisateur et chiffre un
 Parades : nombre aléatoire (défi) avec ce mot de passe.
Vérification locale (m-d-p crypté transmis par un serveur) 4. La station prouve que le mot de passe est correct en déchiffrant le
Protocoles à défi-réponse : m-d-p "une fois", S-Key , grenouille, carte à puce, > défi et en le renvoyant après incrémentation et chiffrement.

Danger : mots de passe stockés en clair sur le serveur

Anas Abou El Kalam


189 Anas Abou El Kalam
190

S-Key : Quoi ? S-Key : 1ère phase : enregistrement


 Implantation du «One Time Password» (OTP). Commande keyinit
 mot de passe qui traverse le réseau est utilisé une seule et unique fois.
 Même si mdp est capturé par autrui, il ne pourra être utilisé car déjà périmé
 La connaissance d'une suite de mots de passe provenant de la séquence d'un Serveur
même usager ne permet pas de déduire quel sera le mot de passe suivant. U, secret U

aléa, 100
 Aucune information secrète n'a besoin d'être stockée sur aucun système, U, aléa, cptr,
mdp100
mdpcptr
incluant l'hôte qui est protégé. mdp0 = H (aléa|secret)
mdp1 = H (mdp0)
>
 Tout s'effectue sur le vif à l'aide d'algorithmes. mdp100 = H (mdp99)

 2 phases :
 enregistrement
 authentification 191 192
Anas Abou El Kalam Anas Abou El Kalam
S-Key : 2ème phase : authentification One-Time Password (2)
Serveur
 L’utilisateur dispose sur son compte de :
– un générateur de mot de passe, qui génère une série de mots de
U, secret U passe aléatoires à partir d’une phrase secrète
aléa, cptr-1 => une phrase secrète, c’est long à casser, mais facile à retenir>
U, aléa, cptr, – SecureCard, implémentation logicielle (S-Key de Bellcore)
X
mdpcptr
 Le serveur dispose d’une base de données dans
mdp0 = H (aléa|secret) laquelle il note :
mdp1 = H (mdp0) ? – le login de l’utilisateur
mdpcptr = H (X)
> – le dernier mot de passe utilisé avec succès
X = H (mdpcptr-2) Si oui : – un sel (= un nombre qui fait pour “perturber”)
cptr = cptr-1 – l’identifiant de l’algorithme à utiliser
enregistrer mdpcptr = X
– un numéro de séquence N

Anas Abou El Kalam


193 Anas Abou El Kalam
194

One-Time Password (3) One-Time Password (4)

Serveur sécurisé
Utilisateur
Pour chaque
N, sel, ID algo.
utilisateur :  Avantages :
Sel - dernier mot de passe – l’utilisation du sel permet à l’utilisateur d’utiliser la même
phrase secrète sur plusieurs machines
- n° séquence N
– la phrase secrète ne circule nulle part
- ID algo.
- sel
Phrase Algorithme  Problème :
– N est décrémenté à chaque connexion, au bout d’un
secrète de hash moment, N va être trop petit !
• réinitialiser le compte : convenir d’un changement de mot de
Sel MdP(N) passe, ou d’un changement de sel
N-1 fois
• ou interdire son utilisation

Algo. MdP(N)
MdP(N-1) 1 fois
Noter le MdP(N-1)
Décrémenter N 195 196
Anas Abou El Kalam Anas Abou El Kalam
S-Key : Exemple
d’authentification Authentification "zéro-knowledge"
telnet nom_de_la_machine  Caverne d'Ali Baba (Guillou-Quisquater)

A B

•Tapez ensuite votre nom d'usager.


Une phrase de prompt Skey apparaitra

•Entrez le prompt Skey ainsi que votre


mdp utilisé dans l'initialisation des skey

 A chaque essai, quelqu’un qui ne connaît pas le secret a une chance sur 2
Copier/coller mdp unique, trouvée dans la case Response, dans votre session Telnet.  L’authentificateur est convaincu, mais il ne peut transmettre sa conviction
le 97ième mot de passe unique aura été utilisé pour vous identifier.
Celui-ci n'est plus bon.
Vous devrez passer au 96ième et ainsi de suite.
Anas Abou El Kalam
197 Anas Abou El Kalam
198

Exemple : Fiat-Shamir
Soit n un produit de deux grands nombres premiers, connu de tous les composants C du système.
Chaque composant C génère aléatoirement une valeur rc (1≤rc≤n-1), qu'il garde secrète, calcule
xc = rc2 mod n et publie xc
4. Applications
(Rabin a prouvé qu’il est aussi difficile de calculer rc connaissant xc que de factoriser n).

Supposons que B veuille authentifier A (≈ vérifier avec une confiance > 1-2-t que A connaît ra). A génère
un tableau de t valeurs aléatoires vi (1≤vi≤n-1), en calcule les carrés modulo n (v n) qu'il envoie
(vi2 mod n)
à B. B calcule une chaîne aléatoire de t bits bi qu'il transmet à A.

Pour chaque i, A renvoie à B :


zi = vi si bi = 0
zi = ra.vi mod n si bi = 1

B calcule zi2 mod n et vérifie que :


zi2 = vi2 mod n si bi = 0
zi2 = xa.vi2 mod n si bi = 1

Un intrus A’ n'a qu'une chance sur 2t de deviner à l'avance les bi pour choisir les zi2 qui satisferont la
demande de B :
si bi = 0, A’ génère vi et calcule vi2 mod n qu’il envoie à l’étape 1, puis vi en 2
si bi = 1, A’ génère zi et calcule zi2/xa mod n qu’il envoie en 1, puis zi en 2

Anas Abou El Kalam


199
PAP
 PAP = Password Authentication Protocol
– protocole d’authentification de liaisons point-à-point
• liaisons point-à-point = liaison entre deux hôtes uniquement et qui n'est pas
conçue pour être utilisée dans un réseau
– demande d’authentification côté client ou côté serveur

PAP  Fonctionnement
– lorsque l’utilisateur veut se connecter à un serveur, il doit donner son

CHAP login + mot de passe


– suivant les versions de PAP utilisées, login + mot de passe peuvent
transiter en clair ou non >

NTLM Mot de passe

Algorithme
Login Authentifiant
à sens unique
Exemple d’authentification où login et mot de passe ne transitent pas en clair

Anas Abou El Kalam


201 Anas Abou El Kalam
202

Les risques de PAP L’authentification “forte”

 Principe
 Authentification faible – consiste à générer un défi aléatoire, qui change à chaque
– si transit en clair : il suffit d’écouter sur la ligne ! connexion
– aucun mécanisme anti-rejeu : on peut essayer plusieurs – le défi change à chaque connexion : on ne pourra pas le
login + mots de passe, ou capter un login + mot de passe réutiliser
chiffré et le rejouer => Cela n’empêche pas complètement le rejeu
Client
Client Espion
Mot de passe
Authentifiant Algorithme Défi
Serveur à sens unique Espion
Plus tard … Succès Serveur
Authentifiant Authentifiant Nouveau défi
Plus tard, à une
Authentifiant Echec
203 prochaine connexion 204
Anas Abou El Kalam Anas Abou El Kalam
CHAP : Challenge Authentication Protocol Authentification RAS NT
 Le serveur envoie une requête contenant
son nom (défi = nombre aléatoire de 16
bits, avec éventuellement un compteur  R.A.S = Remote Access Service
incrémenté à chaque envoi ) – service d’accès distant sur Microsoft ® Windows NT
• opérer comme si vous étiez connecté à un ordinateur physiquement relié au réseau:
 Le client transforme ce défi (et exécuter Gestionnaire utilisateurs, Gestionnaire serveurs, Observateur d'événements.
éventuellement le compteur) avec sa clé et
l’algorithme MD 5
 Plusieurs méthodes d’authentification disponibles
 Le client envoie son résultat au serveur – MD5-CHAP “Accepter une authentification chiffrée”
(réponse) – MS-CHAP “Accepter une authentification Microsoft”
– DES : compatibilité avec réseaux Lan Manager
 serveur applique même algo avec clé du – PAP “Accepter une authentification en clair”
client, puis compare son résultat avec celui – SPAP : authentification Shiva, chiffrée
du client

 le serveur accorde ou rejette la connexion

défi

La clé ne transite jamais en clair sur le réseau. Client RAS Serveur RAS
Méthode choisie, défi chiffré
Impossible d’ouvrir une nouvelle session en “rejouant”
Anas Abou El Kalam
205 Anas Abou El Kalam
206

Mots de passe sous Windows NT (1) Constitution des hashs sous NT (2)
Paddé avec
Mot de passe de l ’utilisateur (en clair) : 14 caractères des NULLs si

 SAM (Security Accounts Manager) nécessaire

– droits requis pour y accéder Mot de passe en majuscules


– fichier vérouillé
– stocke des hashs des mots de passe (et non les pwd en clair)
1ère moitié 2ème moitié
– 2005 : fonction de hachage utilisée pour les mots de passe est MD5 MD4
7 caractères => 56 bits 7 caractères => 56 bits

Magic Magic
number DES number DES hash MD4 (16 caractères)
(64 bits) (64 bits)
DES (16 caractères) hash MD4 (16 caractères)
Moitié chiffrée Moitié chiffrée
64 bits => 8 caractères

« Hash » DES (16 caractères)


Anas Abou El Kalam
207 Anas Abou El Kalam
208
Risques et solutions (3) Common Internet File System (4)
 Risques
– attaque du dictionnaire
– il suffit de générer des mots de passe de 7 caractères et de comparer  Le protocole CIFS
leurs empreintes (pas besoin de 14 caractères) – partage de fichiers (NFS à la Microsoft)
– ensuite générer toutes les variations Maj/Min pour trouver l ’empreinte – standard
MD4 – support de connexions lentes
– MD4 n ’est plus considéré comme sûr... – amélioration de SMB (Server Message Block), héritier des protocoles
LanMan, Dos LM, NTLM >
– authentification mutuelle client et serveur (empêche les attaques
 System Key Fix (SP3) « sandwich »)
– support de la signature SMB (SP3)
– les empreintes sont stockées chiffrées
– la clé de chiffrement est elle-même chiffrée par une « clé de boot » ou  Format de message
« clé système ». Cette dernière peut être : – entête : protocole (0xFF, ’SMB ’), commande, état, uid, tid >
• générée aléatoirement et stockée dans base de registres (non recommandé) – données : chemin d ’accès
• dérivée d ’un mot de passe demandé au boot de la machine
• ou stockée sur une disquette nécessaire au boot
Entête CIFS Données

Anas Abou El Kalam


209 Anas Abou El Kalam
210

Niveau de sécurité CIFS (5) Authentification CIFS (6)


client serveur

Deux niveaux de sécurité sont proposés : SMB_COM_NEGOTIATE


 L’authentification se
 niveau partage :
déroule en trois
– l ’accès à un partage est contrôlé par un mot de passe.
étapes :
– un seul mot de passe pour tous les utilisateurs
– négociation du « dialecte »
– Il suffit que l ’utilisateur connaisse ce mot de passe et le suivant les capacités du SMB_SESSION_SETUP_ANDX
chemin d ’accès au partage pour obtenir l ’accès aux client et du serveur
données
– authentification de
 niveau utilisateur : l ’utilisateur (si mode
– un mot de passe par utilisateur utilisateur)
SMB_TREE_CONNECT_ANDX
– pour accéder à l ’arborescence, l ’utilisateur doit – authentification auprès de
s ’authentifier (identifiant, mot de passe) l ’arborescence désignée
– amélioration de l ’ancien protocole SMB

Anas Abou El Kalam


211 Anas Abou El Kalam
212
Authentification CIFS (7) Authentification par défi LanMan (8)
Hash DES du mot de passe utilisateur \0
16 caractères 5 caractères
 Authentification en clair :
– le client envoie au serveur son mot de passe en clair (en Bloc sur 21 caractères
mode utilisateur, envoyer l ’identifiant en plus). Découpage en 3
– Supporté par tous
 Authentification LanMan par défi : 7 caractères 7 caractères 7 caractères

– le serveur envoie un défi.


– réalisation d ’un empreinte DES à partir du hash DES du
Challenge
mot de passe du client DES Idem ...
– vérification du serveur (8 caractères)
 Authentification NTLM par défi :
– idem, mais utilisation du hash MD4 du mot de passe du
8 caractères 8 caractères 8 caractères
client et du hash DES.
– SP4 : LM-Fix permet d ’éviter d ’utiliser le hash DES du mot Envoyé au serveur
de passe
Anas Abou El Kalam
213 Anas Abou El Kalam
214

Authentification par défi NTLM (9) Authentification HTTP (1)


Hash MD4 du mot de passe utilisateur \0
16 caractères 5 caractères
 HTTP 1.1 prévoie des mécanismes
Bloc sur 21 caractères d€’authentification :
Découpage en 3 – entêtes WWW-Authentication et Authorization
– authentification basique : identifiant et mot de passe
7 caractères 7 caractères 7 caractères circulent en clair ! Déjà prévu dans HTTP 1.0 et hélas très
courant sur Internet>
– authentification Digest (1999): on envoie un hash MD5 d ’un
Challenge défi. Hélas, pas (encore) implémenté par les navigateurs et
DES serveurs Web standards (RFC 2617)
(8 caractères)
– authentification NTLM : on utilise le hash DES et MD4 du
mot de passe de l ’utilisateur pour chiffrer un défi envoyé par
le serveur (cf authentification NTLM). Propriétaire et
8 caractères 8 caractères 8 caractères implémenté sur Internet Explorer et IIS.

+ si V<SP4 8 caractères 8 caractères 8 caractères Envoyé au serveur

Résultat de l ’authentification LanMan


Anas Abou El Kalam
215 Anas Abou El Kalam
216
Authentification HTTP : déroulement (2) Authentification NTLM sur HTTP (3)

Client Serveur

GET Protocole (« NTLMSSP\0)


401 Unauthorized
WWW-Authenticate:NTLM Type (0x01) Réservé
GET … Réservé
Authorization:NTLM <base64 Taille du domaine
msg_init> 401 Unauthorized Offset domaine 0x00
WWW-Authenticate:NTLM Taille host
<base 64 msg_rep>
Offset host 0x00
GET …
Authorization:NTLM <base64
host
msg_end> domain

HTTP 1.1/ 200 OK

Anas Abou El Kalam


217 Anas Abou El Kalam
218

Authentification NTLM sur HTTP (4) Authentification NTLM sur HTTP (5)
Protocole (« NTLMSSP\0)
Type (0x03) Réservé
Réservé
Taille réponse LanMan (0x18)
Protocole (« NTLMSSP\0) Offset réponse LanMan 0x00
Type (0x02) Réservé Taille réponse NTLM (0x18)
Offset réponse NTLM 0x00
Réservé Taille domaine
Taille du message (0x28) Réservé Offset domaine (0x40) 0x00
Réservé Taille utilisateur
Offset utilisateur 0x00
Challenge (8 octets) Taille host
Offset host 0x00
Réservé 0x00
Taille message 0x00
Réservé
Domaine
User
Host

Réponse LanMan

Réponse NTLM

Anas Abou El Kalam


219 Anas Abou El Kalam
220
SSL / TLS (1)

 Généralités
– SSL (Secure Socket Layer)
• protocole proposé par Netscape HTTP SMTP FTP
• intégré depuis 94 dans navigateurs
• v3.0 en 1996
SSL/TLS

SSL – TLS v1.0 normalisé en 99 par l'IETF ( RFC 2246)


– TLS = SSL “v3.1”
• standard Internet IETF (RFC 2246)
TCP / UDP

• un communications Internet sécurisées

TLS
IP
• Au dessus de la couche TCP
– très répandu : (HTTPS (port 443) ou POP3S (port 995) )
 Fonctionnalités
– chiffrement : RC2 (40-128), RC4(40-128), DES (40,56),
Triple DES (168), IDE (128)...
– scellement : MD5, SHA
– échange de clés : RSA, Diffie-Hellmann

Anas Abou El Kalam


221 Anas Abou El Kalam
222

SSL / TLS : caractéristiques (1) SSL / TLS : Vue globale


 Permet :
 Repose sur un procédé de cryptographie à clef publique – l'authentification mutuelle du serveur et du client,
 Indépendant du protocole utilisé – le chiffrement et la vérification de l'intégrité des connexions.
– transactions Web (HTTP), connexions via FTP, POP ou IMAP.
– Agit telle une couche supplémentaire, permettant d'assurer la sécurité des
données, située entre la couche application et la couche transport  Constitué des deux sous-protocoles :
 Transparent pour l'utilisateur – le protocole TLS Record
 Supporté par la quasi totalité des navigateurs • chiffrer les connexions avec un algorithme symétrique, et
 Serveur sécurisé par SSL  URL commençant par https:// • vérifier leur intégrité à l'aide d'une fonction de type HMAC
 Confidentialité  Algo symétriques (3DES, IDEA, >RC4) – le protocole TLS Handshake.
 Intégrité  HMAC : Hash Message Authentication Code (MD5/SHA + clé)
• d'authentifier les deux parties (e.g., avec certificats),
 Authentification  X509 et MAC
• leur permettre de négocier les algorithmes et les clés de session
utilisées par le protocole TLS Record et de
• remonter des alertes.

Anas Abou El Kalam


223 Anas Abou El Kalam
224
SSL / TLS : fonctionnement (1) TLS : négociation de session
 échange de clés entre client et serveur.
– Le client,  Une session définit les éléments suivants :
• se connecte au site (marchand) sécurisé par SSL – identifiant de session
• lui demande de s'authentifier. – algorithme de compression
• envoie liste cryptosystèmes qu'il supporte, triée par ordre décroissant de L(clés). – algorithme de chiffrement, type d ’algorithme de chiffrement :
– Le serveur a réception de la requête (par blocs, flux), taille de la clé de chiffrement
• envoie certificat au client, contenant clé publique du serveur, signée par une CA, – algorithme de scellement, taille du sceau
• ainsi que nom d’algo le plus haut dans la liste avec lequel il est compatible – secret maître
– Le client – aléa serveur, aléa client
• vérifie validité certificat (i.e., authenticité marchand), – certificat
• crée une clé secrète aléatoire, – session réutilisable
• chiffre cette clé avec clé pub du serveur, puis envoie résultat (clé de session).
– Le serveur est en mesure de  Clés utilisées :
• déchiffrer la clé de session avec sa clé privée. – secret maître, aléas serveur et client
 Les 2 entités possèdent clé commune dont ils sont seuls connaisseurs  permettent de calculer la clé de chiffrement et la clé de
 Le reste des transactions peut se faire à l'aide de clé de session, garantissant scellement.
l'intégrité et la confidentialité des données échangées.

Anas Abou El Kalam


225 Anas Abou El Kalam
226

TLS : négociation de session TLS : négociation de session

Décider du niveau de sécurité


 Toute communication sécurisée débute
(suivant les capacités de chacun)
par une négociation de session «€TLS
Handshake protocol€» Le serveur s’authentifie
 Format des trames de négociation : et envoie les paramètres permettant
d ’établir un pré-secret maître

Type Taille Contenu Le client s ’authentifie (si requis)


et envoie les paramètres permettant
d ’établir un pré-secret maître
Type : hello_request (0), client_hello (1), server_hello (2) ...
Terminaison de la négociation de session
Client et serveur converseront désormais
avec les algorithmes et clés de sécurité
établies

Anas Abou El Kalam


227 Anas Abou El Kalam
228
Scénario étape 1:
négociation de session TLS La négociation de session TLS
1ère phase : authentification serveur

 Suite à la requête d'un C, le S :


– envoie son certificat au client
– liste les algorithmes cryptographiques, qu'il
souhaite négocier.
 Le client :
– vérifie validité certificat à l'aide Kpub du CA
– Si le certificat est valide, le client génère un
pré-master secret (PMS) de 48 octets
– Le PMS servira à dériver le MS (48 octets)
– PMS est chiffré avec clé publique du serveur
puis transmis à ce dernier.

 Données échangées par la suite entre C/S


sont chiffrées et authentifiées à l'aide de clés
dérivées de la clé maître.

Anas Abou El Kalam


229 Anas Abou El Kalam
230

La négociation de session TLS La négociation de session TLS (11)


 Client Hello
2ème phase : authentification C (optionnelle) – heure
– tirage nbre aléatoire client.random (28 octets)
– session Id : vide = nouvelle session,
 Serveur
session Id : renseigné = utiliser session déjà ouverte
– peut demander au client de s'authentifier en
– choix d’algorithmes de chiffrement supportés
lui demandant son certificat.
– méthode de compression supportés
– n° version du client SSL utilisé
 Client
– réplique en envoyant ce certificat puis
 Server Hello
– en signant un message avec sa clé privée (ce – le serveur sélectionne la version
message contient des informations sur la – tirage nbre aléatoire : server.random (28 oct)
session et le contenu de tous les échanges – session Id : renseigné = numéro nouvelle session, ou
précédents). session à réutiliser ,
session Id : vide = session à ne pas mettre en cache
– algorithme de chiffrement sélectionné
Remarque : – méthode de compression à utiliser
Clé publique serveur  chiffrement;  Si session réutilisée, passer en FINISH
celle du client  signature.

Anas Abou El Kalam


231 Anas Abou El Kalam
232
La négociation de session TLS (12) La négociation de session TLS (13)
 Server certificate
– envoyé si le serveur doit s’authentifier,
dès que Server Hello a été envoyé  Certificate request
– contient une chaîne de certificats X509 – envoyé uniquement si l’authentification du
v3 (avec le certificat racine en dernier), client est requise
correspond à l’algo utilisé (RSA, DH, >) – types de certificats admis
– noms d’autorités de certification reconnues
⇒ le client dispose donc de la clé publique
du serveur
 Server hello done
– le serveur attend une réponse du client
 Server key exchange
– envoyé uniquement si le client n’a pas  Client certificate
toutes les données nécessaires (ex: le – envoyé uniquement si le serveur a réclamé
serveur n’a pas de certificat) une authentification du client
– certificat
– paramètres de la clé de chiffrement
– si le client ne possède pas de certificat, une
(modulo, exposant>) alerte est envoyée au serveur. Suivant les
– hash MD5/SHA (client.random + cas, cela peut faire échouer la négociation
server.random+paramètres)
Anas Abou El Kalam
233 Anas Abou El Kalam
234

La négociation de session TLS (14) La négociation de session TLS (15)


Clé publique

N° version (2 bits) du serveur


RSA Pre Master Secret
Pre Master Secret Key (46 bits) Key sécurisé  Certificate verify
– envoyé si le client a envoyé un certificat qui permet de signer
Client Key Exchange – hash MD5 et hash SHA de tous les messages de négociation
envoyés jusqu’ici
 Client key exchange
– dans le cas de l’algorithme RSA, le client génère un “pre-master
secret” de 46 octets + 2 octets n° version (pour détecter les  Client Finish et Server Finish
« rollback attacks ») – envoyé après un Change Cipher Spec et donc chiffré avec
– il chiffre ce pre-master secret avec la clé publique du serveur les nouveaux algorithmes négociés.
– client et serveur doivent envoyer un “Finish” et vérifier celui
 Calcul des clés qu’il reçoive de la partie opposée.
– le pre-master secret, client.random et server.random permettent – PRF(master_secret,finished_label, Hash MD5 +Hash SHA
au client et au serveur de calculer : de tous les messages de négociations envoyés jusqu’ici) sur
• 2 clés de sessions (une pour chaque sens), et 12 octets, finished_label = “client finished” ou “server
• 2 clés secrètes à utiliser pour les MACs. finished”.

Anas Abou El Kalam


235 Anas Abou El Kalam
236
TLS : génération des clés (16) TLS : génération des clés (17)

 Utilisation d€’une fonction de génération de  Génération du secret maître à partir de :


nombres pseudo aléatoires (PRF) – pré secret maître établi par le client (client key exchange)
– permet de convenir de secrets relativement courts et de générer – des aléas serveur et client
des clés bien plus longues – de la chaîne ASCII « master_key »
– l ’utilisation de deux algorithmes de hash différents augmente la – effacer le pré secret maître de la mémoire
sécurité
 Génération d€’un bloc de clés à partir de :
– secret maître
PRF(secret,chaine ASCII,sel)=P_MD5(moitié_secret,chaine+sel) XOR – des aléas serveur et client
P_SHA(autre moitié_secret,chaine+sel) – de la chaîne ASCII « key expansion »
– générer un bloc de taille suffisante (PRF) et le découper pour
P_hash(secret,sel)=HMAC_hash(secret,A(1)+sel)+
HMAC_hash(secret,A(2)+sel)+
obtenir la clé de scellement client, serveur, clé de chiffrement

client et serveur, vecteurs d ’initialisation client et serveur
où A(0)=sel et pour i>0 A(i)= HMAC_hash(secret,A(i-1)
(chiffrement par blocs)

Anas Abou El Kalam


237 Anas Abou El Kalam
238

TLS : pile de protocole (2) TLS : traitement des données (3)


Quatre Protocoles Données applicatives

 Handshake Fragmentation (214 octets maxi)


TLS Modif
TLS
– authentification mutuelle C/S Cipher TLS Alert Fragment 1 Fragment 2
Handshake HTTP
– négociation algos chiffrement, spec Protocol
Protocol
protocol
hachage, échange clés symétriques Compression (ajoute 1024 octets maxi)
 Change Cipher Spec TLS Record Protocol
 Alert Compressé
 Record TCP
– sécurité des données HTTP Scellement (HMAC)
– sécurité des autres couches de IP
protocoles TLS Compressé MAC

Chiffrement (ajoute 2048 octets maxi)

Fragment Chiffré

Anas Abou El Kalam


239 Anas Abou El Kalam
240
TLS : traitement des données (4) TLS : PDU de données (5)

 Fragmentation :  Type de protocole :


– frontières messages clients peuvent être déplacées Données applicatives
– TLS Cipher Change
– fragments de 214 octets au plus Type Maj Min Taille
Protocol (20)
 Compression (optionnelle) : Frag 1 Frag 2
– TLS Alert Protocol (21)
– ajoute au pire 1024 octets – TLS Handshake Protocol
– sans pertes Compressé (22)
 Sceau : Données (compressées) – données applicatives (23)
– HMAC(MAC_write_secret,seq_num+type de chiffré
protocole TLS+version TLS+taille du fragment Compressé MAC  Version : 3.1
compressé+fragment compressé)  Taille :
– + = concaténation Fragment Chiffré
MAC – taille des données
 Chiffrement : chiffrées (214+2048 max).
– le fragment peut être paddé (chiffrement par blocs)
– on chiffre le fragment compressé + MAC
– ajoute au pire 1024 octets
Anas Abou El Kalam
241 Anas Abou El Kalam
242

TLS : protocole d ’alerte (6) Var d’état d’une session TLS

 Session ID (l'dentifiant de session)


 Niveau d€’alerte : – séquence aléatoire de 32 octets choisie par le serveur pour identifier session.
– avertissement  Peer certificate (le certificat du pair)
– fatal – c'est un certificat X 509 du correspondant (soit pour un serveur ou un client).
 Message :  Compression method
– fermeture de session Niveau Description – Algo de compression utilisé
– mauvais format de message  Cipher spec (suite de chiffrement)
– MAC erroné, erreur de – définit les algorithmes de chiffrement et de hachage
déchiffrement, erreur de  MasterSecret
PDU alerte
décompression – clé de 48 octets partagée entre le client et le serveur.
– overflow (message trop long)  Is resumable (le drapeau)
– mauvais certificat – flag qui indique si il est possible d'ouvrir de nouvelles connexions sur la session
– ... en question

Anas Abou El Kalam


243 Anas Abou El Kalam
244
Var d’état d’une connexion TLS SSL vs TLS ? (18)
 Différences minimes :
– TLS = « SSL v3.1 »
 Les paramètres qui définissent une connexion SSL sont ceux qui se seront rafraîchis – TLS Record Protocol utilise HMAC pour sceller les données
pendant une session lors d'établissement d'une nouvelle connexion :
– Avec TLS, taille du padding des données « imprévisible » (jusqu ’à
 Server_random et Client_random 255 octets), tandis qu ’avec SSL, la taille du padding était prévisible
– deux nombres aléatoires de 32 octets, générés par le C et le S lors de chaque connexion (juste ce qui est nécessaire pour être un multiple de la taille du bloc
 Server_MAC_write_secret de chiffrement)
– clé secrète utilisé par le serveur pour calculer les MACs – TLS utilise une fonction de génération pseudo-aléatoire (PRF) là où
 Client_MAC_write_secret SSL utilisait des imbrications de hash MD5 et SHA
– clé secrète utilisé par le client pour calculer les MACs – TLS ne supporte pas Fortezza comme algo d ’échange de clés.
 Server_write_key
– clé symétrique utilisé par le serveur pour le chiffrement des données.
 Client_write_key
– clé symétrique utilisé par le client pour le chiffrement des données.
 Initialization vectors
– vecteur d'initialisation pour le chiffrement par bloc en mode CBC (Cipher Bloc Chaining),
l'un du coté serveur et l'autre du coté client.
 Sequence number
– chaque message est numéroté, l'un pour le S, l'autre par le C, et chacun codé sur 8 octets.

Anas Abou El Kalam


245 Anas Abou El Kalam
246

Attaques sur SSL/TLS Attaques sur SSL/TLS


 Attaques sur les mise en œuvres des protocoles  Attaque de type "man in the middle"
– Comme toute appli logicielle, les MeV de SSL/ TLS peuvent – intercepter trafic entre deux parties avant qu'elles ne débutent une
présenter vulnérabilités permettant à un utilisateur mal intentionné session SSL. L'intercepteur négocie alors une session avec chaque
d'exécuter du code arbitraire à distance ou de provoquer un DoS. partie et fait suivre le trafic en le déchiffrant et rechiffrant à la volée.
• Appliquer CORRECTIFS correspondants aux MAJ de ces applis – E.g., dans le cas de l'utilisation du protocole HTTPS par un client
web pour authentifier un serveur, l'intercepteur crée un certificat
ressemblant au certificat légitime du serveur et détourne le trafic.
 Attaques rollback (sur anciennes versions)
– Si, malgré l'avertissement du navigateur sur le certificat, le client
• l'attaquant cherche à modifier le choix des algos d'échanges de clés de
poursuit sa session, l'intercepteur obtiendra toutes les infos que le
façon à ce que les 2 entités n'utilisent pas les mêmes (RSA et DH par
client envoie au serveur sans que ce dernier ne s'en rende compte.
exemple).
• cet attaquant pourra déchiffrer le message car les paramètres fournit par – ++ outils qui reproduisent cette attaque sont disponibles sur
le serveur dans le cas d'un algorithme n'offrent aucune sécurité si on les l'Internet.
applique à un autre...
• Cette attaque peut-être réalisée si une session 3.0 est résumée en
session 2.0 par exemple.

Anas Abou El Kalam


247 Anas Abou El Kalam
248
Solutions ? Limites ?
 Vérifier correctement le certificat présenté par le serveur. C'est  SSL/TLS servent à sécuriser les échanges d'informations
entre un client et un serveur et à obtenir un
la seule manière de s'assurer que la connexion ne sera pas authentification mutuelle.
interceptée par un éventuel attaquant.
– Dans les navigateurs, les certificats racine de certaines autorités de  Une session SSL/TLS correctement établie va donc
protéger les échanges entre les parties, mais ne sera en
certification sont pré-installés. aucun une garantie de sécurité pour les systèmes client
– Lorsque le certificat présenté par un serveur n'a pas été signé par l'une de ou serveur.
ces autorités, le navigateur demande confirmation avant d'accepter le  Ainsi, si un pirate installe par exemple un enregistreur de
certificat. Il faut alors s'assurer que le certificat présenté par le serveur est le frappe (ou keylogger) sur le poste client, il sera en mesure
bon certificat. de récupérer les mots de passe ou toute information
confidentielle, même si celle-ci a été émise lors d'une
– Cette vérification peut se faire à l'aide de deux champs du certificat : le session SSL/TLS.
numéro de série et l'empreinte numérique (empreinte md5 ou sha1).
Pour vérifier la concordance des informations, il faut disposer d'un moyen de  De même, un serveur qui utilise des sessions SSL/TLS pour
communication de confiance (téléphone, courrier, diffusion de la main à la
récupérer des données sensibles peut être compromis et
les données recueillies pourront être volées.
main, ...) par lequel pourront être comparés les numéros de série et les
empreintes.  Il est donc primordial d'utiliser les protocoles SSL/TLS en
De même, il ne faut installer un certificat d'autorité qu'après s'être assuré que prenant certaines précautions, et ne pas leur prêter une
le certificat est correct. trop grande garantie de sécurité sur l'ensemble de la
Anas Abou El Kalam
249 chaîne d'information. Anas Abou El Kalam 250

TLS : conclusion (19) Kerberos : agenda


 Avantages
– Protocole assez bien pensé et complet ▷ Kerberos
– Supportés par de nombreux navigateurs et donc + ou - “standard” > Introduction : pourquoi Kerberos ?
– Déployé et utilisé à grande échelle, grace à sa transparence par rapport au > Le protocole et les échanges
protocole TCP. Il garantit l'authentification, la confidentialité et l'intégrité des
> MIT Kerberos et les Applications
données.
– Avec son architecture modulaire, il ne se limite pas à des applications
> Attaques
traditionnelles, puisque il intègre les réseaux sans fil comme le WAP (Wirless
Transport Layer) sous le nom WTLS. ▷ Déploiement
> UNIX
 Inconvénients > Cisco (routeurs et switches)
– On n’est pas averti si le certificat utilisé est répudié > Win2K
– Lourd ?
– La renégociation de sessions n’est pas prévue, or sur un ftp ou un telnet, une
session peut rester ouverte très longtemps
– Les algorithmes de chiffrement négociés peuvent être un peu faibles (RC4-40
bits notamment). 251 252
Anas Abou El Kalam Anas Abou El Kalam © 2001 Sécurité.Org
Kerberos Pourquoi utiliser Kerberos ?
 Objectifs ▷Authentification sécurisée
– protocole d’authentification utilisé sur Unix
▷ Pas de transmission du mot de passe
– gratuit,développé par le MIT
– supporté par S-HTTP
▷ Single Sign On (regrouper tous les accès derrière un seul et unique mot de
• Utilise DES et des clés partagées
• Tiers de confiance passe)
n’est pas une bonne solution de sécurité
• utilise une horloge pour :
• limiter l’usage des clés dans le temps ▷ Gestion centralisée de l’authentification
• détecter les attaques par rejeu
• Authentification mutuelle
▷ Standard IETF (RFC 1510)

 Remarque
▷Kerberos ne fournit pas d’autorisation
▷ uniquement de l’authentification
▷ Kerberos ne fait pas de chiffrement de données
Anas Abou El Kalam
253 Anas Abou El Kalam
254
© 2001 Sécurité.Org

Kerberos (1) Rôle du KDC (2)


 Le KDC se divise en deux parties :
– le serveur d’authentification (AS)
– le service de distribution de ticket d’accès (TGS).
• Un ticket est une information qui permet d’accéder à un service. Il est
– Entités valable pendant une durée limitée

Client  Serveur d’authentification :


– conserve une base de données contenant les clients et des services
Serveur de distribution de clé KDC ainsi que leurs clés privées
– génère une clé de session (ticket) pour accéder au TGS
Service

 Service de distribution de ticket :


– c’est un service “comme un autre”
– il est généralement sur la même machine que le serveur
d’authentification (mais ce n’est pas requis)

Anas Abou El Kalam


255 Anas Abou El Kalam
256
Lexique Kerberos (1) Lexique Kerberos (2)
▷ KDC : Key Distribution Center. Base de données des ▷ keytab : fichier contenant une ou plusieurs clés (pour des
clients et des serveurs (principaux) et les clés privées hôtes ou des services). Aussi connu sous SRVTAB.
associées
▷ client : entité pouvant obtenir un ticket (utilisateur/hôte)
▷ principal : trinôme <primary name, instance, realm>
> user : login/staff@REALM ▷ service : host, ftp, krbtgt, pop, etc.
> service : service/hote.fqdn@REALM
▷ ticket : crédits (identité d’un client pour un
▷ primary : nom d’utilisateur ou du service service particulier)

▷ instance : “qualifie” le primary (rôle/groupe) ▷ TGT : ticket donné par l’AS. Permet au client
d’obtenir d’autres tickets pour le même
▷ realm : domaine d’authentification royaume

Anas Abou El Kalam


257
© 2001 Sécurité.Org Anas Abou El Kalam
258
© 2001 Sécurité.Org

Key Distribution Center Le Protocole Kerberos (1)


Domain
▷ Responsable de la maintenance des clés maîtres et de ▷ Ticket Kerberos
Principal Name
la mise à disposition des tickets Kerberos
Ticket Flags

▷ L’Authentication Service (AS) donne au client une clé de Encryption Key

session et unTicket Granting Ticket (TGT) Domain

Principal Name
▷ Distribue les clés de session et les tickets
Start Time
pour les services via le Ticket Granting
End Time
Service (TGS)
Host Address

Authorization Data

Chiffré

Anas Abou El Kalam


259
© 2001 Sécurité.Org Anas Abou El Kalam
260
© 2001 Sécurité.Org
Kerberos (3) Kerberos (4)
Connaît la clé secrète des clients et

Connaît Kc (sa clé des services


secrète) C,TGS  Avantage
Demande accès à TGS
Authentication Server – l’utilisateur n’entre son mot de passe qu’une seule fois,
Client lorsqu’il demande l’accès au TGS
Kctgs TGT “Ticket Granting ticket”
Kctgs + Nom de TGS chiffré par Kc
Kcs
Kcs  Problèmes de Kerberos
+ NKctgs + Nom de C + validité, chiffré par KTGS
Kcs om – il faut “Kerberiser” les applications
+N de
om Sc
de hif – le serveur d’authentification doit être sûr
chi C +v fr é Connaît sa clé secrète KTGS
ff r alid p ar – si quelqu’un vole le mot de passe de l’utilisateur, il peut
ép i t é Kcs
ar , “tout” faire...
Ks
Ticket Granting Service (TGS)

Heure de C + Nom de S chiffré par Kctgs Kctgs


Clé de session + Nom de C, chiffré par KTGS
Kctgs = clé de session C-TGS
Kcs = clé de session C-S
Anas Abou El Kalam
261 Anas Abou El Kalam
262

Kerberos (5) : exemple Kerberos (6) : exemple


L’acquisition du ticket pour newhost.domain est transparent
(effectué par le TGS). On peut manuellement effacer les tickets

% kinit % rlogin newhost.domain


Password for your_name@YOUR.REALM: Last login: Fri Jul 21 12:04:40 from etc etc
% klist % klist
Ticket cache: /var/tmp/krb5cc_1234 Ticket cache: /var/tmp/krb5cc_1234
Default principal: your_name@YOUR.REALM
Default principal: your_name@YOUR.REALM
Valid starting Expires Service principal
Valid starting Expires Service principal 24-Jul-95 12:58:02 24-Jul-95 20:58:15 krbtgt/YOUR.REALM@YOUR.REALM
24-Jul-95 12:58:02 24-Jul-95 20:58:15 krbtgt/YOUR.REALM@YOUR.REALM
24-Jul-95 13:03:33 24-Jul-95 20:58:15 host/newhost.domain@YOUR.REALM
L’utilisateur entre son mot de passe % kdestroy
Realm : domaine d’authentification % klist
klist: No credentials cache file found while setting cache flags
On obtient un premier ticket pour le service TGS (krbtgt) (ticket cache /var/tmp/krb5cc_1234)

Anas Abou El Kalam


263 Anas Abou El Kalam
264
Le Protocole Kerberos (2) Le Protocole Kerberos (3)
▷ Echanges de tickets Kerberos ▷ Obtention d’un Ticket Granting Ticket (1+2)
Key Distribution Center

▷ Ports: Authentication
Service
Ticket Granting
Service > (1) Demande d’un TGT
kinit: 88/udp
kpasswd (Unix): 749/tdp
kpasswd (Win): 464/{tcp,udp} > (2) TGT (déchiffré avec le hash du mot de passe
de l’utilisateur)
Client KDC
Demande de TGT (1)

t
ke
t ic TGT (2)

Utilisateur Service Réseau

Anas Abou El Kalam


265
© 2001 Sécurité.Org Anas Abou El Kalam
266
© 2001 Sécurité.Org

Le Protocole Kerberos (4) Le Protocole Kerberos (5)


▷ Obtenir et utiliser un Service Ticket (3+4+5) ▷ Délégation de l’authentification

> (3) Demande de ST (avec le TGT) Serveur KDC


> (4) ST et clé de session Client Demande de ST

> (5) ST pour l’authentification TGT + ST


ST et SK
KDC
Demande ST (3) ST
Client

ST et SK (4)
Serveur
ST (5)

Serveur

Anas Abou El Kalam


267
© 2001 Sécurité.Org Anas Abou El Kalam
268
© 2001 Sécurité.Org
Realms Le Protocole Kerberos (6)
▷ Un royaume est un domaine d’authentification ▷ Authentification entre domaines
> Une base de données Kerberos et un ensemble de KDCs
KDC

▷ Organisation hiérarchique (nouveauté dans la version 5) Client Demande de TGT


KDC

▷ Authentification uni ou bi-directionnelle TGT

Demande de ST
▷ Authentification inter-realm ST et SK
> transitive
> directe entre royaumes ST et SK

Serveur

Anas Abou El Kalam


269
© 2001 Sécurité.Org Anas Abou El Kalam
270
© 2001 Sécurité.Org

Distribution du MIT Applications Cerbèrisées


▷ Version utilisée: 5.1 ▷ telnet (avec chiffrement DES) et r-commandes

▷ Inclus les logiciels client et serveur ▷ CVS et ksu, klogin, k*

▷ Plate-formes supportées : ▷ SSH 1.2 supporte Kerberos V (utiliser


UNIXes (xBSD, Linux, Solaris, AIX, HP-UX, OSF/1, ...) au moins la version 1.2.30)
MacOS 10
▷ SSL v3.0
▷ DNS peut être utilisé
▷ Cygnus Kerbnet (NT, MAC, Unix)

▷ non supporté par samba


(problèmes liés aux extensions MS)

Anas Abou El Kalam


271
© 2001 Sécurité.Org Anas Abou El Kalam
272
© 2001 Sécurité.Org
Cerbèrisation d’une application Problèmes liés au NAT
▷ Toutes les applications sont adaptables ▷ L’adresse du client se trouve dans le ticket

▷ Utilisation de l’API GSS ▷ Nécessité d’ajouter l’adresse translatée traduite dans le


ticket
▷ Transport du ticket géré par l’application
▷ Patch pour la version 5.1 (MIT Kerberos)

Anas Abou El Kalam


273
© 2001 Sécurité.Org Anas Abou El Kalam
274
© 2001 Sécurité.Org

Attaques (1) Attaques (2)


▷ Vulnérabilité dans le système d’authentification par ▷ Recherche du mot de passe : utiliser une bonne
usurpation (partie AS du KDC): fichier keytab et passphrase
enregistrement des principaux pour le service
(http://www.monkey.org/~dugsong/kdcspoof.tar.gz) ▷ Clients “chevaux de Troie” : OTP

▷ Rejeu: détecté (synchronisation d’horloge du client et ▷ Relation de confiance implicite entre les royaumes
du serveur)
▷ Forwarding des tickets
▷ Clés exposées: durée de vie limitée, mais
utilisées pour plusieurs sessions ▷ Autres: KDC, stations partagées, ...

▷ Faille dans l’utilisation des fichiers


temporaires : utiliser krb5-1.2.1+

Anas Abou El Kalam


275
© 2001 Sécurité.Org Anas Abou El Kalam
276
© 2001 Sécurité.Org
Clients *NIX Kerberos V sur les clients *NIX (1)
▷ RedHat (6.2 and 7) supporte Kerberos V ▷ Authentification gérée par l’API Kerberos
> Installer le patch RHSA-2001:025-14
▷ Configuration de l’authentification par utilisateur :
▷ Solaris/OpenBSD ne fournissent qu’un support ~/.k5login - liste les principaux qui peuvent
Kerberos IV se connecter sur ce compte

~/.k5users - liste les commandes qui peuvent être


lancées via ksu (similaire à sudo)

▷ alternative PAM non conseillée

Anas Abou El Kalam


277
© 2001 Sécurité.Org Anas Abou El Kalam
278
© 2001 Sécurité.Org

Kerberos V sur les clients *NIX (2) Kerberos V et Cisco (1)


▷ Telnet cerbèrisé : disponible ▷ Routeurs Cisco
> Telnet cerbèrisé
▷ SSH cerbèrisé : > Authentification par mot de passe utilisant Kerberos
> SSH de SSH.Com 1.2.x et 2.x supportent Kerberos V (telnet, SSH et la console)
> OpenSSH (jusqu’a la version 2.5.1) ne supporte
pas encore Kerberos V: http://www.sxw.org.uk/computing/patches/ > Une instance peut être associée à un privilège
(configuré localement)

▷ Switches Cisco
> Telnet uniquement (SSH disponible dans
les 6.1 mais sans support pour Kerberos)

Anas Abou El Kalam


279
© 2001 Sécurité.Org Anas Abou El Kalam
280
© 2001 Sécurité.Org
Kerberos V et Cisco (2) Kerberos V et Cisco (3)
▷ IOS & mémoire sur les routeurs : ▷ Exemple de configuration d’un routeur :
> Nom de la fonctionnalité : Kerberos V client support aaa authentication login default krb5-telnet local
> Feature set requis : au moins Enterprise aaa authorization exec default krb5-instance
kerberos local-realm COLT.CH
> N’est pas supporté par toute la gamme, par exemple : kerberos srvtab entry host/bgp1.colt.ch@COLT.CH ...
- Cisco 16xx kerberos server COLT.CH 192.168.0.14
- Cisco GSR (12xxx - Gigabit Switch Router) kerberos instance map engineering 15
kerberos instance map support 3
> Besoins en mémoire : kerberos credentials forward
Hardware IOS RAM / Flash
26xx 12.0 32 / 8 line vty 0 4
12.1 48 / 16
72xx 12.0 64 / 16
ntp server 192.168.0.126
12.1 64 / 16

Note: toujours vérifier via le Cisco IOS Feature Navigator

Anas Abou El Kalam


281
© 2001 Sécurité.Org Anas Abou El Kalam
282
© 2001 Sécurité.Org

Kerberos V et Cisco (4) Kerberos V et Cisco (5)


▷ CatOS & mémoire sur les switches : ▷ Exemple de configuration d’un switch :
> Au moins Supervisor Engine Software Release 5.x #kerberos
set kerberos local-realm COLT.CH
> Uniquement supporté par les Catalyst 4000, 5000 et 6K set kerberos clients mandatory
> Uniquement supporté par les SE I (pas par les SE II) set kerberos credentials forward
sur Cat6K set kerberos server COLT.CH 192.168.0.82 88
set kerberos srvtab entry host/sw1.colt.ch@COLT.CH ...
> Besoins en mémoire : #authentication
Hardware CatOs Mémoire
4000 5.2+ 64
set authentication login kerberos enable telnet primary
6.1 64
6000 5.4+ 64 set authentication enable kerberos enable telnet primary
6.1 64 (SE1)
#ntp
Note: toujours vérifier les Release Notes
set ntp client enable
set ntp server 192.168.0.11

Anas Abou El Kalam


283
© 2001 Sécurité.Org Anas Abou El Kalam
284
© 2001 Sécurité.Org
Kerberos V et Win2K (1) Kerberos V et Win2K (2)
▷ Supporte Kerberos pour les connexions interactives ▷ Support Tools

▷ Le protocole est un Security Provider sous le SPPI ▷ Configuration d’une station Win2K:
(Security Support Provider Interface) et est lié à la LSA ksetup /setdomain COLT.CH
(Local Security Authority) ksetup /addkdc COLT.CH kdc.colt.ch
ksetup /setmachpassword password
▷ Le cache des tickets est géré par la LSA ksetup /mapuser user@COLT.CH localuser
ksetup /mapuser * *
▷ Telnetd supporte Kerberos
▷ Windows Time Server (+ registry)

▷ Pas de SSH cerbèrisé, seulement


quelques (mauvais) clients telnet

Anas Abou El Kalam


285
© 2001 Sécurité.Org Anas Abou El Kalam
286
© 2001 Sécurité.Org

Security BOX ® SHL Security BOX ® SHL (2)


 Présentation générale de la solution
 Généralités
– sur le poste client : un proxy HTTP
– développé par MSI S.A
– sur le serveur : une gateway, et derrière, les différents sites
– sécuriser les communications
WEB à protéger.
sur Internet
– SHL n’est pas un protocole. Il
est construit “au dessus” de HTTP
 Mécanismes
– scellement HMAC-MD5...
– chiffrement Triple D.E.S EDE 112
bits par défaut, ou D.E.S 40 bits
– échange des clés de session par
R.S.A 1024 bits, certificats X509
– chiffrement et scellement sélectifs.
– authentification par mot de
passe, par carte à puce, par secret
RSA
Anas Abou El Kalam
287 Anas Abou El Kalam
288
Security BOX ® SHL (3) Security BOX ® Classic (1)
N° de version
1
Rep-1
 Généralités

Fournisseur d’authentification
Mécanismes de chiffrement et de Défi
scellement supportés, certificat et – développé par MSI S.A
logo du site, aléa (anti-rejeu), défi – sécurisation “locale” des
Agent d’authentification

pour authentification fichiers


Défi
– une version freeware et
Rép. une version
Proxy SHL Gateway SHL “classic” (quelques
Choix des mécanismes, aléa,
Génération réponse au défi
légères différences)
de clés de d’authentification, clés de Vérif. – plateformes Windows,
Conf. session session chiffrées par clé publique Vérification Mac, UNIX (Linux, Solaris,
(scellement, du site, scellement 1 & 2 Conf.
AIX...)
Rép. chiffrement) 2 – très simple d’utilisation
Rep-2 (drag & drop)
Confirmation de
l’authentification, scellement
Rep-1 & Rep-2
Anas Abou El Kalam
289 Anas Abou El Kalam
290

Security BOX ® Classic (2) Security BOX ® Classic (3)

 Fonctions :
– chiffrement par du Triple D.E.S Création d’un compte : Chiffrement
168 bits ou 56 bits Fichier
l’utilisateur choisit :
d’un fichier :
– gestion de listes de fichiers à - un diversifiant
chiffrer/déchiffrer - un mot de passe (mdp)
– gestion du mot de passe
(demander à chaque Diversifiant Génération aléatoire
chiffrement, toutes les 5
d’une clé Kf
minutes>)
– création d’auto-extractibles Algo.
(distribution plus facile)
– multi-utilisateurs : comptes Clé maître (Km) Mot de passe (mdp) Fichier chiffré
séparés, possibilité de partage
de fichiers par Kf
– procédure de sauvetage
Compte de l’utilisateur :
– effacement sécurisé Kf chiffré par Km
Km chiffré par mdp

Anas Abou El Kalam


291 Anas Abou El Kalam
292
La législation française Références
 RFC 1938 “A One-Time Password System” de
 La DCSSI (ex SCSSI) N. Haller et C. Metz
– http://www.scssi.gouv.fr  Kerberos
 Décret du 17 mars 1999 – RFC 1510 “The Kerberos Network Authentication Service (V5)”
– http://www.internet.gouv.fr/francais/textesref/cryptodecret99200.htm de C. Neuman et J. Kohl
– Libres d ’utilisation, fourniture, importation, exportation : • http://www-bib.fh-bielefeld.de/epub/doc/rfc-index.html
• protection de logiciel, protection d ’identifiants – The Moron’s Guide to Kerberos
• signatures, authentification et vérifications http://www.isi.edu/gost/brian/security/kerberos.html
• systèmes de contrôles d ’accès physiques (DAB>), gestion de  S-HTTP : Adam Shostack’s home page
facturation – http://www.homeport.org/~adam/
=> à condition qu’ils ne puissent pas être déviés en méthodes de
chiffrement  SSL v3.0, TLS v1.0
– Libres d ’utilisation et d ’importation : – http://home.netscape.com/eng/ssl3/ssl-toc.html
• chiffrement jusqu ’à 40 bits – RFC 2246 : http://www.ietf.org/rfc/rfc2246.txt?number=2246
• chiffrement jusqu ’à 128 bits à condition que le fournisseur l’ait déclaré,  Security BOX ® SHL, Security BOX ® Classic
ou qu’ils soient réservés à un usage strictement privé.
– http://www.msi-sa.fr
 Projet de Loi sur la Sécurité Quotidienne (oct 2001)
– Enrichi de 13 amendements pour la lutte contre le terrorisme
Anas Abou El Kalam
293 Anas Abou El Kalam
294

IPSec IPSec : les sous protocoles


 IPSec est une architecture de sécurité définie par l’IETF
(Internet Engineering Task Force) pour IPv6 et IPv4  IKE (IInternet Key Exchange) : établir 1er tunnel entre 2 machines (tunnel IKE)
 Elle supporte les services suivants :  Phase 1 "tunnel administratif" : gérer tunnels secondaires, leur création,
rafraîchissement clés, etc... (!! ¬ transmission données !!)
– Authentification des extrémités : permet à chacun de s'assurer de l'identité de  Phase 2 : établir autant de tunnels secondaires que nécessaire pour la
son interlocuteur (IPSec est un protocole de niveau 3  authen. Machines) transmission des données utilisateur entre les 2 machines.
– Confidentialité des données échangées • Tunnels pr échanges données s'appuient sur 2
– Authenticité des données  chaque paquet échangé a bien été émis par la protocoles différents suivant besoins sécurité U
bonne machine et il est bien à destination de la seconde machine. • AH (A
Authentication Header)  établir identité extrémités.
– Intégrité des données échangées  aucun paquet n'a subit de modification • Ne garantit aucune confidentialité (chiffrement) des données !!
quelconque durant son trajet. • ESP (E
Encapsulating Security Payload)  chiffrer données, avec ou
– Protection contre les écoutes et analyses de trafic  chiffrer les adresses IP sans les entêtes des paquets si l'on souhaite le mode tunneling.
Source/Destination, ainsi que tout l'en-tête IP (mode de tunnelingempêche • Garantit également l'authenticité des données et, à ce niveau, peut
écoute d'inférer infos sur identités réelles extrémités tunnel, sur protocoles introduire de la redondance par rapport à AH.
utilisés au-dessus d'IPSec, sur l'appli utilisant tunnel)
– Protection contre le rejeu AH et ESP peuvent être utilisés séparément ou combinés
⇒ Complexité modulable en fonction des besoins
 Services au niveau réseau  éviter implantation
redondante des mécanismes sécu aux niveaux supérieurs
 IPSec n’est pas un protocole fixe (ex: alg de chiffrement)295 296
Anas Abou El Kalam Anas Abou El Kalam
Description des modes d'IPSec
IPSec
 Mode Transport : s'intercale entre le protocole
réseau (IP) et le protocole de transport (TCP, UDP)
– ne modifie pas l'en-tête initial
– Plusieurs variantes

 Mode Tunnel : remplace les en-têtes IP originaux et


encapsule la totalité du paquet IP; e.g.,
 @ IPA externe pourra être celle de la passerelle de
sécurité implémentant IPSec, et
 @ IPB interne sera celle de la machine finale, sur le
réseau derrière la passerelle.

 Mode Nesting : hybride puisqu'il utilise les 2 modes


 Encapsuler de l'IPSec dans de l'IPSec

Anas Abou El Kalam


297 Anas Abou El Kalam
298

Authentification Association de sécurité


 L’extension d’authentification (AH) est placée juste  L’association de sécurité (SA)
après le header du datagramme IP – Elément (enregistrement dans une BD, la SAD) qui contient les infos
requises pour caractériser et échanger des données à protéger; e.g.,
Authentification (sauf les champs modifiables) • @ sources/Dest + ports autorisées à utiliser cette association ; protocole
• Pour AH/ESP : Algo d’authentification ; clés utilisées; durée validité clés ; >
Header IPv4 AH Header TCP Données TCP • Données&param d'anti-rejeu : nbres séquence, compteurs, fenêtres anti-rejeu
• Type d'en-tête IPSec : modes Transport, Tunnel ou les 2
• >
0 1 2  permet d’implanter la généricité de IPSec : elle va définir :
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8
9 0 1  Les données de la SA sont trop importantes pour pouvoir
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- être transportées in extenso dans chaque header
+-+-+-+ Référence une association
| Next Header | Payload Len | RESERVED de sécurité utilisée
|  On utilise le champ «€Security Parameter Index€» SPI qui
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+-+-+-+ permet d’identifier le SA de manière unique au niveau de
Evite les
attaques par rejeu
| Security Parameters Index (SPI) la destination
|
⇒ Avant de communiquer, la source doit négocier avec la destination le SPI à
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
+-+-+-+ utiliser
| Sequence Number Field 299 300
| Anas Abou El Kalam Anas Abou El Kalam
Association de sécurité Confidentialité
 L€’extension de confidentialité est constituée
 L’accès aux SAD (Security Association Database) est
réalisé via deux bases de données :
d’un header et d’un trailer
Authentification
– La SPD (Security Policy Database)
Encryption
– La SAD (Security Association Database)
Header IPv4 Header ESP Header TCP Données TCP Trailer ESP + Auth
 La SPD précise en fonction d’un sélecteur une SA à
utiliser. Un sélecteur peut utiliser les informations 0 1 2 3
suivantes : 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
– Une adresse IP source | Security Parameters Index (SPI) |
– Une adresse IP destination +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
– L’identité d’un utilisateur (obtenue via un répertoire) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

– L’identité d’un équipement


– Un niveau de sensibilité des données + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Padding (0-255 bytes) |
– Les ports source et destination (si on utilise TCP/UDP) +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Pad Length | Next Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 La SAD stocke les SA | Authentication Data (variable) |
~ ~
| |
Anas Abou El Kalam
301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302
Anas Abou El Kalam

Tunneling IPSec Tunneling IPSec


 IPSec a été présenté jusqu’à présent dans son utilisation en mode  propriétés générales des tunnels  VPNs :
‘ Transport ’ – les données transitant sont chiffrées (confidentialité+Intégrité)
– les 2 extrémités sont authentifiées
 Un second mode existe : le mode ‘ Tunnel ’ ou des datagrammes IP sont – les adresses sources/destinations sont chiffrées (IP dans IPSec)
encapsulés dans d’autres datagrammes IP.
– autres qualités :anti-rejeux, empêcher attaques man-in-the-middle.
– Encapsulation permet de :
• créer des réseaux privés virtuels (ou VPN).
VPN
 Établir une communication sécurisée (le tunnel) entre des entités éloignées, séparées
par un réseau non sécurisé/public (Internet), et ce de manière quasi-transparente.

Datagramme IPSec

Datagramme IP Datagramme IP Datagramme IP Datagramme IP

Tunnel IPSec

Partie données du datagramme IPSec

Anas Abou El Kalam


303 Anas Abou El Kalam
304
Internet Key Exchange Internet Key Exchange

 On l’a vu, la valeur du champ SPI n’a de  ISAKMP est un protocole de gestion de clés et
signification que dans le contexte d’une d’associations de sécurité
communication donnée, il n’existe pas
d’associations globales (i.e. bien connue) entre une  Il est indépendant :
valeur SPI et une SA
– Du protocole à sécuriser (IPSec, Transport Layer Security)
– De la structure des SA qui doit être décrite dans un document
 Il faut un mécanisme pour que les deux entités appelé DOI (Domain of Interpretation)
tombent d’accord sur une valeur de SPI et la – De l’algorithme d’authentification et de chiffrement utilisé
sémantique qui est rattachée

⇒ Architecture IKE (Internet Key Exchange)


 ISAKMP fonctionne en deux phases :
– Lors de la première phase, on construit une communication
sécurisée à l’aide d’un SA spécial appelé SA ISAKMP. De cette
 IKE est formé des composants suivants : manière, on sécurise la phase suivante de ISAKMP
– Un protocole de gestion (création, modificatoin et destruction) des – Lors de la seconde phase, on négocie les paramètres du SA qui va
SA générique : ISAKMP être utilisé pour la communication sécurisée (à l’aide du AH ou
– Un protocole d’échange de clés de session : Oakley, DH, > ESP)
– Des infrastructures à clés publiques (PKI) : PKIX ou SPKI

Anas Abou El Kalam


305 Anas Abou El Kalam
306

Internet Key Exchange Internet Key Exchange


 IKE est l’instantiation de ISAKMP avec Oakley, un
protocole d’échanges de clés (c’est donc un
 ISAKMP définit des blocs de base exchange type)
supportant les services suivants (entre  IKE existe en quatre modes (main, agressive, quick
autres ) : et new group) offrant différentes propriétés
– Négociation des paramètres d’un SA sécuritaires et étant plus ou moins rapides (en
– Echange de clés publiques (en utilisant DH, Oakley >) fonction du nombre de messages).
– Demande de certificat
Utilisation
– Notification d’erreur Modification,
négociation,
Security admin suppression IKE
Application
 Avant d’utiliser ISAKMP, il faut construire (ISAKMP/
Oakley)
des type d’échanges (exchange types) qui SAD
HTTP, FTP,…
Création
sont des scénarios représentant les TCP - UDP
différents échanges de blocs de base
IP
SPD
IPSec
Consultation
Anas Abou El Kalam
307 Anas Abou El Kalam
308
Public Key Infrastructure Public Key Infrastructure
 Les services d’authentification, d’intégrité et
confidentialité reposent sur
– La connaissance partagée d’une clé secrète [systèmes symétriques]
– La connaissance de la clé publique de son correspondant [systèmes Applications
asymétriques]
Utilise
 Les systèmes symétriques sont souvent utilisés dans les
banques mais nécessitent une infrastructure très lourde
pour protéger le secret qui doit être mobile (et ne peut Authentificati Confidentiali Intégrit Non
être utilisé longtemps) on té é répudiation

 Les systèmes asymétriques nécessitent


l’authentification de la clé publique afin d’être certain de Utilise
l’identité de son correspondant
– Ce problème se pose à chaque transaction et pour chaque correspondant Certificat de clé
– Il est donc délicat voire impossible d’utiliser des procédures manuelles publique

PKI
⇒ Les PKI répondent à ce besoin

Anas Abou El Kalam


309 Anas Abou El Kalam
310

Aspects juridiques La Directive 1999/93/CE

 Evolution juridique de la signature électronique


 La Directive européenne 1999/93/CE
1997 1999 2000 2001
– Rappel sur la portée d’une Directive : une Directive est un texte qui
fixe les objectifs à atteindre pour les états membres, sans pour
autant imposer la manière d’y parvenir. La directive est découpée
en articles :
EUROPE

Recommandation Directive Directive  Article 2 : définitions


97/489/CE 1999/93/CE 2000/31/CE
– Signature électronique : authentification
« Lien entre le titulaire « Signature « Commerce
et l’émetteur » électronique » électronique » – Signature électronique avancée : authentification, intégrité et non
répudiation
– Certificat : donnée qui confirme la relation entre une personne et sa
FRANCE

Loi Décret signature électronique


2000-230 2001-272 – Certificat qualifié : un certificat délivré par un prestataire de service
de qualification et portant diverses informations, dont une période
de validité
– Prestataire de service de certification : une entité capable de founir
des certificats (les « obligations » à remplir sont également
précisées dans la directive

Anas Abou El Kalam


311 Anas Abou El Kalam
312
La Directive 1999/93/CE La Directive 1999/93/CE
 Article 5 : reconnaissance légale de la signature
électronique
– La signature électronique doit être acceptée au même titre qu’une signature
manuscrite pour autant que :  Article 6 : responsabilité des prestataires de
• Elle soit accompagnée d’un certificat qualifié certification
• Qu’elle soit créée par un dispositif sécurisé – Les prestataires sont responsables d’un minimum de choses :
– Cependant, une signature électronique ne peut être rejetée directement • Ils doivent s’assurer de l’exactitude des informations contenues dans le
comme preuve non valide si elle ne respecte pas ces contraintes certificat
• Ils doivent s’assurer que le porteur du certificat est attitré en tant que tel
 Article 4 : principe de la libre circulation sur le marché • Ils doivent assurer que dans le cas où le prestataire génère les
intérieur données nécessaires à la signature et à la vérification, ces données
– Les produits et services relatifs à la signature électronique sont soumis aux soient effectivement complémentaires
législations des pays d’origine, ils doivent circuler librement
 Article 8 : protection des données personnelles
 Article 3 : absence d’autorisation préalable et accès au – Les prestataires sont tenus à respecter la Directive européenne sur
marché la protection des données personnelles 95/46/CE
– La fourniture des services de certification n’est pas soumise à une autorisation – De plus, ils ne peuvent récolter ces informations que depuis le
préalable > cependant les états membres peuvent émettre des
recommendations visant à augmenter la qualité de ces services porteur du certificat (ou avec son consentement explicite)

Anas Abou El Kalam


313 Anas Abou El Kalam
314

La Directive 1999/93/CE La Loi 2000-230

 La Loi 2000-230 modifie quelques articles du code civil


 Article 7 : la dimension internationale
– Cet article prévoit des mécanismes de coopération pour  L’article 1316 : la preuve écrite est indépendante du
support ou du mode de transmission
faciliter les accords bi-latéraux en vue de favoriser le
commerce électronique
 L’article 1316-1 : la signature électronique est acceptée
en tant que preuve à condition qu’elle possède les
 Articles 9 & 10 : création d’un comité de propriétés d’authentification et d’intégrité
conseil
– Un comité est créé pour assister la CE dans les décisions  L’article 1316-2 : le règlement des conflits, lorsqu’il n’y a
pas de texte explicite, se fait par le juge en utilisant la
concernant la signature électronique preuve la plus vraisemblable, quelque soit le support

 L’article 1316-3 : l’écrit électronique a la même force


probante que l’écrit sur papier

Anas Abou El Kalam


315 Anas Abou El Kalam
316
La Loi 2000-230

 L’article 1316-4 : institution de la propriété


officielle de la signature et équivalence de la
signature électronique lorsqu’elle est établie par un
processus fiable

 L’article 1317 : extension de l’acte authentique au


support électronique

 L’article 1326 : un acte unilatéral engagant un


signataire doit être écrit par lui-même, la
précedente version de l’article indiquant par sa
main

 Le décret 2001-272 suit la Directive 1999/93/CE et


offre un cadre opérationnel pour la Loi 2000-230

Anas Abou El Kalam


317

Vous aimerez peut-être aussi