Cryptographie

Download Report

Transcript Cryptographie

Chapitre 6 : La sécurité par le chiffrement
Plan
 Principes fondamentaux
 Cryptographie
 Clés secrètes
 TP4 : Utiliser le logiciel Wireshark pour :
- Capturer une conversation avec le protocole TCP;
- Capturer un mot de passe transmis en clair sur le réseau.
Mounir GRARI
Sécurité informatique
167
Chapitre 6 : La sécurité par le chiffrement
1. Principes fondamentaux
1) Vocabulaire
 Le chiffrement est l’opération par laquelle on crypte un message, c’est une
opération de codage.
 Chiffrer ou crypter une information a pour but de la rendre incompressible en
l’absence d’un décodeur particulier.
 un cryptogramme est un message écrit en langage chiffré (message chiffré).
 La cryptographie est la science qui consiste à écrire l’ information (voix, son,
textes, image fixe ou animée) en la rendant incompressible à ceux ne possédant pas
les capacités de la déchiffrer.
 La cryptanalyse est l’ensemble des moyens qui permettent d’analyser une
information chiffrée, afin de la déchiffrer.
Mounir GRARI
Sécurité informatique
168
Chapitre 6 : La sécurité par le chiffrement
1. Principes fondamentaux
2) Algorithmes et clés des chiffrement
 Les systèmes de chiffrement utilisent des algorithmes de chiffrement qui
s’appuient sur des fonctions mathématiques souvent complexes qui, à l’ aide d’ une
clé de chiffrement, modifient les données à protéger en générant des données
apparemment aléatoires.
 Le texte chiffré (cyphertext) peut alors être envoyé sur un réseau non sécurisé.
 Même s’ il est intercepté, le cryptogramme, est uniquement compréhensible par un
tiers qui possède la clé de déchiffrement permettant d’ obtenir le texte initial en
clair( plaintext).
Mounir GRARI
Sécurité informatique
169
1. Principes fondamentaux
Chapitre 6 : La sécurité par le chiffrement
 Deux participants en communication dans un modèle de chiffrement.
e est la clé de chiffrement.
d est la clé de déchiffrement.
E, D sont les algorithme du chiffrement et du déchiffrement.
Eve joue le rôle d’un attaquant
Mounir GRARI
Sécurité informatique
170
Chapitre 6 : La sécurité par le chiffrement
1. Principes fondamentaux
Taille de la clé
 Une clé codée sur n bits (taille de la clé) peut prendre 2n valeurs. Plus la clé est
longue, plus le nombre de clés possibles est important, et plus cela nécessite de la
puissance et du temps de calcul (pou un attaquant) pour le trouver.
 Une clé de chiffrement/déchiffrement doit avoir une taille minimale afin d’
éviter qu’elle soit déterminée trop facilement.
 puisqsue il est devenu relativement simple de casser des clés d’ une longueur de
40 bits (environ 1012 possibilités de clés différentes), il est préférable de chiffrer les
informations sensibles avec des clés plus longues de 128 bits (1038 possibilités) ou
256 bits, par exemple. Casser de telles clés demande une très lourde infrastructure
informatique et des temps de traitement important, ce qui est un empêchement
pour certains.
 Le moyen le plus simple pour obtenir une clé est de la procurer directement auprès
de l’utilisateur ou à partir du système qui la stocke, plutôt que d’essayer de la
deviner par itération.
Mounir GRARI
Sécurité informatique
171
Chapitre 6 : La sécurité par le chiffrement
1. Principes fondamentaux
Robustesse du système
 La taille de la clé utilisée, la puissance de l’algorithme et la capacité à garder les clés
secrètes de façon sécurisé, déterminent la robustesse d’un système de
chiffrement.
 L’algorithme n’a pas besoin d’ être secret. Il est même recommandé qu’il soit
publié afin que la communauté scientifique puisse tester sa résistance aux attaques
et trouver les failles avant qu’un attaquant ne les exploite.
 Il n’est pas facile de garder des clés secrètes alors garder secret un algorithme l’est
