Importation des clés

Cet article présente des informations conceptuelles sur l'importation de clés dans Cloud Key Management Service en tant que nouvelles versions de clé. Pour obtenir des instructions détaillées, consultez la page Importer une version de clé.

Introduction

Il est possible que vous utilisiez des clés cryptographiques existantes créées dans vos locaux ou dans un système de gestion des clés externe. Si vous migrez une application vers Google Cloud ou si vous ajoutez une compatibilité cryptographique à une application Google Cloud existante, vous pouvez importer les clés correspondantes dans Cloud KMS.

  • Vous pouvez importer des clés Cloud HSM ou des clés logicielles dans Cloud KMS.
  • Le matériel de la clé est encapsulé pour assurer sa protection pendant le transport. Vous pouvez utiliser la Google Cloud CLI pour encapsuler automatiquement la clé ou l'encapsuler manuellement.
  • Google Cloud n'a accès à la clé d'encapsulation que dans le champ d'application de la tâche d'importation. Pour les clés Cloud HSM, la clé d'encapsulation ne réside jamais en dehors de Cloud HSM.

Cette rubrique fournit des informations sur les limites et les conditions requises pour l'importation de clés, ainsi que sur le fonctionnement de l'importation de clés.

Limites et exigences

Consultez ces sections pour vérifier que vos clés peuvent être importées dans les clés Cloud KMS ou Cloud HSM.

Formats de clé acceptés

  • Les clés symétriques pour le chiffrement doivent compter 16 octets (pour le chiffrement symétrique brut uniquement) ou 32 octets de données binaires, et ne doivent pas être encodées. Si votre clé est encodée en hexadécimal ou en base64, vous devez la décoder avant d'essayer de l'importer.

  • Les clés symétriques pour la signature (clés MAC) doivent avoir une longueur égale à la longueur de sortie de la fonction de hachage cryptographique utilisée (par exemple, les clés HMAC-SHA256 doivent avoir une longueur de 32 octets), et ne doivent pas être encodées. Si votre clé est encodée en hexadécimal ou en base64, vous devez la décoder avant d'essayer de l'importer.

  • Les clés asymétriques pour le chiffrement ou la signature doivent être au format PKCS #8 et encodées au format DER. Le format PCKS #8 est défini dans la norme RFC 5208. L'encodage au format DER est défini dans la norme International Telecommunications Union X.680. Les clés asymétriques doivent utiliser l'une des combinaisons de longueur et d'algorithme acceptées par Cloud KMS.

.

Certains aspects d'une clé, tels que sa longueur, ne peuvent pas être modifiés après sa création. Dans ce cas, la clé ne peut pas être importée dans Cloud KMS.

Pour vérifier et reformater votre clé pour l'importation, reportez-vous à la section Formater des clés pour l'importation.

Niveaux de protection compatibles

Pour importer une clé dans une clé Cloud KMS ou Cloud HSM, définissez le niveau de protection de la clé sur SOFTWARE ou HSM. Les clés Cloud HSM entraînent des coûts supplémentaires. Vous ne pouvez pas effectuer d'importation dans une clé Cloud External Key Manager (une clé dotée du niveau de protection EXTERNAL).

Tailles de clés d'encapsulation compatibles

Lorsque vous créez une tâche d'importation, vous pouvez contrôler la taille de la clé d'encapsulation utilisée pour protéger votre clé en transit vers Google en configurant la méthode d'importation de la tâche d'importation. La taille par défaut de la clé d'encapsulation est 3072. Si vous avez des exigences spécifiques, vous pouvez configurer la tâche d'importation pour utiliser une clé 4096 bits à la place.

Vous pouvez en savoir plus sur les algorithmes utilisés pour l'encapsulation de clé ou sur la configuration d'une tâche d'importation.

Fonctionnement de l'importation de la clé

Cette section illustre ce qui se passe lorsque vous importez une clé. Certaines parties du flux sont différentes si vous utilisez l'encapsulation automatique ou si vous encapsulez manuellement la clé. L'utilisation de l'encapsulation automatique est recommandée. Pour obtenir des instructions spécifiques, consultez la page Importer une version de clé. Pour obtenir des instructions spécifiques sur l'encapsulation manuelle de votre clé avant l'importation, consultez la section Encapsuler une clé à l'aide d'OpenSSL sur Linux.

Le schéma suivant illustre le processus d'importation de clé à l'aide de l'encapsulation automatique des clés. Les phases présentées dans le schéma sont décrites dans cette section.

Flux d'importation, décrit dans cette section

  1. Préparez-vous à importer des clés.

    1. Tout d'abord, vous devez créer un trousseau de clés et une clé cibles qui contiendront à terme la tâche d'importation et le matériel de clé importé. À ce stade, la clé cible ne contient aucune version de clé.

    2. Ensuite, vous créez une tâche d'importation. La tâche d'importation définit le trousseau de clés de ciblage et la clé du matériel de clé importé. La tâche d'importation définit également la méthode d'importation, qui est l'algorithme utilisé pour créer la clé d'encapsulation qui protège le matériel de la clé lors des requêtes d'importation.

      • La clé publique est utilisée pour encapsuler la clé à importer sur le client.
      • La clé privée est stockée dans Google Cloud et sert à la désencapsuler une fois qu'elle a atteint le projet Google Cloud.

      Cette séparation empêche Google de désencapsuler le matériel de clé en dehors du champ d'application de la tâche d'importation.

    3. La clé doit être encapsulée de manière cryptographique avant d'être transmise à Google. La plupart des utilisateurs peuvent se servir de la gcloud CLI pour encapsuler, transmettre et importer automatiquement la clé, comme décrit à l'étape suivante. Si vous avez des exigences réglementaires ou de conformité exigeant l'encapsulation manuelle de la clé, vous pouvez le faire à ce stade. Pour encapsuler la clé manuellement sur le système local :

      1. Configurez OpenSSL.
      2. Une fois par tâche d'importation, téléchargez la clé d'encapsulation associée à la tâche d'importation.
      3. Une fois par clé, définissez plusieurs variables d'environnement et encapsulez la clé.
  2. Vous pouvez effectuer des requêtes pour importer une ou plusieurs clés pendant une durée maximale de trois jours, jusqu'à l'expiration du job d'importation. Lors d'une requête d'importation :

    1. Si la clé n'a pas été encapsulée manuellement, la Google Cloud CLI télécharge la clé publique de la tâche d'importation depuis Google Cloud vers le système local, puis utilise la clé publique, ainsi qu'une clé privée associée au client, pour encapsuler le matériel de clé locale.
    2. Le matériel de la clé encapsulée est transmis au projet Google Cloud.
    3. Le matériel de la clé est désencapsulé à l'aide de la clé privée de la tâche d'importation et inséré en tant que nouvelle version de la clé de ciblage sur le trousseau de clés de ciblage. Il s'agit d'une opération atomique.
    4. Pour les clés symétriques, vous définissez la version de clé importée en tant que version de clé primaire.

Une fois la requête d'importation terminée, vous pouvez utiliser la version de clé importée pour protéger les données dans Google Cloud.

Étapes suivantes