Vous êtes sur la page 1sur 72

Fondements de la

sécurité

Iset’Com 2019-2020
CHAPITRE III:

INTRODUCTION À LA CRYPTOGRAPHIE
Terminologie

 Cryptologie:
 Science (branche des mathématiques) des communications secrètes
réunissant la cryptographie et la cryptanalyse.
 Cryptographie :
 Conception d'algorithmes/protocoles
 Cryptanalyse :
 Casser des algorithmes/protocoles

3
Terminologie

 Cryptographie (cryptography) = Chiffrement


 Ensemble des méthodes et techniques qui permettent de transformer un
message afin de le rendre incompréhensible pour quiconque qui n’est pas
doté du moyen de le déchiffrer.
 On parle de chiffrer un message
 Le code résultant s'appelle cryptogramme
 L'action inverse s'appelle déchiffrement.

4
Terminologie

 Cryptanalyse (cryptanalysis)
 Art de révéler les messages qui ont fait l'objet d’un chiffrement
 Lorsqu'on réussie, au moins une fois, à décrypter un cryptogramme, on dit
que l'algorithme qui a servi à le chiffrer a été cassé.

5
Terminologie

 Un crypto-système:
 Ensemble composé par cinq uplets (P,C,K,E,D):
« P » est un ensemble fini de textes clairs (plain text)
« C » est un ensemble fini de textes chiffrés (cipher text)
« K » est l’espace de clés (key space), représente un ensemble fini de clés
possibles.
 Pour ∈ ∈
chaque k K, il existe une fonction de chiffrement ek E, et une fonction de
déchiffrement correspondante dk D ∈
 Les fonctions ek : PC et dk : CP doivent satisfaire:

dk(ek(x))=x pour chaque x ∈P

6
Crypto-système: principaux objectifs

 Le texte clair ne doit pas être facilement obtenu à partir d’un texte
chiffré.
 Les clés ne doivent pas être facilement obtenues à partir d’un texte
chiffré.
 L’espace des clés doit être assez large pour résister aux attaques
brute-force.
 Confusion: L’effet d’un petit changement sur le texte clair ne doit pas
être prévisible.
 La relation entre, d’une part (1) le texte clair et la clé de chiffrement, et
d’autre part (2) le texte chiffré doit être aussi difficile que possible
 Diffusion: Un petit changement dans le texte clair doit avoir un effet sur
une large partie du texte chiffré.

7
Chiffrement classique : transpositions,
substitutions
 Substitution
 Remplacement de chaque élément (bit, lettre, groupe de bits ou de lettres)
dans le texte clair par un autre élément.
 Principe de confusion présenté souvent comme réalisé par les substitutions
 Transposition
 Réarrangement des éléments du texte clair
 Principe de diffusion présenté souvent comme réalisé par les transpositions
 La plupart des systèmes utilisent plusieurs étapes de transposition et de
substitution.

8
Chiffrement par substitution mono alphabétique

 Chaque symbole du plaintext est remplacé par un autre de manière


unique
 Exemple: ESSALAMO ALEIKOM ==> WNNSYSPF SYEVQFP

 Cryptanalyse par analyse fréquentielle: facile


 Découverte par les arabes (Al KINDI):
 Idée: Chaque langage possède certaines caractéristiques:
 Fréquences des lettres, de groupes de 2 lettres....
==> insécurité du chiffrement par substitution

9
Chiffrement par substitution mono alphabétique
 Exemple: texte chiffré

 Comparaison des fréquences entre texte clair et chiffré

10
Chiffrement par substitution mono alphabétique
 Cryptanalyse

 Résultat:

 Faiblesse du chiffrement monoalphabétique: possibilité de l'analyse


fréquentielle
 Solution: substitution polyalphabétique
 Utiliser plusieurs alphabets de chiffrement et les utiliser lors du chiffrement de
différentes lettres
==> les fréquences des lettres du cryptogramme sont similaires
 Exemple: chiffrement de Viginère (1586)
11
Chiffrement de Viginère

 Traiter les lettres comme nombres: {A=0, B=1,...Z=25}


 Notation Zn={0, 1, 2,...(n-1)}
 Définition:
 Soit :
 P: plaintext, C: Ciphertext
