Introduzione a IBM Cloud Hyper Protect Crypto Services

IBM Cloud® Hyper Protect Crypto Services (Hyper Protect Crypto Services in breve) è un HSM (hardware security module) e un servizio di gestione chiavi dedicato basato su IBM Cloud. Con questo servizio, puoi assumere la proprietà dell'HSM cloud per gestire completamente le tue chiavi di crittografia e per eseguire le operazioni di crittografia. Hyper Protect Crypto Services è anche l'unico servizio del settore cloud basato su hardware certificato FIPS 140-2 Livello 4. La funzione Unified Key Orchestrator fornisce l'unico singolo punto di controllo nativo cloud delle chiavi di crittografia in ambienti ibridi multicloud della tua azienda.

Questa esercitazione ti mostra i passi di alto livello su come configurare la tua istanza del servizio caricando le tue chiavi master, creando e gestendo le chiavi di crittografia con l'IU ed eseguendo le operazioni di crittografia con l'API PKCS #11 o con l'API GREP11.

Prima di iniziare

Per utilizzare Hyper Protect Crypto Services, assicurati di soddisfare i seguenti prerequisiti:

  1. Hai un account Pagamento a consumo o Sottoscrizione IBM Cloud.

    Puoi utilizzare il codice promozionale HPCRYPTO30 per ottenere due unità di crittografia gratuitamente per 30 giorni.

  2. Hai eseguito il provisioning di una istanza del servizio con uno dei seguenti piani:

Passo 1: inizializza la tua istanza del servizio

A seconda della posizione della tua istanza del servizio e dei tuoi requisiti di sicurezza, Hyper Protect Crypto Services ti fornisce le seguenti tre opzioni per inizializzare la tua istanza del servizio:

Passo 2 (solo piano standard): crea le chiavi

Con il piano Standard, puoi creare chiavi root o chiavi standard per la crittografia dei dati. Completa la seguente procedura per creare la tua prima chiave crittografica. Per completare questi passi, assicurati di essere il proprietario dell'account IBM Cloud o che ti sia stato assegnato il ruolo di scrittore. Per i dettagli, consultare Assegnazione dell'accesso a Hyper Protect Crypto Services nell'IU.

  1. Dalla IU, fai clic su KMS keys > Add key.
  2. Seleziona Create a key.
  3. Specifica Root key o Standard key come tipo di chiave e immetti un nome univoco per la tua chiave. Assicurati che il nome della chiave non contenga PII (Personally Identifiable Information), come il tuo nome o la tua posizione.
  4. Fare clic su Aggiungi chiave per confermare.

La chiave creata è una chiave simmetrica a 256 bit, supportata dall'algoritmo AES - CBC. Puoi esaminare le caratteristiche generali delle tue chiavi nella tabella Key management service keys. Puoi anche portare le tue chiavi importando il materiale della chiave base64-encoded.

Passo 2 (solo pianoUnified Key Orchestrator ): gestisci le tue chiavi di crittografia

Segui questa procedura per gestire le tue chiavi di crittografia se stai utilizzando Hyper Protect Crypto Services con Unified Key Orchestrator. Per completare questi passi, assicurati di essere il proprietario dell'account IBM Cloud o che ti sia stato assegnato il ruolo di amministratore del vault. Per i dettagli, consultare Assegnazione dell'accesso a Hyper Protect Crypto Services nell'IU.

1. Creare i vault

Un vault è un repository singolo che controlla l'accesso di un utente o di un gruppo di accesso alle chiavi gestite e ai keystore tramite Cloud Identity and Access Management (IAM).

Completa la seguente procedura per creare il tuo primo vault:

  1. Dalla tua IU dell'istanza del servizio, fai clic su Vaults dalla navigazione per visualizzare tutti i vault disponibili.
  2. Fare clic su Crea vault.
  3. Immettere un nome in Nome vault. Il nome del vault può contenere da 1 a 100 caratteri. Facoltativamente, puoi aggiungere una descrizione estesa al tuo vault nella sezione Descrizione.
  4. Fare clic su Crea vault per confermare.

2. Creare i keystore

Un keystore è un repository che memorizza le chiavi crittografiche. È possibile creare un keystore interno all'istanza del servizio o connettersi a un keystore esterno in un'altra istanza del servizio o anche in un altro provider cloud, come ad esempio Microsoft Azure Key Vault, Amazon Web Services (AWS) Key Management Service (KMS) e Google Cloud KMS.

Completare la seguente procedura per creare il primo keystore interno:

  1. Dalla tua IU dell'istanza del servizio, fai clic su Keystore dalla navigazione per visualizzare tutti i keystore disponibili.
  2. Fare clic su Aggiungi keystore.
  3. Sotto Vault, selezionare il vault creato e fare clic su Avanti. Se si desidera assegnare il keystore a un nuovo vault, fare clic su Crea vault.
  4. In Tipo keystore, selezionare IBM Cloud KMS e fare clic su Avanti.
  5. In Proprietà del keystore, immettere un nome in Nome keystore. Il nome keystore può contenere da 1 a 100 caratteri. Quindi, fare clic su Avanti.
  6. In Riepilogo, è possibile visualizzare il riepilogo del keystore creato, incluso il tipo di keystore, il vault assegnato e le proprietà generali.
  7. Dopo aver confermato i dettagli del keystore, fare clic su Crea keystore per creare il keystore.

