Rootschlüssel manuell wechseln

Sie können Ihre GrundtonartenA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. auf Anfrage durchIBM Cloud®Hyper Protect Crypto Services.

Durch die Rotation des Rootschlüssels wird die Laufzeit des Schlüssels verkürzt und die Menge der durch den betreffenden Schlüssel geschützten Informationen wird begrenzt.

Informationen dazu, wie die Schlüsselrotation Sie bei der Einhaltung von Branchenstandards und bewährten Verfahren für die Verschlüsselung unterstützt, finden Sie unter Schlüsselrotation.

Rotierende Grundtonarten in der Benutzeroberfläche

Wenn Sie Ihre Root-Keys lieber mithilfe einer grafischen Benutzeroberfläche rotieren möchten, können Sie die Benutzeroberfläche verwenden.

Nach dem Erstellen oder Importieren der vorhandenen Rootschlüssel in den Service führen Sie die folgenden Schritte aus, um eine Schlüsselrotation durchzuführen:

  1. Melden Sie sich bei der Benutzerschnittstelle an.

  2. Rufen Sie Menü > Ressourcenliste auf, um eine Liste Ihrer Ressourcen anzuzeigen.

  3. Wählen Sie in Ihrer IBM Cloud-Ressourcenliste die bereitgestellte Instanz von Hyper Protect Crypto Services aus.

  4. Verwenden Sie auf der Seite KMS-Schlüssel die Tabelle Schlüssel, um die Schlüssel in Ihrem Service zu durchsuchen.

  5. Wählen Sie den Schlüssel aus, den Sie rotieren möchten, und klicken Sie auf das Symbol Aktionen Symbol „Aktionen“, um eine Liste mit Optionen für den Schlüssel anzuzeigen.

  6. Klicken Sie im Auswahlmenü auf Schlüssel wechseln.

    Wenn Sie das Schlüsselmaterial für den Schlüssel ursprünglich angegeben haben, geben Sie das neue base64-codierte Schlüsselmaterial an, das Sie im Service speichern und verwalten wollen. Stellen Sie sicher, dass die Schlüsselinformationen die folgenden Anforderungen erfüllen:

    • Muss 128, 192 oder 256 Bit sein.
    • Die Datenbyte, z. B. 32 Byte für 256 Bit, müssen mittels Base64-Codierung codiert werden.
  7. Klicken Sie zur Bestätigung auf Schlüssel wechseln.

Rootschlüssel mit der API wechseln

