La cryptographie - le certificat (2/2)

La cryptographie - le certificat (2/2)
Photo by Markus Winkler / Unsplash

Les certificats

Précédemment dans Introduction à la cryptographie : nous avons vu ce qu'étaient les algorithmes de chiffrement symétrique et asymétrique et à quoi servait une fonction de hashage.

Et grâce à tout ça, vous êtes en mesure de créer un certificat. Mais qu'est-ce qu'un certificat Jamy ? 🧐

Un certificat est une sorte de carte d'identité numérique. Il est utilisé principalement pour identifier, authentifier et chiffrer les échanges. Mais pour qu'un certificat soit valide il faut qu'il soit signé, on parle alors de certificat signé.

Un certificat signé, est un certificat qui a été signé au sens hashé par une autorité de certification.

Autorité de certification

L’ objectif d’une autorité de certification (PKI : Public Key Infrastructure) est de certifier les clés publiques des serveurs. L’intérêt est de faire appel à un tier de confiance.

Un certificat signé contient :

  • une partie certificat de l’émetteur avec notamment le nom de l'autorité de certification (CA), le nom du serveur, email, date de validité, la clé publique 🗝️ et l’algorithme de chiffrement utilisé,
  • Une partie signature qui contient la signature (hash) des informations du certificat.

Les cinq objectifs du certificat

L’authenticité

Le certificat intègre le chiffrement et donc l'authenticité est préservée.

La non répudiation

Le certificat intègre le chiffrement et donc la non répudiation est préservée.

L'intégrité

Le certificat intègre le chiffrement et donc l'intégrité est préservée.

La cryptographie - le chiffrement (1/2)
Découvrez les quatre objectifs du chiffrement, les algorithmes symétriques et asymétriques, les signatures et surtout comment tout cela fonctionne
Les quatre objectifs du chiffrement

L’infalsifiabilité

La signature permet de garantir qu’une information ne pourra être contrefaite.

La non réutilisabilité

Le certificat assure qu’une information ne pourra être utilisée à d’autres fin que celle pour laquelle elle est prévue à l’origine.

La création d'un certificat

Les étapes sont les suivantes :

  1. Mohamed créé son couple de clés (🔐Privée/ 🗝️Publique)
  2. Mohamed envoie sa clé publique à l’autorité de certification (CA) pour la certifier
  3. L’autorité de certification (CA) créé la certification avec la partie "informations" qui contient notamment la clé publique 🔐
  4. L’autorité de certification (CA) hash ces informations à l’aide d’un algorithme (MD5/SHA-1/…)
  5. L’autorité de certification (CA) chiffre le hash (signature) à l’aide de sa clé privée 🔐
  6. L’autorité de certification envoie le certificat signé CRT et sa clé publique 🗝️ à Mohamed qui stocke le tout

Mohamed a ainsi un tout nouveau certificat signé 🎉

L'utilisation d'un certificat

Les étapes pour ensuite utiliser le certificat sont les suivantes :

  1. Alice souhaite discuter avec Mohamed de façon chiffrée
  2. Mohamed envoie à Alice son certificat signé CRT ainsi que la clé publique 🗝️ de l'autorité de certification (CA)
  3. Alice déchiffre à l’aide de la clé publique 🗝️ la signature chiffrée contenue dans le certificat signé de Mohamed et obtient le hash (signature) des informations du certificat
  4. Alice utilise la clé publique 🗝️ du certificat de Mohamed et génère le hash (signature) des informations du certificat
  5. Alice compare le hash généré avec celui contenu dans le certificat
  6. Si les deux sont identiques, Alice est sûre de pouvoir faire confiance à Mohamed

A ce moment, Alice et Mohamed ont établi une connexion sécurisée et vont presque pouvoir discuter ensemble ! 💬

Et SSL dans tout ça ? Ou plutôt TLS ?

SSL (Secure Sockets Layers, que l'on pourrait traduire par couche de sockets sécurisée) est un procédé de sécurisation des transactions effectuées via Internet. En 2001, SSL a été rapbtisé TLS (Transport Layer Security).

SSL repose sur le principe de certificat et de cryptographie symétrique. La première partie vise à permettre au client d’authentifier le serveur et la deuxième partie vise à créer et partager une clé secrète commune pour garantir la sécurité et l’intégrité de la communication.

Créer une connexion sécurisée

Simple ! Il vous suffit de relire la partie l'utilisation d'un certificat👇

La cryptographie - le certificat (2/2)
Découvrez les cinq objectifs d’un certificat, sa création, son fonctionnement et son utilisation notamment avec le procédé TLS
L'utilisation d'un certificat avec SSL/TLS

Échanger de manière sécurisée

Une fois que Alice s’est assurée de l’identité de Mohamed à l’aide du certificat, elle est en possession de la clé publique 🗝️ de Mohamed. Mais tout le monde peut l'utiliser, elle ne constitue donc pas un moyen de sécurisation des échanges.

Pour sécuriser les échanges, il reste quelques étapes :

  1. Alice créée une clé secrète, appelée clé de session, à l’aide d’une fonction pseudo aléatoire.
  2. Alice chiffre la clé secrète 🔑 à l’aide de la clé publique 🗝️ de Mohamed
  3. Alice envoie la clé de session 🔑chiffrée à Mohamed
  4. Mohamed déchiffre la clé de session chiffrée 🔑 à l’aide de sa clé privée  🔐
  5. Alice et Mohamed sont tous les deux en possession de la clé secrète de session, ils peuvent communiquer de manière sécurisée grâce à un algorithme symétrique qui permet de gagner en rapidité d’échanges.

Conclusion

Les certificats sont très utilisés, notamment sur internet. C'est le petit 🔒 de votre navigateur qui vous garanti que les échanges entre votre navigateur et le serveur sont sécurisés !

On se revoit dans un prochain article !