Importar uma chave privada usando o KMU do AWS CloudHSM - AWS CloudHSM

Importar uma chave privada usando o KMU do AWS CloudHSM

Use o comando importPrivateKey no key_mgmt_util do AWS CloudHSM para importar uma chave privada assimétrica de um arquivo para um módulo de segurança de hardware (HSM). O HSM não permite a importação direta de chaves em texto não criptografado. O comando criptografa a chave privada usando uma chave de empacotamento AES que você especifica e desempacota a chave dentro do HSM. Se você estiver tentando associar uma chave AWS CloudHSM a um certificado, consulte este tópico.

nota

Não é possível importar uma chave PEM protegida por senha usando uma chave simétrica ou privada.

Você deve especificar uma chave de empacotamento AES que tenha OBJ_ATTR_UNWRAP e OBJ_ATTR_ENCRYPT de valor de atributo 1. Para encontrar os atributos de uma chave, use o comando getAttribute.

nota

Esse comando não oferece a opção de marcar as chaves importadas como não exportáveis.

Antes de executar um comando key_mgmt_util, você deve iniciar key_mgmt_util e fazer login no HSM como um usuário de criptografia (CU).

Sintaxe

importPrivateKey -h importPrivateKey -l <label> -f <key-file> -w <wrapping-key-handle> [-sess] [-id <key-id>] [-m_value <0...8>] [min_srv <minimum-number-of-servers>] [-timeout <number-of-seconds>] [-u <user-ids>] [-wk <wrapping-key-file>] [-attest]

Exemplos

Este exemplo mostra como usar importPrivateKey para importar uma chave privada para um HSM.

exemplo : importar uma chave privada

Esse comando importa a chave privada a partir de um arquivo chamado rsa2048.key com o rótulo rsa2048-imported e uma chave de encapsulamento com identificador 524299. Quando o comando for bem-sucedido, importPrivateKey retornará um identificador de chave para a chave importada e uma mensagem de êxito.

Command: importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299 BER encoded key length is 1216 Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS Private Key Unwrapped. Key Handle: 524301 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Parâmetros

Esse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: Sim

-l

Especifica o rótulo da chave privada definida pelo usuário.

Obrigatório: Sim

-f

Especifica o nome do arquivo da chave a ser importada.

Obrigatório: Sim

-w

Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Para encontrar os identificadores de chave, use o comando findKey.

Para determinar se uma chave pode ser usada como uma chave de encapsulamento, use getAttribute para obter o valor do atributo OBJ_ATTR_WRAP (262). Para criar uma chave de encapsulamento, use genSymKey a fim de criar uma chave AES (digite 31).

Se você usar o parâmetro -wk para especificar uma chave de desencapsulamento externa, a chave de encapsulamento -w será usada para encapsular, mas não para desencapsular, a chave durante a importação.

Obrigatório: Sim

-sess

Especifica a chave importada como uma chave de sessão.

Padrão: a chave importada é mantida como uma chave persistente (token) no cluster.

Obrigatório: Não

-id

Especifica o ID da chave a ser importada.

Padrão: sem valor de ID.

Obrigatório: Não

-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chave importada. Insira um valor de 0 a 8.

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha a chave com usuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Obrigatório: Não

-min_srv

Especifica o número mínimo de HSMs nos quais a chave importada é sincronizada antes da expiração do valor do parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidores na hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Para agilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster e defina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Obrigatório: Não

-timout

Especifica o número de segundos a aguardar a sincronização da chave entre os HSMs quando o parâmetro min-serv é incluído. Se nenhum número for especificado, a sondagem continuará para sempre.

Padrão: sem limite

Obrigatório: Não

-u

Especifica a lista de usuários com os quais compartilhar a chave privada importada. Este parâmetro dá a outros usuários de criptografia (CUs) HSM permissão para usar a chave importada em operações criptográficas.

Insira uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Não inclua o ID do usuário atual do HSM. Para encontrar o ID do usuário de CUs no HSM, use listUsers.

Padrão: somente o usuário atual pode utilizar a chave importada.

Obrigatório: Não

-wk

Especifica a chave a ser usada para encapsular a chave que está sendo importada. Insira o caminho e o nome de um arquivo que contém uma chave AES de texto simples.

Quando você inclui esse parâmetro, importPrivateKey usa a chave no arquivo -wk para encapsular a chave que está sendo importada. Ele também usa a chave especificada pelo parâmetro -w para desencapsulá-la.

Padrão: use a chave de encapsulamento especificada no parâmetro -w para encapsular e desencapsular.

Obrigatório: Não

-attest

Executa uma verificação de declaração na resposta do firmware para garantir que o firmware no qual o cluster é executado não tenha sido comprometido.

Obrigatório: Não

Tópicos relacionados da