Todos os produtos
Search
Central de documentação

Key Management Service:Use um cluster GVSM validado pelo NIST FIPS

Última atualização: Jun 27, 2026

Configure um cluster de Cloud Hardware Security Module (Cloud HSM) do zero: ative um hardware security module (HSM) como mestre, crie e ative o cluster, conecte o cliente HSM e gere sua primeira chave criptográfica.

Aviso

Não use chaves de teste em ambientes de produção. Essas chaves servem apenas para validação e não oferecem as garantias de segurança exigidas em produção.

Para usar um cluster HSM com uma instância do Key Management Service (KMS) do tipo gerenciamento de chaves de hardware, consulte Configurar um cluster HSM para uma instância do KMS do tipo gerenciamento de chaves de hardware . As etapas 4 e 5 deste guia não se aplicam a esse cenário.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um HSM adquirido e ativado. Consulte Adquirir e ativar um HSM.

  • Uma instância ECS executando CentOS 8 ou Alibaba Cloud Linux na mesma Virtual Private Cloud (VPC) do HSM. Essa instância ECS serve para instalar a ferramenta de gerenciamento do HSM, e não como servidor de negócios. Consulte Introdução às instâncias Linux.

Etapa 1: Ativar um HSM como mestre

Um cluster HSM consiste em um HSM mestre e vários HSMs não mestres. Antes de criar o cluster, designe um HSM como mestre.

  1. Acesse a página VSMs no console do Cloud Hardware Security Module. Na barra de navegação superior, selecione uma região.

  2. Na página VSMs, localize o HSM e clique em Enable na coluna Actions.

  3. Na caixa de diálogo Configure HSM instance, defina os parâmetros a seguir e clique em OK. Após a configuração bem-sucedida, o Status do HSM muda para Enabled.

    Parâmetro

    Descrição

    VPC ID

    A VPC a ser vinculada ao HSM.

    VPC subnet

    A sub-rede a ser atribuída ao HSM na VPC.

    Private IP address

    O endereço IP privado a ser atribuído ao HSM. Deve pertencer à sub-rede selecionada. O sistema reserva endereços IP cujo último octeto é 253, 254 ou 255 — não os utilize.

    Configure HSM whitelist

    Os endereços IP ou blocos CIDR com permissão para acessar o HSM. Suporta até 10 entradas (uma por linha). Se deixado em branco, todos os endereços IP poderão acessar o HSM. Caso haja uma lista de permissões configurada para o cluster, ela terá precedência sobre a lista do HSM. A entrada 0.0.0.0/0 não é suportada — para permitir todos os endereços IP, deixe a lista de permissões em branco.

Etapa 2: Criar e ativar um cluster HSM

Esta etapa estabelece sua propriedade e controle sobre o cluster por meio de uma cadeia de confiança baseada em certificados. O processo envolve:

  • Criar o cluster e especificar a configuração de rede

  • Gerar uma autoridade certificadora (CA) autoassinada e usá-la para assinar a solicitação de assinatura de certificado (CSR) do cluster

  • Inicializar o HSM mestre com a ferramenta de gerenciamento do HSM

Os HSMs na mesma zona usam a mesma sub-rede VPC.

Criar o cluster

  1. Na página VSMs, localize o HSM mestre e clique em Create cluster na coluna Actions.

  2. No painel Create and activate cluster, conclua a etapa Create cluster e clique em Next.

    Parâmetro

    Descrição

    Cluster name

    Um nome exclusivo para o cluster. Máximo de 24 caracteres.

    Configure whitelist

    Os endereços IP ou blocos CIDR com permissão para acessar o cluster. Suporta até 10 entradas (uma por linha). A lista de permissões do cluster tem precedência sobre qualquer lista de permissões no nível do HSM. A entrada 0.0.0.0/0 não é suportada — para permitir todos os endereços IP, deixe a lista de permissões em branco.

    Specify vSwitches

    Os vSwitches para o cluster. São necessários pelo menos 2 vSwitches.

