Importando chaves raiz
É possível usar IBM Cloud® Hyper Protect Crypto Services para proteger suas chaves raiz existentes usando a UI ou programaticamente com a API do serviço de gerenciamento de chave Hyper Protect Crypto Services.
Chaves raiz são chaves simétricas de quebra de chaves usadas para proteger a segurança dos dados criptografados na nuvem. Para obter mais informações sobre a importação de chaves raiz, consulte Trazendo duas chaves de criptografia para a nuvem.
Planeje antecipadamente a importação de chaves revisando suas opções de criação e criptografia do material de chave. Para maior segurança, é possível ativar a importação segura do material de chave usando um token de importação para criptografar seu material de chave antes de trazê-lo para a nuvem.
Importando chaves raiz com a IU
Depois de criar uma instância do serviço, conclua as etapas a seguir para incluir sua chave raiz existente com a GUI do Hyper Protect Crypto Services.
-
Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.
-
Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Hyper Protect Crypto Services.
-
Para importar uma chave, selecione a guia Chaves do KMS no menu lateral.
-
Na tabela Chaves, clique em Incluir chave e selecione Importar uma chave.
Especifique os detalhes da chave:
Tabela 1. Descreve as configurações para importar uma chave raiz Configuração Descrição Tipo de chave O tipo de chave que você gostaria de gerenciar no Hyper Protect Crypto Services. Na lista de tipos de chaves, selecione Chave raiz. Nome da chave Um alias exclusivo, legível para fácil identificação de sua chave. Para proteger sua privacidade, assegure-se de que o nome da chave não contenha informações pessoalmente identificáveis (PII), como seu nome ou local. Alias da chave (Opcional) Um ou mais aliases exclusivos e legíveis que você deseja designar à sua chave para fácil reconhecimento. O tamanho do alias pode ser de 2 a 90 caracteres. É possível configurar até cinco aliases de chave para a chave, com cada um separado por uma vírgula. Nota: Cada alias deve ser alfanumérico, com distinção entre maiúsculas e minúsculas e não pode conter espaços ou caracteres especiais diferentes de traços (-) ou sublinhados (_). O alias não pode ser um UUID versão 4 e não deve ser um nome reservado Hyper Protect Crypto Services:
allowed_ip,key,keys,metadata,policy,policies,registration,registrations,ring,rings,rotate,wrap,unwrap,rewrap,version,versions.ID do conjunto de chaves Selecione um conjunto de chaves da lista que contém os conjuntos de chaves existentes. Se você não designar um conjunto de chaves, a chave será incluída no conjunto de chaves default. Para obter mais informações sobre conjuntos de chaves, consulte Gerenciando conjuntos de chaves.Material de chave O material de chave com codificação base64, como uma chave de quebra de chave, que você deseja armazenar e gerenciar no serviço. Para obter mais informações, consulte Codificando seu material de chave em Base64. Certifique-se de que o material chave atenda aos seguintes requisitos:
- A chave deve ter 16, 24 ou 32 bytes de comprimento, correspondente a 128, 192, ou 256 bits.
- A chave deve ser codificada em Base64.
Data de expiração (Opcional) Configure a data e a hora quando a chave expira. Após a data de expiração, a chave é movida para o estado Desativado Para obter mais informações sobre o estado de chaves, consulte Monitorando o ciclo de vida de chaves de criptografia. Descrição (Opcional) Inclua uma descrição estendida para a sua chave. Ela deve ter de 2 a 240 caracteres de comprimento. -
Ao concluir o preenchimento dos detalhes da chave, clique em Importar chave para confirmar.
Importando chaves raiz com a API
Importe chaves simétricas para o Hyper Protect Crypto Services fazendo uma chamada POST para o terminal a seguir.
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
-
Recupere suas credenciais de serviço e autenticação para trabalhar com chaves no serviço.
-
Chame a API do serviço de gerenciamento de chave Hyper Protect Crypto Services com o comando cURL a seguir:
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> } ] }'Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.
Tabela 2. Descreve as variáveis necessárias para adicionar uma chave raiz com a API Variável Descrição regionObrigatório. A abreviação de região, como us-southouau-syd, que representa a área geográfica na qual sua instância do Hyper Protect Crypto Services está localizada. Para obter mais informações, consulte Terminais de serviços regionais.portObrigatório. O número da porta do terminal da API. IAM_tokenObrigatório. Seu token de acesso do IBM Cloud. Inclua o conteúdo integral do token IAM, incluindo valor Bearer, na solicitação cURL. Para obter mais informações, consulte Recuperando um token de acesso.instance_IDObrigatório. O identificador exclusivo que é designado para a sua instância do Hyper Protect Crypto Services. Para obter mais informações, consulte Recuperando seu ID de instância. correlation_IDO identificador exclusivo que é usado para rastrear e correlacionar transações. key_aliasObrigatório. Um nome exclusivo legível para fácil identificação da sua chave. Para proteger a sua privacidade, não armazene os seus dados pessoais como metadados para a sua chave. key_descriptionUma descrição estendida de sua chave. Para proteger a sua privacidade, não armazene os seus dados pessoais como metadados para a sua chave. YYYY-MM-DDHH:MM:SS.SSA data e hora em que a chave expira no sistema, em formato RFC 3339. Se o atributo expirationDatefor omitido, a chave não expirará..key_materialO material de chave com codificação base64, como uma chave de quebra de chave, que você deseja armazenar e gerenciar no serviço. Para obter mais informações, consulte Codificando seu material de chave em Base64. Certifique-se de que o material chave atenda aos seguintes requisitos:
- A chave deve ter 16, 24 ou 32 bytes de comprimento, correspondente a 128, 192, ou 256 bits.
- A chave deve ser codificada em Base64.
key_typeUm valor booleano determina se o material de chave pode sair do serviço. Quando você configura o atributo extractablecomofalse, o serviço designa a chave como uma chave raiz que pode ser usada para operaçõeswrapouunwrapPara proteger a confidencialidade de seus dados pessoais, evite inserir informações pessoalmente identificáveis (PII), como seu nome ou local, ao incluir chaves no serviço. Para obter mais exemplos de PIII, consulte a seção 2.2 da Publicação Especial NIST 800-122.
Uma resposta
POST api/v2/keysbem-sucedida retorna o valor de ID para a sua chave, junto com outros metadados. O ID é um identificador exclusivo que é designado à sua chave e é usado para chamadas subsequentes para a API de serviço de gerenciamento de chaves do Hyper Protect Crypto Services. -
Opcional: verifique se a chave foi incluída executando a chamada a seguir para procurar as chaves na instância de serviço do 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>'
Importando chaves raiz com a CLI
Conclua as etapas a seguir para importar chaves raiz usando a CLI do Key Protect, que é integrado no Hyper Protect Crypto Services:
-
Importe uma chave raiz com o seguinte comando:
ibmcloud kp key createÉ possível encontrar mais parâmetros para este comando na referência da CLI do Key Protect.
Codificação Base64 de seu material de chave
Ao importar uma chave raiz existente, é necessário incluir o material de chave criptografada que você deseja armazenar e gerenciar no serviço.
Usando o OpenSSL para codificar o material de chave existente
-
Faça download e instale OpenSSL.
-
Codifique em Base64 a sua sequência de material de chave executando o comando a seguir:
$ openssl base64 -in <infile> -out <outfile>Substitua as variáveis na solicitação de exemplo de acordo com a tabela a seguir.
Tabela 3. Descreve as variáveis necessárias para base64 codite seu material chave Variável Descrição infileO nome do arquivo onde sua cadeia de materiais chave está localizada. Certifique-se de que a chave tenha 16, 24 ou 32 bytes de comprimento, correspondendo a 128, 192 ou 256 bits. outfileO nome do arquivo onde seu material de chave codificado em base64 será criado quando o comando for executado. Se desejar exibir o material em base64 na linha de comandos diretamente em vez de em um arquivo, execute o comando
openssl enc -base6<<< '<key_material_string>', em que key_material_string é a entrada do material de chave para sua chave importada.
Usando o OpenSSL para criar e codificar o novo material da chave
-
Faça download e instale OpenSSL.
-
Codifique em Base64 a sua sequência de material de chave executando o comando a seguir:
$ openssl rand <byte_length> -base64Substitua a variável
byte_lengthna solicitação de exemplo com o comprimento de sua chave, que é medida em bytes. Os comprimentos de bytes aceitáveis são 16, 24 ou 32 bytes, correspondendo a 128, 192 ou 256 bits.
O que vem a seguir
- Para descobrir mais sobre como proteger chaves com criptografia de envelope, consulte Chaves de quebra.
- Para descobrir a instrução sobre a criação de uma chave, confira Criando chaves raiz ou Criando chaves padrão.
- Para saber mais sobre o gerenciamento programático de suas chaves, verifique o documento de referência da API do serviço de gerenciamento de chaves do Hyper Protect Crypto Services
- Para saber mais sobre o uso da CLI do Key Protect, acesse o Documento de referência da CLI doKey Protect.