Usar a autenticação de quorum para responsáveis pela criptografia: configuração inicial - 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á.

Usar a autenticação de quorum para responsáveis pela criptografia: configuração inicial

Os tópicos a seguir descrevem as etapas que você deve concluir para configurar o HSM de forma que os responsáveis pela criptografia (COs) possam usar a autenticação de quorum. Você precisa realizar essas etapas apenas uma vez ao configurar inicialmente a autenticação de quorum para COs. Depois de concluir essas etapas, consulte Usar a autenticação de quorum para oficiais de criptografia.

Pré-requisitos

Para entender esse exemplo, você deve estar familiarizado com a ferramenta da linha de comando do CMUcloudhsm_mgmt_util. Neste exemplo, o AWS CloudHSM cluster tem dois HSMs, cada um com o mesmo CoS, conforme mostrado na saída a seguir do listUsers comando. Para obter mais informações sobre como criar usuários, consulte Gerenciamento de usuários de HSM.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO

Criar e registrar uma chave para assinatura

Para usar a autenticação de quórum, cada CO deve executar todas as etapas a seguir:

Criar um par de chaves RSA

Existem muitas maneiras diferentes de criar e proteger um par de chaves. O exemplo a seguir mostra como fazer isso com o OpenSSL.

exemplo Crie uma chave privada com o OpenSSL

O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave RSA de 2048 bits protegida por um código de acesso. Para usar esse exemplo, substitua officer1.key pelo nome do arquivo onde você deseja armazenar a chave.

$ openssl genrsa -out officer1.key -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for officer1.key: Verifying - Enter pass phrase for officer1.key:

Em seguida, gere a chave pública usando a chave privada que você acabou de criar.

exemplo Crie uma chave pública com o OpenSSL

O exemplo a seguir demonstra como usar o OpenSSL para criar uma chave pública a partir da chave privada que você acabou de criar.

$ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub Enter pass phrase for officer1.key: writing RSA key

Crie e assine um token de registro

Você cria um token e o assina com a chave privada que acabou de gerar na etapa anterior.

exemplo Crie um token

O token de registro é apenas um arquivo com dados randômicos que não excedem o tamanho máximo de 245 bytes. Você assina o token com a chave privada para demonstrar que tem acesso à chave privada. O comando a seguir usa echo para redirecionar uma string para um arquivo.

$ echo "token to be signed" > officer1.token

Assine o token e salve-o em um arquivo de assinatura. Você precisará do token assinado, do token não assinado e da chave pública para registrar o CO como usuário do MoFN no HSM.

exemplo Assine o token

Use o OpenSSL e a chave privada para assinar o token de registro e criar o arquivo de assinatura.

$ openssl dgst -sha256 \ -sign officer1.key \ -out officer1.token.sig officer1.token

Registrar uma chave pública no HSM

Depois de criar uma chave, o CO deve registrar a parte pública dela (a chave pública) no HSM.

Para registrar uma chave pública no HSM
  1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Use o comando loginHSM para fazer login nos HSMs como CO. Para ter mais informações, consulte Gerenciar usuários do HSM com o CloudHSM Management Utility (CMU).

  3. Use o comando registerQuorumPubKey para registrar a chave pública. Para obter mais informações, consulte o exemplo a seguir ou use o comando help registerQuorumPubKey.

exemplo Registrar uma chave pública no HSM

O exemplo a seguir mostra como usar o comando registerQuorumPubKey na ferramenta da linha de comando cloudhsm_mgmt_util para registrar a chave pública de um CO no HSM. Para usar esse comando, o CO deve estar conectado no HSM. Substitua esses valores pelos seus próprios:

aws-cloudhsm> registerQuorumPubKey CO <officer1> <officer1.token> <officer1.token.sig> <officer1.pub> *************************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)?y registerQuorumPubKey success on server 0(10.0.2.14)
<officer1.token>

O caminho para um arquivo que contém um token de registro não assinado. Pode ter qualquer dado aleatório com tamanho máximo de arquivo de 245 bytes.

Obrigatório: Sim

<officer1.token.sig>

O caminho para um arquivo que contém o hash assinado pelo mecanismo SHA256_PKCS do token de registro.

Obrigatório: Sim

<officer1.pub>

O caminho para o arquivo que contém a chave pública de um par de chaves assimétricas RSA-2048. Use a chave privada para assinar o token de registro.

Obrigatório: Sim

Depois que todos os COs registrarem suas chaves públicas, o resultado do comando listUsers mostrará isso na coluna MofnPubKey, como mostrado no exemplo a seguir.

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO

Definir o valor mínimo do quorum no HSM

Para usar a autenticação de quorum para COs, um CO deve fazer login no HSM e, em seguida, definir o valor mínimo de quorum, também conhecido como valor m. Esse é o número mínimo de aprovações de CO necessárias para realizar operações de gerenciamento de usuários do HSM. Qualquer CO no HSM pode definir o valor mínimo de quorum, incluindo COs que não tenham registrado uma chave para assinatura. Você pode alterar o valor mínimo de quorum a qualquer momento. Para obter mais informações, consulte Altere o valor mínimo.

Para definir o valor mínimo do quorum no HSM
  1. Use o comando a seguir para iniciar a ferramenta de linha de comando cloudhsm_mgmt_util.

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. Use o comando loginHSM para fazer login nos HSMs como CO. Para ter mais informações, consulte Gerenciar usuários do HSM com o CloudHSM Management Utility (CMU).

  3. Use o comando setMValue para definir o valor mínimo do quorum. Para obter mais informações, consulte o exemplo a seguir ou use o comando help setMValue.

exemplo Definir o valor mínimo do quorum no HSM

Este exemplo usa um valor mínimo de quorum de dois. Você pode escolher qualquer valor de dois (2) até oito (8), até o número total de COs no HSM. Neste exemplo, o HSM tem seis COs, então o valor máximo possível é seis.

Para usar o comando de exemplo a seguir, substitua o número final (2) pelo valor mínimo de quorum preferido.

aws-cloudhsm>setMValue 3 2 *************************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)?y Setting M Value(2) for 3 on 2 nodes

No exemplo anterior, o primeiro número (3) identifica o serviço HSM cujo valor mínimo de quorum você está configurando.

A tabela a seguir lista os identificadores de serviço do HSM junto com seus nomes, descrições e comandos incluídos no serviço.

Identificadores de dispositivo Nome do serviço Descrição do serviço Comandos do HSM
3 USER_MGMT Gerenciamento de usuários do HSM
  • createUser

  • deleteUser

  • changePswd (aplica-se somente ao alterar a senha de outro usuário do HSM)

4 MISC_CO Serviço de CO diverso
  • setMValue

Para obter o valor mínimo de quorum para um serviço, use o comando getMValue, como no exemplo a seguir.

aws-cloudhsm>getMValue 3 MValue of service 3[USER_MGMT] on server 0 : [2] MValue of service 3[USER_MGMT] on server 1 : [2]

A saída do comando getMValue anterior mostra que o valor mínimo de quorum para as operações de gerenciamento de usuários do HSM (serviço 3) é agora dois.

Depois de concluir essas etapas, consulte Usar a autenticação de quorum para oficiais de criptografia.