Daten verschlüsseln und entschlüsseln

In diesem Dokument wird beschrieben, wie Sie Daten mit KMS-Schlüsseln (Key Management System) mit der gdcloud-Befehlszeile verschlüsseln und entschlüsseln.

Dieses Dokument richtet sich an Nutzer in der Gruppe der Anwendungsoperatoren, die kryptografische Vorgänge in GDC-Projekten ausführen müssen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Bevor Sie Daten verschlüsseln oder entschlüsseln, müssen Sie die erforderlichen Berechtigungen haben und Ihre Umgebung vorbereiten.

IAM-Rollen anfordern

Wenn Sie Daten verschlüsseln und entschlüsseln möchten, bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle KMS-Entwickler (kms-developer) in Ihrem Projekt-Namespace zuzuweisen.

Umgebung vorbereiten

Erforderliche Berechtigungen

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „KMS-Entwickler“ (kms-developer) in Ihrem Projekt zuzuweisen, um die erforderlichen Berechtigungen zu erhalten.

Daten verschlüsseln

Verwenden Sie den Befehl gdcloud kms keys encrypt, um Daten zu verschlüsseln. Mit diesem Befehl wird eine angegebene Klartextdatei mit dem Schlüssel AEAD verschlüsselt und in eine Chiffretextdatei mit dem angegebenen Namen geschrieben.

  • Um Daten zu verschlüsseln, übergeben Sie den Schlüsselnamen und Folgendes:

    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
    

    Ersetzen Sie die folgenden Variablen:

    • NAMESPACE: der Projekt-Namespace, z. B. kms-test1.
    • KEY_NAME: der Name des Schlüssels, mit dem der Klartext verschlüsselt wird, z. B. key-1.
    • PLAINTEXT_PATH: Der Pfad zur Datei, die den zu verschlüsselnden Klartext enthält.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Eine optionale Datei, die zusätzliche authentifizierte Daten (AAD) enthält. AAD werden für Integritätsprüfungen verwendet und schützen Ihre Daten vor einer Confused Deputy Attack. AAD und Klartext haben jeweils eine Größenbeschränkung von 64 KB.
    • CIPHERTEXT_PATH: Der Pfad zur Datei, die den verschlüsselten Klartext enthält.

    Nachdem Sie den Befehl ausgeführt haben, wird eine Datei angezeigt, die Sie im Flag --ciphertext-file angegeben haben und die den verschlüsselten Inhalt der Klartextdatei enthält.

Daten entschlüsseln

Verwenden Sie den Befehl gdcloud kms keys decrypt, um Daten zu entschlüsseln. Mit diesem Befehl wird eine bestimmte Geheimtextdatei mit dem Schlüssel AEAD entschlüsselt und in eine benannte Klartextdatei geschrieben.

  • Um Geheimtext zu entschlüsseln, übergeben Sie den Schlüsselnamen und Folgendes:

    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
    

    Ersetzen Sie die folgenden Variablen:

    • NAMESPACE: der Projekt-Namespace.
    • KEY_NAME: der Name des Schlüssels, mit dem der Klartext verschlüsselt wird.
    • CIPHERTEXT_PATH: Der Pfad der Datei, die Sie entschlüsseln möchten.
    • ADDITIONAL_AUTHENTICATED_DATA_FILE: Eine optionale Datei, die zusätzliche authentifizierte Daten (AAD) enthält. AAD werden für Integritätsprüfungen verwendet und schützen Ihre Daten vor einer Confused Deputy Attack. AAD und Klartext haben jeweils eine Größenbeschränkung von 64 KB.
    • PLAINTEXT_PATH: Der Pfad zur Datei, die den entschlüsselten Klartext enthält.

    Nachdem Sie den Befehl ausgeführt haben, wird eine Datei angezeigt, die Sie im Flag --plaintext-file angegeben haben und die die entschlüsselten Daten enthält.