Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS KMS bases de la cryptographie
AWS KMS repose sur une architecture cryptoagile, permettant une migration fluide d'un algorithme ou d'un mode approuvé à un autre au fur et à mesure de l'évolution des normes. Nous sélectionnons des algorithmes cryptographiques robustes et largement approuvés et hiérarchisons NIST-approved les options pour garantir la protection des données des clients contre les menaces actuelles et émergentes.
Pour plus d'informations sur les algorithmes cryptographiques préférés et acceptables, consultez. Algorithmes cryptographiques pris en charge
Entropie et génération de nombres aléatoires
AWS KMS la génération de clés est effectuée dans les AWS KMS HSM. Les HSM implémentent un générateur de nombres aléatoires hybride qui utilise le NIST
SP800-90A Deterministic Random Bit Generator (DRBG) CTR_DRBG using AES-2 56
Opérations de clé symétrique (chiffrement uniquement)
Toutes les commandes de chiffrement par clé symétrique utilisées dans les clés HSM utilisent les Normes de chiffrement avancées (AES)
AES-GCM est un schéma de chiffrement authentifié. En plus de chiffrer le texte brut afin de produire du texte chiffré, il calcule une balise d'authentification sur le texte chiffré et toutes les données supplémentaires pour lesquelles une authentification est requise (données authentifiées supplémentaires, ou AAD). La balise d'authentification permet de s'assurer que les données proviennent de la source présumée et que le texte chiffré et l'AAD n'ont pas été modifiés.
L'inclusion de l'AAD est fréquemment AWS omise dans nos descriptions, en particulier lorsqu'il s'agit du cryptage des clés de données. Dans ces cas, le texte environnant laisse entendre que la structure à chiffrer est divisée entre le texte brut à chiffrer et l'AAD en texte clair à protéger
AWS KMS propose une option vous permettant d'importer du matériel clé dans un AWS KMS key au lieu de vous fier AWS KMS à la génération du matériel clé. Ce matériel clé importé peut être chiffré RSAES-OAEP
Opérations de clés asymétriques (chiffrement, signature numérique et vérification de signature)
AWS KMS prend en charge l'utilisation d'opérations de clé asymétriques pour les opérations de chiffrement, de signature numérique et d'accord de clé. Les opérations de clé asymétrique reposent sur une paire de clés publiques et de clés privées liées mathématiquement que vous pouvez utiliser pour le chiffrement et le déchiffrement, la vérification de la signature et de la signature ou la dérivation de secrets partagés. La clé privée n'est jamais AWS KMS déchiffrée. Vous pouvez utiliser la clé publique interne AWS KMS en appelant les opérations de l' AWS KMS API, ou télécharger la clé publique et l'utiliser en dehors de AWS KMS.
AWS KMS prend en charge les chiffrements asymétriques suivants.
-
RSA-OAEP (pour le chiffrement) & RSA-PSS et RSA-PKCS - #1 -v1_5 (pour la signature et la vérification) — Supporte des longueurs de clé RSA (en bits) : 2048, 3072 et 4096 pour différentes exigences de sécurité.
-
Courbe elliptique (ECC) : utilisée pour signer et vérifier ou pour déduire des secrets partagés, mais pas les deux. Supporte les courbes ECC : NIST P256, P384, P521, SECP 256k1, Ed25519.
-
ML-DSA— Utilisé pour la signature et la vérification. Les ML-DSA principales spécifications prises en charge sont les suivantes : ML_DSA_44, ML_DSA_65 et ML_DSA_87.
-
SM2 (régions de Chine uniquement) : utilisé pour le chiffrement et le déchiffrement, la signature et la vérification, ou la dérivation de secrets partagés, mais vous devez choisir une seule utilisation de clé. Supporte SM2PKE pour le chiffrement et SM2DSA pour la signature.
Fonctions de dérivation de clé
Une fonction de dérivation de clé est utilisée pour dériver des clés supplémentaires à partir d'un secret ou d'une clé initiale. AWS KMS utilise une fonction de dérivation de clé (KDF) pour dériver des clés par appel pour chaque chiffrement sous un. AWS KMS key Toutes les opérations KDF utilisent la fonction KDF en mode compteur
AWS KMS utilisation interne de signatures numériques
Les signatures numériques sont également utilisées pour authentifier des commandes et des communications entre AWS KMS entités. Toutes les entités de service disposent d'une paire de clés de l'algorithme de signature numérique à courbe elliptique (ECDSA). Ils exécutent l'ECDSA comme défini dans Utilisation d'algorithmes de cryptographie à courbe elliptique (ECC) dans la syntaxe des messages cryptographiques (CMS)
Chiffrement d’enveloppe
Lorsque vous chiffrez vos données, celles-ci sont protégées, mais vous devez protéger votre clé de chiffrement. Une stratégie consiste à la chiffrer. Le chiffrement d'enveloppe est la pratique consistant à chiffrer des données en texte brut à l'aide d'une clé de données, puis à chiffrer la clé de données sous une autre clé.
Vous pouvez même chiffrer la clé de chiffrement de données sous une autre clé de chiffrement et chiffrer cette clé de chiffrement sous une autre clé de chiffrement. Toutefois, au final, une clé doit rester en texte brut pour vous permettre de déchiffrer les clés et vos données. Cette clé de chiffrement de clé en texte brut de niveau supérieur porte le nom de clé racine.
AWS KMS vous aide à protéger vos clés de chiffrement en les stockant et en les gérant de manière sécurisée. La clé racine stockée dans AWS KMS, connue sous le nom de « AWS KMS keys, ne quitte jamais les modules de sécurité matériels validés par la norme AWS KMS FIPS 140-3 niveau de sécurité 3 non chiffrés.
Une construction de base utilisée dans de nombreux systèmes cryptographiques est le chiffrement d'enveloppe. Le chiffrement d'enveloppe utilise deux clés cryptographiques ou plus afin de sécuriser un message. Généralement, une clé est dérivée d'une clé statique à plus long terme k, et une autre clé est une clé par message, msgKey, qui est générée pour chiffrer le message. L'enveloppe est constituée en chiffrant le message :texte chiffré = Encrypt(msgKey, message). Ensuite, la clé de message est chiffrée à l'aide de la clé statique à long terme : encKey = Encrypt(k, msgKey). Enfin, les deux valeurs (encKey, texte chiffré) sont empaquetés dans une structure unique, ou dans un message chiffré par enveloppe.
Le destinataire, avec accès à k, peut ouvrir le message enveloppé en déchiffrant d'abord la clé chiffrée, puis en déchiffrant le message.
AWS KMS permet de gérer ces clés statiques à long terme et d'automatiser le processus de chiffrement des enveloppes de vos données.
Outre les fonctionnalités de chiffrement fournies dans le AWS KMS service, le SDK AWS Encryption fournit des bibliothèques de chiffrement d'enveloppe côté client. Vous pouvez utiliser ces bibliothèques pour protéger vos données et les clés de chiffrement utilisées pour chiffrer ces données.
Le chiffrement d'enveloppe offre plusieurs avantages :
-
Protection des clés de données
Lorsque vous chiffrez une clé de données, vous n'avez pas à vous préoccuper du stockage de la clé de données chiffrée, car cette clé de données est intrinsèquement protégée par chiffrement. Vous pouvez stocker en toute sécurité la clé de données chiffrée avec les données chiffrées.
-
Chiffrement des mêmes données sous plusieurs clés
Les opérations de chiffrement peuvent exiger beaucoup de temps, notamment lorsque les données en cours de chiffrement sont des objets de grande taille. Au lieu de rechiffrer des données brutes plusieurs fois avec des clés différentes, vous pouvez rechiffrer uniquement les clés de données qui protègent les données brutes.
-
Combinaison des points forts de plusieurs algorithmes
En général, les algorithmes de clé symétrique sont plus rapides et produisent des textes chiffrés plus petits que les algorithmes de clé publique. Cependant, les algorithmes de clé publique fournissent une séparation inhérente des rôles et facilitent la gestion des clés. Le chiffrement d'enveloppe vous permet d'associer les forces de chaque stratégie.
Opérations cryptographiques
Dans AWS KMS, les opérations cryptographiques sont des opérations d'API qui utilisent des clés KMS pour protéger les données. Comme les clés KMS restent à l'intérieur AWS KMS, vous devez appeler AWS KMS pour utiliser une clé KMS dans le cadre d'une opération cryptographique.
Pour effectuer des opérations cryptographiques avec des clés KMS, utilisez AWS les kits SDK AWS Command Line Interface (AWS CLI) ou le. Outils AWS pour PowerShell Vous ne pouvez pas effectuer d'opérations cryptographiques dans la console AWS KMS . Pour obtenir des exemples d'appel des opérations cryptographiques dans plusieurs langages de programmation, veuillez consulter Exemples de code pour AWS KMS l'utilisation AWS SDKs.
Le tableau suivant répertorie les opérations AWS KMS cryptographiques. Il indique également le type de clé et les exigences d'utilisation des clés KMS utilisées dans l'opération.
| Opération | Type de clé | Utilisation de la clé |
|---|---|---|
| Decrypt | Symétrique ou asymétrique | ENCRYPT_DECRYPT |
| DeriveSharedSecret | Asymétrique | KEY_AGREEMENT |
| Encrypt | Symétrique ou asymétrique | ENCRYPT_DECRYPT |
| GenerateDataKey | Symétrique | ENCRYPT_DECRYPT |
| GenerateDataKeyPair | Symétrique [1] Non pris en charge sur les clés KMS dans les magasins de clés personnalisés. |
ENCRYPT_DECRYPT |
| GenerateDataKeyPairWithoutPlaintext | Symétrique [1] Non pris en charge sur les clés KMS dans les magasins de clés personnalisés. |
ENCRYPT_DECRYPT |
| GenerateDataKeyWithoutPlaintext | Symétrique | ENCRYPT_DECRYPT |
| GenerateMac | HMAC | GENERATE_VERIFY_MAC |
| GenerateRandom | N/A. Cette opération n'utilise pas de clé KMS. | N/A |
| ReEncrypt | Symétrique ou asymétrique | ENCRYPT_DECRYPT |
| Sign (Signer) | Asymétrique | SIGN_VERIFY |
| Vérification | Asymétrique | SIGN_VERIFY |
| VerifyMac | HMAC | GENERATE_VERIFY_MAC |
[1] Génère une paire de clés de données asymétriques qui est protégée par une clé KMS de chiffrement symétrique.
Pour plus d'informations sur les autorisations pour les opérations cryptographiques, veuillez consulter AWS KMS des autorisations.
Pour le rendre AWS KMS réactif et hautement fonctionnel pour tous les utilisateurs, AWS KMS établit des quotas sur le nombre d'opérations cryptographiques appelées chaque seconde. Pour en savoir plus, consultez Quotas partagés pour les opérations de chiffrement.