Chiffrer et déchiffrer des données

Ce document explique comment chiffrer et déchiffrer des données à l'aide de clés Key Management System (KMS) avec la CLI gdcloud.

Ce document s'adresse aux audiences du groupe d'opérateurs d'applications qui doivent effectuer des opérations cryptographiques dans des projets GDC. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.

Avant de commencer

Avant de chiffrer ou de déchiffrer des données, vous devez disposer des autorisations nécessaires et préparer votre environnement.

Demander des rôles IAM

Pour chiffrer et déchiffrer des données, contactez l'administrateur IAM de votre organisation pour demander le rôle Développeur KMS (kms-developer) dans l'espace de noms de votre projet.

Préparer votre environnement

Chiffrer des données

Pour chiffrer des données, utilisez la commande gdcloud kms keys encrypt. Cette commande chiffre un fichier de texte brut donné à l'aide de la clé AEAD et l'écrit dans un fichier de texte chiffré nommé.

  • Pour chiffrer des données, transmettez le nom de la clé et les éléments suivants :

    gdcloud kms keys encrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
      --plaintext-file=PLAINTEXT_PATH \
      --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
      --ciphertext-file=CIPHERTEXT_PATH
    

    Remplacez les variables suivantes :

    • NAMESPACE : espace de noms du projet, par exemple : kms-test1.
    • KEY_NAME : nom de la clé utilisée pour chiffrer le texte brut, par exemple : key-1.
    • PLAINTEXT_PATH : chemin d'accès au fichier contenant le texte brut à chiffrer.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE : fichier facultatif contenant des données authentifiées supplémentaires (AAD). Les AAD sont utilisées pour les vérifications d'intégrité et protègent vos données contre une attaque de type "confused deputy". Les AAD et le texte brut sont limités à 64 Ko chacun.
    • CIPHERTEXT_PATH : chemin d'accès au fichier contenant le texte brut chiffré.

    Une fois la commande exécutée, vous voyez un fichier que vous avez spécifié dans l'indicateur --ciphertext-file et qui contient le contenu chiffré du fichier de texte brut.

Déchiffrer des données

Pour déchiffrer des données, utilisez la commande gdcloud kms keys decrypt. Cette commande déchiffre un fichier de texte chiffré donné à l'aide de la clé AEAD et l'écrit dans un fichier de texte brut nommé.

  • Pour déchiffrer le texte chiffré, transmettez le nom de la clé et les éléments suivants :

    gdcloud kms keys decrypt namespaces/NAMESPACE/aeadKeys/KEY_NAME \
     --ciphertext-file=CIPHERTEXT_PATH \
     --additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE \
     --plaintext-file=PLAINTEXT_PATH
    

    Remplacez les variables suivantes :

    • NAMESPACE : espace de noms du projet.
    • KEY_NAME : nom de la clé utilisée pour chiffrer le texte brut.
    • CIPHERTEXT_PATH : chemin d'accès au fichier que vous souhaitez déchiffrer.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE : fichier facultatif contenant des données authentifiées supplémentaires (AAD). Les AAD sont utilisées pour les vérifications d'intégrité et protègent vos données contre une attaque de type "confused deputy". Les AAD et le texte brut sont limités à 64 Ko chacun.
    • PLAINTEXT_PATH : chemin d'accès au fichier contenant le texte brut déchiffré.

    Une fois la commande exécutée, vous voyez un fichier que vous avez spécifié dans l'indicateur --plaintext-file et qui contient les données déchiffrées.