Configurar a autenticação de quórum para administradores do AWS CloudHSM usando a CLI do 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á.

Configurar a autenticação de quórum para administradores do AWS CloudHSM usando a CLI do CloudHSM

Os tópicos a seguir descrevem as etapas que você deve concluir para configurar seu módulo de segurança de hardware (HSM) para que os AWS CloudHSM administradores possam usar a autenticação de quorum. Você precisa realizar essas etapas apenas uma vez ao configurar inicialmente a autenticação de quorum para administradores. Depois de concluir essas etapas, consulte Gerenciamento de usuários com autenticação de quorum habilitada para usar o CloudHSM AWS CloudHSM CLI.

Pré-requisitos

Para entender esse exemplo, você deve estar familiarizado com o CloudHSM CLI.

Etapa 1. Criar e registrar uma chave para assinatura

Para usar a autenticação de quórum, cada administrador deve concluir 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. Para usar esse exemplo, <admin.key> substitua pelo nome do arquivo em que você deseja armazenar a chave.

$ openssl genrsa -out <admin.key> Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001)

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 admin.key -outform PEM -pubout -out admin1.pub 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 de registro
  1. Use o comando a seguir para iniciar CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Crie um token de registro executando o comando quorum token-sign generate:

    aws-cloudhsm > quorum token-sign generate --service registration --token /path/tokenfile { "error_code": 0, "data": { "path": "/path/tokenfile" } }
  3. O comando quorum token-sign generate gera um token de registro no caminho de arquivo especificado. Inspecione o arquivo de token:

    $ cat /path/tokenfile{ "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": "" } ] }

    O caminho do arquivo consiste no seguinte:

    • approval_data: um token de dados aleatório codificado em base64 cujos dados brutos não excedem o máximo de 245 bytes.

    • unsigned: um token codificado em base64 e com SHA256 hash do approval_data.

    • signed: um token assinado codificado em base64 (assinatura) do token não assinado, usando a chave privada RSA de 2048 bits gerada anteriormente com o OpenSSL.

    Você assina o token não assinado com a chave privada para demonstrar que tem acesso à chave privada. Você precisará do arquivo de token de registro totalmente preenchido com uma assinatura e a chave pública para registrar o administrador como usuário de quórum no cluster. AWS CloudHSM

exemplo Assine o token de registro não assinado
  1. Decodifique o token não assinado codificado em base64 e coloque-o em um arquivo binário:

    $ echo -n '6BMUj6mUjjko6ZLCEdzGlWpR5sILhFJfqhW1ej3Oq1g=' | base64 -d > admin.bin
  2. Use OpenSSL e a chave privada para assinar o token de registro não assinado, agora binário, e criar um arquivo de assinatura binária:

    $ openssl pkeyutl -sign \ -inkey admin.key \ -pkeyopt digest:sha256 \ -keyform PEM \ -in admin.bin \ -out admin.sig.bin
  3. Codifique a assinatura binária em base64:

    $ base64 -w0 admin.sig.bin > admin.sig.b64
  4. Copie e cole a assinatura codificada em base64 no arquivo de token:

    { "version": "2.0", "tokens": [ { "approval_data": <approval data in base64 encoding>, "unsigned": <unsigned token in base64 encoding>, "signed": <signed token in base64 encoding> } ] }

Registrar uma chave pública no HSM

Depois de criar uma chave, o administrador deve registrar a chave pública no AWS CloudHSM cluster.

Para registrar uma chave pública no HSM
  1. Use o comando a seguir para iniciar CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando a CLI do CloudHSM, faça login como administrador.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Use o comando Registrar a estratégia de quórum de assinatura de token de um usuário usando a CLI do CloudHSM para registrar a chave pública. Para obter mais informações, consulte o exemplo a seguir ou use o comando help user change-quorum token-sign register.

exemplo — Registrar uma chave pública com o AWS CloudHSM cluster

O exemplo a seguir mostra como usar o comando user change-quorum token-sign register na CloudHSM CLI para registrar a chave pública de um administrador no HSM. Para usar esse comando, o CO deve estar conectado no HSM. Substitua esses valores pelos seus próprios:

