Vous êtes sur la page 1sur 5

S3L2

Fondamentaux sur la cryptographie


Maryline LAURENT

Après avoir suivi la vidéo, vous serez capables de comprendre les fondamentaux de la cryptographie,
ce Après avoir suivi la vidéo, vous serez capables de comprendre les fondamentaux de la
cryptographie, ce qui vous sera très utile pour aborder les séquences sur les protocoles de sécurité et
les VPN.

Fonction de Hachage

Une fonction de hachage est une fonction déterministe, encore appelée fonction unidirectionnelle ou
irréversible car il est très difficile de retrouver la valeur fournie en entrée à partir du résultat de la
fonction. La fonction s’applique à des données comme du texte. Son résultat est appelé le condensé
ou hash du texte. Le hash est de longueur fixe et ce quelle que soit la taille du texte en clair. Elle
fournit une empreinte numérique qui correspond fidèlement au contenu du texte. La robustesse d’une
fonction de hachage se mesure, entre autres, par la grande difficulté à trouver deux textes différents
Text1 et Text2 de telle sorte que le résultat de la fonction de hachage donne la même valeur. Parmi
les algorithmes connus et utilisés actuellement, nous pouvons citer SHA2 avec des tailles de hash de
224, 256, 384 ou 512 bits.

Chiffrement asymétrique

Pour le chiffrement asymétrique, chaque entité doit posséder un jeu de clés, une clé privée et une clé
publique. Ces deux clés sont complémentaires en ce sens que le chiffrement avec l’une quelconque
de ces clés nécessite de déchiffrer avec l’autre clé. La clé privée doit être maintenue secrète par son
propriétaire, tandis que la clé publique peut être diffusée largement, et ce sans porter atteinte à la
confidentialité de la clé privée. Par exemple, si Alice veut transmettre un message confidentiel à Bob,
elle doit utiliser la clé publique de Bob pour chiffrer le message. En effet, seul Bob ayant en sa
possession la clé privée complémentaire sera à même de déchiffrer le message pour récupérer son
contenu. Ainsi la confidentialité du message transmis sera bien garantie.
Le RSA, réputé robuste, est l’algorithme de chiffrement asymétrique le plus utilisé aujourd’hui. Ces
algorithmes souffrent de vitesses de chiffrement 100 à 1000 fois plus faibles que les algorithmes
symétriques et d’une taille de clés importante, au moins 2048 bits pour le RSA, pour un niveau de
sécurité correct, ce qui peut poser des problèmes de stockage.

Signatures électroniques

Une signature électronique émise sur un message par une entité Alice permet de prouver à une entité
Bob que le message est authentique (il provient d’Alice) et qu’il est intègre (il n’a pas subi de
modifications accidentelles ou intentionnelles). Pour générer sa signature sur son message, Alice doit
utiliser un élément secret qu’elle seule connait, ici sa clé privée. Une première intuition consiste à
chiffrer le message entier et à transmettre le message en clair et le message chiffré à Bob pour
vérification de l’authenticité du message, mais cette signature de même taille que le message n’est
pas optimale.
En effet, il est préférable de limiter l’opération de chiffrement au Hash du message de telle sorte que
la signature est le résultat du chiffrement du Hash du message. Bob doit, à ce moment-là, déchiffrer
la signature avec la clé publique d'Alice et comparer la valeur obtenue avec le Hash calculé sur le
message reçu. Si les Hash sont identiques, la signature est prouvée authentique car la génération de
la signature requiert la connaissance de la clé privée d’Alice ; l’intégrité du message est aussi prouvée
car une modification du message aurait conduit à des valeurs de Hash différentes.
Certificats électroniques

Le chiffrement asymétrique repose sur une diffusion sécurisée de la clé publique des entités, c’est-à-
dire l’assurance pour Bob que la clé publique d’Alice est bien celle d’Alice et non celle de Charlie,
et ce pour éviter, par exemple, que Charlie ne puisse usurper l’identité d’Alice. Une première solution
peu efficace serait pour Bob de rencontrer Alice et chacun de ses interlocuteurs et de maintenir une
table de correspondance entre l’identité des interlocuteurs et leur clé publique. Mais ce travail s’avère
vite fastidieux et de plus couteux en stockage.
Une autre solution consiste à déléguer à un tiers de confiance appelé autorité de certification tout ce
travail de gestion. L’autorité émet des certificats électroniques, un certificat pour chaque entité. Elle
doit signer chaque certificat pour prouver son authenticité. Ainsi, une entité comme Alice va
récupérer son propre certificat et va ensuite pouvoir le présenter à Bob pour prouver qu’elle possède
la clé publique inclue dans le certificat. Reste ensuite à Bob à faire confiance à cette autorité de
certification pour conclure à la validité du certificat. Le problème de gestion des clés publiques est
ainsi déplacé. Au lieu de faire confiance individuellement à chaque interlocuteur, Bob n’a plus qu’à
faire confiance à l’autorité de certification.