Sie können einen Rootschlüssel wechseln, 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/rotate
  1. Rufen Sie Ihre Service- und Authentifizierungsnachweise zur Arbeit mit den Schlüsseln im Service ab.

  2. Kopieren Sie die ID des Rootschlüssels, den Sie wechseln wollen.

    Sie finden die ID für einen Schlüssel in Ihrer Serviceinstanz wie folgt:Abrufen einer Liste Ihrer Schlüssel oder durch Zugriff auf die Benutzeroberfläche.

  3. Ersetzen Sie den Schlüssel durch die neuen Schlüsselinformationen, 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/rotate' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H "x-kms-key-ring: <key_ring_ID>" \
      -H 'content-type: application/vnd.ibm.kms.key_action+json' \
      -d '{
            "payload": "<key_material>"
          }'
    

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

    Tabelle 2. Beschreibt die Variablen, die zum Rotieren eines angegebenen Schlüssels erforderlich sind inHyper Protect Crypto Services
    Variabel Beschreibung
    region Erforderlich. Die Regionsabkürzung, z. B. us-south oder au-syd, die das geografische Gebiet 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, für den eine Rotation durchgeführt werden soll.
    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.

    key_material

    Optional. Die neuen, mit Base64-Codierung verschlüsselten Schlüsselinformationen, die im Service gespeichert und verwaltet werden sollen. Dieser Wert ist erforderlich, wenn die Schlüsselinformationen ursprünglich beim Hinzufügen des Schlüssels zum Service importiert wurden.

    Um einen Schlüssel zu rotieren, der ursprünglich generiert wurde vonHyper Protect Crypto Services, lassen Sie die payload Attribut und übergeben Sie einen leeren Anforderungsentitätstext. Um einen importierten Schlüssel zu rotieren, stellen Sie ein Schlüsselmaterial bereit, das die folgenden Anforderungen erfüllt:

    • Der Schlüssel muss 128, 192 oder 256 Bit lang sein.
    • Die Datenbyte, z. B. 32 Byte für 256 Bit, müssen mittels Base64-Codierung codiert werden.

    Eine erfolgreiche Rotationsanforderung gibt die HTTP-Antwort 204 No Content zurück, die bedeutet, dass der Rootschlüssel durch neue Schlüsselinformationen ersetzt wurde.

  4. Optional: Stellen Sie sicher, dass die Schlüsselrotation durchgeführt wurde, indem Sie den folgenden Aufruf ausführen, um die Schlüssel in der Hyper Protect Crypto Services-Serviceinstanz zu durchsuchen.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
    -H 'accept: application/vnd.ibm.collection+json' \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>' \
    

    Überprüfen Sie den Wert für lastRotateDate im Entitätshauptteil der Antwort, um das Datum und die Uhrzeit der letzten Rotation des Schlüssels zu prüfen.

    {
      "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
      },
      "resources": [
        {
          "type": "application/vnd.ibm.kms.key+json",
          "id": "02fd6835-6001-4482-a892-13bd2085f75d",
          "name": "test-root-key",
          "state": 1,
          "extractable": false,
          "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
          "imported": false,
          "creationDate": "2020-03-12T03:50:12Z",
          "createdBy": "...",
          "algorithmType": "AES",
          "algorithmMetadata": {
            "bitLength": "256",
            "mode": "CBC_PAD"
          },
          "algorithmBitSize": 256,
          "algorithmMode": "CBC_PAD",
          "lastUpdateDate": "2020-03-12T03:50:12Z",
          "lastRotateDate": "2020-03-12T03:49:01Z",
          "keyVersion": {
            "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
            "creationDate": "2020-03-12T03:50:12Z"
          },
          "dualAuthDelete": {
            "enabled": false
          },
          "deleted": false
        }
      ]
    }
    

    Das Attribut keyVersion enthält die Identifikationsinformationen, die die letzte Version des Rootschlüssels beschreiben.

    Sie können auch die Versionen auflisten, die für den Schlüssel verfügbar sind, indem Sie die Hyper Protect Crypto Services-Schlüsselmanagementservice-API verwendet haben. Weitere Informationen finden Sie unter Rootschlüsselversionen anzeigen.

Importtoken zum Wechseln eines Schlüssels verwenden

