SÉCURITÉ INFORMATIQUE
2021/2022
Chapitre 3
Cryptographie Moderne
Mme S. BELATTAF épouse BENSAID
UMMTO
ALGORITHMES DE CHIFFREMENT MODERNES
Classification
Algorithmes de Chiffrement
A clés symétriques A clés asymétriques
DES RSA
Triple DES Elgamal
AES Rabin
IDEA Merkel-Hellman
2
RC2, RC4 et RC5
S. BENSAID – UMMTO
ALGORITHMES DE CHIFFREMENT MODERNES
Chiffrement à clés symétriques
L’émetteur et le récepteur doivent posséder la même clé secrète
3
S. BENSAID – UMMTO
Algorithmes de Chiffrement modernes
CHIFFREMENT À CLÉS ASYMÉTRIQUES (À CLÉ PUBLIQUE)
Chaque interlocuteur dispose d’un couple de clés :
o Une clé publique connue de tous.
o Une clé privée gardée secrète.
L’émetteur (la source) chiffre le message en utilisant la clé publique du
destinataire. 4
Le destinataire déchiffre le message en utilisant sa clé privé
S. BENSAID – UMMTO
ALGORITHMES DE CHIFFREMENT MODERNES
SYMÉTRIQUE OU ASYMÉTRIQUE ?
Chiffrement à clés symétriques
Avantages
La rapidité
Ces algorithmes utilisent des clés de taille relativement faible et peu de ressources.
Ex :128 bits pour IDEA et 168 bits pour Triple DES
Inconvénients :
Le problème 1 : est que l’émetteur et le récepteur doivent se mettre d’accord à l’avance sur la
clé à utiliser : Problème de distribution de la clé secrète
Le problème 2 : est que chaque entité doit disposer d’autant de clés secrètes qu’elle a
d’interlocuteurs : Problème de gestion de clés secrètes.
Chiffrement à clés asymétriques
Avantages :
Pas de problème de distribution de clés.
Chaque interlocuteur garde secret que sa clé privée.
Inconvénients
Les algorithmes asymétriques sont particulièrement lents à comparer avec ceux symétriques
et demandent un temps de traitement processeur important : Charge de calcul
Ils nécessitent des clés plus longues (ex : 1024 bits, 2048 bits) 5
S. BENSAID – UMMTO
ALGORITHMES DE CHIFFREMENT MODERNES
Optimisation du chiffrement par une clé de session
Objectifs
1. Palier aux inconvénients majeurs du système de chiffrement :
asymétrique : lenteur de traitement des messages de taille importante.
symétrique : problème de distribution et de gestion des clés secrètes
2. Prendre le meilleur des 2 systèmes de chiffrement.
Solution
Combinaison des 2 systèmes de chiffrement symétrique et asymétrique
6
S. BENSAID – UMMTO
ALGORITHMES DE CHIFFREMENT MODERNES
OPTIMISATION DU CHIFFREMENT PAR UNE CLÉ DE SESSION
Comment combiner l’usage des 2 systèmes?
Principe :
Pour chiffrer les messages de grande taille, on utilise un algorithme
symétrique et une clé de session.
On utilise un algorithme asymétrique pour chiffrer la clé de session.
Une clé de session est une clé secrète, partagée entre deux
interlocuteurs durant la durée de l’échange et détruite à la fin
de la session de travail.
S. BENSAID – UMMTO
OPTIMISATION DU CHIFFREMENT PAR UNE CLÉ DE SESSION
Pour assurer la confidentialité des données échangées entre 2
interlocuteurs (entités), on suit les étapes suivantes :
L’une des deux entités (l’émetteur) génère aléatoirement une clé de
session.
L’émetteur chiffre le message à transmettre en utilisant la clé de
session et un algorithme à clé symétrique.
L’émetteur chiffre la clé de session avec la clé publique du
destinataire (en utilisant un algorithme à clé asymétrique).
Le message chiffré et la clé chiffrée sont envoyés au destinataire.
Le destinataire déchiffre la clé de session chiffrée en utilisant sa clé
privé.
Le destinataire déchiffre le message en utilisant cette clé de session.
Le destinataire peut, également, utiliser cette clé de session pour
émettre des messages chiffrés à son interlocuteur. 8
S. BENSAID – UMMTO
PROTOCOLE DE DIFFIE-HELLMAN (DH)
Inventé par Whitfield Diffie et Martin Hellman en 1976
Objectif de DH: Partage ou échange d’une clé secrète
par l’intermédiaire d’un échange de données publiques.
Il tire sa sécurité du problème du Logarithme Discret
A=BX mod C
S. BENSAID – UMMTO
PROTOCOLE DE DIFFIE-HELLMAN (DH)
• Deux participants A et B choisissent, publiquement, un nombre premier p et
une base g (un entier plus petit que p).
p et g sont les paramètres de Diffie-Hellman.
• Chaque participant génère confidentiellement sa clé privée :
A génère XA tel que : XA <p
B génère XB tel que : XB<p
• Chaque participant calcule alors une clé publique :
A calcule : YA = gXA mod p
B calcule : YB = gXB mod p.
• Les deux participants s’échangent leurs clés publiques.
• Chaque participant calcule la clé secrète K
A calcule : K = (YB )XA mod p
B calcule : K = (YA )XB mod p
10
La clé K constitue le secret partagé entre les deux participants
S. BENSAID – UMMTO
PROTOCOLE DE DIFFIE-HELLMAN
A et B partagent deux paramètres (p, g)
Clé privée de A XA
Clé privée de B XB
Clé publique de A YA
Clé publique de B YB
YA
YA = gXA mod p A YB B YB = gXB mod p
K = (YB )XA mod p = gXA * XB mod p = K = (YA )XB mod p 11
S. BENSAID – UMMTO
PROTOCOLE DE DIFFIE-HELLMAN
YA = gXA mod p
ZA =(YC )XA mod p
K=(ZC )XA mod p
A
K=(ZA )XB mod p K= (ZB )XC mod p
K = gXA × XB × XCmod p
YB
B C
ZB 12
YB = gXB mod p YC = gXC mod p
ZB =(YA )XB mod p ZC= (YB )XC mod p
S. BENSAID – UMMTO
CHIFFREMENT DE RSA
Inventé par Ronald Rivest, Adi Shamir et Leonard Adleman en 1977
RSA tire sa sécurité du problème de factorisation
Génération des clés :
Choisir deux grands nombres premiers p et q (p≠q)
Calculer n=p×q
Calculer φ(n)=(p−1)×(q−1)
Choisir e tels que : 1<e < φ(n) et pgcd(e, φ(n))=1
Calculer d tel que : e×d mod φ(n)=1 (1<d < φ(n))
Clé publique (e, n)
Clé privée (d, n)
Chiffrement : C=Me mod n tel que M<n
M : texte clair C : texte chiffré
Déchiffrement : M=Cd mod n 13
S. BENSAID – UMMTO
CHIFFREMENT DE RSA
Exercice : p = 17, q = 11, e = 7, M = 88
Génération des clés :
n = p×q = 17 × 11 = 187
φ(n) = (p−1)×(q−1) =(17 − 1) × (11 − 1) = 160
On vérifie que :
1<e < φ(n) et le pgcd (7,160)=1
7 × d mod 160 = 1 d = 23
Clé publique (e, n)=(7,187)
Clé privée (d, n) = (23,187)
Chiffrement : C = 887 mod 187 = 11 (M<n)
Déchiffrement : M= 1123 mod 187 = 88
14
S. BENSAID – UMMTO
CHIFFREMENT D’ELGAMAL
Inventé par Taher Elgamal en 1984
Il tire sa sécurité du problème du Logarithme Discret.
Chiffrement d’Elgamal :
Génération des clés :
Choisir un grand nombre premier p et deux nombres a et g tels que:
• a <p
• g < p
Calculer A=ga mod p
Clé publique (A, g, p)
Clé privée a
Chiffrement : M<p
Choisir un nombre aléatoire b (b < p et pgcd(b, p-1)=1)
Calculer B=gb mod p
Calculer C=(M×Ab )mod p
Le chiffré du message (B, C)
15
Déchiffrement M=(C×B ( p−a−1) ) mod p
S. BENSAID – UMMTO
FONCTION DE HACHAGE H
h=H(M) : h est appelé le haché
La valeur de h est de longueur fixe et inférieure à M
A partir de h, il est impossible de retrouver M
Il est difficile de trouver M’ tel que H(M’)=h
Exemples : MD4, MD5, SHA-1, RIPEMD-160
16
S. BENSAID – UMMTO
SIGNATURE NUMÉRIQUE
SIGNATURE NUMÉRIQUE AVEC RSA
Paire de clés de l’expéditeur {(e, n), (d, n)}
Expéditeur Génération de la signature de M
Calculer h=H(M)
Calculer S=hd mod n
La signature numérique (M, S)
Destinataire Vérification de la signature
Calculer h1=H(M)
Calculer h2=Se mod n
Si h1=h2 la signature est valide
17
S. BENSAID – UMMTO
SIGNATURE NUMÉRIQUE
SIGNATURE NUMÉRIQUE AVEC ELGAMAL
Paire de clés de l’expéditeur {(A, g, p), a}
Expéditeur Génération de la signature de M
Calculer h=H(M)
Choisir un nombre aléatoire b (b<p et pgcd(b, p–1)=1)
Calculer B=gb mod p
Calculer C tel que h=(a×B+b×C) mod (p−1)
La signature numérique (M, S) tel que S=(B, C)
Destinataire Vérification de la signature
Calculer h=H(M)
Si (AB×BC )mod p=gh mod p la signature est valide
18
S. BENSAID – UMMTO
LES CERTIFICATS NUMÉRIQUES
Liaison d’une entité à sa clé publique
REQ
A B, KI
I B
« A » envoie à « B » une requête pour avoir sa clé publique
« I » interrompt la requête
« I » répond à « A » avec (B, KI) en se faisant passer pour « B »
Comment « A » peut vérifier la validité de cette liaison ?
Certificat d’identité
Un certificat d’identité est un document électronique signé
par une Autorité de Certification (AC) permettant de lier 19
une entité à sa clé publique
S. BENSAID – UMMTO
LES CERTIFICATS NUMÉRIQUES
Structure d’un certificat standard X.509 :
Version du standard
Numéro de série du certificat
Fonction de hachage utilisée
Algorithme de signature utilisé
Certificat
M
L’identité du signataire
Période de validité du certificat
L’identité de l’utilisateur
La clé publique de l’utilisateur
Signature de l’autorité de confiance
S
20
S. BENSAID – UMMTO
CERTIFICAT D’ATTRIBUT
Le certificat d’attribut permet d'attribuer des permissions
à une entité.
Un certificat d'attribut contient un ensemble d’attributs
qui donnent des informations sur les privilèges du
possesseur du certificat
21
S. BENSAID – UMMTO
MODÈLES DE CERTIFICATION
Modèle de certification hiérarchique
L’autorité de certification racine délivre un certificat d’attribut qui
garantit la délégation du service de certification à une ou plusieurs
d’autres autorité, qui elles mêmes délivrent à leur tours des certificats à
d’autres, et ainsi de suite.
Modèle de certification croisé
L’autorité de certification racine de chaque organisation signe pour l’autre un
certificat.
Un utilisateur de la première hiérarchie peut vérifier la clé publique d’un autre
utilisateur de la deuxième hiérarchie.
22
S. BENSAID – UMMTO
MODÈLES DE CERTIFICATION
Modèle de certification en graphe
Chaque autorité de certification délivre un certificat d’identité à l’autorité
en qui elle fait confiance.
Modèle de certification complètement distribué
• Chaque utilisateur peut signer et délivrer des certificats pour les autres
utilisateurs.
• Notion de Graphe de confiance.
Si A fait confiance à B, et B fait confiance à C, alors A peut faire confiance à C.
23
S. BENSAID – UMMTO
MODÈLE DE CERTIFICATION HIÉRARCHIQUE
AC-Mère
AC1 U U U AC2
U U AC3 AC4 U AC5
U AC6 U U AC7 U
24
S. BENSAID – UMMTO
MODÈLE DE CERTIFICATION CROISÉ
AC-Mère2 AC-Mère1
U U AC4 AC1 U AC2
U AC5 U U AC-3 U
25
MODÈLE DE CERTIFICATION EN GRAPHE
U
U
U
AC2 AC1
U
U AC3 AC4
U
U U U
26
MODÈLE COMPLÈTEMENT DISTRIBUÉ
U1
U9
U5 U7
U2
U6
U8 U3
U4
27
S. BENSAID – UMMTO
EXEMPLE 1 (MODÈLE HIÉRARCHIQUE)
Format du certificat [IDAC, IDU, CLEU, Signature]
L’autorité de certification mère porte l’identité « 1 »
Les certificats de délégation sont définis avec CLEU= –1
L’annuaire du système de certification :
C0=[1, 2, 13, 217] 1
C1=[1, 3, 51, 171] C3 C0 C2 C4
C1
C2=[1, 4, 17, 107]
C3=[1, 2, –1, 553] 2 4
C5 3
C4=[1, 4, –1, 881] C7 C8 C6
C5=[2, 5, 18, 409]
C6=[4, 7, 41, 167] 5 6 7
C7=[2, 6, 19, 284] C9
C8=[2, 6, –1, 335]
28
C9=[6, 8, 47, 591] 8
S. BENSAID – UMMTO
EXEMPLE 1 (MODÈLE HIÉRARCHIQUE)
Quels sont les certificats nécessaires à vérifier pour que
l’utilisateur X puisse vérifier la clé publique de Y ?
X=4 & Y=3
{ C1} 1
X=3 & Y=5 C3 C0 C2 C4
C1
{C0, C3, C5}
2 4
X=5 & Y=3 C5 3
C7 C8 C6
{C1}
X=7 & Y=8 5 6 7
{C0, C3, C7, C8, C9} C9
X=8 & Y=4
8 29
{C2}
S. BENSAID – UMMTO
EXEMPLE 2 (MODÈLE COMPLÈTEMENT DISTRIBUÉS)
Format du certificat [IDU1, IDU2, CLEU2, Signature]
L’annuaire du système de certification :
C0=[1, 2, 13, 217]
C1=[6, 3, 51, 171] C0 C3
1 2 7
C2=[1, 4, 17, 107] C2 C5
C3=[7, 2, 13, 553]
C4=[4, 8, 47, 881] 4 5 C7
C6
C5=[2, 5, 18, 409] C4
C6=[5, 8, 47, 167] C9
8 6
C7=[6, 7, 19, 284] C8 C1
C8=[8, 3, 51, 335]
3 30
C9=[6, 8, 47, 591]
S. BENSAID – UMMTO
EXEMPLE 2 (MODÈLE COMPLÈTEMENT DISTRIBUÉS)
Quels sont les certificats nécessaires à vérifier pour que
l’utilisateur 1 puisse vérifier la clé publique de 3 ?
C0 C3
Chaîne 1 {C2, C4, C8} 1 2 7
Chaîne 2 {C0, C5, C6, C8} C2 C5
4 5 C7
Vérification de « Chaîne 2 » C6
C4
Avec sa clé publique 1 vérifie C0
Avec la clé publique de 2 1 vérifie C5 8
C9
6
Avec la clé publique de 5 1 vérifie C6 C8 C1
Avec la clé publique de 8 1 vérifie C8
3
31
S. BENSAID – UMMTO
AUTORITÉS DE CERTIFICATION ET PKI
PKI (Public Key Infrastructure): Une Infrastructure à clé
publique est l'ensemble des algorithmes, protocoles et services
pour gérer et sécuriser les échanges d'information.
La procédure de certification se fait principalement en trois
étapes :
1. L’utilisateur s’enregistre auprès de l’autorité
d’enregistrement en donnant des justifications concrètes
vis-à-vis de son identité.
2. L’autorité d’enregistrement génère la paire de clés de
l’utilisateur et envoie une requête de certification à
l’autorité de certification.
3. L’autorité de certification génère un certificat pour
l’utilisateur et publie ce dernier sur l’annuaire. 34
S. BENSAID – UMMTO
AUTORITÉS DE CERTIFICATION ET PKI
Le PKI fournit trois services principaux :
1. La génération et la mise à jour des paires de clés.
2. La certification des clés publiques et la publication des certificats
dans un annuaire pour les rendre accessible.
3. La révocation des certificats: un certificat peut être révoqué dans
les cas suivants:
L’expiration de la période de validité (Révocation automatique)
La divulgation de la clé privée de l’utilisateur (Sur demande).
L’utilisateur n’est plus considéré digne de confiance (Par rapport à
son comportement) 33
S. BENSAID – UMMTO
RÉFÉRENCE
Solange Ghernaouti, « Cours et exercices Sécurité informatique et réseaux,
Cours avec plus de 100 exercices corrigés ». [Référence biblio : Res 260]
OMAR Mawloud, Notes de cours du module sécurité
informatique, 3eme année licence informatique, Université de
Bejaia, 2014.
34
S. BENSAID – UMMTO