Vous êtes sur la page 1sur 45

YOMBI à YOMBI : Introduction à la Cryptographie

Introduction à la technologie de chiffrement

D’après le dictionnaire, la cryptologie est définie comme une « branche de la


mathématique qui traite de l'étude du développement et de l'évaluation de
méthodes de chiffrement des données dans le contexte de la protection des
données ». Le mot « kryptós » vient du grec et signifie "secret" ou "caché". La
cryptologie comprend à la fois la cryptographie, qui est la science du
chiffrement des informations, et la cryptanalyse, qui est la science du
décryptage ou déchiffrement sans connaître la clé.
Un autre domaine indépendant souvent associé à la cryptographie est la
stéganographie. La stéganographie est la science de la dissimulation
d'informations. L'existence du message est tenue secrète. Le mot vient aussi
du grec et signifie "écriture secrète".
En général, on peut dire que la cryptologie traite de la sécurité de
l'information. Un exemple classique est le cryptage des messages d'un
expéditeur à un destinataire afin qu'un tiers non autorisé ne puisse pas
décrypter un message intercepté.

Le texte original de l'expéditeur est appelé texte en clair et le texte crypté est
appelé texte chiffré. Un texte en clair est l'information que le destinataire doit
recevoir. Un texte chiffré est un texte en clair crypté, ce qui signifie qu'il ne
peut plus être lu par d'autres. L’action de chiffrer est également connu sous le
nom de chiffrement, l’action de déchiffrer est le déchiffrement.

L’expéditeur
chiffre avec
une clé

Texte en clair Texte chiffré


en clair

Le destinataire
déchiffre avec
une clé

Les informations secrètes utilisées pour le chiffrement et le déchiffrement sont


appelées une clé. Si la même clé est utilisée pour le chiffrement et le
déchiffrement, cela s'appelle un processus symétrique. D'autre part, il existe

1
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

des méthodes dans lesquelles deux clés ou plus sont utilisées, c'est-à-dire que
la clé de chiffrement est différente de la clé de déchiffrement. Ces
procédures sont asymétriques.

Cryptologie

Chiffrement des Déchiffrement


informations des informations

Stéganographie Cryptographie Cryptanalyse

Chiffrement Chiffrement
symétrique asymétrique

2
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

I – Stéganographie – la Science de dissimulation de


l’information
La stéganographie est une technique consistant à dissimuler un message ou
des données à l'intérieur d'un autre ensemble de données (texte, image,
audio, vidéo...). Elle diffère en cela de la cryptographie, où le message n'est
pas caché mais rendu inintelligible sans un code de déchiffrement.

La sténographie dans l’histoire

Un des plus anciens exemples connus de stéganographie est celui


d'Aristagoras, gouverneur de la ville de Milet au 5e siècle av. J.-C, qui fit tatouer
un message sur le crâne rasé d'un esclave et attendit que les cheveux aient
repoussé pour l'envoyer porter le message. Plus tard, l'encre invisible ou de
légères indentations dans les textes ont été utilisées.

Durant la seconde guerre mondiale, les agents allemands ont également eu


recours à la technique du micropoint de Zapp, où la photo d'une page est
réduite à un point et placée dans un texte normal.

La série «Prison Break» est un autre exemple, où le héros Michael Scofield se


fait tatouer sur le corps le plan de la prison où est enfermé son frère afin de le
faire libérer.

Les techniques stéganographiques numériques

Grâce au numérique, la stéganographie passe aujourd'hui par des fichiers


dématérialisés. Elle est la plupart du temps doublée d'un chiffrement. Pour
cacher un document dans une image, on peut par exemple remplacer
un octet RVB par un bit de données : cela dégrade un peu l'image mais ce
n'est pas visible à l'œil nu. Une autre possibilité pour cacher une image dans un
fichier audio est de transformer chaque ligne de l'image en onde sinusoïdale
dont l'amplitude et la fréquence varie selon les caractéristiques des pixels. On
génère ainsi un son dont le spectrogramme représente l'image. Un autre
système sténographique bien connu, dénommé SNOW (Steganographic
Nature Of Whitespace) utilise lui des espaces vides à la fin des lignes
pour coder des messages dans des textes écrits en code ASCII. Comme les
espaces et les retours à la ligne ne sont pas visibles dans les visionneurs de
fichiers texte, il est impossible de s'apercevoir de la présence d'un message.

Pour ne pas trop dégrader le fichier original, on utilise de préférence des


fichiers qui contiennent beaucoup de redondances, comme les fichiers
audio et les images brutes. La stéganographie fonctionne en revanche

3
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

beaucoup moins bien avec des formats compressés comme le JPEG ou


le MPEG.

Utilisations de la sténographie

La stéganographie est exploitable dans de nombreux domaines, comme le


watermarking qui consiste à apposer un filigrane transparent sur une image
pour protéger les droits d'auteur.

Mais elle est surtout prisée des cybercriminels pour infecter des ordinateurs ou
masquer l'activité d'un malware. Le pirate envoie par exemple un fichier image
ou Word qui contient une adresse url. Lorsque l'utilisateur ouvre le message, un
programme va directement se connecter à l'adresse où des fichiers
malveillants vont s'exécuter et infecter l'ordinateur.
EXEMPLE :
Lettre de Georges Sand à Alfred de Musset

4
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

II - Cryptographie - la science du chiffrement

II.1 la science du chiffrement


Un moyen éprouvé de protéger les messages contre les lecteurs non autorisés
consiste à les rendre illisibles par "chiffrement".

Avec le chiffrement, un message est converti en une chaîne de caractères


illisible, on dit aussi « crypté » ou « codé », à l'aide d'un processus de
conversion, que seul un destinataire autorisé peut reconvertir en message
d'origine, on dit aussi « décrypté » ou « décodé ».

Les méthodes de chiffrement et de déchiffrement sont contrôlées par des


paramètres, le paramètre est appelé la clé.

Le destinataire ne peut déchiffrer le message chiffré (ou cryptogramme) que


s'il est en possession de la clé de déchiffrement qui correspond à la clé de
chiffrement...

La cryptographie est la science du chiffrement, souvent appelé plus


généralement aujourd'hui comme la science de la sécurité de l'information.

La qualité des méthodes de chiffrement dépend de la complexité avec


laquelle il est possible de déchiffrer des messages sans autorisation - c'est-à-
dire sans clé de déchiffrement appropriée. On parle ainsi de cryptographie
faible ou cryptographie forte.

La cryptanalyse est la science contraire de la cryptographie. Elle examine la


qualité des techniques de décryptage et analyse les attaques possibles
contre le chiffrement.

Afin d'obtenir la possession non autorisée de l'information, un attaquant doit :

 Intercepter le message crypté puis ;


 Le décoder (plus ou moins) laborieusement.
Les attaques par force brute sont toujours possibles :

 L'attaquant tente de déchiffrer le texte chiffré en essayant


systématiquement toutes les clés possibles ;
 La difficulté de « cracker » les méthodes de chiffrement dépend
