- Sécurité, identité et conformité›
- AWS Key Management Service›
- Questions fréquentes (FAQ)
FAQ pour AWS Key Management Service
Les questions fréquentes qui suivent ne s’appliquent pas à AWS Key Management Service (KMS) dans la région AWS Chine (Pékin), opérée par Sinnet, ni dans la région AWS Chine (Ningxia), opérée par NWCD. Suivez ce lien vers les FAQ pour obtenir des informations sur ces deux régions de Chine.
Questions d’ordre général
Qu'est-ce qu'AWS KMS ?
AWS KMS est un service géré qui vous aide à créer et à contrôler plus facilement les clés utilisées pour les opérations cryptographiques. Le service offre une solution hautement disponible de génération, de stockage, de gestion et d'audit de clés pour le chiffrement ou la signature numérique de vos données dans vos propres applications ou le contrôle du chiffrement des données dans les services AWS.
Pourquoi utiliser AWS KMS ?
Si vous êtes chargé de veiller à la sécurité des données dans les services AWS, vous devriez utiliser AWS KMS pour centraliser la gestion des clés de chiffrement permettant de contrôler l'accès à vos données. Si vous êtes un développeur et que vous avez besoin de chiffrer les données de vos applications, vous devriez utiliser le kit AWS Encryption SDK avec AWS KMS pour générer, utiliser et protéger plus facilement vos clés de chiffrement symétriques dans votre code. Si vous êtes un développeur désireux de signer numériquement ou de vérifier les données via des clés asymétriques, vous devriez utiliser le service pour créer et gérer les clés privées dont vous avez besoin. Si vous êtes à la recherche d'une infrastructure évolutive de gestion des clés destinée à accompagner vos développeurs et le nombre croissant d'applications qu'ils mettent au point, vous devriez utiliser AWS KMS pour réduire vos coûts de licences et la charge opérationnelle. Si vous êtes chargé de veiller à la sécurité des données à des fins règlementaires ou de conformité, vous devriez utiliser le service, car il permet de prouver facilement vos données sont systématiquement protégées. Le service se situe également en droite ligne d'un vaste ensemble de régimes du secteur et de conformité régionale.
Comment démarrer avec AWS KMS ?
La manière la plus simple de démarrer avec AWS KMS consiste à chiffrer vos données avec un service AWS utilisant des clés racines appartenant à AWS qui sont automatiquement créées par chaque service. Si vous souhaitez avoir un contrôle total de la gestion de vos clés, notamment la possibilité de partager l'accès aux clés entre les comptes et les services, vous pouvez créer vos propres clés gérées par le client AWS KMS dans AWS KMS. Vous pouvez également utiliser des clés KMS que vous créez directement dans vos propres applications. Vous pouvez accéder à AWS KMS depuis la console KMS, qui se trouve sous la section Security, Identity and Compliance (Sécurité, identité et conformité) de la page d’accueil des services AWS de la console AWS KMS. Les API AWS KMS sont aussi accessibles directement via l'interface de ligne de commande (CLI) AWS KMS ou le kit SDK AWS pour l'accès par programmation. Vous pouvez également utiliser les API AWS KMS indirectement pour chiffrer les données dans vos applications à l'aide du kit AWS Encryption SDK. Consultez la page de mise en route pour en savoir plus.
Dans quelles Régions AWS le service AWS KMS est-il disponible ?
La disponibilité régionale figure sur notre page globale des produits et services par région.
Quelles sont les fonctionnalités de gestion des clés disponibles dans AWS KMS ?
Vous pouvez exécuter les fonctions de gestion des clés suivantes :
- Créer des clés symétriques, asymétriques et HMAC exclusivement là où les éléments de clés seront utilisés dans le service
- Créer des clés symétriques dans lesquelles le matériel de clé est généré et utilisé dans un magasin de clés personnalisé sous votre contrôle et soutenu par AWS CloudHSM ou dans votre propre gestionnaire de clés externe à AWS
- Importez votre propre matériel clé symétrique, asymétrique et HMAC pour l'utiliser dans les services AWS pris en charge et dans votre propre application
- Définir quels utilisateurs et quels rôles AWS Identity and Access Management (IAM) peuvent gérer les clés
- Définir les utilisateurs et les fonctions IAM autorisés à chiffrer et déchiffrer les données
- Choisir d'effectuer la rotation automatique des clés générées par le service
- Désactiver des clés de manière temporaire afin qu'elles ne puissent être utilisées par personne
- Réactiver les clés désactivées
- Programmer la suppression des clés que vous n’utilisez plus
- Vérifier l'utilisation des clés en consultant les journaux dans AWS CloudTrail
Comment fonctionne AWS KMS ?
Vous pouvez commencer à utiliser le service en demandant la création d'une clé AWS KMS. Vous contrôlez le cycle de vie de toute clé KMS gérée par le client et qui peut l'utiliser ou la gérer. Une fois que vous avez créé une clé KMS, vous pouvez envoyer les données directement à AWS KMS pour qu'elles soient chiffrées, déchiffrées, signées, vérifiées ou pour générer ou vérifier un HMAC à l'aide de la clé KMS. Pour ces clés, vous définissez les politiques d'utilisation qui permettent de déterminer quels utilisateurs sont autorisés à effectuer quelles actions et dans quelles conditions.
Les services AWS et les kits d'outils client qui intègrent AWS KMS utilisent une méthode appelée chiffrement d'enveloppe pour protéger vos données. Cette méthode permet à AWS KMS de générer des clés de données qui sont utilisées pour chiffrer les données localement dans le service AWS ou dans votre application. Les clés de données sont elles-mêmes chiffrées à l'aide d'une clé AWS KMS configurée par vos soins. Les clés de données ne sont ni conservées ni gérées par AWS KMS. Les services AWS chiffrent vos données et stockent une copie chiffrée de la clé de données avec les données chiffrées. Lorsqu'un service a besoin de déchiffrer vos données, il demande à AWS KMS de déchiffrer la clé de données à l'aide de votre clé KMS. Si l'utilisateur qui demande les données au service AWS est autorisé à les déchiffrer via votre clé KMS, le service AWS reçoit la clé des données déchiffrée d'AWS KMS. Le service AWS déchiffre ensuite vos données et les renvoie en texte simple. Toutes les requêtes d'utilisation de vos clés KMS sont journalisées dans CloudTrail, pour que vous puissiez savoir qui a utilisé une clé, dans quel contexte et à quel moment.
A quel endroit mes données sont-elles chiffrées si j'utilise AWS KMS ?
Il existe principalement trois scénarios de chiffrement de données avec AWS KMS. Premièrement, vous pouvez utiliser directement les API AWS KMS pour chiffrer et déchiffrer les données à l'aide de vos clés KMS stockées dans le service. Deuxièmement, vous pouvez faire en sorte que les services AWS chiffrent vos données à l'aide de vos clés KMS stockées dans le service. Dans ce cas, les données sont chiffrées à l'aide des clés de données protégées par vos clés KMS. Troisièmement, vous pouvez utiliser le kit AWS Encryption SDK intégré à AWS KMS pour effectuer le chiffrement dans vos propres applications, qu'elles opèrent dans AWS ou pas.
Quels sont les services de cloud intégrés à AWS KMS ?
AWS KMS est intégré de façon homogène à la plupart des autres services AWS afin de faciliter le chiffrement des données dans ces services. Dans certains cas, les données sont chiffrées par défaut à l'aide de clés stockées dans AWS KMS, mais détenues et gérées par le service AWS en question. Mais souvent, c'est vous qui détenez et gérez les clés AWS KMS depuis votre compte. Certains services vous permettent de choisir si vous souhaitez gérer les clés vous-même ou autoriser le service à les gérer à votre place. Consultez la liste des services AWS actuellement intégrés à AWS KMS. Consultez le Guide du développeur AWS KMS pour en savoir plus sur la façon dont les services intégrés utilisent AWS KMS.
Pourquoi utiliser un chiffrement de l'enveloppe ? Pourquoi ne pas simplement envoyer des données à AWS KMS pour qu'il procède directement au chiffrement ?
AWS KMS se charge de l'envoi de données jusqu'à 4 Ko afin qu'elles soient chiffrées directement, tandis que le chiffrement d'enveloppe peut entraîner des gains significatifs en matière de performances. Lorsque vous chiffrez directement des données avec AWS KMS, elles peuvent être transférées sur le réseau. Le chiffrement d’enveloppe réduit la charge réseau, car seules la requête et la livraison d’une clé de données bien plus petite transitent par le réseau. La clé de données est utilisée en local dans votre application ou votre service AWS de chiffrement, ce qui évite d'envoyer le bloc de données entier vers AWS KMS et d'avoir des problèmes de latence réseau.
Quelle est la différence entre une clé KMS que je crée et les clés KMS créées automatiquement pour moi par d’autres services AWS ?
Vous avez la possibilité de sélectionner une clé KMS spécifique à utiliser lorsque vous souhaitez qu'un service AWS chiffre des données en votre nom. On les désigne alors comme des clés KMS gérées par le client, et vous avez un contrôle absolu sur celles-ci. Vous définissez le contrôle d'accès et la politique d'utilisation pour chaque clé, et vous accordez des autorisations à d'autres comptes et services afin qu'ils puissent utiliser les clés. Outre les clés gérées par le client, AWS KMS fournit également deux types de clés gérées par AWS : (1) les clés AWS KMS gérées par AWS sont des clés créées dans votre compte mais gérées par AWS, et (2) les clés appartenant à AWS sont des clés entièrement détenues et exploitées à partir de comptes AWS. Vous pouvez suivre les clés gérées par AWS dans votre compte. Leur utilisation est consignée dans CloudTrail, mais vous n'avez aucun contrôle sur les clés. Les clés appartenant à AWS sont les plus automatisées et assurent le chiffrement de vos données au sein d'AWS, mais elles ne fournissent pas de contrôles de politique ni de journaux CloudTrail sur l'activité de leur clé.
Pourquoi créer mes propres clés AWS KMS et protéger ces clés dans la flotte de HSM KMS ?
AWS KMS vous offre la flexibilité de choisir à la fois qui gère les clés que vous créez (gérées par le client, gérées par AWS et détenues par AWS), ainsi que l’endroit où vous créez et protégez vos clés (dans les HSM KMS, dans le CloudHSM ou dans un gestionnaire de clés externe). Nous vous recommandons de choisir des clés gérées par le client, créées et stockées dans les HSM KMS. Ces clés offrent le plus de flexibilité, de contrôle des politiques, de gestion du cycle de vie (y compris la rotation automatique et à la demande pour les clés de chiffrement symétriques) et une audibilité complète. En outre, les clés créées et protégées dans les HSM AWS KMS offrent des performances supérieures, une latence plus faible et un contrat de niveau de service pour les opérations cryptographiques KMS par rapport aux clés du magasin de clés personnalisé (CloudHSM) ou du magasin de clés externe (XKS).
Puis-je procéder à la rotation de mes clés ?
Oui. Vous pouvez choisir qu'AWS KMS effectue automatiquement la rotation des clés KMS dans une plage de jours configurable (de 90 jours à 2 560 jours [7 ans]) ou utiliser l'API RotateKeyOnDemand pour invoquer une rotation immédiate des clés (limite de durée de vie de 10 rotations à la demande par clé). La rotation automatique des clés n'est pas prise en charge pour les clés importées, les clés asymétriques, les clés HMAC ou les clés générées dans un cluster AWS CloudHSM à l'aide de la fonctionnalité de stockage de clés personnalisé d'AWS KMS. Vous pouvez procéder à la rotation des clés stockées dans le magasin de clés externe (XKS) et gérer tous les événements du cycle de vie des clés externes dans votre gestionnaire de clés.
Dois-je chiffrer à nouveau mes données à l'issue de la rotation des clés dans AWS KMS ?
Si vous configurez AWS KMS de sorte qu'il effectue une rotation automatique des clés, inutile de chiffrer à nouveau vos données. AWS KMS conserve automatiquement les versions précédentes des clés pour le déchiffrement des clés chiffrées sous une ancienne version d'une clé. Toutes les nouvelles requêtes de chiffrement visant une clé dans AWS KMS sont chiffrées selon la version la plus récente de la clé. Si vous effectuez une rotation manuelle des clés importées ou issues d'un stockage de clés personnalisé, vous devrez peut-être chiffrer à nouveau vos données, selon que vous décidez de conserver les anciennes versions des clés ou non.
Si vous effectuez une rotation manuelle des clés importées ou issues d'un stockage de clés personnalisé, vous devrez peut-être chiffrer à nouveau vos données, selon que vous décidez de conserver les anciennes versions des clés ou non.
Puis-je supprimer une clé provenant d'AWS KMS ?
Oui. Vous pouvez programmer la suppression d'une clé AWS KMS que vous avez créée dans AWS KMS en définissant un délai de réflexion pouvant aller de 7 à 30 jours. Cette opération supprime également les métadonnées associées. Ce délai de réflexion vous permet de vérifier l'impact que la suppression d'une clé aura sur vos applications et les utilisateurs qui en dépendent. Le délai de réflexion par défaut est de 30 jours. Pendant cette période, vous pouvez annuler la suppression de la clé. Si la clé est programmée pour suppression, elle ne peut pas être utilisée tant que vous n'avez pas annulé la suppression au cours du délai de réflexion. Si vous n'annulez pas la suppression, la clé est supprimée à la fin du délai de réflexion configurable. Une fois qu'une clé est supprimée, vous ne pouvez plus l'utiliser. Toutes les données protégées par une clé racine supprimée deviennent inaccessibles.
Dans le cas de clés AWS KMS dont les éléments ont été importés, vous pouvez supprimer ces derniers sans supprimer l'ID de clé AWS KMS ou les métadonnées. Pour ce faire, vous disposez de deux méthodes. La première consiste à supprimer les éléments de clé importés sur demande, sans délai de réflexion. La deuxième nécessite de définir une période d'expiration au moment de l'importation des éléments de clé dans la clé AWS KMS. Vous pouvez ainsi préciser pendant combien de temps AWS peut utiliser vos éléments de clé importés avant leur suppression. Vous pouvez, par la suite, réimporter les éléments de clé dans la clé AWS KMS si vous en avez à nouveau besoin.
Puis-je utiliser AWS KMS pour faciliter la gestion du chiffrement de données en dehors des services de cloud AWS ?
Oui. AWS KMS est pris en charge dans les kits SDK AWS, AWS Encryption SDK, le chiffrement côté client Amazon DynamoDB et le client de chiffrement Amazon Simple Storage Service (S3) pour faciliter le chiffrement des données lors de l'exécution de vos propres applications. Consultez les pages Internet sur les Outils de chiffrement AWS et le développement sur AWS pour en savoir plus.
Le nombre de clés que je peux créer sur AWS KMS est-il limité ?
Vous pouvez créer jusqu'à 100 000 clés KMS par compte et par région. Toutes les KMS, qu'elles soient activées ou désactivées, sont prises en compte dans le calcul de la limite. Nous vous conseillons donc de supprimer les clés désactivées dont vous n'avez plus l'utilité. Les clés KMS gérées par AWS qui sont créées pour vous pour une utilisation sur des services AWS pris en charge n'entrent pas en compte dans le calcul de cette limite. Il n'y a aucune limite concernant le nombre de clés de données qui peuvent être créées à l'aide d'une clé KMS et utilisées sur votre application ou par des services AWS pour chiffrer des données pour vous. Vous pouvez demander une augmentation des limites pour vos clés KMS en consultant AWS Support.
Les clés KMS peuvent-elles être exportées en dehors du service sous forme de texte simple ?
Non. Toutes les clés KMS ou une portion privée de clé KMS asymétrique ne peut pas être exportée sous forme de texte simple depuis les modules HSM. Seule la portion publique d'une clé KMS asymétrique peut être exportée depuis une console ou par appel de l'API GetPublicKey.
Les clés de données et les paires de clés de données peuvent-elles être exportées en dehors des modules HSM sous forme de texte simple ?
Oui. Les clés symétriques peuvent être exportées via l'API GenerateDataKey ou l'API GenerateDataKeyWithoutPlaintext. En outre, les portions privée ou publique des paires de clés de données asymétriques peuvent être exportées en dehors d'AWS KMS en utilisant l'API GenerateDataKeyPair ou l'API GenerateDataKeypairWithoutPlaintext.
Comment les clés de données et les paires de clés de données sont-elles protégées en vue de leur stockage en dehors du service ?
Les clés de données symétriques ou la portion privée d'une clé de données asymétrique sont chiffrées conformément à la clé KMS symétrique que vous définissez lors de l'envoi de la demande de génération d'une clé de données à AWS KMS.
Quels sont les cas d’utilisation pour lesquels je dois recourir à AWS Private Certificate Authority au lieu d’AWS KMS ?
L’utilisation du service AWS Private CA vise essentiellement à fournir une infrastructure de clés publiques (PKI) permettant d’identifier les entités et de sécuriser les connexions réseau. Les PKI fournissent les processus et les mécanismes, principalement via les certificats X.509, afin de mettre en place une structure pour les opérations cryptographiques des clés publiques. Les certificats permettent d’associer une identité et une clé publique. Le processus de certification dans lequel une autorité de certification émet un certificat permet à l’autorité de certification de confiance de valider l’identité d’une autre entité à travers la signature d’un certificat. L’infrastructure PKI fournit l’identité, la confiance partagée, la gestion du cycle de vie des clés et l’état des certificats payants jusqu’à leur révocation. Ces fonctions ajoutent des processus et une infrastructure importants aux clés et aux algorithmes cryptographiques asymétriques sous-jacents fournis par AWS KMS.
AWS Private CA vous aide à délivrer des certificats afin d'identifier les serveurs d'applications et Web, les maillages de services, les utilisateurs VPN, les points de terminaison d'API internes et les appareils AWS IoT Core. Les certificats vous aident à établir l'identité des ressources et de créer des canaux de communication TLS/SSL chiffrés. Si vous envisagez d'utiliser des clés asymétriques pour une terminaison TLS sur les serveurs Web ou d'applications, les équilibreurs de charge Elastic, les points de terminaison d'API Gateway, les instances Amazon Elastic Compute Cloud EC2 ou les conteneurs, vous devriez songer à recourir à AWS Private CA pour la délivrance des certificats et la fourniture d'une infrastructure PKI.
En revanche, AWS KMS vous aide à générer, gérer et utiliser des clés asymétriques pour les opérations de signature numérique et de chiffrement ne nécessitant aucun certificat. Les certificats peuvent permettre de vérifier l'identité d'un expéditeur et d'un destinataire parmi plusieurs parties non fiables. Cependant, le type d'opérations asymétriques brutes qu'offre AWS KMS est généralement utile lorsque vous disposez d'autres mécanismes pour confirmer l'identité ou lorsque la procédure de confirmation d'identité n'est pas indispensable pour obtenir les avantages de sécurité recherchés.
Puis-je associer les fournisseurs d’API cryptographiques de mes applications, par exemple OpenSSL, JCE, Bouncy Castle ou CNG, avec AWS KMS ?
AWS KMS n'offre aucune intégration native pour aucun autre fournisseur d'API cryptographique. Vous devez utiliser les API AWS KMS directement ou via le kit SDK AWS pour intégrer les fonctionnalités de signature et de chiffrement à vos applications.
AWS KMS propose-t-il un contrat de niveau de service (SLA) ?
Oui. Le contrat de niveau de service AWS KMS donne droit à un crédit de service si votre pourcentage de disponibilité mensuelle est inférieur à notre engagement de service au cours de n’importe quel cycle de facturation.
Sécurité
Qui peut utiliser et gérer mes clés dans AWS KM ?
AWS KMS veille au respect des politiques de gestion et d'utilisation que vous établissez. Vous pouvez choisir des utilisateurs et des rôles IAM dans votre compte ou d'autres comptes pour utiliser et gérer vos clés.
Comment AWS assure-t-elle la sécurité des clés KMS que je crée ?
AWS KMS est conçu de telle sorte que personne, pas même les employés d'AWS, ne puisse récupérer vos clés KMS en texte simple sur le service. AWS KMS utilise des modules de sécurité matériels (HSM) qui ont été validés par la norme FIPS 140-2, ou sont en cours de validation, pour protéger la confidentialité et l'intégrité de vos clés. Vos clés KMS en texte simple ne quittent jamais les modules HSM, ne sont jamais écrites sur disque et sont uniquement utilisées sur la mémoire volatile des modules HSM le temps nécessaire pour effectuer l'opération cryptographique que vous demandez. Les mises à jour des logiciels sur les hôtes du service et du micrologiciel AWS KMS HSM font l'objet d'un contrôle d'accès multipartite audité et vérifié par un groupe indépendant au sein d'Amazon et par un laboratoire certifié NIST, conformément à la norme FIPS 140-2.
Pour plus d’informations sur ces contrôles de sécurité, consultez le guide technique sur les détails cryptographiques d’AWS KMS. Vous pouvez également consulter le certificat FIPS 140-2 pour les modules HSM d’AWS KMS ainsi que la politique de sécurité associée pour obtenir plus de détails sur la manière dont les modules HSM d’AWS KMS répondent aux exigences de sécurité de la norme FIPS 140-2. Vous pouvez également télécharger une copie du rapport SOC (System and Organization Controls) disponible dans AWS Artifact pour en savoir plus sur les contrôles de sécurité que le service utilise pour protéger vos clés KMS.
Comment effectuer la migration de mes clés AWS KMS existantes afin d’utiliser des modules HSM validés au niveau de sécurité 3 par la norme FIPS 140-2 ?
Vous n'avez rien à faire. Toutes les clés AWS KMS, indépendamment de leur date de création ou de leur origine, sont automatiquement protégées à l'aide de modules HSM validés au niveau de sécurité 3 par la norme FIPS 140-2.
Quelles régions AWS disposent de HSM validés au niveau de sécurité 3 selon la norme FIPS 140-2 ?
Les modules HSM validés au niveau de sécurité 3 par la norme FIPS 140-2 sont déployés dans toutes les Régions AWS où AWS KMS est proposé.
REMARQUE : conformément à la réglementation, AWS KMS dans les Régions Chine ne peut pas utiliser les modules HSM FIPS du NIST et utilise à la place des modules HSM certifiés par le Bureau de l'administration de la cryptographie commerciale de l'État chinois (OSCCA, Office of the State Commercial Cryptographic Administration) de la Chine.
Quelle est la différence entre les points de terminaison validés par la norme FIPS 140-2 et les HSM validés par la norme FIPS 140-2 d'AWS KMS ?
AWS KMS est un service à deux niveaux. Les points de terminaison d'API reçoivent des requêtes de clients via des connexions HTTPS exploitant uniquement des suites cryptographiques TLS qui prennent en charge la conformité de transmission parfaite (perfect forward secrecy, PFS). Ces points de terminaison d'API authentifient et autorisent la requête avant de la transmettre aux modules HSM d'AWS KMS pour les opérations cryptographiques, ou à votre cluster AWS CloudHSM (si vous utilisez la fonctionnalité de stockage de clés personnalisé).
Comment faire des demandes d'API à AWS KMS à l'aide de points de terminaison validés par la norme FIPS 140-2 ?
Vous configurez vos applications pour vous connecter aux points de terminaison HTTPS régionaux uniques validés par la norme FIPS 140-2. Les points de terminaison HTTPS validés par la norme FIPS 140-2 d'AWS KMS sont optimisés par le module d'objet FIPS d'OpenSSL. Vous pouvez consulter la politique de sécurité du module OpenSSL ici. Des points de terminaison d'API validés par la norme FIPS 140-2 sont disponibles dans toutes les régions commerciales où AWS KMS est disponible.
Puis-je utiliser AWS KMS pour m’aider à satisfaire aux exigences en matière de gestion des clés et de chiffrement de la norme PCI DSS (Payment Card Industry Data Security Standard) 3.2.1 ?
Oui. AWS KMS a été validé comme disposant des fonctionnalités et des contrôles de sécurité requis pour vous aider à répondre aux exigences en matière de gestion des clés et de chiffrement (principalement référencées dans les sections 3.5 et 3.6) de la norme PCI DSS 3.2.1.
Pour en savoir plus sur les services conformes à la norme PCI DSS sur AWS, vous pouvez consulter les questions fréquentes (FAQ) sur la norme PCI DSS.
Comment AWS KMS sécurise-t-il les clés de données que j'exporte et que j'utilise sur mon application ?
Vous pouvez demander à AWS KMS de générer des clés de données que vous pouvez ensuite utiliser sur votre propre application. Les clés de données sont chiffrées sous une clé racine que vous définissez dans AWS KMS afin de stocker en toute sécurité la clé de données chiffrée, ainsi que vos données chiffrées. Votre clé de données chiffrée (et par conséquent vos données sources) peut être déchiffrée uniquement par des utilisateurs autorisés à se servir de la clé racine d'origine pour déchiffrer votre clé de données chiffrée.
Puis-je exporter une clé AWS KMS et l’utiliser sur mes propres applications ?
Non. Les clés AWS KMS sont créées et utilisées uniquement avec le service, afin de vérifier leur sécurité, de mettre en œuvre vos politiques à appliquer de manière cohérente et de fournir un journal centralisé de leur utilisation.
Dans quelles régions mes clés sont-elles stockées ?
Une clé KMS d'une seule région générée par AWS KMS est stockée et utilisée uniquement dans la région dans laquelle elle a été créée. Avec les clés multi-régions AWS KMS, vous pouvez choisir une clé primaire multi-région dans plusieurs régions au sein de la même partition AWS.
Comment savoir qui a utilisé ou modifié la configuration de mes clés dans AWS KMS ?
Les journaux d’AWS CloudTrail contiennent toutes les requêtes d’API AWS KMS, dont les requêtes de gestion (telles que la création, la rotation, la désactivation, la modification de politiques) ainsi que les requêtes cryptographiques (telles que le chiffrement ou le déchiffrement). Activez CloudTrail sur votre compte pour afficher ces journaux.
Quelle est la différence entre AWS KMS et CloudHSM ?
CloudHSM vous fournit un cluster HSM validé à client unique sur votre cloud privé virtuel (VPC) Amazon pour stocker et utiliser vos clés. Vous avez un contrôle exclusif sur la façon dont vos clés sont utilisées grâce à un mécanisme d'authentification indépendant d'AWS. Vous interagissez avec des clés dans votre cluster CloudHSM de la même manière qu'avec vos applications s'exécutant dans Amazon EC2. Vous pouvez utiliser CloudHSM pour prendre en charge divers cas d'utilisation, comme la gestion des droits numériques (Digital Rights Management, DRM), les infrastructures de clés publiques (PKI), la signature de documents et les fonctions cryptographiques utilisant les interfaces PKCS#11, Java JCE ou encore Microsoft CNG.
AWS KMS vous aide à créer et contrôler les clés de chiffrement utilisées par vos applications ainsi que les services AWS pris en charge dans plusieurs régions du monde à partir d'une seule console. Ce service utilise un module HSM FIPS validé par la norme FIPS 140-2, ou en attente de validation, pour assurer la sécurité de vos clés. La gestion centralisée de l'ensemble de vos clés dans AWS KMS vous aide à déterminer qui peut utiliser vos clés, sous quelles conditions, le moment de leur renouvellement et qui peut les gérer. L'intégration d'AWS KMS avec CloudTrail vous permet de vérifier l'utilisation de vos clés afin de faciliter vos activités de réglementation et de conformité. Vous interagissez avec AWS KMS depuis vos applications à l’aide du kit SDK AWS si vous souhaitez appeler les API de service directement, par le biais d’autres services AWS intégrés à AWS KMS, ou depuis le kitAWS Encryption SDK si vous préférez effectuer un chiffrement côté client.
Facturation
Comment mon utilisation d'AWS KMS me sera-t-elle facturée et débitée ?
Avec AWS KMS, vous ne payez que ce que vous utilisez ; il n'y a pas de frais minimum. Il n'y a pas de frais d'installation, ni aucun engagement à prendre pour commencer à utiliser le service. A la fin du mois, votre carte de crédit est automatiquement débitée en fonction de votre utilisation au cours du mois.
Toutes les clés KMS que vous avez créées vous sont facturées, de même que toutes les requêtes d'API effectués chaque mois vers le service au-delà de l'offre gratuite.
Pour connaître les informations de tarification actuelles, consultez la page relative à la tarification AWS KMS.
Existe-t-il un niveau gratuit ?
Oui. Avec l’Offre gratuite d’AWS, vous pouvez démarrer avec AWS KMS gratuitement* dans toutes les régions. Le stockage dans votre compte des clés AWS KMS gérées par AWS et créées en votre nom par les services AWS est gratuit. Il existe une offre gratuite qui permet d'effectuer un nombre illimité de requêtes vers le service chaque mois. Pour connaître les informations de tarification actuelles, notamment celles concernant l’offre gratuite, consultez la page relative à la tarification AWS KMS.
*Les requêtes API impliquant des clés KMS asymétriques et les requêtes API envoyées vers les API GenerateDataKeyPair et GenerateDataKeyPairWithoutPlaintext ne sont pas concernées par l'offre gratuite.
Vos prix sont-ils toutes taxes comprises ?
Sauf indication contraire, nos prix n’incluent pas les taxes et redevances applicables, y compris la TVA et les taxes sur les ventes applicables. Pour les clients dont l'adresse de facturation est située au Japon, l'utilisation de services AWS est soumise à la taxe sur la consommation applicable dans ce pays. Vous pouvez en savoir plus en cliquant ici.
Importer
Puis-je importer mes propres clés dans AWS KMS ?
Oui. Vous pouvez importer dans AWS KMS une copie d'une clé issue de votre propre infrastructure de gestion de clés afin de l'utiliser avec n'importe quel service AWS intégré ou au sein de vos propres applications.
Quand utiliser une clé importée ?
Vous pouvez utiliser une clé importée pour avoir une meilleure maîtrise du processus de création, de la gestion du cycle de vie et de la durabilité de votre clé dans AWS KMS. Les clés importées vous permettent également de répondre à certaines exigences de conformité qui nécessitent parfois d'être en mesure de générer ou de conserver une copie sécurisée de la clé dans votre infrastructure, ainsi que de pouvoir supprimer immédiatement la copie importée de l'infrastructure AWS.
Quel type de clés puis-je importer ?
Vous pouvez importer des clés symétriques, des clés asymétriques (RSA et courbe elliptique) et des clés HMAC.
Comment la clé que j'importe dans AWS KMS est-elle protégée au cours du transfert ?
Lors de l'importation, votre clé doit être encapsulée par une clé publique fournie par AWS KMS à l'aide de l'algorithme d'encapsulage pris en charge. Cela permet de vérifier que votre clé chiffrée ne pourra être déchiffrée que par AWS KMS.
Quelle est la différence entre une clé que j’importe et une clé que je génère dans AWS KMS ?
Il y a deux principales différences :
- Vous devez conserver de manière sécurisée, dans votre infrastructure de gestion de clés, une copie des clés importées afin de pouvoir les réimporter à tout moment. AWS vérifie néanmoins la disponibilité, la sécurité et la durabilité des clés générées par AWS KMS jusqu'à ce que vous programmiez leur suppression.
- Vous pouvez définir un délai d'expiration pour une clé importée. AWS KMS supprimera automatiquement les éléments de clé une fois ce délai écoulé. Vous pouvez également supprimer des éléments de clés importés à la demande. Dans les deux cas, les éléments de clé sont supprimés, mais la référence de clé KMS dans AWS KMS et les métadonnées associées sont conservées, afin que vous puissiez réimporter les éléments de clé ultérieurement. Les clés générées par AWS KMS n'ont pas de délai d'expiration et ne peuvent pas être supprimées immédiatement. Il existe un délai d'attente obligatoire de 7 à 30 jours. Toutes les clés KMS gérées par un client, qu'elles aient été importées ou non, peuvent être désactivées ou programmées pour suppression manuellement. Dans ce cas, la clé KMS elle-même est supprimée, pas seulement les éléments de clé sous-jacents.
Que faire si les éléments de clé importés ont expiré ou si je les ai supprimés par erreur ?
Vous pouvez réimporter une copie des éléments de clé (avec une période d'expiration en cours de validité) dans AWS KMS sous la clé AWS KMS d'origine afin de pouvoir l'utiliser.
Une alerte m'informe-t-elle qu'il est nécessaire de réimporter la clé ?
Oui. Une fois que vous importez votre clé dans une clé AWS KMS, une métrique CloudWatch vous est transmise à quelques minutes d'intervalle. Elle indique le compte à rebours avant l'expiration de la clé importée. Un événement CloudWatch est également généré pour vous informer une fois que la clé importée sous la clé AWS KMS arrive à expiration. Vous pouvez alors élaborer une logique basée sur ces mesures ou événements pour réimporter automatiquement la clé avec une nouvelle période d'expiration. Ainsi, vous évitez tout risque d'indisponibilité.
Types de clés et algorithmes
Quels sont les types de clés de chiffrement symétriques et les algorithmes pris en charge ?
AWS KMS prend en charge les clés 256 bits lors de la création d'une clé KMS pour le chiffrement et le déchiffrement. Les clés de données générées qui sont renvoyées à l'appelant peuvent avoir une taille de 256 bits, de 128 bits ou une valeur arbitraire maximale de 1024 bits. Lorsqu'AWS KMS utilise une clé KMS de 256 bits pour vous pour chiffrer et déchiffrer, l'algorithme AES dans Galois Counter Mode (AES-GCM) est utilisé.
Quels sont les types de clés de chiffrement symétriques et les algorithmes pris en charge ?
AWS KMS prend en charge les types de clés asymétriques suivants : RSA 2048, RSA 3072, RSA 4096, ECC NIST P-256, ECC NIST P-384, ECC NIST-521 et ECC SECG P-256k1. AWS KMS prend en charge les algorithmes de chiffrement RSAES_OAEP_SHA_1 et RSAES_OAEP_SHA_256 avec les types de clés RSA 2048, RSA 3072 et RSA 4096. Les algorithmes de chiffrement ne peuvent pas être utilisés avec les types de clés à courbes elliptiques (ECC NIST P-256, ECC NIST P-384, ECC NIST-521 et ECC SECG P-256k1).
Quels sont les types d’algorithmes d’accords clés pris en charge ?
Lorsque vous utilisez des types de clés à courbe elliptique, AWS KMS prend en charge les algorithmes d’accords de clés ECDH.
Quels sont les types d’algorithmes de signature asymétrique pris en charge ?
En cas d'utilisation des types de clés RSA, AWS KMS prend en charge les algorithmes de signature suivants : RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384 et RSASSA_PKCS1_V1_5_SHA_512. En cas d'utilisation des types de clés à courbe elliptique, AWS KMS prend en charge les algorithmes de signature ci-dessous : ECDSA_SHA_256, ECDSA_SHA_384 et ECDSA_SHA_512.
Comment utiliser la portion publique d’une clé KMS asymétrique ?
La portion publique d'un élément de clé asymétrique est générée dans AWS KMS et peut être utilisée pour vérifier une signature numérique (en appelant l'API « Verify ») ou pour chiffrer la clé publique (en appelant l'API « Encrypt »). La clé publique peut également être utilisée en dehors d'AWS KMS à des fins de vérification ou de chiffrement. Vous pouvez appeler l'API « GetPublicKey » pour extraire la portion publique de la clé KMS asymétrique.
Quelle est la taille maximale des données envoyées vers AWS KMS pour des opérations asymétriques ?
La taille maximale est de 4 Ko. Si vous souhaitez signer numériquement des données supérieures à 4 Ko, vous pouvez créer une synthèse de message des données et l'envoyer à AWS KMS. La signature numérique est créée sur la synthèse des données et renvoyée. Vous devez spécifier si vous envoyez le message intégral ou une synthèse de message dans les paramètres de la requête d'API Sign. Toute donnée envoyée aux API Encrypt, Decrypt ou Re-Encrypt et nécessitant l'utilisation d'opérations asymétriques doit être inférieure à 4 Ko.
Comment faire la distinction entre les clés KMS asymétriques et les clés KMS symétriques que j’ai créées ?
Dans la console, chaque clé possède un nouveau champ dénommé Key Type (Type de clé). Ainsi, les clés KMS que vous créez porteront la valeur Asymmetric Key (Clé asymétrique) ou Symmetric Key (Clé symétrique), pour renseigner sur le type de clé. L'API DescribeKey renvoie un champ KeyUsage pour indiquer si la clé peut être utilisée pour signer, générer des HMAC ou chiffrer.
La rotation automatique des clés KMS asymétriques ou HMAC est-elle prise en charge ?
Non. La rotation automatique des clés n'est pas prise en charge pour les clés KMS asymétriques ou HMAC. En général, la rotation des clés asymétriques ou HMAC peut perturber considérablement votre charge de travail existante, car vous devez retirer et remplacer toutes les instances de clés que vous avez partagées avec d'autres parties dans le passé. Vous pouvez effectuer leur rotation manuelle en créant une nouvelle clé KMS et en mappant un alias de clé existant depuis l'ancienne clé KMS vers la nouvelle.
Une clé KMS asymétrique unique peut-elle être utilisée aussi bien pour le chiffrement que pour la signature ?
Non. Lors de la création de votre clé KMS, vous devez préciser si elle servira pour les opérations de déchiffrement ou de signature. Un type de clé RSA peut être utilisé pour les opérations de signature ou de chiffrement, mais jamais les deux. Les types de clés à courbes elliptiques ne peuvent être utilisés que pour les opérations de signature.
Existe-t-il des limites de service associées aux clés asymétriques ?
Oui. Les limites de taux de requêtes par seconde varient selon les types de clés et les algorithmes. Pour en savoir plus, consultez la page sur les limites AWS KMS.
Les clés asymétriques fonctionnent-elles avec le magasin de clés personnalisé AWS KMS ?
Non. Vous ne pouvez pas utiliser la fonctionnalité de stockage de clés personnalisé avec des clés asymétriques.
Puis-je utiliser les clés KMS asymétriques pour signer numériquement des applications nécessitant des certificats numériques ?
Pas directement. Le service AWS KMS ne stocke ni n'associe les certificats numériques avec les clés KMS asymétriques qu'il crée. Vous pouvez choisir de faire délivrer un certificat par une autorité de certification, par exemple AWS Private Certificate Authority, pour la portion publique de votre clé KMS asymétrique. Cela permet aux entités qui utilisent votre clé publique de vérifier que ladite clé publique vous appartient effectivement.
Le magasin de clé soutenu par CloudHSM
Comment puis-je connecter AWS KMS à CloudHSM ?
La fonctionnalité de magasin de clés personnalisé AWS KMS allie les contrôles fournis par CloudHSM à l’intégration et à la simplicité d’utilisation d’AWS KMS. Vous pouvez configurer votre propre cluster CloudHSM et autoriser AWS KMS à l'utiliser comme stockage de clés dédié plutôt que votre stockage de clés AWS KMS par défaut. Lorsque vous créez des clés dans AWS KMS, vous pouvez choisir de générer les éléments de clés dans votre cluster CloudHSM. Les clés KMS générées dans votre stockage de clés personnalisé ne quittent jamais les modules HSM du cluster CloudHSM en clair, et toutes les opérations d'AWS KMS qui utilisent ces clés ne s'effectuent que dans vos modules HSM. Sur tous les autres points, les clés KMS placées dans votre stockage de clés personnalisé sont cohérentes avec les autres clés AWS KMS.
Vous trouverez des conseils supplémentaires pour décider s’il est pertinent d’utiliser un magasin de clés personnalisé dans ce billet de blog.
Pourquoi aurais-je besoin d’utiliser CloudHSM ?
Puisque vous contrôlez votre cluster CloudHSM, vous pouvez gérer le cycle de vie de vos clés KMS indépendamment d'AWS KMS. Un stockage de clés personnalisé peut être utile pour trois raisons. Premièrement, il est possible que certaines clés requièrent une protection explicite dans un module HSM à client unique ou dans un module HSM sur lequel vous avez un contrôle direct. Deuxièmement, vous aurez peut-être besoin de supprimer immédiatement des éléments de clés d'AWS KMS et de le prouver par des moyens indépendants. Troisièmement, vous pouvez avoir à effectuer un audit complet de l'utilisation de vos clés indépendamment d'AWS KMS ou de CloudTrail.
Comment CloudHSM change-t-il la façon dont les clés KMS sont gérées ?
Il existe deux différences de gestion entre un stockage de clés personnalisé CloudHSM et le stockage de clés AWS KMS par défaut. Vous ne pouvez pas importer des éléments de clés dans un stockage de clés personnalisé, et AWS KMS ne peut pas effectuer une rotation automatique des clés. Pour le reste, notamment le type de clé qui peut être généré, la façon dont les clés utilisent les alias et les méthodes de définition des politiques, les clés stockées dans un stockage de clés personnalisé sont gérées de la même manière que toutes les autres clés KMS gérées par un client AWS KMS.
Puis-je utiliser CloudHSM pour stocker une clé KMS gérée par AWS ?
Non, seules les clés KMS gérées par le client peuvent être stockées et gérées dans un stockage de clés personnalisé AWS KMS CloudHSM. Les clés KMS gérées par AWS qui sont créées pour vous par d'autres services AWS pour chiffrer vos données sont toujours générées et stockées dans le stockage de clés par défaut d'AWS KMS.
L’intégration avec CloudHSM affecte-t-elle le fonctionnement des API de chiffrement dans KMS ?
Non, les requêtes d'API envoyées à AWS KMS afin d'utiliser une clé KMS pour chiffrer et déchiffrer les données sont traitées de la même façon. Les processus d'authentification et d'autorisation ne tiennent pas compte de l'emplacement de stockage de la clé. Toute activité impliquant une clé placée dans un stockage de clés personnalisé soutenu par CloudHSM est également consignée dans CloudTrail de la même façon. Cependant, les opérations cryptographiques proprement dites surviennent exclusivement dans le stockage de clés personnalisé ou dans le stockage de clés AWS KMS par défaut.
Puis-je auditer l’utilisation des clés dans un magasin de clés personnalisé ?
En plus de l'activité journalisée dans CloudTrail par AWS KMS, l'utilisation d'un stockage de clés personnalisé fournit trois mécanismes d'audit supplémentaires. Premièrement, CloudHSM consigne également toutes les activités de l'API dans CloudTrail, comme la création de clusters et l'ajout ou la suppression de HSM. Deuxièmement, chaque cluster capture aussi ses propres journaux locaux pour enregistrer les activités relatives aux utilisateurs et à la gestion des clés. Troisièmement, chaque instance CloudHSM copie les journaux d'activité d'utilisateur et de gestion de clés dans AWS CloudWatch.
Lorsque j’utilise CloudHSM, quel est l’impact sur la disponibilité des clés ?
L'utilisation d'un stockage de clés personnalisé AWS KMS vous aide à être responsable de la vérification de la disponibilité de vos clés pour AWS KMS. Les erreurs de configuration de CloudHSM et la suppression involontaire des éléments de clés dans un cluster CloudHSM peuvent influer sur la disponibilité. Le nombre de modules HSM utilisés et le choix des zones de disponibilité (AZ) ont également un effet sur la résilience de votre cluster. Comme dans tous les systèmes de gestion de clés, vous devez comprendre l'impact de la disponibilité des clés sur la récupération de vos données chiffrées.
Quelles sont les restrictions de performances associées à CloudHSM ?
Le taux d'utilisation des clés placées dans un stockage de clés personnalisé AWS KMS CloudHSM par le biais des appels d'API AWS KMS est inférieur à celui des clés placées dans le stockage de clés AWS KMS par défaut. Consultez le Guide du développeur AWS KMS pour connaître les limites de performances actuelles.
Quels sont les coûts associés à l’utilisation d’un magasin de clés personnalisé CloudHSM ?
Les tarifs AWS KMS ne sont pas affectés par l'utilisation d'un stockage de clés personnalisé. Cependant, pour chaque stockage de clés personnalisé, votre cluster AWS CloudHSM doit contenir au moins deux modules HSM. Ces modules HSM sont facturés aux tarifs AWS CloudHSM standard. Il n'y a pas de frais supplémentaires pour l'utilisation d'un stockage de clés personnalisé.
Quelles compétences et ressources supplémentaires sont requises pour configurer CloudHSM ?
Les utilisateurs AWS KMS qui souhaitent disposer d'un stockage de clés personnalisé doivent configurer un cluster AWS CloudHSM, ajouter des modules HSM, gérer les utilisateurs des modules HSM et éventuellement restaurer les modules HSM à partir d'une sauvegarde. Il s'agit de tâches de sécurité délicates pour lesquelles vous pouvez vérifier que vous disposez des ressources et des contrôles organisationnels appropriés.
Puis-je importer des clés dans un magasin de clés personnalisé ?
Non, vous ne pouvez pas importer vos propres éléments de clés dans un stockage de clés personnalisé AWS KMS. Les clés placées dans un stockage de clés personnalisé ne peuvent être générées que dans les modules HSM qui constituent votre cluster CloudHSM.
Puis-je migrer des clés entre le magasin de clés AWS KMS par défaut et un magasin de clés personnalisé ?
Non, la possibilité de migrer des clés entre les différents types de stockages de clés AWS KMS n'est pas prise en charge actuellement. Toutes les clés doivent être créées dans le stockage où elles seront utilisées, sauf si vous importez vos propres éléments de clés dans le stockage de clés AWS KMS par défaut.
La rotation des clés dans un magasin de clés personnalisé est-elle possible ?
Non, la rotation automatique des éléments de clés dans un stockage de clés personnalisé AWS KMS n'est pas possible. La rotation des clés doit être effectuée manuellement en créant des clés et en remappant les alias de clés AWS KMS employés par votre code d'application afin d'utiliser les nouvelles clés pour de futures opérations de chiffrement.
Puis-je utiliser mon cluster CloudHSM pour d’autres applications ?
Oui. AWS KMS ne requiert pas un accès exclusif à votre cluster CloudHSM. Si vous avez déjà un cluster, vous pouvez l'utiliser à la fois en tant que stockage de clés personnalisé et pour d'autres applications. Cependant, si votre cluster héberge de puissantes applications non-AWS KMS, le débit des opérations utilisant les clés KMS du stockage de clés personnalisé peut être réduit. De la même façon, un taux de requêtes AWS KMS élevé vers votre stockage de clés personnalisé peut avoir un impact sur vos autres applications.
Comment puis-je en savoir plus sur AWS CloudHSM ?
Consultez le site Web AWS CloudHSM pour obtenir une présentation générale du service. Pour plus de détails sur la configuration et l’utilisation du service, consultez le Guide de l’utilisateur AWS CloudHSM.
Stockage de clés externe
Qu’est-ce qu’un magasin de clés externe (XKS) ?
Un stockage de clés externe est un stockage de clés personnalisé soutenu par une infrastructure de gestion de clés externe que vous possédez et gérez en dehors d'AWS. Toutes les opérations de chiffrement ou de déchiffrement qui utilisent une clé KMS dans un stockage de clés externe sont effectuées dans votre gestionnaire de clés avec des clés et opérations cryptographiques qui sont sous votre contrôle et sont physiquement inaccessibles à AWS.
Pourquoi utiliser un magasin de clés externe ?
Un XKS peut vous aider à vous conformer aux règles ou réglementations qui exigent que les clés de chiffrement soient stockées et utilisées en dehors d'AWS sous votre contrôle.
Comment AWS KMS se connecte-t-il à mon gestionnaire de clés externe ?
Les requêtes adressées à AWS KMS par les services AWS intégrés en votre nom ou par vos propres applications sont transmises à un composant de votre réseau appelé Proxy XKS. Le Proxy XKS est une spécification API open source qui vous aide, vous et votre fournisseur de gestion de clés, à créer un service qui accepte ces requêtes et les transmet à votre infrastructure de gestion de clés afin d'utiliser ses clés pour le chiffrement et le déchiffrement.
Quels fournisseurs externes prennent en charge la spécification Proxy XKS ?
Thales, Entrust, Atos, Fortanix, DuoKey, Securonix, Utimaco, Salesforce, T-Systems et HashiCorp proposent des solutions qui s’intègrent à la spécification XKS Proxy. Pour plus d’informations sur la disponibilité, la tarification et l’utilisation des solutions de ces fournisseurs, consultez leurs documentations respectives. Nous vous encourageons, vous et votre partenaire d'infrastructure de gestion des clés, à tirer parti de la spécification open source Proxy XKS pour élaborer une solution qui réponde à vos besoins. La spécification API pour Proxy XKS est publiée ici.
Quelles sont les fonctionnalités d’AWS KMS qui prennent en charge les clés externes ?
Les clés externes prennent en charge les opérations de chiffrement symétrique suivantes : Encrypt, ReEncrypt, Decrypt et GenerateDataKey.
Comment XKS fonctionne-t-il avec les services AWS qui intègrent AWS KMS pour le chiffrement des données ?
Vous pouvez utiliser les clés XKS pour chiffrer les données dans n'importe quel service AWS qui s'intègre à AWS KMS à l'aide de clés gérées par le client. Consultez la liste des services soutenus ici. Les services AWS font appel à l'API AWS KMS GenerateDataKey pour demander une clé de données unique en clair afin de chiffrer vos données. La clé de données en clair est renvoyée au service avec une copie chiffrée de la clé de données qui sera stockée avec vos données chiffrées. Pour produire la copie chiffrée de la clé de données, la clé de données en clair est d'abord chiffrée par une clé stockée dans AWS KMS unique à votre compte AWS. Cette clé de données chiffrée est ensuite transmise à votre implémentation Proxy XKS connectée à votre gestionnaire de clés externe pour être chiffrée une seconde fois sous la clé que vous définissez dans votre gestionnaire de clés externe. La clé de données doublement chiffrée qui en résulte est renvoyée dans la réponse à la requête de l'API GenerateDataKey.
Qu’est-ce que le double chiffrement et comment fonctionne-t-il ?
La connexion réseau entre AWS KMS, votre implémentation Proxy XKS et votre gestionnaire de clés externe doit être protégée par un protocole de chiffrement point à point tel que TLS. Toutefois, afin de protéger vos données quittant AWS KMS jusqu'à ce qu'elles atteignent votre gestionnaire de clés externe, AWS KMS les chiffre d'abord avec une clé KMS gérée en interne dans votre compte spécifique à chaque clé KMS définie dans votre magasin de clés externe. Le texte chiffré résultant est transmis à votre gestionnaire de clés externe, qui le chiffre à l'aide de la clé de votre gestionnaire de clés externe. Le double chiffrement fournit le contrôle de sécurité de sorte qu'aucun texte chiffré ne peut jamais être déchiffré sans utiliser le matériel de clé dans votre gestionnaire de clé externe. Il fournit également le contrôle de sécurité avec lequel le texte chiffré quittant le réseau AWS est chiffré à l'aide des HSM AWS KMS certifiés FIPS 140. Comme votre gestionnaire de clés externe doit être utilisé pour déchiffrer les données, si vous révoquez l'accès à AWS KMS, vos données chiffrées sous-jacentes deviennent inaccessibles.
Puis-je utiliser les clés XKS dans mes propres applications qui mettent en œuvre le chiffrement côté client ?
Oui. Les clés XKS peuvent également être utilisées à partir de vos propres applications lorsque vous utilisez une solution de chiffrement symétrique côté client qui utilise AWS KMS comme fournisseur de clés. Les solutions de chiffrement côté client open source d'AWS, comme le kit AWS Encryption SDK, S3 Encryption Client et DynamoDB Encryption Client, prennent en charge les clés XKS.
J’ai déjà utilisé AWS KMS avec des clés KMS standard, des clés KMS importées ou des clés stockées dans mon cluster CloudHSM. Puis-je migrer ces clés KMS vers XKS ou rechiffrer les clés existantes chiffrées sous XKS ?
Toutes les clés XKS doivent être créées comme de nouvelles clés dans KMS. Vous ne pouvez pas migrer des clés KMS existantes vers des clés XKS hébergées dans votre gestionnaire de clés externe.
Vous pouvez rechiffrer des données existantes sous des clés XKS nouvellement générées, à condition que le service AWS ou votre propre application prenne en charge cette action. De nombreux services AWS vous aideront à copier une ressource chiffrée et à désigner une nouvelle clé KMS à utiliser pour chiffrer la copie. Vous pouvez configurer la clé XKS dans la commande COPIER fournie par le service AWS. Vous pouvez rechiffrer les données chiffrées côté client dans vos propres applications en utilisant l'API KMS ReEncrypt et en configurant la clé XKS.
Comment le prix de XKS est-il fixé dans KMS ?
Comme toutes les clés gérées par les clients, les clés XKS sont facturées 1 USD par mois et par clé jusqu'à leur suppression. Les demandes effectuées sous des clés XKS sont facturées au même tarif que toute autre clé symétrique AWS KMS. Pour en savoir plus sur les tarifs, consultez la page de tarification d'AWS KMS.
La rotation automatique des clés est-elle possible avec les clés XKS ?
Oui. La rotation automatique des clés est prise en charge par la spécification XKS, et il s'agit d'une capacité fournie par la plupart des fournisseurs qui prennent en charge XKS. La rotation automatique des clés XKS s'effectue entièrement dans le gestionnaire de clés externe et fonctionne de la même manière que la rotation automatique des clés AWS KMS créées et gérées dans KMS. Lorsque vous utilisez une clé KMS XKS ayant fait l'objet d'une rotation pour chiffrer des données, votre gestionnaire de clés externe utilise le contenu de la clé actuelle. Lorsque vous utilisez la clé XKS ayant fait l'objet d'une rotation pour déchiffrer du texte chiffré, votre gestionnaire de clés externe utilise la version des éléments de clé utilisée pour le chiffrer. Tant que les clés XKS utilisées pour créer les textes chiffrés précédents sont toujours activées dans votre gestionnaire de clés externe, vous pourrez effectuer une requête d'API Decrypt avec ces versions de vos clés XKS.
Si je désactive, bloque ou supprime des clés dans le magasin de clés externe, mes données seront-elles toujours accessibles dans le cloud ?
Pour les services qui ne mettent pas les clés en cache, la prochaine requête d'API utilisant cette clé XKS KMS échouera. Certains services mettent en œuvre la mise en cache des clés de données ou d'autres schémas de dérivation des clés pour des raisons de performance, de latence ou de gestion des coûts de KMS. La mise en cache de ces clés peut varier de cinq minutes à 24 heures. Toute ressource protégée en cours d'utilisation (comme une base de données RDS ou une instance EC2) réagira différemment après que vous ayez refusé l'accès à la clé. Pour plus de détails, consultez la documentation du service AWS concerné.
Comment authentifier les requêtes proxy XKS d’AWS KMS auprès de mon gestionnaire de clés externe ?
Pour s'authentifier auprès de votre proxy de stockage de clés externe, AWS KMS signe toutes les requêtes adressées au proxy à l'aide des informations d'identification AWS SigV4 que vous configurez sur votre proxy et que vous fournissez à KMS. AWS KMS authentifie votre proxy de stockage de clés externe à l'aide de certificats TLS côté serveur. En option, votre proxy peut activer le protocole TLS mutuel pour garantir qu'il n'accepte que les requêtes provenant d'AWS KMS.
Quels types de politique d’autorisation puis-je élaborer pour les clés XKS ?
Tous les mécanismes d'autorisation habituels d'AWS KMS (politiques IAM, politiques de clés AWS KMS, cession) que vous utilisez avec d'autres clés KMS fonctionnent de la même manière pour les clés KMS dans le stockage de clés externe.
En outre, vos partenaires gestionnaires de clés externes et/ou vous-même avez la possibilité de mettre en œuvre une couche secondaire de contrôles d'autorisation basée sur les métadonnées de demande incluses dans chaque demande envoyée par AWS KMS au Proxy XKS. Ces métadonnées comprennent l'utilisateur ou le rôle AWS utilisé, la clé KMS ARN et l'API KMS spécifique qui a été demandé. Cela vous permet d'appliquer une politique d'autorisation détaillée sur l'utilisation d'une clé dans votre gestionnaire de clés externe, au-delà de la simple confiance accordée à toute demande provenant d'AWS KMS. Le choix de l'application de la politique à l'aide de ces attributs de requête est laissé à la discrétion de vos implémentations individuelles de Proxy XKS.
Comment la journalisation et l’audit fonctionnent-ils avec XKS ?
L'identifiant unique généré pour chaque requête arrivant à AWS KMS et impliquant des clés XKS est également transmis au proxy XKS. Vous pouvez utiliser les données du journal (si elles sont disponibles) de votre proxy XKS ou de votre gestionnaire de clés externe pour rapprocher les demandes faites à AWS KMS et celles faites à votre gestionnaire de clés externe. Cette fonctionnalité vous permet de vérifier que toutes les requêtes d'utilisation de clés dans votre gestionnaire de clés externe proviennent d'une requête que vous avez envoyée à AWS KMS, soit directement, soit par le biais d'un service AWS intégré.
Quels risques dois-je accepter si je choisis XKS au lieu d’utiliser les clés KMS standard générées et stockées dans AWS KMS ?
Risque de disponibilité : vous êtes responsable de la disponibilité de Proxy XKS et des éléments de clé externes. Ce système doit avoir une grande disponibilité pour vérifier que, chaque fois que vous avez besoin d'une clé XKS pour déchiffrer une ressource chiffrée ou chiffrer de nouvelles données, AWS KMS peut se connecter avec succès au proxy XKS, qui lui-même peut se connecter à votre gestionnaire de clés externe pour effectuer l'opération cryptographique nécessaire en utilisant la clé. Par exemple, supposons que vous ayez chiffré un volume EBS à l'aide d'une clé XKS et que vous souhaitiez maintenant lancer une instance EC2 et joindre ce volume chiffré. Le service EC2 transmettra la clé de données chiffrée unique pour ce volume à AWS KMS pour la déchiffrer afin qu'elle puisse être provisionnée dans la mémoire volatile de la carte Nitro pour déchiffrer et chiffrer les opération de lecture ou d'écriture sur le volume. Si votre Proxy XKS ou votre gestionnaire de clés externe n'est pas disponible pour déchiffrer la clé volume, le lancement de votre instance EC2 échouera. Dans ces types d'échecs, AWS KMS renvoie une KMSInvalidStateException indiquant que le Proxy XKS n'est pas disponible. C'est maintenant à vous de déterminer pourquoi votre Proxy XKS et votre gestionnaire de clés sont indisponibles en vous basant sur les messages d'erreur envoyés par KMS.
Risque de durabilité : les clés étant sous votre contrôle dans des systèmes extérieurs à AWS, vous êtes seul responsable de la durabilité de toutes les clés externes que vous créez. Si la clé externe d'une clé XKS est définitivement perdue ou supprimée, tout le texte chiffré sous la clé XKS est irrécupérable.
Risque lié aux performances : c’est à vous de vérifier que votre infrastructure Proxy XKS et de magasin de clés externe est conçue avec des caractéristiques de performance suffisantes pour répondre à vos besoins. Étant donné que chaque demande utilisant des clés XKS nécessite une connexion avec votre stockage de clés externe, votre proxy XKS peut devenir un goulot d'étranglement si le taux de demande d'AWS KMS dépasse le taux de demande que votre Proxy XKS ou votre gestionnaire de clés externe peut supporter. De plus, si le temps écoulé d'une seule requête (y compris une tentative) entre AWS KMS et votre Proxy XKS est supérieur à 500 ms*, AWS KMS renverra une erreur 400 à son client demandeur, indiquant ainsi que votre clé XKS est indisponible et que le client demandeur ne doit pas réessayer. Ce comportement est conçu pour minimiser le risque que les services AWS en amont ou vos propres applications doivent réagir à une latence excessive sporadique causée par des problèmes de connectivité à votre infrastructure.
*AWS KMS tentera une seule relance pour toute demande qui prend 250 ms. Si la requête de relance prend également plus de 250 ms, une erreur 400 sera renvoyée au client demandeur.
Quels sont les impacts de l’utilisation du magasin de clés externe sur la disponibilité des niveaux de service ?
Étant donné qu’AWS ne peut pas contrôler la disponibilité de bout en bout de la connexion entre AWS KMS et votre infrastructure de magasin de clés externe, nous excluons spécifiquement l’utilisation de XKS dans notre SLA de disponibilité KMS public. De plus, les clés XKS sont exclues de la disponibilité des niveaux de service pour tout service AWS dans lequel une clé XKS est configurée par vous pour chiffrer des données dans le service.