![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/04/Photo-Arnaud-Redon.jpg)
Cet article a été rédigé par : Arnaud Redon – Solution Architect – Expert / Director • Cloud & Devops – Devoteam G Cloud
Dans cet article, il se penche sur les principes de chiffrement à l’œuvre au sein de la plateforme de Google. Un vue d’ensemble qui permet de mieux comprendre les options offertes par le service pour la gestion de ses clés de chiffrement.
Introduction
Google Cloud KMS ou Key Management Service est une solution permettant de gérer des clés de chiffrement pour ses services Google Cloud et que les entreprises peuvent utiliser pour mettre en œuvre des fonctions cryptographiques. En d’autres termes, Google Cloud Key Management Service (KMS) facilite la création, l’utilisation et la gestion de clés de chiffrement et permet d’effectuer des opérations cryptographiques de manière sécurisée.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-I-Article-Encryption-Arnaud-R.png)
Lorsque des données sont stockées dans Google Cloud, elles sont chiffrées par défaut au niveau du stockage.
Ainsi, avec la plateforme Cloud Key Management Service (Cloud KMS), les utilisateurs peuvent mieux contrôler la manière dont leurs données entreposées sont chiffrées et dont leurs clés de chiffrement sont gérées. KMS offre une solution de gestion des clés hautement sécurisée et évolutive qui répond aux exigences d’un large éventail d’applications et d’industries.
Elle permet de créer et d’utiliser des clés de chiffrement pour les services et applications Cloud et contribue à garantir la protection des données, qu’elles soient au repos ou en transit.
Pour la création des clés, Cloud KMS propose les options suivantes :
- Le backend du logiciel Cloud KMS offre la possibilité de chiffrer les données avec une clé symétrique ou asymétrique qui peut être contrôlée.
- Les modules de sécurité matériels (HSM) du Cloud.
- Les Clés de chiffrement gérées par le client (CMEK) : option permettant de sélectionner les clés générées par Cloud KMS avec d’autres services Google Cloud et de configurer la période de rotation des clés.
- Le Cloud External Key Manager (EKM)
- Les Customer-supplied encryption keys (CSEK)
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-II-Article-Encryption-Arnaud-R.png)
Principales caractéristiques de KMS :
- Gestion des clés : KMS permet de créer, de gérer et d’utiliser des clés de chiffrement pour les services et applications Cloud.
- Rotation des clés : KMS met en place les règles de rotation des clés qui permettent d’effectuer une rotation régulière pour améliorer la sécurité.
- Intégration : KMS s’intègre aux autres services de Google Cloud Platform, tels que Cloud Storage, BigQuery et Compute Engine.
- Contrôle d’accès : KMS assure un contrôle d’accès granulaire qui permet de contrôler qui peut créer, utiliser et gérer les clés de chiffrement.
- Journalisation des audits : KMS propose des journaux d’audit pour suivre l’utilisation des clés et sa conformité aux politiques de sécurité.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-III-Article-Encryption-Arnaud-R.png)
Principes de chiffrement avec KMS
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-IV-Article-Encryption-Arnaud-R.png)
- DEK : Data Encryption Key – utilisée pour chiffrer les données.
- KEK : Key Encryption Key – utilisée pour chiffrer, ou encapsuler une clé de chiffrement de données.
- Clé principale KMS : la clé utilisée pour chiffrer la KEK. Cette clé est stockée en mémoire. La clé principale du KMS (KMS Master Key) est sauvegardée physiquement et effectue le chiffrement des clés des utilisateurs.
- Root KMS : le service de gestion de clés de Google.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-V-Article-Encryption-Arnaud-R.png)
1. CMEK (Customer Managed Encryption Key) : deux options
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-VI-Article-Encryption-Arnaud-R.png)
Backend logiciel de Cloud KMS
La plupart des KEK servant à chiffrer les blocs de données sont générés dans Keystore, les autres l’étant dans les services de stockage. Tous les KEK sont générés avec la librairie cryptographique de Google à l’aide d’un générateur de nombres aléatoires (RNG) conçu par Google. Ce RNG est basé sur le NIST 800-90Ar1 CTR-DRBG et génère une clé AES-256.
L’utilisation des KEK est gérée par des ACL dans Keystore pour chaque clé, avec des règles par clé. Seuls les services et utilisateurs Google autorisés peuvent y accéder. L’utilisation de chaque clé est monitorée au niveau de l’opération individuelle qui nécessite cette clé. Ainsi, chaque fois qu’un utilisateur utilise une clé, il est authentifié et enregistré. Tous les accès aux données sont contrôlés dans le cadre des règles générales de sécurité et de confidentialité de Google.
La Keystore est protégée par une clé racine nommée Keystore Master Key, qui englobe toutes les KEK dans Keystore. Cette clé est de type AES-256 et est elle-même stockée dans un autre service de gestion des clés, appelé Root Keystore ; la Keystore Master Key est stockée dans une infrastructure peer-to-peer, appelée Root Keystore Master Key Distributor.
Ce dernier ne conserve les clés qu’en mémoire vive, sur les mêmes machines que Root Keystore, et utilise la journalisation pour vérifier leur bonne utilisation.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-VII-Article-Encryption-Arnaud-R.png)
Modules de sécurité Cloud Hardware (HSM)
À l’usage de Cloud HSM, les données sont strictement isolées de celles des autres utilisateurs et services de Google Cloud. L’API du plan de données de Cloud HSM, qui fait partie de Cloud Key Management Service API, permet de manager les clés sous HSM de manière programmatique.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-VIII-Article-Encryption-Arnaud-R.png)
2. Gestion des clés externes (EKM)
Similaire à une clé gérée via Cloud HSM, elle offre en plus la possibilité d’adosser le CMEK à un HSM tiers dans le Cloud. Une option conseillée aux clients qui ne feraient pas confiance à Google Cloud.
Elle permet classiquement de chiffrer les données avec la CMEK comme c’était déjà le cas, mais à chaque utilisation de cette clé, elle fait un appel API à un autre Cloud HSM pour la gestion du chiffrement. La KEK est stockée dans le HMS Third Party.
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-IX-Article-Encryption-Arnaud-R.png)
3. Clé de chiffrement fournie par le client (CSEK)
Les clés privées ne sont pas stockées dans GCP. Le client crée une clé encapsulée avec sa clé privée et la clé publique GCP GCE/GCS. Pour chaque demande, il fournit la clé de cryptage AES256 pour accéder aux données. Disponible pour GCE ou GCS (elle ne peut être utilisée pour d’autres services gérés par GCP).
![](https://gcloud.devoteam.com/wp-content/uploads/sites/32/2024/06/Image-X-Article-Encryption-Arnaud-R.png)
Google Cloud KMS, ou Key Management Service, est une solution essentielle pour les entreprises qui cherchent à gérer leurs clés de chiffrement de manière sécurisée et efficiente dans l’environnement Google Cloud. Ses fonctionnalités polyvalentes et son intégration transparente avec les services Google Cloud permettent aux entreprises de protéger leurs données sensibles, de respecter les exigences réglementaires et de stimuler l’innovation.
Vous souhaitez en savoir plus ?