encore moins dans la mesure ou les algorithmes sont utilisées par un grand
nombre d’ utilisateurs et durant de longues périodes.
 Un système de chiffrement est dit fiable, robuste, sûr ou sécurisé s’il reste
inviolable indépendamment de la puissance de calcul ou du temps dont dispose un
attaquant.
 Le système est opérationnellement sécurisé (computational secure) si sa sécurité
dépend d’une série d’ opérations réalisables en théorie, mais irréalisable
pratiquement (temps de traitement top long en appliquant les méthodes connues
et en utilisant la puissance de calcul disponible).
Mounir GRARI
Sécurité informatique
172
Chapitre 6 : La sécurité par le chiffrement
1. Principes fondamentaux
 Notes :
- Plus une clé est spécifique et son utilisation est limitée dans le temps, voir à usage
unique, meilleure est la sécurité du système de chiffrement.
- La robustesse d’ un système de chiffrement réside dans l’algorithme de
chiffrement lui même et non sur la clé (l’ algorithme est incassable), modifier
fréquemment les clés de chiffrement le rend encore plus sûr.
- Si l’ algorithme constitue le maillon faible du système de chiffrement, changer la
clé fréquemment n’ augmente pas sa robustesse.
Mounir GRARI
Sécurité informatique
173
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
1) Introduction
 La cryptographie traditionnelle ou classique inclut tous les mécanismes et
algorithmes basés sur des fonctions mathématiques ou logiques.
 Elle comprend tous les systèmes de chiffrement utilisés depuis l’Egypte ancienne
jusqu’aux principaux systèmes de chiffrement actuellement en vigueur.
 Elle se devise en deux classes de systèmes déchiffrement :
- les chiffrement symétrique
- et les systèmes de chiffrement asymétrique
Mounir GRARI
Sécurité informatique
174
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
2) Systèmes de chiffrement symétrique
Mode opératoire
 Pour crypter ou décrypter un texte, il faut détenir une clé et un algorithme de
chiffrement. S’il s’agit de la même clé pour effectuer ces deux opérations, le
système de chiffrement est dit symétrique.
 L’ émetteur et le récepteur doivent posséder la même clé secrète pour rendre
confidentielles des données et pouvoir les comprendre (chiffrer et déchiffrer).
Mounir GRARI
Sécurité informatique
175
2. Cryptographie
Emetteur
Chapitre 6 : La sécurité par le chiffrement
Clé secrète
Texte en clair
Algorithme de chiffrement
symétrique
DES, IDEA, AES, Blowfish, RC4, RC5, …
Texte chiffré
Réseau
Texte chiffré
Clé secrète
Algorithme de chiffrement
symétrique
Texte en clair
Destinataire
Mounir GRARI
Sécurité informatique
176
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Un exemple : “chiffrement de César”
 Pour crypter un message, il faut décaler de trois lettres dans l’alphabet chaque
lettre du message à transmettre. Pour décrypter un message chiffré, il suffit de
décaler chacune des lettres de 3 positions dans le sens inverse de l’alphabet.
Exemple numérique:
- La clé : 3
- Texte en clair : salam
- Texte chiffré : vdodp (décaler en arrière de trois lettres dans l’alphabet)
Mounir GRARI
Sécurité informatique
177
2. Cryptographie
Emetteur
Chapitre 6 : La sécurité par le chiffrement
Clé secrète = 3
Texte en clair : salam
Algorithme de chiffrement symétrique :
Décalage des lettres de l’alphabet (+3)
Texte chiffré : vdodp
Réseau
Texte chiffré : vdodp
Clé secrète = 3
Algorithme de déchiffrement symétrique :
Décalage des lettres de l’alphabet (-3)
+3 : décalage en avant par 3
- 3 : décalage en arrière par 3
Mounir GRARI
Sécurité informatique
Texte en clair : salam
Destinataire
178
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Autre exemple : DES
 Les grandes lignes de l'algorithme sont les
suivantes :
- Fractionnement du texte en blocs de 64 bits;
- 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.
 Notes : La clé est codée sur 64 bits et formée