aws-cloudhsm > user change-quorum token-sign register --public-key </path/admin.pub> --signed-token </path/tokenfile> { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
nota

/path/admin.pub: o caminho do arquivo PEM de chave pública

Obrigatório: Sim

/path/tokenfile: o caminho do arquivo com token assinado pela chave privada do usuário

Obrigatório: Sim

Depois que todos os administradores registrarem suas chaves públicas, a saída do comando user list mostra essa informação no campo de quórum, informando a estratégia de quórum ativada em uso, conforme mostrado abaixo:

aws-cloudhsm > user list { "error_code": 0, "data": { "users": [ { "username": "admin", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin2", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin3", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "admin4", "role": "admin", "locked": "false", "mfa": [], "quorum": [ { "strategy": "token-sign", "status": "enabled" } ], "cluster-coverage": "full" }, { "username": "app_user", "role": "internal(APPLIANCE_USER)", "locked": "false", "mfa": [], "quorum": [], "cluster-coverage": "full" } ] } }

Neste exemplo, o AWS CloudHSM cluster tem dois HSMs, cada um com os mesmos administradores, conforme mostrado na saída a seguir do user list comando. Para obter mais informações sobre a criação de usuários, consulte Gerenciamento de usuários com a CLI do CloudHSM

Etapa 2. Definir o valor mínimo do quorum no HSM

Para usar a autenticação de quórum, um administrador deve fazer login no HSM e, em seguida, definir o valor mínimo de quorum. Esse é o número mínimo de aprovações de administrador necessárias para realizar operações de gerenciamento de usuários do HSM. Qualquer administrador no HSM pode definir o valor mínimo de quorum, incluindo administradores que não tenham registrado uma chave para assinatura. Você pode alterar o valor mínimo do quórum 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 CloudHSM CLI:

    Linux
    $ /opt/cloudhsm/bin/cloudhsm-cli interactive
    Windows
    C:\Program Files\Amazon\CloudHSM\bin\> .\cloudhsm-cli.exe interactive
  2. Usando a CLI do CloudHSM, faça login como administrador.

    aws-cloudhsm > login --username admin --role admin Enter password: { "error_code": 0, "data": { "username": "admin", "role": "admin" } }
  3. Use o comando Atualizar um valor de quórum usando a CLI do CloudHSM para definir o valor mínimo do quorum. A --service bandeira identifica o serviço HSM para o qual você está definindo valores. Veja o exemplo a seguir ou use o help quorum token-sign set-quorum-value comando para obter mais informações.

exemplo Definir o valor mínimo do quorum no HSM

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

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

aws-cloudhsm > quorum token-sign set-quorum-value --service user --value <2> { "error_code": 0, "data": "Set quorum value successful" }

Neste exemplo, o Mostrar valores de quórum usando a CLI do CloudHSM comando lista os tipos, nomes e descrições do serviço HSM que estão incluídos no serviço.

Valores mínimos de quórum

Use o comando quorum token-sign list-quorum-values para obter o valor mínimo de quorum para um serviço:

aws-cloudhsm > quorum token-sign list-quorum-values { "error_code": 0, "data": { "user": 2, "quorum": 1 } }

A saída do comando quorum token-sign list-quorum-values anterior mostra que o valor mínimo de quorum para as operações de gerenciamento de usuários do HSM, responsável pelas operações de gerenciamento de usuário, é agora dois (2). Depois de concluir essas etapas, consulte Gerenciamento de usuários com quórum (M de N).

Serviços administrativos: a autenticação de quórum é usada para serviços com privilégios administrativos, como criar usuários, excluir usuários, alterar senhas de usuários, definir valores de quórum e desativar recursos de quórum e MFA.

Serviços de criptografia para usuários: a autenticação de quórum é usada para serviços privilegiados de usuários criptográficos associados a uma chave específica, como assinar com uma chave, uma chave e definir o atributo de sharing/unsharing a key, wrapping/unwrapping uma chave. O valor do quorum de uma chave associada é configurado quando a chave é gerada, importada ou desempacotada. O valor do quórum deve ser igual ou menor que o número de usuários aos quais a chave está associada, o que inclui usuários com os quais a chave é compartilhada e o proprietário da chave.

Cada tipo de serviço é subdividido em um nome de serviço qualificado, que contém um conjunto específico de operações de serviço suportadas por quórum que podem ser executadas.

Nome do serviço Tipo de serviço Operações de serviço
usuário Administrador
  • criar usuário

  • excluir usuário

  • alterar senha de usuário

  • user change-mfa

quorum Administrador
  • sinal simbólico de quórum set-quorum-value

cluster1 Administrador
  • cluster mtls register-trust-anchor

  • cluster mtls deregister-trust-anchor

  • cluster mtls set-enforcement

gerenciamento de chaves Usuário criptográfico
  • envoltório de chaves

  • chave: desembrulhar

  • compartilhamento de chaves

  • descompartilhar chave

  • atributo do conjunto de chaves

uso de chaves Usuário criptográfico
  • sinal chave

[1] O serviço de cluster está disponível exclusivamente em instâncias hsm2m.medium