m un entier >0, P=C=(Z26)n et K={k1, k2, ..km}
 Encryption: ek(p1, p2... pm) = (p1+k1, p2+k2...pm+km) (mod 26)
 Decryption: dk(c1, c2... cm) = (c1- k1, c2- k2...cm - km) (mod 26)
 Exemple
 Plaintext: ATTACKATDAWN
 Key: LEMONLEMONLE (la clé est re-écrite)
 Ciphertext: LXFOPVEFRNHR

12
Chiffrement de Viginère

 Tableau de viginère

13
Exemple de chiffrement par transposition: Rail fence
technique

 Principe: Le texte clair est réécrit comme une séquence de lignes, puis
réordonnée comme une séquence de colonnes
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
 Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ

 Cryptanalyse possible vue que l’algorithme préserve la fréquence de


distribution des lettres du texte original.

14
Cryptographie symétrique: principe

 Utiliser une même clé secrète K pour chiffrer et déchiffrer


 Usage : Confidentialité, authentification, mais pas de non répudiation.

Clé = K

Message Canal sécurisé


M
C = EK (M)
C M = DK (C )
Canal non sécurisé

15
Cryptographie symétrique: modes opérationnels

 Chiffrement par flux


 Opère sur un flux continu de données
 Mode adapté pour la communication en temps réel
 Implémenté en général sur des supports hardwares
 Chiffrement par bloc
 Opère sur des blocs de données de taille fixe
 Implémentation logicielle en général

16
Cryptographie symétrique: exemples

 Algorithmes de chiffrement en continu (stream Cipher)


 Exemple : RC4
 Taille de clé variable (128 bits en pratique).

 Algorithmes de chiffrement par blocs (Block Cipher)


 Chiffrement par blocs de texte clair 64 bits (DES), 128 bits (AES).
 DES ( clé de 56 bits), 3DES (clé de 168 bits en EDE3, 112 bits en EDE).,
AES (clé de taille 128 ou 192 ou 256 bits).

17
Cryptographie symétrique

 Avantages: Rapidité, et facilité de mise en œuvre sur des circuits.


 Critiques:
 Usage :
 Confidentialité, authentification, mais pas de non répudiation.
 Comment établir la clé K d'une manière sécurisée (confidentialité)?
 Comment mettre à jour la clé K ?
 Clé de session : temporaire
 Clé à long terme
 Besoin de N(N-1)/2 clés pour N utilisateurs => trop de clés

18
Cryptographie asymétrique

 Appelée aussi:
 Cryptographie à clé publique / à paire de clés / asymétrique
 Représente une révolution dans l’histoire de la cryptographie
 Chaque personne dispose d’une paire de clés :
 Clé privée sk : connue uniquement par son propriétaire
 Clé publique pk: clé disponible pour tout le monde
 publiée dans des annuaires publiques
 Il n’est pas possible de calculer sk en connaissant pk
 sk déchiffre ce qui a été chiffré avec pk et vice versa
 Exemples d'algorithmes: RSA, ElGamel, Rabin

19
Cryptographie asymétrique: premier mode

Clé publique Clé privée


du récepteur du récepteur

Texte clair Chiffrement déchiffrement Texte clair


Internet
Voici le Voici le
numéro numéro
de ma de ma
carte de ☺☼♀☻ carte de
crédit crédit
111111, ♠♣▼╫◊ 111111,
♫◙◘€£
¥₪Ω‫٭‬

Texte chiffré
Emetteur Récepteur

 Confidentialité des données assurée 20


Cryptographie asymétrique: deuxième mode

Clé privée Clé publique


de l’émetteur de l’émetteur

Texte clair chiffrement Internet Déchiffrement Texte clair


Voici le Voici le
numéro numéro
de ma de ma
carte de ☺☼♀☻ carte de
crédit crédit
111111, ♠♣▼╫◊ 111111,
♫◙◘€£
¥₪Ω‫٭‬

Texte chiffré
Emetteur Récepteur

 Authentification et non répudiation de l’émetteur assurées

21
Cryptographie asymétrique: exemples

 RSA
 Développé par Rivest, Shamir & Adleman à MIT en 1977, publié en