de 16 blocs de 4 bits, généralement notés k1 à
k16.
Mounir GRARI
Sécurité informatique
179
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Principaux algorithmes
 DES (Data Encryption Standard) a été elaboré par le NIST(National Institute of
Standards and Technology) en 1977. Les informations sont chiffrées par blocs de
64 bits avec une clé de 56 bits. Cet algorithme est largement utilisé pour les
applications financières. Il est generalement mis en œuvre en un mode dit de
chainage de blocs (CBC, Cipher Block Chaining) ou le chiffrement d’ un bloc
dépend du précédent.
 Les algorithmes Triple DES, DESX (DES XORed), GDES (Generalized DES),
RDES(Randomized DES) sont déduites de l’algorithme DES, elle exploitent des
clés plus longues, rendant ainsi l’ algorithme plus puissant. Le triple DES tire son
nom du fait que l’on réalise trois niveau de chiffrement ce qui donne une clé
effective de chiffrement de 168 bits (56 bits trois trois).
 RC2, RC4 et RC5 sont des algorithmes propriétaires élaborés par Ronald Rivest
et diffusé par la société RSA Security Inc. Ces algorithmes utilisent des clés de
longueur variable pouvant aller jusqu’à 2048 bits. Ils sont utilisés principalement
pour rendre confidentielle des flux applicatifs.
Mounir GRARI
Sécurité informatique
180
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
 IDEA (International Data Encryption Algorithm) elaboré conjointement par des
chercheurs de l’ école polytechnique fédéral de Zurich et de la société Ascom,
utilise une clé de 128 bits pour coder des blocs de données de 64 bits. Il est
principalement utiliser par le protocole de messagerie sécurisée PGP (Pretty Good
Privacy).
 Blowfish est un algorithme de chiffrement symétrique implimanté par Bruce
Schneierr en 1993.
 AES (Advanced Encryption Standard) est un algorithme qui a été publié pour la
première fois en 1998 par les Belges Vincent Rijmen et Joan Daemen. Il exploite
des clés de 128 bits, 192 ou 256 bits sur des blocs de 128 bits. L’ AES est
considéré rapide, facile à implémenter et ne requiert que peu de ressource
mémoire. Actuellement, ce système demeure incassable et reste le plus sûr des
systèmes de chiffrement symétrique.
Mounir GRARI
Sécurité informatique
181
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Cryptanalyse
 Les cryptanalyse des systèmes de chiffrement se base en générale sur la découverte
de la clés de chiffrement, sur l’analyse des message indépendamment de la
connaissance des clés.
 En réalité, La majorité des systèmes de chiffrement symétrique sont
opérationnellement sécurisés (ils résistent aux attaques de force brute).
 Toutefois, avec le progrès scientifique dans le domaine de l’informatique et de l’
électronique, les systèmes qui sont jugés actuellement sûrs ne le seront peut être
plus dans le futur proche (ce qui est déjà le cas du DES simple avec une clé 56
bits) du fait de l’ augmentation de la capacité et de la rapidité de traitement mises à
disposition de la communauté.
 Le cryptanalyste peut par exemple tester plusieurs clés qui ne diffèrent les unes par
rapport aux autre que de quelques bit sur un seul message pour deviner le
comportement du système de chiffrement. Ensuite il va tenter de retrouver les
messages originaux à partir des messages chiffrés sans avoir recours à l’utilisation
effective de la clé des utilisateurs.
Mounir GRARI
Sécurité informatique
182
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Limites du chiffrement symétrique
 Chaque personne doit posséder autant de clés secrètes qu’ elle a d’ interlocuteurs.
Il faut disposer d’ autant de paires différentes de clés qu’il y a de paires de
correspondants! Ce qui devient vite impossible à implémenter et inadapté aux
communications multipartenaires et aux services d’ Internet.
 Un système de chiffrement symétrique pose donc le problème de la gestion et
notamment de la distribution des clés secrètes. Cela aspect constitue une faiblesse
des systèmes de chiffrement symétrique.
 C’est pour pallier la complexité du problème de la gestion et la distribution des
