Clé privée

Qu'est-ce qu'une clé privée ?

Une clé privée, également appelée clé secrète, est une variable de la cryptographie utilisée avec un algorithme pour crypter et décrypter des données. Les clés secrètes ne doivent être partagées qu'avec le générateur de la clé ou les parties autorisées à décrypter les données. Les clés privées jouent un rôle important dans la cryptographie symétrique, la cryptographie asymétrique et les crypto-monnaies.

Une clé privée est généralement une longue séquence de bits générée de manière aléatoire ou pseudo-aléatoire, qui ne peut pas être facilement devinée. La complexité et la longueur de la clé privée déterminent la facilité avec laquelle un attaquant peut exécuter une attaque par force brute, où il essaie différentes clés jusqu'à ce qu'il trouve la bonne.

Comment fonctionne une clé privée ?

Le cryptage par clé privée est également appelé cryptage symétrique, lorsque la même clé privée est utilisée pour le cryptage et le décryptage. Dans ce cas, une clé privée fonctionne comme suit :

Génération d'une nouvelle clé privée. Avant le cryptage, générez une nouvelle clé aussi aléatoire que possible ; un logiciel de cryptage est généralement utilisé pour générer des clés privées.
Stockage sécurisé de la clé privée. Une fois générée, la clé privée doit être stockée de manière sécurisée. Selon l'application, les clés peuvent être stockées hors ligne ou sur l'ordinateur utilisé pour générer, crypter et décrypter les données. Les clés privées peuvent être protégées par un mot de passe, cryptées ou hachées pour plus de sécurité - ou les trois.
Échange de clés. La clé privée est utilisée pour déchiffrer, ainsi que pour chiffrer, donc son utilisation pour le chiffrement symétrique nécessite un échange de clés pour partager cette clé en toute sécurité avec des parties de confiance autorisées à échanger des données sécurisées. Un logiciel cryptographique est généralement utilisé pour automatiser ce processus.
Gestion des clés. La gestion des clés privées est nécessaire pour éviter qu'une clé individuelle ne soit utilisée trop longtemps. Elle permet de retirer les clés en toute sécurité une fois leur durée de vie utile atteinte.

Une clé privée est également utilisée dans la cryptographie asymétrique, également connue sous le nom de cryptographie à clé publique. Dans ce cas, la clé privée fait référence à la clé secrète d'une paire de clés publiques. Dans la cryptographie à clé publique, la clé privée est utilisée pour le cryptage et les signatures numériques. Le fonctionnement est le suivant pour la cryptographie asymétrique :

Génération d'une paire de clés publique-privée. Le caractère aléatoire est encore plus important pour ce processus. Un logiciel d'application de cryptage est généralement utilisé pour générer des paires de clés. Il doit nécessiter une source d'aléatoire, comme le mouvement de la souris.

Stockage sécurisé de la clé privée. Une fois générée, la clé privée doit être stockée de manière sécurisée. Comme pour le processus de cryptographie symétrique, les clés peuvent être stockées hors ligne ou sur l'ordinateur utilisé pour générer, crypter et décrypter les données. Ici aussi, les clés privées doivent être protégées par un mot de passe, cryptées ou hachées pour plus de sécurité.
Échange de clés. La clé privée d'une paire de clés publiques ne doit presque jamais être partagée avec d'autres. La cryptographie à clé publique, y compris les signatures numériques, est généralement utilisée pour partager en toute sécurité les clés de session utilisées pour le cryptage symétrique. Cependant, d'autres protocoles pour l'infrastructure à clé publique sont utilisés pour partager de manière autoritaire des clés publiques entre des parties coopérantes.

