Chiffrer et déchiffrer des données

Ce document explique comment chiffrer et déchiffrer des données à l'aide de clés KMS (Key Management System) 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 de l'organisation IAM 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 en 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 données authentifiées supplémentaires sont utilisées pour les contrôles d'intégrité et protègent vos données contre une attaque par adjoint confus. La taille des données d'authentification supplémentaires et du texte brut est limitée à 64 Ko.
    • CIPHERTEXT_PATH : chemin d'accès au fichier contenant le texte brut chiffré.

    Après avoir exécuté la commande, vous voyez un fichier que vous avez spécifié dans l'option --ciphertext-file qui contient le contenu chiffré du fichier en 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 données authentifiées supplémentaires sont utilisées pour les contrôles d'intégrité et protègent vos données contre une attaque par substitution d'identité. La taille de l'AAD et du texte brut est limitée à 64 Ko.
    • PLAINTEXT_PATH : chemin d'accès au fichier contenant le texte brut déchiffré.

    Après avoir exécuté la commande, vous verrez un fichier que vous avez spécifié dans l'option --plaintext-file contenant les données déchiffrées.