Ativar o cluster

Importar um certificado de cluster

O processo de ativação do cluster usa um certificado CA gerado localmente para assinar a CSR do cluster. Isso comprova sua propriedade dos HSMs e cria a base de confiança para todas as conexões futuras.

  1. Na seção Upload cluster certificate, clique em Cluster CSR certificate para baixar o arquivo CSR (cluster.csr). Faça upload do arquivo para sua instância ECS.

  2. Gere uma chave privada e defina uma senha para ela. Isso cria o arquivo issuerCA.key.

    openssl genrsa -aes256 -out issuerCA.key 2048
  3. Crie um certificado CA autoassinado. Isso gera o arquivo issuerCA.crt, que será usado nas etapas seguintes.

    openssl req -new -x509 -days 3652 -key issuerCA.key -out issuerCA.crt
  4. Assine a CSR do cluster usando seu certificado CA e a chave correspondente. Isso gera o arquivo cluster.crt, que você enviará ao console na próxima etapa.

    Este comando usa cluster.csr , issuerCA.crt e issuerCA.key .
    openssl x509 -req -in cluster.csr -days 3652 -CA issuerCA.crt -CAkey issuerCA.key -set_serial 01 -out cluster.crt
  5. De volta à etapa Activate cluster no console, importe o certificado e clique em Submit:

    • Na seção Enter the issuer certificate in PEM format, cole o conteúdo de issuerCA.crt.

    • Na seção Enter the issued cluster certificate in PEM format, cole o conteúdo de cluster.crt.

Inicializar o HSM mestre

Importante

O HSM mestre só pode ser inicializado usando a ferramenta de gerenciamento do HSM em um sistema operacional Linux.

Etapa 1: Baixar a ferramenta de gerenciamento do HSM

A versão da ferramenta varia conforme a região onde o HSM está localizado.

Região Indonésia (Jacarta)

Todas as regiões exceto Indonésia (Jacarta)

A versão da ferramenta depende da sua região:

Etapa 2: Instalar a ferramenta de gerenciamento do HSM

A ferramenta é instalada em /opt/hsm.

  • CentOS — substitua <TOOL_NAME> pelo nome real do arquivo (por exemplo, hsm-client-v2.09.07.02-1.202411041707.x86_64.rpm):

    sudo yum install -y <TOOL_NAME>
  • Debian — substitua <TOOL_NAME> pelo nome real do arquivo (por exemplo, hsm-client-2.03.15.10-20240710_1.x86_64.deb):

    sudo dpkg -i <TOOL_NAME>

Etapa 3: Atualizar o arquivo de configuração do cliente

Edite a seção servers do arquivo /opt/hsm/etc/hsm_mgmt_tool.cfg:

  • Defina name e hostname como o endereço IP privado do HSM mestre (visível na página Instances).

  • Defina owner_cert_path como o caminho completo de issuerCA.crt.

Exemplo de configuração:

{
 "servers": [
 {
 "name" : "172.16.XX.XX",
 "hostname" : "172.16.XX.XX",
 "port" : 2225,
 "certificate": "/opt/hsm/etc/client.crt",
 "pkey": "/opt/hsm/etc/client.key",
 "CAfile": "",
 "CApath": "/opt/hsm/etc/certs",
 "ssl_ciphers": "",
 "server_ssl" : "yes",
 "enable" : "yes",
 "owner_cert_path":"<issuerCA.crt_FILE_PATH>"
 }],
 "scard": {
 "enable": "no",
 "port": 2225,
 "ssl": "no",
 "ssl_ciphers": "",
 "certificate": "cert-sc",
 "pkey": "pkey-sc"
 }
}

