Cybersécurité

Définition cryptage à clé publique

Comment fonctionne le cryptage à clé publique ? | Cryptographie à clé publique et SSL

Le cryptage à clé publique, également appelé cryptage asymétrique, utilise deux clés distinctes au lieu d’une clé partagée : une clé publique et une clé privée. Le cryptage à clé publique est une technologie importante pour la sécurité sur Internet.

Qu’est-ce que le cryptage à clé publique ?

Le cryptage à clé publique, ou cryptographie à clé publique, est une méthode de cryptage des données avec deux clés différentes et de mise à disposition de l’une des clés, la clé publique, pour que chacun puisse l’utiliser. L’autre clé est connue sous le nom de clé privée. Les données cryptées avec la clé publique ne peuvent être décryptées qu’avec la clé privée, et les données cryptées avec la clé privée ne peuvent être décryptées qu’avec la clé publique. Le cryptage à clé publique est également connu sous le nom de cryptage asymétrique. Il est largement utilisé, en particulier pour le TLS/SSL, qui rend possible le HTTPS.
Qu’est-ce qu’une clé cryptographique ?

En cryptographie, une clé est un élément d’information utilisé pour brouiller les données de manière à ce qu’elles apparaissent aléatoires ; il s’agit souvent d’un grand nombre, ou d’une chaîne de chiffres et de lettres. Lorsque des données non cryptées, également appelées texte en clair, sont introduites dans un algorithme de cryptage à l’aide de la clé, le texte en clair ressort de l’autre côté sous la forme de données d’apparence aléatoire. Cependant, toute personne possédant la bonne clé pour décrypter les données peut les remettre sous forme de texte en clair.

Par exemple, supposons que nous prenions un message en texte clair, « bonjour », et que nous le chiffrions avec une clé* ; disons que la clé est « 2jd8932kd8 ». Chiffré avec cette clé, notre simple « bonjour » se lit maintenant « X5xJCSycg14= », ce qui ressemble à des données aléatoires de la poubelle. Cependant, en le décryptant avec cette même clé, nous récupérons « hello ».

Comment fonctionne le cryptage à clé publique ?

La cryptographie à clé publique peut sembler complexe pour les non-initiés ; heureusement, un écrivain du nom de Panayotis Vryonis a trouvé une analogie qui se présente à peu près comme suit.

Imaginez une malle avec une serrure que deux personnes, Bob et Alice, utilisent pour expédier des documents dans les deux sens. Une serrure typique n’a que deux états : verrouillé et déverrouillé. Quiconque possède un double de la clé peut déverrouiller le coffre s’il est verrouillé, et vice versa. Lorsque Bob verrouille le coffre et l’envoie à Alice, il sait qu’Alice peut utiliser son double de la clé pour déverrouiller le coffre. C’est essentiellement ainsi que fonctionne ce que l’on appelle la cryptographie symétrique : une clé secrète est utilisée à la fois pour le cryptage et le décryptage, et les deux parties d’une conversation utilisent la même clé.

Analogie des serrures SSL

Au lieu d’une clé, deux clés vont avec cette serrure :

  • La clé n° 1 ne peut tourner que vers la gauche
  • La clé n°2 ne peut tourner que vers la droite

Cela signifie que si le coffre est verrouillé et que la clé est tournée en position A, seule la clé n° 2 peut le déverrouiller en tournant à droite, en position B (déverrouillée). Si le coffre est verrouillé en position C, seule la clé n° 1 peut le déverrouiller en tournant la serrure à gauche, en position B.

En d’autres termes, chaque clé peut verrouiller le coffre – mais une fois qu’il est verrouillé, seule l’autre clé peut le déverrouiller.

Comment TLS/SSL utilise-t-il le cryptage à clé publique ?

Le cryptage à clé publique est extrêmement utile pour établir des communications sécurisées sur l’internet (via HTTPS). Le certificat SSL/TLS d’un site web, qui est partagé publiquement, contient la clé publique, et la clé privée est installée sur le serveur d’origine – elle est « détenue » par le site web.

Les poignées de main TLS utilisent la cryptographie à clé publique pour authentifier l’identité du serveur d’origine et pour échanger des données qui sont utilisées pour générer les clés de session. Un algorithme d’échange de clés, tel que RSA ou Diffie-Hellman, utilise la paire de clés publique-privée pour convenir des clés de session, qui sont utilisées pour le cryptage symétrique une fois que la poignée de main est terminée. Les clients et les serveurs peuvent convenir de nouvelles clés de session pour chaque session de communication, de sorte que les mauvais acteurs sont incapables de décrypter les communications même s’ils identifient ou volent l’une des clés de session.

Ecrire un commentaire