Como usar chaves confiáveis para agrupar chaves de dados AWS CloudHSM - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar chaves confiáveis para agrupar chaves de dados AWS CloudHSM

Para usar uma chave confiável para agrupar uma chave de dados AWS CloudHSM, você deve concluir três etapas básicas:

  1. Para a chave de dados que você planeja agrupar com uma chave confiável, defina seu atributo CKA_WRAP_WITH_TRUSTED como verdadeiro.

  2. Para a chave confiável com a qual você planeja agrupar a chave de dados, defina seu atributo CKA_TRUSTED como verdadeiro.

  3. Use a chave confiável para agrupar a chave de dados.

Etapa 1: defina a chave de dados CKA_WRAP_WITH_TRUSTED como verdadeira

Para a chave de dados que você deseja agrupar, escolha uma das opções a seguir para definir o atributo CKA_WRAP_WITH_TRUSTED da chave como verdadeiro. Isso restringe a chave de dados para que os aplicativos possam usar apenas chaves confiáveis ​​para agrupá-las.

Opção 1: se estiver gerando uma nova chave, defina CKA_WRAP_WITH_TRUSTED como verdadeira

Gere uma chave usando PKCS #11, JCE ou CloudHSM CLI. Consulte o código a seguir para ver um exemplo.

PKCS #11

Para gerar uma chave com PKCS #11, você precisa definir o atributo CKA_WRAP_WITH_TRUSTED da chave como verdadeiro. Conforme mostrado no exemplo a seguir, faça isso incluindo este atributo no CK_ATTRIBUTE template da chave e, em seguida, definindo o atributo como verdadeiro:

CK_BYTE_PTR label = "test_key"; CK_ATTRIBUTE template[] = { {CKA_WRAP_WITH_TRUSTED, &true_val, sizeof(CK_BBOOL)}, {CKA_LABEL, label, strlen(label)}, ... };

Para obter mais informações, consulte nossos exemplos públicos que demonstram a geração de chaves com o PKCS #11.

JCE

Para gerar uma chave com JCE, você precisa definir o atributo WRAP_WITH_TRUSTED da chave como verdadeiro. Conforme mostrado no exemplo a seguir, faça isso incluindo este atributo no KeyAttributesMap da chave e, em seguida, definindo o atributo como verdadeiro:

final String label = "test_key"; final KeyAttributesMap keySpec = new KeyAttributesMap(); keySpec.put(KeyAttribute.WRAP_WITH_TRUSTED, true); keySpec.put(KeyAttribute.LABEL, label); ...

Para obter mais informações, consulte nossos exemplos públicos que demonstram a geração de chaves com JCE.

CloudHSM CLI

Para gerar uma chave com a CLI do CloudHSM, você precisa definir o atributo wrap-with-trusted da chave como verdadeiro. Faça isso incluindo wrap-with-trusted=true no argumento apropriado para o comando de geração de chave:

  • Para chaves simétricas, adicione wrap-with-trusted ao argumento attributes.

  • Para chaves públicas, adicione wrap-with-trusted ao argumento public-attributes.

  • Para chaves privadas, adicione wrap-with-trusted ao argumento private-attributes.

Para obter mais informações sobre pares de chaves, consulte A generate-asymmetric-pair categoria na CLI do CloudHSM.

Para obter mais informações sobre pares de chaves simétricas, consulte A categoria generate-symmetric na CLI do CloudHSM.

Opção 2: se estiver usando uma chave existente, use a CLI do CloudHSM para defini-la como verdadeira CKA_WRAP_WITH_TRUSTED

Para definir o atributo CKA_WRAP_WITH_TRUSTED de uma chave existente como verdadeiro, siga estas etapas:

  1. Use o comando Fazer login em um HSM usando a CLI do CloudHSM para fazer login como usuário de criptografia (CU).

  2. Use o comando Definir os atributos das chaves com a CLI do CloudHSM para definir o atributo da chave wrap-with-trusted como verdadeiro.

    aws-cloudhsm > key set-attribute --filter attr.label=test_key --name wrap-with-trusted --value true { "error_code": 0, "data": { "message": "Attribute set successfully" } }

Etapa 2: defina as chaves confiáveis ​​CKA_TRUSTED como verdadeiras

Para tornar uma chave confiável, o atributo CKA_TRUSTED deve ser definido como verdadeiro. É possível usar a CLI do CloudHSM ou o CloudHSM Management Utility (CMU) para fazer isso.

Etapa 3. Use a chave confiável para agrupar a chave de dados

Para agrupar a chave de dados mencionada na Etapa 1 com a chave confiável que você definiu na Etapa 2, consulte os links a seguir para ver exemplos de código. Cada um demonstra como agrupar as chaves.