1978.
 Le plus connu et le plus utilisé comme algorithme : utilisé pour le
chiffrement et la signature électronique.
 Utilise des entiers très larges 1024+ bits
 La sécurité repose sur le coût de factorisation des entiers larges.
 Diffie-Hellman
 Algorithme utilisé pour l’échange et la distribution des clés symétriques.

22
Cryptographie asymétrique
 Avantages:
 Assure la confidentialité, l’authentification et la non répudiation
 N’est pas limitée par la distribution des clés
 Critiques:
 Système lent
 Problème d’implémentation sur les équipements disposants de faible
puissance de calcul (ex: cartes bancaire, stations mobiles, etc.)
 Clés longues
 Complexité algorithmique de la méthode (ex: réalisation des opérations
modulo n)
 Solution:
 Utilisationde la cryptographie asymétrique pour l’échange des clés
secrètes de session d'un algorithme symétrique à clés secrètes.

23
Échange de clés secrètes

Deux méthodes d’échange de clés pour le chiffrement symétrique:


1. Transport de clé (Key transport)
 Utilisation
d’un algorithme à clé publique pour chiffrer une clé de session
générée aléatoirement
 L’un crée la clé et la transmet à l'autre (chiffrement asymétrique)
2. Key agreement
 Une clé partagée est dérivée par 2 entités ou plus
 Exemple: le protocole Diffie-Hellman (DH) permettant de générer un secret
partagé à partir de données publiques

24
Transport de clés de session avec clé publique
Clé publique du Clé privée du
destinataire xxxx xxxx destinataire
chiffrement xxxx xxxx Déchiffrement
xxx xxx
Clé Clé secrète Clé secrète Clé secrète
secrète chiffrée chiffré
Réseau

------ Clé secrète xxxx


xxxx Clé secrète ------
------ Chiffrement xxxx
xxxx Déchiffrement ------
----- xxx
xxx -----
Message Message
Message Message
chiffré
original chiffré
original
Chiffrement hybride

25
Diffie-Hellman key agreement protocol
(logarithmique)

 Etablir une clé commune via un canal publique


p : nombre premier, g : générateur de Zp* ==> publiques
 Basé sur deux problèmes difficiles
 Discrete Log Problem(DLP) : étant donné (g, h, p) calculer a tel que
ga=h mod p
 Computational Diffie Hellman (CDH):étant donné gamod p et gbmod p
calculer gabmod p

26
Diffie-Hellman key agreement protocol
(logarithmique)

 Exemple : Alice et Bob souhaitent échanger une clé.


1. Soient les valeurs p = 353 et g = 3 rendues publiques.
2. Ils sélectionnent chacun une valeur aléatoire : A choisit a = 97, B choisit b =
233.
3. Ils calculent la clé publique : ga mod p= 397 mod 353 = 40(pour Alice) et gb
mod p = 3233 mod 353 = 248(pour Bob).
4. Et calculent finalement la clé de session : KAB = (gb mod p)a mod 353 = 24897
mod 353 = 160 (pour Alice) et KAB = KAB = (ga mod p)b mod 353 = 40233 mod
353 = 160 (pour Bob).
 Un imposteur pourrait cependant essayer de trouver KAB à partir de ga
mod p, de gb mod p de g et de p

27
Exercice 1

 Soit un système de communication à N nœuds où les messages


échangés entre les nœuds peuvent être facilement écoutés.
1. Quel est le nombre de clés à maintenir par chaque nœud pour assurer
une communication secrète entre chaque paire de nœuds :
a. Pour un système à clés symétrique ?
b. Pour un système à clé asymétrique ?
2. En déduire le nombre de clés du système pour chaque cas

28
Exercice 2
n

29
Fonction de hachage
 But: assurer l'integrité
 Génère à partir d'un message de longueur quelconque un résumé de
taille fixe
H (M) = C, M est de taille quelconque
C est de taille fixe appelé condensât, ou empreinte, ou fingerprint, ou message digest

 Propriétés:
 Facile à calculer
 Unique (pas de collision):
 deux messages différents ne donnent pas la même empreinte
 Si H (x1) = C1 , il est très difficile de trouver : x2 différent de x1 tel que H (x2) = C1
 Irréversible (one way):
 étant donner H(x), il est pratiquement impossible de déterminer x.

 Sensible à l'attaque Man in The Middle (MITM) ==> solution: signature