essentiellement de la longueur de la clé, car avec chaque caractère
supplémentaire de la clé, le Nombre de clés possibles croit de manière
exponentielle...

5
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

II.2 Les techniques de chiffrement aident à atteindre divers


objectifs de sécurité
La confidentialité:
■ Seules les personnes autorisées ont accès aux informations
Intégrité:

■ Protection contre la falsification des messages. On doit pouvoir être


sûr que le message n’a pas été modifié en cours de route vers son
destinataire.
Authenticité:
■ S'assurer de la paternité ou de l’origine d'un message

Non répudiation(Responsabilité):

■ L'auteur d'un message ne doit pas être capable d’en nier la


paternité.

II.3 Les techniques de chiffrement


Ils en existent principalement deux : les techniques de chiffrement classiques,
on parle aussi de cryptographie classique et les techniques de chiffrement
modernes, on parle de cryptographie moderne.
II.3.1 Les techniques de cryptographie classique
La cryptographie classique utilise principalement deux techniques.
■ La transposition :
□ Réorganiser les lettres dans un mot/une phrase/un texte.
■ La substitution :

□ Remplacer des lettres individuelles (par d'autres


caractères/lettres).
II.3.2 Les techniques de cryptographie moderne
La cryptographie moderne utilise principalement trois types de techniques :

■ Application des techniques au niveau du bit (augmente les


combinaisons possibles)
■ Méthode symétrique ou à une clé (« Clé secrète »)
■ Méthode asymétrique ou à deux clés (« clé publique »)

6
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

7
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

III - Exemples de méthodes de chiffrement classiques


On distingue les substitutions mono alphabétiques et les substitutions poly
alphabétiques.

III.1 Substitution mono alphabétique


Avec la substitution mono alphabétique, le texte en clair est chiffré lettre par
lettre. L’alphabet du texte en clair et du texte chiffré étant le même.

■ Les schémas de remplacement peuvent être sélectionnés librement,


mais doivent être connus de tous les participants à la communication,
par ex.
– Inversion de la suite de lettres (A ↔ Z, B ↔ Y,…)
– Décalage de position d'une valeur spécifique
– Chiffrement avec un mot de départ
– etc…
Chiffrement avec mot de départ
■ Les participants sélectionnent le mot de départ
■ L'alphabet est ajouté au mot de départ

■ Ensuite, toutes les occurrences multiples de lettres sont ignorées

Exemple :
□ Les participants sélectionnent le mot de départ : "sécurité Internet".

□ Ajouter l'alphabet à la sécurité Internet et supprimer toutes les occurrences


multiples de lettres :
Le résultat est "SECURITN" suivi de l'alphabet aminci.
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

Chiffrement Déchiffrement
S E C U R I T N A B D F G H J K L M O P Q V W X Y Z

Chiffrement par substitution.

Ici chaque lettre est remplacée par la lettre qui suit X positions ("clé") dans
l'alphabet.
Exemple:
8
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ L'expéditeur et le destinataire choisissent l'alphabet français et se mettent


d'accord sur la clé (numéro de décalage) X = 12
□ Texte brut : « Sécurité Internet »

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

Chiffrement avec X=12 Déchiffrement avec X=12

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

□ Texte chiffré : "EQOGDUFQ UZFQDZQF"

□ Attention : Si X est un multiple de la taille de l'alphabet, alors le texte chiffré


sera identique au texte en clair.

Effort pour casser la clé X :

■ S'il est connu qu'il s'agit d'un chiffrement par décalage, l'attaquant a besoin
d'un maximum de tentatives #Alphabet, dans notre exemple un maximum de
26 tentatives.

□ L'attaquant décale d'abord toutes les lettres de X=1, puis de 2, 3, 4,


etc. et teste à chaque fois si le résultat est un texte significatif, c’est-à-
dire s’il a un sens.
Le chiffre de César :

□ C’est un cas particulier de chiffrement à décalage avec X=3, alors "A"


est traduit par un "D", ainsi de suite.

III.2 Substitutions poly alphabétiques


Les substitutions poly alphabétiques utilisent plusieurs alphabets pour chiffrer le
texte.

■ Les mêmes lettres dans le texte en clair peuvent ainsi être convertis en
différentes lettres dans le texte chiffré et vice versa.

□ Le nombre de décalage est choisi pour chaque lettre en fonction de sa


position, par ex. :
□ Position = décalages : par exemple " Internetsicherheit" :

– "I" en position 1 est décalé de 1 → "J"

9
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

– "N" en position 2 est décalé de 2 → "P"


–…
– "T" en position 18 est décalé de 18 →"L"
□ "INTERNETSICHERHEIT" → "JPWIWTLBBSNTRFWUZL"

III.3 Chiffrement de Vigenère


■ Il a été développé par Blaise de Vigenère au XVIe siècle.

■ Choix d'un mot clé : "sicher" (les positions des lettres dans l'alphabet sont
utilisées ci-dessous : A=0, B=1, ...)
■ Puis un chiffrement à décalage par le nombre de positions correspondant

I N T E R N E T S I C H E R H E I T Texte en clair
S I C H E R S I C H E R S I C H E R Clé
18 8 2 7 4 17 18 8 2 7 4 17 18 8 2 7 4 17 Décalages
A V V L V E W B U P G Y W Z J L M K Texte chiffré

□ Si la longueur du texte n'est pas un multiple de la longueur de la clé, il sera


tronqué à la fin...
Déchiffrez le chiffre de Vigenère :

■ Si le texte est suffisamment long, l'attaquant peut déterminer la longueur de


la clé (n) : chaque nième caractère est encodé avec le même chiffrement à
décalage, qui peut être décodé par analyse fréquentielle...

Variante Vigenère avec Autokey :


■ Le texte chiffré est composé du mot-clé suivi du texte en clair
I N T E R N E T S I C H E R H E I T Texte en clair
S I C H E R I N T E R N E T S I C H Clé
A V V L V E M G L M T U I K Z M L A Texte chiffré

■ Le destinataire peut déchiffrer les premiers caractères avec un mot-clé, puis


les caractères suivants peuvent être décodés avec du texte déjà déchiffré

Enigma
■ Enigma ("énigme") a été inventé en 1918 et est basé sur le principe du
chiffrement du rotor
10
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Utilise la substitution polyalphabétique pour renforcer le chiffrement

■ Différentes versions de l'Enigma avec une force cryptographique croissante


: Enigma I-M4

■ Se compose de (3 sur 5 ou 3 sur 8) rouleaux, (1 ou 2) rouleaux d'inversion,


(avec M4 1 sur 2 rouleaux grecs) etun ensemble de connecteurs

■ Les rouleaux traduisent les lettres, après quoi après chaque lettre le rouleau
(ils sont verrouillés) continue de tourner

Décryptage par cryptanalyse


Cryptanalyse – comment le chiffrement peut-il être cassé ?
■ Principe de Kerckhoff :

