Introdução ao IBM Cloud Hyper Protect Crypto Services
IBM Cloud® Hyper Protect Crypto Services (Hyper Protect Crypto Services para abreviação) é um serviço de gerenciamento de chave dedicado e módulo de segurança de hardware (HSM) baseado em IBM Cloud. Com este serviço, é possível utilizar a propriedade do HSM de nuvem para gerenciar totalmente suas chaves de criptografia e realizar operações criptográficas. O Hyper Protect Crypto Services também é o único serviço na indústria de nuvem que é desenvolvido com hardware certificado por FIPS 140-2 Nível 4. A função do Unified Key Orchestrator fornece um exclusivo ponto único de controle nativo de cloud de chaves de criptografia por meio de ambientes multicloud híbridos de sua empresa.
Este tutorial mostra as etapas de alto nível sobre como configurar sua instância de serviço carregando suas chaves mestras, criar e gerenciar chaves de criptografia com a IU e executar operações criptográficas com a API PKCS #11 ou com a API GREP11.
- Etapa 1: inicializar sua instância de serviço
- Etapa 2(Somente plano padrão): Criar chaves
- Etapa 2(Unified Key Orchestrator Somente plano): Gerenciar suas chaves de criptografia
- Etapa 3: criptografe seus dados com o HSM de nuvem
Etapa 1: inicializar sua instância de serviço
Dependendo de onde sua instância de serviço está localizada e de seus requisitos de segurança, o Hyper Protect Crypto Services fornece as três opções a seguir para inicializar sua instância de serviço:
-
Opção 1: Inicializando as instâncias de serviço usando cartões inteligentes e os utilitários de gerenciamento
Essa opção oferece a segurança mais alta, que permite armazenar e gerenciar partes da chave mestra usando cartões inteligentes.
-
Opção 2: Inicializando instâncias de serviço usando unidades de criptografia de recuperação
É possível escolher essa opção se você criar sua instância de serviço em regiões nas quais as unidades de criptografia de recuperação estão ativadas. Com essa opção, a chave mestra é gerada aleatoriamente dentro de uma unidade de criptografia de recuperação e, em seguida, exportada automaticamente para outras unidades de criptografia. É possível gerenciar a chave mestra e concluir a inicialização da instância com esforço mínimo.
-
Opção 3: Inicializando instâncias de serviço usando arquivos de partes chave
É também possível inicializar sua instância de serviço usando partes de chave mestra que são armazenadas em arquivos em sua estação de trabalho local.É possível usar esta abordagem independentemente se a sua instância de serviço inclui, ou não, unidades de criptografia de recuperação.
Etapa 2 (Somente plano padrão): criar chaves.
Com o Plano Padrão, é possível criar chaves raiz ou chaves padrão para a criptografia de dados Conclua as etapas a seguir para criar sua primeira chave criptográfica. Para concluir essas etapas, certifique-se de que você seja o proprietário da conta IBM Cloud ou que esteja designado à função writer. Para obter detalhes, consulte Designando acesso ao Hyper Protect Crypto Services na UI.
- Na UI, clique em Chaves do KMS > Incluir chave.
- Selecione Criar uma chave.
- Especifique Chave raiz ou Chave padrão como o tipo de chave e insira um nome exclusivo para a sua chave Certifique-se de que o nome da chave não contenha informações pessoalmente identificáveis (PII), como seu nome ou local.
- Clique em Incluir chave para confirmar..
A chave criada é uma chave simétrica de 256 bits, suportada pelo algoritmo AES-CBC. É possível inspecionar as características gerais de suas chaves na tabela Chaves de serviço de gerenciamento de chaves Também é possível trazer suas próprios chaves importando os base64-encoded codificados em base64.
Etapa 2 (somente PlanoUnified Key Orchestrator ): Gerenciar suas chaves de criptografia
Siga estas etapas para gerenciar suas chaves de criptografia se você estiver usando o Hyper Protect Crypto Services com Unified Key Orchestrator. Para concluir essas etapas, certifique-se de que você seja o proprietário da conta IBM Cloud ou designado à função de administrador do Vault. Para obter detalhes, consulte Designando acesso ao Hyper Protect Crypto Services na UI.
1. Criar áreas seguras
Uma área segura é um único repositório que controla o acesso de um usuário ou um grupo de acesso às chaves gerenciadas e aos keystores por meio do Cloud Identity and Access Management (IAM).
Conclua as etapas a seguir para criar sua primeira área segura:
- Em sua IU de instância de serviço, clique em Áreas seguras na navegação para visualizar todas as áreas seguras disponíveis.
- Clique em Criar área segura.
- Insira um nome em Nome da área segura. O nome da área segura pode ter de 1 a 100 caracteres. Opcionalmente, é possível incluir uma descrição estendida em sua área segura na seção Descrição.
- Clique em Criar área segura para confirmar.
2. Criar keystores
Um keystore é um repositório que armazena as chaves criptográficas. É possível criar um keystore interno dentro da instância de serviço ou se conectar a um keystore externo em outra instância de serviço ou até mesmo em outro provedor em nuvem, como o Microsoft Azure Key Vault, o Amazon Web Services (AWS) Key Management Service (KMS) e o Google Cloud KMS.
Conclua as etapas a seguir para criar seu primeiro keystore interno:
- Em sua IU da instância de serviço, clique em Keystores na navegação para visualizar todos os keystores disponíveis.
- Clique em Incluir keystore.
- Sob Área segura, selecione a área segura que você criar e clique em Avançar. Se desejar designar o keystore a uma nova área segura, clique em Criar área segura.
- Em Tipo de keystore, selecione IBM Cloud KMS e clique em Avançar.
- Sob Propriedades do keystore, insira um nome em Nome do keystore. O nome do keystore pode ter de 1 a 100 caracteres. E, em seguida, clique em Avançar.
- Sob Resumo, é possível visualizar o resumo do keystore que você cria, incluindo o tipo de keystore, a área segura designada e as propriedades gerais.
- Depois de confirmar os detalhes do keystore, clique em Criar keystore para criar o keystore.
3. Criar modelos de chave
especifica as propriedades das chaves gerenciadas a serem criadas, como a convenção de nomenclatura, o algoritmo de chave e o comprimento da chave.
Conclua as etapas a seguir para criar seu primeiro modelo de chave:
- Na UI da instância de serviço, clique em Modelos de chave na navegação.
- Clique em Criar modelo de chave..
- Em Área Segura, selecione a área segura recém-criada e, em seguida, clique em Avançar.
- Em Keystores, selecione IBM Cloud KMS como o tipo de keystore, selecione o keystore recém-criado e, em seguida, clique em Avançar.
- Em Propriedades do modelo de chave. especifique os detalhes a seguir do modelo de chave.. Clique em Avançar para continuar.
- Em Resumo, visualize o resumo de seu modelo de chave e, em seguida, clique em Criar modelo de chave para concluir a criação do modelo de chave
4. Criar chaves gerenciadas
É possível usar uma chave gerenciada para criptografia ou decriptografia somente depois que ela for criada e ativada em pelo menos um keystore. Conclua as etapas a seguir para criar sua primeira chave do KMS do IBM Cloud e ativar a chave no keystore criado:
- Em sua IU de instância de serviço, clique em Chaves gerenciadas na navegação para visualizar todas as chaves disponíveis.
- Clique em ** Criar chave **.
- Em Área Segura, selecione a área segura recém-criada e, em seguida, clique em Avançar.
- Em Modelo de chave, selecione Criar a partir de um modelo de chave e, então, selecione o modelo de chave que você acabou de criar e clique em Avançar.
- Em Propriedades da chave, especifique os detalhes da chave. Clique em Avançar para continuar quando estiver pronto. Observe que as chaves
Pre-activenão devem ser instaladas em keystores até que você as ative manualmente. As chavesActivedevem ser instaladas automaticamente nos keystores. Para obter mais informações sobre as propriedades-chaves, consulte Criando chaves gerenciadas com um modelo de chave na IU do IBM Cloud - Em Resumo, visualize o resumo da chave e, em seguida, clique em Criar chave para criar a chave.
Etapa 3: criptografe seus dados com o HSM de nuvem
É possível acessar remotamente o HSM em nuvem dos Hyper Protect Crypto Services para executar operações criptográficas com a API PKCS n.º 11 ou com a API GREP11. Para concluir essas etapas, certifique-se de que você seja o proprietário da conta IBM Cloud ou que esteja designado à função writer. Para obter detalhes, consulte Designando acesso ao Hyper Protect Crypto Services na UI.
Executando operações criptográficas com a API do PKCS n.º 11
Para executar operações criptográficas com a API do PKCS n.º 11, conclua as etapas a seguir:
- Configure IDs de serviço, funções e ações do PKCS #11 . Para obter mais informações, consulte Configurando tipos de usuário da API do PKCS #11
- Faça o download, instale e configure a biblioteca do cliente PKCS #11 Para obter mais informações sobre como configurar a biblioteca do cliente PKCS #11 , consulte Executando operações de criptografia com a API PKCS #11.
Executando operações criptográficas com a API GREP11
Para executar operações criptográficas com a API GREP11, é necessário certificar-se de que seus aplicativos sejam desenvolvidos com linguagens de programação suportadas pelo gRPC.
O procedimento a seguir usa o código do Golang como exemplo para testar funções do GREP11.
-
Instale Golang seguindo a instrução.
-
Clone o repositório sample GitHub para Golang em um diretório local de sua escolha. Os módulos do go são usados para este repositório, portanto, não é necessário colocar o repositório clonado em seu
GOPATH. Consulte o arquivo README do repositório para obter mais informações sobre os exemplos de código do Go do GREP11. -
Atualize o snippet de código a seguir no arquivo
examples/server_test.go.var ( Address = "<instance_ID>.ep11.us-east.hs-crypto.appdomain.cloud" APIKey = "<ibm_cloud_apikey>" )No exemplo de código,
- Substitua
<instance_ID>pelo valor do terminal de API GREP11. Para localizar a URL do terminal em serviço, por meio de sua IU da instância de serviço provisionada, clique na Visão geral >> Conectar > URL do terminal do Enterprise PKCS #11 - Substitua
<ibm_cloud_apikey>pela chave de API do ID de serviço criada.
- Substitua
-
No diretório
<your_repository_path>/hpcs-grep11-go/examples, execute os exemplos, executando o comandogo test -v -run Example.