Une signature numérique est une sortie de chiffrement qui permet de s'assurer de l'authenticité des données. Un algorithme de signature numérique permet deux opérations distinctes :
Une opération de signature, qui génère une signature sur des données brutes à l'aide d'une clé de signature
Une opération de validation, au moyen de laquelle la signature peut être validée par une partie qui n'a pas connaissance de la clé de signature
Les principaux objectifs d'une signature numérique sont les suivants :
- La validation de l'intégrité des données signées
- La non-répudiation si le signataire déclare que la signature n'est pas authentique
Les signatures numériques reposent sur la cryptographie asymétrique, également appelée cryptographie à clé publique. Une clé asymétrique se compose d'une paire de clés privée/publique. La clé privée sert à créer une signature, tandis que la clé publique correspondante permet de la valider.
Exemples de cas d'utilisation d'une signature numérique
Vous pouvez valider des versions à l'aide de signatures numériques. Par exemple, si un fichier binaire est signé numériquement par une clé privée, vous pouvez vérifier qu'il est valide en utilisant la clé publique correspondant à la clé privée. Si la signature du fichier binaire n'est pas valide, celui-ci a été altéré et/ou corrompu.
Un autre exemple concerne la validation du sujet d'un certificat délivré par une autorité de certification (CA). Celle-ci émet un certificat pour un sujet selon qu'il est propriétaire de la partie clé privée d'une clé publique/privée. Le certificat contient une signature numérique créée avec la clé privée du sujet. Il contient également la partie clé publique de la clé publique/privée du sujet. Une entité qui interagit avec le sujet utilise la clé publique de ce dernier, ainsi que des règles de validation de certificat supplémentaires, pour valider la signature. Si la signature ne correspond pas aux données en question, ou si les règles de validation prescrites par le certificat ne sont pas respectées, la signature est considérée comme non valide.
Workflow de la signature numérique
La section suivante décrit le processus de création et de validation d'une signature. Deux personnes participent à ce workflow : le signataire des données et leur destinataire.
Le signataire crée une clé asymétrique compatible avec la signature numérique.
Il peut utiliser cette clé pour créer plusieurs signatures.
Le signataire effectue une opération de clé privée sur les données pour créer une signature numérique.
Le signataire fournit les données et la signature numérique au destinataire des données.
Le destinataire utilise la partie clé publique de la paire de clés publique/privée du signataire pour valider la signature numérique. Si la validation échoue, les données ont été altérées.
Algorithmes de signature
Cloud Key Management Service accepte les algorithmes RSA et à courbe elliptique pour la signature numérique. Ces algorithmes standards dans l'industrie offrent un large éventail de tailles de clés et d'algorithmes de condensé.
Le chiffrement à courbe elliptique repose sur des fonctions de hachage unidirectionnel et sur la multiplication de points pour calculer des points sur une courbe elliptique, combinées à la difficulté de déterminer le multiplicande pour un point en fonction de son origine. Cette difficulté constitue le point fort du chiffrement à courbe elliptique. Plus la courbe est grande, plus il est difficile de calculer le multiplicande. Ce type de chiffrement présente également un autre avantage, à savoir qu'une clé à courbe elliptique a une taille inférieure à celle d'une clé RSA offrant la même intensité de chiffrement.
Le chiffrement RSA repose sur la difficulté de factorisation d'un grand entier en deux facteurs ou plus. Plus la taille de la clé est élevée, plus il est difficile de factoriser les entiers.
Fonctionnalité de signature numérique Cloud KMS
Cloud KMS offre les fonctionnalités suivantes en matière de signature numérique.
Possibilité de créer une clé asymétrique ayant l'objectif de clé
ASYMMETRIC_SIGN
. Les clés Cloud KMS pour la signature asymétrique sont compatibles avec les algorithmes de signature à courbe elliptique et les algorithmes de signature RSA.Possibilité de créer une signature numérique.
Possibilité de récupérer la clé publique pour une clé asymétrique.
Cloud KMS ne permet pas directement de valider une signature numérique. À la place, vous validez une signature numérique à l'aide de SDK et d'outils disponibles publiquement, tels que OpenSSL. Ceux-ci requièrent la clé publique que vous récupérez depuis Cloud KMS. Pour en savoir plus sur l'utilisation des SDK et outils, consultez les sections Valider une signature à courbe elliptique et Valider une signature RSA.