Rotazione manuale delle chiavi root

Puoi ruotare le tue chiavi rootA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. su richiesta utilizzando IBM Cloud® Hyper Protect Crypto Services.

Quando esegui la rotazione della tua chiave root, ne abbrevi la durata e limiti la quantità di informazioni da essa protetta.

Per saperne di più sul modo in cui la rotazione delle chiavi ti aiuta a soddisfare gli standard del settore e le prassi ottimali crittografiche, vedi Rotazione delle chiavi.

Rotazione delle chiavi root nell'IU

Se preferisci ruotare le chiavi root utilizzando un'interfaccia grafica, puoi utilizzare l'interfaccia utente.

Dopo aver creato o importato le tue chiavi root esistenti nel servizio, completa la seguente procedura per eseguire la rotazione di una chiave:

  1. Accedi all'IU.

  2. Vai a Menù >Elenco delle risorse per visualizzare un elenco delle tue risorse.

  3. Dal tuo elenco risorse IBM Cloud, seleziona la tua istanza di cui è stato eseguito il provisioning di Hyper Protect Crypto Services.

  4. Sul Chiavi KMS pagina, utilizzare il file Chiavi tabella per sfogliare le chiavi del tuo servizio.

  5. Selezionare la chiave che si desidera ruotare e fare clic su Azioni iconaIcona delle azioni per aprire un elenco di opzioni per la chiave.

  6. Dal menu opzioni, fare clic su Ruota tasto.

    Se inizialmente hai fornito il materiale della chiave per la chiave, specifica il nuovo materiale della chiave codificato base64 che vuoi archiviare e gestire nel servizio. Assicurati che il materiale della chiave soddisfi i seguenti requisiti:

    • Deve essere 128, 192 o 256 bit.
    • I byte di dati, ad esempio 32 byte per 256 bit, devo essere codificati utilizzando la codifica base64.
  7. Fare clic su Ruota tasto per confermare.

Rotazione delle chiavi root con l'API

Puoi ruotare una tonalità fondamentale creando a POST chiamata al seguente endpoint.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rotate
  1. Richiama le tue credenziali del servizio e di autenticazione per utilizzare le chiavi nel servizio.

  2. Copia l'ID della chiave root di cui desideri eseguire la rotazione.

    Puoi trovare l'ID per una chiave nella tua istanza del servizio richiamando un elenco delle tue chiavi o accedendo all'IU.

  3. Sostituisci la chiave con il nuovo materiale della chiave immettendo il seguente comando cURL.

    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>"
          }'
    

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

    Tabella 2. Descrive le variabili necessarie per ruotare una chiave specificata in Hyper Protect Crypto Services
    Variabile Descrizione
    region Obbligatorio. L'abbreviazione della regione, come us-south o au-syd, che rappresenta l'area geografica in cui si trova la tua istanza del servizio Hyper Protect Crypto Services. Per ulteriori informazioni, vedere Endpoint del servizio regionale.
    port Obbligatorio. Il numero di porta dell'endpoint API.
    key_ID Obbligatorio. L'identificativo univoco per la chiave root di cui desideri eseguire la rotazione.
    IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includere l'intero contenuto del file IAM token, compreso il valore al portatore, nel filecURL richiesta. Per ulteriori informazioni, vedere Recupero di un token di accesso.
    instance_ID Obbligatorio. L'identificativo univoco che viene assegnato alla tua istanza del servizio Hyper Protect Crypto Services. Per ulteriori informazioni, vedere Recupero di un ID istanza.
    key_ring_ID Facoltativo. L'identificativo univoco del keyring a cui appartiene la chiave. Se non specificato, Hyper Protect Crypto Services ricercherà la chiave in ogni key ring associato all'istanza specificata. Pertanto, si consiglia di specificare l'ID key ring per una richiesta più ottimizzata.

    Nota: l'ID key ring delle chiavi create senza un'intestazione x-kms-key-ring è: default. Per ulteriori informazioni, consultare Gestione dei file di chiavi.

    key_material

    Facoltativo. Il nuovobase64 il materiale della chiave codificata che desideri archiviare e gestire nel servizio. Il valore è obbligatorio se hai inizialmente importato il materiale della chiave quando hai aggiunto la chiave al servizio.

    Per ruotare una chiave inizialmente generata daHyper Protect Crypto Services, ometti il payload attributo e passa un corpo entità della richiesta vuoto. Per ruotare una chiave importata, fornire un materiale della chiave che soddisfi i seguenti requisiti:

    • La chiave deve essere 128, 192 o 256 bit.
    • I byte di dati, ad esempio 32 byte per 256 bit, devo essere codificati utilizzando la codifica base64.

    Una richiesta di rotazione eseguita correttamente restituisce una risposta HTTP 204 No Content, che indica che la tua chiave root è stata sostituita da nuovo materiale della chiave.

  4. Facoltativo: verifica che sia stata eseguita la rotazione della chiave eseguendo la seguente chiamata per sfogliare le chiavi nella tua istanza del servizio Hyper Protect Crypto Services.

    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>' \
    

    Riesamina il valore lastRotateDate nel corpo-entità della risposta per ispezionare la data e l'ora dell'ultima rotazione della tua chiave.

    {
      "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
        }
      ]
    }
    

    L'attributo keyVersion contiene le informazioni di identificazione che descrivono l'ultima versione della chiave root.

    È anche possibile elencare le versioni disponibili per la chiave utilizzando la API del servizio di gestione chiavi Hyper Protect Crypto Services. Per ulteriori informazioni, consultare Visualizzazione delle versioni delle chiave.