3. Crea template chiave

La maschera chiave specifica le proprietà delle chiavi gestite da creare, come la convenzione di denominazione, l'algoritmo chiave e la lunghezza chiave.

Completa la seguente procedura per creare il tuo primo modello di chiave:

  1. Dalla tua IU della tua istanza del servizio, fai clic su Key templates dalla navigazione.
  2. Fai clic su Create key template.
  3. In Vault, selezionare il vault appena creato e fare clic su Avanti.
  4. In Keystore, selezionare IBM Cloud KMS come tipo di keystore, selezionare il keystore appena creato e fare clic su Avanti.
  5. Sotto Proprietà del template chiave, specificare i seguenti dettagli del template chiave. Fai clic su Next per continuare.
  6. In Riepilogo, visualizzare il riepilogo del modello di chiave, quindi fare clic su Crea modello di chiave per completare la creazione del modello di chiave.

4. Creare le chiavi gestite

È possibile utilizzare una chiave gestita per la codifica o la decodifica solo dopo che è stata creata e attivata in almeno un keystore. Completa la seguente procedura per creare la prima chiave KMS IBM Cloud e attivare la chiave nel keystore che crei:

  1. Dalla tua IU dell'istanza del servizio, fai clic su Chiavi gestite dalla navigazione per visualizzare tutte le chiavi disponibili.
  2. Fai clic su Create key.
  3. In Vault, selezionare il vault appena creato e fare clic su Avanti.
  4. In Template chiave, selezionare Crea da un template chiave, quindi selezionare il modello chiave appena creato e fare clic su Avanti.
  5. In Proprietà chiave, specificare i dettagli della chiave. Fare clic su Avanti per continuare. Si noti che le chiavi Pre-active non devono essere installate nei keystore finché non vengono attivate manualmente. Le chiavi Active devono essere installate automaticamente nei keystore. Per ulteriori informazioni sulle proprietà della chiave, consulta Creazione di chiavi gestite con un modello di chiave nell'IU IBM Cloud.
  6. In Riepilogo, visualizzare il riepilogo della chiave e fare clic su Crea chiave per creare la chiave.

Passo 3: crittografa i tuoi dati con HSM cloud

Puoi accedere in remoto all'HSM cloud Hyper Protect Crypto Services per eseguire operazioni crittografiche con l'API PKCS #11 oppure con l'API GREP11. Per completare questi passi, assicurati di essere il proprietario dell'account IBM Cloud o che ti sia stato assegnato il ruolo di scrittore. Per i dettagli, consultare Assegnazione dell'accesso a Hyper Protect Crypto Services nell'IU.

Esecuzione di operazioni crittografiche con l'API PKCS #11

Per eseguire operazioni crittografiche con l'API PKCS #11 , completare la seguente procedura:

  1. Imposta ID servizio, ruoli e azioni PKCS #11 . Per ulteriori informazioni, vedi Impostazione dei tipi utente API PKCS #11.
  2. Scaricare, installare e configurare la libreria client PKCS #11 . Per ulteriori informazioni sulla configurazione della libreria client PKCS #11 , consultare Esecuzione di operazioni crittografiche con l'API PKCS #11.

Esecuzione di operazioni crittografiche con l'API GREP11

Per eseguire le operazioni di crittografia con l'API GREP11, devi assicurarti che le tue applicazioni siano sviluppate con linguaggi di programmazione supportati da gRPC.

La seguente procedura utilizza il codice Golang come esempio per verificare le funzioni GREP11.

  1. Installa Golang seguendo l'istruzione.

  2. Clona il repository GitHub di esempio per Golang in una directory locale a tua scelta. I moduli Go vengono utilizzati per questo repository, quindi non è necessario posizionare il repository clonato nel GOPATH. Fai riferimento al file README del repository per ulteriori informazioni sugli esempi di codice Go GREP11.

  3. Aggiornare il seguente frammento di codice nel file examples/server_test.go.

    var (
        Address        = "<instance_ID>.ep11.us-east.hs-crypto.appdomain.cloud"
        APIKey         = "<ibm_cloud_apikey>"
    )
    

    Nell'esempio di codice,

    • Sostituisci <instance_ID> con il valore del tuo endpoint API GREP11. Per trovare l'URL dell'endpoint del servizio, dalla tua IU della tua istanza del servizio di cui è stato eseguito il provisioning, fai clic su Overview > Connect > Enterprise PKCS #11 endpoint URL.
    • Sostituisci <ibm_cloud_apikey> con la chiave API ID servizio che hai creato.
  4. Dalla directory <your_repository_path>/hpcs-grep11-go/examples, eseguire gli esempi eseguendo il comando go test -v -run Example.