□ La sécurité d’un algorithme de chiffrement ou d'une méthode de


chiffrement doit reposer uniquement sur le secret de la clé et non sur le secret
de la procédure.

□ Les méthodes de chiffrement sont donc rendues publiques afin que de


nombreux experts puissent les analyser.

Options d'attaque :
■ Force brute : Test systématique de toutes les clés possibles

■ Analyse statistique : Possible sur la base d'observations linguistiques, par


exemple la fréquence des lettres
■ Texte en clair choisi : Analyse du chiffrement d'un texte connu

■ Attaques par dictionnaire : Essayer des mots clés fréquemment utilisés ou


bien connus

11
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

IV - Cryptographie symétrique, à une clé ou à clé


secrète
Principe de fonctionnement de la cryptographie à clé secrète.
■ Un message est crypté et décrypté avec la même clé (« clé secrète »)
□ L'expéditeur et le destinataire ont besoin de cette clé
□ Problématique : échange de clé sécurisé
■ Description mathématique formelle :
Fdéchiffrement(C, Fchiffrement(C, Texte Clair)) = Texte Clair

Deux approches :
■ Chiffrements de flux

□ Les chiffrements de flux chiffrent le texte en clair caractère par


caractère ;

□ Le déchiffrement s'effectue caractère par caractère


également ;
■ chiffrements par blocs
□ Le texte brut est divisé en blocs de longueur fixe
□ Les blocs sont chiffrés/déchiffrés individuellement

Par exemple : chiffrements par blocs

Crypter le texte en clair de longueur fixe en texte chiffré de longueur fixe (les
longueurs sont pour la plupart identiques)
■ Principes de chiffrement :
□ Diffusion

– une position dans le texte clair doit influencer autant de positions dans le
texte chiffré que possible → de petits changements dans le texte clair
provoquent de nombreux changements dans le texte chiffré.
□ Confusion :

– Rendre le lien entre le texte chiffré et la clé aussi complexe que possible afin
de rendre plus difficile de tirer des déductions.

12
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Exécution en cycle ou au tour par tour :


■ Le chiffrement s'effectue en plusieurs cycles
■ Diverses clés rondes sont dérivées de clés

■ Appliquer différentes substitutions, opérations et permutations à chaque


tour cycle

→ Résultat, un seul caractère en clair est "réparti" sur plusieurs caractères


chiffrés...
Méthodes (algorithmes) de chiffrement à une clé répandues sur Internet :
■ DES, 3-DES
■ IDEA
■ AES
■…

DES – Data Encryption Standard


■ Norme de cryptographie officielle du gouvernement américain de 1976
■ Longueur de clé : 56 bits → 256 clés différentes ≈ 72 000 milliards
■ Chiffrement par bloc 64 bits avec 16 tours (permutation et substitution)
□ L'entrée est décomposée en blocs de 64 bits
□ Le bloc 64 bits est divisé en deux blocs 32 bits
□ La fonction de "Feistel" est appliquée à l'un des sous-blocs
□ Les deux blocs sont liés à l'opérateur XOR et échangés pour le tour suivant

Fonction de feistel :

■ Le bloc 32 bits est étendu à 48 bits et lié par XOR avec une clé partielle de
48 bits (clé de tour).

■ Tous les 6 bits sont compressés à 4 bits au moyen de boîtes S (boîtes de


substitution).
■ 32 bits sont réarrangés avec une permutation
■ les permutations et les substitutions octroient Diffusion et confusion

13
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Considération de la longueur de la clé :


Attaque par force brute
Attaques par force brute sur les clés

■ Les attaquants essaient toutes les clés possibles jusqu'à ce qu'une clé valide
soit trouvée

→ Avec l'augmentation de la puissance de calcul, de plus en plus de clés


peuvent être testées par unité de temps → Le nombre de clés à tester doit
croître avec elle

Les attaques par force brute ne peuvent pas être empêchées, seulement
rendues plus difficiles :
■ Procédure avec un espace clé extrêmement grand

■ A chaque caractère de touche supplémentaire, le nombre de touches est


multiplié par la taille de l'alphabet des touches, par ex.
□ # clé binaire de longueur 10 : 1 024
# clé binaire de longueur 11 : 2 048 = 2 x 1 024

# clé binaire de longueur 56 : 72 057 594 037 927 936

Attaque sur 2DES

Vous voulez rendre les attaques par force brute sur DES (clé : 56 bits) plus
difficiles...
■ Approche naïve :
□ 2DES – double utilisation de DES :
DES(K1,DES(K2,texte clair)) = texte chiffré
□ La longueur de la clé double :
56 bits (K1) + 56 bits (K2) = 112 bits

■ Attaque de texte en clair connue (l'attaquant connaît le texte chiffré du


texte en clair)
□ Calcul de tous
– K2 avec DES (K2, texte brut) – 256 calculs
- K1 avec DES-1 (K1, texte chiffré) - 256 calculs
□ Enregistrer les résultats et rechercher une correspondance
14
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ Effort arithmétique : 2* 256=257 et non 2112 comme espéré….


Considération de la longueur de la clé....
■ L'augmentation de la longueur de la clé est extrêmement importante

□ Dès 1998, l'ordinateur spécial "deep crack" pour DES était capable de tester
88 milliards de clés par seconde
 La clé DES a été déterminée en 56 heures

□ En 1999, "Deep-Crack" était connecté à un réseau de 100 000 ordinateurs et


atteignait un débit de 245 milliards de clés par seconde
 La clé DES a été déterminée en 22 heures
■ L'imbrication 2DES n'apporte aucun gain

■ 3DES ou Triple-DES fournit au moins un doublement de facto de la longueur


de la clé
■ Besoin d'algorithmes avec des clés plus longues...

AES –Advanced Encryption Standard


■ AES a été créé à la suite d'un concours de cryptographie est devenu la
nouvelle norme en 2000

■ Développé par Vincent Rijmen et Joan Daemen, AES est également connu
sous le nom d'algorithme de Rijndael
□ Longueurs de bloc et de clé variables : 128, 160, 192, 224, 256 bits

■ AES utilise une longueur de bloc de 128 bits et une longueur de clé de 128,
192 et 256 bits (AES-128, AES-192, AES-256)
■ Chiffrement par bloc basé sur les tours avec R tours (R = 10, 12 ou 14)
■ Étapes :
1. Extension de clé
2. tour préliminaire
3. Cycles de chiffrement 1 - (R-1)

4. tour final

Disposition tabulaire de la clé et des octets de bloc


1. Extension de clé :

15
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ Génération de (R+1) sous-clés avec la longueur de la longueur du bloc


2e tour préliminaire :
□ Opération XOR octet par octet de la touche ronde avec le bloc
3. Cycles de chiffrement 1 - (R-1):
□ Sera brièvement décrit ci-dessous
4. Tour final :
□ Comme le chiffrement rond mais sans changer les colonnes

