Fonctions d’AWS Key Management Service

Présentation

AWS Key Management Service (KMS) vous offre un contrôle des clés de chiffrement utilisées pour protéger vos données. AWS KMS vous fournit un contrôle centralisé sur le cycle de vie et les autorisations de vos clés. Vous pouvez créer de nouvelles clés dès que vous le souhaitez, et vous pouvez contrôler séparément qui peut gérer les clés de qui peut les utiliser. Le service est intégré aux autres services AWS, ce qui simplifie le chiffrement des données que vous stockez dans ces services et le contrôle d’accès aux clés pour les déchiffrer. AWS KMS est également intégré à AWS CloudTrail, vous permettant de vérifier qui a utilisé quelles clés, sur quelles ressources et quand. AWS KMS permet aux développeurs d'ajouter facilement une fonctionnalité de signature numérique ou de chiffrement au code de leur application, que ce soit directement ou à l'aide d’AWS SDK. Le kit de chiffrement AWS Encryption SDK prend en charge AWS KMS en tant que fournisseur de clés pour les développeurs qui ont besoin de chiffrer/déchiffrer des données localement dans leurs applications.

Page Topics

Fonctions principales

Fonctions principales

Si vous avez activé AWS CloudTrail pour votre compte AWS, chaque demande que vous faites à AWS KMS est enregistrée dans un fichier journal. Ce fichier journal est livré dans le compartiment Amazon Simple Storage Service (Amazon S3) que vous avez spécifié lorsque vous avez activé AWS CloudTrail. Les informations enregistrées comprennent des détails concernant l'utilisateur, l'heure, la date, l’action d’API et, le cas échéant, la clé utilisée.

AWS KMS est un service entièrement géré. Au fil de l'évolution de votre utilisation du chiffrement, le service se met automatiquement à l'échelle pour répondre à vos besoins. Cela vous permet de gérer des milliers de clés KMS dans votre compte, et de les utiliser lorsque vous en avez besoin. Cela spécifie les limites par défaut pour plusieurs clés et taux de requêtes, mais vous pouvez aller au-delà, si nécessaire.

Les clés KMS que vous créez ou celles créées en votre nom par d'autres services AWS ne sont pas exportables depuis le service. En conséquence, AWS KMS veille à leur durabilité. AWS KMS enregistre plusieurs copies des versions chiffrées de vos clés dans des systèmes conçus pour fournir une durabilité de 99,999999999 % afin de garantir la haute disponibilité de vos clés et de vos données.

Pour les flux de données chiffrées ou de signature numérique multi-régions (reprise après sinistre, architectures à haute disponibilité multi-régions, tables globales DynamoDB et signatures numériques cohérentes distribuées à travers le monde), vous pouvez créer des clés multi-régions KMS. Les clés multi-régions KMS sont un ensemble de clés interopérables avec le même matériel de clé et les mêmes identifiants de clé qui peuvent être répliquées dans plusieurs régions.

AWS KMS est conçu en tant que service hautement disponible avec un point de terminaison d'API régional. Comme la plupart des services AWS s'appuient sur lui pour le cryptage et le décryptage, AWS KMS est conçu pour offrir un certain niveau de disponibilité. Cette disponibilité prend en charge le reste d’AWS et est garantie par l’Accord de niveau de service d’AWS KMS.

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 en texte simple sur le service. Le service utilise des modules de sécurité matériels (HSM) qui sont continuellement validés dans le cadre du Programme de validation des modules cryptographiques FIPS 140-2 du National Institute of Standards and Technology (NIST) des États-Unis, afin de protéger la confidentialité et l'intégrité de vos clés. Les HSM d'AWS KMS constituent la base de confiance cryptographique pour la protection des clés KMS. Ils créent une frontière matérielle protégée pour toutes les opérations cryptographiques effectuées dans KMS. Toutes les clés KMS générées dans les HSM d'AWS KMS et toutes les opérations nécessitant des clés KMS déchiffrées se déroulent strictement à l'intérieur de la limite de sécurité FIPS 140-2 de niveau 3 de ces HSM. Les mises à jour du micrologiciel AWS KMS HSM sont contrôlées par un contrôle d'accès multipartite qui est vérifié et examiné par un groupe indépendant au sein d'Amazon. Conformément aux exigences de la norme FIPS 140, toutes les modifications apportées au micrologiciel des HSM KMS sont soumises à un laboratoire accrédité par le NIST pour être validées conformément à la norme de sécurité FIPS 140-2 de niveau 3.

