Usando o CloudHSM Management Utility (CMU) para gerenciar a autenticação de dois fatores (2FA) para responsáveis pela criptografia - 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á.

Usando o CloudHSM Management Utility (CMU) para gerenciar a autenticação de dois fatores (2FA) para responsáveis pela criptografia

Para aumentar a segurança, você pode configurar a autenticação de dois fatores (2FA) para ajudar a proteger o cluster. Você só pode ativar o 2FA para responsáveis pela criptografia (CO).

nota

Você não pode ativar a 2FA para usuários de criptografia (CU) ou aplicativos. A autenticação de dois fatores (2FA) é somente para usuários de CO.

Noções básicas sobre 2FA para usuários de HSM

Ao fazer login em um cluster com uma conta de módulo de serviço de hardware (HSM) habilitada para 2FA, você fornece sua senha ao cloudhsm_mgmt_util (CMU), o primeiro fator, o que você sabe, e a CMU fornece um token e solicita que você assine o token. Para fornecer o segundo fator, o que você tem, você assina o token com uma chave privada de um par de chaves que já criou e associou ao usuário do HSM. Para acessar o cluster, você fornece o token assinado à CMU.

Autenticação de quórum e 2FA

O cluster usa a mesma chave para autenticação de quórum e autenticação de dois fatores (2FA). Isso significa que um usuário com 2FA ativado está efetivamente registrado no M-of-n-Access-Control (MoFN). Para usar com sucesso a autenticação 2FA e de quórum para o mesmo usuário do HSM, considere os seguintes pontos:

  • Se estiver usando a autenticação de quórum para um usuário hoje, você deve usar o mesmo par de chaves que criou para o usuário do quórum para habilitar a 2FA para ele.

  • Se você adicionar o requisito de 2FA para um usuário não 2FA que não seja um usuário de autenticação de quorum, registre esse usuário como um usuário MoFN com autenticação 2FA.

  • Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também seja usuário de autenticação de quórum, também removerá o registro do usuário do quórum como usuário do MoFN.

  • Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também é usuário de autenticação de quórum, mas ainda quiser que esse usuário participe da autenticação de quórum, deverá registrá-lo novamente como usuário do MoFN.

Para obter mais informações sobre a autenticação de quórum, consulte Como usar o CMU para gerenciar a autenticação de quórum.

Trabalhar com 2FA para usuários de HSM

Esta seção descreve como trabalhar com 2FA para usuários do HSM, incluindo a criação de usuários do HSM 2FA, alternância de chaves e o login no HSM como usuários habilitados para 2FA. Para obter mais informações sobre como trabalhar com os usuários HSM, consulte Gerenciando usuários do HSM em AWS CloudHSM, Usar o CloudHSM Management Utility (CMU) para gerenciar usuários, createUser, loginHSM e logoutHSM e changePswd.

Criação de usuários de 2FA

Para habilitar a 2FA para um usuário do HSM, use uma chave que atenda aos seguintes requisitos.

Você pode criar um novo par de chaves ou usar uma chave existente que atenda aos seguintes requisitos.

  • Tipo de chave: assimétrico

  • Uso da chave: assinar e verificar

  • Especificação da chave: RSA_2048

  • O algoritmo de assinatura inclui:

    • sha256WithRSAEncryption

nota

Se você estiver usando a autenticação de quórum ou planeja usar a autenticação de quórum, consulte. Autenticação de quórum e 2FA

Use o CMU e o par de chaves para criar um novo usuário de CO com 2FA habilitado.

Para criar usuários de CO com 2FA habilitado
  1. Em um terminal, execute as seguintes etapas:

    1. Acesse seu HSM e faça login no utilitário de gerenciamento do CloudHSM:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Faça login como CO e use o comando a seguir para criar um novo usuário do MFA com 2FA:

      aws-cloudhsm>createUser CO MFA <CO USER NAME> -2fa /home/ec2-user/authdata *************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)? yCreating User exampleuser3(CO) on 1 nodesAuthentication data written to: "/home/ec2-user/authdata"Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below.Leave this field blank to use the path initially provided.Enter filename:
    3. Deixe o terminal acima nesse estado. Não pressione enter nem insira nenhum nome de arquivo.

  2. Em outro terminal, execute as seguintes etapas:

    1. Acesse seu HSM e faça login no utilitário de gerenciamento do CloudHSM:

      /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
    2. Gere um par de chaves público-privado usando os seguintes comandos:

      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
      openssl rsa -pubout -in private_key.pem -out public_key.pem
    3. Execute o comando a seguir para instalar um recurso de consulta json para extrair o resumo do arquivo authdata:

      sudo yum install jq
    4. Para extrair o valor do resumo, primeiro encontre os seguintes dados no arquivo authdata:

      { "Version":"1.0", "PublicKey":"", "Data":[ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature":"" } ] }
      nota

      O resumo obtido é codificado em base64. No entanto, para assinar o resumo, primeiro você precisa que o arquivo seja decodificado e depois assinado. O comando a seguir decodificará o resumo e armazenará o conteúdo decodificado em “digest1.bin”

      cat authdata | jq '.Data[0].Digest' | cut -c2- | rev | cut -c2- | rev | base64 -d > digest1.bin
    5. Converta o conteúdo da chave pública, adicionando "\n" e removendo espaços conforme mostrado aqui:

      -----BEGIN PUBLIC KEY-----\n<PUBLIC KEY>\n-----END PUBLIC KEY-----
      Importante

      O comando acima mostra como "\n" é adicionado imediatamente depois de BEGIN PUBLIC KEY-----, os espaços entre "\n" e o primeiro caractere da chave pública são removidos, "\n" é adicionado antes -----END PUBLIC KEY e os espaços são removidos entre "\n" e o final da chave pública.

      Esse é o formato PEM para chave pública aceito no arquivo authdata.

    6. Cole o conteúdo do formato pem da chave pública na seção de chave pública no arquivo authdata.

      vi authdata
      { "Version":"1.0", "PublicKey":"-----BEGIN PUBLIC KEY-----\n<"PUBLIC KEY">\n-----END PUBLIC KEY-----", "Data":[ { "HsmId":<"HSM ID">, "Digest":<"DIGEST">, "Signature":”” } ] }
    7. Assine um arquivo de token usando o seguinte comando:

      openssl pkeyutl -sign -in digest1.bin -inkey private_key.pem -pkeyopt digest:sha256 | base64 Output Expected: <"THE SIGNATURE">
      nota

      Conforme mostrado no comando acima, use openssl pkeyutl em vez de openssl dgst para assinar.

    8. Adicione o resumo assinado no arquivo Authdata no campo “Assinatura”.

      vi authdata
      { "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": <"HSM ID">, "Digest": <"DIGEST">, "Signature": "K1hxy ... Q261Q==" } ] }
  3. Volte para o primeiro terminal e pressione Enter:

    Generate Base64-encoded signatures for SHA256 digests in the authentication datafile. To generate the signatures, use the RSA private key, which is the second factor ofauthentication for this user. Paste the signatures and the corresponding public keyinto the authentication data file and provide the file path below. Leave this field blank to use the path initially provided. Enter filename: >>>>> Press Enter here createUser success on server 0(10.0.1.11)