Etapa 4: Fazer login no HSM mestre e verificar usuários

  1. Faça login no HSM mestre:

    /opt/hsm/bin/hsm_mgmt_tool /opt/hsm/etc/hsm_mgmt_tool.cfg
  2. Execute listUsers para visualizar os usuários padrão:

    cloudmgmt>listUsers
    Users on server 0(172.16.XX.XX):
    Number of users found:2
    
        User Id            User Type          User Name                     MofnPubKey       LoginFailureCnt            2FA
             1             PRECO          admin                                       NO               0                     NO
             2             AU             app_user                                    NO               0                     NO

    Os usuários padrão são admin (precrypto officer, PRECO) e app_user (app user, AU).

Etapa 5: Promover o PRECO a crypto officer (CO)

  1. Faça login como PRECO:

    server0>loginHSM PRECO admin password
    loginHSM success
  2. Altere a senha do PRECO. Isso promove o usuário admin de PRECO para CO:

    cloudmgmt>changePswd PRECO admin <NewPassword>
  3. Verifique a alteração de função com listUsers:

    cloudmgmt>listUsers
    Users on server 0(172.16.XX.XX):
    Number of users found:2
    
        User Id            User Type          User Name                     MofnPubKey       LoginFailureCnt            2FA
             1             CO             admin                                       NO               0                     NO
             2             AU             app_user                                    NO               0                     NO

    O usuário admin agora aparece como CO.

Etapa 6: Criar um crypto user (CU)

Aviso

Crie o CU antes de adicionar quaisquer HSMs não mestres ao cluster. As informações do CU são sincronizadas com os HSMs não mestres apenas no momento da adição — HSMs adicionados antes da criação do CU não terão o usuário CU.

  1. Execute createUser para criar um CU. Nome de usuário: até 20 caracteres ASCII. Senha: 8–32 caracteres ASCII.

    Se estiver configurando o cluster para uma instância de gerenciamento de chaves de hardware do KMS, use kmsuser como nome de usuário.
    createUser CU crypto_user <enter password>
  2. Execute listUsers para confirmar que o CU foi criado:

    cloudmgmt>listUsers
    Users on server 0(172.16.XX.XX):
    Number of users found:3
    
        User Id         User Type       User Name                  MofnPubKey    LoginFailureCnt         2FA
             1          CO          admin                                    NO               0               NO
             2          AU          app_user                                 NO               0               NO
             3          CU          crypto_user                              NO               0               NO

Etapa 7: Confirmar o status do HSM mestre e prosseguir

Na etapa Activate cluster do console, clique no ícone update para atualizar o status do HSM mestre e, em seguida, clique em Next.

Adicionar HSMs não mestres

Na etapa Add HSM, adicione os HSMs não mestres ao cluster conforme solicitado e clique em Complete.

Você pode adquirir HSMs adicionais e adicioná-los ao cluster posteriormente, conforme suas necessidades.

Etapa 3: Iniciar o cliente HSM hsm_proxy

