la cryptographie - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · la cryptographie anas...

80
LA CRYPTOGRAPHIE LA CRYPTOGRAPHIE Anas ABOU EL KALAM Anas ABOU EL KALAM ENSEEIHT ENSEEIHT 2 Anas Abou El Kalam Bibliographie Cours de cryptographie Cours de cryptographie Gilles Zemor, Edition Cassini Introduction aux méthodes de la cryptographie Introduction aux méthodes de la cryptographie Brassart, Beckett Cryptographie appliquée Cryptographie appliquée Bruce Schneier Handbook of applied cryptography Handbook of applied cryptography Menesez, Van Oorschott www.carc.math.uwaterloo.ca/hac Chryptographie théorie et pratique Chryptographie 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 Authentification Authentification Introduction : objectifs, définitions Fonction de hashage Signatures digitales et certificats Applications Applications PAP, CHAP, NTLM TLS, Kerberos 4 Anas Abou El Kalam Les différents domaines de sécurité Sécurité informatique Protections Firewall VPN, IPsec, IPv6 Détection d'intrusion Attaques et intrusions Virus, vers... Dénis de service prise de contrôle Sécurité des systèmes et réseaux Sécurité applicative locale Chiffrement local Biométrie, cartes à puce ... Sécurité applicative sur Internet PKI : certificats, signatures Authentification HTTP, NTLM... Sécurité applicative

Upload: vonhu

Post on 15-Sep-2018

249 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 2: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 3: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 4: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 �� � �� �� �� �� �� � � � � �� � � � � ��� � � � � � � � �� � �� � � �� � � �� �� ��� � �� � �� � �� � � �� �� � � � �� � � � �� � � � � � � �� �� �� � �� � � � � � � �� � � �� � � � � � � �� � �� � �� � �� � � �� ��  �� ¡ � � �¢ ¢� ��� � � �� � � � � �� � � � � � �� � � �� � �� � ���� � �� � � � � � � �¢ ¢� � � ��� �� £� � �� � �� � �� � �� �� � � �� � �� � �� � �� �� � � � �   � � �¢ ¢� � �� � � � �¤ �� � �� � �� �� � � �� ¥� � �� �   � � �� � � � �� � � � � � �� � �� � �� �� � � � � � �� � � � � �� �� � � � � � � �� � � �� � �� �   �� � ���� �� � � � � � � � �� �� � �

Page 5: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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...

Page 6: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 7: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 : ;

Page 8: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 ...

Page 9: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 10: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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).

Page 11: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 12: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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>

Page 13: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 14: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 15: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 16: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 17: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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é

Page 18: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 19: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 20: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 21: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 22: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 23: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 24: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 25: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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'.

Page 26: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 27: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 28: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 29: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 30: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 31: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 32: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 33: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 34: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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…

Page 35: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 !!

Page 36: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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)

Page 37: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 (*)

Page 38: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 39: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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++

Page 40: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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é

Page 41: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 42: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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: [email protected]

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

Page 43: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 44: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 !!!

Page 45: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 46: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 47: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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)

Page 48: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 49: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 50: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 51: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 52: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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)

Page 53: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 54: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 55: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 56: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 57: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 58: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 59: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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”.

Page 60: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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)

Page 61: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 62: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 63: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 64: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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)

Page 65: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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é

Page 66: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 [email protected]:

% klist

Ticket cache: /var/tmp/krb5cc_1234

Default principal: [email protected]

Valid starting Expires Service principal

24-Jul-95 12:58:02 24-Jul-95 20:58:15 krbtgt/[email protected]

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: [email protected]

Valid starting Expires Service principal

24-Jul-95 12:58:02 24-Jul-95 20:58:15 krbtgt/[email protected]

24-Jul-95 13:03:33 24-Jul-95 20:58:15 host/[email protected]

% 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

Page 67: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 68: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 69: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 70: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 71: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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/[email protected] ...

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/[email protected] ...

#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

Page 72: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 [email protected] 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.

Page 73: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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 :

Page 74: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 75: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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&param 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

Page 76: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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.

Page 77: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 78: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 79: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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

Page 80: LA CRYPTOGRAPHIE - irt.enseeiht.frirt.enseeiht.fr/anas/cours/crypto.pdf · LA CRYPTOGRAPHIE Anas ABOU EL KALAM ENSEEIHT 2 Anas Abou El Kalam Bibliographie Coursde cryptographie –

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