Utilisation de la clé privée. Le propriétaire d'une paire de clés publiques utilise sa clé privée pour décrypter les données qui ont été cryptées avec la clé publique de la paire. Seul le détenteur de la clé privée doit être en mesure de déchiffrer les données chiffrées avec la clé publique. Pour les signatures numériques, le propriétaire de la paire de clés utilise sa clé privée pour chiffrer la signature. De cette façon, toute personne ayant accès à la clé publique peut déchiffrer la signature et vérifier qu'elle a été signée par le propriétaire de la clé privée.
Gestion des clés. Les paires de clés publiques sont souvent générées avec des dates d'expiration, et la gestion des clés est essentielle pour maintenir l'accès aux données protégées par une paire de clés. Par exemple, un certificat de clé publique expiré, qui dépend d'une paire de clés publiques, peut amener les navigateurs à signaler l'accès à un site web comme non sécurisé. Les clés secrètes doivent être stockées avec la plus grande sécurité, et les paires de clés publiques doivent être gérées pour éviter les compromis ou les problèmes liés à l'expiration de la paire de clés.

Avantages des clés de chiffrement privées

Le cryptage par clé privée offre plusieurs fonctionnalités utiles. Elles comprennent les quatre avantages suivants :

Plus sûr. Les clés privées qui sont plus longues et ont une plus grande entropie, ou caractère aléatoire, sont plus sûres contre les attaques par force brute ou par dictionnaire.
Plus rapide. Le cryptage par clé symétrique est plus rapide en termes de calcul que le cryptage asymétrique avec ses paires de clés publique-privée.
La meilleure solution pour le cryptage. La plupart des processus cryptographiques utilisent le chiffrement à clé privée pour chiffrer les transmissions de données. Ils utilisent généralement un algorithme à clé publique pour partager en toute sécurité les clés secrètes.
Fonctionne pour les chiffrages par flux et par blocs. Les chiffrements à clé secrète - l'algorithme de chiffrement et de déchiffrement des données - appartiennent généralement à l'une des deux catégories suivantes : les chiffrages par flux ou les chiffrages par blocs. Un chiffrement par blocs applique une clé privée et un algorithme à un bloc de données simultanément, alors qu'un chiffrement par flux applique la clé et l'algorithme un bit à la fois.

Les clés privées peuvent être partagées en toute sécurité à l'aide du protocole d'échange de clés publiques Diffie-Hellman.

Défis de la gestion des clés de chiffrement privées

La sécurité des clés de chiffrement dépend du choix d'un algorithme de chiffrement fort et du maintien de niveaux élevés de sécurité opérationnelle. La gestion des clés de chiffrement est nécessaire pour toute organisation utilisant le chiffrement pour protéger ses données. Cela vaut aussi bien pour le cryptage symétrique que pour le cryptage asymétrique.

Bien que le chiffrement par clé privée puisse garantir un niveau de sécurité élevé, les défis suivants en matière de gestion des clés doivent être pris en compte :

Gestion globale. La gestion des clés de chiffrement est nécessaire pour protéger les clés cryptographiques contre la perte, la corruption ou l'accès non autorisé.
Mise à jour continue. Les clés privées utilisées pour chiffrer les données sensibles doivent être changées régulièrement pour minimiser l'exposition en cas de fuite ou de vol.
Récupérabilité et perte. Si une clé de cryptage devient inaccessible, les données cryptées avec cette clé seront irrécupérables et perdues.
Clés privées et clés publiques
La cryptographie asymétrique, également connue sous le nom de cryptographie à clé publique, utilise des paires de clés publiques et privées. Ces deux clés différentes mais mathématiquement liées sont utilisées pour transformer un texte en clair en texte chiffré ou un texte chiffré en texte en clair.

Lorsque la clé publique est utilisée pour crypter un texte chiffré, ce texte ne peut être décrypté qu'à l'aide de la clé privée. Cette approche permet à toute personne ayant accès à la clé publique de chiffrer un message, et seul le détenteur de la clé privée sera en mesure de le déchiffrer.

Deux clés, publique et privée, sont nécessaires pour chiffrer et déchiffrer un texte chiffré avec un algorithme à clé publique. Le cryptage symétrique utilise une seule clé secrète.
Lorsque la clé privée est utilisée pour crypter un texte chiffré, ce texte peut être décrypté à l'aide de la clé publique. Ce texte chiffré peut être un composant d'une signature numérique et être utilisé pour authentifier la signature. Seul le détenteur de la clé privée peut avoir chiffré le texte chiffré, donc si la clé publique associée réussit à le déchiffrer, la signature numérique est vérifiée.

