IBM Cloud Docs
Rewrapping von Datenverschlüsselung mit Rootschlüsseln durchführen

Rewrapping von Datenverschlüsselung mit Rootschlüsseln durchführen

Verschlüsseln Sie Ihre Datenverschlüsselungsschlüssel mithilfe der API des IBM Cloud® Hyper Protect Crypto Services-Schlüsselmanagementservice erneut.

Wenn Sie einen Rootschlüssel in Hyper Protect Crypto Services rotieren, stehen neue Verschlüsselungsschlüsselinformationen zum Schutz der Datenverschlüsselungsschlüssel (DEKs) zur Verfügung, die dem Rootschlüssel zugeordnet sind. Mit der rewrap-API können Sie Ihre DEKS erneut verschlüsseln oder umschließen, ohne die Schlüssel in ihrem Klartextformat zugänglich zu machen.

Informationen zur Nutzung der Envelope-Verschlüsselung zur Kontrolle der Sicherheit ruhender Daten in der Cloud finden Sie im Abschnitt zum Schutz von Daten anhand der Envelope-Verschlüsselung.

Rewrapping für Schlüssel über API durchführen

Sie können einen angegebenen Datenverschlüsselungsschlüssel mit einem Rootschlüssel, den Sie in Hyper Protect Crypto Servicesverwalten, erneut verschlüsseln, ohne den DEK im Klartextformat zugänglich zu machen.

Zum Rewrapping von Schlüsseln werden die Aufrufe unwrap und wrap für den Service kombiniert. Sie können beispielsweise eine Operation rewrap emulieren, indem Sie zuerst die API für unwrap aufrufen, um auf einen Datenverschlüsselungsschlüssel zuzugreifen, und dann die API wrap aufrufen, um den Datenverschlüsselungsschlüssel anhand der neuesten Informationen zum Rootschlüssel erneut zu verschlüsseln.

Nach dem Wechseln eines Rootschlüssels im Service können Sie für den Datenverschlüsselungsschlüssel, der dem Rootschlüssel zugeordnet ist, ein Rewrapping durchführen, indem Sie einen POST-Aufruf an den folgenden Endpunkt absetzen.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap
  1. Rufen Sie Ihren Service- und Authentifizierungsnachweis ab, um mit den Schlüsseln im Service zu arbeiten.

  2. Kopieren Sie die ID des gewechselten Rootschlüssels, mit dem Sie die ursprüngliche Wrapping-Anforderung durchgeführt haben.

    Sie können die ID für einen Schlüssel abrufen, indem Sie eine GET api/v2/keys-Anforderung stellen oder Ihre Schlüssel in der Benutzerschnittstelle anzeigen.

  3. Kopieren Sie den ciphertext-Wert, der während der letzten Wrapping-Anforderung zurückgegeben wurde.

  4. Führen Sie für den Schlüssel ein Rewrapping anhand der aktuellsten Informationen zum Rootschlüssel durch, indem Sie den folgenden cURL-Befehl ausführen.

    curl -X POST \
      'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rewrap' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json' \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H 'correlation-id: <correlation_ID>' \
      -d '{
      "ciphertext": "<encrypted_data_key>"
    }'
    

    Ersetzen Sie die Variablen in der Beispielanforderung entsprechend der folgenden Tabelle.

    Tabelle 1. Beschreibt die Variablen, die zum erneuten Wrapping von Schlüsseln in Hyper Protect Crypto Serviceserforderlich sind.
    Variabel Beschreibung
    region Erforderlich. Die Abkürzung der Region, z. B. us-south oder eu-de, die den geografischen Bereich darstellt, in dem sich Ihre Hyper Protect Crypto Services-Serviceinstanz befindet. Weitere Informationen finden Sie unter Regionale Serviceendpunkte.
    port Erforderlich. Die Portnummer des API-Endpunkts.
    key_ID Erforderlich. Die eindeutige ID für den Rootschlüssel der ursprünglichen Wrapping-Anforderung.
    IAM_token Erforderlich. Ihr IBM Cloud-Zugriffstoken. Nehmen Sie den vollständigen Inhalt des IAM-Tokens einschließlich des Werts für Bearer in die cURL-Anforderung auf. Weitere Informationen finden Sie unter Zugriffstoken abrufen.
    instance_ID Erforderlich. Die eindeutige ID, die Ihrer Hyper Protect Crypto Services-Serviceinstanz zugewiesen ist. Weitere Informationen finden Sie unter Instanz-ID abrufen.
    key_ring_ID Optional. Die eindeutige ID des Schlüsselrings, zu dem der Schlüssel gehört. Wenn diese Option nicht angegeben wird, sucht Hyper Protect Crypto Services nach dem Schlüssel in jedem Schlüsselring, der der angegebenen Instanz zugeordnet ist. Daher wird empfohlen, die Schlüsselring-ID für eine optimierte Anforderung anzugeben.

    Hinweis: Die Schlüsselring-ID der Schlüssel, die ohne den Header x-kms-key-ring erstellt werden, lautet wie folgt: default. Weitere Informationen finden Sie im Abschnitt zum Verwalten von Schlüsselringen.

    correlation_ID Die eindeutige ID, die zum Überwachen und Korrelieren von Transaktionen verwendet wird.
    encrypted_data_key Erforderlich. Der ciphertext-Wert, der von der ursprünglichen Wrapping-Operation zurückgegeben wurde.

    Der Datenverschlüsselungsschlüssel mit dem neuen Wrapping, die ursprüngliche Schlüsselversion (keyVersion), die dem angegebenen Ciphertext zugeordnet ist, und die neueste Schlüsselversion, (rewrappedKeyVersion) die dem neuen Ciphertext zugeordnet ist, werden in dem Entitätshauptteil der Antwort zurückgegeben. Das folgende JSON-Objekt zeigt ein Beispiel für einen zurückgegebenen Wert.

    {
      "ciphertext": "eyJjaX ... h0Ijoi ... c1ZCJ9",
      "keyVersion": {
        "id": "02fd6835-6001-4482-a892-13bd2085f75d"
      },
      "rewrappedKeyVersion": {
        "id": "12e8c9c2-a162-472d-b7d6-8b9a86b815a6"
      }
    }
    

    Speichern und verwenden Sie den neuen Wert für den verschlüsselten Text (ciphertext) für zukünftige Operationen zur Envelope-Verschlüsselung, sodass Ihre Daten durch den aktuellsten Rootschlüssel geschützt werden.