Criando chaves raiz

É possível usar IBM Cloud® Hyper Protect Crypto Services para criar chaves raizA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. usando a IU 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 chaves raiz, consulte Criptografia de envelope.

Criando chaves raiz com a IU

Depois de criar uma instância do serviço, conclua as etapas a seguir para criar uma chave raiz com a UI.

Se você ativar configurações de autorização dupla para a sua instância do Hyper Protect Crypto Services, tenha em mente que quaisquer chaves que você incluir no serviço requerem uma autorização de dois usuários para excluir chaves.

  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 criar uma nova chave, selecione a guia Chaves KMS no menu lateral.

  5. Na tabela Chaves, clique em Incluir chave e selecione Criar uma chave.

    Especifique os detalhes da chave:

    Tabela 1. Descreve as configurações para criar uma chave
    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 nome exclusivo legível para fácil identificação da sua chave. O comprimento deve estar dentro de 2 a 90 caracteres. 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.
    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 pode ser de 2 a 240 caracteres de comprimento.
  6. Quando terminar de preencher os detalhes da chave, clique em Criar chave para confirmar.

As chaves que são criadas no serviço são chaves de 256 bits simétricas, suportadas pelo algoritmo AES-CBC. Para segurança incluída, as chaves são geradas por módulos de segurança de hardware(HSMs)A physical appliance that provides on-demand encryption, key management, and key storage as a managed service. certificados FIPS 140-2 Nível 4 que estão localizados em data centers seguros do IBM Cloud.

Criando chaves raiz com a API

Crie uma chave raiz 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 o 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 "x-kms-key-ring: <key_ring_ID>" \
      -H "correlation-id: <correlation_ID>" \
      -d '{
              "metadata": {
                  "collectionType": "application/vnd.ibm.kms.key+json",
                  "collectionTotal": 1
              },
              "resources": [
                  {
                      "type": "application/vnd.ibm.kms.key+json",
                       "name": "<key_name>",
                       "aliases": [alias_list],
                       "description": "<key_description>",
                       "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
                       "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
    region Obrigatório. 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 Obrigató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_ID Obrigatório. 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 da instância.
    key_ring_ID Opcional. O identificador exclusivo para o conjunto de chaves de destino para o qual você deseja designar a chave. Se não especificado, o cabeçalho será configurado automaticamente como default e a chave pertencerá ao conjunto de chaves padrão na instância especificada do Hyper Protect Crypto Services.

    Para obter mais informações, consulte Gerenciando conjuntos de chaves.

    correlation_ID O identificador exclusivo que é usado para rastrear e correlacionar transações.
    key_name Obrigatório. 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.

    alias_list Opcional. Um ou mais aliases exclusivos e legíveis designados à sua chave.

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

    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. O tamanho do alias pode ter 2 a 90 caracteres (inclusive).

    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_type Um valor booleano determina se o material de chave pode sair do serviço.

    Ao configurar

    o atributo extractable como false, o serviço cria uma chave raiz
    que pode ser usada para operações wrap ou unwrap.

    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.

    Se você configurar a expirationDate em sua solicitação, a chave será movida para o estado desativado dentro de 1 hora após a data de expiração da chave.

    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.

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "type": "application/vnd.ibm.kms.key+json",
                "id": "02fd6835-6001-4482-a892-13bd2085f75d",
                "name": "test-root-key",
                "aliases": [
                    "alias-1",
                    "alias-2"
                  ],
                "description": "A test root key",
                "state": 1,
                "extractable": false,
                "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
                "imported": false,
                "creationDate": "2020-03-12T03:37:32Z",
                "createdBy": "...",
                "algorithmType": "AES",
                "algorithmMetadata": {
                    "bitLength": "256",
                    "mode": "CBC_PAD"
                },
                "algorithmBitSize": 256,
                "algorithmMode": "CBC_PAD",
                "lastUpdateDate": "2020-03-12T03:37:32Z",
                "keyVersion": {
                    "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
                    "creationDate": "2020-03-12T03:37:32Z"
                },
                "dualAuthDelete": {
                    "enabled": false
                },
                "deleted": false
            }
        ]
    }
    

    Para obter uma descrição detalhada dos parâmetros de resposta, consulte o Hyper Protect Crypto Services doc de referência da API REST.

  3. Opcional: verifique se a chave foi criada 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>' \
      -H 'correlation-id: <correlation_ID>' \
    

Após criar uma chave raiz com o serviço, a chave fica dentro dos limites de Hyper Protect Crypto Services e o material da chave não pode ser recuperado.

O que vem a seguir