clés des systèmes de chiffrement symétrique qu’un autre type de système de
chiffrement, qualifié de chiffrement asymétrique ou chiffrement à clé
publique a été conçu et est actuellement largement utilisé dans le monde d’
Internet.
Mounir GRARI
Sécurité informatique
183
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
2) Système de chiffrement asymétrique
Mode opératoire
 Un système de chiffrement asymétrique est basé sur l’ utilisation d’un couple
unique de deux clés complémentaires, calculées l’une par rapport à l’autre. Cette
biclé est constituée d’une clé publique (connue par tous) et d’une clé privée (connu
par son propriétaire). Seule la clé publique peut être connue de tous, tandis que la
clé privée doit être confidentielle et traitée comme un secret.
 On doit connaitre la clé publique d’ une destinataire pour lui envoyer des
informations chiffrées. Ce dernier les décryptera à leur réception avec sa clé privée
qu’il est le seul à connaitre . Le message est confidentiel pour le destinataire dans
le mesure ou lui seul peut le déchiffrer par sa clé privée.
 De cette façon, pour transmettre des données de manière confidentielle avec un
système de chiffrement asymétrique, l’ émetteur chiffre un message avec la clé
publique du destinataire du message et le destinataire le déchiffre avec sa clé
privée.
Mounir GRARI
Sécurité informatique
184
2. Cryptographie
Le destinataire possède deux clés :
Chapitre 6 : La sécurité par le chiffrement
Emetteur
Clé publique du
destinataire
Clé publique +
Texte en clair
Algorithme de chiffrement
asymétrique
clé privée
RSA, Diffie-Hellman, ElGamal, …
Texte chiffré
Réseau
Texte chiffré
Clé privée du
destinataire
Algorithme de chiffrement
asymétrique
Texte en clair
Destinataire
Mounir GRARI
Sécurité informatique
185
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Un exemple : RSA
 Génération des clés par le destinataire :
Le destinataire choisit au hasard deux nombres premiers p et q et calcule

choisit au hasard e tel que :
1  e   ( n )  ( p  1)( q  1)



n  p q.
Il
p g cd ( e , ( n ) )  1
 ( n ) le nombre d'entiers, inférieurs à n , premiers avec n . p gcd( e , ( n )) est le plus
grand diviseur commun de  ( n ) et de e .
Le destinataire calcule l'entier d tel que :

1 

e d

d   (n )
 1 m o d  ( n )
La clé publique du destinataire est le couple (n,e) et sa clé secrète est (n,d ).
Mounir GRARI
Sécurité informatique
186
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
 Chiffrement :
L’ émetteur récupère la clé publique (n,e) du destinataire et souhaite lui envoyer la
version cryptée d'un texte en clair, représenté par la donnée d'un entier m tel que :
0  m  n. L’ émetteur calcule :
c m e m od n
 Déchiffrement :
Lorsque le destinataire reçoit c , il calcule c d et récupère ainsi le message m
puisque :
m c d m od n
 Notes :
1) Ce qu’est en rouge sont des nombres privée du destinataire.
2) Quelle est la relation qui lie la clé privée et la clé secrète ?
3) Comment casser donc RSA?
Mounir GRARI
Sécurité informatique
187
2. Cryptographie
Le destinataire possède deux clés :
(n,e) + (n,d)
Chapitre 6 : La sécurité par le chiffrement
Emetteur
Clé publique du
destinataire : (n,e)
Texte en clair : m
Algorithme de chiffrement
asymétrique : RSA
Texte chiffré :
Texte chiffré :
c m e m od n
Réseau
c m e m od n
Clé privée du
destinataire : (n,d)
Algorithme de chiffrement
asymétrique : RSA
Texte en clair :
m c d m od n
Destinataire
Mounir GRARI
Sécurité informatique
188
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Exemple numérique de RSA:
 Prenons deux nombres premiers aléatoirement : p = 29 , q = 37.
On calcule n = pq = 29 * 37 = 1073 .
 On doit choisir e au hasard tel que e et ( p -1)(q -1) = (29 -1)(37 -1) = 1008 soient
premiers entre eux. On prend e = 71.
 On choisit d tel que 71*d mod 1008 = 1. On trouve d = 1079 .
 Voici alors les deux clés privée et publique :
