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 les projets GDC. Pour en savoir plus, consultez Audiences pour la documentation 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 et demandez-lui le rôle Développeur KMS (kms-developer) dans l'espace de noms de votre projet.

Préparer votre environnement

Autorisations requises

Pour obtenir les autorisations nécessaires, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur KMS (kms-developer) dans votre projet.

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). Le contrôle AAD permet de vérifier l'intégrité et de protéger les données contre une attaque de type "confused deputy". L'AAD et le texte brut sont chacun limités à 64 Ko.
    • CIPHERTEXT_PATH : chemin d'accès au fichier contenant le texte brut chiffré.

    Après avoir exécuté la commande, vous verrez un fichier que vous avez spécifié dans l'indicateur --ciphertext-file et 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). Le contrôle AAD permet de vérifier l'intégrité et de protéger les données contre une attaque de type "confused deputy". L'AAD et le texte brut sont chacun limités à 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'indicateur --plaintext-file et qui contient les données déchiffrées.