Importation des clés

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

Présentation

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 l'outil de ligne de commande gcloud pour encapsuler automatiquement la clé, ou vous pouvez encapsuler la clé manuellement.
  • Google Cloud n'a accès à la clé d'encapsulation que dans le cadre 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 contenir 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

Vous pouvez importer une clé en tant que clé Cloud KMS ou clé Cloud HSM en définissant 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 importer dans une clé Cloud External Key Manager (clé avec le 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é. Nous vous recommandons d'utiliser l'encapsulation automatique. Pour obtenir des instructions spécifiques, reportez-vous à la section Importer une 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 juste après dans cette section

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

    1. Tout d'abord, créez une clé et un trousseau de clés de ciblage qui contiendront la tâche d'importation et le matériel de clé importé. À ce stade, la clé de ciblage 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 permet de la désencapsuler lorsqu'elle atteint le projet Google Cloud.

      Cette séparation empêche Google de désencapsuler votre matériel de clé hors de la portée 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 utiliser l'outil gcloud pour encapsuler, transmettre et importer automatiquement la clé, comme décrit à l'étape suivante. Si vous avez des exigences réglementaires ou de conformité pour encapsuler la clé manuellement, vous pouvez le faire maintenant. 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. Pendant trois jours, jusqu'à ce que la tâche d'importation expire, vous pouvez l'utiliser pour effectuer des requêtes d'importation pour importer une ou plusieurs clés. Lors d'une requête d'importation :

    1. Si la clé n'a pas été encapsulée manuellement, le SDK Cloud télécharge la clé publique de la tâche d'importation de Google Cloud vers le système local, puis utilise la clé publique et une clé privée associée au client pour encapsuler le matériel de la 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 clé importée en tant que version de clé primaire.

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

Étape suivante