Tours de chiffrement :
1. Remplacement octet par octet du bloc par des octets dans la S-Box
2. Décalage des octets ligne par ligne
3. Recalcul des colonnes :
f(Bytex) = (Bytex*2 ) XOR (Bytex+1,*3)
XOR (Bytex+2) XOR (Bytex+3)

x : index de ligne, où calcul de ligne mod 4, donc la somme est toujours est
compris entre 1 et 4

*: est * mod x8+x4+x3+x+1 pour toujours rester dans l'espace 28(octets).

16
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Problème d'échange de clé avec le chiffrement à une clé

Échange de clé sécurisé avec le chiffrement à une clé ?


■ Avant que la communication puisse être protégée par un chiffrement à
une clé, les tiers communicants doivent convenir d'une clé secrète ;

■ Les clés ne doivent pas être envoyées en clair sur Internet qui est un réseau
ouvert, sinon un attaquant peut espionner la clé pendant la transmission, puis
décrypter le contenu des échanges ;
■ L'échange de clés est un problème fondamental du chiffrement à une clé.

Échange de clés utilisant le procédé Diffie-Hellman


But:

■ Les partenaires A et B souhaitent communiquer sur Internet à l'aide d'une


méthode de chiffrement à une clé sans échanger au préalable la clé sur
Internet.
Condition préalable:
■ A et B se conviennent de :
□ une méthode de chiffrement à une clé ;
□ un nombre premier P, par exemple P = 29
□ un nombre entre 1 et P, par exemple g = 3

ce nombre doit être le générateur du groupe cyclique d'ordre P (pour 29


2,3,8,10,11,14,… serait possible).

Procédure d'échange de clé Diffie-Hellmann :

1. A choisit un nombre secret Ga=7 et envoie le message Na= 3 7 mod 29 = 12


à B.

2. B choisit un nombre secret Gb=11 et envoie le message Nb= 3 11 mod 29 =


15 à A.
3. A et B peuvent maintenant calculer eux-mêmes la clé secrète partagée S :
□ A calcule : S = (Nb)Ga mod 29 = (gGb)*Ga mod 29 = 157 mod 29 = 17
□ B calcule : S = (Na)Gb mod 29 = (gGa)*Gb mod 29 = 1211 mod 29 = 17

17
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Les partenaires A et B peuvent maintenant Utiliser la méthode de chiffrement


à une clé convenue avec la clé S.

Quelle est la sécurité de la clé secrète S ?


■ Seuls P, g, Nb et Na ont été échangés sur un réseau ouvert (internet)
■ Pour pouvoir calculer S, Ga ou Gb doit être connu

■ Pour calculer Ga ou Gb à partir de P, g, Nb, Na, il faut résoudre le problème


