View
250
Download
9
Category
Preview:
Citation preview
LA CRYPTOGRAPHIELA CRYPTOGRAPHIE
Anas ABOU EL KALAMAnas ABOU EL KALAM
ENSEEIHTENSEEIHT
2 Anas Abou El Kalam
Bibliographie
� Cours de cryptographieCours de cryptographie– Gilles Zemor, Edition Cassini
� Introduction aux méthodes de la cryptographieIntroduction aux méthodes de la cryptographie– Brassart, Beckett
� Cryptographie appliquéeCryptographie appliquée– Bruce Schneier
� Handbook of applied cryptographyHandbook of applied cryptography– Menesez, Van Oorschott
• www.carc.math.uwaterloo.ca/hac
� Chryptographie théorie et pratiqueChryptographie théorie et pratique– Douglas Stinson
3 Anas Abou El Kalam
Plan du cours
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes elliptiques, cryptographie quantique
� AuthentificationAuthentification– Introduction : objectifs, définitions– Fonction de hashage– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos
4 Anas Abou El Kalam
Les différents domaines de sécurité
Sécurité informatique
ProtectionsFirewall
VPN, IPsec, IPv6Détection d'intrusion
Attaques et intrusionsVirus, vers...
Dénis de serviceprise de contrôle
Sécurité des systèmes et réseaux
Sécurité applicative localeChiffrement local
Biométrie, cartes à puce ...
Sécurité applicative sur InternetPKI : certificats, signatures
Authentification HTTP, NTLM...
Sécurité applicative
5 Anas Abou El Kalam
Introduction à la confidentialité
� ConfidentialitéConfidentialité– garantir le secret de l’information transmise ou archivée
� Quelle utilité sur Internet ?Quelle utilité sur Internet ?– Domaine militaire : transmission de documents “secret
défense”, stratégies, plans>– Domaine médical : confidentialité des dossiers de patients– Domaine commercial : pour les achats sur Internet,
transmission sécurisée du numéro de carte bancaire– Domaine industriel : transmission d’informations internes à
l’entreprise à l’abris du regard des concurrents !
6 Anas Abou El Kalam
Les risques liés à la sécurité
23%
37%
40%
Malveillance
Erreurs
Accidents
� Les grosses Les grosses entreprises sont les entreprises sont les plus touchées parce plus touchées parce que les plus exposées, que les plus exposées, mais aussi car leurs mais aussi car leurs systèmes systèmes informatiques leur informatiques leur permettent de détecter permettent de détecter les attaques…les attaques…
� 0.4% des entreprises 0.4% des entreprises françaises déclarent françaises déclarent avoir eu une «�fraude�» avoir eu une «�fraude�» ie 6800 entreprisesie 6800 entreprises
Source « Sinistralités » CLUSIF Année 2000
7 Anas Abou El Kalam
Convention secrète
Crypto : définitions
– cryptosystèmecryptosystème : mécanisme permettant de camoufler des messages
• I.e., de le rendre incompréhensible pour quiconque n’est pas autorisé
– cryptographiecryptographie : art de créer et utiliser des cryptosystèmes
– cryptanalysecryptanalyse : art de “casser” des cryptosystèmes
– cryptologiecryptologie : étude de la cryptographie + cryptanalyse
• À PROSCRIREÀ PROSCRIRE : cryptage, encryptage, chiffrage, chiffration !!!!!
Texte en clair
Texte chiffré
(cryptogramme)
chiffrement
déchiffrement
Décryptage (espions)8
Anas Abou El Kalam
Crypto : historique
� Hiéroglyphes Hiéroglyphes – pour étaler son savoir– pour cacher l’emplacement des trésors
� Ancien TestamentAncien Testament– code atbash : a=z (taw), b=y (shin)> k=l (lamed)...– livre de Jérémie : Sheshach à la place de Babylone, Leb Kamai à la place de Kashdim (Chaldéens)
� Civilisation arabeCivilisation arabe– l’alphabet “magique” Davidien
� Seconde guerre mondialeSeconde guerre mondiale– livres marqués à l’encre invisible– déplacements des navires japonais dans le Pacifique.
9 Anas Abou El Kalam
� <70<70– Cryptosystèmes symétriques
• I.e. conventionnels ou à clé secrète• Même clé pour chiffrement / déchiffrement � doit être secrète
» N personnes � N (N-1)/2 clés• Clés courtes ; plus rapide
� 19761976– W. Diffie et M. Hellman introduisent crypto à clé publique
• Asymétrique– Clé de chiffrement est publique (i.e., connue de tous)– Seul clé déchiffrement reste secrète
» N personnes � 2 N clés
� 19781978– Premier système chiffrement à clé publique (RSA).
• RSA est un des seuls à résister à la cryptanalyse
Crypto : historique
10 Anas Abou El Kalam
Plan du cours
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement classique : transpositions, substitutions– Chiffrement symétrique– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� AuthentificationAuthentification– Introduction : objectifs, définitions– Fonctions de hashage– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
11 Anas Abou El Kalam
La grilles Jérôme Cardan ~1550
Quoi ?
une feuille dans laquelle ont été découpées des fenêtres rectangulaires
à intervalles irréguliers.
Chiffrement
• La personne qui veut coder un message pose ce cacher sur une feuille
de papier et inscrit le message secret dans les fenêtres. • Elle enlève ensuite la grille et remplit les espaces avec des lettres
quelconques.
Déchiffrement
La personne qui veut déchiffrer le cryptogramme place simplement la
grille sur le texte pour voir apparaître le message
12 Anas Abou El Kalam
Chiffrement à clé secrète
� Chiffrements à clé secrète : Chiffrements à clé secrète : – utilisation de la même clé : on parle aussi de chiffrement symétrique
– l’expéditeur et son interlocuteur doivent s’être échangé une clé - dite secrète - au préalable.
– fonctionnement bloc par bloc (“block ciphers”) ou caractère par caractère (“stream ciphers”)
– ce type de chiffrement existe depuis très longtemps
Texte chiffré
Clé secrète
� Principes de base – Toute la crypto symétrique repose sur deux et seulement deux principes :
• SubstitutionSubstitution
• TranspositionTransposition
13 Anas Abou El Kalam
Transpositions
� Transposition simpleTransposition simple– anagramme
� Transposition par cléTransposition par clé– les permutations sont décrites par une clé secrète
BONJOUR JOBOURNTransposition simple
� � � � �� � � � � � � � �� � � � � � � � � � � �� � � � � � � � � �� � � � � � �� �� ��� ��� � ��� � ��� ��� �� � � ��� � �� � �� � � � � � � � � � ��� � � � � � � �� � � � � �� � � ! �" �� � �#� � � ! �" �� � �# �
�
$ � � � �% � � � � � � � �� � � � �
�
&' ( () * + ,
�Réarranger
-. / / 012 34 567 78 18 -1 7 9: . / 3; 1 2 8 1 / -8 1 6 /4 . <=8 0 51 /2 6> ; 1 2 ?
�
1 ? @ ?A réordonner @ 0 . < 0B8 6C D1 <1 /B ; 1 2 - . / / 01 2
14 Anas Abou El Kalam
La transposition : Transposition simple par colonnesE
ChiffrementFG H IJK LM NO POQ Q RS O horizontalement
T R HQ U HO matrice VK I T IW L H LOX O MF YOQ Q RS O J Z LW WK I
�
O H N LQ R HM N R S K L N NO verticalement [E
DéchiffrementF \O T OQ M L H R M R LK O N I S R N VG UK T IJK ] V M O K NO POQ Q RS O K I R N LQ O NO VK G J I T I L H^ O K Q O [
15 Anas Abou El Kalam
La transposition : Technique Asyrienne (Grèce, 600 avant JC)
�Chiffrement�
O HK G U NO K U HO _ R H T O TO V R V ]K UQ Q UK U HJ ] N L H TK O R V VO N I
scytale `
�
abc dc e f e g eh g e fi jk d gl m d jn f eo e j g p l c f nq n j m e f e g g e n d jp d e jc i l f a e
�Déchiffrement�
r g d f dp ec bs f d j mc e m et ut v wxy t z{| v}� Cryptanalyse
~� �� � �� � �� �� ��
�
�p p n s ec bs f d j mc ep m e m d n o � gc e m d� � ac e j gp }16
Anas Abou El Kalam
La transposition : Transposition par carré polybique �� � �� �� �� �� �� � � � � �� � � � � ��� � � � � � � � �� � �� � � �� � � �� �� ��� � �� � �� � �� � � �� �� � � � �� � � � �� � � � � � � �� �� �� � �� � � � � � � �� � � �� � � � � � � �� � �� � �� � �� � � �� �� �� ¡ � � �¢ ¢� ��� � � �� � � � � �� � � � � � �� � � �� � �� � ���� � �� � � � � � � �¢ ¢� � � ��� �� £� � �� � �� � �� � �� �� � � �� � �� � �� � �� �� � � � � � � �¢ ¢� � �� � � � �¤ �� � �� � �� �� � � �� ¥� � �� � � � �� � � � �� � � � � � �� � �� � �� �� � � � � � �� � � � � �� �� � � � � � � �� � � �� � �� � �� � ���� �� � � � � � � � �� �� � �
17 Anas Abou El Kalam
� Appelé aussi masque jetable ou one-time-pad
� Servait initialement à chiffrer les messages téléphoniques
� La clé K est une suite binaire de la même longueur que le clair
� Chiffrement : ajouter (mod 2) – bit à bit – du clair et de la clé
– Crypté = Message XOR clé– C = m ⊕ K = m1 ⊕ K1 > mn ⊕ Kn
� Mais, attaque à chiffre seulMais, attaque à chiffre seul
– Si l’attaquant peut décrypter un (seul) message (càd trouver mm connaissant cc),
alors il détient la clé
• K = m ⊕ c
– Vulnérable aux attaques à clair connus !!
» La clé ne doit être utilisée qu’une seule fois
Chiffrement de Vernam (1917)
18 Anas Abou El Kalam
� Soit σσ une permutation (bijection) sur {1, .., n}
� N : longueur du clair
� M = m1 >. mn
� Chiffrement : c = Eσσ(m) = m
σσ(1) .. m
σσ(n)
� La clé secrète est σσ
� Déchiffrement : Dσσ(c) = c
σσ-1(1).. c
σσ-1(n) = m.
� Il y a « n! » permutations possibles
� Pourtant ce système est cassé car il est linéaire
∃ matrice Aσ telle que : c = m × A
σ
Transpositions, en Math *.
19 Anas Abou El Kalam
� Si l’attaquant dispose de n paires de clairs-chiffrés
� On met les n claires en une matrice M carrée n × n
� On met les n chiffrés correspondants en une matrice C.
� Chryptanalyse � Trouver AA ?
– C = M × AA
– Si M est inversible : AA = M-1 × C
• en nn33 opérations élémentaires (par méthode du pivot de Gauss),
l’attaquant peu réussir (avec proba non négligeable)
Transpositions, « attaque »
20 Anas Abou El Kalam
Substitutions
� on on remplaceremplace une lettre par autre chose une lettre par autre chose
� simple monoalphabétiquesimple monoalphabétique– on remplace une lettre par une autre
� synonimiquesynonimique– une lettre peut être remplacée par plusieurs signes– exemple : A donne % ou µ ou $
� polyalphabétiquepolyalphabétique– différents décalages suivant une clé – exemples : Vigenère, WordPerfect, > plus élaboré : RC4
BONJOUR ERQMRXUA donne D, B donne E...
21 Anas Abou El Kalam
Substitution momoapphabétique(Exemple *)
� Texte en claireTexte en claire– TEXTE EN CLAIR .
� CléClé• 1�1 ; 2�3 ; 3�2 ;
� Texte chiffréTexte chiffré– TXET ECLAL IUR
� Cas général (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 (Cas particulier (décalage circulaire de lettres d’amptitude k))– C’est le nombre k qui est secret
• Ex : Chiffrement de César utilisait k=3• Que 26 clés possibles � système pas fiable
22 Anas Abou El Kalam
�
�� � �� � � �
�
� � �� � � � � � � � �� � �� � � � � � � � � � �� � � � � � � � � � � ��� � � � � � � � � � � � �� �� � �� � � �� � ��
�
�� �� �� �� �� � �� � � � � � � � � �� � � � � � � �� � �� � � � � �� � �� � � � � � � � � ���
!" #$% &'( ) *"+ " ,( $- $ *" * #$ * #. /- 01 '- . &- ,- * *'- $ 2Substitution momoapphabétique(Exemple >)
23 Anas Abou El Kalam
La Substitution homophonique
�Comment ?�
34 5 567 48 9 :67 9 ;< 3 ;7 67 9 = 3 => 6 < ?@ AB8 CD 8 EF 8 < 3B 9B 3 ? G 96 > 8 ?6H ?6 6 <3 :B ; 9 4 < CB ; ? 3 4 9 96 A7 4 < > 96
plusieursplusieurs 3B 9B 3 ? G 96 A > B < A :6 ?6 H ?6 3 I ; C C 9 =J�
KB 9 6H 6 57 :6 @ LM L7 68 ? 3 4 9 96 A7 4 < > 96 FN @ OP @ QN 48 N RS LT LU @ OV @ P O @ 48W QS 6 ? 3J
24 Anas Abou El Kalam
La Substitution polyalphabétique
�
XY Z[ \]^ Y X^ _]` a Y \Y b b XY c aZYd d ]e Y Yf ^ \] g X [ ] X af Y f h ai Y \ \YY b b XY [ X gd Y c ] f d h a [ \ ad gY a Xd] \ [ _] j Y bd ] \k ] b h g XYd ] d d h^ gkd�
lf ^ _ h gd g b af Y ^ \k ` a gd Y X bcm Yf b Xk Y c ] f d \ ] e X g \ \Y�
n _]` aY ^ ] X]^ b o XY c Y \] ^ \kc kd ge f Y af Y \Y b b XY c ] f d \] e X g \ \Y
�Chiffrement p \ g XY \Y ^ ] X] ^ b o XY^ h X XYd [ hf c ] f b c a bYq bY Y f ^ \] g X Y fa b g \ gd ] f b \] e X g \ \Y Y b \ Y Z h b^ \ k] d d h^ gk
�
rst uv wxy z{| z u} ~ } { z rs�� y� t y } x ~s � ut ~y� t y �| y z zy �� xy� xy �y � uv {t x
25 Anas Abou El Kalam
Chiffrement de CESAR (60~50 av JC)
�principe
�
� � � � � �� �� � � � �� � �� � �� � � � � �� � � � � � � � �� � � � � � � � � � � �� �
�
�� � �� �� � � � � � � � �� � � � �� � � � � � � � � � � �� � �� �� � � � � � ��� � � � � � � �� � � � � �� �
�
�� � �� � � � � � � � � � � �� � � � � �� �� �� �� � � � �� � �
�
� � � �� � � �� � � �� � � � � �� � �� � � �� � � � � � !� � � � � �� � �� � � � � �� ��" #$ #% " & � � �
�
' � � � � � � � � � � � � � � � � �� � �� � � �� � � � �� � �� � � �� � � � � �� � (� � � ) ) � �� � � �� � �� � � � � � � � � � �� � � � �� � � � � � � � � � � � � � ) ) � � � � � � �� � � � � � *+ �
�
,� �� � � � � � � � �� � � � � � � � �� � � � �� � �� � � � � � � � � � � � �� � � � � � � � �� � �� �� � � � � ) ) � � � � � � � ��- � � �� � �
�
# �� � � �� � � � � � � � � � � � �� �� � � � ! ./0 � � �� � � � � � � � � � � ��
� inconvénient
�
� � � � � � � � � - �� �� �� � �
�
� � � � � � )� � � � � � � � �� �� � �� � � � �� � � �� � � �� � � �� � � � ��
26 Anas Abou El Kalam
Autres exemples
Chaque lettre d'un messages est remplacée par une lettre différente.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
message : LANCE LES MISSILES
message chiffré : ODQFH OHV PLVVLHV
Le carré de Polybe (~150 av JC)
ZYXWV5
UTSRQ4
PONML3
KI-JHGF2
EDCBA1
54321
Chaque lettre est codée par deux
chiffres exemple X=53
27 Anas Abou El Kalam
Substitution Poly-apphabétique
� «�t�» permutations : «�t�» permutations : ΠΠ11 .. .. ΠΠtt
– M = m1>mn
– On applique Π1 à m1, >... Π1 à mn,,
– puis on continue cycliquement Π1 à mt+1, Π2 à mt+2 >>
– C=E Π1 .. Πt (m) = Π1(m1) .. Πi[t](mi) >. Πn[t](mn)
• i[t] = i mod t si i mod t ≠ 0 et t si i mod t = 0 � Exemple : «�système de vigenière�Exemple : «�système de vigenière�; 19; 19èmeème »»
Πi étaient des décalages circulaires
– Le décalage correspondant à chaque permutation était indiqué par une lettre
– « EXEMPLEEXEMPLE » � – t=7
Π1 est décalage 4 position (car E est situé à 4 positions de 1)
Π2 est décalage de 23
– > 28 Anas Abou El Kalam
Chiffrement de vigenère 1Quoi ?1 23 4 45 6 789 :; <= 9 >?@ @ 7 :5A 65 B : C8 DE F ? = E G? = ? 8 5 E A 5 6= 5 @ B= E 8 = 3 A H E 5
Pourquoi ?1 B9 = = ? 5 : B I= 45 > 5 2 789 :J E A 5 = 5 G G :5 B E ? 8 8 5 K G :5 63 > 7 5 > F E A 5 8 5 E = 5 @ 9 L3 A M
Chiffrement63 > 5 : E A G5N G5 9 O5 6 E A 43 G 5A 9 P 3 E G9 A G < 6 Q9 6 E A 5 > 5 8 5 8 = 5 G G :5 8 = 9 = 5 G G :5 > F E A9 E G :5 43 G9 B B 5 = 7 6= 7 MR9 6= 7 5 8 G9 P 3 E G 7 5 ?A > 7@ ?A ? 45A G 5A O? 8S <S O? 8 9 O5 6= 5 G5N G5 < 6 Q?@ @ :5 : ;
29 Anas Abou El Kalam
Crypto-système de vigenère
30 Anas Abou El Kalam
Keyword: RELAT IONSR ELATI ONSRE LATIO NSREL
Plaintext: TOBEO RNOTT OBETH ATIST HEQUE STION
Ciphertext:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
Crypto-système de Vigenère (…)
Keyword: RELAT IONSR ELATI ONSRE LATIO NSREL
Ciphertext: KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
Plaintext: TOBEO RNOTT OBETH ATIST HEQUE STION
Chiffrement
Déchiffrement
Keyword: RELATIONS
Plaintext: TO BE OR NOT TO BE THAT IS THE QUESTION
31 Anas Abou El Kalam
Crypto-système de vigenère ...
32 Anas Abou El Kalam
Crypto-système de vigenère ...
33 Anas Abou El Kalam
Le cylindre de Jefferson (1790)-
•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.
34 Anas Abou El Kalam
E-IGMA
35 Anas Abou El Kalam
Schéma simplifié E-IGMA
L'opérateur devait 1- Effectuer des branchements de lettres A/L P/R T/D B/W K/F O/Y2- Régler le brouilleur : 2 3 13- Orienter le brouilleur : Q C W
L'opérateur tape B et obtient D36
Anas Abou El Kalam
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• 25 Juillet 1939 : les Français et les anglais sont mis au courant
des travaux des polonais• http://home.us.net/~encore/Enigma/enigma.html• http://www.codesandciphers.org.uk/enigma/enigma2.htm
37 Anas Abou El Kalam
Centre de décryptage anglais (jusqu’à 12 000 personnes)Personnel formé de nombreux mathématiciens, joueursd’échecs, etc. Tous soumis au secret absolu.Türing, Welchman, etc. construisent eux aussi des machines àdécrypter, ancêtres des ordinateurs.Une énorme quantité de messages allemands (surtout de laLuftwaffe) sont lus pendant toute la guerre. Les décryptementssont jalousement protégés (ULTRA), jusqu’en 1973 !
Blechtley Park
Alan TüringMarian Rejewski38
Anas Abou El Kalam
La machine Colossus
39 Anas Abou El Kalam
Chiffrement par symboles de substitution
A B C
D E F
G H I
J
K L
M
N O P
Q R S
T U V
W
X Y
Z
message : LANCELESMISSILES
message chiffré :
40 Anas Abou El Kalam
Le chiffre de Hill
� idée �ne plus coder lettres par lettres, mais de coder simultanément des groupes de m lettres!
�Bien sûr, plus m est grand, plus les analyses statistiques deviennent difficiles!
� Comment ? � 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=aax1+bbx2
� y2=ccx1+ddx2
� Le choix de la clé correspond ici au choix d'un nombre m, et au choix des
combinaisons linéaires à effectuer (ce sont toujours les mêmes de blocs en blocs).
41 Anas Abou El Kalam
Le chiffre de Hill : exemple
�coder le mot ELECTION avec le chiffre de Hill, pour m=2, a=3, b=5, c=1 et d=2. � Etape 1 : On partage en blocs de 2 : EL EC TI ON.
�Etape 2 : On remplace les lettres par leur nombre associé : 4-11 | 4-2 | 19-8 | 14-13.
�Etape 3 : combinaisons linéaires pour chaque bloc. E.g., pour le 1er bloc (x1=4, x
2=11)
� y1=3×4+5×11=67.
� y2=1×4+2×11=26.
De même, y3=22, y
4=8, y
5=97, y
6=35, y
7=107, y
8=40.
� Etape 4 : restes modulo 26: z1=15, z
2=0, z
3=22, z
4=8, z
5=19, z
6=9, z
7=3, z
8=14.
� Etape 5 : On reconvertit en lettres, pour trouver PAWITDJO.
42 Anas Abou El Kalam
Le chiffre de Hill
�Déchiffrement � 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
en fonction de x1 et x
2, il faut pouvoir l'inverser et exprimer y
1 et y
2 en fonction de x
1 et x
2
�Remarques : �le premier E de ELECTION est transformé en P,� tandis que le second est transformé en W. � Le critère des chiffrements polyalphabétique est bien respecté : les analyses
statistiques directes sur la fréquence des lettres sont impossibles.
43 Anas Abou El Kalam
Confidentialité parfaite
� Le message chiffré ne Le message chiffré ne révèle rien du texte en révèle rien du texte en clair clair (mis à part peut être la taille du
texte en clair)
� Théorème de Shannon Théorème de Shannon “la confidentialité parfaite n’est réalisable que si l’ensemble des clés est au moins aussi grand que l’ensemble des textes en clair.”
=> la clé doit être aussi longue que le message, et ne doit être utilisée qu’une fois.
=> théorique...
� Exemple : système à Exemple : système à masque jetable - masque jetable - Gilbert Gilbert Vernam et Joseph Vernam et Joseph MauborgneMauborgne– Texte en clair : BONJOUR– Clé secrète (aléatoire) :
LDYKGRR– Message chiffré : NSMUVMJ
– Sans connaître la clé, NSMUVMJ peut aussi bien vouloir dire VANILLE (RRYLJAE) ou ATTAQUE (MYSTERE)
� En informatique : OU En informatique : OU EXCLUSIF binaire.EXCLUSIF binaire.
44 Anas Abou El Kalam
Comment “casser” * ?
� Déterminer la langue dans laquelle le Déterminer la langue dans laquelle le message est écritmessage est écrit
� Type de système utilisé ? Type de système utilisé ? – Transposition : même fréquence de chaque lettre que
dans la langue– Substitution monoalphabétique : des fréquences
différentes– Substitution polyalphabétique : toutes les lettres ont (quasi)
la même fréquence� Essayer de trouver la clé du systèmeEssayer de trouver la clé du système� Exploiter une faille de l’algorithmeExploiter une faille de l’algorithme
– Génération de clés prédictible, trappe secrète ...� Analyse de traficAnalyse de trafic
45 Anas Abou El Kalam
Cryptanalyse : recherche exhaustive
� On dispose seulement du texte chiffré, et on On dispose seulement du texte chiffré, et on essaie toutes les clés possibles pour déchiffreressaie toutes les clés possibles pour déchiffrer
� Souvent trop longue à moins d’utiliser des Souvent trop longue à moins d’utiliser des configurations matérielles énormesconfigurations matérielles énormes
� pour le D.E.S (longueur clé = 56 bits) il faut pour le D.E.S (longueur clé = 56 bits) il faut essayer en moyenne 2essayer en moyenne 25555 clés clés
• DES Cracker de EFF (1998) : 1536 processeurs, $200.000 : 4 jours• Distributed.Net (1999) : 100.000 machines, 23 heures
46 Anas Abou El Kalam
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
même langue, de la longueur d'un feuillet environ, et de compter
alors les apparition de chaque lettre. ous appellerons la lettre
apparaissant le plus souvent la "première", la suivante la "deuxième",
la suivante la "troisième", et ainsi de suite pour chaque lettre figurant
dans le texte.
Ensuite nous nous reportons au texte chiffré que nous voulons éclaircir
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
La cryptanalyse statistique (~9 siècle)
47 Anas Abou El Kalam
Défaut de ce système : Le cryptogramme doit être suffisamment long
pour avoir des moyennes significatives. De plus, chaque langue
dispose de fréquences différentes : il faut donc avoir sous les yeux
les fréquences de toutes les langues si on ne connaît pas l'origine du
message.
La cryptanalyse statistique
48 Anas Abou El Kalam
Cryptanalyse différentielle
� Proposée par Adi Shamir et Eli Biham (1990) Proposée par Adi Shamir et Eli Biham (1990)
� FonctionnementFonctionnement
– On suppose que l’on dispose d’une « boîte noireboîte noire » permettant de
chiffrer des textes en clair (la clé utilisée étant la même, mais inconnue)
• é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 : Exemples :
– Pour le DES : choisir 247 textes en clair>
49 Anas Abou El Kalam
Cryptanalyse linéaire
� Proposée Mitsuru Matsui (1994)Proposée Mitsuru Matsui (1994)
� Fonctionnement :Fonctionnement :
– Analyse générale portant sur un grand nombre de couples (texte en clair, texte chiffré), mais sans avoir besoin de les choisir.
– Etablir une équation linéaireéquation linéaire entre certains bits du texte en clair et certains du texte chiffré : attaque à texte clair connu.
� Exemple :Exemple :
– D.E.S : utiliser 243 couples, on trouve 26 bits des 56 bits de la clé par cette attaque.
50 Anas Abou El Kalam
Cryptanalyse suite*
� Attaque à chiffre seulAttaque à chiffre seul
– Attaquant ne connaît que le chiffré et cherche le clair et si possible la clé
• Voir chiffrement par substitution
� Attaque à clair connuAttaque à clair connu
– Attaquant connaît un ou plusieurs couples clair-chiffré, et cherche la clé
• Voir chiffrement par transposition (linaire).
� Attaque à clair choisiAttaque à clair choisi
– Semblable à précédente + attaquant peut choisir les clairs de façon à ce que son attaque réussisse avec une meilleure proba
� Adaptative si choix peuvent être faites en fonction des résultats des attaques sur les couples précédents
� Attaque à chiffré choisiAttaque à chiffré choisi
51 Anas Abou El Kalam
La Cryptographie
symétrique
moderne
52 Anas Abou El Kalam
D.E.S, Triple D.E.S, A.E.S� D.E.SD.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>)
� Triple D.E.STriple D.E.S– Utilise 2 ou 3 clés différentes2 ou 3 clés différentes de 56 bits chacune– Modes : EEE3, EDE3, EEE2, EDE2 ; une préférence pour le EDE3.
� A.E.SA.E.S– Concours lancé par le NIST (National Institute of Standards and Technology)– 15 participants– Octobre 2000 : gagnant RIJNDAEL
• Vincent Rijmen et Joan Daemen• Algorithme de chiffrement par blocs.
53 Anas Abou El Kalam
DES
54 Anas Abou El Kalam
• CChiffrement par blocshiffrement par blocs • Découpe le texte clair en blocsblocs de 64 bits64 bits (8 octets)• Code les blocs séparément, • Les concatène.
• AAlgorithme assez simplelgorithme assez simple
• ne combine que des permutationspermutations et des substitutionssubstitutions
• AAlgorithmelgorithme à clef secrèteà clef secrète • La clef sert à la fois à chiffrer et à déchiffrer message• Longueur de 64 bits64 bits (8 caractères),
• mais seulement 56 bits sont utilisés.
DES
55 Anas Abou El Kalam
• FractionnementFractionnement du texte en blocs de 64 bits (8 octets)• PermutationPermutation initiale des blocs• DécoupageDécoupage des blocs en deux parties: G et D• Permutations et substitutions répétées 16 fois (rondesrondes)• RecollementRecollement des parties gauche et droite • PermutationPermutation initiale inverse
DES
56 Anas Abou El Kalam
• La clef K (64 bits) est utilisée pour générer 16 autres clefs de 48 bits chacune (K0, .., K15) • Ki est utilisée à l’itérations i (rounde).
• Ces clefs sont les mêmes ∀ le bloc qu'on code dans un message.
DES
• La sécurité de DES repose sur ses tables de substitutions• Nombre de clefs possibles est (256=7,2*1016)
•Algorithme relativement facile à réaliser matériellement • certaines puces chiffrent jusqu'à 1 Go de données /s
57 Anas Abou El Kalam
Permutations initiales
� Chaque bit d'un bloc est soumis à la permutation initiale, pouvant être représentée par une matrice
� Exemple :– le 58ème bit du bloc de texte
de 64 bits se retrouve en première position, le 50ème en seconde position et ainsi de suite.
PI
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
58 Anas Abou El Kalam
Scindement en blocs
� Une fois la permutation initiale réalisée, le bloc de 64 bits est scindé en deux blocs de 32 bits,
notés respectivement G0 et D0 – G0 contient tous les bits
possédant une position paire dans le message initial,
– D0 contient les bits de position impaire.
G0
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
D0
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
59 Anas Abou El Kalam
Rondes� Les blocs G
n et D
n sont soumis à un ensemble de
transformation itératives appelées rondes
DDn+1n+1 = Gn ⊕ EKn(Dn)
GGn+1n+1 = Dn
Ronde nRonde n
60 Anas Abou El Kalam
Génération des clefs � Initialement les 64 bits de la clef DES sont réduits à 56 bits (ignorer bits parité)� Une clé de 48 bits différentes est engendrée pour chaque ronde du DES
– D’abord la clé de 56 bits est divisée en 2 moitiés de 28 bitsD’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 Ensuite les moitiés sont décalées vers la gauched’une ou deux positions en fonction de
la rondela ronde– Le nombre de bits de décalage est donné par le tableauLe nombre de bits de décalage est donné par le tableau
122222122222211Nbre décalage
16
15
1312
11
10987654321Ronde
� 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
61 Anas Abou El Kalam
Permutation expansive
• le dernier bit de D0 (32ème) devient le premier,
• le premier devient le second, …• les bits 1,4,5,8,9,12,13,16,17,20, 21, 24,25,28
et 29 de D0 sont dupliqués et disséminés dans la
matrice• par ex : Le premier bits sera copié dans le
deuxième et le 64ème bits
E
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
� La moitié droite est étendue de 32 à 48 bits– Change l’ordre de certains bits et répète certains bits
� Pourquoi ?– 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
l’opération de substitution
62 Anas Abou El Kalam
Permutation expansive
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 8 9 10 11 121314151617 18 19 20 21 22 23
32
48
63 Anas Abou El Kalam
� 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
� 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� Les 48 bits d’entrée sont divisés en blocs de 6 bits� Chaque bloc est manipulé séparément par une table-S différente
Entrée de 48 bits
Sortie de 32 bits
Table S-1 . . . . . Table S-2 Table S-8
•Exemple de Table-S : S-6
1380671141110155912234
6111311040731282515149
8311014131659127241510
1157144313086291510112
Substitution par tables-S
64 Anas Abou El Kalam
DES, suite *
� OU exclusifOU exclusif entre la première clé entre la première clé KK11 et et EE[[DD00]]
� Fonction de substitution Fonction de substitution
– D0 est scindé en 8 blocs de 6 bits, noté D0i. Chacun de ces blocs passe par des
fonctions de sélectionfonctions 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 regroupés pour former un bloc de 32 bits.
� Permutation Permutation
– Le bloc de 32 bits obtenu est enfin soumis à une permutation P
� OU Exclusif OU Exclusif
– 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
� Itération (16 fois)Itération (16 fois)
� Permutation initiale inverse Permutation initiale inverse
– A la fin des itérations, les deux blocs G16 et D16 sont "recollés, puis soumis à la
permutation initiale inverse
65 Anas Abou El Kalam
Les caractéristiques du DES.
1. Tous les bits de C dépendent de tous les bits de M
2. Effet d'avalanche:
� Une légère modification de M entraîne une grande
modification de C
� (en moy. 32 bits différents/bit de M modifié).
� Le même effet est obtenu en modifiant la clé.
66 Anas Abou El Kalam
� Le DES est un algorithme de chiffrement par blocsblocs
� L'opération de chiffrement s'effectue sur des blocs de texte clair (ex: pour le DES -blocs de 64 bits64 bits)
� Dans le cadre d'une implémentation pratique, l'algorithme 'pur' est combiné à une série d'opérations simples en vue d'améliorer la sécurité sans pour autant pénaliser l'efficacité de l'algorithme.
� Cette combinaison est appelée un mode cryptographique.
Les modes du DES
67 Anas Abou El Kalam
Sécurité:
- Effacement des formats standards (ex. l'introduction d'un texte).- Protection contre la modification de C.- Chiffrement de plusieurs messages avec la même clé.
Efficacité:
- L'utilisation d'un mode cryptographique ne doit pas pénaliser l'efficacité du cryptosystème.- Limitation de la propagation des erreurs qui apparaissent dans M ou C.
Les modes du DES (6)
68 Anas Abou El Kalam
A quel point le DES est sûr ?
• 1993 : Une attaque par une machine spécialement conçue (1M$) prend 3-5 heures en moyenne
• Difficile de résister à une technique de cryptanalyse différentielle
lorsque le texte clair est chiffré avec la même clé
• W. Schwartau a écrit que la NSA a construit une machine CRAY
1980 basée sur des algorithmes statistiques, clés probables (3-15mn)
• Recommandation : utiliser des tables S-Box dépendant de la clé
69 Anas Abou El Kalam
Faiblesses du DES
� Les S-boxesS-boxes qui pourraient contenir des failles.� La taille de la clé
� 1990 : Eli Biham et Adi Shamir ont mis au point la cryptanalyse cryptanalyse différentielledifférentielle qui recherche des paires de texte en clair et des paires de texte chiffrées.
� Cette méthode marche jusqu'à un nombre de rondes < 15
� ++ processeurs permettent de calculer plus de 106 clés par seconde– utilisés parallèlement sur un très grand nombre de machines, il devient possible de trouver la bonne clé ...
Le triple DES : pourquoi ?
70 Anas Abou El Kalam
Le triple DES : pourquoi ?
�Augmenter la sécurité du DES sans réécrire un nouvel algorithme
� Une attaque brutale devrait tester 2 112 clés possibles
� 3DES3DES : chaîner trois chiffrement DES à l'aide de deux clés de 56 bits (clé de 112 bits) � Augmenter sécurité– Mais demande également plus de ressources pour les
chiffrement et le déchiffrement
� On distingue plusieurs types de chiffrement triple DES : – DES-EEE3 EEE3 : 3 chiffrements DES avec 3 clés différentes ;
– DES-EDE3EDE3 : une clé différente pour chacune des 3 opérations DES (chiffrement, déchiffrement, chiffrement) ;
– DES-EEE2EEE2 et DES-EDE2EDE2 : une clé différente pour la seconde opération (déchiffrement).
71 Anas Abou El Kalam
IDEA
72 Anas Abou El Kalam
IDEA� L'International Data Encryption AlgorithmL'International Data Encryption Algorithm ( (IDEAIDEA) a été proposé en ) a été proposé en
1992 pour remplacer le DES. 1992 pour remplacer le DES.
� UUtilise une clé de tilise une clé de 128128 bits bits
� RRéalise un chiffrement par éalise un chiffrement par blocs de 64 bitsblocs de 64 bits, en opérant , en opérant 8 rondes8 rondes
d'une même fonctiond'une même fonction
� UUtilise seulement 3 opérations (pas de permutations!!): tilise 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 particulièrement adapté aux réalisations logicielles (même sur
processuers 16 bits). processuers 16 bits).
� IDEAIDEA constitue la partie "cryptographie à clé secrète" constitue la partie "cryptographie à clé secrète" dede PGP PGP
73 Anas Abou El Kalam
IDEA
� Le texte est découpé en blocs de 64 bits, redivisés Le texte est découpé en blocs de 64 bits, redivisés
en en
quatre sous-blocs de 16 bits : X1, X2, X3, X4. quatre sous-blocs de 16 bits : X1, X2, X3, X4.
� La clé K est La clé K est
– divisée en 8 blocs de 16 bits, puis
– décalées circulairement sur la gauche de 25 bits, et
– redivisée, et ainsi de suite jusqu'à obtenir 52 clés.
– 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.
74 Anas Abou El Kalam
IDEA� Etape1 = X1 * K1 Etape1 = X1 * K1
Etape2 = X2 * K2 Etape2 = X2 * K2
Etape3 = X3 * K3 Etape3 = X3 * K3
Etape4 = X4 * K4 Etape4 = X4 * K4
Etape5 = Etape1 XOR Etape3 Etape5 = Etape1 XOR Etape3
Etape6 = Etape2 XOR Etape4 Etape6 = Etape2 XOR Etape4
Etape7 = Etape5 * K5 Etape7 = Etape5 * K5
Etape8 = Etape6 + Etape7 Etape8 = Etape6 + Etape7
Etape9 = Etape8 * K6 Etape9 = Etape8 * K6
Etape10 = Etape7 + Etape9 Etape10 = Etape7 + Etape9
75 Anas Abou El Kalam
IDEA� Etape11 = Etape1 XOR Etape9 => X1 de la ronde suivanteEtape11 = Etape1 XOR Etape9 => X1 de la ronde suivante
� Etape12 = Etape3 XOR Etape9 => X3 de la ronde suivanteEtape12 = Etape3 XOR Etape9 => X3 de la ronde suivante
� Etape13 = Etape2 XOR Etape10 => X2 de la ronde suivanteEtape13 = Etape2 XOR Etape10 => X2 de la ronde suivante
� Etape14 = Etape4 XOR Etape10 => X4 de la ronde suivanteEtape14 = Etape4 XOR Etape10 => X4 de la ronde suivante
� Pour finir, on applique une étape supplémentaire aprèsla Pour finir, on applique une étape supplémentaire aprèsla
huitième ronde : huitième ronde :
– C1 = X1 * K1
– C2 = X2 + K2
– C3 = X3 + K3
– C4 = X4 * K4
� Les 4 blocs C1, C2, C3, C4, forment alors le Les 4 blocs C1, C2, C3, C4, forment alors le
message chiffré. message chiffré. 76
Anas Abou El Kalam
AES
77 Anas Abou El Kalam
A.E.S (1)
� Algorithme à clé secrète :Algorithme à clé secrète :– Clés de 128, 192 ou 256 bits
� Algorithme de chiffrement par Algorithme de chiffrement par blocs :blocs :– Blocs de 128 bits– Traitement itératif de ces blocs en fonction
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
les inverses dans le corps fini 28• Une sous-clé générée initialement à partir de
la clé secrète.
78 Anas Abou El Kalam
A.E.S : génération des sous-clés (2)
S-Box
Constante(i)
Sous-clé numéro i
Sous-clé numéro i-1
•Initialisation : La sous-clé numéro 0 est la clé secrète.
•On génère (Nb itérations + 1) sous clés
79 Anas Abou El Kalam
10, 12 ou 14 itérations
A.E.S : traitement des blocs (3)
� InitialisationInitialisation– Le bloc de 128 bits (=16 octets) est
recopié verticalement dans un tableau « d’état » 4x4
– XOR avec la sous-clé numéro 0
� Itérations (10, 12 ou 14 fois) sur Itérations (10, 12 ou 14 fois) sur le tableau d’état :le tableau d’état :– ConfusionConfusion : substitution indépendante
sur chaque bloc, basée sur les inverses dans le corps fini 28
– Décalage des trois dernières lignes suivant un pas différent
– DiffusionDiffusion : multiplication polynomiale des colonnes
– XOR avec la sous-clé numéro i
� Lecture du résultat final dans le Lecture du résultat final dans le tableau d’état.tableau d’état.
Initialisation
Obtention du résultat
K0
80 Anas Abou El Kalam
Les atouts de l’A.E.S (4)
� RobustesseRobustesse– Il existe beaucoup plus de clés possibles :
• 2128 clés de 128 bits contre 256 clés pour le DES, soit environ 1021 fois plus de solutions>
– Aucune clé « faible » n’est connue actuellement : toutes les clés sont utilisables
– Résistance à la cryptanalyse différentielle et linéaire
� Implémentation facileImplémentation facile– Calculs simples sur les octets :– Facilité d’implémentation hardware (cartes à puce>) et
software– Flexibilité d’implémentation : plusieurs longueurs de clés
81 Anas Abou El Kalam
Les clés secrètes ... en pratique
� Les algorithmes à clés secrètes sont Les algorithmes à clés secrètes sont réellement utilisés dans la pratiqueréellement utilisés dans la pratique– on utilise toujours de multiples transpositions combinées à
de multiples substitutions– l’implémentation des algorithmes à clé secrète est
généralement assez rapide– D.E.S, Triple D.E.S, Blowfish, RC4, AES >
Chiffrement à clé secrète, parfait ?Chiffrement à clé secrète, parfait ?
Reste le problème crucial de la distribution de la clé secrète !Reste le problème crucial de la distribution de la clé secrète !
82 Anas Abou El Kalam
Comparaison entre algorithmes
0
20
40
60
80
100
120
Blowfish DES IDEA Triple
DES
Nb de cyclesd'horloge / bitchiffré
Sur un Pentium 150
Source http://www.counterpane.com/speed.html
83 Anas Abou El Kalam
Chiffrement “sans clés”
� La transmission d’une clé secrète pose un problème ! La transmission d’une clé secrète pose un problème ! Et … si on n’en utilise pas ? Et … si on n’en utilise pas ? – Concevoir une machine dédiée au chiffrement/déchiffrement– ou concevoir un algorithme de chiffrement/déchiffrement complexe
� La confidentialité repose sur l’algorithme ou la machine La confidentialité repose sur l’algorithme ou la machine utiliséeutilisée– il faut assurer la sécurité physique de la “machine à chiffrer” – il faut garder la confidentialité de l’algorithme utilisé
� Le chiffrement “sans clés” ne résout rien …Le chiffrement “sans clés” ne résout rien …– en fait, la machine / l’algorithme deviennent une clé du cryptosystème>
“Machine à chiffrer” ou algorithme (complexe) de chiffrement
Texte chiffré
84 Anas Abou El Kalam
chiffrement Symétriques
� Un algorithme symétrique de chiffrement utilise la même clé pour chiffrer et déchiffrer (KC = KD).
– Aussi appelé algorithme à clé secrète– clé secrète notée KAB, si elle est partagée entre A et B, ou simplement K
A
B C
KAB
KAB
KBC
KBC
• Le nombre de clés Bernard, Alice, Daniel = 3 clés
Bernard, Alice, Daniel, Carole, Eric = 10 clés
85 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique
– le futur : courbes élliptiques, cryptographie quantique
� AuthentificationAuthentification– Introduction : objectifs, définitions– Fonctions de hashage– Scellement, signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
86 Anas Abou El Kalam
� la cryptographie à clés publiques est récente.� 1976 : Diffie et Hellman, � 1977 : RSA par Rivest, Shamir et Adleman � Il y a eu d’autres propositions de schémas à clefs publiques, comprenant le cryptosystème ElGamal et les cryptosystèmes basés sur les courbes elliptiques.
Cryptographie à clés publiques
� Pblème principale de la crypto symétrique� Distribution de la clé « secrète » !!
87 Anas Abou El Kalam
Diffie - HellmannDiffie - Hellmann
88 Anas Abou El Kalam
Idée Diffie- Hellmann
89 Anas Abou El Kalam
Diffie - Hellmann (1)
� Algorithme à clé publique inventé en 1976Algorithme à clé publique inventé en 1976
� Objectif :Objectif :Permet l’échange d’une clé secrète sur un domaine non
sécurisé, sans disposer au préalable de secret
� Utilisation :Utilisation :entre autres, dans SSL/TLS (Netscape)
� Repose sur : Repose sur : – connaissant ggaa mod p mod p et ggbb mod p mod p,
�il est très difficile d’en déduire aa et bb.
90 Anas Abou El Kalam
Diffie - Hellmann (2)
� Privé :Privé :– aa pour Alice– bb pour Bob
� Public : Public : – pp : nbre premier– GG: appelé générateur
– clé publique d’Alice– clé publique de Bob
partagé)(secret modmod)(mod)(
mod)( calcule Bob
mod)( calcule Alice
publiques clés des Echange
(public) mod calculeet 1-p(privé) b génère Bob
(public)mod calculeet 1 (privé) a génère Alice
mod/,11,
kpgpgpg
pg
pg
pg
pgp
pngkpnn
abbaab
ba
ab
b
a
k
===
<
−<
=∃−<≤∀
- Algorithme -
91 Anas Abou El Kalam
DH : un exemple
AliceAlice BobBob p = nombre premier arbitraire g = nombre aléatoire inférieur à p
Ax = nombre aléatoire (privé)
Ay = g ^ Ax % p
s = By ^ Ax % p
By
Ay
Bx = nombre aléatoire (privé)
By = g ^ Bx % p
s = Ay ^ Bx % p
By
Ay
Échange donnéesChiffrées avec
s
92 Anas Abou El Kalam
DH : un exemple
AliceAlice BobBob p = nombre premier arbitraire = 419g = nombre aléatoire inférieur à p = 7Ax = nombre aléatoire (privé)
178 Ay = 7 ^ 178 %419
s = 351 ^ 178 % 419= 493
351
181
Bx = nombre aléatoire (privé)344 By = 7 ^ 344 %419 = 351
s = 181 ^ 344 % 419 = 493
351
181
Échange donnéesChiffrées avec
ss
NBNB : Contrairement à RSA, il ne permet pas de signer des documents.Diffie-Hellman est souvent associé à DSS
93 Anas Abou El Kalam
Diffie - Hellmann (3)
� Attaque “sandwich” (man-in-Attaque “sandwich” (man-in-the-middle attack) :the-middle attack) :
– Carole intercepte le message d’Alice et remplace ga mod p par sa propre clé publique gc mod p, et l’envoie à Bob.
– Carole intercepte la réponse de Bob, et remplace gb mod p par gc mod p, et l’envoie à Alice.
– Alice et Bob croient converser entre eux, alors que tout passe par Carole !
Alice
Bob
Carolegc mod p
ga mod p
gb mod p
gc mod p
ga mod pgb mod p
94 Anas Abou El Kalam
Chiffrement asymétrique
� Deux clés différentes : une privée, une publiqueDeux clés différentes : une privée, une publique– une solution au problème de distribution de clé secrète des
algorithmes symétriques
� Reposent sur des problèmes dits “difficiles” de Reposent sur des problèmes dits “difficiles” de mathématiquesmathématiques– algorithmes inventés en 1976
Texte chiffré
Clé publique Clé privée
95 Anas Abou El Kalam
Définitions
� Fonction à sens uniqueFonction à 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èteFonction à brèche secrète– très difficile à inverser SI on ne connaît pas le secret (mais
l’inversion est possible)– exemple : f(a) = ab mod n, inverse = racine bième faisable si
on connaît la décomposition en facteurs premiers de n.
96 Anas Abou El Kalam
RSA
97 Anas Abou El Kalam
Algorithme R.S.A (1)
� Inventé en 1977 par Inventé en 1977 par RRivest, ivest, SShamir et hamir et AAdlemandleman
� Utilise une fonction à Utilise une fonction à brèche secrètebrèche secrète– factorisation de nombres
premiers.� Parmi les plus utilisésParmi les plus utilisés� Sécurité :Sécurité :
– Le RSA à clé de 512 bits a récemment été cassé, mais ce n’est pas à la portée de tout le monde.
– Incassable actuellement sur du 768 ou 1024 bits.
98 Anas Abou El Kalam
Algorithme R.S.A (2)
� p et q deux p et q deux nombres nombres premierspremiers distincts distincts
� Modulo : Modulo :
– n=pqn=pq
� Exposant public :Exposant public :
– e premier avec (p-1)(q-1)
� Clés :Clés :
– clé publique : (n,ee) – clé privée : (n,dd)
• p, q restent secrets, ils permettent de calculer d
mn
mmn mmnmm
qpeddd
cnm
d
eded
ee
=
=<≤∀
=−−
=
modc
:ent déchiffrem de Algorithme
mod,0,
:Euler d' Théorème
1)1)(1mod(tq
:PGCD) (Algo Euclide
mod
:t chiffrement de Algorithme
99 Anas Abou El Kalam
RSA : un exemple
� 2 nombres premiers au hasard: p = 29, q = 37� calcul nn = pq = 29 * 37 = 1073
� choisir ee au hasard tq e n'ai aucun facteur commun avec (p-1)(q-1) = 1008
� On prend e = 71
� On choisit dd tel que 71*d mod 1008 = 1 � d = 1079
On a maintenant nos clés :On a maintenant nos clés :
� La clé publique est (ee, nn) = (71,1073) (=clé de chiffrement)
� La clé privée est (dd, nn) = (1079,1073) (=clé de déchiffrement)
100 Anas Abou El Kalam
RSA : Chiffrer « hello »
� Prendre le code ASCII des caractères m = 72 69 76 76 79
� Découper m en blocs qui comportent - de chiffres que n. (n comporte 4
chiffres), � Découper m en blocs de 3 chiffres: 726 976 767 900 (on complète avec
zéros)
� ChiffrerChiffrer chacun de ces blocs: « c = Mc = Mee mod(n) mod(n) »726^71 mod 1073 = 436 976^71 mod 1073 = 822
767^71 mod 1073 = 825 900^71 mod 1073 = 552
Le message chiffré est 436 822 825 552.
• DéchiffrerDéchiffrer (avec d) : M = MM = Me*de*d mod(n) = c mod(n) = cdd mod(n) mod(n) 436^1079 mod 1073 = 726 822^1079 mod 1073 = 976
825^1079 mod 1073 = 767 552^1079 mod 1073 = 900
� 726976767900.
�retrouver notre message en clair 72 69 76 76 79 : 'HELLO'.
101 Anas Abou El Kalam
Algorithme R.S.A (3)
� Cryptanalyse (on connaît n et e) :Cryptanalyse (on connaît n et e) :– arriver à factoriser n en facteurs premiers.– ou calculer la racine eième de c >
� Choix de p et q :Choix de p et q :– p et q doivent être voisins– la factorisation en nombre premiers est d’autant plus difficile que (p-1) et
(p+1) ont des facteurs premiers élevés.– Il n’y a aucun risque de tomber à court de nombres premiers
� Longueurs de clés :Longueurs de clés :– ne pas comparer avec les longueurs de clés d’algorithmes à clés
secrètes.
102 Anas Abou El Kalam
� Décomposition d'un nombre à 155 chiffres (512 bits) en produit de deux nombres premiers de 78 chiffres :
• Août 1999• 300 PCs et stations• 12 sites dans 6 pays.
RSA-155 =109417386415705274218097073220403576120037329454492059909
138421314763499842889347847179972578912673324976257528997
81833797076537244027146743531593354333897
écrit comme le produit de deux nombres premiers de 78 chiffres:
102639592829741105772054196573991675900716567808038066803
341933521790711307779
**
106603488380168454820927220360012878679207958575989291522
270608237193062808643
Record RSA
103 Anas Abou El Kalam
EL GAMAL
104 Anas Abou El Kalam
El Gamal � Publié par Publié par El GamalEl Gamal en 1987 (Cf. gnuPG) en 1987 (Cf. gnuPG)� Clé privée (secrète) : Clé privée (secrète) : ss� Clé publique : (p, g, y)Clé publique : (p, g, y)
– pp, entier premier de grande taille.– gg, entier premier avec p.– yy = gs mod p,.
g
gybsk
skk
===
as
as
� ChiffrerChiffrer
– Découper message en blocs compris entre 0 et p-1.
– 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échiffrerDéchiffrer
105 Anas Abou El Kalam
El Gamal: un exemple
� Le destinataire, Bob, possède deux clés : Le destinataire, Bob, possède deux clés : – clé privée (secrète) : un entier ss. – clé publique (p, a, Y) tel que a premier avec p ; Y=as mod p.
� ChiffrerChiffrer
– tirer au hasard un nombre k,
– calculer : C1=ak mod p, et C2=MYk mod p.
–Le message chiffré est le couple (C1,C2),
� DéchiffrerDéchiffrer
– calculer R1=C1s mod p=ask mod p=Yk mod p.
– retrouver Yk,
– diviser Yk par C2
– retrouver M.
106 Anas Abou El Kalam
El Gamal: robustesse
• Pour retrouver M, un attaquant doit pouvoir calculer Yk, connaissant Y, a et ak. • Il doit donc découvrir k,
• Problème du logarithme discret !!
Point - �le message chiffré est deux fois plus long que le message original
Point +�Le fait d'utiliser un paramètre aléatoire k est un plus en termes de
sécurité� le même message M chiffré à 2 moments différents donnera
deux messages codés distincts!
107 Anas Abou El Kalam
512bits 768bits 1024bits
Chiffrement 0.33 s 0.80 s 1.09 s
Déchiffrement 0.24 s 0.58 s 0.77 s
Signature 0.25 s 0.47 s 0.63 s
Vérification 1.37 s 5.12 s 9.30 s
• Vitesse de ElGamal pour différentes longueurs de module
avec des exposants de 160 bits (station SPARC II)
• Brevets : ElGamal n'est plus breveté aux USAdepuis
29 Avril 1997
El Gamal: robustesse
108 Anas Abou El Kalam
Chiffrementhybride
109 Anas Abou El Kalam
Chiffrement hybride
� Chiffrement à clé secrète (symétrique) :Chiffrement à clé secrète (symétrique) :– Rapides– Problème de distribution de clés
� Chiffrement à clé publique (asymétrique) :Chiffrement à clé publique (asymétrique) :– Plus lents– Utilisés pour :
• transmettre des clés secrètes de session (Diffie-Hellmann)• ou signer (DSA)
– Quelques rares algorithmes permettent de faire les deux : RSA, El Gamal, Rabin ...
110 Anas Abou El Kalam
Chiffrement :hybride
Chiffrement
• Génération clé session• Chiffrement clé session
avec Kpub destinataire
• Chiffrer message avec
clé session
Déchiffrement• Déchiffrement clé session
par Kpriv destinataire • Déchiffrement message
avec clé session
111 Anas Abou El Kalam
Récapitulatif algo et dates de cassage
utilisateur d'Internet sous la bannière Distributed.net
200264RC51994
Antoine Joux, la DCSSI et l'UVSQ2004160SHA-01993
Xiaoyun Wang2004128MD51991
Hans Dobbertin1996128MD41990
Adam Back, Eric Young et David Byers
199540RC41987
Une équipe internationale de chercheurs
2003560RSA-5761977
une équipe internationale de chercheurs du BSI
2002160RSA-1601977
Une équipe internationale de chercheurs
1999155RSA-1401977
Par qui ?Année de cassage
TailleNomAnnée d'apparition
112 Anas Abou El Kalam
RSA Labs offre 200000$ -2048RSA-20481977
RSA Labs offre 100000$ -1024RSA-10241977
pas encore cassé-128, 192, 256
AES1999
pas encore cassé-160, 224, 256, 384
SHA-11995
pas encore cassé-131, 163, 191, 239 359
Elliptic Curve Cryptography
1985
pas encore cassé-1923DES1977
RSA Labs offre 50000$ -768RSA-7681977
RSA Labs offre 30000$ -704RSA-7041977
RSA Labs offre 20000$ -640RSA-6401977
Pas encore casséAnnée de cassage
TailleNomAnnée d'apparition
Récapitulatif algo et dates de cassage
113 Anas Abou El Kalam
Algo de chiffrement cassés
Adam Back, Eric Young et David Byers
1995 40 RC4 1987
Internet (Ecc2.com )1997 109 ECC 1985
Internet (Distributed.net et Electronic Frontier Foundation)
1997 56 DES 1976
équipe internationale de chercheurs
2003 560RSA1974
Par qui ? Année de cassage
Taille Nom Année d'apparition
114 Anas Abou El Kalam
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:
� décret 99-200 du 17 mars 1999 sur les moyens de cryptographie dispensésdispensés de
toute formalité préalable pour l'utilisateur (pas de demande d’autorisation) � logiciels dont l'algo utilise une la clé de session inférieure à 40bitsinférieure à 40bits � logiciels dont l'algo utilise une clé inférieure à 128 bits à condition que:
� l'éditeur du logiciel ait fait une déclarationdéclaration ou� logiciels utilisés dans un cadre privécadre privé exclusivement
� décret 99-199 du 17 mars 1999 sur les moyens de cryptographie nécessitant un nécessitant un
déclaration préalabledé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, ...).
115 Anas Abou El Kalam
Législation : conclusions
� il est interdit en France de se servir des logiciels qui utilisent une clé de
session supérieure à 128bits.
� Dans le cadre privé, vous pouvez utiliser n'importe quel logiciel, déclaré ou
non par l'éditeur, dès lors que la clé de session ne dépasse pas 128bits.
� Dans le cadre de l'entreprise, vous pouvez utiliser les logiciels commerciaux
de cryptographie déclarés en France,� liste sur le site du DCSSI
� Les restrictions ne concernent que la clé qui chiffre les données et donc
garantit la confidentialité des données,
� Pas de limites pour tout ce qui concerne les fonctions de signature et
d'intégrité des données.
116 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� AuthentificationAuthentification– Introduction : objectifs, définitions– Fonctions de hashage– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– Kerberos, TLS...
Plan du cours
117 Anas Abou El Kalam
Courbes elliptiques : histoire
•1975 1975 : échange de clef par Diffie–HellmanDiffie–Hellman,
• fondée sur le problème du logarithme discret dans un corps fini
•1978 1978 : RSARSA
• chiffrement et signature, fondés sur le problème de la factorisation
• cryptosystèmes à clef publique les plus répandus
•1985 1985 : ElGamalElGamal, chiffrement et signatures
• fondés sur le problème du logarithme discret dans un corps fini
•1986 1986 : Koblitz/Miller, cryptosystèmes elliptiqueselliptiques fondés sur le problème du
logarithme discret dans une courbe elliptique plus efficaces
• particulièrement intéressants pour les environnement contraints
• Cryptographie quantique :Cryptographie quantique :–canal non espionnable de photons polarisés
118 Anas Abou El Kalam
ECC : présentation (1)
� Courbe élliptiqueCourbe élliptique– courbes d ’équations y²=xy²=x33+ax+b+ax+b.– sous certaines conditions, les points de la courbe + le point 0
« infini » peuvent former un groupe.– on définit l ’opération d ’addition et de multiplication sur la
courbe.
� Durcissement des problèmes mathématiques Durcissement des problèmes mathématiques dits «�difficiles�» :dits «�difficiles�» :– utilisation de courbes elliptiques comme support.– factorisation d ’entiers : peu utilisé car difficulté du même ordre.– logarithme discret sur corps finis : très intéressant car bien plus
difficile, utilisation des corps finis F(p) (entiers de 0 à p-1 où p est premier) et F(2m) (polynôme de degré strictement inférieur à m, et de coefficients 0 ou 1) : ECDH, ECDSA...
119 Anas Abou El Kalam
Courbes élliptiques (2)
� Paramètres du système : Paramètres du système : – courbe elliptique donnée, sur un corps fini
donné, un générateur (point P)� Clé publique : Clé publique :
– le point Q = kP. Il est très difficile de trouver k connaissant Q et P.
� Clé privée : kClé privée : k� Exemple d’échange de secret :Exemple d’échange de secret :
– Alice choisit un entier secret ka, et calcule
Ap = ka P
– Bob choisit un entier secret kb et calcule Bp
= kbP
– ils s’échangent Ap et Bp
– Bpka = (kbP)ka = kb(Pka)=kbAp est le secret
échangé !Courbe y2=x3-5x+4
Source http://www.certicom.com 120 Anas Abou El Kalam
ECC : performances (3)
� Comparaison à Comparaison à un algorithme à un algorithme à clé publique clé publique «�classique�» :«�classique�» :– 160 bits ECC
équivalent à 1024 bits RSA
– 136 bits ECC équivalent à 768 bits RSA
� Challenges ECC :Challenges ECC :– ECCp-97 cassé en 53
jours avec 1200 machines
0
5
10
15
20
25
30
35
40
45
RSA-
1024
(e=3)
DSA-
1024
ECDSA-
168
Signature
Vérification
Unité : nombre de ms
sur un Pentium 200Mhz
Source CryptoBytes, Vol 4, N°1, été 1998
121 Anas Abou El Kalam
ECC : génération (4)
0
1000
2000
3000
4000
5000
6000
7000
RSA-1024
(e=3)
DSA-1024 ECDSA-
168
Génération de clé
Génération deparamètres dusystème
Génération très longue !
(recherche)
Source CryptoBytes, Vol 4, N°1, été 1998
Unité : nombre de ms
sur un Pentium 200Mhz
122 Anas Abou El Kalam
Cryptographie quantique
� Principe d’incertitude d’HeisenbergPrincipe d’incertitude d’Heisenberg– on ne peut pas espionner le canal de transmission sans
risquer de le perturber de manière non contrôlée – c’est donc une solution pour transmettre une clé secrète !
� Mise en œuvre expérimentaleMise en œuvre expérimentale– par envoi d’impulsions de photons polarisés auxquels on
donne les angles 0, 45, 90 ou 135 degrés.– un essai a été réalisé sur un canal d’une trentaine de
centimètres
123 Anas Abou El Kalam
Cryptographie quantique (2)
� Alice envoie une Alice envoie une suite de photons suite de photons polariséspolarisés– les photons peuvent
représenter les bits d’une clé secrète.
� Bob effectue des Bob effectue des mesures mesures rectilinéaires ou rectilinéaires ou diagonalesdiagonales– certains photons sont
perdus au cours du transfert
– certains sont mal analysés.
Alice
PertePerte
Mesures de Bob
Erreur d’analyse
124 Anas Abou El Kalam
Cryptographie quantique (3)
� Bob transmet à Bob transmet à Alice les mesures Alice les mesures qu’il a effectuéesqu’il a effectuées
� Alice lui indique Alice lui indique celles qui sont celles qui sont correctescorrectes
=> ces photons => ces photons servent à établir servent à établir la clé secrète la clé secrète commune à Alice commune à Alice et Bob.et Bob.
Envoie à Alice
Mesures de Bob
Ok Ok
Envoie à Bob
Premier envoiPhotons valides
Clé secrète commune à Alice et Bob
125 Anas Abou El Kalam
Cryptographie quantique (4)
� Comment Alice et Bob peuvent-ils Comment Alice et Bob peuvent-ils vérifier qu’ils ont bien la même clé ?vérifier qu’ils ont bien la même clé ?– Bob envoie (sacrifie) quelques photons de la clé et les
envoie pour vérification à Alice.– Alice prend quelques bits de la clé, calcule leur parité,
et envoie à Bob l’emplacement des bits choisis + la parité.
Alice Bob?
126 Anas Abou El Kalam
Cryptographie quantique (5)
� Si Carole écoute la transmission de p Si Carole écoute la transmission de p photons entre Alice et Bob :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.
� Techniquement, il est difficile d’envoyer Techniquement, il est difficile d’envoyer des photons isolésdes photons isolés– on envoie donc des impulsions de photons.– mais alors il faut qu’il y ait un minimum de photons par
impulsions.
127 Anas Abou El Kalam
Références
� HistoriqueHistorique– The Codebreakers - David Kahn - Ed. Scribner
� La cryptologie La cryptologie – Cryptologie contemporaine - G. Brassard - Ed. Masson (dont
cryptographie quantique)– Counterpane Labs - http://www.counterpane.com– LANAKI lessons - (orienté pratique)
http://www.fortunecity.com/skyscraper/coding/379/lesson1.htm– Le nid du coucou - Clifford Stoll - Ed. Albin Michel
� A.E.SA.E.S– « The Advanced Encryption Standard (Rijndael)” de J. Savard
http://home.ecn.ab.ca/~jsavard/crypto/co040801.htm� R.S.A, Diffie-Hellmann, courbes élliptiques...R.S.A, Diffie-Hellmann, courbes élliptiques...
– FAQ http://www.rsasecurity.com/rsalabs/faq/– Certicom http://www.certicom.com
128 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions
– Fonctions de hashage– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
129 Anas Abou El Kalam
Dès que plusieurs entités sont impliquées dans un échange
de messages sécurisés, des règles doivent déterminer
l'ensemble des opérations cryptographiques à réaliser, leur
séquence, afin de sécuriser la communication:
C'est ce que l'on appelle les protocoles
cryptographiques.
Protocoles cryptographiques
Que signifie sécuriser
un échange?
Les propriétés fondamentales�
Confidentialité
- Authentification-Intégrité-Non répudiation
130 Anas Abou El Kalam
Introduction à l’authentification
� La notion de La notion de confidentialité ne suffit confidentialité ne suffit pas forcément :pas forcément :– qui m’a réellement envoyé
ce message ?– quelqu’un a-t-il pu usurper
son identité ?– ai-je bien reçu le message
complet ? – quelqu’un a-t-il pu
remplacer le message initial par un autre ?
La confidentialité ne répond pas à ces questions !
?Authenticité Authenticité émetteur !!émetteur !!
++Non répudiation !!Non répudiation !!
Authenticité Authenticité message !!message !! ?
131 Anas Abou El Kalam
Définitions
� IntégritéIntégrité– on assure que le message n’a pas été modifié – exemple : une lettre scellée. Si une tierce personne ouvre l’enveloppe et
remplace la lettre par une autre, le sceau sera forcément rompu– attaque : la substitution (remplacer le message originel par un autre)
� AuthenticitéAuthenticité– on garantit la provenance du message– l’authentification, c’est le procédé qui permet de prouver et valider
l’authenticité.– exemple : le message provient d’Alice.– attaque : la mascarade (espérer que le message forgé sera considéré
comme authentique)
� Non répudiationNon répudiation– propriété rendant impossible de nier toute action qui a été effectuée
132 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions– Fonctions de hachage
– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
133 Anas Abou El Kalam
Fonctions de hashage� Dans la pratique, un sceau, signature, c’est petit!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
� Choix des algorithmes de hachageChoix 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 fixefixe "h
� il doit être impossible de trouver m à partir de h.il doit être impossible de trouver m à partir de h.
�� fonction de hachage doit remplir conditions �: fonction de hachage doit remplir conditions �:�� L'entréeL'entrée peut être de dimension peut être de dimension variablevariable..�� La La sortiesortie doit être doit être fixefixe..�� H(m) doit être relativement H(m) doit être relativement facile à calculerfacile à calculer..
��H(m) doit être une H(m) doit être une fonction à sens uniquefonction à sens unique..
impossible de trouver m à partir de h.
�� H(m) doit être "sans collision".H(m) doit être "sans collision".
M1 ≠ M2 ∧ H(M1)=H(M2)
134 Anas Abou El Kalam
Contrôler l’intégrité
Document DocumentTransmission du document
Transmission de l’empreinte Empreinte (1)
?comparaison
Empreinte
Hashage Algorithme de hashage à sens unique, résistant aux
collisionsHashage
Empreinte (2)
Attention: résout l’intégrité… mais pas l’authenticité de l’émetteur !
135 Anas Abou El Kalam
Message Authentication Code
� Objectif : Intégrité Objectif : Intégrité etet authenticité authenticité
� Algorithmes de MAC :Algorithmes de MAC :– Fonction de hashage
• compression et facilité de calcul.– Convenir au préalable d’une clé sécrète.– Pas (ou très très peu) de collisions – sans connaître la clé.
� Exemples : DES-CBC, HMAC …Exemples : DES-CBC, HMAC …
Document MAC Algo.
Clé secrète
Authentifiant
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é).136
Anas Abou El Kalam
Vue d’ensemble sur les algorithmes de hashage
Fonctions de hashage
Propriétés: compression, facilité de calcul
Sans clé Avec clé secrète
Codes de détection de modification (MDC)
Propriétés: sens unique, résistance aux collisions (faible, forte)
MAC
Propriétés: résistance aux collisions lorsque clé
inconnueAutres
applications
SHA-2 HMAC DES-CBC
Intégrité Intégrité & Authenticité
SHA-1MD2, MD4, MD5…
137 Anas Abou El Kalam
Aperçu du SHA-1 (1)
� Historique Historique – conçu en 1995– Adopté comme algorithme
standard de hashage par le gouvernement américain
– Décrit dans le FIPS 180-1
� Objectifs Objectifs – fonction de hashage qui retourne
toujours un résumé sur 20 20 octetsoctets, quelque soit la taille du texte en entrée
– conçu pour des machines 32 bits
Mise en forme du texte
Calculs sur 5 registres
Obtention du résultat
138 Anas Abou El Kalam
SHA-1 (2)
� Mise en forme du texteMise en forme du texte– PaddingPadding du texte de sorte que sa taille soit congruente à 448 modulo
512
– On ajoute sur 64 bits la taille du message à condenser
– On obtient donc un message M découpable en n blocs de 512 bits.
0100010101... …010 1000… ...0 000..0100000000
Texte à condenser
Padding : un premier 1 puis
des 0 Taille du texte
Ex : 256 bits + 192 bits + 64 bits = 512 bits
139 Anas Abou El Kalam
SHA-1 (3) : traitement du texte
� On dispose de : On dispose de : – 5 registresregistres A, B, C, D et E de 32 bits
– 80 fonctions fonctions fi opérant sur les blocs B, C et D (OU-EXCLUSIF, NON, ET,>). Les fonctions fi sont en fait de 4 types différents.
� On traite le message par blocs de 512 bitsOn traite le message par blocs de 512 bits– On initialise les 5 registres avec des constantes définies dans le
standard.– Chaque bloc de 512 bits est redécoupé en mots de 3232 bits.– Boucle de calcul faisant intervenir permutations circulaires à
gauche, les 5 registres et les 80 fonctions– Le résultat est recopié dans les registres A à E, et on recommence
autant de fois que nécessaire.
� Résultat : concaténation des 5 registresRésultat : concaténation des 5 registres=> 2020 octets = (160 bits)
140 Anas Abou El Kalam
SHA-1 (4) : conclusion
� Points positifs: Points positifs:
– Ajout de la permutation circulaire pour amélioration de la sécurité
⇒ création de SHA-256, SHA-384 et SHA-512.
⇒ Plus rapide et plus sûr que la famille MD (2 .. 5)
=> SHA-512 effectue un traitement par mots de 64 bits (et non 32), d’où une plus grande rapidité.
– Applications (nécessitant intégrité) : Peut être utilisé avec DSA (cf. plus loi) dans les mails, transactions électroniques, distribution de logiciels, sauvegarde données
– Implémentations (validées par le NIST) : logiciel, matériel
� Points négatifs:Points négatifs:
– Résistance à la collision devenant de plus en plus critique
– Récemment (août 2004 ?), un groupe de chercheurs chinois ont montré qu’il n’est pas infaillible.qu’il n’est pas infaillible.
• SHA-1 devient obsolète !!SHA-1 devient obsolète !!
141 Anas Abou El Kalam
SHA 2 : le successeur de SHA-1
� Rappel 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
� Pourquoi SHA-2 ?Pourquoi SHA-2 ?– SHA-1 ne peut produire que des hash de 160 bits
�� pas plus de 80 bits de sécurité contre les collisions.
– AES (Advanced Encryption Standard), qui utilise des clés de taille128, 192 ou 256-bit
� SHA-2SHA-2– SHA-2 algorithm
• contient SHA-256, SHA-384 et SHA-512• Produit un hash de 256256, 384384 ou 512512-bits
� avec un niveau de protection (contre les collision) de 128, 192 ou 256-bits.
142 Anas Abou El Kalam
Récapitulatifs *
• Pour les applications crypto. (VPN, chiffrement de documents, etc...)
• choisir AESAES et RSA-704RSA-704 (minimum) pour le chiffrement
• SHA-384SHA-384 et SHA-512SHA-512 pour le hachage.
• Triple-DESTriple-DES et SHA-1SHA-1 vivent leur dernières années de robustesse
… !!
MAISMAIS : Loi de Moore � depuis les années 70, la puissance des ordinateurs double tous les 2 ans,
� ????
143 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions– Propriétés de sécurité & mécanismes crypto
– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
144 Anas Abou El Kalam
1. Confidentialité
Cryptosystème à clés symétriques(K)
Cryptosystème à clés publiques(PKA/SKA, PKB/SKB)
145 Anas Abou El Kalam
A l'aide de cryptosystèmes hybrides.• Cryptosystème à clés publiques pour l'échange confidentiel de la clé (de session) K.• Cryptosystème à clés symétriques pour l'échange confidentiel du message.
1. Confidentialité (*)
146 Anas Abou El Kalam
• Vérification qu ’un message n ’a pas été altéré durant la communication.• A cette fin, on utilise les fonctions de hashage.
2. Intégrité du message
147 Anas Abou El Kalam
Protocole question réponse
A l ’aide d’un cryptosystème à
clés symétriques.
Si on suppose que A et B partagent
une même clé secrète K
3. Authentification des acteurs.
RA Chaîne aléatoire de A
RB Chaîne aléatoire de B
AB
Génération RA
Génération RBDK(EK(RA,B))
DK(EK(RB,A))EK(RB,A)
RA
EK(RA,B) , RB
EK(RB,A)
EK(RA,B)
148 Anas Abou El Kalam
A l ’aide d’un cryptosystème à clés publiques.
Chaque partie possède une paire de clés
publique/privée (PKA/SKA, PKB/SKB).
3. Authentification des acteurs (*)
149 Anas Abou El Kalam
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.
3. Authenticité du message
150 Anas Abou El Kalam
1. A l'aide d ’un cryptosystème symétrique
Authentification grâce à K Par ex le triple DES
3. Authenticité du message (*)
151 Anas Abou El Kalam
2. A l'aide d ’une fonction de hashage.
Une clé secrète K est partagée entre
A et B
Authentification grâce à K
+ Intégrité.
3. Authenticité du message (*)
152 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions– Fonctions de hashage– Signatures digitales– certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
153 Anas Abou El Kalam
Signatures (1)� Il n’est pas forcément facile de s’échanger une Il n’est pas forcément facile de s’échanger une clé secrète auparavantclé secrète auparavant
� Solution :Solution :– utiliser des algorithmes à clé publique.– Alice envoie un document à Bob. – Elle décide alors de signer le document : elle condense le
document (fonction de hashage) puis le “chiffre” avec sa clé privée, cela constitue une signaturesignature.
� Vérification :Vérification :– Bob possède la clé publique d’Alice. Il peut donc
• déchiffrer (=vérifier) la signature.
– Si le message est altéré en cours de route, la signature ne correspondra plus !!!
154 Anas Abou El Kalam
Signatures (3)
Alice Bob
Document DocumentTransmission du document
Transmission de la signature
Signature
Algorithme à clé publique
Clé privée d’Alice
Signature
chiffrement
Hashage à sens unique
Document condensé
Hashage à sens unique
Document condensé (1)
Clé publique d’Alice
Algorithme à clé publique
déchiffrement
Document condensé (2)?
155 Anas Abou El Kalam
Signature (2) : un exemple
156 Anas Abou El Kalam
Algorithmes de signatures
0
2
4
6
8
10
12
DSA
1024
RSA
1024
Signature
Vérification
� Digital Signature Digital Signature Algorithm (1994) :Algorithm (1994) :– Utilise un algorithme à clé
publique– Repose sur le problème des
logarithmes discrets– Ne peut être utilisé que pour
effectuer des signatures (pas pour le chiffrement)
� Comparaison avec RSA : Comparaison avec RSA : – La génération de la signature
en DSA est plus rapideDSA est plus rapide que sa vérification
– Le RSA peut servir au RSA peut servir au chiffrement et aux chiffrement et aux signatures.signatures.
Millisecondes / opération
Sur un Celeron 850Mhz sous Windows 2000 avec l’API
Crypto++
157 Anas Abou El Kalam
�Récapitulatif Récapitulatif –Propriétés de sécurité–Mécanismes crypto
158 Anas Abou El Kalam
A l'aide d’une signature digitale.
Les signatures digitales doivent posséder les propriétés :1. Authentique.;2. Infalsifiable;3. Non-réutilisable;4. Inaltérable;5. Non-répudiable.
4. Non répudiation
159 Anas Abou El Kalam
Seul A a pu composer Sign.
A l'aide d’une signature digitale.
4. Non répudiation
160 Anas Abou El Kalam
A l'aide d’une signature
digitale.
Authentification +
Confidentialité
4. Non répudiation + confidentialité
161 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions– Fonctions de hashage– Signatures digitales– certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
162 Anas Abou El Kalam
Certificats
&
PKI
163 Anas Abou El Kalam
Certificats : pourquoi ?
� chiffrement & signatures supposent
l’authenticité des clés publiques, disponibles
sur un annuaire ou un serveur web
– signature garantit que le message provient bien du
détenteur de la clé privée 6 mais 6
• A qui appartient clé privée/publique ?
– Chiffrement garantit que le message ne pourra être déchiffré
que par le détenteur de la clé privée (associée à la clé
publique utilisée lors du chiffrement) 6 mais
• A qui appartient cette clé publique ?
� Est-on sûr qu’il ne s’agit pas d’un usurpateur ?
164 Anas Abou El Kalam
Certificats : pourquoi ?
Bob� modifie l’annuaire ou le serveur web qui héberge les clés publiques � remplace clé publique d’Alice par la sienne.
� Bob peut mnt lire les courriers destinés à Alice et signer des messageen se faisant passer pour Alice !!
� si Marie envoie message « M » chiffré à Alice, – Marie va chiffrer M avec clé publique de Bob (croyant que c’est la clé d’Alice).
� Bob pourra – déchiffrer les messages destinés à Alice avec sa clé privée,– lire ainsi le courrier confidentiel d’Alice.
Les signatures et les MACs ne résolvent pas entièrement le problème de l’authenticité.
On introduit alors la notion de certificat !
�Scénario : � Alice et Marie veulent s’envoyer des messages� Bob = pirate
165 Anas Abou El Kalam
Certificats : quoi ?
� permet d’établir un environnement de permet d’établir un environnement de confianceconfiance entre deux entre deux
entités distantes ayant besoin de communiquer entre elles entités distantes ayant besoin de communiquer entre elles
et de s’échanger des informations et de s’échanger des informations ::
• non-répudiables (nécessité de signature) ou
• confidentielles (application de chiffrement).
� certificat : vise à effectuer un lien entre une certificat : vise à effectuer un lien entre une personnepersonne et et
une bi-clé (privé/publique)une bi-clé (privé/publique)– Il est délivré par une autorité de certification (AC)– Il est nominatif– Il est destiné à un usage unique (signature OU chiffrement)– Il a une durée de validité donnée– Il est certifié par l’AC– Il est révocable
� X.509X.509 : norme proposée par l’ISO (et la plus répandue) : norme proposée par l’ISO (et la plus répandue)
166 Anas Abou El Kalam
Demande de certificat (3)
M. Bidon génère son bi-clé (publique/privé)
Documents demandés
par l’autorité de
certification :
fiche d’état civil ...
Autorité de certification
Je, soussigné M. Bidon, demande un certificat ...
SignatureAvec sa clé privée
Clé publique
� Processus de certification :Processus de certification :
167 Anas Abou El Kalam
Certificats : exemple
� Structure du certificat X.509v3Structure du certificat X.509v3
Version du certificat
Numéro de série du certificat
Algo.de signature de l’AC
Nom de l’AC ayant délivré le certificat
Période de validité
Nom du propriétaire du certificat
Clé publique
Algo. à utiliser avec la clé publique
Identification de l’AC (opt)
Identification du propriétaire (opt)
Extensions (opt)
Signature de l’AC
168 Anas Abou El Kalam
Certificats : vérification
� Vérification certificatVérification certificat
Autorité de certification : ACBob
Prénom: Bob
Nom: Dupond
Email: bob.dupond@entreprise.fr
Date de validité: Du 01/10/93 au01/10/94
Clé publique: A5:3F:F9:…E2
….
Signature: 9B:C5:11:..:F5
Hachage
Déchiffrement
Egalité ?
Empreinte 1
Empreinte 2
Clé publique de l’autorité
de certification
Si ouiCertificat valide
Clé publique de
Bob Dupond :
A5:3F:F9:…E2
169 Anas Abou El Kalam
Infrastructure de gestion de clés
� IGC ou PKI (IGC ou PKI (Public Key InfrastructurePublic Key Infrastructure) recouvre les services ) recouvre les services
mis en œuvre pour assurer la gestion des clés publiquesmis en œuvre pour assurer la gestion des clés publiques– enregistrement des utilisateurs
– vérification des attributs,
– génération de certificats,
– publication des certificats valides et révoqués,
– identification et authentification des utilisateurs,
– archivage des certificats, etc.
� Composants fondamentaux d’une IGCComposants fondamentaux d’une IGC� l’autorité de certification ;
� l’autorité d’enregistrement,
� un service de publication ou autorité de validation ;
� l’annuaire qui contient les clés publiques, les certificats distribués, ainsi que les listes de certificats révoqués.
170 Anas Abou El Kalam
Les acteurs de la certification� Le porteurLe porteur
– Il est référencé par le certificat
– Il est le seul à posséder la clé privée associée
� L’utilisateurL’utilisateur– Il utilise le certificat
• Il vérifie que l’identité indiquée par le certificat est bien son interlocuteur• Il vérifie que le certificat n’est pas révoqué (en consultant des listes de
certificats révoqués - CRL)• Il vérifie que l’utilisation qu’il veut faire du certificat est conforme à son
usage (chiffrement, signature, >)• authentifie et vérifie l’intégrité du certificat à l’aide de la clé publique de l’AC
� L’autorité de certification (AC)L’autorité de certification (AC)– Elle émet le certificat– Elle a la confiance des utilisateur• 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
171 Anas Abou El Kalam
Les acteurs de la certification
�L’autorité d’enregistrement (AE)L’autorité d’enregistrement (AE)
–Elle dépend de l’AC
–Elle s’occupe des aspects administratifs :
•réception utilisateurs
•Vérification de l’identité du demandeur
•Vérification que le demandeur est habilité à recevoir les droits indiqués dans le certificat
•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
•Traitement les demandes de révocation, suspension ou activitation d ’un certificat
–L’AE est le point faible du système (affaire Microsoft/Verisign)
172 Anas Abou El Kalam
Les acteurs de la certification
� En janvier 2001, Verisign a délivré deux En janvier 2001, Verisign a délivré deux certificats à la société Microsoft … mais le certificats à la société Microsoft … mais le porteur du certificat n’était pas affilié à porteur du certificat n’était pas affilié à Microsoft Microsoft http://www.amug.org/~glguerin/opinion/revocatihttp://www.amug.org/~glguerin/opinion/revocation.htmlon.html
� Verisign, suite à un audit de sécurité (6 Verisign, suite à un audit de sécurité (6 semaines après), annonce que les deux semaines après), annonce que les deux certificats sont révoquéscertificats sont révoqués
� Microsoft publie un patch pour ne plus Microsoft publie un patch pour ne plus accepter ces certificatsaccepter ces certificats
173 Anas Abou El Kalam
Les acteurs de la certification
� Le répertoire (e.g., LDAP)Le répertoire (e.g., LDAP)– Il contient les certificats et est consultable par le public
� Des acteurs annexes peuvent existerDes acteurs annexes peuvent exister– L’autorité d’approbation des politiques : elle spécifie les
règles selon lesquelles l’AC est autorisée à délivrer des certificats
– L’autorité d’horodatage : elle délivre des marques de temps qui sont signées
– Autorité d’attributs : elle délivre des « sous-certificats » temporaires (comme par exemple des délégation de signature)
– Service de validation : il valide des certificats déjà existants pour les utilisateurs de ces certificats
– Service de séquestre et de recouvrement des clés : il stocke 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
174 Anas Abou El Kalam
Les acteurs de la certification
Autorité de certification
Autorité d ’enregistrement
UtilisateurPorteur
Répertoire
Infrastructure de confiance
Création
Consultation
Echange sécurisé
Demande de création,
suspension, révocation ouréactivation
Demande de création
Consultation,modification
175 Anas Abou El Kalam
Les étapes de la certification
� La création du certificationLa création du certification– La création passe par les étapes suivantes :
• Le porteur fait une demande à l’autorité d’enregistrement (AE)• l’AE authentifie et vérifie le bien fondé de la demande du porteur
– Vérification éventuelle de la possession de la clé privée– Le « sérieux » de l’authentification indique le degré de confiance à
placer dans le certificat [on peut le voir dans l’autre sens également]• l’AE transmet la demande à l’AC• l’AC génère le certificat
– Une stratégie de nommage évitant les doublons doit être utilisée– Si il y a stockage (service de séquestre) de la clé privée, on peut
utiliser, par ex., des cartes à puce• Le certificat est publié
– 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)• Le certificat est transmis à l’AE par l’AC• Le certificat est délivré au porteur
176 Anas Abou El Kalam
Les étapes de la certification� L’utilisation du certificatL’utilisation du certificat
– L’étape la plus importante dans l’utilisation du certificat est sa validation• Vérification de l’intégrité du certificat
– Chaque certificat est signé par l’AC– Chaque AC possède donc un certificat appelé certificat racine et qui
est « bien connu »» Il faut vérifier le certificat racine également (peut impliquer n
étapes si le certificat racine appartient à une AC fililale)• Vérification de la validité du certificat
– Cela implique de vérifier que le certificat n’a pas expiré ou qu’il n’a pas été révoqué
– On peut faire appel à une service de validation pour simplifier le travail• Vérification de l’adéquation d’usage du certificat
– Note : tous les logiciels ne mettent pas en œuvre l’entièreté de ces étapes !!!
177 Anas Abou El Kalam
Les étapes de la certification
� La révocation du certificatLa révocation du certificat– Un certificat est révoqué car :
• Il a expiré• Les clés secrètes ont été perdues ou compromises• Le porteur à fait un usage illégal du certificat• Il est non valide
– Chaque AC publie périodiquement une liste des certificats révoqués (CRL)
– Cette liste pouvant être volumineuse, on procède• 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
178 Anas Abou El Kalam
Les étapes de la certification
� La révocation du certificatLa révocation du certificat– La CRL peut être obtenue,
• A partir d’un URL accessible publiquement (et bien connue) Ex : http://crl.verisign.com/Class3SoftwarePublishers.crl
• 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)
• A partir d’une URL contenue dans le certificat
– La polémique de l’affaire Microsoft/Verisign porte sur l’absence d’une infrastructure de révocation
179 Anas Abou El Kalam
Organisation des PKI
� le certificat ne peut garantir seul la validité d’une le certificat ne peut garantir seul la validité d’une transaction, le sérieux de la PKI ayant délivré le transaction, le sérieux de la PKI ayant délivré le certificat est important égalementcertificat est important également
� Etant donné qu’il n’existe pas qu’une seule PKI, il Etant donné qu’il n’existe pas qu’une seule PKI, il arrive un moment ou une relation de confiance arrive un moment ou une relation de confiance doit être établie entre les intervenants dépendant doit être établie entre les intervenants dépendant de plusieurs PKIde plusieurs PKI
180 Anas Abou El Kalam
Chaîne de certification (5)
� La confiance est La confiance est déplacée vers l’autorité déplacée vers l’autorité de certificationde certification
� Des autorités peuvent Des autorités peuvent en certifier d’autres : on en certifier d’autres : on aboutit à une chaîne de aboutit à une chaîne de certificationcertification– à la racine, on a forcément un
certificat “racine” auto-certifié>– si on ne fait pas confiance à
cette autorité racine, toute la chaîne de certification ne sert à rien
– généralement, il s’agit d’une organisation très réputée
Clés
Clés
Clés
Autorité A
Autorité racine
Émis par A
181 Anas Abou El Kalam
Organisation des PKI
� En fonction du nombre et de la nature des intervenants, on En fonction du nombre et de la nature des intervenants, on parle de modèle de confiance à 1,2,3,4 ou 5 coinsparle de modèle de confiance à 1,2,3,4 ou 5 coins
� Modèle à un coinModèle à un coin– Une entreprise émet des certificats pour ses employés.
• modèle à un coin : employés et E/se sont considérés comme une même entité juridique
� Modèle à deux coinsModèle à deux coins– Une entreprise (ex: une banque) émet des certificats pour ses clients et fournit
un logiciel sécurisé par lequel passent toutes les transactions
� Modèle à trois coinsModèle à trois coins– Une entreprise émet des certificats pour ses clients, mais n’est pas
l’intermédiaire de toutes les transactions
� Modèle à quatre coinsModèle à quatre coins– Deux clients effectuent des transactions ensemble et chacun dispose de sa PKI.
• Il existe relation confiance entre les PKI impliquées
� Modèle à cinq coinsModè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
182 Anas Abou El Kalam
Organisation des PKI
� les AC peuvent être organisées de manière les AC peuvent être organisées de manière hiérarchique. Plusieurs organisations sont hiérarchique. Plusieurs organisations sont possibles :possibles :– Organisation arborescente– Organisation en maillage – Organisation en étoile (avec point focal)
AC
AC AC
AC AC AC
AC AC
AC AC
AC AC
AC AC
AC
Arborescente Maillage En étoile
183 Anas Abou El Kalam
Conclusion
Empreinte digitale
Voir note 3Signature digitale + certificat
Voir note 2Signature digitale
Voir note 1MAC
Non répudiation
AuthenticitéIntégrité
Note 1.Note 1. Impossible d’identifier précisément l’émetteur si la clé secrète est partagée entre plusieurs personnes.
Note 2.Note 2. On garantit que l’émetteur possède la clé privée, mais pas l’identité effective de l’émetteur.
Note 3.Note 3. Ne pas oublier de vérifier la validité (date, répudiation…) du certificat.
A retenir
184 Anas Abou El Kalam
Références (authentification)
� Généralités sur l’authentificationGénéralités sur l’authentification– Site de MSI S.A. http://shl.msi-sa.fr– FAQ R.S.A http://www.rsasecurity.com/rsalabs/faq/– FAQ des news sci.crypt
� Signatures digitales, certificatsSignatures digitales, certificats– Site de Verisign http://digitalid.verisign.com/client/help/technical.htm– Site de Thawte http://www.thawte.com
� AlgorithmesAlgorithmes– “The MD5 Message Digest Algorithm” de R. Rivest - RFC 1321– “Secure Hashing Standard” - FIPS 180-1– “Handbook of applied cryptography” de A. Menezes, P. van
Oorschot et S. Vanstone
185 Anas Abou El Kalam
� ConfidentialitéConfidentialité– Introduction : utilité, définitions, historique– Chiffrement symétrique : transpositions, substitutions– Chiffrement asymétrique– le futur : courbes élliptiques, cryptographie quantique
� Authentification– Introduction : objectifs, définitions– Fonctions de hashage– Signatures digitales et certificats
� ApplicationsApplications– PAP, CHAP, NTLM– TLS, Kerberos...
Plan du cours
186 Anas Abou El Kalam
Utilités à tous les niveaux
Liaison physique : Bluetooth
Transport : SSL, TLS
Liaison : CHAP, PAP
Réseau : authentification IP (IPsec)
Session : SHTTP
Présentation
Application : S-MIME, PGP, Sbox, OTP
Boîtier de chiffrement
SSL, TLS, SHTTP
SSH
3. Authentification3. Authentification
188 Anas Abou El Kalam
Authentification = identification + vérification
� IdentificationIdentification = = présentation de l'présentation de l'identitéidentité : information non secrète, différente pour : information non secrète, différente pour chaque utilisateur (nom, numéro, ...) connue (au moins) de l'utilisateur et du système chaque utilisateur (nom, numéro, ...) connue (au moins) de l'utilisateur et du système informatique informatique
� Vérification de l'identitéVérification de l'identité = = l'utilisateur doit présenter quelque chose :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 :La qualité des systèmes d'authentification dépend :du taux d'acceptation à tort (du taux d'acceptation à tort (false acceptation rate, FARfalse acceptation rate, FAR))et du taux de rejet à tort (false rejection rate, FRR).et du taux de rejet à tort (false rejection rate, FRR).Ex : empreinte digitale : Ex : empreinte digitale : FAR ≈ 10FAR ≈ 10-6-6 FRR ≈ 1/1.000 (Compaq, NEC) FRR ≈ 1/1.000 (Compaq, NEC) iris : typiquement : iris : typiquement : FAR ≈ 10FAR ≈ 10-12-12 FRR ≈ 1/10.000 (Sensar, IriScan) FRR ≈ 1/10.000 (Sensar, IriScan)
� Trois techniques, selon ce que connaît l'authentificateurTrois 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)
189 Anas Abou El Kalam
Authentification à distance (secret partagé)
� Danger : écoute sur le réseau -> rejeuDanger : écoute sur le réseau -> rejeu
� Parades :Parades :Vérification locale (m-d-p crypté transmis par un serveur)Protocoles à défi-réponse : m-d-p "une fois", S-Key , grenouille, carte à puce, >
STATION DE
TRAVAIL
STATION DE
TRAVAIL
SERVEURS
ESPION
190 Anas Abou El Kalam
Exemple de défi-réponse
1.1. L’utilisateur tape son nom (U) et son mot de passe (Ku) sur la L’utilisateur tape son nom (U) et son mot de passe (Ku) sur la station.station.
2.2. La station transmet l’identité de l’utilisateur au serveur.La station transmet l’identité de l’utilisateur au serveur.
3.3. Le serveur recherche le mot de passe de l’utilisateur et chiffre un Le serveur recherche le mot de passe de l’utilisateur et chiffre un nombre aléatoire (défi) avec ce mot de passe.nombre aléatoire (défi) avec ce mot de passe.
4.4. La station prouve que le mot de passe est correct en déchiffrant le La station prouve que le mot de passe est correct en déchiffrant le défi et en le renvoyant après incrémentation et chiffrement.défi et en le renvoyant après incrémentation et chiffrement.
Danger : mots de passe stockés en clair sur le serveurDanger : mots de passe stockés en clair sur le serveur
STATION DE
TRAVAIL
Serveur
U, Ku
U
{aléa}Ku
¦ {aléa+1}Ku
U ’ Ku
191 Anas Abou El Kalam
S-Key : Quoi ?
� Implantation du «One Time Password» (OTP).
� 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
même usager ne permet pas de déduire quel sera le mot de passe suivant.
� Aucune information secrète n'a besoin d'être stockée sur aucun système,
incluant l'hôte qui est protégé.
� Tout s'effectue sur le vif à l'aide d'algorithmes.
� 2 phases :
� enregistrement
� authentification192
Anas Abou El Kalam
S-Key : 1ère phase : enregistrement
U, secret
Serveur
U, aléa, cptr, mdpcptr
U
mdp100
aléa, 100
mdp0 = H (aléa|secret)mdp1 = H (mdp0) >mdp100 = H (mdp99)
Commande keyinit
193 Anas Abou El Kalam
S-Key : 2ème phase : authentification
U, secret
U, aléa, cptr, mdpcptr
Serveur
U
X
aléa, cptr-1
?mdpcptr = H (X)
Si oui : cptr = cptr-1 enregistrer mdpcptr = X
mdp0 = H (aléa|secret)mdp1 = H (mdp0) >X = H (mdpcptr-2)
194 Anas Abou El Kalam
One-Time Password (2)
� L’utilisateur dispose sur son compte de :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
passe aléatoires à partir d’une phrase secrète=> une phrase secrète, c’est long à casser, mais facile à retenir>– SecureCard, implémentation logicielle (S-Key de Bellcore)
� Le serveur dispose d’une base de données dans Le serveur dispose d’une base de données dans laquelle il note :laquelle il note :– le login de l’utilisateur– le dernier mot de passe utilisé avec succès– un sel (= un nombre qui fait pour “perturber”)– l’identifiant de l’algorithme à utiliser– un numéro de séquence N
195 Anas Abou El Kalam
Serveur sécuriséPour chaque
utilisateur :- dernier mot de passe
- n° séquence N
- ID algo.
- sel
Utilisateur
Phrase
secrète
Sel
Algo.
MdP(N)
One-Time Password (3)
N, sel, ID algo.
Sel
Algorithme
de hash
N-1 fois
1 foisMdP(N-1)
MdP(N)
Noter le MdP(N-1)
Décrémenter N 196 Anas Abou El Kalam
One-Time Password (4)
� Avantages :Avantages :– l’utilisation du sel permet à l’utilisateur d’utiliser la même
phrase secrète sur plusieurs machines– la phrase secrète ne circule nulle part
� Problème :Problème :– N est décrémenté à chaque connexion, au bout d’un
moment, N va être trop petit !• réinitialiser le compte : convenir d’un changement de mot de
passe, ou d’un changement de sel• ou interdire son utilisation
197 Anas Abou El Kalam
S-Key : Exemple d’authentification
�telnet nom_de_la_machine
•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
�Copier/coller mdp unique, trouvée dans la case Response, dans votre session Telnet. �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. 198
Anas Abou El Kalam
Authentification "zéro-knowledge"
� Caverne d'Ali Baba (Guillou-Quisquater)Caverne d'Ali Baba (Guillou-Quisquater)
� A chaque essai, quelqu’un qui ne connaît pas le secret a une chance sur 2A chaque essai, quelqu’un qui ne connaît pas le secret a une chance sur 2
� L’authentificateur est convaincu, mais il ne peut transmettre sa convictionL’authentificateur est convaincu, mais il ne peut transmettre sa conviction
A B
199 Anas Abou El Kalam
Exemple : Fiat-Shamir
Soit Soit nn un produit de deux grands nombres premiers, connu de tous les composants C du système. 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 Chaque composant C génère aléatoirement une valeur rrcc (1≤r (1≤rcc≤n-1), qu'il garde secrète, calcule≤n-1), qu'il garde secrète, calculexxcc = = rrcc2
2 mod n mod n et publie et publie xxcc(Rabin a prouvé qu’il est aussi difficile de calculer (Rabin a prouvé qu’il est aussi difficile de calculer rrcc connaissant connaissant xxcc que de factoriser que de factoriser nn).).
Supposons que B veuille authentifier A (≈ vérifier avec une confiance > 1-2Supposons que B veuille authentifier A (≈ vérifier avec une confiance > 1-2-t-t que A connaît que A connaît rraa). A génère ). A génère un tableau de un tableau de tt valeurs aléatoires valeurs aléatoires vvii (1≤v (1≤vii≤n-1), en calcule les carrés modulo n (≤n-1), en calcule les carrés modulo n (vvii2
2 mod n mod n) qu'il envoie ) qu'il envoie à B. B calcule une chaîne aléatoire de à B. B calcule une chaîne aléatoire de tt bits bits bbii qu'il transmet à A. qu'il transmet à A.
Pour chaque Pour chaque ii, A renvoie à B :, A renvoie à B :
zzii = = vvii si si bbii = 0 = 0
zzii = = rraa..vvii mod n mod n si si bbii = 1 = 1
B calcule B calcule zzii2 2 mod nmod n et vérifie que : et vérifie que :
zzii22 = = vvii2
2 mod nmod n si si bbii = 0 = 0
zzii22 = = xxaa..vvii2
2 mod n mod n si si bbii = 1 = 1
Un intrus A’ n'a qu'une chance sur 2Un intrus A’ n'a qu'une chance sur 2tt de deviner à l'avance les de deviner à l'avance les bbii pour choisir les pour choisir les zzii22 qui satisferont la qui satisferont la
demande de B :demande de B :
si si bbii = 0, A’ génère = 0, A’ génère vvii et calcule et calcule vvii22 mod n mod n qu’il envoie à l’étape 1, puis qu’il envoie à l’étape 1, puis vvii en 2 en 2
si si bbii = 1, A’ génère = 1, A’ génère zzii et calcule et calcule zzii22/x/xaa mod n mod n qu’il envoie en 1, puis qu’il envoie en 1, puis zzii en 2 en 2
4. Applications4. Applications
201 Anas Abou El Kalam
PAP
CHAP
NTLM
202 Anas Abou El Kalam
PAP
� PAP = Password Authentication ProtocolPAP = 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
� FonctionnementFonctionnement– lorsque l’utilisateur veut se connecter à un serveur, il doit donner son
login + mot de passe– suivant les versions de PAP utilisées, login + mot de passe peuvent
transiter en clair ou non >
AuthentifiantLogin Algorithme
à sens unique
Mot de passe
Exemple d’authentification où login et mot de passe ne transitent pas en clair
203 Anas Abou El Kalam
Les risques de PAP
� Authentification faibleAuthentification faible– si transit en clair : il suffit d’écouter sur la ligne !– aucun mécanisme anti-rejeu : on peut essayer plusieurs
login + mots de passe, ou capter un login + mot de passe chiffré et le rejouer
Client
AuthentifiantServeur
Espion
Plus tard …Authentifiant
204 Anas Abou El Kalam
L’authentification “forte”
� PrincipePrincipe– consiste à générer un défi aléatoire, qui change à chaque
connexion– le défi change à chaque connexion : on ne pourra pas le
réutiliser=> Cela n’empêche pas complètement le rejeu
Client
Serveur
Mot de passe
Algorithme
à sens unique
Authentifiant
DéfiEspion
Succès
Nouveau défi
Authentifiant EchecPlus tard, à une
prochaine connexion
205 Anas Abou El Kalam
CHAP : Challenge Authentication Protocol� Le serveur envoie une requête contenant
son nom (défi = nombre aléatoire de 16 bits, avec éventuellement un compteur incrémenté à chaque envoi )
� Le client transforme ce défi (et éventuellement le compteur) avec sa clé et l’algorithme MD 5
� Le client envoie son résultat au serveur (réponse)
� serveur applique même algo avec clé du client, puis compare son résultat avec celui du client
� le serveur accorde ou rejette la connexion
La clé ne transite jamais en clair sur le réseau.
Impossible d’ouvrir une nouvelle session en “rejouant”206
Anas Abou El Kalam
Authentification RAS NT
� R.A.S = Remote Access ServiceR.A.S = Remote Access Service– service d’accès distant sur Microsoft ® Windows NT
• opérer comme si vous étiez connecté à un ordinateur physiquement relié au réseau: exécuter Gestionnaire utilisateurs, Gestionnaire serveurs, Observateur d'événements.
� Plusieurs méthodes d’authentification disponiblesPlusieurs méthodes d’authentification disponibles– MD5-CHAP “Accepter une authentification chiffrée”– MS-CHAP “Accepter une authentification Microsoft”– DES : compatibilité avec réseaux Lan Manager– PAP “Accepter une authentification en clair”– SPAP : authentification Shiva, chiffrée
Client RAS Serveur RASdéfi
Méthode choisie, défi chiffré
207 Anas Abou El Kalam
Mots de passe sous Windows NT (1)
� SAM (Security Accounts Manager)SAM (Security Accounts Manager)– droits requis pour y accéder– fichier vérouillé– stocke des hashs des mots de passe (et non les pwd en clair)– 2005 : fonction de hachage utilisée pour les mots de passe est MD5
DES (16 caractères) hash MD4 (16 caractères)
208 Anas Abou El Kalam
Constitution des hashs sous NT (2)
« Hash » DES (16 caractères)
64 bits => 8 caractères
Mot de passe de l ’utilisateur (en clair) : 14 caractèresPaddé avec
des NULLs si
nécessaire
Magic
number
(64 bits)DES
Moitié chiffrée
Magic
number
(64 bits)DES
Moitié chiffrée
Mot de passe en majuscules
1ère moitié 2ème moitié
7 caractères => 56 bits 7 caractères => 56 bitsMD4
hash MD4 (16 caractères)
209 Anas Abou El Kalam
Risques et solutions (3)
� RisquesRisques– attaque du dictionnaire– il suffit de générer des mots de passe de 7 caractères et de comparer
leurs empreintes (pas besoin de 14 caractères)– ensuite générer toutes les variations Maj/Min pour trouver l ’empreinte
MD4– MD4 n ’est plus considéré comme sûr...
� System Key Fix (SP3)System Key Fix (SP3)– les empreintes sont stockées chiffrées– la clé de chiffrement est elle-même chiffrée par une « clé de boot » ou
« clé système ». Cette dernière peut être :• générée aléatoirement et stockée dans base de registres (non recommandé)• dérivée d ’un mot de passe demandé au boot de la machine• ou stockée sur une disquette nécessaire au boot
210 Anas Abou El Kalam
Common Internet File System (4)
� Le protocole CIFSLe protocole CIFS– partage de fichiers (NFS à la Microsoft)– standard – support de connexions lentes– amélioration de SMB (Server Message Block), héritier des protocoles
LanMan, Dos LM, NTLM >– authentification mutuelle client et serveur (empêche les attaques
« sandwich »)– support de la signature SMB (SP3)
� Format de messageFormat de message– entête : protocole (0xFF, ’SMB ’), commande, état, uid, tid >– données : chemin d ’accès
Entête CIFS Données
211 Anas Abou El Kalam
Niveau de sécurité CIFS (5)
Deux niveaux de sécurité sont proposés :Deux niveaux de sécurité sont proposés :
� niveau partage : niveau partage : – l ’accès à un partage est contrôlé par un mot de passe. – un seul mot de passe pour tous les utilisateurs– Il suffit que l ’utilisateur connaisse ce mot de passe et le
chemin d ’accès au partage pour obtenir l ’accès aux données
� niveau utilisateur :niveau utilisateur :– un mot de passe par utilisateur– pour accéder à l ’arborescence, l ’utilisateur doit
s ’authentifier (identifiant, mot de passe)– amélioration de l ’ancien protocole SMB
212 Anas Abou El Kalam
Authentification CIFS (6)
� L’authentification se L’authentification se déroule en trois déroule en trois étapes :étapes :– négociation du « dialecte »
suivant les capacités du client et du serveur
– authentification de l ’utilisateur (si mode utilisateur)
– authentification auprès de l ’arborescence désignée
client serveur
SMB_COM_NEGOTIATE
SMB_SESSION_SETUP_ANDX
SMB_TREE_CONNECT_ANDX
213 Anas Abou El Kalam
Authentification CIFS (7)
� Authentification en clair :Authentification en clair :– le client envoie au serveur son mot de passe en clair (en
mode utilisateur, envoyer l ’identifiant en plus).– Supporté par tous
� Authentification LanMan par défi :Authentification LanMan par défi :– le serveur envoie un défi. – réalisation d ’un empreinte DES à partir du hash DES du
mot de passe du client– vérification du serveur
� Authentification NTLM par défi :Authentification NTLM par défi :– idem, mais utilisation du hash MD4 du mot de passe du
client et du hash DES.– SP4 : LM-Fix permet d ’éviter d ’utiliser le hash DES du mot
de passe 214
Anas Abou El Kalam
Authentification par défi LanMan (8)
Hash DES du mot de passe utilisateur \016 caractères 5 caractères
Bloc sur 21 caractères
7 caractères 7 caractères 7 caractères
Challenge
(8 caractères)DES
8 caractères 8 caractères 8 caractères
Envoyé au serveur
Idem ...
Découpage en 3
215 Anas Abou El Kalam
Authentification par défi NTLM (9)
Hash MD4 du mot de passe utilisateur \016 caractères 5 caractères
Bloc sur 21 caractères
7 caractères 7 caractères 7 caractères
Challenge
(8 caractères)DES
8 caractères 8 caractères 8 caractères
Envoyé au serveur
Découpage en 3
8 caractères 8 caractères 8 caractères
Résultat de l ’authentification LanMan
+ si V<SP4
216 Anas Abou El Kalam
Authentification HTTP (1)
� HTTP 1.1 prévoie des mécanismes HTTP 1.1 prévoie des mécanismes d�’authentification :d�’authentification :– entêtes WWW-Authentication et Authorization– authentification basique : identifiant et mot de passe
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 défi. Hélas, pas (encore) implémenté par les navigateurs et serveurs Web standards (RFC 2617)
– 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 implémenté sur Internet Explorer et IIS.
217 Anas Abou El Kalam
Authentification HTTP : déroulement (2)
Client Serveur
GET401 Unauthorized
WWW-Authenticate:NTLMGET …
Authorization:NTLM <base64 msg_init> 401 Unauthorized
WWW-Authenticate:NTLM<base 64 msg_rep>
GET …Authorization:NTLM <base64
msg_end>
HTTP 1.1/ 200 OK
218 Anas Abou El Kalam
Authentification NTLM sur HTTP (3)
Protocole (« NTLMSSP\0)
Type (0x01) RéservéRéservé
Taille du domaineOffset domaine 0x00
Taille hostOffset host 0x00
host
domain
219 Anas Abou El Kalam
Authentification NTLM sur HTTP (4)
Protocole (« NTLMSSP\0)
Type (0x02) Réservé Réservé
Taille du message (0x28) Réservé Réservé
Challenge (8 octets)
Réservé
220 Anas Abou El Kalam
Authentification NTLM sur HTTP (5)
Protocole (« NTLMSSP\0)
Type (0x03) RéservéRéservé
Taille réponse LanMan (0x18)Offset réponse LanMan 0x00
Taille réponse NTLM (0x18)Offset réponse NTLM 0x00
Taille domaineOffset domaine (0x40) 0x00
Taille utilisateurOffset utilisateur 0x00
Taille hostOffset host 0x00
0x00Taille message 0x00
RéservéDomaine
UserHost
Réponse LanMan
Réponse NTLM
221 Anas Abou El Kalam
SSL
TLS
222 Anas Abou El Kalam
SSL / TLS (1)
� GénéralitésGénéralités– SSL (Secure Socket Layer)
• protocole proposé par Netscape• intégré depuis 94 dans navigateurs • v3.0 en 1996
– TLS v1.0 normalisé en 99 par l'IETF ( RFC 2246) – TLS = SSL “v3.1”
• standard Internet IETF (RFC 2246)• un communications Internet sécurisées• Au dessus de la couche TCP
– très répandu : (HTTPS (port 443) ou POP3S (port 995) )� FonctionnalitésFonctionnalité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
IP
TCP / UDP
SSL/TLS
HTTP FTPSMTP
223 Anas Abou El Kalam
SSL / TLS : caractéristiques (1)
� Repose sur un procédé de cryptographie à clef publique
� Indépendant du protocole utilisé – 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
� Transparent pour l'utilisateur
� Supporté par la quasi totalité des navigateurs
� Serveur sécurisé par SSL � URL commençant par https://
� Confidentialité � Algo symétriques (3DES, IDEA, >RC4)
� Intégrité � HMAC : Hash Message Authentication Code (MD5/SHA + clé)
� Authentification � X509 et MAC
224 Anas Abou El Kalam
SSL / TLS : Vue globale
� Permet :
– l'authentification mutuelle du serveur et du client,
– le chiffrement et la vérification de l'intégrité des connexions.
� Constitué des deux sous-protocoles :
– le protocole TLS Record
• chiffrer les connexions avec un algorithme symétrique, et
• vérifier leur intégrité à l'aide d'une fonction de type HMAC
– le protocole TLS Handshake.
• d'authentifier les deux parties (e.g., avec certificats),
• 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.
225 Anas Abou El Kalam
SSL / TLS : fonctionnement (1)� échange de clés entre client et serveur.
– Le client, • se connecte au site (marchand) sécurisé par SSL
• lui demande de s'authentifier.
• envoie liste cryptosystèmes qu'il supporte, triée par ordre décroissant de L(clés).
– Le serveur a réception de la requête • envoie certificat au client, contenant clé publique du serveur, signée par une CA,
• ainsi que nom d’algo le plus haut dans la liste avec lequel il est compatible
– Le client • vérifie validité certificat (i.e., authenticité marchand),
• crée une clé secrète aléatoire,
• chiffre cette clé avec clé pub du serveur, puis envoie résultat (clé de session).
– Le serveur est en mesure de • déchiffrer la clé de session avec sa clé privée.
� Les 2 entités possèdent clé commune dont ils sont seuls connaisseurs
� Le reste des transactions peut se faire à l'aide de clé de session, garantissant l'intégrité et la confidentialité des données échangées.
226 Anas Abou El Kalam
TLS : négociation de session
� Une session définit les éléments suivants :Une session définit les éléments suivants :– identifiant de session– algorithme de compression– algorithme de chiffrement, type d ’algorithme de chiffrement :
(par blocs, flux), taille de la clé de chiffrement– algorithme de scellement, taille du sceau– secret maître– aléa serveur, aléa client– certificat– session réutilisable
� Clés utilisées : Clés utilisées : – secret maître, aléas serveur et client
�� permettent de calculer la clé de chiffrement et la clé de scellement.
227 Anas Abou El Kalam
TLS : négociation de session
� Toute communication sécurisée débute Toute communication sécurisée débute par une par une négociationnégociation de session «�TLS de session «�TLS Handshake protocolHandshake protocol�»�»
� Format des trames de négociation :Format des trames de négociation :
Type Taille Contenu
Type : hello_request (0), client_hello (1), server_hello (2) ...
228 Anas Abou El Kalam
TLS : négociation de session
Décider du niveau de sécurité (suivant les capacités de chacun)
Le serveur s’authentifieet envoie les paramètres permettant
d ’établir un pré-secret maître
Le client s ’authentifie (si requis)et envoie les paramètres permettant
d ’établir un pré-secret maître
Terminaison de la négociation de sessionClient et serveur converseront désormaisavec les algorithmes et clés de sécurité
établies
229 Anas Abou El Kalam
Scénario étape 1: négociation de session TLS
230 Anas Abou El Kalam
La négociation de session TLS
� 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.
1ère phase : authentification serveur1ère phase : authentification serveur
231 Anas Abou El Kalam
La négociation de session TLS
� Serveur– peut demander au client de s'authentifier en
lui demandant son certificat.
� Client – réplique en envoyant ce certificat puis – en signant un message avec sa clé privée (ce
message contient des informations sur la session et le contenu de tous les échanges précédents).
2ème phase : authentification C (2ème phase : authentification C (optionnelleoptionnelle))
Remarque :Remarque :Clé publique serveur � chiffrement;
celle du client � signature.
232 Anas Abou El Kalam
La négociation de session TLS (11)� Client HelloClient Hello
– heure– tirage nbre aléatoire client.random (28 octets)– session Id : vide = nouvelle session, session Id : renseigné = utiliser session déjà ouverte
– choix d’algorithmes de chiffrement supportés– méthode de compression supportés– n° version du client SSL utilisé
� Server HelloServer Hello– le serveur sélectionne la version– tirage nbre aléatoire : server.random (28 oct)– session Id : renseigné = numéro nouvelle session, ou
session à réutiliser , session Id : vide = session à ne pas mettre en cache
– algorithme de chiffrement sélectionné– méthode de compression à utiliser
� Si session réutilisée, passer en FINISHSi session réutilisée, passer en FINISH
233 Anas Abou El Kalam
La négociation de session TLS (12)
� Server certificateServer certificate– envoyé si le serveur doit s’authentifier,
dès que Server Hello a été envoyé– contient une chaîne de certificats X509
v3 (avec le certificat racine en dernier), correspond à l’algo utilisé (RSA, DH, >)
⇒ le client dispose donc de la clé publique du serveur
� Server key exchangeServer key exchange– envoyé uniquement si le client n’a pas
toutes les données nécessaires (ex: le serveur n’a pas de certificat)
– paramètres de la clé de chiffrement (modulo, exposant>)
– hash MD5/SHA (client.random + server.random+paramètres)
234 Anas Abou El Kalam
La négociation de session TLS (13)
� Certificate requestCertificate request– envoyé uniquement si l’authentification du
client est requise– types de certificats admis– noms d’autorités de certification reconnues
� Server hello doneServer hello done– le serveur attend une réponse du client
� Client certificateClient certificate– envoyé uniquement si le serveur a réclamé
une authentification du client– certificat– si le client ne possède pas de certificat, une
alerte est envoyée au serveur. Suivant les cas, cela peut faire échouer la négociation
235 Anas Abou El Kalam
La négociation de session TLS (14)
� Client key exchangeClient 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 « rollback attacks »)
– il chiffre ce pre-master secret avec la clé publique du serveur
� Calcul des clésCalcul des clés– le pre-master secret, client.random et server.random permettent
au client et au serveur de calculer :• 2 clés de sessions (une pour chaque sens), et • 2 clés secrètes à utiliser pour les MACs.
Pre Master Secret Key (46 bits)
N° version (2 bits) RSA
Clé publique
du serveur
Client Key Exchange
Pre Master SecretKey sécurisé
236 Anas Abou El Kalam
La négociation de session TLS (15)
� Certificate verifyCertificate verify– envoyé si le client a envoyé un certificat qui permet de signer– hash MD5 et hash SHA de tous les messages de négociation
envoyés jusqu’ici
� Client Finish et Server FinishClient Finish et Server Finish– envoyé après un Change Cipher Spec et donc chiffré avec
les nouveaux algorithmes négociés.– client et serveur doivent envoyer un “Finish” et vérifier celui
qu’il reçoive de la partie opposée.– PRF(master_secret,finished_label, Hash MD5 +Hash SHA
de tous les messages de négociations envoyés jusqu’ici) sur 12 octets, finished_label = “client finished” ou “server finished”.
237 Anas Abou El Kalam
TLS : génération des clés (16)
� Utilisation d�’une fonction de génération de Utilisation d�’une fonction de génération de nombres pseudo aléatoires (nombres pseudo aléatoires (PRFPRF))– permet de convenir de secrets relativement courts et de générer
des clés bien plus longues– l ’utilisation de deux algorithmes de hash différents augmente la
sécurité
PRF(secret,chaine ASCII,sel)=P_MD5(moitié_secret,chaine+sel) XOR P_SHA(autre moitié_secret,chaine+sel)
P_hash(secret,sel)=HMAC_hash(secret,A(1)+sel)+ HMAC_hash(secret,A(2)+sel)+ …où A(0)=sel et pour i>0 A(i)= HMAC_hash(secret,A(i-1)
238 Anas Abou El Kalam
TLS : génération des clés (17)
� Génération du secret maître à partir de :Génération du secret maître à partir de :– pré secret maître établi par le client (client key exchange)– des aléas serveur et client– de la chaîne ASCII « master_key »– effacer le pré secret maître de la mémoire
� Génération d�’un bloc de clés à partir de :Génération d�’un bloc de clés à partir de :– secret maître– des aléas serveur et client– de la chaîne ASCII « key expansion »– générer un bloc de taille suffisante (PRF) et le découper pour
obtenir la clé de scellement client, serveur, clé de chiffrement client et serveur, vecteurs d ’initialisation client et serveur (chiffrement par blocs)
239 Anas Abou El Kalam
TLS : pile de protocole (2)
� HandshakeHandshake
– authentification mutuelle C/S – négociation algos chiffrement,
hachage, échange clés symétriques� Change Cipher SpecChange Cipher Spec
� AlertAlert
� RecordRecord
– sécurité des données HTTP– sécurité des autres couches de
protocoles TLSIP
TCP
TLS Record Protocol
TLSHandshakeProtocol
TLS ModifCipherspec
protocol
TLS AlertProtocol HTTP
Quatre ProtocolesQuatre Protocoles
240 Anas Abou El Kalam
TLS : traitement des données (3)
Données applicatives
Fragment 1 Fragment 2
Compressé
MACCompressé
Fragmentation (214 octets maxi)
Compression (ajoute 1024 octets maxi)
Scellement (HMAC)
Fragment Chiffré
Chiffrement (ajoute 2048 octets maxi)
241 Anas Abou El Kalam
TLS : traitement des données (4)
� Fragmentation :Fragmentation :– frontières messages clients peuvent être déplacées– fragments de 214 octets au plus
� Compression (optionnelle) :Compression (optionnelle) :– ajoute au pire 1024 octets– sans pertes
� Sceau :Sceau :– HMAC(MAC_write_secret,seq_num+type de
protocole TLS+version TLS+taille du fragment compressé+fragment compressé)
– + = concaténation� Chiffrement :Chiffrement :
– le fragment peut être paddé (chiffrement par blocs)– on chiffre le fragment compressé + MAC– ajoute au pire 1024 octets
Données applicatives
Frag 1 Frag 2
Compressé
MACCompressé
Fragment Chiffré
242 Anas Abou El Kalam
TLS : PDU de données (5)
� Type de protocole : Type de protocole : – TLS Cipher Change
Protocol (20)– TLS Alert Protocol (21)– TLS Handshake Protocol
(22)– données applicatives (23)
� Version : 3.1Version : 3.1
� Taille : Taille : – taille des données
chiffrées (214+2048 max).
Type Maj Min Taille
Données (compressées)
MAC
chiffré
243 Anas Abou El Kalam
TLS : protocole d ’alerte (6)
� Niveau d�’alerte :Niveau d�’alerte :– avertissement– fatal
� Message :Message :– fermeture de session– mauvais format de message– MAC erroné, erreur de
déchiffrement, erreur de décompression
– overflow (message trop long)– mauvais certificat– ...
Niveau Description
PDU alerte
244 Anas Abou El Kalam
Var d’état d’une session TLS
� Session IDSession ID (l'dentifiant de session) – séquence aléatoire de 32 octets choisie par le serveur pour identifier session.
� Peer certificatePeer certificate (le certificat du pair) – c'est un certificat X 509 du correspondant (soit pour un serveur ou un client).
� Compression methodCompression method – Algo de compression utilisé
� Cipher specCipher spec (suite de chiffrement) – définit les algorithmes de chiffrement et de hachage
� MasterSecret MasterSecret – clé de 48 octets partagée entre le client et le serveur.
� Is resumableIs resumable (le drapeau) – flag qui indique si il est possible d'ouvrir de nouvelles connexions sur la session
en question
245 Anas Abou El Kalam
Var d’état d’une connexion TLS
� Les paramètres qui définissent une connexion SSL sont ceux qui se seront rafraîchis pendant une session lors d'établissement d'une nouvelle connexion :
� Server_randomServer_random et Client_randomClient_random– deux nombres aléatoires de 32 octets, générés par le C et le S lors de chaque connexion
� Server_MAC_write_secretServer_MAC_write_secret– clé secrète utilisé par le serveur pour calculer les MACs
� Client_MAC_write_secretClient_MAC_write_secret– clé secrète utilisé par le client pour calculer les MACs
� Server_write_keyServer_write_key– clé symétrique utilisé par le serveur pour le chiffrement des données.
� Client_write_keyClient_write_key– clé symétrique utilisé par le client pour le chiffrement des données.
� Initialization vectorsInitialization 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 numberSequence number– chaque message est numéroté, l'un pour le S, l'autre par le C, et chacun codé sur 8 octets.
246 Anas Abou El Kalam
SSL vs TLS ? (18)� Différences minimes :Différences minimes :
– TLS = « SSL v3.1 »– TLS Record Protocol utilise HMAC pour sceller les données– Avec TLS, taille du padding des données « imprévisible » (jusqu ’à
255 octets), tandis qu ’avec SSL, la taille du padding était prévisible (juste ce qui est nécessaire pour être un multiple de la taille du bloc de chiffrement)
– TLS utilise une fonction de génération pseudo-aléatoire (PRF) là où SSL utilisait des imbrications de hash MD5 et SHA
– TLS ne supporte pas Fortezza comme algo d ’échange de clés.
247 Anas Abou El Kalam
Attaques sur SSL/TLS� Attaques sur les mise en œuvres des protocolesAttaques sur les mise en œuvres des protocoles
– Comme toute appli logicielle, les MeV de SSL/ TLS peuvent présenter vulnérabilités permettant à un utilisateur mal intentionné d'exécuter du code arbitraire à distance ou de provoquer un DoS.
• Appliquer CORRECTIFS correspondants aux MAJ de ces applis
� Attaques Attaques rollback (sur anciennes versions)rollback (sur anciennes versions)• l'attaquant cherche à modifier le choix des algos d'échanges de clés de
façon à ce que les 2 entités n'utilisent pas les mêmes (RSA et DH par exemple).
• cet attaquant pourra déchiffrer le message car les paramètres fournit par le serveur dans le cas d'un algorithme n'offrent aucune sécurité si on les 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.
248 Anas Abou El Kalam
Attaques sur SSL/TLS� Attaque de type "man in the middle"Attaque de type "man in the middle"
– intercepter trafic entre deux parties avant qu'elles ne débutent une session SSL. L'intercepteur négocie alors une session avec chaque partie et fait suivre le trafic en le déchiffrant et rechiffrant à la volée.
– 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.
– Si, malgré l'avertissement du navigateur sur le certificat, le client poursuit sa session, l'intercepteur obtiendra toutes les infos que le client envoie au serveur sans que ce dernier ne s'en rende compte.
– ++ outils qui reproduisent cette attaque sont disponibles sur l'Internet.
249 Anas Abou El Kalam
Solutions ?� Vérifier correctement le certificat présenté par le serveur. C'est Vérifier correctement le certificat présenté par le serveur. C'est
la seule manière de s'assurer que la connexion ne sera pas la seule manière de s'assurer que la connexion ne sera pas
interceptée par un éventuel attaquant.interceptée par un éventuel attaquant.
– Dans les navigateurs, les certificats racine de certaines autorités de certification sont pré-installés.
– Lorsque le certificat présenté par un serveur n'a pas été signé par l'une de ces autorités, le navigateur demande confirmation avant d'accepter le certificat. Il faut alors s'assurer que le certificat présenté par le serveur est le bon certificat.
– Cette vérification peut se faire à l'aide de deux champs du certificat : le 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 communication de confiance (téléphone, courrier, diffusion de la main à la main, ...) par lequel pourront être comparés les numéros de série et les empreintes.De même, il ne faut installer un certificat d'autorité qu'après s'être assuré que le certificat est correct.
250 Anas Abou El Kalam
Limites ?� SSL/TLS servent à sécuriser les échanges d'informations SSL/TLS servent à sécuriser les échanges d'informations
entre un client et un serveur et à obtenir un entre un client et un serveur et à obtenir un authentification mutuelle.authentification mutuelle.
� Une session SSL/TLS correctement établie va donc Une session SSL/TLS correctement établie va donc protéger les échanges entre les parties, mais ne sera en protéger les échanges entre les parties, mais ne sera en aucun une garantie de sécurité pour les systèmes client aucun une garantie de sécurité pour les systèmes client ou serveur.ou serveur.
� Ainsi, si un pirate installe par exemple un enregistreur de Ainsi, si un pirate installe par exemple un enregistreur de frappe (ou keylogger) sur le poste client, il sera en mesure frappe (ou keylogger) sur le poste client, il sera en mesure de récupérer les mots de passe ou toute information de récupérer les mots de passe ou toute information confidentielle, même si celle-ci a été émise lors d'une confidentielle, même si celle-ci a été émise lors d'une session SSL/TLS.session SSL/TLS.
� De même, un serveur qui utilise des sessions SSL/TLS pour De même, un serveur qui utilise des sessions SSL/TLS pour récupérer des données sensibles peut être compromis et récupérer des données sensibles peut être compromis et les données recueillies pourront être volées.les données recueillies pourront être volées.
� Il est donc primordial d'utiliser les protocoles SSL/TLS en Il est donc primordial d'utiliser les protocoles SSL/TLS en prenant certaines précautions, et ne pas leur prêter une prenant certaines précautions, et ne pas leur prêter une trop grande garantie de sécurité sur l'ensemble de la trop grande garantie de sécurité sur l'ensemble de la chaîne d'informationchaîne d'information.
251 Anas Abou El Kalam
TLS : conclusion (19)� AvantagesAvantages
– Protocole assez bien pensé et complet
– Supportés par de nombreux navigateurs et donc + ou - “standard”
– Déployé et utilisé à grande échelle, grace à sa transparence par rapport au protocole TCP. Il garantit l'authentification, la confidentialité et l'intégrité des données.
– Avec son architecture modulaire, il ne se limite pas à des applications traditionnelles, puisque il intègre les réseaux sans fil comme le WAP (Wirless Transport Layer) sous le nom WTLS.
� InconvénientsInconvénients
– On n’est pas averti si le certificat utilisé est répudié
– 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).
252 Anas Abou El Kalam
Kerberos : agenda
▷▷▷▷ Kerberos > Introduction : pourquoi Kerberos ?> Le protocole et les échanges> MIT Kerberos et les Applications> Attaques
▷▷▷▷ Déploiement> UNIX> Cisco (routeurs et switches)> Win2K
© 2001 Sécurité.Org
253 Anas Abou El Kalam
Kerberos
� ObjectifsObjectifs
– protocole d’authentificationd’authentification utilisé sur Unix– gratuit,développé par le MIT– supporté par S-HTTP• Utilise DES et des clés partagées• Tiers de confiance• utilise une horloge pour :
• limiter l’usage des clés dans le temps• détecter les attaques par rejeu• Authentification mutuelle
� RemarqueRemarque▷Kerberos ne fournit pas d’autorisation
▷ uniquement de l’authentificationl’authentification▷▷▷▷ Kerberos ne fait pas de chiffrement de données
254 Anas Abou El Kalam
Pourquoi utiliser Kerberos ?▷Authentification sécurisée
▷▷▷▷ Pas de transmission du mot de passe
▷▷▷▷ Single Sign On (regrouper tous les accès derrière un seul et unique mot de passe) n’est pas une bonne solution de sécurité
▷▷▷▷ Gestion centralisée de l’authentification
▷▷▷▷ Standard IETF (RFC 1510)
© 2001 Sécurité.Org
255 Anas Abou El Kalam
Kerberos (1)
– EntitésEntités
Client
Serveur de distribution de clé KDC
Service
256 Anas Abou El Kalam
Rôle du KDC (2)
� Le KDC se divise en deux parties :Le KDC se divise en deux parties :– le serveur d’authentificationserveur d’authentification (AS)– le service de distribution de ticket d’accèsservice de distribution de ticket d’accès (TGS).
• Un ticket est une information qui permet d’accéder à un service. Il est valable pendant une durée limitée
� Serveur d’authentification :Serveur d’authentification :– conserve une base de données contenant les clients et des services
ainsi que leurs clés privées– génère une clé de session (ticket) pour accéder au TGS
� Service de distribution de ticket :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)
257 Anas Abou El Kalam
Lexique Kerberos (1)
▷▷▷▷ KDC : Key Distribution Center. Base de données des clients et des serveurs (principaux) et les clés privées associées
▷▷▷▷ principal : trinôme <primary name, instance, realm> > user : login/staff@REALM > service : service/hote.fqdn@REALM
▷▷▷▷ primary : nom d’utilisateur ou du service
▷▷▷▷ instance : “qualifie” le primary (rôle/groupe)
▷▷▷▷ realm : domaine d’authentification
© 2001 Sécurité.Org 258 Anas Abou El Kalam
Lexique Kerberos (2)
▷▷▷▷ keytab : fichier contenant une ou plusieurs clés (pour des hôtes ou des services). Aussi connu sous SRVTAB.
▷▷▷▷ client : entité pouvant obtenir un ticket (utilisateur/hôte)
▷▷▷▷ service : host, ftp, krbtgt, pop, etc.
▷▷▷▷ ticket : crédits (identité d’un client pour un service particulier)
▷▷▷▷ TGT : ticket donné par l’AS. Permet au client d’obtenir d’autres tickets pour le même royaume
© 2001 Sécurité.Org
259 Anas Abou El Kalam
Key Distribution Center
▷▷▷▷ Responsable de la maintenance des clés maîtres et de la mise à disposition des tickets Kerberos
▷▷▷▷ L’Authentication Service (AS) donne au client une clé de session et unTicket Granting Ticket (TGT)
▷▷▷▷ Distribue les clés de session et les tickets pour les services via le Ticket Granting Service (TGS)
© 2001 Sécurité.Org 260 Anas Abou El Kalam
Le Protocole Kerberos (1)
▷▷▷▷ Ticket Kerberos
© 2001 Sécurité.Org
Domain
Principal Name
Ticket Flags
Encryption Key
Domain
Principal Name
Start Time
End Time
Host Address
Authorization Data
Chiffré
261 Anas Abou El Kalam
Kerberos (3)
Demande accès à TGSC,TGS
TGT “Ticket Granting ticket”Kctgs + Nom de TGS chiffré par Kc
Kctgs + Nom de C + validité, chiffré par KTGS
KctgsClient Authentication Server
Connaît la clé secrète des clients et
des servicesConnaît Kc (sa clé secrète)
Ticket Granting Service (TGS)
Connaît sa clé secrète KTGS
Heure de C + Nom de S chiffré par Kctgs
Clé de session + Nom de C, chiffré par KTGS
Kctgs
Kcs + Nom de S chiffré par Kcs
Kcs+Nom de C+validité,
chiffré par Ks
Kcs
Kctgs = clé de session C-TGS
Kcs = clé de session C-S262
Anas Abou El Kalam
Kerberos (4)
� AvantageAvantage– l’utilisateur n’entre son mot de passe qu’une seule fois,
lorsqu’il demande l’accès au TGS
� Problèmes de KerberosProblèmes de Kerberos– il faut “Kerberiser” les applications– le serveur d’authentification doit être sûr– si quelqu’un vole le mot de passe de l’utilisateur, il peut
“tout” faire...
263 Anas Abou El Kalam
Kerberos (5) : exemple
% kinit
Password for your_name@YOUR.REALM:
% klist
Ticket cache: /var/tmp/krb5cc_1234
Default principal: your_name@YOUR.REALM
Valid starting Expires Service principal
24-Jul-95 12:58:02 24-Jul-95 20:58:15 krbtgt/YOUR.REALM@YOUR.REALM
L’utilisateur entre son mot de passe
Realm : domaine d’authentification
On obtient un premier ticket pour le service TGS (krbtgt)
264 Anas Abou El Kalam
Kerberos (6) : exemple
% rlogin newhost.domain
Last login: Fri Jul 21 12:04:40 from etc etc
% klist
Ticket cache: /var/tmp/krb5cc_1234
Default principal: your_name@YOUR.REALM
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 13:03:33 24-Jul-95 20:58:15 host/newhost.domain@YOUR.REALM
% kdestroy
% klist
klist: No credentials cache file found while setting cache flags
(ticket cache /var/tmp/krb5cc_1234)
L’acquisition du ticket pour newhost.domain est transparent
(effectué par le TGS). On peut manuellement effacer les tickets
265 Anas Abou El Kalam
t icke
t
Le Protocole Kerberos (2)
▷▷▷▷ Echanges de tickets Kerberos
▷▷▷▷ Ports: kinit: 88/udp kpasswd (Unix): 749/tdp kpasswd (Win): 464/{tcp,udp}
© 2001 Sécurité.Org
Key Distribution Center
AuthenticationService
Ticket GrantingService
Utilisateur Service Réseau
266 Anas Abou El Kalam
Le Protocole Kerberos (3)
▷▷▷▷ Obtention d’un Ticket Granting Ticket (1+2)
> (1) Demande d’un TGT
> (2) TGT (déchiffré avec le hash du mot de passe de l’utilisateur)
© 2001 Sécurité.Org
Client KDC
Demande de TGT (1)
TGT (2)
267 Anas Abou El Kalam
Le Protocole Kerberos (4)
▷▷▷▷ Obtenir et utiliser un Service Ticket (3+4+5)
> (3) Demande de ST (avec le TGT) > (4) ST et clé de session > (5) ST pour l’authentification
© 2001 Sécurité.Org
Client
KDC
Serveur
Demande ST (3)
ST et SK (4)
ST (5)
268 Anas Abou El Kalam
Le Protocole Kerberos (5)
▷▷▷▷ Délégation de l’authentification
© 2001 Sécurité.Org
Client
Serveur
Serveur
KDC
TGT + ST
Demande de ST
ST et SK
ST
269 Anas Abou El Kalam
Realms
▷▷▷▷ Un royaume est un domaine d’authentification > Une base de données Kerberos et un ensemble de KDCs
▷▷▷▷ Organisation hiérarchique (nouveauté dans la version 5)
▷▷▷▷ Authentification uni ou bi-directionnelle
▷▷▷▷ Authentification inter-realm > transitive > directe entre royaumes
© 2001 Sécurité.Org 270 Anas Abou El Kalam
Le Protocole Kerberos (6)
▷▷▷▷ Authentification entre domaines
© 2001 Sécurité.Org
Client
Serveur
KDC
Demande de TGT
Demande de ST
ST et SK
KDC
TGT
ST et SK
271 Anas Abou El Kalam
Distribution du MIT
▷▷▷▷ Version utilisée: 5.1
▷▷▷▷ Inclus les logiciels client et serveur
▷▷▷▷ Plate-formes supportées : UNIXes (xBSD, Linux, Solaris, AIX, HP-UX, OSF/1, ...)MacOS 10
▷▷▷▷ DNS peut être utilisé
© 2001 Sécurité.Org 272 Anas Abou El Kalam
Applications Cerbèrisées
▷▷▷▷ telnet (avec chiffrement DES) et r-commandes
▷▷▷▷ CVS et ksu, klogin, k*
▷▷▷▷ SSH 1.2 supporte Kerberos V (utiliser au moins la version 1.2.30)
▷▷▷▷ SSL v3.0
▷▷▷▷ Cygnus Kerbnet (NT, MAC, Unix)
▷▷▷▷ non supporté par samba (problèmes liés aux extensions MS)
© 2001 Sécurité.Org
273 Anas Abou El Kalam
Cerbèrisation d’une application
▷▷▷▷ Toutes les applications sont adaptables
▷▷▷▷ Utilisation de l’API GSS
▷▷▷▷ Transport du ticket géré par l’application
© 2001 Sécurité.Org 274 Anas Abou El Kalam
Problèmes liés au NAT
▷▷▷▷ L’adresse du client se trouve dans le ticket
▷▷▷▷ Nécessité d’ajouter l’adresse translatée traduite dans le ticket
▷▷▷▷ Patch pour la version 5.1 (MIT Kerberos)
© 2001 Sécurité.Org
275 Anas Abou El Kalam
Attaques (1)
▷▷▷▷ Vulnérabilité dans le système d’authentification par usurpation (partie AS du KDC): fichier keytab et enregistrement des principaux pour le service (http://www.monkey.org/~dugsong/kdcspoof.tar.gz)
▷▷▷▷ Rejeu: détecté (synchronisation d’horloge du client et du serveur)
▷▷▷▷ Clés exposées: durée de vie limitée, mais utilisées pour plusieurs sessions
▷▷▷▷ Faille dans l’utilisation des fichiers temporaires : utiliser krb5-1.2.1+
© 2001 Sécurité.Org 276 Anas Abou El Kalam
Attaques (2)
▷▷▷▷ Recherche du mot de passe : utiliser une bonne passphrase
▷▷▷▷ Clients “chevaux de Troie” : OTP
▷▷▷▷ Relation de confiance implicite entre les royaumes
▷▷▷▷ Forwarding des tickets
▷▷▷▷ Autres: KDC, stations partagées, ...
© 2001 Sécurité.Org
277 Anas Abou El Kalam
Clients *NIX
▷▷▷▷ RedHat (6.2 and 7) supporte Kerberos V > Installer le patch RHSA-2001:025-14
▷▷▷▷ Solaris/OpenBSD ne fournissent qu’un support Kerberos IV
© 2001 Sécurité.Org 278 Anas Abou El Kalam
Kerberos V sur les clients *NIX (1)
▷▷▷▷ Authentification gérée par l’API Kerberos
▷▷▷▷ Configuration de l’authentification par utilisateur : ~/.k5login - liste les principaux qui peuvent
se connecter sur ce compte
~/.k5users - liste les commandes qui peuvent être lancées via ksu (similaire à sudo)
▷▷▷▷ alternative PAM non conseillée
© 2001 Sécurité.Org
279 Anas Abou El Kalam
Kerberos V sur les clients *NIX (2)
▷▷▷▷ Telnet cerbèrisé : disponible
▷▷▷▷ SSH cerbèrisé : > SSH de SSH.Com 1.2.x et 2.x supportent Kerberos V > OpenSSH (jusqu’a la version 2.5.1) ne supporte pas encore Kerberos V: http://www.sxw.org.uk/computing/patches/
© 2001 Sécurité.Org 280 Anas Abou El Kalam
Kerberos V et Cisco (1)
▷▷▷▷ Routeurs Cisco > Telnet cerbèrisé > Authentification par mot de passe utilisant Kerberos (telnet, SSH et la console)
> 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)
© 2001 Sécurité.Org
281 Anas Abou El Kalam
Kerberos V et Cisco (2)
▷▷▷▷ IOS & mémoire sur les routeurs : > Nom de la fonctionnalité : Kerberos V client support > Feature set requis : au moins Enterprise
> N’est pas supporté par toute la gamme, par exemple :- Cisco 16xx- Cisco GSR (12xxx - Gigabit Switch Router)
> Besoins en mémoire :
Note: toujours vérifier via le Cisco IOS Feature Navigator
© 2001 Sécurité.Org
Hardware IOS RAM / Flash
26xx 12.0 32 / 812.1 48 / 16
72xx 12.0 64 / 1612.1 64 / 16
282 Anas Abou El Kalam
Kerberos V et Cisco (3)
▷▷▷▷ Exemple de configuration d’un routeur :aaa authentication login default krb5-telnet local
aaa authorization exec default krb5-instance
kerberos local-realm COLT.CH
kerberos srvtab entry host/bgp1.colt.ch@COLT.CH ...
kerberos server COLT.CH 192.168.0.14
kerberos instance map engineering 15
kerberos instance map support 3
kerberos credentials forward
line vty 0 4
ntp server 192.168.0.126
© 2001 Sécurité.Org
283 Anas Abou El Kalam
Kerberos V et Cisco (4)
▷▷▷▷ CatOS & mémoire sur les switches : > Au moins Supervisor Engine Software Release 5.x
> Uniquement supporté par les Catalyst 4000, 5000 et 6K > Uniquement supporté par les SE I (pas par les SE II) sur Cat6K
> Besoins en mémoire :
Note: toujours vérifier les Release Notes
© 2001 Sécurité.Org
Hardware CatOs Mémoire
4000 5.2+ 64 6.1 64
6000 5.4+ 646.1 64 (SE1)
284 Anas Abou El Kalam
Kerberos V et Cisco (5)
▷▷▷▷ Exemple de configuration d’un switch :#kerberos
set kerberos local-realm COLT.CH
set kerberos clients mandatory
set kerberos credentials forward
set kerberos server COLT.CH 192.168.0.82 88
set kerberos srvtab entry host/sw1.colt.ch@COLT.CH ...
#authentication
set authentication login kerberos enable telnet primary
set authentication enable kerberos enable telnet primary
#ntp
set ntp client enable
set ntp server 192.168.0.11
© 2001 Sécurité.Org
285 Anas Abou El Kalam
Kerberos V et Win2K (1)
▷▷▷▷ Supporte Kerberos pour les connexions interactives
▷▷▷▷ Le protocole est un Security Provider sous le SPPI (Security Support Provider Interface) et est lié à la LSA (Local Security Authority)
▷▷▷▷ Le cache des tickets est géré par la LSA
▷▷▷▷ Telnetd supporte Kerberos
© 2001 Sécurité.Org 286 Anas Abou El Kalam
Kerberos V et Win2K (2)
▷▷▷▷ Support Tools
▷▷▷▷ Configuration d’une station Win2K: ksetup /setdomain COLT.CH ksetup /addkdc COLT.CH kdc.colt.ch ksetup /setmachpassword password ksetup /mapuser user@COLT.CH localuser ksetup /mapuser * *
▷▷▷▷ Windows Time Server (+ registry)
▷▷▷▷ Pas de SSH cerbèrisé, seulement quelques (mauvais) clients telnet
© 2001 Sécurité.Org
287 Anas Abou El Kalam
� Généralités– développé par MSI S.A – sécuriser les communications
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
Security BOX ® SHL
288 Anas Abou El Kalam
Security BOX ® SHL (2)
� Présentation générale de la solutionPrésentation générale de la solution– sur le poste client : un proxy HTTP– sur le serveur : une gateway, et derrière, les différents sites
WEB à protéger.
289 Anas Abou El Kalam
Security BOX ® SHL (3)
Proxy SHL Gateway SHL
1N° de version
Rep-1
Mécanismes de chiffrement et de scellement supportés, certificat et logo du site, aléa (anti-rejeu), défi
pour authentification
2
Choix des mécanismes, aléa, réponse au défi
d’authentification, clés de session chiffrées par clé publique
du site, scellement 1 & 2Vérification
Agent d’authentification
Défi
Génération de clés de session
(scellement, chiffrement)
Rép.
Rep-2Confirmation de
l’authentification, scellement Rep-1 & Rep-2
Conf.
Rép.
Fournisseur d’authentification
Défi
Conf.
Vérif.
290 Anas Abou El Kalam
Security BOX ® Classic (1)
� GénéralitésGénéralités– développé par MSI S.A– sécurisation “locale” des
fichiers– une version freeware et
une version “classic” (quelques légères différences)
– plateformes Windows, Mac, UNIX (Linux, Solaris, AIX...)
– très simple d’utilisation (drag & drop)
291 Anas Abou El Kalam
Security BOX ® Classic (2)
� Fonctions :Fonctions :– chiffrement par du Triple D.E.S
168 bits ou 56 bits
– gestion de listes de fichiers à chiffrer/déchiffrer
– gestion du mot de passe (demander à chaque chiffrement, toutes les 5 minutes>)
– création d’auto-extractibles (distribution plus facile)
– multi-utilisateurs : comptes séparés, possibilité de partage de fichiers
– procédure de sauvetage– effacement sécurisé
292 Anas Abou El Kalam
Security BOX ® Classic (3)
Diversifiant
Mot de passe (mdp)
Fichier
Kf chiffré par Km
Fichier chiffré
par Kf
Génération aléatoire
d’une clé Kf
Création d’un compte :l’utilisateur choisit :- un diversifiant
- un mot de passe (mdp)
Clé maître (Km)
Algo.
Compte de l’utilisateur :
Km chiffré par mdp
Chiffrement
d’un fichier :
293 Anas Abou El Kalam
La législation française
� La DCSSI (ex SCSSI)La DCSSI (ex SCSSI)– http://www.scssi.gouv.fr
� Décret du 17 mars 1999Décret du 17 mars 1999– http://www.internet.gouv.fr/francais/textesref/cryptodecret99200.htm– Libres d ’utilisation, fourniture, importation, exportation :
• protection de logiciel, protection d ’identifiants• signatures, authentification et vérifications• systèmes de contrôles d ’accès physiques (DAB>), gestion de
facturation=> à condition qu’ils ne puissent pas être déviés en méthodes de chiffrement
– Libres d ’utilisation et d ’importation :• chiffrement jusqu ’à 40 bits• chiffrement jusqu ’à 128 bits à condition que le fournisseur l’ait déclaré,
ou qu’ils soient réservés à un usage strictement privé.� Projet de Loi sur la Sécurité Quotidienne Projet de Loi sur la Sécurité Quotidienne (oct 2001)(oct 2001)
– Enrichi de 13 amendements pour la lutte contre le terrorisme294
Anas Abou El Kalam
Références
� RFC 1938 “A One-Time Password System” de RFC 1938 “A One-Time Password System” de N. Haller et C. Metz N. Haller et C. Metz
� KerberosKerberos– RFC 1510 “The Kerberos Network Authentication Service (V5)”
de C. Neuman et J. Kohl• http://www-bib.fh-bielefeld.de/epub/doc/rfc-index.html
– The Moron’s Guide to Kerberos http://www.isi.edu/gost/brian/security/kerberos.html
� S-HTTP : Adam Shostack’s home pageS-HTTP : Adam Shostack’s home page– http://www.homeport.org/~adam/
� SSL v3.0, TLS v1.0SSL v3.0, TLS v1.0– http://home.netscape.com/eng/ssl3/ssl-toc.html– RFC 2246 : http://www.ietf.org/rfc/rfc2246.txt?number=2246
� Security BOX ® SHL, Security BOX ® Classic Security BOX ® SHL, Security BOX ® Classic – http://www.msi-sa.fr
295 Anas Abou El Kalam
IPSec
� IPSec est une architecture de sécurité définie par l’IETF IPSec est une architecture de sécurité définie par l’IETF
(Internet Engineering Task Force) pour IPv6 et IPv4(Internet Engineering Task Force) pour IPv6 et IPv4
� Elle supporte les services suivants :Elle supporte les services suivants :
– Authentification des extrémités : permet à chacun de s'assurer de l'identité de son interlocuteur (IPSec est un protocole de niveau 3 � authen. Machines)
– Confidentialité des données échangées
– Authenticité des données � chaque paquet échangé a bien été émis par la bonne machine et il est bien à destination de la seconde machine.
– Intégrité des données échangées � aucun paquet n'a subit de modification quelconque durant son trajet.
– Protection contre les écoutes et analyses de trafic � chiffrer les adresses IP Source/Destination, ainsi que tout l'en-tête IP (mode de tunneling�empêche écoute d'inférer infos sur identités réelles extrémités tunnel, sur protocoles utilisés au-dessus d'IPSec, sur l'appli utilisant tunnel)
– Protection contre le rejeu
� Services Services au niveau réseau au niveau réseau �� éviter implantation éviter implantation
redondante des mécanismes sécu aux niveaux supérieursredondante des mécanismes sécu aux niveaux supérieurs
� IPSec n’est pas un protocole fixe (ex: alg de chiffrement)IPSec n’est pas un protocole fixe (ex: alg de chiffrement) 296 Anas Abou El Kalam
IPSec : les sous protocoles
� IKEIKE (IInternet KKey EExchange) : établir 1er tunnel entre 2 machines (tunnel IKE)� Phase 1 "tunnel administratif" : gérer tunnels secondaires, leur création,
rafraîchissement clés, etc... (!! ¬¬¬¬¬¬¬¬ transmission données !!) � Phase 2 : établir autant de tunnels secondaires que nécessaire pour la
transmission des données utilisateur entre les 2 machines.
• Tunnels pr échanges données s'appuient sur 2 Tunnels pr échanges données s'appuient sur 2 protocoles différents suivant besoins sécurité Uprotocoles différents suivant besoins sécurité U• AHAH (AAuthentication HHeader) � établir identité extrémités.
• Ne garantit aucune confidentialité (chiffrement) des données !!
• ESPESP (EEncapsulating SSecurity PPayload) � chiffrer données, avec ou sans les entêtes des paquets si l'on souhaite le mode tunneling.
• Garantit également l'authenticité des données et, à ce niveau, peut introduire de la redondance par rapport à AH.
�AH et ESP peuvent être utilisés séparément ou combinésAH et ESP peuvent être utilisés séparément ou combinés ⇒ Complexité modulable en fonction des besoinsComplexité modulable en fonction des besoins
297 Anas Abou El Kalam
Description des modes d'IPSec
� Mode TransportMode 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 TunnelMode 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 NestingMode Nesting : hybride puisqu'il utilise les 2 modes � Encapsuler de l'IPSec dans de l'IPSec
298 Anas Abou El Kalam
IPSec
299 Anas Abou El Kalam
Authentification
� L’extension d’authentification (AH) est placée juste L’extension d’authentification (AH) est placée juste après le header du datagramme IPaprès le header du datagramme IP
Header IPv4 AH Header TCP Données TCP
0 1 2 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Header | Payload Len | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Security Parameters Index (SPI) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number Field |
Référence une association de sécurité utilisée
Evite lesattaques par rejeu
Authentification (sauf les champs modifiables)
300 Anas Abou El Kalam
Association de sécurité
� L’association de sécurité (SA) L’association de sécurité (SA) – 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.,• @ sources/Dest + ports autorisées à utiliser cette association ; protocole• Pour AH/ESP : Algo d’authentification ; clés utilisées; durée validité clés ; >• Données¶m d'anti-rejeu : nbres séquence, compteurs, fenêtres anti-rejeu• Type d'en-tête IPSec : modes Transport, Tunnel ou les 2• >
� permet d’implanter la généricitégénéricité de IPSec : elle va définir :
� Les données de la SA sont trop importantes pour pouvoir Les données de la SA sont trop importantes pour pouvoir être transportées in extenso dans chaque headerêtre transportées in extenso dans chaque header
� On utilise le champ «�On utilise le champ «�Security Parameter IndexSecurity Parameter Index�» SPI qui �» SPI qui permet permet d’identifier le SA de manière unique d’identifier le SA de manière unique au niveau de au niveau de la destinationla destination⇒ Avant de communiquer, la source doit négocier avec la destination le SPI à
utiliser
301 Anas Abou El Kalam
Association de sécurité
� L’accès aux L’accès aux SADSAD (Security Association Database) est (Security Association Database) est réalisé via deux bases de données :réalisé via deux bases de données :– La SPDSPD (Security Policy Database)– La SADSAD (Security Association Database)
� La SPD précise en fonction d’un sélecteur une SA à La SPD précise en fonction d’un sélecteur une SA à utiliser. Un sélecteur peut utiliser les informations utiliser. Un sélecteur peut utiliser les informations suivantes :suivantes :– Une adresse IP source– Une adresse IP destination– L’identité d’un utilisateur (obtenue via un répertoire)– L’identité d’un équipement– Un niveau de sensibilité des données– Les ports source et destination (si on utilise TCP/UDP)
� La SAD stocke les SALa SAD stocke les SA
302 Anas Abou El Kalam
Confidentialité
� L�’extension de confidentialité est constituée L�’extension de confidentialité est constituée d’un header et d’un trailerd’un header et d’un trailer
Header IPv4 Header ESP Header TCP Données TCP Trailer ESP + Auth
0 1 2 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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Security Parameters Index (SPI) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | Padding (0-255 bytes) |+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | Pad Length | Next Header |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Authentication Data (variable) |~ ~| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Authentification
Encryption
303 Anas Abou El Kalam
Tunneling IPSec
� IPSecIPSec a été présenté jusqu’à présent dans son utilisation en mode ‘ Transport ’
� Un second mode existe : le mode ‘ TunnelTunnel ’ ou des datagrammes IP sont encapsulésencapsulés dans d’autres datagrammes IP.– Encapsulation permet de :
• créer des réseaux privés virtuels (ou VPNVPN). � É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.
Tunnel IPSec
Datagramme IP Datagramme IP Datagramme IP
Datagramme IPSec
Partie données du datagramme IPSec
Datagramme IP
304 Anas Abou El Kalam
Tunneling IPSec
� propriétés générales des tunnels propriétés générales des tunnels �� VPNs : VPNs :– les données transitant sont chiffrées (confidentialité+Intégrité)– les 2 extrémités sont authentifiées– les adresses sources/destinations sont chiffrées (IP dans IPSec)– autres qualités :anti-rejeux, empêcher attaques man-in-the-middle.
305 Anas Abou El Kalam
Internet Key Exchange
� On l’a vu, la valeur du champ SPI n’a de On l’a vu, la valeur du champ SPI n’a de signification que dans le contexte d’une signification que dans le contexte d’une communication donnée, il n’existe pas communication donnée, il n’existe pas d’associations globales (i.e. bien connue) entre une d’associations globales (i.e. bien connue) entre une valeur SPI et une SAvaleur SPI et une SA
� Il faut un mécanisme pour que les deux entités Il faut un mécanisme pour que les deux entités tombent d’accord sur une valeur de SPI et la tombent d’accord sur une valeur de SPI et la sémantique qui est rattachéesémantique qui est rattachée
⇒ Architecture IKE (Internet Key Exchange)
� IKE est formé des composants suivants :IKE est formé des composants suivants :– Un protocole de gestion (création, modificatoin et destruction) des
SA générique : ISAKMP– Un protocole d’échange de clés de session : Oakley, DH, > – Des infrastructures à clés publiques (PKI) : PKIX ou SPKI
306 Anas Abou El Kalam
Internet Key Exchange
� ISAKMP est un protocole de gestion de clés et ISAKMP est un protocole de gestion de clés et d’associations de sécuritéd’associations de sécurité
� Il est indépendant :Il est indépendant :– Du protocole à sécuriser (IPSec, Transport Layer Security) – De la structure des SA qui doit être décrite dans un document
appelé DOI (Domain of Interpretation)– De l’algorithme d’authentification et de chiffrement utilisé
� ISAKMP fonctionne en deux phases :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 manière, on sécurise la phase suivante de ISAKMP
– Lors de la seconde phase, on négocie les paramètres du SA qui va être utilisé pour la communication sécurisée (à l’aide du AH ou ESP)
307 Anas Abou El Kalam
Internet Key Exchange
� ISAKMP définit des blocs de base ISAKMP définit des blocs de base supportant les services suivants (entre supportant les services suivants (entre autres ) :autres ) :– Négociation des paramètres d’un SA– Echange de clés publiques (en utilisant DH, Oakley >)– Demande de certificat– Notification d’erreur
� Avant d’utiliser ISAKMP, il faut construire Avant d’utiliser ISAKMP, il faut construire des type d’échanges (exchange types) qui des type d’échanges (exchange types) qui sont des scénarios représentant les sont des scénarios représentant les différents échanges de blocs de basedifférents échanges de blocs de base
308 Anas Abou El Kalam
Internet Key Exchange
� IKEIKE est l’instantiation de ISAKMP avec Oakley, un est l’instantiation de ISAKMP avec Oakley, un protocole d’échanges de clés (c’est donc un protocole d’échanges de clés (c’est donc un exchange type)exchange type)
� IKE existe en quatre modes (main, agressive, quick IKE existe en quatre modes (main, agressive, quick et new group) offrant différentes propriétés et new group) offrant différentes propriétés sécuritaires et étant plus ou moins rapides (en sécuritaires et étant plus ou moins rapides (en fonction du nombre de messages).fonction du nombre de messages).
IPIPSec
TCP - UDP
IKE(ISAKMP/
Oakley)HTTP, FTP,…
Application
SPD
SAD
Security admin
Création
Consultation
Modification,négociation,suppression
Utilisation
309 Anas Abou El Kalam
Public Key Infrastructure
� Les services d’authentification, d’intégrité et Les services d’authentification, d’intégrité et confidentialité reposent surconfidentialité 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
asymétriques]
� Les systèmes symétriques sont souvent utilisés dans les Les systèmes symétriques sont souvent utilisés dans les banques mais nécessitent une infrastructure très lourde banques mais nécessitent une infrastructure très lourde pour protéger le secret qui doit être mobile (et ne peut pour protéger le secret qui doit être mobile (et ne peut être utilisé longtemps)être utilisé longtemps)
� Les systèmes asymétriques nécessitent Les systèmes asymétriques nécessitent l’authentification de la clé publique afin d’être certain de l’authentification de la clé publique afin d’être certain de l’identité de son correspondantl’identité de son correspondant– Ce problème se pose à chaque transaction et pour chaque correspondant– Il est donc délicat voire impossible d’utiliser des procédures manuelles
⇒ Les PKI répondent à ce besoinLes PKI répondent à ce besoin
310 Anas Abou El Kalam
Public Key Infrastructure
Applications
Authentification
Confidentialité
Intégrité
Nonrépudiation
PKI
Utilise
Utilise
Certificat de clé
publique
311 Anas Abou El Kalam
Aspects juridiques
1997
Recommandation97/489/CE
« Lien entre le titulaireet l’émetteur »
1999
Directive1999/93/CE« Signature
électronique »
2000
Directive2000/31/CE« Commerceélectronique »
Loi2000-230
Décret2001-272
2001
EU
RO
PE
FR
AN
CE
� Evolution juridique de la signature électroniqueEvolution juridique de la signature électronique
312 Anas Abou El Kalam
La Directive 1999/93/CE
� La Directive européenne 1999/93/CELa Directive européenne 1999/93/CE– 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 :
� Article 2 : définitions Article 2 : définitions – Signature électronique : authentification– Signature électronique avancée : authentification, intégrité et non
répudiation– Certificat : donnée qui confirme la relation entre une personne et sa
signature électronique– 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
313 Anas Abou El Kalam
La Directive 1999/93/CE
� ArticleArticle 5 : reconnaissance légale de la signature 5 : reconnaissance légale de la signature électroniqueélectronique– La signature électronique doit être acceptée au même titre qu’une signature
manuscrite pour autant que :• Elle soit accompagnée d’un certificat qualifié• Qu’elle soit créée par un dispositif sécurisé
– Cependant, une signature électronique ne peut être rejetée directement comme preuve non valide si elle ne respecte pas ces contraintes
� Article 4 : principe de la libre circulation sur le marché Article 4 : principe de la libre circulation sur le marché intérieurintérieur– Les produits et services relatifs à la signature électronique sont soumis aux
législations des pays d’origine, ils doivent circuler librement
� Article 3 : absence d’autorisation préalable et accès au Article 3 : absence d’autorisation préalable et accès au marchémarché– La fourniture des services de certification n’est pas soumise à une autorisation
préalable > cependant les états membres peuvent émettre des recommendations visant à augmenter la qualité de ces services
314 Anas Abou El Kalam
La Directive 1999/93/CE
� Article 6 : responsabilité des prestataires de Article 6 : responsabilité des prestataires de certificationcertification– Les prestataires sont responsables d’un minimum de choses :
• Ils doivent s’assurer de l’exactitude des informations contenues dans le certificat
• Ils doivent s’assurer que le porteur du certificat est attitré en tant que tel• Ils doivent assurer que dans le cas où le prestataire génère les
données nécessaires à la signature et à la vérification, ces données soient effectivement complémentaires
� Article 8 : protection des données personnellesArticle 8 : protection des données personnelles– Les prestataires sont tenus à respecter la Directive européenne sur
la protection des données personnelles 95/46/CE– De plus, ils ne peuvent récolter ces informations que depuis le
porteur du certificat (ou avec son consentement explicite)
315 Anas Abou El Kalam
La Directive 1999/93/CE
� Article 7 : la dimension internationaleArticle 7 : la dimension internationale– Cet article prévoit des mécanismes de coopération pour
faciliter les accords bi-latéraux en vue de favoriser le commerce électronique
� Articles 9 & 10 : création d’un comité de Articles 9 & 10 : création d’un comité de conseilconseil– Un comité est créé pour assister la CE dans les décisions
concernant la signature électronique
316 Anas Abou El Kalam
La Loi 2000-230
� La Loi 2000-230 modifie quelques articles du code civilLa Loi 2000-230 modifie quelques articles du code civil
� L’article 1316 : la preuve écrite est indépendante du L’article 1316 : la preuve écrite est indépendante du support ou du mode de transmissionsupport ou du mode de transmission
� L’article 1316-1 : la signature électronique est acceptée L’article 1316-1 : la signature électronique est acceptée en tant que preuve à condition qu’elle possède les en tant que preuve à condition qu’elle possède les propriétés d’authentification et d’intégritépropriétés d’authentification et d’intégrité
� L’article 1316-2 : le règlement des conflits, lorsqu’il n’y a 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 pas de texte explicite, se fait par le juge en utilisant la preuve la plus vraisemblable, quelque soit le supportpreuve la plus vraisemblable, quelque soit le support
� L’article 1316-3 : l’écrit électronique a la même force L’article 1316-3 : l’écrit électronique a la même force probante que l’écrit sur papierprobante que l’écrit sur papier
317 Anas Abou El Kalam
La Loi 2000-230
� L’article 1316-4 : institution de la propriété L’article 1316-4 : institution de la propriété officielle de la signature et équivalence de la officielle de la signature et équivalence de la signature électronique lorsqu’elle est établie par un signature électronique lorsqu’elle est établie par un processus fiableprocessus fiable
� L’article 1317 : extension de l’acte authentique au L’article 1317 : extension de l’acte authentique au support électronique support électronique
� L’article 1326 : un acte unilatéral engagant un L’article 1326 : un acte unilatéral engagant un signataire doit être écrit signataire doit être écrit par lui-mêmepar lui-même, la , la précedente version de l’article indiquant précedente version de l’article indiquant par sa par sa mainmain
� Le décret 2001-272 suit la Directive 1999/93/CE et Le décret 2001-272 suit la Directive 1999/93/CE et offre un cadre opérationnel pour la Loi 2000-230offre un cadre opérationnel pour la Loi 2000-230
Recommended