Rotazione manuale dei tasti

È possibile ruotare manualmente le chiavi root utilizzando IBM® Key Protect for IBM Cloud®.

Quando si ruota la chiave principale, si aggiunge nuovo materiale alla chiave. Questo processo crea una nuova versione della chiave che può essere utilizzata per il rewrapping o la ricrittografia dei dati.

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 tue chiavi di crittografia.

La rotazione è disponibile solo per le chiavi root. Per ulteriori informazioni sulle tue opzioni di rotazione della chiave in Key Protect, vedi Confronto delle tue opzioni di rotazione della chiave.

Rotazione dei tasti radice nella console

Dopo aver creato una chiave principale, completare i passaggi seguenti per ruotare la chiave:

  1. Accedere alla console IBM Cloud.

  2. Vai su Menu > Elenco risorse per visualizzare l'elenco delle tue risorse.

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

  4. Nella pagina dei dettagli dell'applicazione, utilizza la tabella Keys per sfogliare le chiavi nel tuo servizio. Se hai molte chiavi, usa le barre di ricerca per filtrare le chiavi attivate (poiché gli altri tipi di chiavi non possono essere ruotati), le chiavi presenti in un determinato portachiavi e quelle con un alias specifico.

  5. Una volta individuata la chiave, clicca sull'icona Azioni (⋯) per aprire un elenco di opzioni relative alla chiave che desideri ruotare.

  6. Dal menu delle opzioni, fare clic su "Ruota " per aprire il pannello laterale " Ruota".

  7. Da qui è possibile ruotare la chiave una volta cliccando su “Ruota ”. Se questa chiave è stata importata, è necessario fornire un nuovo materiale di chiave.

    È inoltre possibile impostare una politica di rotazione per questa chiave con un intervallo a propria scelta:

    • Torna alle opzioni principali e fai clic su “Modifica criteri di rotazione
    • Abilita la politica
    • Seleziona l'intervallo di 30 giorni che desideri per la rotazione delle chiavi

    Se, ad esempio, si imposta la rotazione di una chiave ogni 2 mesi, questa verrà ruotata ogni 60 giorni, indipendentemente dal numero di giorni di un determinato mese.

  8. Fai clic su “Salva” per applicare questa politica.

Per informazioni sull'impostazione di un criterio di rotazione per l'istanza che imposta un criterio di rotazione su ogni chiave creata successivamente, consultare Impostazione di un criterio di rotazione.

Solo per le chiavi radice importate, è necessario aggiungere il materiale della chiave codificata base64 che si desidera memorizzare e gestire nel servizio. Assicurarsi che il materiale della chiave sia a 128, 192 o 256 bit e che i byte di dati (ad esempio, 32 byte per 256 bit) siano codificati utilizzando la codifica base64.

Rotazione delle chiavi root tramite l'API

È possibile ruotare una chiave principale effettuando una chiamata di tipo " POST " (ruotare chiave) all'endpoint seguente.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/actions/rotate
  1. Recuperare le credenziali di autenticazione per lavorare con le chiavi nel servizio.

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

    È possibile trovare l'ID di una chiave nel file istanza Key Protect recuperando l'elenco delle chiavi recuperando un elenco di chiavi, oppure accedendo all'istanza Key Protect cruscotto.

  3. Ruotare la chiave fornendo un nuovo materiale della chiave come segue: curl .

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/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.

Variabili per ruotare una chiave
Variabile Descrizione
regione Obbligatorio. L'abbreviazione della regione, ad esempio us-south o eu-gb, che indica l'area geografica in cui si trova la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
keyID_or_alias Obbligatorio. L'identificatore univoco o l'alias della chiave principale che si desidera sostituire.
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi l'intero contenuto del token IAM, compreso il valore Bearer, nella richiesta curl.
Per ulteriori informazioni, consultare la sezione " Ottenere un token di accesso ".
instance_id Obbligatorio. L'identificatore univoco assegnato alla tua istanza del servizio Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".
iD_anello_chiave Facoltativo. L'identificatore univoco del portachiavi di cui fa parte la chiave. Se non specificato, Key Protect cercherà la chiave in ogni portachiavi associato all'istanza specificata. Si consiglia di specificare l'ID del portachiavi per una richiesta più ottimizzata

Nota: L'ID dell'anello di chiavi creato senza intestazione x-kms-key-ring è: default

For more information, see Tasti di raggruppamento.
materiale_chiave Facoltativo. Il nuovo materiale crittografico codificato con l' base64, che si desidera 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 generata inizialmente da Key Protect, ometti l'attributo "payload" e invia un corpo dell'entità della richiesta vuoto. Per ruotare una chiave importata, fornire un materiale chiave che soddisfi i seguenti requisiti

chiave deve essere di 128, 192 o 256 bit. I byte di dati (ad esempio, 32 byte per 256 bit) devono essere codificati utilizzando la codific 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.

Opzionale: Verificare la rotazione delle chiavi

È possibile verificare che una chiave sia stata ruotata inviando una richiesta di elenco delle chiavi:

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Dove <instance_ID> è il nome dell'istanza e <IAM_token> è il token IAM.

