Importazione delle chiavi root

Puoi utilizzare IBM Cloud® Hyper Protect Crypto Services per proteggere le tue chiavi root esistenti utilizzando l'IU o in modo programmatico con l'API del servizio di gestione delle chiavi Hyper Protect Crypto Services.

Le chiavi root sono chiavi simmetriche per l'impacchettamento della chiave che vengono utilizzate per proteggere la sicurezza dei dati crittografati nel cloud. Per ulteriori informazioni sull'importazione delle chiavi root, vedere Portare le tue chiavi di crittografia nel cloud.

Pianifica in anticipo l'importazione delle chiavi controllando le tue opzioni per la creazione e la crittografia del materiale della chiave. Per aggiungere sicurezza, puoi abilitare l'importazione sicura del materiale della chiave utilizzando un token di importazione per crittografare il tuo materiale della chiave prima di portarlo nel cloud.

Importazione delle chiavi root con l'interfaccia utente

Dopo che hai creato un'istanza del servizio, completa la seguente procedura per aggiungere la tua chiave root esistente con la GUI Hyper Protect Crypto Services.

  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. Per importare una chiave, selezionare la scheda Chiavi KMS nel menu laterale.

  5. Nella tabella Chiavi, fare clic su Aggiungi chiave e selezionare Importa una chiave.

    Specifica i dettagli della chiave:

    Tabella 1. Descrive le impostazioni per importare una chiave root
    Impostazione Descrizione
    Tipo di chiave Il tipo di chiave che desideri gestire in Hyper Protect Crypto Services. Dall'elenco dei tipi di chiave, selezionare Chiave root.
    Nome chiave Un alias univoco e leggibile dall'utente per una facile identificazione della tua chiave. Per proteggere la tua privacy, assicurati che il nome della chiave non contenga informazioni d'identificazione personale, come il tuo nome o la tua posizione.
    Alias chiave (Facoltativo) Uno o più alias univoci e leggibili che si desidera assegnare alla chiave per un facile riconoscimento. La dimensione dell'alias può essere compresa tra 2 e 90 caratteri. È possibile impostare fino a cinque alias chiave per la chiave, ognuno separato da una virgola.

    Nota: ogni alias deve essere alfanumerico, sensibile al maiuscolo / minuscolo e non può contenere spazi o caratteri speciali diversi dai trattini (-) o dai caratteri di sottolineatura (_). L'alias non può essere un UUID versione 4 e non deve essere un nome riservato Hyper Protect Crypto Services: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.

    ID file di chiavi Selezionare un keyring dall'elenco che contiene i keyring esistenti. Se non si assegna un keyring, la chiave verrà aggiunta al keyring default. Per ulteriori informazioni sui file di chiavi, consultare Gestione dei file di chiavi.
    Materiale della chiave

    Il materiale della chiave codificato con base64, come ad esempio una chiave di impacchettamento della chiave esistente, che desideri archiviare e gestire nel servizio. Per ulteriori informazioni, vedi Base64 encoding your key material. Assicurarsi che il materiale della chiave soddisfi i seguenti requisiti:

    • La chiave deve essere lunga 16, 24 o 32 byte, corrispondente a 128, 192 o 256 bit.
    • La chiave deve essere base64-encoded.
    Data di scadenza (Facoltativo) Imposta la data e l'ora in cui la chiave scade. Dopo la data di scadenza, la chiave passa allo stato Disattivato. Per ulteriori informazioni sullo stato della chiave, vedi Monitoraggio del ciclo di vita delle chiavi di codifica.
    Descrizione (Facoltativo) Aggiungi una descrizione estesa per la tua chiave. Deve avere una lunghezza compresa tra due e 240 caratteri.
  6. Una volta completati i dettagli della chiave, fare clic su Chiave di importazione per confermare.

Importazione delle chiavi root con l'API