Vos clés en texte simple ne sont jamais écrites sur disque. Elles sont uniquement utilisées sur la mémoire volatile des HSM pendant le temps nécessaire pour effectuer l'opération cryptographique demandée. Cela reste vrai, que vous demandiez à AWS KMS de créer des clés en votre nom, que vous les importiez dans le service ou que vous les créiez dans un cluster AWS CloudHSM à l’aide de la fonction de stockage de clés personnalisées. Vous pouvez choisir de créer des clés à région unique ou à régions multiples. Les clés à région unique ne sont jamais transmises en dehors de la région AWS dans laquelle elles ont été créées et ne peuvent être utilisées que dans la région dans laquelle elles ont été créées.
 

Pour en savoir plus sur l’architecture d’AWS KMS et le modèle cryptographique utilisé pour protéger vos clés, veuillez consulter le Livre blanc détaillée de la cryptographie d’AWS KMS.

*Les modules HSM sont approuvés par le gouvernement chinois (non validés FIPS 140-2), et le livre blanc sur la description détaillée de la cryptographie mentionné ci-dessus ne s’applique pas 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. 

AWS KMS vous donne la possibilité de créer et d’utiliser des clés KMS asymétriques et des paires de clés de données. Vous pouvez désigner une clé KMS à utiliser comme paire de clés de signature, comme paire de clés de chiffrement ou comme paire de clés d’accord. La génération de paires de clés et les opérations de chiffrement asymétriques utilisant ces clés KMS s'effectuent dans des modules HSM. Vous pouvez demander à ce que la portion publique de la clé KMS asymétrique puisse être utilisée dans vos applications locales, tandis que la portion privée ne quitte jamais le service. Vous pouvez importer la partie privée d'une clé asymétrique depuis votre propre infrastructure de gestion des clés.

Vous pouvez aussi demander au service de générer une paire de clés de données asymétrique. Cette opération retourne une copie en texte brut de la clé publique et de la clé privée ainsi qu'une copie de la clé privée chiffrée sous une clé KMS symétrique que vous spécifiez. Vous pouvez utiliser la clé privée ou publique en texte brut dans votre application locale et stocker la copie chiffrée de la clé privée pour une utilisation future.

* Les clés asymétriques ne sont pas prises en charge par le stockage de clés personnalisé.

Vous pouvez générer et vérifier le code d’authentification de message utilisant hash (HMAC) à partir des modules de sécurité matériels (HSM) validés FIPS 140-2 d’AWS KMS. Les HMAC sont des composants cryptographiques qui incorporent le contenu de la clé secrète dans une fonction hash pour créer un code d'authentification de message chiffré unique. Les clés HMAC KMS offrent un avantage par rapport aux HMAC des logiciels d'application, car le matériel de clé est entièrement généré et utilisé dans AWS KMS. Elles sont également sujettes aux contrôles d’accès que vous avez définis sur la clé. Les clés HMAC KMS et les algorithmes HMAC d'AWS KMS sont conformes aux standards sectoriels définis dans la RFC 2104. Les clés HMAC KMS sont générées dans les modules de sécurité matériels AWS KMS qui sont certifiés dans le cadre du programme de validation des modules cryptographiques FIPS 140-2 et ne laissent jamais AWS KMS non chiffré. Vous pouvez également importer votre propre clé HMAC depuis votre propre infrastructure de gestion des clés.

*Les clés HMAC d’AWS KMS ne sont pas prises en charge dans les boutiques de clés personnalisées.
** Les FIPS 140-2 ne s’appliquent pas à AWS KMS dans la région AWS Chine (Pékin), opérée par Sinnet, et la région AWS Chine (Ningxia), opérée par NWCD. Les HSM dans les régions de Chine est approuvée par le gouvernement chinois.

Les contrôles de sécurité et de qualité mis en place dans AWS KMS ont été validés et certifiés par les programmes de conformité suivants :

  • Rapports SOC (System and Organization Controls) d'AWS (SOC 1, SOC 2 et SOC 3). Vous pouvez télécharger un exemplaire de ces rapports depuis AWS Artifact.
  • Cloud Computing Compliance Controls Catalog (C5). En savoir plus sur le programme d’attestation C5 soutenu par le gouvernement allemand.
  • Les normes PCI DSS (Payment Card Industry Data Security Standard) niveau 1. Pour en savoir plus sur les services conformes à la norme PCI DSS dans AWS, consultez les Questions fréquentes (FAQ) sur la norme PCI DSS.
  • Normes FIPS (Federal Information Processing Standards) 140-2. Le module cryptographique d'AWS KMS est validé au niveau de sécurité 3 de la norme FIPS 140-2 par les autorités américaines. Normes NIST (National Institute of Standards and Technology, Institut américain des normes et de la technologie). Pour en savoir plus, consultez le certificat FIPS 140-2 pour AWS KMS HSM ainsi que la Politique de sécurité associée.
  • Federal Risk and Authorization Management Program (FedRAMP) (Programme fédéral de gestion des risques et des autorisations). Pour en savoir plus sur la conformité FedRAMP d’AWS, consultez la page Conformité FedRAMP.
  • Health Insurance Portability and Accountability Act (HIPAA). Pour en savoir plus, consultez la page web consacrée à la conformité HIPAA.