O hsm_proxy é o cliente HSM que executa na sua instância ECS e encaminha solicitações criptográficas para o cluster HSM.

  1. Edite o arquivo /opt/hsm/etc/hsm_proxy.cfg: Exemplo de configuração:

    • Defina server.hostname como o endereço IP da VPC à qual a instância atual pertence.

    • Defina client.e2e_owner_crt_path como o caminho completo de issuerCA.crt (o certificado CA autoassinado criado na Etapa 2).

    {
    
        "ssl": {
            "certificate": "/opt/hsm/etc/client.crt",
            "pkey": "/opt/hsm/etc/client.key",
            "CApath": "/opt/hsm/etc/certs",
            "server_ssl": "yes",
            "server_ch_ssl_ciphers": "default"
        },
    
        "client": {
            "socket_type" : "UNIXSOCKET",
            "tcp_port" : 1111,
            "zoneid" : 0,
            "workers" : 1,
            "daemon_id" : 1,
            "reconnect_attempts": -1,
            "reconnect_interval": 1,
            "log_level": "INFO",
            "sslreneg": 0,
            "CriticalAlertScript": "",
            "e2e_owner_crt_path" : "<issuerCA.crt file path>",
            "create_object_minimum_nodes" : 1,
            "logfiles_location" : ""
        },
    
        "loadbalance" : {
            "enable" : "yes",
            "prefer_same_zone": "no",
            "success_rate_weight" : 1,
            "relative_idleness_weight" : 1
        },
    
        "dualfactor": {
            "enable" : "no",
            "port" : 2225,
            "certificate" : "certificate.crt",
            "pkey" : "pkey.pem",
            "dualfactor_ssl": "yes",
            "dualfactor_ch_ssl_ciphers": "default"
        },
    
        "server": {
            "hostname": "<instance ip>",
            "port": 2224
        }
    }
  2. Inicie o hsm_proxy:

    /opt/hsm/bin/hsm_proxy /opt/hsm/etc/hsm_proxy.cfg

    A saída exibe o caminho do arquivo de log:

    logfiles_location is not specified, logs will be available in current directory
    
    Logs will be available in liquidSecurity.1.WKCrty.log file
  3. Verifique a conexão consultando o arquivo de log:

    tail liquidSecurity.1.WKCrty.log

    Uma conexão bem-sucedida inclui a seguinte linha:

    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: HSM FIPS STATE 2

    A saída completa esperada é semelhante a:

    2023-10-28T13:33:05Z liquidSecurity INF: check_preferred_srv_status_noclock: New preferred server node id:0
    2023-10-28T13:33:05Z liquidSecurity INF: do_e2e_encryption_handshake: Trying to login to server as new server connection is established
    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request:  Got Authorize session response
    2023-10-28T13:33:05Z liquidSecurity INF: get_partition_info: Get pHSM Info using e2e mgmtch
    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Authorize session SUCCESS
    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: Got Partition Info
    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: GetPartitionInfo success 0 : HSM Return: SUCCESS
    2023-10-28T13:33:05Z liquidSecurity INF: e2e_handle_client_request: HSM FIPS STATE 2
    2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Initializing events
    2023-10-28T13:33:06Z liquidSecurity INF: libevmulti_init: Ready !

Etapa 4: Criar uma chave

Ignore esta etapa se estiver configurando o cluster para uma instância de gerenciamento de chaves de hardware do KMS. Consulte Configurar um cluster HSM para uma instância de gerenciamento de chaves de hardware do KMS .
  1. Inicie o key_mgmt_tool:

    /opt/hsm/bin/key_mgmt_tool
  2. Faça login como crypto user (CU):

    Command:  loginHSM -u CU -s crypto_user -p <enter password>
    
            Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
    
            Cluster Status:
            Node id 0 status: 0x00000000 : HSM Return: SUCCESS
  3. Gere uma chave simétrica:

    Command:  genSymKey -l testkey -t 31 -s 32
    
            Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS
    
            Symmetric Key Created.  Key Handle: 6
    
            Cluster Status:
            Node id 0 status: 0x00000000 : HSM Return: SUCCESS

    Anote o identificador da chave (6 neste exemplo) — use-o para referenciar a chave nas operações subsequentes.

  4. Confirme a existência da chave com findKey:

    Command:  findKey
    
            Total number of keys present: 1
    
            Number of matching keys from start index 0::0
    
            Handles of matching keys:
            6
    
            Cluster Status:
            Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    
            Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
  5. Saia do key_mgmt_tool:

    Command:  exit

Etapa 5: Criptografar e descriptografar dados

Ignore esta etapa se estiver configurando o cluster para uma instância de gerenciamento de chaves de hardware do KMS. Consulte Configurar um cluster HSM para uma instância de gerenciamento de chaves de hardware do KMS .

Para usar o cluster HSM em operações criptográficas, escolha uma das interfaces a seguir:

Próximos passos

Para gerenciar seu cluster — adicionar ou remover HSMs, renomear o cluster ou atualizar a lista de permissões de acesso — consulte Criar e ativar um cluster HSM validado pelo NIST FIPS.