La clé publique est mise à la disposition de tous ceux qui en ont besoin dans un répertoire accessible au public. La clé privée est confidentielle et ne doit être accessible qu'au propriétaire de la paire de clés publiques. Dans cette méthode, tout ce qui est crypté avec la clé publique nécessite la clé privée correspondante pour être décrypté et vice versa. Le cryptage à clé publique est généralement utilisé pour sécuriser les canaux de communication, comme le courrier électronique.

Générer des clés privées sécurisées

Les clés privées partagent les caractéristiques suivantes avec les mots de passe :

Elles doivent être tenues secrètes pour être sécurisées.
Elles limitent l'accès aux données (clés privées) ou aux ressources (mots de passe).
Leur force dépend de leur longueur et de leur caractère aléatoire.
Alors que les mots de passe sont généralement limités à des caractères accessibles à partir d'un clavier d'ordinateur, les clés cryptographiques peuvent être constituées de n'importe quelle chaîne de bits. Ces chaînes peuvent être rendues dans des jeux de caractères accessibles à l'homme, si nécessaire. La longueur et le caractère aléatoire sont deux facteurs importants pour la sécurisation des clés privées.

Longueur
La longueur d'une clé cryptographique nécessaire pour la protéger contre les attaques par force brute dépend de l'algorithme de cryptage utilisé. Les ordinateurs étant de plus en plus puissants, les clés cryptographiques sont devenues plus longues pour résister aux attaques par force brute.

Par exemple, les premiers navigateurs Web protégeaient les données avec des clés de 40 bits. En 2015, le National Institute of Standards and Technology a recommandé une longueur de clé minimale de 2 048 bits pour le cryptage RSA (Rivest-Shamir-Adleman).

Aléatoire
Le caractère aléatoire d'une clé privée est tout aussi important pour sa solidité.

Les logiciels commerciaux s'appuient souvent sur un générateur de nombres pseudo-aléatoires (PRNG) pour générer des clés privées. Toutefois, la sortie du PRNG n'est pas vraiment aléatoire et peut être mise en échec par un attaquant.

Les véritables générateurs de nombres aléatoires nécessitent une source d'entropie physique, comme un tirage au sort, un lancer de dés ou des générateurs inhabituels, comme les lampes à lave. Par exemple, le programme de chiffrement à clé publique Pretty Good Privacy invite les utilisateurs à générer de l'entropie pour une nouvelle paire de clés publiques en déplaçant aléatoirement leur souris.

Utilisation de clés privées dans les crypto-monnaies
Les crypto-monnaies comme le bitcoin dépendent d'algorithmes cryptographiques pour générer, stocker et échanger des valeurs numériques. Les crypto-monnaies utilisent la cryptographie à clé publique pour créer des signatures numériques qui authentifient les transferts de valeur, ainsi que le cryptage symétrique pour protéger les échanges de données.

Si des clés secrètes sont utilisées pour le cryptage symétrique dans les protocoles de crypto-monnaies, une paire de clés publique-privée est généralement attribuée au propriétaire de la crypto-monnaie pour protéger ses intérêts.

Les propriétaires de crypto-monnaies doivent stocker les clés privées en toute sécurité, car perdre le contrôle ou l'accès à une clé privée signifie perdre l'accès à l'actif en crypto-monnaies. Les options sécurisées pour le stockage des clés privées comprennent le stockage sur un ordinateur isolé sans connexion réseau, dans des copies papier physiquement sécurisées ou en mémoire.

À retenir
Alors que l'utilisation de l'internet public continue de se développer pour les communications commerciales, gouvernementales et personnelles, il est également nécessaire d'utiliser de manière sécurisée le cryptage pour protéger ces échanges.

La sécurisation des clés privées utilisées pour protéger ces données est la base du maintien de la sécurité dans tous les types de communication.