Académique Documents
Professionnel Documents
Culture Documents
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é
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...
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
-
d /
} v
K
Transpositions
12
9:
f
n
e
U
"
"
-
.
j
H
3;
8
/
#
#
12
0
1
Transposition simple
8
/
/
– les permutations sont décrites par une clé secrète
<=
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
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)
polyalphabétique
– différents décalages suivant une clé
– exemples : Vigenère, WordPerfect, > plus élaboré : RC4
– TEXTE EN CLAIR .
Clé
• 11 ; 23 ; 32 ;
Texte chiffré
– TXET ECLAL IUR
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
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
|
y
ABCDEFGH I J KLMNOPQRS T UVWXYZ
DE FGHI J KLMNOP Q RSTUVWXYZ ABC
message : LANCE LES MISSILES
"
#$
#%
"
&
*+
1 2 3 4 5
Le carré de Polybe (~150 av JC)
,
1 A B C D E
)
/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
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
•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.
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).
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.
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>
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
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.
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é
IDEA
L'International Data Encryption Algorithm (IDEA
(IDEA)) a été proposé en
1992 pour remplacer le DES.
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
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
Diffie - Hellmann
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
Définitions
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
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
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.
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!
El Gamal: robustesse
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
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...
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...
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...
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...
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...
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
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
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).
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
Signature de l’AC
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
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.
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
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
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.
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
PAP Fonctionnement
– lorsque l’utilisateur veut se connecter à un serveur, il doit donner son
Algorithme
Login Authentifiant
à sens unique
Exemple d’authentification où login et mot de passe ne transitent pas en clair
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
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
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
Client Serveur
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
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
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
Fragment Chiffré
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
▷ 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
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é
▷ 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)
ST et SK (4)
Serveur
ST (5)
Serveur
Demande de ST
▷ Authentification inter-realm ST et SK
> transitive
> directe entre royaumes ST et SK
Serveur
▷ 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, ...
▷ Switches Cisco
> Telnet uniquement (SSH disponible dans
les 6.1 mais sans support pour Kerberos)
▷ 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)
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
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
Datagramme IPSec
Tunnel IPSec
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
PKI
⇒ Les PKI répondent à ce besoin