30
Fonctions de hachage: principes

Texte clair Texte clair

Internet
Hachage =? Hachage

Empreinte Empreinte Empreinte


reçue recalculée

1) = Le texte reçu est intègre


Empreinte Empreinte
reçue recalculée

2) ≠ Le texte reçu est altéré


Empreinte Empreinte
reçue recalculée
31
Fonctions de Hachage: exemples

 MD5 (128 bits)


 Résistance aux collisions cassée (Prof. Xiaoyun Wang, china 2004)
 SHA1 (160 bits)
 “One way” est encore valide
 Resistance aux collisions Considérée non sécurisée
 SHA2 (SHA224, SHA-256, sha-384, SHA-512), SHA3( SHA3-224, SHA3-
256, SHA3-384, SHA3-512)
 Sécurisées

32
Signature électronique
 Théoriquement
 Consiste à chiffrer le message en question avec une clé privée
À la réception du message et de son cryptogramme, le destinataire
disposant de la clé publique peut vérifier la signature
 Dans la pratique, cette méthode est peu utilisée à cause de sa lenteur
 Méthode pratique
 Pour signer un message, la source calcule l’empreinte du message à
signer et ne chiffre avec la clé privée que cette empreinte.
Calcul de l’empreinte rapide et quantité de données à chiffrer réduite

33
Signature électronique
 Permet l’authentification, l’intégrité et la non répudiation

Fonction de
Condensât Condensât xxx
------ hachage
chiffré +
------
------ Clé publique
----- Message
Message ------ de l’émetteur
original
original -----
Clé privé de Fonction de
l’émetteur hachage
Réseau
Condensât Condensât
Condensât xxx calculé par le reçu
chiffré + récepteur
------
Message
------ Sont ils identiques
original
----- oui non
Message
authentique La signature ou le
message ont été
modifiés
L’échange par mail signé et chiffré:
Problématique

Notes.xls

Nom Fondements Serveur Notes.xls


Nom Fondements
Ali 18
Ali 18

Centre
Tunis de calcul

35
Problématique

Notes.xls
Notes’.xls
Nom Fondements Serveur
Nom Fondements
Ali 18
Ali 10

Centre
Tunis de calcul

36
Signature des mails

Notes.xls Cette attaque n’est plus possible


Notes’.xls
Nom Fondements Serveur
Nom Fondements
Ali 18
Ali 10

Tunis Centre
de calcul

37
Signature des mails

Notes.xls
Notes.xls Nom Fondements
Nom Fondements Serveur Ali 18
Ali 18
Vérification et
Validation

Tunis
Centre
Notes.xls
de calcul
Nom Fondements

Ali 18

Fondements Ali 18
38
Signature et chiffrement des mails

Notes.xls Centre
Nom Fondements Serveur de calcul
Ali 18

dezMg ku7y5rt
t5dfhdhrhbfeEE
efze6d9jeff21fgr

Tunis Notes.xls Vérification


Nom Fondements

Ali 18
dezMg ku7y5rt
t5dfhdhrhbfeEE
efze6d9jeff21fgr

Aucune information

39
MAC: Message Authentication Code
 Un mécanisme cryptographique permettant de vérifier l'authentification de
l'origine des données et leur intégrité en même temps.
 Ne fournit pas la non-répudiation.
 Une famille de fonctions hk paramétrée par une clé secrète k avec les propriétés
suivantes :
 Étant donné une clé k et un message m, hk(m) est facile à calculer,
 Étant donné zéro ou plusieurs paires (mj, hk(mj)), il est très difficile de calculer n'importe
quelle paire (m, hk(m)) pour n'importe quel message m.

 Principe:

 Clé symétrique partagée entre l'émetteur et le récepteur .


 Utilisée par l'émetteur pour calculer un MAC sur le message à envoyer. Ce MAC accompagnera
le message.

 Utilisée par le récepteur pour calculer le MAC de nouveau sur le message reçus et le comparer au
