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 éléments essentiels de la cryptographie
AWS KMS utilise des algorithmes cryptographiques configurables afin que le système puisse rapidement passer d'un algorithme ou d'un mode approuvé à un autre. L'ensemble initial d'algorithmes cryptographiques par défaut a été sélectionné dans les algorithmes Federal Information Processing Standard (FIPS Approved) pour leurs propriétés de sécurité et leurs performances.
Entropie et génération de nombres aléatoires
AWS KMS la génération de clés est effectuée dans le AWS KMS HSMs. Ils HSMs 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-256
Opérations de clé symétrique (chiffrement uniquement)
Toutes les commandes de chiffrement par clé symétrique utilisées dans ce cadre HSMs 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.
AWS Omet souvent l'inclusion de l'AAD dans nos descriptions, en particulier lorsqu'il s'agit du chiffrement 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 vous offre la possibilité d'importer du matériel clé dans un AWS KMS key au lieu de compter sur AWS KMS celui-ci pour générer le matériel clé. Ce matériel clé importé peut être chiffré à l'aide du protocole 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és. 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 signature et la vérification des signatures, ou pour obtenir des secrets partagés. La clé privée ne sort jamais AWS KMS non 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) et RSA-PSS et RSA-PKCS- #1 -v1_5 (pour la signature et la vérification) – Prend en charge les longueurs de clés RSA (en bits) : 2 048, 3 072 et 4 096 pour différentes exigences de sécurité.
-
Courbe elliptique (ECC) : utilisée pour signer et vérifier ou pour obtenir des secrets partagés, mais pas les deux. Prend en charge les courbes ECC : NIST P256, P384, P521, SECP 256k1.
-
SM2 (Régions de Chine uniquement) — Utilisé pour le chiffrement et le déchiffrement, la signature et la vérification, ou pour la dérivation de secrets partagés, mais vous devez choisir une seule utilisation de clé. Supporte le SM2 protocole PKE pour le chiffrement et le protocole SM2 DSA pour la signature.
Fonctions de dérivation de clé
Une fonction de dérivation de clés 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és (KDF) pour dériver des clés par appel pour chaque chiffrement effectué sous un. AWS KMS key Toutes les opérations KDF utilisent le KDF en mode compteur en
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). Elles exécutent l'ECDSA comme décrit dans Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (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 laissez jamais les modules de sécurité matériels validés par la norme de sécurité AWS KMS FIPS 140-3 de niveau 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 par le AWS KMS service, le SDK de AWS chiffrement fournit des bibliothèques de chiffrement d'enveloppes 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 le AWS SDKs, 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 autorisations.
Pour que tous les utilisateurs soient AWS KMS réactifs et hautement fonctionnels, AWS KMS établissez des quotas sur le nombre d'opérations cryptographiques appelées par seconde. Pour plus de détails, consultez Quotas partagés pour les opérations de chiffrement.