Utilizzo di un token di importazione per ruotare una chiave

Se hai inizialmente importato una chiave root utilizzando un token di importazione, puoi ruotare la chiave effettuando una chiamata POST al seguente endpoint.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/rotate
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

    Per ruotare una chiave, è necessario che ti venga assegnato un_ scrittore_ O_ Manager_ policy di accesso per l'istanza o la chiave. Per informazioni su come si mappano i ruoli IAM alle azioni del servizio Hyper Protect Crypto Services, consulta Ruoli di accesso al servizio.

  2. Recupera l'ID della chiave che desideri ruotare.

    È possibile recuperare l'ID per una chiave specifica creando un file GET /v2/keys richiesta o visualizzando le chiavi nell'interfaccia utente.

  3. Crea e richiama un token di importazione.

  4. Utilizza il token di importazione per crittografare il materiale della chiave che vuoi utilizzare per ruotare la chiave esistente.

    Per informazioni su come utilizzare un token di importazione, consulta Esercitazione: creazione e importazione di chiavi di codifica.

  5. Sostituisci la chiave esistente con il nuovo materiale della chiave immettendo il seguente comando cURL.

    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>"
    }'
    

    Sostituisci le variabili nella richiesta di esempio in base alla seguente tabella.

    Tabella 3. Descrive le variabili necessarie per ripristinare le chiavi con laHyper Protect Crypto Services
    Variabile Descrizione
    region Obbligatorio. L'abbreviazione della regione, come us-south o au-syd, che rappresenta l'area geografica in cui si trova la tua istanza del servizio Hyper Protect Crypto Services. Per ulteriori informazioni, vedere Endpoint del servizio regionale.
    port Obbligatorio. Il numero di porta dell'endpoint API.
    key_ID Obbligatorio. L'identificatore univoco della chiave che desideri ruotare.
    IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includere l'intero contenuto del file IAM token, compreso il valore al portatore, nel filecURL richiesta. Per ulteriori informazioni, vedere Recupero di un token di accesso.
    instance_ID Obbligatorio. L'identificativo univoco che viene assegnato alla tua istanza del servizio Hyper Protect Crypto Services. Per ulteriori informazioni, vedere Recupero di un ID istanza.
    key_alias Obbligatorio. Un nome leggibile dall'utente e univoco per una facile identificazione della tua chiave. Per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave.
    key_description Una descrizione estesa della tua chiave. Per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave.
    encrypted_key Obbligatorio. Il nuovo materiale della chiave codificato dal token di importazione. Il valore deve esserebase64 codificato. Assicurarsi che il materiale della chiave soddisfi i seguenti requisiti:

    • La chiave deve essere 128, 192 o 256 bit.
    • I byte di dati, ad esempio 32 byte per 256 bit, devo essere codificati utilizzando la codifica base64.

    Per ulteriori informazioni, vedi Esercitazione: creazione e importazione di chiavi di crittografia.

    key_type Un valore booleano che determina se il materiale della chiave può lasciare il servizio. Quando imposti il extractable attribuire a false, il servizio designa la chiave come chiave root che puoi utilizzare wrap O unwrap operazioni.
    encrypted_nonce Obbligatorio. Il nonce crittografato AES -GCM che garantisce che i bit inviati come parte di una richiesta siano esattamente gli stessi che riceviamo. Il nonce convalida la chiave che si sta ripristinando. Per ulteriori informazioni, vedi Esercitazione: creazione e importazione di chiavi di crittografia.
    iv Obbligatorio. Il vettore di inizializzazione (IV) generato dall'AES-GCM algoritmo quando crittografi un nonce. Questo valore viene utilizzato per decodificare la chiave per l'archiviazione nel sistema Hyper Protect Crypto Services. Per ulteriori informazioni, vedi Esercitazione: creazione e importazione di chiavi di crittografia.

    Una richiesta di rotazione riuscita restituisce un HTTP 204 No Content risposta, che indica che la chiave root è stata sostituita dal nuovo materiale della chiave.

  6. Facoltativo: verifica che la chiave sia stata ruotata richiamando i dettagli sulla chiave.

    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'
    

    Rivedi il lastRotateDate E keyVersion valori nel corpo dell'entità della risposta per controllare la data e l'ora dell'ultima rotazione della chiave.

    Puoi anche elencare le versioni disponibili per la chiave utilizzando l'API Hyper Protect Crypto Services. Per ulteriori informazioni, vedi Visualizzazione delle versioni delle chiavi.

Operazioni successive