Gerenciar 2FA para usuários de HSM

Use a alteração de senha para alterar a senha de um usuário de 2FA, para ativar ou desativar a 2FA, ou para alternar a chave de 2FA. Cada vez que você habilita a 2FA, deve fornecer uma chave pública para logins de 2FA.

A alteração da senha executa um ou todos os seguintes cenários:

  • Alterar a senha para um usuário de 2FA

  • Alterar a senha para um usuário que não seja 2FA

  • Adicionar 2FA a um usuário que não seja 2FA

  • Remover 2FA de um usuário de 2FA

  • Rotacionar a chave para um usuário de 2FA

Você também pode combinar tarefas. Por exemplo, você pode remover a 2FA de um usuário e alterar a senha ao mesmo tempo, ou pode alternar a chave 2FA e alterar a senha do usuário.

Para alterar senhas ou alternar chaves para usuários de CO com 2FA habilitado
  1. Use o CMU para fazer login no HSM como um CO com 2FA ativado.

  2. Use changePswd para alterar a senha ou alternar a chave de usuários de CO com 2FA habilitado. Use o -2fa parâmetro e inclua um local no sistema de arquivos para que o sistema grave o authdata arquivo. Esse arquivo inclui um resumo para cada HSM no cluster.

    aws-cloudhsm>changePswd CO example-user <new-password> -2fa /path/to/authdata

    O CMU solicita que você use a chave privada para assinar os resumos no authdata arquivo e retornar as assinaturas com a chave pública.

  3. Use a chave privada para assinar os resumos no authdata arquivo, adicionar as assinaturas e a chave pública ao authdata arquivo formatado em JSON e, em seguida, fornecer à CMU a localização do authdata arquivo. Para obter mais informações, consulte Referência da configuração.

    nota

    O cluster usa a mesma chave para autenticação de quórum e de 2FA. Se você estiver usando a autenticação de quórum ou planeja usar a autenticação de quórum, consulte. Autenticação de quórum e 2FA

Para desativar 2FA para usuários de CO com 2FA ativado
  1. Use o CMU para fazer login no HSM como um CO com 2FA ativado.

  2. Use changePswd para remover 2FA de usuários de CO com 2FA habilitado.

    aws-cloudhsm>changePswd CO example-user <new password>

    A CMU solicita a operação de alteração de senha.

    nota

    Se você remover o requisito de 2FA ou alterar a senha de um usuário de 2FA que também seja usuário de autenticação de quórum, também removerá o registro do usuário do quórum como usuário do MoFN. Para obter mais informações sobre usuários do quórum e 2FA, consulte Autenticação de quórum e 2FA.

  3. Digite y.

    A CMU confirma a operação de alteração de senha.

Referência da configuração

Veja a seguir um exemplo das propriedades de 2FA no authdata arquivo para a solicitação gerada pela CMU e suas respostas.

{ "Version": "1.0", "PublicKey": "-----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY-----", "Data": [ { "HsmId": "hsm-lgavqitns2a", "Digest": "k5O1p3f6foQRVQH7S8Rrjcau6h3TYqsSdr16A54+qG8=", "Signature": "Kkdl ... rkrvJ6Q==" }, { "HsmId": "hsm-lgavqitns2a", "Digest": "IyBcx4I5Vyx1jztwvXinCBQd9lDx8oQe7iRrWjBAi1w=", "Signature": "K1hxy ... Q261Q==" } ] }
Dados

Nó de nível superior. Contém um nó subordinado para cada HSM no cluster. Aparece nas solicitações e respostas de todos os comandos 2FA.

Resumo

Isso é o que você deve assinar para fornecer o segundo fator de autenticação. CMU gerada em solicitações para todos os comandos 2FA.

HsmId

O ID do seu HSM. Aparece nas solicitações e respostas de todos os comandos 2FA.

PublicKey

A parte da chave pública do par de chaves que você gerou foi inserida como string formatada em PEM. Você insere isso nas respostas para createUser e changePswd.

Assinatura

O resumo assinado codificado em Base 64. Você insere isso nas respostas para todos os comandos 2FA.

Version (Versão)

A versão do arquivo dos dados de autenticação formatado em JSON. Aparece nas solicitações e respostas de todos os comandos 2FA.