Chiffrement symétrique

Pour le chiffrement symétrique, la clé utilisée par Alice pour le chiffrement d’un message
confidentiel est la même que celle utilisée par Bob pour le déchiffrement. Cette clé doit bien
évidemment être maintenue secrète par Alice et Bob pour éviter que d’autres entités ne puissent
accéder au contenu du message. L’AES pour Advanced Encryption Standard, réputé robuste
aujourd’hui, est un algorithme de chiffrement symétrique très répandu. Les algorithmes symétriques
bénéficient de vitesses de chiffrement très importantes, ce qui permet de chiffrer de gros volumes de
trafic en temps réel, et les tailles de clés, classiquement de 256 bits, sont avantageusement réduites.
Par contre, la difficulté réside dans le partage sécurisé de la clé secrète.

HMAC

Pour prouver à Bob que son message est authentique et intègre, Alice calcule un HMAC sur son
message, l’équivalent de la signature électronique pour la cryptographie symétrique, et elle transmet
à Bob simultanément son message et le HMAC. Le HMAC est calculé simplement à l’aide d’une
fonction de hachage et de la clé secrète partagée par Alice et Bob. Ce procédé, ne faisant intervenir
aucun algorithme de chiffrement, est très rapide et est donc adapté à la protection de trafic temps-réel.
Pour vérifier la validité du HMAC, Bob doit effectuer le même calcul de HMAC sur le message reçu
et vérifier que les deux valeurs de HMAC, celle calculée par Alice et celle calculée localement par
Bob sont égales. En cas d’égalité, cela prouve que le message est authentique car le HMAC reçu a
nécessité la connaissance de la clé secrète par l’émetteur et cela prouve aussi que le message est
intègre car en cas d’altérations du message, le HMAC calculé par Bob ne serait pas égal à celui calculé
par Alice. Le HMAC souffre également du problème de la mise en place sécurisée d’une clé secrète.

Partage de clés par un échange Diffie-Hellman

Une technique pour résoudre le problème du partage de clé symétrique consiste à faire un échange de
clés Diffie-Hellman. Alice et Bob doivent générer chacun un nombre aléatoire, respectivement a et
b qui sont leurs valeurs privées Diffie-Hellman, et ils doivent calculer leurs valeurs publiques
associées ADH et BDH à partir de leurs valeurs privées et des paramètres connus publiquement G et
P dont les valeurs correspondent à un groupe Diffie-Hellman. Alice et Bob s’échangent leurs valeurs
ADH et BDH. Ils sont ainsi en mesure de calculer le même secret appelé secret Diffie-Hellman, sans
connaitre d’information préalable sur leur interlocuteur. Pour cela, Alice doit calculer BDH à la
puissance son secret a et Bob ADH à la puissance son secret b. Même si les valeurs publiques DH
d’Alice et Bob sont divulguées, pour peu que le groupe DH soit bien choisi, l’espion ne pourra pas
reconstruire le secret DH du fait de la difficulté à trouver la valeur de x à partir des éléments connus
P, G et y = Gx mod P. Ce problème mathématique est connu sous le nom du problème du logarithme
discret.
Les échanges DH sont très utilisés dans les protocoles de sécurité pour établir une clé de session
commune. Les échanges Diffie-Hellman sont sensibles à l’attaque de l’homme au milieu (ou Man in
the Middle), car un attaquant peut générer ses propres valeurs publiques et privées DH et se faire
passer pour Alice vis-à-vis de Bob et pour Bob vis-à-vis d’Alice. Pour pallier cette attaque, il est
nécessaire que les valeurs Diffie-Hellman échangées soient authentifiées.

Vous aimerez peut-être aussi