Controlla i valori di “ lastRotateDate ” e “ keyVersion ” nel corpo dell’entità della risposta per verificare 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:kms: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": "Deprecated",
            "algorithmMetadata": {
                "bitLength": "256",
                "mode": "Deprecated"
            },
            "algorithmBitSize": 256,
            "algorithmMode": "Deprecated",
            "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 informazioni di identificazione che descrivono l'ultima versione della chiave principale.

È inoltre possibile elencare le versioni disponibili per la chiave utilizzando l'opzione Key Protect API. Per saperne di più, vedere Visualizzazione delle versioni chiave.

Utilizzo di un token di importazione per ruotare una chiave

Se inizialmente si è importata una chiave radice utilizzando un token di importazione, è possibile ruotare la chiave la chiave effettuando una chiamata POST al seguente endpoint.

https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/actions/rotate
  1. Richiama le tue credenziali di autenticazione per lavorare con le chiavi nel servizio.

    Per ruotare una chiave, è necessario che ti sia stata assegnata una politica di accesso di tipo “ Scrittore ” o “ Responsabile ” per l’istanza o la chiave. Per conoscere la corrispondenza dei ruoli IAM con Key Protect azioni di servizio, controllare Ruoli di accesso al servizio.

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

    È possibile recuperare l'ID di una chiave specificata eseguendo un'operazione di GET /v2/keys o visualizzando le chiavi nella sezione cruscotto Key Protect.

  3. Crea e recupera un token di importazione.

  4. Utilizzare il token di importazione per crittografare il materiale della chiave che si vuole utilizzare per ruotare la chiave esistente.

    Per imparare a usare un token di importazione, vedere Esercitazione: Creare e importare chiavi di crittografia.

  5. Sostituire la chiave esistente con il nuovo materiale della chiave, eseguendo il seguente comando curl .

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/actions/rotate" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -d '{
                "type": "application/vnd.ibm.kms.key+json",
                "name": "<key_alias>",
                "description": "<key_description>",
                "extractable": <key_type>,
                "payload": "<encrypted_key>",
                "encryptionAlgorithm": "RSAES_OAEP_SHA_256",
                "encryptedNonce": "<encrypted_nonce>",
                "iv": "<iv>"
            }'
    

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

Variabili per la rotazione di una chiave con un token di importazione
Variabile Descrizione
regione Obbligatorio. L'abbreviazione della regione, ad esempio us-south o eu-gb, che indica l'area geografica in cui risiede la tua istanza di Key Protect.

Per ulteriori informazioni, consultare la sezione " Endpoint di servizio regionali ".
keyID_or_alias Obbligatorio. L'identificatore univoco o l'alias della chiave che si desidera sostituire.
IAM_token Obbligatorio. Il tuo token di accesso IBM Cloud. Includi l'intero contenuto del token IAM, compreso il valore Bearer, nella richiesta curl.

Per ulteriori informazioni, consulta la sezione " Ottenere un token di accesso ".
instance_id Obbligatorio. L'identificatore univoco assegnato alla tua istanza del servizio Key Protect.

Per ulteriori informazioni, consultare la sezione " Come recuperare l'ID di un'istanza ".
chiave_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.
descrizione_chiave Facoltativo. Una descrizione estesa della tua chiave. Per proteggere la tua privacy, non memorizzare i tuoi dati personali come metadati per la tua chiave.
chiave_crittografata Obbligatorio. Il materiale di crittografia che si desidera archiviare e gestire nel servizio. Il valore deve essere codificato secondo lo standard base64. Assicurarsi che il materiale della chiave soddisfi i seguenti requisiti:

La chiave deve essere di 128, 192 o 256 bit. I byte di dati (ad esempio, 32 byte per 256 bit) devono essere codificati utilizzando la codific base64.
tipo_chiave Facoltativo. Un valore booleano che determina se il materiale della chiave può lasciare il servizio.

Quando si imposta l'attributo "extractable" su "false", la chiave diventa una chiave radice che è possibile utilizzare per le operazioni di "wrap" o "unwrap".
criptato_nonce Obbligatorio. Il nonce crittografato GCM che garantisce che i bit inviati dall'utente come parte di una richiesta siano esattamente uguali a quelli ricevuti. Il nonce convalida la chiave che si sta ripristinando

To learn more, see Esercitazione: Creazione e importazione di chiavi di crittografia.
IV (vettore di inizializzazione) Obbligatorio. Il vettore di inizializzazione (IV) generato dall'algoritmo AES- GCM e quando si crittografa un nonce. Questo valore viene utilizzato per decodificare la chiave per la memorizzazione nel sistema Key Protect

To learn more, see Esercitazione: Creazione e importazione di chiavi di crittografia.

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.

Facoltativo: Verificare la rotazione della chiave del token di importazione

È possibile verificare che una chiave importata tramite token d'importazione sia stata ruotata inviando una richiesta di ottenere i metadati della chiave:

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>/metadata" \
    -H "accept: application/vnd.ibm.kms.key+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Dove <keyID_or_alias> è l'ID o l'alias della chiave, <instance_ID> è il nome della vostra istanza e <IAM_token> è il vostro token IAM.

Controlla i valori di “ lastRotateDate ” e “ keyVersion ” nel corpo dell’entità della risposta per verificare la data e l’ora dell’ultima rotazione della tua chiave.

È inoltre possibile elencare le versioni disponibili per la chiave utilizzando l'opzione Key Protect API. Per saperne di più, vedere Visualizzazione delle versioni chiave.