AWS KMS est validé et certifié par rapport aux autres régimes de conformité énumérés ici.

* Les FIPS 140-2 ne s’appliquent pas à AWS KMS dans la région AWS Chine (Beijing), opérée par Sinnet, et la région AWS Chine (Ningxia), opérée par NWCD. Les HSM dans les régions de Chine est approuvée par le gouvernement chinois.

Les magasins de clés personnalisés combinent l'interface de gestion des clés pratique et complète d'AWS KMS avec la possibilité de posséder et de contrôler le(s) dispositif(s) où se déroulent les opérations cryptographiques et le matériel de clé. Par conséquent, vous assumez davantage de responsabilités quant à la disponibilité et à la durabilité des clés cryptographiques et au fonctionnement des HSM. AWS KMS offre deux types de stockage de clés personnalisé :

Le magasin de clé soutenu par CloudHSM

Vous pouvez créer une clé KMS dans un magasin de clés personnalisé AWS CloudHSM, où toutes les clés sont générées et stockées dans un cluster AWS CloudHSM que vous possédez et gérez. Lorsque vous utilisez une clé KMS dans un stockage de clés personnalisé, les opérations cryptographiques la concernant s’effectuent uniquement dans votre cluster AWS CloudHSM.

L’utilisation d’un stockage de clés personnalisé entraîne des coûts supplémentaires liés au cluster AWS CloudHSM et vous rend responsable de la disponibilité des éléments de clés dans ledit cluster. Pour savoir si les stockages de clés personnalisés sont bien adaptés à vos besoins, vous pouvez lire ce blog.

Stockage de clés externe

Si vous avez un besoin réglementaire de stocker et d'utiliser vos clés de chiffrement sur site ou en dehors du cloud AWS, vous pouvez créer une clé KMS dans un stockage de clés externe (XKS) d’AWS KMS, où toutes les clés sont générées et stockées dans un gestionnaire de clés externe à AWS que vous possédez et gérez. Lorsque vous utilisez un XKS, votre matériel de clé ne quitte jamais votre HSM.

Contrairement aux clés KMS standard ou à une clé dans un stockage de clés personnalisé CloudHSM, vous êtes responsable de la durabilité, de la disponibilité, de la latence, des performances et de la sécurité du matériel de clé et des opérations de chiffrement des clés externes lorsque vous utilisez un magasin de clés externe. Les performances et la disponibilité des opérations KMS peuvent être affectées par les composants matériels, logiciels ou du réseau de l'infrastructure XKS que vous utilisez. Pour en savoir plus sur XKS, vous pouvez lire ce blog d’actualités AWS.

* Les stockages de clés personnalisés ne sont pas disponibles dans la région AWS Chine (Pékin), gérée par Sinnet, et la région AWS Chine (Ningxia), gérée par NWCD.
** Le stockage de clés personnalisé n'est pas disponible pour les clés KMS asymétriques.
*** CodeArtifact ne prend pas en charge les clés KMS dans un XKS.

Vous pouvez utiliser AWS KMS avec des bibliothèques de chiffrement côté client pour protéger les données directement au sein de votre application sur AWS, ou dans des environnements hybrides et multicloud. Vous pouvez utiliser ces bibliothèques pour chiffrer les données avant de les stocker dans les services AWS, ou sur tout autre support de stockage ou service tiers de votre choix. Ces bibliothèques sont conçues pour vous aider à chiffrer et à déchiffrer les données conformément aux normes et aux bonnes pratiques de l'industrie. Les bibliothèques de chiffrement vous permettent de vous concentrer sur les fonctionnalités de base de votre application plutôt que sur la manière de chiffrer et de déchiffrer vos données.

  • L’AWS Encryption SDK offre une bibliothèque de chiffrement polyvalente pour mettre en œuvre des opérations de chiffrement et de déchiffrement sur tous les types de données.
  • Le SDK de chiffrement de base de données AWS est une bibliothèque de chiffrement qui vous aide à protéger les données sensibles stockées dans votre base de données et fournit des fonctionnalités supplémentaires concernant la recherche et l’interrogation de données cryptées.
  • Le client de chiffrement Amazon S3 est une bibliothèque de chiffrement qui permet de chiffrer et de déchiffrer les objets stockés dans votre compartiment S3.

Pour en savoir plus, consultez la documentation sur les outils de chiffrement AWS.

Intégration de service AWS