mathématique du logarithme discret, qui ne peut pas être résolu en pratique
(c'est-à-dire en temps réaliste) pour les grands nombres.

Effectué avec de très grands nombres, par exemple P avec environ 300
chiffres, Ga / Gb environ 100 chiffres.

18
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Le chiffrement à deux clés ou à clé publique ou


asymétrique
Principe de fonctionnement du chiffrement à deux clés
■ Utilisation de paires de clés pour le chiffrement et le déchiffrement :
□ Clé privée : doit être tenu secret de tous les autres participants

□ Clé publique : est rendu accessible à tous les autres participants

■ Un message chiffré avec une clé publique ne peut être déchiffré qu'avec
la clé privée associée ;

■ Un message chiffré avec une clé privée ne peut être déchiffré qu'avec la
clé publique associée ;

■ Il est pratiquement impossible de reconstituer la clé privée à partir de la clé


publique et vice versa.

Chiffrement et déchiffrement
Condition préalable:
■ Tous les participants possèdent
□ une clé privée à garder secrète ;
□ une clé publique accessible au public ;

■ La clé publique peut être attribuée en toute sécurité aux participants aux
échanges

Chiffrer un message avec la clé publique d'un participant permet


uniquement à ce participant de déchiffrer le message avec sa clé privée.
Fdéchiffrement(Kprivée , Fchiffrement(Kpublic ,texte)) = texte
■ Assurer la confidentialité du message.

Le chiffrement d'un message avec la clé privée d'un participant permet à


chacun de vérifier que ce message provient bien de l'expéditeur,
notamment quand le message peut être déchiffré avec la clé publique de
dernier.
(Fdéchiffrement(Kpublic , Fchiffrement(Kprivate , texte)) = texte
■ Garantir la non répudiation et l’origine du message.
Cependant, les deux ne fonctionnent que si :

19
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ la clé publique n'est pas compromise et


■ la clé privée a été gardée secrète.

L’idée de base du chiffrement à deux clés


■ Les méthodes de chiffrement asymétriques sont basées sur des problèmes
mathématiques très difficiles à résoudre, par exemple la factorisation des
grands nombres premiers, ...

■ Des fonctions « unidirectionnelles » irréversibles sont aussi utilisées pour


s'assurer que la clé privée ne peut pas être calculée à partir de la clé
publique associée ;

■ Il n'y a pratiquement aucune possibilité de calculer la clé privée à partir de


la clé publique ;
Cependant:

■ La sécurité de la méthode de chiffrement à 2 clés repose sur des


hypothèses théoriques non prouvées, telles que le fameux
P ≠ ? NP Hypothèse
de la théorie de la complexité.

Exemple 1:
Échange de clés Diffie-Hellman

La méthode d'échange de clés Diffie-Hellman décrite plus haut est une


méthode de chiffrement à deux clés :
■ Paire de clés de A :
□ Clé publique : (P, g, Na )
□ Clé privée : numéro secret Ga
■ Paire de clés de B :
□ Clé publique : ( P, g, Nb )
□ Clé privée : numéro secret Gb

Exemple 2 : RSA

Le chiffrement RSA est la méthode de chiffrement à deux clés la plus connue


et la plus largement utilisée.

20
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Elle a été développé en 1977 par Ron Rivest, Adi Shamir et Leonard
Adleman ;

■ RSA est basé sur un problème mathématique pratiquement insoluble (en


temps réel) de factorisation :

□ Le produit de deux très grands nombres premiers choisis au hasard ne


peut pas être factorisé en pratique (c'est-à-dire dans un temps réaliste)
sans connaissance des deux nombres...

Méthode RSA : (exemple avec des petits nombres)


Point de départ :
1. Choix de deux nombres premiers, par exemple p = 17 et q = 31
2. Calcul du produit :
 N = p * q , par exemple N = 17 * 31 = 527
3. Calcul de la fonction dite d'Euler phi :
 φ(N) = φ(p) * φ(q) = (p-1)*(q-1),
(Explication : φ(prime) = (prime-1) )
 Par exemple φ(N) = 16 * 30 = 480
Génération d'une paire de clés pour les participants : …
Génération d'une paire de clés pour les participants :
4. Choix d'un nombre e relativement premier à φ(N) avec e < φ(N)

 par exemple e = 13,


 (e,N) = (13, 527) est la clé publique
5. Calcul de l'inverse multiplicatif d à e par rapport à φ(N),
c'est-à-dire e * d mod φ(N) = 1

 Par exemple d = 37 → e * d mod φ(N) = 13 * 37 mod 480 = 1


 (d,N) = (37, 527) est la clé privée

Remarque:

■ En fin de compte, seuls e, d, N sont nécessaires pour générer la clé publique


(e,N) et la clé privée (d,N).
Application de la procédure :
■ Chiffrer/déchiffrer avec une clé publique/privée

21
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ chiffré = messagee mod N


□ message = chiffréd mod N
■ Chiffrer/déchiffrer avec clé privée/publique
□ chiffré = messaged mod N
□ message = chiffree mod N

Application de la méthode – notre exemple :


Le partenaire de communication B souhaite envoyer le message "456" à A :

■ B obtient la clé publique (e,N) = (13, 527) de A et l'utilise pour chiffrer le


message « 456 » :
456e mod N → 45613 mod 527 = 447
■ B envoie "447" à A via l'internet ouvert
■ A peut déchiffrer "447" avec sa clé privée (d,N) = (37, 527):
447d mod N → 44737 mod 527 = 456

L'exactitude de la méthode RSA repose sur le petit théorème de Fermat :


Soit a un nombre quelconque et p un nombre premier.
ap-1 ≡ 1 mod p , si a n’est pas un multiple de p

Chaîne de preuves :
Si

e * d ≡ 1 mod (p-1)*(q-1)
Il existe x tel que e * d -1 = x * (p-1)*(q-1) …

22
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Coffres-forts numériques à partir de problèmes mathématiques


difficiles à résoudre
Idée de base de la méthode de chiffrement à 2 clés :

Les méthodes de chiffrement à 2 clés sont basées sur des problèmes


mathématiques très faciles à résoudre dans un sens et pratiquement
impossibles à résoudre dans le sens opposé.

■ "pratiquement insoluble" signifie qu'une solution ne peut pas être


trouvée dans un délai réaliste et avec les ressources habituelles

■ Le chiffrement (et la signature) se fait avec relativement peu d'effort


dans une direction

■ Pour un déchiffrement non autorisé sans connaître la clé ou pour


déterminer la clé privée à partir de la clé publique, le sens inverse du
problème doit être résolu, ce qui est pratiquement impossible

Les problèmes mathématiques avec cette propriété sont considérés comme


les coffres-forts du monde numérique.

Exemple 1 : La factorisation
■ Sens ou directions simples :
□ Calculer le produit de deux nombres premiers
□ par exemple 13 * 17 = 221
■ Sens inverse :
□ Factorisation (détermination du diviseur premier) d'un nombre

□ Aucun algorithme de solution n'est connu qui trouve les diviseurs non
triviaux de manière efficace (dans un laps de temps raisonnable).

– Le produit N = p * q de deux nombres premiers p et q n'a que les quatre


diviseurs 1, p, q, et N.

– p et q ne peuvent être trouvés qu'en testant tous les nombres de 2 à √N


pour la divisibilité par N...
→ Factoriser un nombre prend donc énormément de temps.

Les records de factorisation :


En 2005 :

■ Après 2 ans de travail et une parallélisation poussée, un nombre à 200


chiffres a été factorisé par le BSI et ses partenaires.

23
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Décembre 2009 :

■ Un nombre à 232 chiffres a été factorisé par plusieurs centaines


d'ordinateurs après 2,5 ans de travail.

Exemple 2 : Le logarithme discret


Sens facile :

■ Calcul d'une fonction exponentielle discrète (en groupe cyclique) comme


dans le principe Diffie-Hellman
□ xy ≡ z mod p, où les nombres premiers p, x et y sont donnés
□ par exemple 515 mod 23 = 19.
Sens inverse :
■ Calcul du logarithme discret
□ xy ≡ z mod p → logx z mod p, où p, x , z sont donnés
□ par exemple log5 19 mod 23 = 15

De plus, aucun algorithme connu ne s'exécute plus rapidement que le test de


toutes les solutions possibles en temps exponentiel.

Les protocoles de sécurité


Exemples:
■ Authentification
■ Chiffrement
■ Chiffrement hybride
■ Signature numérique
■ Etc…
Définition:

Spécification des étapes que les personnes impliquées dans un processus de


traitement de l'information distribué doivent suivre tout en garantissant les
exigences de sécurité spécifiées pour sa mise en œuvre.
Remarques sur la définition

■ Le but d'un protocole de sécurité n'est pas de sécuriser le processus mais de


garantir les exigences de sécurité spécifiées.

24
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Contrairement aux protocoles de communication, les protocoles de


sécurité ne doivent pas être supposés correctement suivis par toutes les
parties impliquées.

□ Les attaques contre le protocole de sécurité visent à saper le


protocole de sécurité ou les systèmes de chiffrement utilisés par celui-ci
afin d'obtenir un avantage unilatéral.

■ Il faut donc s'assurer qu'un protocole de sécurité ne puisse pas être


détourné sans être remarqué...

Quelques exigences envers les protocoles de sécurité


■ Tolérance aux pannes

□ Même en cas de comportement et/ou entrée utilisateur erronés, le


protocole ne doit pas s'interrompre, mais proposer plutôt des solutions
possibles.
■ Capacité de négociation

□ Permet aux participants de se mettre d'accord sur les procédures et


les paramètres à utiliser.
■ Divulgation minimale
□ Seules les informations strictement nécessaires seront divulguées
■ Secret de transmission parfait (Perfect Forward Secrecy)

□ Même si une clé de chiffrement est découverte, tout le trafic de


données ne doit pas être mis en danger. Il ne doit pas être possible de
tirer des déductions sur les clés de session précédemment utilisées.

Les attaques contre les protocoles de sécurité

Ils visent principalement le protocole de sécurité lui-même, les systèmes et


processus de chiffrement qui y sont utilisés.
Deux types d’attaques sont observables :
■ Les attaques passives

□ L'attaquant suit le cours de la communication et essaie d'obtenir des


informations sur son contenu et les participants.
□ Par exemple, avant-toit, analyse du flux de trafic
■ Les attaques actives

25
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ L'attaquant intervient dans le protocole et essaie de le changer


en sa faveur
□ par exemple l’usurpation d'identité (spoofing), les injections, …

Exemples d'attaques majeures sur les protocoles de sécurité


■ l'attaque de Rejoue (replay)
□ Enregistrer un message et l'envoyer à plusieurs reprises
■ Attaques par usurpation d'identité (Spoofing)
□ Participation à la communication sous une fausse identité
■ Attaque de l'homme du milieu (Man in the midle)
□ Interposition inaperçue dans une communication
■ Attaque de détournement (Hijacking)
□ Détournement d'une connexion de communication existante
■ Attaque par déni de service - DoS
□ Interrompre ou empêcher la communication

Exemple 1 : Chiffrement

Objectif : Les participants veulent assurer la confidentialité de leurs messages


lorsqu'ils sont acheminés par un canal de communication ouvert.
■ Les participants conviennent d'abord d'un système de chiffrement commun

□ Les participants doivent être techniquement capables d'exécuter les


algorithmes utilisés dans le système de chiffrement.

□ La plupart du temps, les participants s'accordent sur le système de


chiffrement le plus fort que chacun d'eux peut utiliser.
■ Les participants se mettent d'accord sur une clé de session
Puis début de la communication cryptée.

Exemple 2 : signatures numériques

Objectif : garantir l'authenticité de l'expéditeur et l'intégrité des messages qu'il


envoie sur un réseau ouvert.

26
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Les participants conviennent d'un système de chiffrement à 2 clés,


obtiennent une paire de clés et s'assurent que leur clé publique est publiée.
■ Les expéditeurs "signent" les messages avant de les envoyer

□ L'expéditeur hache le message et crée une "signature" en cryptant le


hachage avec sa clé privée
■ Le destinataire peut vérifier l'authenticité de l'expéditeur et du message

□ Le message reçu est haché et la signature est déchiffrée avec la clé


publique de l'expéditeur
□ La cohérence du hachage et de la signature déchiffrée est vérifiée

27
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

V - LES PROTOCOLES DE CHIFFREMENT


Les protocoles de chiffrement sont des protocoles de sécurité qui peuvent
être utilisés pour assurer la transmission de messages confidentiels sur des
canaux de communication non sécurisés.
Méthodologie de base :
Préparation:

■ Les participants (A et B) se mettent d'accord sur un algorithme de


chiffrement.
■ A et B s'accordent sur la ou les clés à utiliser

Exécution:

■ A chiffre les messages avec une clé convenue et envoie le texte


chiffré à B via le canal de communication non sécurisé.
■ B reçoit le texte chiffré et le déchiffre à l'aide de la clé convenue.

V.I - Protocoles de chiffrement à une clé ou symétrique ou à clé


secrète
Rappel:

■ Avec les méthodes de chiffrement à clé unique, des clés identiques


sont utilisées pour le chiffrement et le déchiffrement.
Méthodologie de base :

Préparation:
■ A et B s'accordent sur une méthode de chiffrement à une clé
■ A et B se mettent d'accord sur la clé secrète à utiliser
Exécution:

■ A crypte les messages avec une clé secrète convenue et envoie un


texte chiffré à B via un canal de communication non sécurisé

■ B reçoit le texte chiffré et le déchiffre à l'aide de la clé secrète


convenue.

Avantages :

28
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

 Les fonctions de chiffrement et de déchiffrement peuvent être


calculées très efficacement
 Situation claire dans l'analyse
 Bonne vitesse d’exécution

Problèmes de base :
■ Échange de clé secrète

V.II - Protocoles de chiffrement à deux clés ou asymétriques ou à


clé publique
Rappel :

■ Avec les méthodes de chiffrement à deux clés, chaque participant


utilise une paire de clés : clé privée et clé publique.
Méthodologie de base :
Préparation:
■ A et B conviennent d'une méthode de chiffrement à deux clés
■ A et B publient leurs clés publiques
Exécution:
■ A obtient la clé publique de B

■ A crypte le message à B avec la clé publique de B et envoie le texte


chiffré à B via un canal de communication non sécurisé.
■ B reçoit le texte chiffré et le déchiffre avec sa clé privée.
Avantage principal :
■ Aucun échange de clé n’est nécessaire
Problèmes:

 Les fonctions de chiffrement et de déchiffrement sont plus


complexes à calculer
 Les vitesses de traitement ne sont pas élevées
 L'attribution "correcte" des clés publiques doit être assurée

V.III - Protocoles de chiffrement hybrides


Idée de base:

29
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Combiner les forces et équilibrer les faiblesses des méthodes de


chiffrement à 1 clé et à 2 clés

□ Le chiffrement à une clé est très efficace (+), mais nécessite un


échange sécurisé préalable de la clé secrète (-)

□ Le chiffrement à 2 clés ne nécessite pas d'échange préalable


de clés (+), mais est très gourmand en calculs (-)
C'est pourquoi :

■ L’échange de la clé de session secrète doit se faire avec une


méthode de chiffrement asymétrique.

■ Le chiffrement des messages lui doit se faire avec une méthode


symétrique.

Méthodologie de base :
Préparation:

■ A et B conviennent d'une méthode de chiffrement asymétrique pour


échanger la clé de session secrète.

■ A et B publient leurs clés publiques et gardent chacun sa clé privée.

■ A et B conviennent aussi d'une méthode de chiffrement symétrique


pour chiffrer les messages réels.

Exécution:

■ A crée une clé de session secrète S pour un chiffrement ultérieur des


messages avec un chiffrement à une clé (symétrique)
■ A obtient la clé publique de B

■ A chiffre la clé de session secrète S en utilisant une procédure à deux


clés (asymétrique)convenue et la clé publique de B, et l'envoie à B.

■ A chiffre les messages suivants à l'aide de la procédure à une clé


convenue et de la clé de session secrète S, et envoie le cryptogramme
à B via le canal de communication non sécurisé.
■ B reçoit la clé de session chiffrée S et la déchiffre avec sa clé privée,

■ B reçoit les messages chiffrés et déchiffre ces derniers avec la clé de


session S.

30
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Avantages :
■ Échange sécurisé de la clé secrète pour le chiffrement symétrique

■ Un effort informatique élevé avec un chiffrement asymétrique n'est


engagé que pour chiffrer la clé de session secrète (qui est courte par
rapport au message réel).

■ La durée de validité de la clé secrète peut facilement être adaptée


aux exigences de sécurité

Problèmes:
■ L'attribution "correcte" des clés publiques doit être assurée

Applications typiques sur Internet :


■ RSA à 2 clés combiné avec AES à 1 clé, IDEA, 3DES.

31
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

SIGNATURES NUMERIQUES

Les signatures numériques sont des protocoles de sécurité qui peuvent être
utilisés pour garantir l'authenticité de l'expéditeur et l'intégrité du message
pour les messages envoyés sur des réseaux ouverts.

■ Elles sont basés sur des méthodes de chiffrement à 2 clés et utilisent


des techniques de hachage ;

■ Le hashé ou condensé du message est chiffré (on dit dans ce cas


signé) avec la clé privée de l'expéditeur ;

■ Si la signature peut être déchiffrée à l'aide de la clé publique de


l'expéditeur, la paternité du message (authenticité de l'expéditeur) et
son intégrité (intégrité du message) sont prouvées ;

Attention : la valeur probante dépend de la bonne attribution de la clé


publique à son propriétaire.

Signatures numériques : aperçu

32
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Signatures numériques : Procédure


Procédures connues pour la réalisation de la signature :
■ El Gamal, DSA, Schnorr, …

□ basé sur un chiffrement à 2 clés utilisant les logarithmes discrets


(sur des corps finis) ;

■ ECDSA, ECGDSA, …

□ basé sur un chiffrement à 2 clés avec des méthodes


cryptographiques utilisant des courbes elliptiques.

Toute méthode de hachage peut être utilisée tant qu'elle s'harmonise avec le
chiffrement à 2 clés appliqué.

■ Exemple : RSA fonctionne sur les nombres modulo les nombres composés →
la méthode de hachage utilisée doit produire des résultats dans un intervalle
donné.

Signatures numériques : sécurité


■ La sécurité des signatures numériques dépend de la sécurité des
techniques utilisées
□ Le chiffrement à 2 clés
□ La fonction de hachage

■ La longueur de la clé privée doit être suffisamment grande pour se protéger


contre les attaques par force brute ;

■ La fonction de hachage doit être sans collision, c'est-à-dire que différentes


entrées ne doivent pas aboutir au même hachage ; c’est à dire une
modification même mineure du texte initial doit produire un condensé
totalement différent ;

□ sinon des messages différents recevraient la même signature

Signatures numériques - Des objectifs de sécurité réalisables


■ Authenticité / identification de l'expéditeur

□ Le déchiffrement avec la clé publique de l'expéditeur prouve que seul


l'expéditeur a pu créer la signature, car personne d'autre n'a accès à sa clé
privée ;

33
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Intégrité

□ Si le message a été modifié pendant le transport, le hachage recalculé


pour vérification côté destinataire est différent du hachage déchiffré ;
□ Le destinataire peut demander à nouveau un message à l'expéditeur ;
■ Non-répudiation

□ Si la vérification est réussie, l'expéditeur ne peut pas nier la paternité du


message ;

Signatures numériques : un exemple


Message à signer : "Internetsicherheit ist wichtig"

Générez une signature numérique avec :


■ RSA avec
□ clé publique (582044791, 6355561)
□ clé privée (582044791, 641)
■ Procédure de hachage CRC32 (fournit des valeurs gérables)
Calcul des signatures :
■ Valeur de hachage : 375235237 = (10110010111011010001010100101)2
■ Signature (375235237) = 375235237641 mod 582044791 = 56347449

Vérification de la signature :
■ Le destinataire reçoit le message et la signature
"Internetsicherheit ist wichtig" et la signature 56347449

■ Le destinataire calcule le hachage du message et décode la signature à


l'aide de la clé publique de l'expéditeur
□ CRC32 (Internetsicherheit ist wichtig) = 375235237

□ 563474496355561 mod 582044791 = 375235237

□ Le test de correspondance prouve l'authenticité de l'expéditeur et


l'intégrité du message reçu.

34
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

CHIFFREMENT HYBRIDE
Rappel:
■ Le chiffrement à 2 clés est beaucoup plus lent à calculer que le chiffrement
à 1 clé et n'est donc pas adapté à de grandes quantités de données ;

■ Le chiffrement à une clé nécessite une distribution sécurisée de la clé


secrète.

Chiffrement hybride : Principe de fonctionnement


Compensation des faiblesses des deux méthodes par leur combinaison :

■ Génération d'une clé de session secrète aléatoire pour utiliser le chiffrement


à une clé ;

■ Transmission de la clé de session cryptée avec la clé publique du


destinataire et une méthode de chiffrement à 2 clés au destinataire ;
■ Le récepteur déchiffre la clé de session reçue avec sa clé privée ;

■ La communication réelle peut maintenant commencer avec la clé de


session et le chiffrement à 1 clé.

Avantages du chiffrement hybride


■ La méthode hybride combine l'efficacité des méthodes de chiffrement à
une clé avec la sécurité initiale des méthodes de chiffrement à deux clés ;

■ Le problème de la transmission sécurisée de la clé de session secrète est


ainsi résolu ;
■ Une nouvelle clé de session peut être utilisée à chaque session

□ Si l'attaquant parvient à capter une clé de session, seule la


communication de cette session est affectée (forward secrecy)

□ Les attaquants ne peuvent tirer aucune conclusion ni sur la clé privée


actuelle, ni sur les clés de sessions précédentes.

Chiffrement hybride : utilisation sur Internet


Le chiffrement hybride est utilisé sur Internet
■ Par la suite de protocoles réseau IPsec ;

35
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Par TLS/SSL – Transport Layer Security/Secure Sockets Layer – l'extension de


sécurité pour http ;
■ Pour le chiffrement des emails :
□ PGP : Pretty Good Privacy (assez bonne confidentialité) ;

□ GPG—GNU Privacy Guard.

TD et TP avec GPG4Win à Télécharger.

36
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

HTTPS ET TLS/SSL

HTTPS—Protocole de transfert hypertexte sécurisé


HTTPS est la variante sécurisée du protocole HTTP pour le Web.

■ Les paquets réseau HTTP sont lisibles par toute personne ayant accès au
réseau. Seul HTTPS ou l'utilisation d'autres méthodes de chiffrement crée la
confidentialité ;

■ HTTPS intègre une couche de sécurité supplémentaire dans la pile de


protocoles TCP/IP, qui est utilisée pour le chiffrement et l'authentification
■ HTTPS utilise une méthode de chiffrement hybride ;
■ Les participants sont authentifiés au moyen de certificats.

HTTPS – principe de fonctionnement


HTTPS et HTTP ne diffèrent pas syntaxiquement. Une fonctionnalité de sécurité
supplémentaire est obtenue via une poignée de main TLS/SSL.
1. Le client envoie un message "Hello" ;
2. Le serveur répond par "Hello"

□ Les paramètres dans les messages "Hello" précisent les algorithmes de


chiffrement à utiliser, l'ID de session et la version TLS/SSL ;
3. Le serveur envoie son certificat au client ;
4. Le client vérifie le certificat et extrait la clé publique ;
5. Le client crypte le pré- secret-maître avec la clé publique

6. Le serveur déchiffre le secret et les deux calculent la clé de session à partir


de ce secret.

Méthodes de chiffrement impliquées


■ Algorithmes asymétriques pour l'échange de clés :
□ RSA ;
□ RSA avec échange de clés Diffie Hellman ;
□ RSA avec Diffie Hellman basé sur des courbes elliptiques ;
□ Algorithme de signature numérique (DSA) avec Diffie Hellman ;

37
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ Algorithmes symétriques pour le trafic de données :


□ AES, Camélia, IDEA, 3DES, …
■ Algorithmes de hachage pour garantir l'intégrité des données :

□ HMAC (Hash based Message Authentication Code) basé sur SHA-1,


SHA-256, MD5, …

Avantages et inconvénients du HTTPS


Avantages :

■ Chaque protocole Internet de la couche application peut être basé sur


TLS/SSL et utiliser ses fonctions de sécurité, car TLS/SSL agit sur une couche
supplémentaire et indépendante entre la couche transport et la couche
application de la pile de protocoles TCP/IP et reste transparent pour les
applications
"Coûts":
■ L'établissement d'une connexion prend plus de temps côté serveur

■ Les données cryptées n'offrent pratiquement aucune option de


compression des données pour augmenter le débit

■ TLS/SSL fournit un chiffrement de bout en bout entre deux participants.


TLS/SSL n'est pas suffisant pour les services avec plusieurs participants qui
doivent (partiellement) lire des paquets

Développement de TLS/SSL
■ SSL 1.0 - Développé et publié par Netscape en 1994 ;
■ SSL 2.0 - 1995 intégré à Netscape Navigator
□ Mêmes clés pour le chiffrement et les tests d'intégrité

□ Utilisation de MD5 pour les tests d'intégrité - désormais considéré


comme non sécurisé ;

■SSL 3.0
□ Intégration de la validation des certificats
□ Possibilité d'utilisation de l'algorithme SHA-1

□ La moitié de la clé principale dépend de la fonction de hachage


MD5, qui est considérée comme non sécurisée car elle est sujette aux
collisions ;

38
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

■ TLS—Amélioration de SSL 3.0


□ Normalisé par l'IETF en 1999 en tant que successeur de SSL
□ Calcul d'intégrité amélioré avec clé supplémentaire
□…

Implémentations de TLS/SSL
■ OpenSSL
□ Version très répandue avec code source public
□ Beaucoup de buzz lié au Bogue Heartbleed
■ LibreSSL

□ Issu du projet OpenSSL et maintenant développé par le projet


OpenBSD
■ Paquets Microsoft Secure Channel
■ Package de transport sécurisé OS X
■ GnuTLS
□ Implémentation disponible gratuitement sous la licence Gnu
■…

Attaques sur TLS/SSL


■ BEAST - Exploitation du navigateur contre TLS/SSL

□ Exigence : Violation de la politique de même origine – possibilité


d'introduire clandestinement du contenu généré sur le site Web ;
□ Effet : Lecture de cookies et vol de sessions TLS ;
■ Renégociation

□ Permet à un attaquant en position MITM de combiner son propre


trafic avec celui d'un client, le serveur identifiant le client comme
l'expéditeur
■ Heartbleed

□ Permet la lecture de la mémoire applicative de l'application TLS/SSL,


permettant de révéler des données sensibles (mots de passe,
certificats,...).

39
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ Assurez-vous de mettre à jour les anciennes versions d'openSSL !

40
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

PROBLEME DE CONFIANCE, CERTIFICATS ET PKI (IGC –


INFRASTRUCTURES DE GESTION DE CLES)

Problème de confiance
■ La sécurité de l'utilisation des méthodes asymétriques dépend en grande
partie de l'attribution correcte des clés publiques aux participants

■ Si un attaquant réussit à délivrer sa clé publique pour celle d'un participant,


alors :

□ l'attaquant peut déchiffrer et lire tous les messages chiffrés envoyés


au destinataire réel (ce ne sera plus possible pour le destinataire réel de
le faire)
□ l'attaquant signe les messages au nom du destinataire

■ Les attributions fiables des clés publiques à leurs propriétaires sont établies
via des certificats.

Les certificats
Le certificat est un document signé par un tiers de confiance ("Centre de
confiance") qui atteste de l'association entre une personne/entité et sa clé
publique.

■ Si vous faites confiance au centre de confiance qui a signé un certificat,


vous pouvez vous fier à l'attribution attestée de la clé publique à son
propriétaire dans le certificat ;
■ Les certificats contiennent des informations sur
□ le propriétaire du certificat (personne, entreprise, serveur web, ...),
□ sa clé publique et

□ La signature numérique du centre de confiance qui a émis le


certificat

■ Le Centre de confiance, qui signe le certificat, garantit l'exactitude des


informations.

Authentification avec certificats


■ Les utilisateurs peuvent être authentifiés à l'aide de certificats :

41
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

□ L'utilisateur envoie un message signé par lui et son certificat à un


partenaire/service

□ Le partenaire/service valide d'abord la signature du certificat et


vérifie ainsi son authenticité

□ Le partenaire/service vérifie (déchiffre) la signature du message avec


la clé publique du certificat

■ Si la signature de l'utilisateur peut être vérifiée (c'est-à-dire que le


déchiffrement est possible), il est garanti que le message provient bien de
l'expéditeur revendiqué

Infrastructure à clé publique - PKI


■ Afin de pouvoir utiliser le chiffrement asymétrique en toute sécurité et de
pouvoir résoudre le problème de confiance à l'aide de certificats, une
infrastructure complète "Public Key Infrastructure - PKI" est nécessaire.

■ La PKI comprend des composants logiciels et matériels ainsi que du


personnel pour réglementer la fourniture, la distribution, l'utilisation et la
révocation des certificats
■ L'accent est mis sur le Trust Center avec les composants
□ Autorité d'enregistrement
□ Autorité de Certification
□ Autorité de validation

Infrastructure à clé publique PKI - Demande de certificat


1. L'utilisateur prouve son identité à l'autorité d'enregistrement RA et soumet
sa clé publique ;

2. RA (Autorité d’enregistrement) transfère les données d’authentification-


données d'identité, clé publique - à l'autorité de certification CA ;

3. L'autorité de certification CA crée et signe le certificat et l'envoie à


l'utilisateur ;

4. Les informations du certificat sont déposées auprès du service de validation


VA ;
Schéma

42
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Infrastructure à clé publique - PKI


Application du certificat
1. L'utilisateur envoie le certificat au partenaire de communication
2. Le partenaire valide le certificat à l'aide du service de validation VA

3. La VA vérifie le certificat sur la base des informations stockées et confirme


sa validité.

Schéma

Solution au problème de confiance : hiérarchie de certification


■ Les PKI hiérarchiques ont une instance CA initiale « CA racine », à laquelle
toutes les CA des instances subordonnées font confiance. L'autorité de
certification racine signe les certificats des autorités de certification
subordonnées

■ Si l'utilisateur souhaite vérifier l'identité d'une AC, il valide son certificat signé
par l'AC racine

■ Puisque l'utilisateur fait confiance à l'autorité de certification racine, il fait


confiance à sa signature et donc au certificat.

Schéma

Résolution du problème de confiance : Certification croisée


■ Différentes PKI peuvent être reliées entre elles via une certification croisée

■ Les autorités de certification racine des deux PKI émettent et signent les
certificats de l'autre

■ Cela signifie que les instances d'un côté font confiance à celles de l'autre
car leur certificat a été signé par leur autorité de certification racine.

43
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

Schéma

Résolution du problème de confiance : La Toile de confiance


■ L'utilisateur fait signer son certificat par de nombreux autres utilisateurs ou
signe de nombreux certificats d'autres utilisateurs

■ Plus il y a d'utilisateurs qui ont signé son certificat, plus le certificat est digne
de confiance

■ Si l'utilisateur A fait confiance à l'utilisateur B (1.) et que le certificat de C a


été signé par l'utilisateur B, A peut également faire confiance au certificat de
C.

Schéma

44
armand.yombi@gmail.com
YOMBI à YOMBI : Introduction à la Cryptographie

45
armand.yombi@gmail.com

Vous aimerez peut-être aussi