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é parmi les algorithmes de la Federal Information Processing Standard (FIPSapprouvés) 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 document HSMs utilisent les normes de chiffrement avancées (AES)
AES- GCM est un schéma de cryptage authentifié. En plus de chiffrer le texte brut pour produire du texte chiffré, il calcule une balise d'authentification par-dessus 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é n'a pas AAD été modifié.
Il AWS omet souvent d'inclure le AAD dans nos descriptions, en particulier lorsqu'il est fait référence au cryptage des clés de données. Dans ces cas, le texte environnant implique que la structure à chiffrer est partitionnée entre le texte en clair à chiffrer et le texte en clair AAD à 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 crypté à l'aide OAEP de RSAES-
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 AWS KMS API opérations, 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 les longueurs de RSA clé (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 obtenir des secrets partagés, mais pas les deux. Supporte les ECC courbes : NIST P256, P384, P521, 256k1. SECP
-
SM2(Régions chinoises 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é. Supports SM2PKE pour le chiffrement et SM2DSA 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 KDF opérations utilisent le mode compteur KDF 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 possèdent une paire de clés d'algorithme de signature numérique à courbe elliptique (ECDSA). Ils fonctionnent 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 en toute sécurité. La clé racine stockée dans AWS KMS, connue sous le nom de AWS KMS keys, ne laisse jamais les modules de sécurité matériels AWS KMS FIPS validé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 k à plus long terme, et une autre clé est une clé par message msgKey, qui est générée pour chiffrer le message. L'enveloppe est formée en chiffrant le message : ciphertext = Encrypt (msgKey, message). Ensuite, la clé du message est chiffrée avec la clé statique à long terme : encKey = Encrypt (k,msgKey). Enfin, les deux valeurs (encKeytexte chiffré) sont regroupées dans une structure unique, ou un message crypté 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 cadre du AWS KMS service, le service AWS Encryption SDK 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 API opérations qui utilisent des KMS clés pour protéger les données. Comme KMS les clés restent à l'intérieur AWS KMS, vous devez appeler AWS KMS pour utiliser une KMS clé dans une opération cryptographique.
Pour effectuer des opérations cryptographiques avec KMS des clés, utilisez le AWS SDKs, AWS Command Line Interface (AWS CLI) ou le AWS Tools for 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 KMS clés pour les clés 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 KMS les clés dans les magasins de clés personnalisés. |
ENCRYPT_DECRYPT |
GenerateDataKeyPairWithoutPlaintext | Symétrique [1] Non pris en charge sur KMS les clés 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 KMS clé. | 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 protégée par une clé de chiffrement KMS 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 de plus amples informations, veuillez consulter Quotas partagés pour les opérations de chiffrement.