Listar as chaves que um usuário criptográfico do AWS CloudHSM possui usando CMU - AWS CloudHSM

Listar as chaves que um usuário criptográfico do AWS CloudHSM possui usando CMU

Use o comando findAllKeys no cloudhsm_mgmt_util (CMU) do AWS CloudHSM para obter as chaves que um determinado usuário de criptografia do AWS CloudHSM possui ou compartilha. O comando também retorna um hash dos dados do usuário em cada um dos HSMs. Você pode usar esse hash para determinar de imediato se os usuários, a propriedade das chaves e os dados de compartilhamento de chaves são iguais em todos os HSMs no cluster. Na saída, as chaves de propriedade do usuário são anotadas por (o) e chaves compartilhadas são anotadas por (s).

findAllKeys retorna chaves públicas somente quando a CU especificada possui a chave, mesmo que todos os CUs no HSM possam usar qualquer chave pública. Esse comportamento é diferente de findKey key_mgmt_util, que retorna as chaves públicas para todos os usuários CU.

Somente os responsáveis pela criptografia (COs e PCOs) e usuários dos dispositivos (AUs) podem executar esse comando. Os usuários de criptografia (CUs) podem executar os seguintes comandos:

  • listUsers para encontrar todos os usuários

  • findKey em key_mgmt_util para encontrar as chaves que eles podem usar

  • getKeyInfo na key_mgmt_util para encontrar o proprietário e os usuários compartilhados de uma chave específica que eles possuem ou compartilham

Antes de executar qualquer comando da CMU, você deve iniciar a CMU e fazer login no HSM. Certifique-se de fazer login com o tipo de conta de usuário que possa executar os comandos que você planeja usar.

Se adicionar ou excluir HSMs, atualize os arquivos de configuração do CMU. Caso contrário, as alterações que você fizer podem não ser efetivas em todos os HSMs no cluster.

Tipo de usuário

Os usuários a seguir podem executar este comando.

  • Oficiais de criptografia (CO, PCO)

  • Usuários de dispositivos (AU)

Sintaxe

Como esses comandos não têm parâmetros específicos, insira os argumentos na ordem especificada nos diagramas de sintaxe.

findAllKeys <user id> <key hash (0/1)> [<output file>]

Exemplos

Estes exemplos mostram como usar findAllKeys para encontrar todas as chaves para um usuário e obter um hash de informações de usuário de chaves em cada um dos HSMs.

exemplo : Encontrar as chaves para um CU

Esse exemplo usa findAllKeys para encontrar as chaves nos HSMs que o usuário 4 possui e compartilha. O comando usa um valor de 0 para o segundo argumento para suprimir o valor do hash. Como ele omite o nome do arquivo opcional, o comando grava em stdout (saída padrão).

A saída mostra que o usuário 4 pode usar 6 chaves: 8, 9, 17, 262162, 19 e 31. A saída usa um (s) para indicar chaves que são explicitamente compartilhadas pelo usuário. As chaves possuídas pelo usuário são indicadas por um (o) e incluem chaves simétricas e privadas que o usuário não compartilha e chaves públicas que estão disponíveis para todos os usuários de criptografia.

aws-cloudhsm> findAllKeys 4 0 Keys on server 0(10.0.0.1): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 1(10.0.0.2) Keys on server 1(10.0.0.3): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 1(10.0.0.3)
exemplo : verificar se os dados do usuário estão sincronizados

Este exemplo usa findAllKeys para verificar se todos os HSMs do cluster contêm os mesmos usuários, propriedade de chaves e valores de compartilhamento de chaves. Para fazer isso, ele obtém um hash dos dados do usuário chave em cada HSM e compara os valores de hash.

Para obter o hash da chave, o comando usa um valor de 1 no segundo argumento. O nome do arquivo opcional é omitido e, portanto, o comando grava o hash da chave em stdout.

O exemplo especifica o usuário 6, mas o valor do hash será o mesmo para qualquer usuário que possua ou compartilhe qualquer uma das chaves nos HSMs. Se o usuário especificado não possui ou compartilha chaves, como um CO, o comando não retornará um valor de hash.

A saída mostra que o hash da chave é idêntico tanto nos HSMs como no cluster. Se um dos HSM tivesse usuários diferentes, diferentes proprietários de chaves ou diferentes usuários compartilhados, os valores de hash de chave não seriam iguais.

aws-cloudhsm> findAllKeys 6 1 Keys on server 0(10.0.0.1): Number of keys found 3 number of keys matched from start index 0::3 8(s),9(s),11,17(s) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 3 number of keys matched from start index 0::3 8(s),9(s),11(o),17(s) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 1(10.0.0.2)

Esse comando demonstra que o valor do hash representa os dados do usuário para todas as chaves no HSM. O comando usa findAllKeys para o usuário 3. Ao contrário do usuário 6, que possui ou compartilha apenas 3 chaves, o usuário 3 possui ou compartilha 17 chaves, mas o valor de hash da chave é o mesmo.

aws-cloudhsm> findAllKeys 3 1 Keys on server 0(10.0.0.1): Number of keys found 17 number of keys matched from start index 0::17 6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 17 number of keys matched from start index 0::17 6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 1(10.0.0.2)

Argumentos

Como esses comandos não têm parâmetros específicos, insira os argumentos na ordem especificada nos diagramas de sintaxe.

findAllKeys <user id> <key hash (0/1)> [<output file>]
<user id>

Obtém todas as chaves que o usuário especificado possui ou compartilha. Insira o ID do usuário de um usuário nos HSMs. Para encontrar os IDs de todos os usuários, use listUsers.

Todos os IDs de usuários são válidos, mas findAllKeys retorna as chaves apenas para os usuários de criptografia (CUs).

Obrigatório: Sim

<key hash>

Inclui (1) ou exclui (0) um hash da propriedade do usuário e dos dados de compartilhamento para todas as chaves em cada HSM.

Quando o argumento user id representa um usuário que possui ou compartilha chaves, o hash da chave é preenchido. O valor do hash da chave é idêntico para todos os usuários que possuem ou compartilham chaves no HSM, mesmo possuindo e compartilhando chaves diferentes. No entanto, quando user id representa um usuário que não possui ou compartilha nenhuma chave, como um CO, o valor do hash não é preenchido.

Obrigatório: Sim

<output file>

Grava a saída no arquivo especificado.

Obrigatório: Não

Padrão: Stdout

Tópicos relacionados da