Wenn Sie zu Anfang einen Rootschlüssel mithilfe eines Importtokens importiert haben, können Sie den Schlüssel wechseln, 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/rotate
  1. Rufen Sie Ihre Authentifizierungsnachweise für die Arbeit mit Schlüsseln im Service ab.

    Um einen Schlüssel zu rotieren, muss Ihnen eine Writer- oder Manager-Zugriffsrichtlinie für die Instanz oder den Schlüssel zugewiesen sein. Informationen dazu, wie IAM-Rollen Hyper Protect Crypto Services-Serviceaktionen zugeordnet werden, finden Sie unter Servicezugriffsrollen.

  2. Rufen Sie die ID des Schlüssels ab, den Sie wechseln wollen.

    Sie können die ID für einen angegebenen Schlüssel abrufen, indem Sie GET /v2/keys Anfrage oder indem Sie Ihre Schlüssel in der Benutzeroberfläche anzeigen.

  3. Erstellen Sie ein Importtoken und rufen Sie es ab.

  4. Verwenden Sie das Importtoken, um die Schlüsselinformationen zu verschlüsseln, die Sie zum Wechseln des vorhandenen Schlüssels verwenden wollen.

    Informationen zur Verwendung eines Importtokens finden Sie im Lernprogramm: Verschlüsselungsschlüssel erstellen und importieren.

  5. Ersetzen Sie den vorhandenen Schlüssel durch die neuen Schlüsselinformationen, 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/rotate \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json' \
      -d '{
      "type": "application/vnd.ibm.kms.key+json",
      "name": "<key_alias>",
      "description": "<key_description>",
      "extractable": <key_type>,
      "payload": "<encrypted_key>",
      "encryptionAlgorithm": "RSAES_OAEP_SHA_1",
      "encryptedNonce": "<encrypted_nonce>",
      "iv": "<iv>"
    }'
    

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

    Tabelle 3. Beschreibt die Variablen, die zum Wiederherstellen von Schlüsseln mit derHyper Protect Crypto Services-API erforderlich sind
    Variabel Beschreibung
    region Erforderlich. Die Regionsabkürzung, z. B. us-south oder au-syd, die das geografische Gebiet 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 Schlüssel, den Sie wechseln wollen.
    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_alias Erforderlich. Ein eindeutiger, lesbarer Name zur einfachen Identifikation Ihres Schlüssels. Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden.
    key_description Eine erweiterte Beschreibung des Schlüssels. Aus Datenschutzgründen dürfen keine personenbezogenen Daten als Metadaten für den Schlüssel gespeichert werden.
    encrypted_key Erforderlich. Die neuen Schlüsselinformationen, die durch das Importtoken verschlüsselt werden. Der Wert muss base64-codiert sein. Stellen Sie sicher, dass das Schlüsselmaterial die folgenden Voraussetzungen erfüllt:

    • Der Schlüssel muss 128, 192 oder 256 Bit lang sein
    • Die Datenbyte, z. B. 32 Byte für 256 Bit, müssen mittels Base64-Codierung codiert werden.

    Weitere Informationen finden Sie im Lernprogramm: Verschlüsselungsschlüssel erstellen und importieren.

    key_type Ein boolescher Wert, der bestimmt, ob die Schlüsselinformationen den Service verlassen dürfen. Wenn Sie die extractable zuschreiben false kennzeichnet der Dienst den Schlüssel als Stammschlüssel, den Sie verwenden können für wrap oder unwrap Operationen.
    encrypted_nonce Erforderlich. Der mit dem AES-GCM-Algorithmus verschlüsselte Nonce-Wert, der sicherstellt, dass die Bit, die Sie als Teil einer Anforderung senden, genau mit denen übereinstimmen, die vom Service empfangen werden. Die Nonce validiert den Schlüssel, den Sie wiederherstellen. Weitere Informationen finden Sie unter Lernprogramm: Verschlüsselungsschlüssel erstellen und importieren.
    iv Erforderlich. Der Initialisierungsvektor (IV), der durch den AES-GCM-Algorithmus generiert wird, wenn Sie eine Nonce verschlüsseln. Dieser Wert wird zum Decodieren des Schlüssels für das Speichern im Hyper Protect Crypto Services-System verwendet. Weitere Informationen finden Sie unter Lernprogramm: Verschlüsselungsschlüssel erstellen und importieren.

    Eine erfolgreiche Rotationsanforderung gibt die HTTP-Antwort 204 No Content zurück, die bedeutet, dass der Rootschlüssel durch die neuen Schlüsselinformationen ersetzt wurde.

  6. Optional: Überprüfen Sie, ob der Schlüssel gewechselt wurde, indem Sie Details zu dem Schlüssel abrufen.

    curl -X GET \
    https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata \
    -H 'authorization: Bearer <IAM_token>' \
    -H 'bluemix-instance: <instance_ID>'
    -H 'accept: application/vnd.ibm.kms.key+json'
    

    Überprüfen Sie die Werte für lastRotateDate und keyVersion im Entitätshauptteil der Antwort, um das Datum und die Uhrzeit der letzten Rotation des Schlüssels zu prüfen.

    Sie können die Versionen, die für den Schlüssel verfügbar sind, auch mithilfe der Hyper Protect Crypto Services-API auflisten. Weitere Informationen finden Sie unter Rootschlüsselversionen anzeigen.

Nächste Schritte