MAC accompagnant le message.

 Si les deux valeurs sont égales  authentification et intégrité assurées .


40
MAC: Message Authentication Code

 Exemples de MAC: HMAC-MD5, HMAC-SHA-1

41
Exemple d’algorithme cryptographique symétrique :
DES

 Algorithme développé par IBM dans les années 1970 (Lucifer)

 Taille de bloc = 64 bits

 Taille de clé = 56 bits

 Utilise un chiffrement produit

 Combine des algorithmes de substitution et des algorithmes de


transposition  maximiser la complexité de l’algorithme

42
DES
 Les grandes lignes de l'algorithme sont les
suivantes :

 Fractionnement du texte en blocs de 64 bits (8 octets) ;

 Permutation initiale des blocs ;

 Découpage des blocs en deux parties: gauche et droite,


nommées G et D ;

 Etapes de permutation et de substitution répétées 16


fois (appelées rondes) ;

 Recollement des parties gauche et droite puis


permutation initiale inverse.

43
DES

1. Permutation initiale

 Dans un premier temps, chaque bit d'un bloc est soumis à la permutation initiale,
pouvant être représentée par la matrice de permutation initiale (notée PI) suivante :

 Cette matrice de permutation indique, en parcourant la matrice de gauche à droite


puis de haut en bas, que 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

44
DES
2. Scindement en blocs de 32 bits
 Une fois la permutation initiale réalisée, le bloc de 64 bits est scindé en deux blocs
de 32 bits, notés respectivement G et D (pour gauche et droite, la notation anglo-
saxonne étant L et R pour Left and Right). On note G0 et D0 l'état initial de

 Il est intéressant de remarquer que G0 contient tous les bits possédant une position
paire dans le message initial, tandis que D0 contient les bits de position impaire.

45
DES

3. Rondes
 Les blocs Gn et Dn sont soumis à un ensemble de transformation itératives
appelées rondes, explicitées dans ce schéma, et dont les détails sont donnés plus
bas :

46
DES
A- Fonction d'expansion
 Les 32 bits du bloc D0 sont étendus à 48 bits grâce à
