Importando chaves padrão

É possível incluir suas chaves de criptografia existentes com a UI ou programaticamente com a API do serviço de gerenciamento de chave Hyper Protect Crypto Services.

Importando chaves padrão com a IU

Depois de criar uma instância do serviço, conclua as etapas a seguir para inserir sua chave padrão existente com a GUI do Hyper Protect Crypto Services.

  1. Efetue login na IU.

  2. Acesse Menu > Lista de recursos para visualizar uma lista de seus recursos.

  3. Em sua lista de recursos do IBM Cloud, selecione a sua instância provisionada do Hyper Protect Crypto Services.

  4. Para importar uma chave, selecione a guia Chaves do KMS no menu lateral.

  5. 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 padrão
    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 padrão.
    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 é 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 simétrica, que você deseja gerenciar no serviço. Para obter mais informações, consulte Codificando seu material de chave em Base64. Certifique-se de que o material chave atende aos seguintes requisitos:

    • A chave pode ser até 7.500 bytes.
    • 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.
  6. Ao concluir o preenchimento dos detalhes da chave, clique em Importar chave para confirmar.

Importando chaves padrão com a API

Importe uma chave padrão fazendo uma chamada POST para o terminal a seguir:

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
  1. Recupere suas credenciais de serviço e autenticação para trabalhar com chaves no serviço.

  2. 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' \
      -H 'correlation-id: <correlation_ID>' \
      -H 'prefer: <return_preference>' \
      -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 incluir uma chave padrão com a API do serviço de gerenciamento de chave Hyper Protect Crypto Services.
    Variável Descrição
    region A abreviação de região, como us-south ou au-syd, que representa a área geográfica em que a sua instância de serviço do Hyper Protect Crypto Services reside. Para obter mais informações, consulte Terminais de serviços regionais.
    port Obrigatório. O número da porta do terminal da API.
    IAM_token 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_ID O identificador exclusivo que é designado para sua instância de serviço Hyper Protect Crypto Services. Para obter mais informações, consulte Recuperando um ID de instância.
    correlation_ID O identificador exclusivo que é usado para rastrear e correlacionar transações.
    return_preference Opcional: Um cabeçalho que altera o comportamento do servidor para as operações POST e DELETE Quando você configura a variável return_preference como return=minimal, o serviço retorna apenas os metadados de chaves, como o nome da chave e o valor do ID, no corpo da entidade de resposta. Quando você configura a variável para return=representation, o serviço retorna tanto o material da chave quanto os metadados da chave.
    key_alias Um nome exclusivo legível para fácil identificação da sua chave.

    Importante: para proteger sua privacidade, não armazene seus dados pessoais como metadados para sua chave.
    key_description Opcional: uma descrição estendida de sua chave.

    Importante: para proteger sua privacidade, não armazene seus dados pessoais como metadados para sua chave.
    YYYY-MM-DD

    HH:MM:SS.SS

    Opcional: a data e hora em que a chave expira no sistema, no formato RFC 3339. Se o atributo expirationDate for omitido, a chave não expirará..
    key_material O material de chave com codificação base64, como uma chave simétrica, que você deseja gerenciar no serviço. Para obter mais informações, consulte Base64 codificando seu material de chave.

    Assegure-se de que o material da chave atenda aos seguintes requisitos:

    * A chave pode ter até 7.500 bytes.
    * A chave deve ser codificada em Base64.
    key_type Um valor booleano determina se o material de chave pode sair do serviço.

    Ao configurar o atributo extractable como true, o serviço designa a chave como uma chave padrão que pode ser armazenada em seus aplicativos ou serviços.

    Para 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 /v2/keys bem-sucedida retorna o valor de ID para a sua chave, junto a 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.

  3. Opcional: verifique se a chave foi incluída executando a chamada a seguir para obter as chaves em sua instância de serviço 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>' \
      -H 'correlation-id: <correlation_ID>' \
    

Importando chaves padrão com a CLI

Conclua as etapas a seguir para importar chaves padrão que usam a CLI do Key Protect, que é integrada ao Hyper Protect Crypto Services:

  1. Configurar a CLI do Key Protect.

  2. Importe uma chave padrão com o comando a seguir:

    ibmcloud kp key create
    

    É possível encontrar parâmetros adicionais para este comando na Referência da CLI do Key Protect.

Codificação Base64 de seu material de chave

Ao importar uma chave padrão existente, é necessário incluir o material de chave criptografado que você deseja armazenar e gerenciar no serviço.

Usando o OpenSSL para codificar o material de chave existente

  1. Faça download e instale OpenSSL.

  2. 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
    infile O nome do arquivo no qual a sua sequência de material da chave reside.
    outfile O nome do arquivo em que o seu material de chave codificado em base64 é criado quando o comando é executado.

    Se desejar exibir o material em base64 na linha de comandos diretamente em vez de em um arquivo, execute o comando openssl enc -base64 <<< '<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

  1. Faça download e instale OpenSSL.

  2. Codifique em Base64 a sua sequência de material de chave executando o comando a seguir:

    $ openssl rand <byte_length> -base64
    

    Substitua a variável byte_length na solicitação de exemplo com o comprimento de sua chave, que é medida em bytes. O comprimento de bytes aceitável pode ser de até 7.500 bytes.

O que vem a seguir

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