Clé publique

Qu'est-ce qu'une clé publique ?

En cryptographie, une clé publique est une grande valeur numérique utilisée pour chiffrer des données. La clé peut être générée par un logiciel, mais le plus souvent, elle est fournie par une autorité désignée de confiance et mise à la disposition de tous par le biais d'un répertoire ou d'un annuaire accessible au public.

Une clé publique est également utilisée pour chiffrer un message ou vérifier la légitimité d'une signature numérique. Elle est accompagnée d'une clé privée correspondante, qui n'est connue que de son propriétaire. Les clés privées sont utilisées pour décrypter les messages qui ont été créés avec la clé publique correspondante ou pour créer des signatures. En d'autres termes, une clé publique protège les données contre toute utilisation non autorisée, tandis qu'une clé privée sert à les déverrouiller.

Les clés publiques sont disponibles auprès d'une autorité de certification, qui délivre des certificats numériques prouvant l'identité du propriétaire et contenant la clé publique de ce dernier. Les clés publiques sont créées à l'aide d'un algorithme asymétrique, qui associe la clé publique à une clé privée. Les algorithmes les plus couramment utilisés pour générer des clés publiques sont Rivest-Shamir-Adleman, la cryptographie à courbe elliptique et l'algorithme de signature numérique.

Une clé publique peut être donnée à toute personne avec laquelle un individu souhaite communiquer, alors qu'une clé privée appartient à l'individu pour lequel elle a été créée et n'est pas partagée. La clé publique est généralement stockée sur un serveur d'infrastructure à clé publique et est utilisée pour chiffrer les données en toute sécurité avant de les envoyer sur l'internet.

Comment fonctionne une clé publique ?

Une clé cryptographique est un algorithme mathématique mis en œuvre dans un logiciel ou un matériel et utilisé pour crypter ou décrypter des données. Il s'agit d'une chaîne de bits qui sont combinés avec les données pour créer un texte chiffré. La clé cryptographique peut également être utilisée pour décrypter les données et les ramener au texte en clair.

Les deux principaux types d'algorithmes cryptographiques sont symétriques et asymétriques. Les algorithmes à clé symétrique fonctionnent en utilisant une seule clé pour chiffrer et déchiffrer les informations, tandis que la cryptographie asymétrique utilise deux clés : une clé publique pour chiffrer les messages et une clé privée pour les décoder.

Le processus d'envoi et de réception de données via la cryptographie asymétrique se compose généralement de cinq étapes :

La génération de la clé. Chaque individu génère une clé publique et une clé privée.
Échange de clés. L'expéditeur et le destinataire échangent des clés publiques.
Cryptage. Les données de l'expéditeur sont cryptées à l'aide de la clé publique du destinataire.
Envoi des données cryptées. Les données cryptées sont envoyées au destinataire.
Décryptage. Le destinataire déchiffre le message à l'aide de sa propre clé privée.

Applications de la clé publique

Voici quelques applications de la technologie des clés publiques.

Cryptage

Il s'agit de la principale utilisation d'une clé publique pour chiffrer des messages avant leur envoi. Avec le cryptage asymétrique, les clés publiques et privées sont générées de manière aléatoire. N'importe qui peut avoir accès à une clé publique pour crypter des données, mais seule une personne possédant la clé privée correspondante peut décrypter les données.

Les clés publique et privée étant mathématiquement liées, elles sont utilisées ensemble pour crypter et décrypter des informations. Si une personne autre que le propriétaire de la clé privée tente de décrypter les informations à l'aide de la clé publique, les informations seront illisibles.

Signatures numériques

Le cryptage à clé publique peut également être utilisé pour créer des signatures numériques. Les signatures numériques sont générées en suivant les étapes suivantes :

L'expéditeur identifie le fichier à signer numériquement.
L'application document de l'ordinateur de l'expéditeur calcule une valeur de hachage unique pour le contenu de ce fichier.
La clé privée de l'expéditeur est utilisée pour chiffrer la valeur de hachage, créant ainsi la signature numérique.
Le fichier original et la signature numérique sont envoyés ensemble au destinataire.
Le destinataire utilise la clé publique de l'expéditeur pour décrypter la valeur de hachage de la signature numérique.
L'ordinateur du destinataire calcule le hachage du fichier original et le compare au hachage décrypté. Si les deux hachages correspondent, la signature est vérifiée. Si les hachages ne correspondent pas, c'est la preuve que le document a été modifié ou que la signature n'est pas valide.
Schéma du fonctionnement des signatures numériques
Avec une signature numérique, une clé privée est utilisée pour créer une valeur de hachage du contenu du fichier qui est signé et envoyé. Le destinataire utilise la clé publique du signataire pour décrypter la signature et vérifier que la valeur de hachage décryptée correspond au hachage du fichier original.
Connexions Secure Socket Layer et Transport Layer Security (TLS)
SSL/TLS utilisent le cryptage à clé publique pour créer une connexion sécurisée entre le serveur et le client. Cette méthode de cryptage permet l'utilisation du protocole de transfert hypertexte sécurisé. La session de communication est d'abord établie à l'aide d'un chiffrement asymétrique pour établir l'identité des deux parties et échanger une clé de session partagée qui permet un chiffrement symétrique. Le chiffrement symétrique, qui utilise une clé partagée, est plus rapide et plus efficace que le chiffrement asymétrique. Il est donc logique de l'utiliser pour la plus grande partie possible de la communication.

Risques liés aux clés publiques

Bien que le cryptage par clé publique soit plus sûr que le cryptage symétrique, il existe quelques risques à prendre en compte, notamment les suivants :

Clé de mauvaise qualité. Un algorithme de clé asymétrique mal conçu - une clé trop courte, par exemple - constitue un risque pour la sécurité.
Perte de la clé privée. Si la clé privée est perdue ou égarée, l'accès aux données devient problématique.
Attaques de type "Man-in-the-middle" (MitM). Le cryptage à clé publique peut être la cible d'attaques de type MitM. Les deux principaux moyens d'assurer l'identité d'un site web sont le certificat de sécurité du site et son cryptage à clé publique. Si l'un ou l'autre est compromis, une partie malveillante peut s'insérer dans la connexion entre un utilisateur et un site web et capturer toute information envoyée entre les deux.

L'origine du cryptage à clé publique

En 1976, Whitfield Diffie, Martin Hellman et Ralph Merkle ont publié un article intitulé "New Directions in Cryptography". Dans cet article, ils ont introduit l'idée de la cryptographie à clé publique et ont décrit le premier protocole cryptographique distribué fonctionnel connu. Depuis lors, l'algorithme de cryptage à clé publique est utilisé dans les domaines de la finance, du commerce électronique et de l'e-commerce pour sécuriser les données en utilisant deux clés mathématiquement liées.