Mounir GRARI

 la clé  publiqe est  e ,n ) (71,1073)

 lé clé  priv ée e s t  d , n ) (1 0 7 9 ,1073)

Sécurité informatique
189
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
 On va encrypter le message 'HELLO'. On va prendre d’abord le code ASCII de
chaque caractère et on les met bout à bout : m = 72(H) 69(E) 76(L)76(L) 79(O) .
Ensuite, il faut découper le message m en blocs qui comportent moins de chiffres
que n . n comporte 4 chiffres, on va donc découper notre message m en blocs de 3
chiffres : 726 976 767 900 (on complète avec des zéros) par suite on encrypte
chacun de ces blocs :
72671 mod 1073 = 436
97671 mod 1073 = 822
76771 mod 1073 = 825
90071 mod 1073 = 552
 Le message encrypté est 436 822 825 552. On peut reconstituer le message chiffré
avec d :
4361079 mod 1073 = 726
8221079 mod 1073 = 976
8251079 mod 1073 = 767
5521079 mod 1073 = 900
 C'est à dire la suite de chiffre 726 976 767 900.On retrouve notre message en clair
72 69 76 76 79 c’est à dire 'HELLO'.
Mounir GRARI
Sécurité informatique
190
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Le challenge RSA :
 Après la découverte de l'algorithme RSA, la société RSA Security a été créée pour