AWS KMS s'intègre aux services AWS pour chiffrer les données au repos ou pour faciliter la signature et la vérification à l'aide d'une clé AWS KMS. Pour protéger les données au repos, les services AWS intégrés utilisent le chiffrement d'enveloppe, dans le cadre duquel une clé de données permet de chiffrer les données et est elle-même chiffrée à l'aide d'une clé KMS stockée dans AWS KMS. Pour la signature et la vérification, les services AWS intégrés utilisent des clés RSA asymétriques ou KMS ECC dans AWS KMS. Pour en savoir plus sur la façon dont un service intégré utilise AWS KMS, reportez-vous à la documentation de votre service AWS.

Alexa for Business[1] Amazon FSx Amazon Rekognition AWS CodePipeline
Amazon AppFlow Amazon GuardDuty Amazon Relational Database Service (RDS) AWS Control Tower
Amazon Athena Amazon HealthLake Amazon Route 53 AWS Data Exchange
Amazon Aurora Amazon Inspector Amazon Simple Storage Service (Amazon S3)[3] AWS Database Migration Service
Kit SDK Amazon Chime Amazon Kendra Amazon SageMaker AWS DeepRacer
Amazon CloudWatch Logs Amazon Keyspaces (pour Apache Cassandra) Amazon Simple Email Service (SES)
AWS Elastic Disaster Recovery
Amazon CloudWatch Synthetics Amazon Kinesis Data Streams Amazon Simple Notification Service (SNS) AWS Elemental MediaTailor
Amazon CodeGuru Amazon Kinesis Firehose Amazon Simple Queue Service (SQS) AWS Entity Resolution
Amazon CodeWhisperer Amazon Kinesis Video Streams Amazon Textract AWS GameLift
Amazon Comprehend Amazon Lex Amazon Timestream AWS Glue
Amazon Connect Amazon Lightsail[1] Amazon Transcribe AWS Glue DataBrew
Profils des clients Amazon Connect Amazon Location Service Amazon Translate AWS Ground Station
Amazon Connect Voice ID Amazon Lookout for Equipment Amazon WorkMail AWS IoT SiteWise
Amazon Connect Wisdom Amazon Lookout for Metrics Amazon WorkSpaces AWS Lambda
Amazon DocumentDB Amazon Lookout for Vision Client léger Amazon WorkSpaces AWS License Manager
Amazon DynamoDB Amazon Macie Amazon WorkSpaces Web AWS Mainframe Modernization
Amazon DynamoDB Accelerator (DAX)[1]
Amazon Managed Blockchain AWS AppConfig AWS Network Firewall
Amazon EBS Amazon Managed Service for
Prometheus
AWS AppFabric AWS Proton
Amazon EC2 Image Builder Amazon Managed Streaming for Kafka (MSK) AWS Application Cost Profiler AWS Secrets Manager
Amazon EFS Amazon Managed Workflows for Apache Airflow (MWAA) AWS Application Migration Service AWS Snowball 
Amazon Elastic Container Registry (ECR) Amazon MemoryDB AWS App Runner AWS Snowball Edge
Amazon Elastic Kubernetes Service (EKS) Amazon Monitron AWS Audit Manager AWS Snowcone
Amazon Elastic Transcoder Amazon MQ AWS Backup AWS Storage Gateway
Amazon ElastiCache Amazon Neptune AWS Certificate Manager[1] AWS Systems Manager
Amazon EMR Amazon Nimble Studio AWS Cloud9[1] Chaîne d’approvisionnement AWS
Amazon EMR sans serveur Amazon OpenSearch AWS CloudHSM[2] Accès vérifié par AWS
Planificateur Amazon EventBridge Amazon Omics AWS CloudTrail AWS X-Ray
Amazon FinSpace Amazon Personalize AWS CodeArtifact  
Amazon Forecast Amazon QLDB AWS CodeBuild  
Amazon Fraud Detector Amazon Redshift AWS CodeCommit[1]  

[1] Ne prend en charge que les clés gérées par AWS.

[2] AWS KMS prend en charge les stockages de clés personnalisés sauvegardés par un cluster AWS CloudHSM.

[3] S3 Express One Zone n’est pas intégré à AWS KMS, mais il prend en charge le chiffrement côté serveur avec des clés gérées Amazon S3 (SSE-S3). Pour en savoir plus sur le chiffrement des objets S3 Express One Zone, consultez S3 Express One Zone Data Protection and Encryption.

[4] Pour obtenir la liste des services intégrés à AWS KMS dans la Région AWS Chine (Beijing), opérée par Sinnet, et la Région AWS Chine (Ningxia), opérée par NWCD, consultez AWS KMS Service integration in China.

Les services AWS non répertoriés ci-dessus chiffrent les données client à l’aide de clés qui appartiennent au service qui les gère.