Importar uma chave de um serviço Web

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • Carregue com segurança uma chave de cliente externa em sua instância usando a importação de uma chave de um serviço web (por exemplo, a REST API chave). As chaves públicas simétricas e assimétricas podem ser importadas para um módulo criptográfico de destino do KMF.

    A chave a ser importada (a chave de destino) deve ser criptografada com uma chave de encapsulamento antes de ser carregada no módulo criptográfico de destino da instância. Essa chave de encapsulamento é o componente público de um par de chaves pública/privada, que precisa estar presente na instância. A chave é um pré-requisito para que a chave de destino encapsulada possa ser carregada por meio de Importar de serviços web.

    Esses dois procedimentos separados (importação do par de chaves de encapsulamento e importação da chave de destino encapsulada de um serviço Web) são detalhados na documentação a seguir. Esse par de chaves deve ser gerado e carregado para ficar disponível no módulo criptográfico de Importação de chave interno da instância.

    Nota:
    Esse exemplo usa o OpenSSL para a geração de chave e certificado e a ferramenta de teste Postman API para mostrar o uso da API REST. Substitua-os por outras ferramentas comparáveis com base nos requisitos da sua empresa.

    Importação do par de chaves de encapsulamento/desencapsulamento

    Defina as configurações de importação do Key Management Framework antes de importar uma chave.

    Antes de Iniciar

    Função necessária: sn_kmf.cryptographic_manager

    Por Que e Quando Desempenhar Esta Tarefa

    Este exemplo usa o OpenSSL para geração da chave e do certificado. Substitua-os por outras ferramentas comparáveis com base nos requisitos da sua empresa.

    Procedimento

    1. Em seu ambiente local, use o terminal para criar um certificado.
      Por exemplo: openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout wrapping_private.key -out wrapping_public.crt

      Este certificado é um componente público que contém uma chave. O certificado é usado para encapsular uma chave simétrica AES.

    2. Em seu ambiente local, use o terminal para criar um armazenamento de chaves contendo o certificado público (com a chave de encapsulamento) e a chave de desencapsulamento privada.
      Por exemplo: openssl pkcs12 -export -in wrapping_public.crt -inkey wrapping_private.key -name "wrapping_key_alias" -out wrapping_keystore.p12
    3. Em sua instância, navegue até Tudo > Gestão de chave > Configurações de Importação > Configurações de Importação de Chave.
    4. Na seção Definição de algoritmo, verifique se a Finalidade da criptografia está definida como Desencapsulamento de chave assimétrica.Seleção de finalidade de criptografia.
    5. Selecione um algoritmo apropriado que se alinhe com o material da chave assimétrica do armazenamento de chaves importado.
      Consulte Finalidade criptográfica, algoritmos e informações de chave para obter informações adicionais.
    6. Selecione Avançar.
    7. Na seção Definição do ciclo de vida, selecione Avançar para continuar.
    8. Na seção Origem da chave, selecione Importar do PKCS12 ou Importar do BCFKS no campo Origem.
      Nota:
      Se estiver usando o armazenamento de chaves de exemplo da etapa 1, selecione Importar de PKCS12.
    9. Insira um Alias de chave para identificar a chave.
      Esse alias deve corresponder ao alias de chave (ou "nome amigável") que foi especificado ao gerar o certificado ou o armazenamento de chaves a ser carregado. Continuando o exemplo acima, seria wrap_key_alias.
    10. Selecione Avançar.
      A seção Criação de chave inclui um link Importar chave, que exibe uma caixa de diálogo para carregar o repositório de chaves. Continuando o exemplo, seria wrapping_keystore.p12.

    Importar uma chave encapsulada de um serviço Web

    Carregue sua chave encapsulada em um módulo criptográfico usando a chave de importação da funcionalidade de Serviço da web. O exemplo usa uma chave simétrica. Etapas semelhantes podem ser usadas para importar uma chave assimétrica.

    Antes de Iniciar

    Funções necessárias: sn_kmf.cryptographic_manager (configuração do módulo), sn_kmf.cryptographic_operator (autenticação básica da operação REST)

    Por Que e Quando Desempenhar Esta Tarefa

    KMF A importação do acesso de endpoint da chave é necessária para concluir o processo de importação da chave.

    Este exemplo usa o OpenSSL para gerar chaves e certificados. Você pode substitui-lo por outras ferramentas comparáveis com base nos seus requisitos.

    Procedimento

    1. Usando o terminal no seu dispositivo local, encapsule sua chave simétrica usando a chave de encapsulamento de chave pública do módulo Importação de chave.
      Por exemplo: openssl pkeyutl -encrypt -pubin -inkey public_wrapping_key.pem -in symmetric_key.bin -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -out wrapped_symmetric_key.txt
      Este exemplo cria um arquivo de chave encapsulado chamado wrapped_symmetric_key.txt.
    2. Crie um módulo criptográfico a ser vinculado à API.
      Consulte ou para obter informações adicionais.
    3. Adicione uma especificação criptográfica com as seguintes seleções.
      • Objetivo da criptografia: Criptografia/descriptografia simétrica de dados.
      • Origem da chave: Importar do serviço web Origem da chave selecionada como importação do serviço web.

        Consulte ou para obter mais informações.

    4. Execute uma solicitação HTTP POST para a importação de um endpoint REST de serviço web.
      OpçãoValor/formato
      URL do endpoint https://<instance>/api/sn_kmf/key/import?cryptoSpecSysID=<sys_id_of_crypto_spec>.
      Parâmetro CryptoSpecSysID
      O sys_id da especificação de criptografia recém-criada.
      Dica:
      Clique com o botão direito do mouse no cabeçalho da especificação criptográfica para copiar o sys_id.
      Tipo de conteúdo do cabeçalho Aplicação/fluxo de octeto.
      Corpo Deve conter um arquivo anexo-binário e a chave pública a ser importada (wrapped_sensitive_key.txt).
      Importar do endpoint REST do serviço web Usa autenticação básica de <username/password>
      Nota:
      Certifique-se de que o usuário designado tenha a função sn_kmf_cryptographic_operator.
      A importação bem-sucedida da chave pública resulta em uma mensagem de resposta HTTP com Status 200.
    5. Verifique se a chave foi importada com sucesso para o módulo criptográfico de destino.Guia de chaves do módulo de especificação de criptografia com importação de chave bem-sucedida.