vendre le cryptosystèmes RSA. en 1991, ils ont mis en place un concours de
factorisation avec de l'argent à la clé pour montrer à quel point ils étaient
sûrs de la sécurité de leurs algorithmes (factoriser des nombres de 100 à 617
chiffres décimaux). En 2007, RSA Security a mis fin au concours.
 RSA-768 est un nombre du concours RSA. Il est long de 768 bits (232 chiffres
décimaux). Il a été factorisé après 2 ans et demi de recherche et calculs. Cinq
grands organismes de recherches étaient associés (EPFL à Lausanne, NTT au
Japon, l'Université de Bonn, CWI au Pays-Bas et LORIA à Nancy).
Quelques chiffres pour donner une idée des calculs nécessaires :
- 5To de données traitées ;
- Calcul distribué sur plus de 1700 cœurs ;
- Environ 1020 opérations (soit 2000 ans sur un processeur simple cœur 2,2GHz) ;
 Notes : Pour avoir une sécurité optimale il ne faut plus utiliser des clés RSA
inférieures à 1024 bits. Selon les chercheurs, RSA-1024 devrait résister pendant
encore 5 à 10 ans (sauf découverte mathématique majeure).
Mounir GRARI
Sécurité informatique
191
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Un autre exemple : l’algorithme ElGamal
 Si RSA est un des algorithmes à clé publique les plus populaires, il en existe
quelques autres. L’un d’entre eux, l’algorithme ElGamal, a été développé par
Taher ElGamal en 1984. Il n’est pas breveté et peut être utilisé librement.
 Ce cryptosystème repose sur la difficulté de la résolution du logarithme discret.
(si y = g x mod p , on dit que x est le logarithme discret de y de base g modulo p)
 Il présente l'avantage de faire appel à deux processus aléatoires, mais présente
l'inconvénient de générer des messages chiffrés particulièrement longs.
Mounir GRARI
Sécurité informatique
192
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Le fonctionnement de l’algorithme d’ ElGamal
 Génération des clés :
Alice (destinataire) choisit deux paramètres non-secrets : un nombre premier p et
une un nombre g inferieur à p. Elle choisit aléatoirement un nombre a dans
l'intervalle [1, . . , p-2 ] et calcule
α = ga mod p.
Elle publie sa clé (p, g, α) et garde secrète sa clé a.
 Chiffrement:
Bob, qui désire envoyer un message m à Alice, l'exprime sous la forme d'un
nombre entre 0 et p-1. Il choisit aléatoirement un nombre b dans l'intervalle
[1, . . , p-2 ] et calcule β = gbmod p.
Il chiffre alors son message m en m' = αb.m mod p.
Il transmet enfin à Alice le couple (β, m')
 Déchiffrement :
Pour déchiffrer le message de Bob, Alice détermine le nombre x = p-1-a.
Elle calcule βx.m' mod p et retrouve le message m initial (à vérifier).
Mounir GRARI
Sécurité informatique
193
2. Cryptographie
en effet on :
 x· m ' gb x· m ' g
Chapitre 6 : La sécurité par le chiffrement
 g
b ( p  1)
b ( p  1 a )
· b · m  g
b ( p  1 a )
·g a b · m
·g  a b ·g a b · m   m m od p
car on a d’ après le petit théorème de Fermant g b ( p  1)  1 m od  p
(Théorème : pour tout entier naturel non nul n et tout entier a premier avec n, on
a:
a  ( n )  1 m od  n
où φ(n) désigne la fonction φ d'Euler comptant les entiers entre 1 et n qui sont
premiers avec n. Si n est un nombre premier, alors φ(n) = n - 1)
 Note importante : Casser cet algorithme c’est trouver a partir de l’ équation :
α = ga mod p
Application numérique de l’ algorihtme de ElGamal
 Alice : p = 97 et g = 13. Elle choisit aléatoirement un nombre a, disons 45, dans
l'intervalle [1, . . , 95]. Elle calcule α = 1345 mod 97 = 20. Elle publie sa clé (97, 13,
20 ) et garde secrète sa clé 45.
 Bob veut envoyer le message “vew” à Alice. En utilisant le code ASCII, son
message est 118 101 119. Il le découpe en nombres entre 0 et 97 : 11 81 01 11 09.
Il choisit aléatoirement un nombre b, disons 35, dans l'intervalle [1, . . , 95]. Il
calcule β = 1335 mod 97 = 71 mod 97.
Mounir GRARI
Sécurité informatique
194
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Il chiffre alors son message nombre par nombre :
11 est chiffré 2035 · 11 mod 97 = 46 · 11 mod 97 = 21
81 est chiffré 2035 · 81 mod 97 = 46 · 81 mod 97 = 40
01 est chiffré 2035 · 1 mod 97 = 46 · 1 mod 97 = 46
09 est chiffré 2035 · 9 mod 97 = 46 · 9 mod 97 = 26
Il transmet enfin à Alice le couple (71, 21 40 46 26)
 Pour déchiffrer le message de Bob, Alice détermine le nombre
x = 97-1-45 = 51. Pour chaque partie m' du message, elle calcule 7151·m' mod 97 :
7151 · 21 mod 97 = 19 · 21 mod 97 = 11
7151 · 40 mod 97 = 19 · 40 mod 97 = 81
7151 · 46 mod 97 = 19 · 46 mod 97 = 1
7151 · 26 mod 97 = 19 · 26 mod 97 = 9.
Elle retrouve le message 11810109 après concaténation (deux chiffres par deux
chiffres).
Mounir GRARI
Sécurité informatique
195
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
 Notes :
- La mise en œuvre du chiffrement asymétrique permet de vérifier l’ origine d’ un
message et d’ authentifier un émetteur (utilisation de signature et certificat).
- L’utilisation des algorithmes de chiffrement asymétrique est très utilisé pour
réaliser des échange confidentiels et pour effectuer des signature électronique,
notamment dans le domaine du commerce électronique et des transactions
financières.
- Le temps d’ exécution de ces algorithmes produit des temps de traitement
processeur supplémentaire importants, rendant non performant le chiffrement de
messages longs.
Mounir GRARI
Sécurité informatique
196
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Principaux algorithmes
 Les principaux algorithmes de chiffrement à clé publique, dont le nom est celui de
leur inventeurs, exploitent le plus souvent des clés de longueur variant de 512 à
1024 bits voir 2048. Nous retiendrons les algorithmes importants :
 RSA (pour Ron Rivest, Adi Shamir, Len Adelman) qui est basé su la difficulté de
factorisation des nombre premiers.
 Diffie-Hellman et ElGamal qui sont basé sur le problème mathématique de
calcul de logarithmes discrets.
 Certains algorithmes basés sur les équations de calcul de circonférences des
ellipses sont à l’origine de la cryptographie à courbe elliptique (ECC, Elliptic Curve
Cryptography), qui pourrait remplacer les algorithmes actuels.
Mounir GRARI
Sécurité informatique
197
Chapitre 6 : La sécurité par le chiffrement
2. Cryptographie
Cryptanalyse
 La cryptanalyse des systèmes de chiffrement asymétrique s’ appuie sur les
mathématiques. Elle est basée sur la résolution ou la réduction de la complexité
des fonctions inverses à celles utilisées par les systèmes de chiffrement symétrique.
 Donald Coppersmith (www.research.ibm.com) a élaboré en 1983 une méthode
permettant de calculer les algorithmes discrets dans un temps polynomial (qui
varie linéairement avec la longueur de la clé). Celle-ci est devenue un moyen
incontournable pour les cryptanalyse de l’algorithme Diffie-Hellman.
 Des mathématiciens ont trouvé en 1980, un algorithme qui permettait de factoriser
des nombres à 50 chiffres en 1012 opérations élémentaires.
 En 2005, une équipe chinoise a annoncée qu’elle avait réussi à réduire la
complexité de 280 à 269 opération élémentaires et a démontré qu’elle a cassé l’
algorithme SHA-1.
 Note : Même en l’absence de la diffusion d’une méthode prouvant qu’un
algorithme a été casse, cela ne veut pas dire que la méthode n’existe pas ou que
l’algorithme n’ a pas été cassé. Aucune preuve mathématique ne permet d’affirmer
que ce n’est pas possible.
Mounir GRARI
Sécurité informatique
198
Chapitre 6 : La sécurité par le chiffrement
3. Clés secrètes
 La sécurité du processus des chiffrement repose en grande partie sur la sécurité et
la confidentialité des clés utilisées, sur la robustesse des algorithmes et sur la
sécurité des plates-formes matérielles et logicielles qui les supportent.
 La durée de vie d’une clé de chiffrement (et de déchiffrement) dépend de son
utilisation. Il est conseillé de changer la clé périodiquement, tout en évitant les
modification trop fréquentes qui rendent difficile la gestion des clés. En revanche,
pour toutes les applications ouvertes au réseau, il est hautement souhaitable
d’utiliser une clé à usage unique, particulière à chaque session de travail.
 Le système de gestion de clés basé sur l’usage d’une carte à puce (et d’un lecteur
de carte) autorise l’usage d’une clé unique à chaque session de travail. En fonction
des besoins, les données à chiffrer ou à déchiffrer le sont par le processeur de la
carte à puce et le résultat est retourné à l’utilisateur. Ainsi, la clé secrète ne quitte
jamais la puce.
Mounir GRARI
Sécurité informatique
199
Chapitre 6 : La sécurité par le chiffrement
3. Clés secrètes
 Les fonctions d’un système de gestion de clés sont celles qui permettent de
réaliser les services de:
- Génération d’une clé en fonction des besoins et des systèmes de chiffrement;
- Distribution des clés aux entités (vérification, authentification des entités, etc.);
- Stockage des clés de manière sécurisé (chiffrement des clés , sécurité du serveur,
archivage fiable afin d’assurer la confidentialité et l’ intégrité des clés);
- Surveillance(monitoring), d’ enregistrement, d’audit , de traçage, de sécurité, de
test de bon fonctionnement, de alarme de contrôle d’ accès aux clés, etc.;
- Destruction des clés inutiles (destruction physique, etc.);
 Dans un système d’information, plusieurs clés de chiffrement sont généralement
utilisées. Il peut alors exister une certaine hiérarchie des clés (notion de clé
maitresse, physiquement protégée, et de clés filles chiffrées à partir de celle-ci).
Mounir GRARI
Sécurité informatique
200
Chapitre 6 : La sécurité par le chiffrement
3. Clés secrètes
Exemple de l’ algorithme de Diffie Hellman pour créer une clé partagée
 Les deux participants (Alice et Bob) partagent deux paramètres non-secrets : un
nombre premier p et un nombre g tel que 1< g < p .
Chacun d'eux choisit une clé privée dans l'intervalle [1,.., p - 2 ], Alice choisissant
une valeur a et Bob une valeur b .
 Chacun des participants calcule alors une valeur publique qu'ils s'échangent : Alice
envoie A = ga mod p à Bob qui lui envoie B = gb mod p .
Bob calcule Ab mod p et Alice calcule Ba mod p .
 Cette valeur étant nécessairement la même, ainsi, ils disposent d’une valeur k qui
fait office de clé secrète partagée puisque on a :
k = Ba mod p = (gb mod p)a = gba mod p
k = Ab mod p = (ga mod p)b = gba mod p
Mounir GRARI
Sécurité informatique
201
Chapitre 6 : La sécurité par le chiffrement
3. Clés secrètes
Exemple numérique de l’ algorithme de Diffie Hellman
 Supposons à titre d’exemple, qu’Alice et Bob partagent les deux informations
suivantes : p = 233 et g = 45 .
Si Alice choisit a = 11 et Bob b = 20 , alors A = 4511 mod 233 =147 ,
B = 4520 mod 233 =195 .
 Aussi on a : Ba mod p=19511 mod 233=169 et Ab mod p=14720 mod 233 =169.
Alice et Bob disposent d’une clé privée, k = 169 .
 La sécurité de cette technique repose sur la difficulté de calcul de k (= gab mod p) à
partir de A= ga mod p ou B= gb mod p lorsque p est grand.
La fonction utilisée dans cette méthode f (x ) = gx mod p est une fonction à sens
unique : f (x ) est facile à calculer, mais “retrouver x à partir de { f (x ) , g et p }”
est très délicat . L’algorithme de Diffie Hellman se base ainsi sur le problème du
logarithme discret.
 Question : Comment casse l’algorithme de diffie Hellman?
Mounir GRARI
Sécurité informatique
202
Chapitre 6 : La sécurité par le chiffrement
3. Clés secrètes
Les faiblesse de l’ algorithme de Diffie Hellman
 Quand Alice veut envoyer un message chiffré à Bob, elle doit d’abord entrer en
contact avec lui afin de fixer la clé lors d’un premier échange; chaque transmission
de message se trouve ainsi fortement ralentie et perd toute instantanéité. On parle
dans ce cas du problème d’authentification.
 Une tierce personne peut intervenir lors du processus d’échange des clés publiques
en les modifiant par des clés de son choix; elle sera alors en mesure de décrypter
les messages envoyés sans que les participants ne s’en aperçoivent. Ainsi, lors de
l’échange des clés, l'attaquant choisit sa propre clé c et calcule G = gc mod p . Il
remplace a et b par cette valeur. Alice va employer la clé k1 =Ga =gac mod p et
Bob la clé k2 =Gb= gbc mod p . Lors de l’échange d’un message chiffré, l'attaquant
déchiffre les messages d’Alice à l’aide de la clé k1 qu’il partage avec Alice, puis les
chiffres avec la clé k2 qu’il partage avec Bob. Ce dernier va décrypter le message
d’Alice sans s’apercevoir qu’il a été intercepté et manipulé. Ici on parle de l’attaque
“man in the middle”.
 Aussi l’algorithme de Diffie Hellman est menacé par le progrès en mathématiques
car le problème difficile du logarithme discret peut être résolu dans le futur.
Mounir GRARI
Sécurité informatique
203
Chapitre 6 : La sécurité par le chiffrement
 Exercice 32 : Quels sont les principaux avantages, inconvénients et limites associé
au chiffrement symétrique?
 Exercice 33 : Quels sont les principaux avantages, inconvénients et limites associé
au chiffrement asymétrique?
 Exercice 34 : pourquoi l’ usage du chiffrement asymétrique est-il préféré au
chiffrement symétrique dans les transaction commerciale sur Internet? Dans
quelles circonstances le chiffrement symétrique peut-il être utilisé?
 Exercice 35 : Qu’est ce qui permet de qualifier un algorithme de chiffrement de
robuste?
 Exercice 36 : Pourquoi est-il difficile d’ avoir confiance dans les produit de
chiffrement commercialisés?
Mounir GRARI
Sécurité informatique
204