une table (matrice) appelé table d'expansion(notée E),
dans laquelle les 48 bits sont mélangés et 16 d'entre
eux sont dupliqués :
 Ainsi, le dernier bit de D0 (c'est-à-dire le 7ème bit du
bloc d'origine) devient le premier, le premier devient le
second,…
 De plus, les bits 1,4,5,8,9,12,13,16,17,20,21,24,25,28
et 29 de D0 (respectivement 57, 33, 25, l, 59, 35, 27,
3, 6l, 37, 29, 5, 63, 39, 31 et 7 du bloc d'origine) sont
dupliqués et disséminés dans la matrice.

47
DES
B- OU exclusif avec la clé
 La matrice résultante de 48 bits est appelée D'0 ou bien E[D0]. L'algorithme DES procède
ensuite à un OU exclusif entre la première clé K1 et E[D0]. Le résultat de ce OU exclusif est une
matrice de 48 bits que nous appelerons D0 par commodité (il ne s'agit pas du D0 de départ!).

C- Fonction de substitution
 D0 est ensuite scindé en 8 blocs de 6 bits, noté D0i. Chacun de ces blocs passe par
des fonctions de sélection (appelées parfois boîtes de substitution ou fonctions de
compression), notées généralement Si.
 Les premiers et derniers bits de chaque D0i détermine (en binaire) la ligne de la fonction de
sélection, les autres bits (respectivement 2, 3, 4 et 5) déterminent la colonne. La sélection de la
ligne se faisant sur deux bits, il y a 4 possibilités (0,1,2,3).
 La sélection de la colonne se faisant sur 4 bits, il y a 16 possibilités (0 à 15). Grâce à
cette information, la fonction de sélection "sélectionne" une valeur codée sur 4 bits.

48
DES

 Soit D01 égal à 101110. Les premiers et derniers bits donnent 10, c'est-à-dire
2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le résultat
de la fonction de sélection est donc la valeur situé à la ligne n°2, dans la
colonne n°7. Il s'agit de la valeur 11, soit en binaire 0111.
 Chacun des 8 blocs de 6 bits est passé dans la fonction de sélection
correspondante, ce qui donne en sortie 8 valeurs de 4 bits chacune.

49
DES
 Voici les autres fonctions de sélection :

50
DES

51
DES

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

52
DES
D- Permutation
 Le bloc de 32 bits obtenu est enfin soumis à une permutation P dont voici la
table

E- OU Exclusif
 L'ensemble de ces résultats en sortie de P est soumis à un OU Exclusif avec
le G0 de départ (comme indiqué sur le premier schéma) pour donner D1,
tandis que le D0 initial donne G1.
 L'ensemble des étapes précédentes (rondes) est réitéré 16 fois.

53
DES
4- Permutation initiale inverse
 A la fin des itérations, les deux blocs G16 et D16 sont "recollés, puis soumis à
la permutation initiale inverse :

 Le résultat en sortie est un texte codé de 64 bits !

54
DES simplifié
 Les additions se font terme à terme en modulo 10

 [1 2 3 4 ] ⊕[7 8 9 0]= [8 0 2 4]

 Le message est découpé en bloc de longueur 8

 La clé est de longueur 4

 Message M=[1 2 3 4 5 6 7 8]

 Clé C=[3 1 3 2]

55
DES simplifié
 M0=[G0||D0]=[1 2 3 4||5 6 7 8]
 M1=[D0 ||C ⊕ σ(G0)]
 On échange la partie droite et la partie gauche de M0
 M0[5 6 7 8||1 2 3 4]
 Sur la nouvelle partie droite, on permute circulairement les nombres
 [5 6 7 8||2 3 4 1]
 Puis on ajoute la clé secrète C à droite (ici C=[3 1 3 2])
 M1= [5 6 7 8||5 4 7 3]

56
DES simplifié
 Tours suivants
 Si Mi=[Gi||Di] alors Mi+1=[Di ||C ⊕ σ(Gi)]
 Etape 2: Deuxième tour
 M1= [5 6 7 8||5 4 7 3]
 On échange la partie droite et la partie gauche de M1
 M1 [5 4 7 3||5 6 7 8]
 Sur la nouvelle partie droite, on applique σ
 [5 4 7 3||6 7 8 5]
 Puis on ajoute la clé secrète C à droite
 [5 4 7 3||9 8 1 7]
 M2= [5 4 7 3 9 8 1 7]

57
Exemple d’algorithme cryptographique asymétrique:
RSA
 Etapes
1. Sélectionner deux entiers premiers entre eux « p » et « q »
2. Calculer n = p x q
3. Calculer φ(n)=(p-1)(q-1)
4. Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n)
 En général « e » est un entier de petite taille.
5. Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 mod (φ(n))
6. Clé publique: Kpu={e,n}
7. Clé privée Kpr = {d,n}
 Pour chiffrer un message M < n, l’émetteur:
 Obtient une clé publique du récepteur et calcule « C= Me mod n »
 Pour déchiffrer un message chiffré C le récepteur
 Utilise sa clé privée et calcule « M = Cd mod n »
58
Algorithme RSA

 Exemple

p = 17, q = 11, n = p x q= 187


 φ(n)= 16 x 10 =160,
 Choisir e = 7,
 d.e =1 (mod φ(n))  d = 23

59
Certificats : pourquoi ?

 Dans une architecture à clés publiques :


 Les clés privées doivent être générées et stockées de manière sûre
 Les clés publiques doivent être diffusées le plus largement possible.
 Lorsqu’on utilise la clé d’un correspondant, il est nécessaire de
s’assurer :
 qu’elle appartient bien à ce correspondant
 que l’émetteur de cette clé est digne de confiance
 qu’elle est toujours valide

60
Certificats : pourquoi ?

 Scénario :
 Ali et Mohamed veulent s’envoyer des messages, Anis = Intrus
 Anis
 Modifie l’annuaire ou le serveur web qui héberge les clés publiques en
remplaçant la clé publique d’Ali par la sienne.
 Il peut maintenant lire les courriers destinés à Ali et signer des message en se
faisant passer pour Ali
 Si Mohamed envoie message « M » chiffré à Ali
 Il va chiffrer M avec clé publique da Anis (croyant que c’est la clé d’Ali).
 Anis pourra déchiffrer les messages destinés à Ali avec sa clé privée, et
lire ainsi son courrier confidentiel
--> Attaque de l’homme au milieu (Man In The Middle)
 Solution : Certificats électroniques

61
Certificat électronique
 Permet l’authentification: garantit l’appartenance d’une clé publique à une entité
 Signé par une tierce partie de confiance: Autorité de Certification
 Exemples: ANCE, Verisign, Digicert...
 Géré tout au long de son cycle de vie (création, renouvellement et révocation) par
l’autorité de Certification au moyen d’une infrastructure à clés publiques
 Principal format: certificats X.509

62
Certificat électronique

 Serial number :

 Numéro de série du certificat (propre à chaque autorité de certification).

 Signature Algorithm ID :

 Identifiant du type de signature utilisée.

 Issuer Name :

 Distinguished Name (DN) de l'autorité de certification qui a émis ce certificat.

 Subject Name :

 Distinguished Name (DN) du détenteur de la clé publique.

 Subject public key info :


63
 Informations sur la clé publique du certificat.
Certificat électronique

Les algorithmes utilisés pour la


Période
Identifiant nom de
Leunique de validité
du duqui
certificat
l’autorité certificat
a
signature du certificat
généré
Informations sur le
le certificat
propriétaire du
certificat
Clé publique de l’utilisateur

Clé privée de l’utilisateur

64
Certificat électronique

65
Vérification d’un certificat

Certificat
Certificat
Version: ---------- invalide
Empreinte1
SN : --------------- Fonction de
hashage non
---------------------
---------------------- Égalité?
oui
Signature:1b:2b:c0:3e: Déchiffrement Empreinte2
52:4d:14:43:… Certificat
valide
Clé publique de l'autorité de
certification

66
PKI

 Une infrastructure à clés publiques (ICP) ou infrastructure de gestion de


clés (IGC) ou encore Public Key Infrastructure (PKI)
 Définition
« Ensemble de composants, fonctions et procédures dédié à la gestion de clés
et de certificats utilisés par des services de sécurité basés sur la cryptographie
à clé publique ». [Politique de certification type: Ministère de l'Economie, des
Finances et de l'Industrie, Fr

67
PKI

Traitement des
demande de: Publication des
- Création Autorité certificats émis ou
- Révocation d’Enregistrement
révoqués
- Renouvellement
de certificats
Annuaire

- Création Autorité de
- Révocation Certification
- Renouvellement validation
de certificats

Service de
Archiver les clés séquestre Vérifier la validité
privées/publiques des certificats

68
Modèle de confiance dans X.509

 Infrastructure hiérarchique
 Possibilité de certification entres deux Autorités de certifications (AC
appartenant à des arbres différents
 c’est la co-certification

69
Validation de certificat

 Pour pouvoir se fier au contenu d'un certificat, il est nécessaire de


réaliser les vérifications suivantes:
 Signature de l’AC
 L’application doit vérifier que le certificat est intègre et authentique
 Chemin de certification
 L’application doit vérifier qu’il existe une chaîne de certificats valide permettant de
remonter à une AC de confiance
 Période de validité
 L’application doit vérifier que le certificat présenté n’est pas expiré
 Statut du certificat
 L’application doit vérifier que le certificat n’est pas révoqué (ni suspendu)

70
Exercice 3
La figure suivante présente l'échange de messages entre 3 entités A, B et C (un intrus)
utilisant un système de chiffrement asymétrique. Nous utilisons le format des messages
suivant: (source, destination, message).

1. Quel est le traitement Trt effectué par C.


2. A et B se rendent-ils compte de l’existence de l’intrus C 71

3. Proposer une solution permettant de remédier à cette attaque


Exercice 4

Discuter les scénarios suivants en termes de sécurité :


1. Deux certificats différents sont signés par la même clé
2. Deux certificats différents contiennent la même clé publique
3. Deux certificats différents ont le même sujet
4. Deux certificats différents ont le même numéro de série
5. Deux certificats différents ont le même émetteur
6. Deux certificats différents ont la même signature

72