Importa le chiavi simmetriche in Hyper Protect Crypto Services effettuando una chiamata POST al seguente endpoint.

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

  2. Richiama l'API del servizio di gestione delle chiaviHyper Protect Crypto Services con il seguente comando cURL:

    curl -X POST \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key+json' \
      -d '{
     "metadata": {
       "collectionType": "application/vnd.ibm.kms.key+json",
       "collectionTotal": 1
     },
     "resources": [
       {
       "type": "application/vnd.ibm.kms.key+json",
       "name": "<key_alias>",
       "description": "<key_description>",
       "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
       "payload": "<key_material>",
       "extractable": <key_type>
       }
     ]
    }'
    

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

    Tabella 2. Descrive le variabili necessarie per aggiungere una chiave root con l'API
    Variabile Descrizione
    region Obbligatorio. L'abbreviazione della regione, come ad esempio us-south O au-syd, che rappresenta l'area geografica in cui si trova il tuoHyper Protect Crypto Services si trova l'istanza. Per ulteriori informazioni, vedere Endpoint del servizio regionale.
    port Obbligatorio. Il numero di porta dell'endpoint API.
    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'identificatore univoco assegnato al tuoHyper Protect Crypto Services esempio. Per ulteriori informazioni, vedi Richiamo del tuo ID dell'istanza.
    correlation_ID L'identificativo univoco utilizzato per tracciare e correlare le transazioni.
    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.
    YYYY-MM-DD

    HH:MM:SS.SS

    La data e l'ora di scadenza della chiave nel sistema, nel formato RFC 3339. Se la expirationDate viene omesso, la chiave non scade.
    key_material

    Il materiale della chiave codificato con base64, come ad esempio una chiave di impacchettamento della chiave esistente, che desideri archiviare e gestire nel servizio. Per ulteriori informazioni, vedi Base64 encoding your key material. Assicurarsi che il materiale della chiave soddisfi i seguenti requisiti:

    • La chiave deve essere lunga 16, 24 o 32 byte, corrispondente a 128, 192 o 256 bit.
    • La chiave deve essere base64-encoded.
    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.

    Per proteggere la riservatezza dei tuoi dati personali, evita di immettere informazioni d'identificazione personale, come il tuo nome o la tua posizione, quando aggiungi le chiavi al servizio. Per ulteriori esempi di PII, vedere la sezione2.2 del Pubblicazione speciale NIST 800-122.

    Una risposta POST api/v2/keys corretta restituisce il valore dell'ID per la tua chiave, insieme ad altri metadati. L'ID è un identificatore univoco assegnato alla tua chiave e utilizzato per le successive chiamate alHyper Protect Crypto Services API del servizio di gestione delle chiavi.

  3. Facoltativo: verifica che la chiave sia stata aggiunta 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>'
    

Importazione delle chiavi root con la CLI

Completa la seguente procedura per importare le chiavi root utilizzando la CLI Key Protect, integrata in Hyper Protect Crypto Services:

  1. Configura la CLI Key Protect.

  2. Importa una chiave root con il seguente comando:

    ibmcloud kp key create
    

    Puoi trovare ulteriori parametri per questo comando nel Riferimento CLIKey Protect.

Base64 codifica del materiale della chiave

Quando si importa una chiave root esistente, è necessario includere il materiale della chiave crittografata che si desidera archiviare e gestire nel servizio.

Utilizzo di OpenSSL per codificare il materiale della chiave esistente

  1. Scaricare e installare OpenSSL.

  2. Base64 codifica la stringa del materiale della chiave immettendo il seguente comando:

    $ openssl base64 -in <infile> -out <outfile>
    

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

    Tabella 3. Descrive le variabili necessarie per base64 codificare il materiale della tua chiave
    Variabile Descrizione
    infile Il nome del file in cui si trova la stringa del materiale della chiave. Assicurarsi che la chiave sia lunga 16, 24 o 32 byte, corrispondenti a 128, 192 o 256 bit.
    outfile Il nome del file in cui verrà creato il materiale della tua chiave base64-encoded quando il comando è stato eseguito.

    Se vuoi eseguire l'output del materiale base64 nella riga di comando direttamente piuttosto che in un file, esegui il comando openssl enc -base6<<< '<key_material_string>', dove key_material_string è l'input del materiale della chiave per la tua chiave importata.

Utilizzo di OpenSSL per creare e codificare il nuovo materiale della chiave

  1. Scaricare e installare OpenSSL.

  2. Base64 codifica la stringa del materiale della chiave immettendo il seguente comando:

    $ openssl rand <byte_length> -base64
    

    Sostituisci la variabile byte_length nella richiesta di esempio con la lunghezza della tua chiave, misurata in byte. Le lunghezze di byte accettabili sono 16, 24 o 32 byte, corrispondenti a 128, 192 o 256 bit.

Operazioni successive