+ All Categories
Home > Documents > AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware...

AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware...

Date post: 28-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
424
AWS CloudHSM Guia do usuário
Transcript
Page 1: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSMGuia do usuário

Page 2: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

AWS CloudHSM: Guia do usuárioCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

Table of ContentsO que é AWS CloudHSM? .................................................................................................................. 1

Casos de uso ............................................................................................................................ 1Descarregar o processamento SSL/TLS para servidores web .................................................... 1Proteger as chaves privadas para uma autoridade de certificação (CA) de emissão ....................... 2Habilitar o Transparent Data Encryption (TDE) para bancos de dados da Oracle ........................... 2

Clusters ..................................................................................................................................... 2Arquitetura do cluster .......................................................................................................... 3Sincronização do cluster ...................................................................................................... 4Alta disponibilidade e balanceamento de carga do cluster ......................................................... 5

Backups .................................................................................................................................... 6Visão geral dos backups ..................................................................................................... 7Segurança dos backups ...................................................................................................... 7Durabilidade dos backups .................................................................................................... 8Frequência dos backups ...................................................................................................... 8

Ferramentas e bibliotecas de cliente ............................................................................................. 9Cliente do AWS CloudHSM .................................................................................................. 9Ferramentas de linha de comando da AWS CloudHSM .......................................................... 10Bibliotecas de software de AWS CloudHSM .......................................................................... 11

Usuários do HSM ..................................................................................................................... 11Oficial de pré-criptografia (PRECO) ..................................................................................... 11Responsável pela criptografia (CO) ..................................................................................... 11Usuário de criptografia (CU) ............................................................................................... 11Usuário de dispositivo (AU) ................................................................................................ 12Tabela de permissões de usuário do HSM ........................................................................... 12

Definição de preço .................................................................................................................... 13Regiões ................................................................................................................................... 13Cotas ...................................................................................................................................... 13

Recursos do sistema ......................................................................................................... 14Conceitos básicos ............................................................................................................................. 16

Criar administradores do IAM ..................................................................................................... 16Criar um usuário e um grupo de administradores do IAM ........................................................ 17

Criar uma VPC ......................................................................................................................... 18Criar uma sub-rede privada ........................................................................................................ 18Criar um cluster ........................................................................................................................ 18Rever grupo de segurança do cluster .......................................................................................... 20Iniciar um cliente do EC2 ........................................................................................................... 20Conectar a instância do EC2 ao cluster ....................................................................................... 22

Modificar o grupo de segurança padrão ............................................................................... 22Conecte a instância do Amazon EC2 ao cluster do AWS CloudHSM ......................................... 23

Criar um HSM .......................................................................................................................... 23Verificar a identidade do HSM (opcional) ...................................................................................... 24

Overview ......................................................................................................................... 25Obter certificados do HSM ................................................................................................. 27Obter certificados raiz ........................................................................................................ 28Verificar cadeias de certificados .......................................................................................... 29Extrair e comparar chaves públicas ..................................................................................... 30

Inicializar o cluster .................................................................................................................... 30Obter a Solicitação de assinatura de certificado (CSR) do cluster ............................................. 31Assinar a CSR ................................................................................................................. 32Inicializar o cluster ............................................................................................................ 33

Instalar o cliente (Linux) ............................................................................................................. 35Instalar o AWS CloudHSM cliente e as ferramentas da linha de comando .................................. 35Editar a configuração do cliente .......................................................................................... 36

Instalar o cliente (Windows) ....................................................................................................... 37

iii

Page 4: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

Ativar o cluster ......................................................................................................................... 37Reconfigurar SSL (opcional) ....................................................................................................... 39Práticas recomendadas .............................................................................................................. 40

Diretrizes operacionais básicas do AWS CloudHSM ............................................................... 40Gerenciar clusters ............................................................................................................................. 42

Adicionar ou remover HSMs ....................................................................................................... 42Adicionar um HSM ............................................................................................................ 42Removendo um HSM ........................................................................................................ 44

Copiar um backup entre regiões ................................................................................................. 45Criar um cluster a partir de um backup ........................................................................................ 46Excluir e restaurar um backup .................................................................................................... 47Exclusão de um cluster ............................................................................................................. 48Marcação de recursos ............................................................................................................... 49

Adicionar ou atualizar tags ................................................................................................. 50Listar tags ........................................................................................................................ 51Remover tags ................................................................................................................... 51

Gerenciar usuários e chaves do HSM .................................................................................................. 53Gerenciamento de usuários de HSM ........................................................................................... 53

Criar usuários ................................................................................................................... 53Listar usuários .................................................................................................................. 54Alterar a senha de um usuário ............................................................................................ 55Excluir usuários ................................................................................................................ 55

Gerenciamento de chaves .......................................................................................................... 56Sincronização da chave ..................................................................................................... 56Usar chaves confiáveis para controlar desencapsulamentos de chaves ..................................... 60Empacotamento de chaves AES ......................................................................................... 62Utilizar a linha de comando ................................................................................................ 64

Autenticação de quorum (M de N) ............................................................................................... 69Visão geral da autenticação de quorum ............................................................................... 70Detalhes adicionais sobre a autenticação de quorum .............................................................. 70Configuração inicial para oficiais de criptografia ..................................................................... 70Autenticação de quorum para oficiais de criptografia .............................................................. 75Alterar o valor do quorum para oficiais de criptografia ............................................................ 80

Ferramentas de linha de comando ...................................................................................................... 83cloudhsm_mgmt_util .................................................................................................................. 83

Conceitos básicos ............................................................................................................. 84Referência ....................................................................................................................... 90

key_mgmt_util ......................................................................................................................... 131Conceitos básicos ........................................................................................................... 131Referência ...................................................................................................................... 134

Ferramenta Configure .............................................................................................................. 220Sintaxe .......................................................................................................................... 220Exemplos ....................................................................................................................... 220Parâmetros ..................................................................................................................... 224Tópicos relacionados ....................................................................................................... 225

Usar as bibliotecas de software ......................................................................................................... 226Biblioteca PKCS #11 ............................................................................................................... 226

Instalação ...................................................................................................................... 226Autenticar ....................................................................................................................... 228Tipos de chave ............................................................................................................... 228Mecanismos ................................................................................................................... 229Operações de API ........................................................................................................... 237Atributos. ....................................................................................................................... 238Amostras ....................................................................................................................... 249

Mecanismo dinâmico do OpenSSL ............................................................................................ 250Instalação do Mecanismo dinâmico do OpenSSL ................................................................. 250

Fornecedor de JCE ................................................................................................................. 253

iv

Page 5: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

Instalar do Fornecedor de JCE ......................................................................................... 253Mecanismos compatíveis .................................................................................................. 257Atributos Java compatíveis ............................................................................................... 261Exemplos de Java ........................................................................................................... 268CloudHSM KeyStore ........................................................................................................ 268Use o repositório de chaves do AWS CloudHSM com ferramentas .......................................... 271

Provedores de KSP e CNG ...................................................................................................... 282Verificar instalação do fornecedor ...................................................................................... 283Pré-requisitos: ................................................................................................................. 284Associar uma chave a um certificado ................................................................................. 286Exemplo de código .......................................................................................................... 287

Integrar aplicativos de terceiros ......................................................................................................... 292Descarregamento de SSL/TLS .................................................................................................. 292

Como ele funciona .......................................................................................................... 293Descarregamento de SSL/TLS no Linux ............................................................................. 294Descarregamento de SSL/TLS no Windows ........................................................................ 310

CA do Windows Server ............................................................................................................ 323Configurar pré-requisitos .................................................................................................. 323Criar CA do Windows Server ............................................................................................ 324Assine uma CSR ............................................................................................................ 326

Criptografia do Oracle Database ................................................................................................ 326Configurar pré-requisitos .................................................................................................. 327Configurar o banco de dados ............................................................................................ 328

Microsoft SignTool ................................................................................................................... 331Etapa 1 da Microsoft SignTool com AWS CloudHSM: Configurar os pré-requisitos ..................... 331Etapa 2 da Microsoft SignTool com AWS CloudHSM: Criar um certificado de assinatura ............. 332Etapa 3 da Microsoft SignTool com o AWS CloudHSM: Assinar um arquivo .............................. 333

Outras integrações de fornecedores terceiros .............................................................................. 334Monitorar logs ................................................................................................................................. 336

Obter logs de cliente ............................................................................................................... 336Registro em log de chamadas à API do AWS CloudHSM com o AWS CloudTrail ............................... 337

Informações do AWS CloudHSM no CloudTrail .................................................................... 338Noções básicas das entradas dos arquivos de log do AWS CloudHSM .................................... 338

Monitorar logs de auditoria ....................................................................................................... 339Como funciona o registro em log de auditoria ...................................................................... 340Visualizar logs de auditoria em CloudWatch Logs ................................................................ 340Interpretar logs de auditoria do HSM .................................................................................. 343Referência do log de auditoria .......................................................................................... 354

Obter métricas ................................................................................................................................ 356Obter métricas do CloudWatch .................................................................................................. 356

Segurança ...................................................................................................................................... 357Proteção de dados .................................................................................................................. 357

Criptografia em repouso ................................................................................................... 358Criptografia em trânsito .................................................................................................... 358

Identity and Access Management .............................................................................................. 358Conceder permissões usando políticas do IAM .................................................................... 359Ações da API para o AWS CloudHSM ............................................................................... 359Chaves de condição do AWS CloudHSM ............................................................................ 360Políticas predefinidas gerenciadas pela AWS para o AWS CloudHSM ..................................... 360Políticas gerenciadas pelo cliente para o AWS CloudHSM ..................................................... 360Funções vinculadas ao serviço .......................................................................................... 362

Validação FIPS ....................................................................................................................... 364Resiliência .............................................................................................................................. 364Segurança da infraestrutura ...................................................................................................... 365

Isolamento de rede ......................................................................................................... 365Autorização dos usuários ................................................................................................. 365

Gerenciamento de atualizações ................................................................................................. 365

v

Page 6: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

Solução de problemas ..................................................................................................................... 366Problemas conhecidos ............................................................................................................. 366

Problemas conhecidos para todas as instâncias do HSM ...................................................... 366Problemas conhecidos de instâncias do Amazon EC2 que executam o Amazon Linux 2 .............. 369Problemas conhecidos para o Biblioteca PKCS #11 ............................................................. 369Problemas conhecidos do SDK do JCE .............................................................................. 373Problemas conhecidos para o Mecanismo dinâmico do OpenSSL ........................................... 374Problemas conhecidos para a integração de aplicativos de terceiros ....................................... 376

Conexão perdida ..................................................................................................................... 376Manter os usuários do HSM em sincronia ................................................................................... 378Verificar o desempenho ........................................................................................................... 378Resolver falhas na criação do cluster ......................................................................................... 382

Adicionar a permissão ausente ......................................................................................... 382Criar a função vinculada ao serviço manualmente ................................................................ 383Usar um usuário não federado .......................................................................................... 383

Logs de auditoria do AWS CloudHSM não encontrados CloudWatch ............................................... 383Recuperação de logs de configuração do cliente ......................................................................... 384

Execução do script de log do cliente .................................................................................. 384Invólucros de chaves AES não conformes .................................................................................. 384

Determine se o seu código gera teclas com invólucro irrecuperável ......................................... 384Ações que deve tomar se o seu código gerar teclas com invólucro irrecuperável ....................... 385

Principais falhas de sincronização ............................................................................................. 386Informações sobre o software e cliente .............................................................................................. 387

Histórico de versões ................................................................................................................ 387Versão 3.2.0 ................................................................................................................... 388Versão 3.1.2 ................................................................................................................... 390Versão 3.1.1 ................................................................................................................... 392Versão 3.1.0 ................................................................................................................... 393Versões de cliente e software defasadas ............................................................................ 396

Plataformas com suporte .......................................................................................................... 407Suporte da plataforma base .............................................................................................. 407Biblioteca PKCS #11 ....................................................................................................... 408Fornecedor de JCE ......................................................................................................... 408Mecanismo dinâmico do OpenSSL .................................................................................... 408Fornecedores de CNG e KSP ........................................................................................... 408

Atualização do cliente .............................................................................................................. 408Pré-requisitos ................................................................................................................. 409Etapa 1: interromper o cliente ........................................................................................... 412Etapa 2: atualizar o cliente e as bibliotecas ......................................................................... 412Etapa 3: iniciar o cliente ................................................................................................... 413

Histórico de documentos .................................................................................................................. 415Atualizações recentes .............................................................................................................. 415Atualizações anteriores ............................................................................................................ 417

................................................................................................................................................. cdxviii

vi

Page 7: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCasos de uso

O que é AWS CloudHSM?O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo desegurança de hardware (HSM) é um dispositivo computacional que processa operações de criptografia eoferece armazenamento seguro para chaves criptográficas.

Ao usar um HSM do AWS CloudHSM, é possível executar diversas tarefas de criptografia:

• Gerar, armazenar, importar, exportar e gerenciar chaves criptográficas, incluindo chaves simétricas epares de chaves assimétricas.

• Usar algoritmos simétricos e assimétricos para criptografar e descriptografar dados.• Usar funções de hash criptográficas para computar resumos de mensagens e códigos de autenticação

de mensagem baseados em hash (HMACs).• Assinar dados de forma criptográfica (incluindo assinatura de código) e verificar assinaturas.• Gerar dados aleatórios seguros de forma criptográfica.

Se deseja um serviço gerenciado para a criação e controle das chaves de criptografia, mas não quer ounão precisa operar seu próprio HSM, considere usar o AWS Key Management Service.

Para saber mais sobre o que fazer com o AWS CloudHSM, consulte os seguintes tópicos. Quando estiverpronto para começar a usar o AWS CloudHSM, consulte Conceitos básicos (p. 16).

Tópicos• Casos de uso do AWS CloudHSM (p. 1)• Clusters do AWS CloudHSM (p. 2)• Backups do cluster do AWS CloudHSM (p. 6)• Ferramentas e bibliotecas de software de AWS CloudHSM cliente (p. 9)• Usuários do HSM (p. 11)• Definição de preço (p. 13)• Regiões (p. 13)• Cotas do AWS CloudHSM (p. 13)

Casos de uso do AWS CloudHSMUm módulo de segurança de hardware (HSM) no AWS CloudHSM pode ajudá-lo a alcançar diversosobjetivos.

Tópicos• Descarregar o processamento SSL/TLS para servidores web (p. 1)• Proteger as chaves privadas para uma autoridade de certificação (CA) de emissão (p. 2)• Habilitar o Transparent Data Encryption (TDE) para bancos de dados da Oracle (p. 2)

Descarregar o processamento SSL/TLS paraservidores webServidores web e seus clientes (navegadores web) podem usar o Secure Sockets Layer (SSL) ou oTransport Layer Security (TLS). Esses protocolos confirmam a identidade do servidor Web e estabelecem

1

Page 8: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProteger as chaves privadas para uma

autoridade de certificação (CA) de emissão

uma conexão segura para enviar e receber páginas da Web ou outros dados pela Internet. Isso éconhecido genericamente como HTTPS. O servidor Web usa um par de chaves pública–privada eum certificado de chave pública SSL/TLS para estabelecer uma sessão HTTPS com cada cliente.Esse processo envolve uma grande quantidade de computação para o servidor Web, mas você podedescarregar parte dessa computação para o HSMs no cluster do AWS CloudHSM. Isso às vezes éconhecido como aceleração SSL. O descarregamento reduz a carga computacional do servidor Web efornece segurança extra por armazenar a chave privada do servidor no HSMs.

Para obter informações sobre como configurar o descarregamento de SSL/TLS com o AWS CloudHSM,consulte Descarregamento de SSL/TLS (p. 292).

Proteger as chaves privadas para uma autoridade decertificação (CA) de emissãoEm uma infraestrutura de chave pública (PKI), uma autoridade de certificação (CA) é uma entidadeconfiável que emite certificados digitais. Esses certificados digitais vinculam uma chave pública a umaidentidade (uma pessoa ou organização) por meio de criptografia de chave pública e assinaturas digitais.Para operar uma CA, é necessário manter a confiança, protegendo as chaves privadas que assinam oscertificados emitidos pela CA. Você pode armazenar a chave privada no HSM em seu cluster do AWSCloudHSM e usar o HSM para realizar as operações de registro de criptografia.

Habilitar o Transparent Data Encryption (TDE) parabancos de dados da OracleAlgumas versões do software de banco de dados da Oracle oferecem um recurso chamado Criptografiade dados transparente (TDE). Com o TDE, o software de banco de dados criptografa os dados antesde armazená-los no disco. Os dados nas colunas ou tablespaces da tabela do banco de dados sãocriptografados com uma chave de tabela ou chave de tablespace. Essas chaves são criptografadas com achave mestre de criptografia TDE. Você pode armazenar a chave de criptografia mestre TDE nos HSMs nocluster do AWS CloudHSM, que oferece segurança adicional.

Para obter informações sobre como configurar o Oracle TDE com o AWS CloudHSM, consulte Criptografiado Oracle Database (p. 326).

Clusters do AWS CloudHSMO AWS CloudHSM fornece módulos de segurança de hardware (HSMs) em um cluster. Um cluster é umconjunto de HSMs individuais que o AWS CloudHSM mantém em sincronia. Você pode considerar umcluster como um HSM lógico. Ao executar uma tarefa ou operação em um HSM em um cluster, os outrosHSMs nesse cluster são atualizados automaticamente.

Você pode criar um cluster que tem de 1 a 28 HSMs (o limite padrão (p. 13) é 6 HSMs por conta daAWS por região da AWS). Coloque os HSMs em zonas de disponibilidade diferentes em uma região daAWS. Adicionar mais HSMs em um cluster fornece maior desempenho. Espalhar clusters pelas zonas dedisponibilidade fornece redundância e alta disponibilidade.

Fazer com que HSMs individuais trabalhem juntos em um cluster sincronizado, redundante e altamentedisponível pode ser difícil, mas o AWS CloudHSM executa algumas tarefas pesadas não diferenciadaspara você. Você pode adicionar e remover HSMs em um cluster e permitir que o AWS CloudHSMmantenha HSMs conectado e em sincronia para você.

Para criar um cluster, consulte Conceitos básicos (p. 16).

2

Page 9: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioArquitetura do cluster

Para obter mais informações sobre clusters, consulte os tópicos a seguir.

Tópicos• Arquitetura do cluster (p. 3)• Sincronização do cluster (p. 4)• Alta disponibilidade e balanceamento de carga do cluster (p. 5)

Arquitetura do clusterAo criar um cluster, especifique uma Amazon Virtual Private Cloud (VPC) na conta da AWS e uma oumais sub-redes nessa VPC. Recomendamos criar uma sub-rede em cada zona de disponibilidade (AZ) naregião escolhida da AWS. Para saber como, consulte Criar uma sub-rede privada (p. 18).

Toda vez que criar um HSM, especifique o cluster e a zona de disponibilidade para o HSM. Ao colocar osHSMs em diferentes zonas de disponibilidade, você alcançará redundância e alta disponibilidade caso umazona de disponibilidade não esteja disponível.

Ao criar um HSM, o AWS CloudHSM coloca uma interface de rede elástica (ENI) na sub-rede especificadada sua conta da AWS. A interface de rede elástica é a interface para interação com o HSM. O HSM resideem uma VPC separada na conta da AWS que pertence ao AWS CloudHSM. O HSM, e sua interface derede correspondente, estão na mesma zona de disponibilidade.

Para interagir com os HSMs em um cluster, é necessário o software cliente do AWS CloudHSM.Normalmente, o cliente é instalado em instâncias do Amazon EC2, conhecidas como instâncias cliente,que residem na mesma VPC que ENIs de HSM, conforme mostrado na figura a seguir. No entanto, istonão é tecnicamente necessário; é possível instalar o cliente em qualquer computador compatível, desdeque ele possa ser conectado a ENIs de HSM. O cliente se comunica com HSMs individuais no cluster pormeio dos ENIs respectivos.

A figura a seguir representa um cluster do AWS CloudHSM com três HSMs, cada um em uma zona dedisponibilidade diferente na VPC.

3

Page 10: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioSincronização do cluster

Sincronização do clusterEm um cluster do AWS CloudHSM, o AWS CloudHSM mantém as chaves nos HSMs individuais emsincronia. Você não precisa fazer nada para sincronizar as chaves nos HSMs. Para manter os usuáriose as políticas de cada HSM em sincronia, atualize o arquivo de configuração do AWS CloudHSM cliente

4

Page 11: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAlta disponibilidade e balanceamento de carga do cluster

antes de gerenciar os usuários do HSM (p. 53). Para obter mais informações, consulte Manter osusuários do HSM em sincronia (p. 378).

Ao adicionar um novo HSM a um cluster, o AWS CloudHSM realiza um backup de todas as chaves,usuários e políticas em um HSM existente. Depois, restaura esse backup no novo HSM. Isso mantém osdois HSMs em sincronia.

Se os HSMs em um cluster ficarem fora de sincronia, o AWS CloudHSM faz a ressincronizaçãoautomaticamente. Para habilitar isso, o AWS CloudHSM usa as credenciais do usuário dodispositivo (p. 11). Este usuário existe em todos os HSMs fornecidos pelo AWS CloudHSM, e tempermissões limitadas. Ele pode obter um hash de objetos no HSM e extrair e inserir objetos mascarados(criptografados). O AWS não consegue visualizar nem modificar os usuários ou as chaves, além de nãopoder executar qualquer operação criptográfica usando essas chaves.

Alta disponibilidade e balanceamento de carga doclusterAo criar um cluster do AWS CloudHSM com mais de um HSM, o balanceamento de carga é obtidoautomaticamente. Balanceamento de carga significa que o cliente do AWS CloudHSM (p. 9) distribuias operações criptográficas por todos os HSM no cluster com base na capacidade de processamentoadicional de cada HSM.

Ao criar os HSMs em diferentes zonas de disponibilidade da AWS, a alta disponibilidade é obtidaautomaticamente. Alta disponibilidade significa obter maior confiabilidade, pois nenhum HSM individual éum ponto único de falha. Recomendamos ter no mínimo dois HSMs em cada cluster, com cada HSM emuma zona de disponibilidade diferente dentro de uma região da AWS.

Por exemplo, a figura a seguir mostra um aplicativo de banco de dados Oracle que é distribuído paraduas diferentes zonas de disponibilidade. As instâncias de banco de dados armazenam suas chavesmestras em um cluster que inclui um HSM em cada zona de disponibilidade. O AWS CloudHSM sincronizaautomaticamente as chaves com ambos os HSMs para que eles sejam imediatamente acessíveis eredundantes.

5

Page 12: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioBackups

Backups do cluster do AWS CloudHSMO AWS CloudHSM faz backups periódicos do cluster. Você não pode instruir o AWS CloudHSM a fazerbackups sempre que desejar, mas pode tomar certas medidas que fazem AWS CloudHSM com que issoaconteça. Para obter mais informações, consulte os tópicos a seguir.

Quando você adiciona um HSM a um cluster que anteriormente continha um ou mais HSMs ativos, o AWSCloudHSM restaura o backup mais recente para o novo HSM. Isso significa que você pode usar o AWSCloudHSM para gerenciar um HSM usado com frequência. Quando não precisar usar o HSM, você podeexcluí-lo, o que aciona um backup. Mais tarde, quando você precisar usar o HSM novamente, poderá criarum novo HSM no mesmo cluster, restaurando efetivamente seu HSM anterior.

Você também pode criar um novo cluster a partir de um backup existente de um cluster diferente. Énecessário criar o novo cluster na mesma região da AWS que contém o backup existente.

Tópicos• Visão geral dos backups (p. 7)• Segurança dos backups (p. 7)• Durabilidade dos backups (p. 8)• Frequência dos backups (p. 8)

6

Page 13: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVisão geral dos backups

Visão geral dos backupsCada backup contém cópias criptografadas dos seguintes dados:

• Todos os usuários (COs, CUs e AUs) (p. 11) no HSM.• Todo o material de chaves e certificados no HSM.• As políticas e as configurações do HSM.

O AWS CloudHSM armazena os backups em um bucket do Amazon Simple Storage Service (Amazon S3)controlado por serviço, na mesma região da AWS que o cluster.

Segurança dos backupsQuando o AWS CloudHSM faz um backup do HSM, este criptografa todos os seus dados antes de osenviar ao AWS CloudHSM. Os dados nunca saem do HSM em formato de texto simples.

Para criptografar os dados, o HSM usa uma chave de criptografia temporária exclusiva como chave debackup temporária (EBK). A EBK é uma chave de criptografia AES de 256 bits gerada dentro do HSMquando o AWS CloudHSM faz um backup. O HSM gera a EBK e, em seguida, a utiliza para criptografaros dados do HSM com um método de encapsulamento de chave AES aprovado pelo FIPS e que estáem conformidade com a publicação especial do NIST 800-38F. Em seguida, o HSM fornece dadoscriptografados ao AWS CloudHSM. Esses dados criptografados incluem uma cópia criptografada da EBK.

Para criptografar a EBK, o HSM usa outra chave de criptografia conhecida como chave de backuppersistente (PBK). A PBK também é uma chave de criptografia AES de 256 bits. Para gerar a PBK, o HSM

7

Page 14: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDurabilidade dos backups

usa uma função de derivação de chaves (KDF) aprovada pelo FIPS no modo de contador compatível coma publicação especial 800-108 do NIST. As entradas dessa KDF incluem o seguinte:

• Uma chave de backup da chave de fabricante (MKBK), permanentemente incorporada no hardware doHSM pelo fabricante.

• Uma chave de backup da chave da AWS (AKBK), instalada com segurança no HSM ao ser configuradoinicialmente pelo AWS CloudHSM.

Os processos de criptografia estão resumidos na figura a seguir. A chave de criptografia de backuprepresenta a chave de backup persistente (PBK) e a chave de backup efêmera (EBK).

O AWS CloudHSM pode restaurar backups apenas para HSMs pertencentes à AWS feitos pelo mesmofabricante. Como cada backup contém todos os usuários, chaves e configuração do HSM original, oHSM restaurado contém as mesmas proteções e controles de acesso do original. Os dados restauradossubstituem todos os outros dados que possam ter estado no HSM antes da restauração.

Um backup consiste apenas em dados criptografados. Antes de cada backup ser armazenados noAmazon S3, ele é criptografado novamente em uma chave-mestra de cliente (CMK) do AWS KeyManagement Service (AWS KMS).

Durabilidade dos backupsO AWS CloudHSM armazena backups de clusters em um bucket do Amazon S3 em uma conta daAWS que o AWS CloudHSM controla. A durabilidade dos backups é a mesma que de qualquer objetoarmazenado no Amazon S3. O Amazon S3 foi projetado para fornecer 99,999999999% de durabilidade.

Frequência dos backupsO AWS CloudHSM faz um backup de cluster pelo menos uma vez a cada 24 horas. Além dos backupsdiários recorrentes, o AWS CloudHSM faz um backup quando qualquer uma das ações a seguir éexecutada:

• Inicializar o cluster (p. 30).• Adicionar um HSM a um cluster inicializado (p. 42).• Remover um HSM de um cluster (p. 44).

8

Page 15: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFerramentas e bibliotecas de cliente

Ferramentas e bibliotecas de software de AWSCloudHSM cliente

Para gerenciar e usar os HSMs no cluster, use o software cliente do AWS CloudHSM. O software clienteinclui vários componentes, como descrito nos tópicos a seguir.

Tópicos• Cliente do AWS CloudHSM (p. 9)• Ferramentas de linha de comando da AWS CloudHSM (p. 10)• Bibliotecas de software de AWS CloudHSM (p. 11)

Cliente do AWS CloudHSMO cliente do AWS CloudHSM é um daemon instalado e executado nos hosts do aplicativo. O clienteestabelece e mantém uma conexão criptografada segura, de ponta a ponta, com os HSMs no clusterdo AWS CloudHSM. O cliente fornece a conexão fundamental entre os hosts do aplicativo e os HSMs.A maioria dos outros componentes do software cliente do AWS CloudHSM confiam no cliente para secomunicar com os HSMs. Para começar a usar o cliente do AWS CloudHSM se você estiver usando Linux,consulte Instalar o cliente (Linux) (p. 35). Se você estiver usando Windows, consulte Instalar o cliente(Windows) (p. 37).

Criptografia de ponta a ponta do cliente do AWS CloudHSMA comunicação entre o AWS CloudHSM cliente e os HSMs no cluster é criptografada de ponta a ponta.Somente o cliente e seus HSMs podem descriptografar a comunicação.

O processo a seguir explica como o cliente estabelece a comunicação criptografada ponta a ponta com umHSM.

1. O cliente estabelece uma conexão de Segurança da camada de transporte (TLS) com o servidorque hospeda o hardware de HSM. O security group do cluster permite que tráfego de entrada parao servidor apenas a partir de instâncias de clientes no security group. O cliente também verifica ocertificado do servidor para garantir que é um servidor confiável.

9

Page 16: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFerramentas de linha de comando da AWS CloudHSM

2. A seguir, o cliente estabelece uma conexão criptografada com o hardware do HSM. O HSM temo certificado de cluster que você assinou assinado com sua própria autoridade certificadora (CA),e o cliente tem o certificado raiz da CA. Antes de a conexão criptografada do HSM–cliente serestabelecida, o cliente verifica o certificado do cluster de HSM em relação ao seu certificado raiz. Aconexão é estabelecida somente quando o cliente verificar com êxito se o HSM é confiável. A conexãocriptografada do HSM–cliente passa pela conexão cliente–servidor estabelecida anteriormente.

Ferramentas de linha de comando da AWS CloudHSMO software cliente do AWS CloudHSM inclui duas ferramentas da linha de comando. Use as ferramentasda linha de comando para gerenciar os usuários e as chaves nos HSMs. Por exemplo, crie usuários

10

Page 17: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioBibliotecas de software de AWS CloudHSM

do HSM, altere senhas de usuário, crie chaves, e muito mais. Para obter informações sobre essasferramentas, consulte Ferramentas de linha de comando (p. 83).

Bibliotecas de software de AWS CloudHSMAs bibliotecas de software de AWS CloudHSM podem ser usadas para integrar seus aplicativos com osHSMs em seu cluster, e usá-los para processos de criptografia. Para obter mais informações sobre ainstalação e utilização de diversas bibliotecas, consulte Usar as bibliotecas de software (p. 226).

Usuários do HSMA maioria das operações executadas no HSM exigem as credenciais de um usuário do HSM. O HSMautentica cada usuário do HSM através de um nome de usuário e senha.

Cada usuário do HSM tem um tipo que determina quais operações o usuário tem permissão para realizarno HSM. Os tópicos a seguir explicam os tipos de usuários do HSM.

Tópicos• Oficial de pré-criptografia (PRECO) (p. 11)• Responsável pela criptografia (CO) (p. 11)• Usuário de criptografia (CU) (p. 11)• Usuário de dispositivo (AU) (p. 12)• Tabela de permissões de usuário do HSM (p. 12)

Oficial de pré-criptografia (PRECO)O oficial de pré-criptografia (PRECO) é um usuário temporário que existe somente no primeiro HSM emum cluster do AWS CloudHSM. O primeiro HSM em um novo cluster contém um usuário PRECO com umnome de usuário e senha padrão. Para ativar um cluster (p. 37), faça login no HSM e altere a senha dousuário PRECO. Ao alterar a senha, o usuário PRECO se torna um responsável pela criptografia (CO). Ousuário PRECO pode alterar apenas a sua própria senha e realizar somente operações de leitura no HSM.

Responsável pela criptografia (CO)Um responsável pela criptografia (CO) pode realizar operações de gerenciamento do usuário. Porexemplo, um CO pode criar e excluir usuários e alterar suas senhas. Para obter mais informações,consulte Tabela de permissões de usuário do HSM (p. 12). Quando você ativa um novocluster (p. 37), o usuário muda de um responsável pela pré-criptografia (p. 11) (PRECO) para umresponsável pela criptografia primário (CO).

Usuário de criptografia (CU)Um usuário de criptografia (CU) pode realizar as seguintes operações de criptografia e gerenciamento dechaves.

• Gerenciamento de chaves – Criar, excluir, compartilhar, importar e exportar chaves criptográficas.• Operações criptográficas – Use chaves criptográficas para criptografia, descriptografia, assinatura,

verificação e muito mais.

Para mais informações, consulte o Tabela de permissões de usuário do HSM (p. 12).

11

Page 18: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUsuário de dispositivo (AU)

Usuário de dispositivo (AU)O Appliance User (AU - Usuário do dispositivo) pode realizar operações de clonagem e sincronização.O AWS CloudHSM usa o AU para sincronizar os HSMs em um cluster do AWS CloudHSM. O AU existeem todos os HSMs fornecidos pelo AWS CloudHSM, e tem permissões limitadas. Para mais informações,consulte o Tabela de permissões de usuário do HSM (p. 12).

O AWS usa o AU para realizar operações de clonagem e sincronização nos HSMs do cluster. O AWSnão pode executar operações em seus HSMs, exceto aqueles concedidos ao AU e a usuários nãoautenticados. A AWS não pode visualizar ou modificar os usuários ou chaves, além de não poder executarqualquer operação criptográfica usando essas chaves.

Tabela de permissões de usuário do HSMA tabela a seguir lista as operações HSM e qual tipo de usuário do HSM pode realizá-las.

  Responsável pelacriptografia (CO)

Usuário decriptografia (CU)

Usuário dedispositivo (AU)

Usuário nãoautenticado

Obter informaçõesbásicas do cluster¹

Sim Sim Sim Sim

Zerar um HSM² Sim Sim Sim Sim

Alterar a própriasenha

Sim Sim Sim Não aplicável

Alterar a senha dequalquer usuário

Sim Não Não Não

Adicionar, removerusuários

Sim Não Não Não

Obter status dasincronização³

Sim Sim Sim Não

Extrair, inserirobjetosmascarados⁴

Sim Sim Sim Não

Funções degerenciamento dechaves⁵

Não Sim Não Não

Criptografar,descriptografar

Não Sim Não Não

Assinar, verificar Não Sim Não Não

Gerar resumos eHMACs

Não Sim Não Não

¹As informações básicas de cluster incluem o número de HSMs no cluster e cada endereço IP do HSM, omodelo, o número de série, o ID do dispositivo, o ID do firmware etc.

²Quando um HSM é zerado, todas as chaves, certificados e outros dados no HSM são destruídos. Useo security group do cluster para prevenir que um usuário não autenticado zere o HSM. Para obter maisinformações, consulte Criar um cluster (p. 18).

12

Page 19: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDefinição de preço

³O usuário pode obter um conjunto de arquivos de resumo (hashes) que correspondem às chaves noHSM. Um aplicativo pode comparar esses conjuntos de arquivos de resumo para compreender o status desincronização de HSMs em um cluster.

⁴Objetos mascarados são chaves criptografadas antes de sair do HSM. Elas não podem serdescriptografadas fora do HSM. Somente são descriptografadas depois de serem inseridas em um HSMque esteja no mesmo cluster que o HSM do qual foram extraídas. Um aplicativo pode extrair e inserirobjetos mascarados para sincronizar os HSMs em um cluster.

⁵As funções de gerenciamento de chaves incluem criar, excluir, encapsular, desencapsular e modificar osatributos das chaves.

Definição de preçoCom o AWS CloudHSM, pague pela capacidade computacional por hora, sem nenhum compromisso alongo prazo ou pagamentos adiantados. Para obter mais informações, consulte Definição de preço doAWS CloudHSM no site da AWS.

RegiõesPara obter informações sobre as regiões com suporte para o AWS CloudHSM, consulte Regiões eendpoints do AWS CloudHSM na AWS General Reference ou a Tabela de regiões.

Como a maioria dos recursos da AWS, clusters e HSMs são recursos regionais. Para criar HSMs emvárias regiões, primeiro é necessário criar um cluster em cada região. Não é possível reutilizar ou estenderum cluster entre regiões. É obrigatório executar todas as etapas necessárias listadas em Conceitosbásicos do AWS CloudHSM (p. 16) para criar um cluster em uma nova região.

O AWS CloudHSM pode não estar disponível em todas as zonas de disponibilidade de uma determinadaregião. No entanto, isso não deve afetar a performance, visto que o AWS CloudHSM realizaautomaticamente o balanceamento de carga entre todos os HSMs em um cluster.

Cotas do AWS CloudHSMAs cotas, anteriormente conhecidas como limites, são os valores atribuídos para recursos da AWS.As cotas a seguir se aplicam aos recursos do AWS CloudHSM por região da AWS e conta da AWS. Acota padrão é o valor inicial aplicado por AWS, e esses valores são listados na tabela abaixo. Uma cotaajustável pode ser aumentada acima da cota padrão.

Cotas de serviço

Recurso Cota padrão Ajustável?

Clusters 4 Sim

HSMs 6 Sim

HSMs por cluster 28 Não

As quotas na tabela Cotas do sistema a seguir não são ajustáveis.

13

Page 20: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRecursos do sistema

Cotas do sistema

Recurso Quota

Chaves por cluster 3.300

Número de usuários por cluster 1,024

Comprimento máximo do nome do usuário 31 caracteres

Comprimento obrigatório da senha De 7 a 32 caracteres

Número máximo de clientes simultâneos 900

A maneira recomendada de solicitar um aumento de cota é abrir o console de Cotas de serviço. Noconsole, escolha seu serviço e cota e envie sua solicitação. Para obter mais informações, consulte adocumentação das Cotas de serviço.

Recursos do sistemaAs cotas de recursos do sistema são cotas relativas ao que o cliente do AWS CloudHSM tem permissãopara usar ao ser executado.

Os descritores de arquivos são um mecanismo do sistema operacional para identificar e gerenciar osarquivos abertos por processo.

O daemon cliente do CloudHSM utiliza descritores de arquivos para gerenciar conexões entre osaplicativos e o cliente, bem como entre o cliente e o servidor.

Por padrão, a configuração do cliente do CloudHSM alocará 3.000 descritores de arquivos. Esse valorpadrão foi projetado para gerar uma capacidade de sessão e threading ideal entre o daemon do cliente eseus HSMs.

Em raras circunstâncias, se você estiver executando seu cliente em um ambiente de recursos restritos,poderá ser necessário alterar esses valores padrão.

Note

Ao alterar esses valores, o desempenho do cliente do CloudHSM pode sofrer e/ou o aplicativopode se tornar inoperável.

1. Edite o arquivo /etc/security/limits.d/cloudhsm.conf.

## DO NOT EDIT THIS FILE#hsmuser soft nofile 3000hsmuser hard nofile 3000

2. Edite os valores numéricos, conforme necessário.

Note

A cota soft deve ser inferior ou igual à cota hard.3. Reinicie o processo do daemon do cliente do CloudHSM.

14

Page 21: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRecursos do sistema

Note

Essa opção de configuração não está disponível nas plataformas do Microsoft Windows.

15

Page 22: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar administradores do IAM

Conceitos básicos do AWSCloudHSM

As informações a seguir ajudam a criar, inicializar e ativar um cluster do AWS CloudHSM. Depois deconcluir estes procedimentos, você estará pronto para gerenciar usuários e clusters, e usar as bibliotecasde software incluídas para executar operações de criptografia.

Tópicos• Criar grupos administrativos do IAM (p. 16)• Criar uma Virtual Private Cloud (VPC) (p. 18)• Criar uma sub-rede privada (p. 18)• Criar um cluster (p. 18)• Rever grupo de segurança do cluster (p. 20)• Iniciar uma instância do cliente do Amazon EC2 (p. 20)• Conectar a instância do Amazon EC2 ao Clusterdo AWS CloudHSM (p. 22)• Criar um HSM (p. 23)• Verificar a identidade e a autenticidade do HSM de seu cluster (opcional) (p. 24)• Inicializar o cluster (p. 30)• Instalar e configurar o cliente do AWS CloudHSM (Linux) (p. 35)• Instalar e configurar o cliente do AWS CloudHSM (Windows) (p. 37)• Ativar o cluster (p. 37)• Reconfigurar SSL com um novo certificado e chave privada (opcional) (p. 39)• Práticas recomendadas do AWS CloudHSM (p. 40)

Criar grupos administrativos do IAMComo melhores práticas, não use o Usuário raiz da conta da AWS para interagir com a AWS, incluindo oAWS CloudHSM. Em vez disso, use o AWS Identity and Access Management (IAM) para criar um usuáriodo IAM, uma função do IAM ou um usuário federado. Siga as etapas na seção Criar um usuário e umgrupo de administradores do IAM (p. 17) para criar um grupo de administradores e anexar a políticaAdministratorAccess a ele. Em seguida, crie outro usuário administrador e o adicione ao grupo. Adicioneoutros usuários ao grupo, conforme necessário. Cada um dos usuários adicionados herdará a políticaAdministratorAccess do grupo.

Outra melhor prática é criar um grupo de administradores do AWS CloudHSM que tenha apenas aspermissões necessárias para executar o AWS CloudHSM. Adicione usuários individuais a este grupo,conforme necessário. Cada usuário herdará as permissões limitadas anexadas ao grupo, em vez doacesso completo da AWS. A seção Políticas gerenciadas pelo cliente para o AWS CloudHSM (p. 360)abaixo contém a política que você deve anexar ao grupo de administradores do AWS CloudHSM.

O AWS CloudHSM define uma função vinculada ao serviço para sua conta da AWS. A função vinculada–ao serviço atualmente define permissões que permitem que sua conta registre eventos do AWSCloudHSM. A função pode ser criada automaticamente pelo AWS CloudHSM ou manualmente por você.Você não pode editar a função, mas pode excluí-la. Para obter mais informações, consulte Funçõesvinculadas ao serviço para o AWS CloudHSM (p. 362).

16

Page 23: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar um usuário e um grupo de administradores do IAM

Criar um usuário e um grupo de administradores doIAMComece criando um usuário do IAM com um grupo de administradores para esse usuário.

Para criar um usuário administrador para você mesmo e adicionar o usuário a um grupo deadministradores (console)

1. Entre no console do IAM como o proprietário da conta escolhendo usuário raiz e inserindo o endereçode e-mail de sua da conta AWS. Na próxima página, insira sua senha.

Note

Recomendamos que você siga as melhores práticas para utilizar o usuário doAdministrator IAM abaixo e armazene as credenciais do usuário raiz com segurança.Cadastre-se como usuário raiz para executar somente algumas tarefas de gerenciamento deserviços e contas.

2. No painel de navegação, escolha Usuários e depois Adicionar usuário.3. Em User name (Nome do usuário), digite Administrator.4. Marque a caixa de seleção ao lado de Console de gerenciamento da AWS access (Acesso ao

&console;). Então, selecione Custom password (Senha personalizada), e insira sua nova senha nacaixa de texto.

5. (Opcional) Por padrão, a AWS exige que o novo usuário crie uma senha ao fazer login pela primeiravez. Você pode desmarcar a caixa de seleção próxima de User must create a new password at nextsign-in (O usuário deve criar uma senha no próximo login) para permitir que o novo usuário redefina asenha depois de fazer login.

6. Escolha Próximo: Permissões.7. Em Set permissions (Conceder permissões), escolha Add user to group (Adicionar usuário ao grupo).8. Escolha Create group (Criar grupo).9. Na caixa de diálogo Create group (Criar grupo), em Group name (Nome do grupo), digite

Administrators.10. Escolha Filter policies (Filtrar políticas) e, depois, selecione AWS managed -job function (Função de

trabalho gerenciado pela &AWS;) para filtrar o conteúdo de tabelas.11. Na lista de políticas, marque a caixa de seleção AdministratorAccess. A seguir escolha Criar grupo.

Note

Você deve ativar o acesso de usuário e função do IAM ao faturamento para poder usar aspermissões do AdministratorAccess a fim de acessar o console do AWS Billing and CostManagement. Para fazer isso, siga as instruções na etapa 1 do tutorial sobre como delegaracesso ao console de faturamento.

12. Suporte a lista de grupos, selecione a caixa de seleção para seu novo grupo. Escolha Refresh(Atualizar) caso necessário, para ver o grupo na lista.

13. Escolha Next: Tags (Próximo: tags).14. (Opcional) Adicione metadados ao usuário anexando tags como pares de chave-valor. Para obter

mais informações sobre como usar tags no IAM, consulte Marcar entidades do IAM no Guia do usuáriodo IAM.

15. Escolha Next: Review (Próximo: Análise) para ver uma lista de associações de grupos a seremadicionadas ao novo usuário. Quando você estiver pronto para continuar, selecione Criar usuário.

Você pode usar esse mesmo processo para criar mais grupos e usuários e conceder aos seus usuáriosacesso aos recursos de sua conta da AWS. Para saber como usar políticas para restringir as permissõesde usuário a recursos específicos da AWS, acesse Gerenciamento de acesso e Políticas de exemplo.

17

Page 24: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar uma VPC

Para obter exemplos de políticas para o AWS CloudHSM que é possível anexar ao seu grupo de usuáriosdo IAM, consulte Identity and Access Management para o AWS CloudHSM (p. 358).

Criar uma Virtual Private Cloud (VPC)Caso você ainda não tenha uma nuvem privada virtual (VPC), crie uma agora.

Para criar uma VPC

1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.2. Na barra de navegação, use o seletor de região para selecionar uma das regiões AWS onde o AWS

CloudHSM é suportado atualmente.3. Escolha Start VPC Wizard.4. Selecione a primeira opção, VPC com uma única sub-rede pública. Em seguida, escolha Selecionar.5. Em VPC name: (Nome da VPC:), digite um nome identificável como CloudHSM. Em Subnet name:

(Nome da sub-rede:), digite um nome identificável como CloudHSM public subnet. Deixe todas asoutras opções com seus valores padrão. Em seguida, selecione Criar VPC. Após a criação da VPC,escolha OK.

Criar uma sub-rede privadaCrie uma sub-rede privada (uma sub-rede sem Internet Gateway anexado) para cada zona dedisponibilidade onde deseja criar um HSM. Sub-redes privadas estão disponíveis em todas as zonasde disponibilidade da AWS. Mesmo que determinada zona de disponibilidade não comporte o AWSCloudHSM, o cluster do HSM funcionará como esperado se posteriormente houver suporte. Criar umasub-rede privada em cada zona de disponibilidade oferece a configuração mais robusta possível paraalta disponibilidade. Acesse Regiões e endpoints da AWS em AWS General Reference ou na Tabela deregiões da AWS para ver o suporte regional e da zona de disponibilidade do AWS CloudHSM.

Para criar as sub-redes privadas na VPC

1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.2. No painel de navegação, escolha Sub-redes. Em seguida, selecione Criar sub-rede.3. Na caixa de diálogo Criar sub-rede, faça o seguinte:

a. Em Name tag (Nomear tag), digite um nome identificável como CloudHSM private subnet.b. Em VPC, selecione a VPC criada anteriormente.c. Para Zona de disponibilidade, selecione a primeira zona de disponibilidade na lista.d. Para Bloco CIDR, digite o bloco CIDR para uso na sub-rede. Se tiver usado os valores padrão

para a VPC no procedimento anterior, digite 10.0.1.0/28.

Escolha Yes, Create.4. Repita as etapas 2 e 3 para criar sub-redes para cada zona de disponibilidade restante na região.

Para os blocos CIDR da sub-rede, use 10.0.2.0/28, 10.0.3.0/28, e assim por diante.

Criar um clusterUm cluster é um conjunto de HSMs individuais. O AWS CloudHSM sincroniza os HSMs em cada clusterpara que eles funcionem como uma unidade lógica.

18

Page 25: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar um cluster

Important

Quando você cria um cluster, o AWS CloudHSM cria uma função vinculada ao serviço chamadaAWSServiceRoleForCloudHSM. Se o AWS CloudHSM não pode criar a função ou a funçãoainda não existir, pode não ser possível criar um cluster. Para obter mais informações,consulte Resolver falhas na criação do cluster (p. 382). Para obter mais informaçõessobre funções vinculadas ao serviço–, consulte Funções vinculadas ao serviço para o AWSCloudHSM (p. 362).

Ao criar um cluster, o AWS CloudHSM cria um grupo de segurança para o cluster em seu nome. Essesecurity group controla o acesso à rede para os HSMs no cluster. Ele permite apenas as conexõesde entrada das instâncias do Amazon Elastic Compute Cloud (Amazon EC2) que estão no grupo desegurança. Por padrão, o security group não contém instâncias. Posteriormente, você inicia uma instânciado cliente (p. 20) e configura o grupo de segurança do cluster (p. 20) para permitir a comunicação eas conexões com o HSM.

Você pode criar um cluster do console do AWS CloudHSM, a AWS Command Line Interface (AWS CLI) oua API do AWS CloudHSM.

Para criar um cluster (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Na barra de navegação, use o seletor de região para selecionar uma das regiões AWS onde o AWS

CloudHSM é suportado atualmente.3. Escolha Create cluster.4. Na seção Configuração de cluster, faça o seguinte:

a. Em VPC, selecione a VPC que você criou.b. Em AZ(s), ao lado de cada zona de disponibilidade, escolha a sub-rede privada que você criou.

Note

Mesmo que o AWS CloudHSM não seja comportado em determinada zona dedisponibilidade, a performance provavelmente não será afetada, visto que o AWSCloudHSM realiza automaticamente o balanceamento de carga entre todos os HSMsem um cluster. Consulte Regiões e endpoints do AWS CloudHSM no AWS GeneralReference para ver o suporte ao AWS CloudHSM por zona de disponibilidade.

5. Selecione Next: Review.6. Reveja sua configuração de cluster e escolha Create cluster (Criar cluster).

Para criar um cluster (AWS CLI)

• Em um prompt de comando, execute o comando create-cluster. Especifique o tipo de instância doHSM e os IDs das sub-redes nas quais você planeja criar HSMs. Use os IDs das sub-redes privadasque você criou. Especifique apenas uma sub-rede por zona de disponibilidade.

$ aws cloudhsmv2 create-cluster --hsm-type hsm1.medium --subnet-ids <subnet ID 1> <subnet ID 2> <subnet ID N>

{ "Cluster": { "BackupPolicy": "DEFAULT", "VpcId": "vpc-50ae0636", "SubnetMapping": { "us-west-2b": "subnet-49a1bc00", "us-west-2c": "subnet-6f950334", "us-west-2a": "subnet-fd54af9b" },

19

Page 26: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRever grupo de segurança do cluster

"SecurityGroup": "sg-6cb2c216", "HsmType": "hsm1.medium", "Certificates": {}, "State": "CREATE_IN_PROGRESS", "Hsms": [], "ClusterId": "cluster-igklspoyj5v", "CreateTimestamp": 1502423370.069 }}

Para criar um cluster (API do AWS CloudHSM)

• Envie uma solicitação CreateCluster. Especifique o tipo de instância do HSM e os IDs das sub-redesnas quais você planeja criar HSMs. Use os IDs das sub-redes privadas que você criou. Especifiqueapenas uma sub-rede por zona de disponibilidade.

Se as suas tentativas de criar um cluster falharem, isso pode estar relacionado a problemas com asfunções vinculadas a serviços do AWS CloudHSM. Para obter ajuda para resolver essa falha, consulteResolver falhas na criação do cluster (p. 382).

Rever grupo de segurança do clusterAo criar um cluster, o AWS CloudHSM cria um grupo de segurança com o nome cloudhsm-cluster-clusterID-sg. Esse grupo de segurança contém uma regra de TCP pré-configurada quepermite a comunicação de entrada e de saída no grupo de segurança do cluster por meio das portas2223-2225. Essa regra permite que os HSMs em seu cluster se comuniquem entre si.

Warning

Observe o seguinte:

• Não exclua ou modifique a regra de TCP pré-configurada, que é preenchida no grupo desegurança do cluster. Essa regra pode evitar problemas de conectividade e acesso nãoautorizado a seus HSMs.

• O grupo de segurança do cluster impede o acesso não autorizado aos HSMs. Qualquer pessoaque possa acessar as instâncias no grupo de segurança pode acessar seus HSMs. A maioriadas operações exige que um usuário faça login no HSM. No entanto, é possível zerar os HSMssem autenticação, o que destrói o material de chave, os certificados e outros dados. Se issoacontecer, os dados criados ou modificados após o backup mais recente serão perdidos e nãopoderão ser recuperados. Para impedir o acesso não autorizado, certifique-se de que apenasos administradores confiáveis podem modificar ou acessar as instâncias no security grouppadrão.

Na próxima etapa, você poderá executar uma instância do Amazon EC2 (p. 20) e conectá-la a seusHSMs anexando o grupo de segurança do cluster (p. 22) a ela.

Iniciar uma instância do cliente do Amazon EC2Para interagir com o cluster do AWS CloudHSM e as instâncias do HSM e gerenciá-los, você deve poderse comunicar com as interfaces de rede elástica de seus HSMs. A maneira mais fácil de fazer isso é usaruma instância do EC2 na mesma VPC do cluster. Use também os recursos da AWS a seguir para seconectar a seu cluster:

20

Page 27: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioIniciar um cliente do EC2

• Emparelhamento da Amazon VPC• AWS Direct Connect• Conexões VPN

A documentação do AWS CloudHSM normalmente pressupõe que você está usando uma instância doEC2 na mesma VPC e zona de disponibilidade (AZ) na qual criou o cluster.

Para criar uma instância do EC2

1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.2. No painel do EC2, escolha Launch Instance (Executar instância).3. Escolha Select (Selecionar) para uma Imagem de máquina da Amazon (AMI). Escolha uma AMI do

Linux ou uma AMI do Windows Server.4. Selecione um tipo de instância e, em seguida, selecione Next: Configure Instance Details (Próximo:

configurar detalhes da instância).5. Em Network, escolha a VPC criada anteriormente para o cluster.6. Em Subnet (Sub-rede), selecione a sub-rede pública criada anteriormente para a VPC.7. Para Atribuir IP público automaticamente, selecione Permitir.8. Selecione Next: Add Storage (Próximo: adicionar armazenamento) e configure seu armazenamento.9. Selecione Next: Add Tags (Próximo: adicionar tags) e adicione qualquer par de nome–valor que você

deseja associar à instância. Recomendamos que você adicione pelo menos um nome. Escolha AddTag (Adicionar tag), digite um nome para a Key (Chave) e até 255 caracteres para o Value (Valor).

10. Selecione Next: Configure Security Group (Próximo: configurar grupo de segurança).11. Em Assign a security group (Atribuir um grupo de segurança), escolha Select an existing security

group (Selecionar um security group existente).12. Escolha o grupo de segurança padrão da Amazon VPC na lista.13. Escolha Review and Launch (Rever e executar).

Na página Review Instance Launch(Rever a execução da instância), escolha Launch (Executar).14. Quando for solicitado um par de chaves, escolha Create a new key pair (Criar um novo par de

chaves), digite um nome para o par de chaves e selecione Download Key Pair (Fazer download dopar de chaves). Esta é a única oportunidade para você salvar o arquivo de chave privada, portanto,faça download e armazene-o em um local seguro. Você deve fornecer o nome do par de chaves aoexecutar uma instância. Você deve fornecer a chave privada correspondente sempre que se conectarà instância. Depois, escolha o par de chaves criado durante a configuração.

Se preferir, use um par de chaves existente. Selecione Choose an existing key pair (Selecionar um parde chaves existente) e selecione o par de chaves desejado.

Warning

Não selecione Proceed without a key pair (Prosseguir sem um par de chaves). Se a instânciafor executada sem um par de chaves, não será possível conectar-se a ela.

Quando estiver pronto, selecione a caixa de confirmação e, então, escolha Launch Instances.

Para obter mais informações sobre como criar um cliente do Amazon EC2 para Linux, consulte Conceitosbásicos das instâncias do Linux do Amazon EC2. Para obter informações sobre como se conectar aocliente em execução, consulte os seguintes tópicos:

• Conexão à sua instância do Linux utilizando SSH• Conexão à instância do Linux no Windows utilizando PuTTY

21

Page 28: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConectar a instância do EC2 ao cluster

O guia do usuário do Amazon EC2 contém instruções detalhadas para configurar e usar suas instânciasdo Amazon EC2. A lista a seguir fornece uma visão geral da documentação disponível para clientes doAmazon EC2 do Linux e do Windows:

• Para criar um cliente do Amazon EC2 do Linux, consulte Conceitos básicos das instâncias do Linux doAmazon EC2.

Para obter informações sobre como conectar-se ao cliente em execução, consulte os seguintes tópicos:• Conexão à instância do Linux usando SSH• Conexão à instância do Linux no Windows utilizando PuTTY

• Para criar um cliente do Amazon EC2 do Windows, consulte Conceitos básicos de instâncias doWindows do Amazon EC2. Para obter mais informações sobre como conectar-se a seu cliente doWindows, consulte Conexão à sua instância do Windows.

Note

Sua instância do EC2 pode executar todos os comandos da AWS CLI contidos neste guia. Se aAWS CLI não estiver instalada, você poderá fazer download da AWS Command Line Interface. Sevocê estiver usando o Windows, poderá fazer download e executar um instalador do Windows de64 bits ou de 32 bits. Se estiver usando o Linux ou o macOS, você poderá instalar a CLI usando opip.

Conectar a instância do Amazon EC2 ao ClusterdoAWS CloudHSM

Quando executou uma instância do Amazon EC2, você a associou a um grupo de segurança padrão daAmazon VPC. Este tópico explica como associar o grupo de segurança do cluster à instância do EC2.Essa associação permite que o cliente doAWS CloudHSM em execução em sua instância do EC2 secomunique com seus HSMs. Para conectar sua instância do EC2 ao cluster doAWS CloudHSM, vocêdeve configurar corretamente o grupo de segurança padrão da VPC e associar o grupo de segurança àinstância.

Modificar o grupo de segurança padrãoVocê precisa modificar o grupo de segurança padrão para permitir a conexão SSH ou RDP para que sejapossível fazer download e instalar o software cliente e interagir com o HSM.

Para modificar o grupo de segurança padrão

1. Abra o console do Amazon EC2 no https://console.aws.amazon.com/ec2/.2. No painel do Amazon EC2, marque a caixa de seleção da instância do EC2 na qual você deseja

instalar o cliente do AWS CloudHSM.3. Na guia Description (Descrição), escolha o grupo de segurança chamado Default (Padrão).4. Na parte superior da página, escolha Actions (Ações) e depois Edit inbound rules (Editar regras de

entrada).5. Selecione Add Rule (Adicionar regra).6. Em Type (Tipo), siga um destes procedimentos:

• Para uma instância do Amazon EC2 do Windows Server, escolha RDP. O intervalo de portas3389 é preenchido automaticamente.

• Para uma instância do Amazon EC2, escolha SSH. O intervalo de portas 22 é preenchidoautomaticamente.

22

Page 29: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConecte a instância do Amazon

EC2 ao cluster do AWS CloudHSM

7. Para qualquer uma das opções, defina Source (Origem) como My IP (Meu IP) para permitir que ocliente se comunique com o cluster do AWS CloudHSM.

Important

Não especifique 0.0.0.0/0 como o intervalo de portas para evitar que qualquer pessoa acessesua instância.

8. Escolha Save (Salvar).

Conecte a instância do Amazon EC2 ao cluster doAWS CloudHSMAnexe o grupo de segurança do cluster à instância do EC2 para que a instância do EC2 possa secomunicar com os HSMs em seu cluster. O grupo de segurança do cluster contém uma regra pré-configurada que permite comunicação de entrada pelas portas 2223-2225.

Para conectar a instância do EC2 ao cluster do AWS CloudHSM

1. Abra o console do Amazon EC2 no https://console.aws.amazon.com/ec2/.2. No painel do Amazon EC2, marque a caixa de seleção da instância do EC2 na qual você deseja

instalar o cliente do AWS CloudHSM.3. Na parte superior da página, escolha Actions (Ações), Networking (Redes) e depois Change Security

Groups (Alterar grupos de segurança).4. Selecione o grupo de segurança com o nome do grupo que corresponde ao ID do cluster, como

cloudhsm-cluster-clusterID-sg.5. Escolha Assign Security Groups (Atribuir grupos de segurança).

Note

Você pode atribuir um máximo de cinco grupos de segurança a uma instância do AmazonEC2 . Se tiver atingido o limite máximo, você deverá modificar o grupo de segurança padrão dainstância do Amazon EC2 e o grupo de segurança do cluster:

No grupo de segurança padrão, faça o seguinte:

• Adicione uma regra de saída para permitir tráfego em todas as portas 0.0.0.0/0.• Adicione uma regra de entrada para permitir tráfego usando o protocolo TCP por meio das

portas 2223-2225 a partir do grupo de segurança do cluster.

No grupo de segurança do cluster, faça o seguinte:

• Adicione uma regra de saída para permitir tráfego em todas as portas 0.0.0.0/0.• Adicione uma regra de entrada para permitir tráfego usando o protocolo TCP por meio das

portas 2223-2225 do grupo de segurança padrão.

Criar um HSMDepois de criar um cluster, você pode criar um HSM. No entanto, antes de criar um HSM no seu cluster, ocluster deve estar em um estado não inicializado. Para determinar o estado do cluster, visualize a página

23

Page 30: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar a identidade do HSM (opcional)

de clusters no console do AWS CloudHSM, use a AWS CLI para executar o comando describe-clusters ouenvie uma solicitação DescribeClusters na API do AWS CloudHSM. Você pode criar um HSM do consoledo AWS CloudHSM, a AWS CLI ou a API do AWS CloudHSM.

Para criar um HSM (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Selecione Inicializar ao lado do cluster que foi criado anteriormente.3. Escolha uma zona de disponibilidade (AZ) para o HSM que está sendo criado. Em seguida, selecione

Criar.

Para criar um HSM (AWS CLI)

• Em um prompt de comando, execute o comando create-hsm. Especifique o ID do cluster criadoanteriormente e uma zona de disponibilidade para o HSM. Especifique a zona de disponibilidade noformato us-west-2a, us-west-2b, etc.

$ aws cloudhsmv2 create-hsm --cluster-id <cluster ID> --availability-zone <Availability Zone>

{ "Hsm": { "HsmId": "hsm-ted36yp5b2x", "EniIp": "10.0.1.12", "AvailabilityZone": "us-west-2a", "ClusterId": "cluster-igklspoyj5v", "EniId": "eni-5d7ade72", "SubnetId": "subnet-fd54af9b", "State": "CREATE_IN_PROGRESS" }}

Para criar um HSM (API do AWS CloudHSM)

• Envie uma solicitação CreateHsm. Especifique o ID do cluster criado anteriormente e uma zona dedisponibilidade para o HSM.

Depois de criar um cluster e um HSM, opcionalmente, é possível verificar a identidade do HSM (p. 24)ou ir diretamente para Inicializar o cluster (p. 30).

Verificar a identidade e a autenticidade do HSM deseu cluster (opcional)

Para inicializar seu cluster, assine uma solicitação de assinatura de certificado (CSR) gerada pelo primeiroHSM do cluster. Antes de fazer isso, você pode verificar a identidade e a autenticidade do HSM.

Note

Este processo é opcional. No entanto, ele funciona apenas até que um cluster seja inicializado.Depois que o cluster for inicializado, você não poderá usar esse processo para obter oscertificados ou verificar os HSMs.

Tópicos

24

Page 31: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioOverview

• Overview (p. 25)• Obter certificados do HSM (p. 27)• Obter certificados raiz (p. 28)• Verificar cadeias de certificados (p. 29)• Extrair e comparar chaves públicas (p. 30)

OverviewPara verificar a identidade do primeiro HSM do cluster, execute as seguintes etapas:

1. Obter os certificados e CSR (p. 27) – Nesta etapa, são obtidos três certificados e um CSR no HSM.Além disso, são obtidos dois certificados raiz, um do AWS CloudHSM e um do fabricante de hardwaredo HSM.

2. Verificar as cadeias do certificado (p. 29) – nesta etapa, são construídas duas cadeias de certificado,uma para o certificado raiz do AWS CloudHSM e uma para o certificado raiz do fabricante. Em seguida,o certificado do HSM é conferido com essas cadeias de certificados para determinar que o AWSCloudHSM e o fabricante de hardware confirmam a identidade e a autenticidade do HSM.

3. Comparar chaves públicas (p. 30) – nesta etapa, as chaves públicas são extraídas e comparadascom as chaves públicas no certificado do HSM e na CSR do cluster, para garantir que são iguais. Issodeve fornecer a confiança de que o CSR foi gerado por um HSM autêntico e confiável.

O diagrama a seguir mostra a CSR, os certificados e a relação entre eles. Cada certificado é definido pelalista subsequente.

25

Page 32: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioOverview

Certificado raiz da AWS

Este é o certificado raiz do AWS CloudHSM.Certificado raiz do fabricante

Este é o certificado raiz do fabricante de hardware.Certificado de hardware da AWS

O AWS CloudHSM criou esse certificado quando o hardware do HSM foi adicionado à frota. Essecertificado garante que o AWS CloudHSM é o proprietário do hardware.

Certificado de hardware do fabricante

O fabricante de hardware do HSM criou esse certificado quando o hardware do HSM foi fabricado.Esse certificado garante que o fabricante criou o hardware.

Certificado HSM

O certificado do HSM é gerado pelo hardware validado pelo FIPS quando você cria o primeiro HSM nocluster. Esse certificado garante que o hardware do HSM criou o HSM.

26

Page 33: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioObter certificados do HSM

CSR do cluster

O primeiro HSM cria a CSR do cluster. Ao assinar a CSR do cluster (p. 32), você reivindica ocluster. Em seguida, você pode usar a CSR assinada para inicializar o cluster (p. 33).

Obter certificados do HSMPara verificar a identidade e a autenticidade do HSM, começar obtendo um CSR e cinco certificados.É possível obter três certificados do HSM, o que pode ser feito no console do AWS CloudHSM, a AWSCommand Line Interface (AWS CLI) ou a API do AWS CloudHSM.

Para obter a CSR e certificados de HSM (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Selecione Inicializar ao lado do cluster que foi criado anteriormente.3. Quando os certificados e a CSR estiverem prontos, você verá links para fazer o download.

27

Page 34: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioObter certificados raiz

Escolha cada link para fazer download e salvar a CSR e seus certificados. Para simplificar as etapassubsequentes, salve todos os arquivos no mesmo diretório e use os nomes de arquivo padrão.

Para obter a CSR e os certificados HSM (AWS CLI)

• No prompt de comando, execute o comando describe-clusters quatro vezes, extraindo o CSR ecertificados diferentes cada vez e salvando-os em arquivos.

a. Emita o seguinte comando para extrair a CSR do cluster. Substituir <cluster ID> com a ID dogrupo que criou anteriormente.

$ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr

b. Emita o seguinte comando para extrair o certificado do HSM. Substituir <cluster ID> com a IDdo grupo que criou anteriormente.

$ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.HsmCertificate' \ > <cluster ID>_HsmCertificate.crt

c. Emita o seguinte comando para extrair o certificado de hardware da AWS. Substituir <clusterID> com a ID do grupo que criou anteriormente.

$ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.AwsHardwareCertificate' \ > <cluster ID>_AwsHardwareCertificate.crt

d. Emita o seguinte comando para extrair o certificado de hardware do fabricante. Substituir<cluster ID> com a ID do grupo que criou anteriormente.

$ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ManufacturerHardwareCertificate' \ > <cluster ID>_ManufacturerHardwareCertificate.crt

Para obter a CSR e os certificados do HSM (API do AWS CloudHSM)

• Envie uma solicitação DescribeClusters e, em seguida, extraia e salve a CSR e os certificados daresposta.

Obter certificados raizSiga estas etapas para obter certificados raiz para o AWS CloudHSM e o fabricante. Salve os arquivos decertificado raiz no diretório que contém os arquivos CSR e de certificado da HSM.

28

Page 35: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar cadeias de certificados

Para obter certificados raiz para o AWS CloudHSM e o fabricante

1. Descarregar o AWS CloudHSM certificado de raiz: AWS_cloudhsm_Root-G1.zip2. Descarregue o certificado de raiz do fabricante: liquid_security_certificate.zip

Para transferir o certificado a partir da página inicial, https://www.marvell.com/products/security-solutions/liquid-security-hsm-adapters-and-appliances/liquidsecurity-certificate.html, e depois escolhaTransferir certificado.

Talvez seja necessário clicar no link de Fazer download de certificado e escolher Salvar Link como... aseguir, para salvar o arquivo do certificado.

3. Depois de transferir os ficheiros, extraia (descompacte) o conteúdo.

Verificar cadeias de certificadosNesta etapa, são construídas duas cadeias de certificado, uma para o certificado raiz do AWS CloudHSMe uma para o certificado raiz do fabricante. Em seguida, use OpenSSL para verificar o certificado de HSMcom cada cadeia de certificado.

Para criar as cadeias de certificados, abra um shell do Linux. Você precisa do OpenSSL, que estádisponível na maioria dos shells do Linux e precisa do certificado raiz (p. 28) e dos arquivos decertificado do HSM (p. 27) que foram transferidos por download. Entretanto, não precisa da AWS CLIpara essa etapa, e o shell não precisa estar associado à sua conta da AWS.

Note

Para verificar a cadeia de certificados, use o OpenSSL 1.0. Devido a uma mudança na verificaçãodo certificado OpenSSL, as instruções a seguir não funcionam com o OpenSSL 1.1.

Para verificar o certificado de HSM com o certificado raiz de AWS CloudHSM

1. Navegue até o diretório onde você salvou o certificado raiz (p. 28) e os arquivos de certificado doHSM (p. 27) que foram transferidos por download. Os comandos a seguir assumem que todos oscertificados estejam no diretório atual e usam os nomes de arquivo padrão.

Use o comando a seguir para criar uma cadeia de certificado que inclua o certificado de hardware daAWS e o certificado raiz de AWS CloudHSM, nesta ordem. Substituir <cluster ID> com a ID dogrupo que criou anteriormente.

$ cat <cluster ID>_AwsHardwareCertificate.crt \ AWS_CloudHSM_Root-G1.crt \ > <cluster ID>_AWS_chain.crt

2. Use o comando OpenSSL a seguir para verificar o certificado de HSM com a cadeia de certificação daAWS. Substituir <cluster ID> com a ID do grupo que criou anteriormente.

$ openssl verify -CAfile <cluster ID>_AWS_chain.crt <cluster ID>_HsmCertificate.crt<cluster ID>_HsmCertificate.crt: OK

Para verificar o certificado de HSM com o certificado raiz do fabricante

1. Use o comando a seguir para criar uma cadeia de certificado que inclua o certificado de hardwaredo fabricante e o certificado raiz do fabricante, nesta ordem. Substituir <cluster ID> com a ID dogrupo que criou anteriormente.

$ cat <cluster ID>_ManufacturerHardwareCertificate.crt \

29

Page 36: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExtrair e comparar chaves públicas

liquid_security_certificate.crt \ > <cluster ID>_manufacturer_chain.crt

2. Use o comando OpenSSL a seguir para verificar o certificado do HSM com a cadeia de certificados dofabricante. Substituir <cluster ID> com a ID do grupo que criou anteriormente.

$ openssl verify -CAfile <cluster ID>_manufacturer_chain.crt <cluster ID>_HsmCertificate.crt<cluster ID>_HsmCertificate.crt: OK

Extrair e comparar chaves públicasUse OpenSSL para extrair e comparar chaves públicas no certificado do HSM e na CSR do cluster, a fimde garantir que são iguais.

Para comparar as chaves públicas, use o shell do Linux. Você precisa do OpenSSL, que está disponível namaioria dos shells do Linux, mas não precisa da AWS CLI nesta etapa. O shell não precisa estar associadoà sua conta da AWS.

Para extrair e comparar as chaves públicas

1. Use o comando a seguir para extrair a chave pública do certificado de HSM.

$ openssl x509 -in <cluster ID>_HsmCertificate.crt -pubkey -noout > <cluster ID>_HsmCertificate.pub

2. Use o comando a seguir para extrair a chave pública da CSR do cluster.

$ openssl req -in <cluster ID>_ClusterCsr.csr -pubkey -noout > <cluster ID>_ClusterCsr.pub

3. Use o comando a seguir para comparar as chaves públicas. Se as chaves públicas forem idênticas, ocomando a seguir não produzirá resultado.

$ diff <cluster ID>_HsmCertificate.pub <cluster ID>_ClusterCsr.pub

Depois de verificar a identidade e a autenticidade do HSM, vá para Inicializar o cluster (p. 30).

Inicializar o clusterConclua as etapas dos tópicos a seguir para inicializar o cluster do AWS CloudHSM.

Note

Antes de inicializar o cluster, reveja o processo pelo qual você pode verificar a identidade e aautenticidade dos HSMs (p. 24). Esse processo é opcional e funciona apenas até que umcluster seja inicializado. Depois que o cluster for inicializado, você não poderá usar esse processopara obter seus certificados ou verificar os HSMs.

Tópicos• Obter a Solicitação de assinatura de certificado (CSR) do cluster (p. 31)• Assinar a CSR (p. 32)• Inicializar o cluster (p. 33)

30

Page 37: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioObter a Solicitação de assinatura

de certificado (CSR) do cluster

Obter a Solicitação de assinatura de certificado (CSR)do clusterAntes de inicializar o cluster, é necessário baixar e assinar uma solicitação de assinatura de certificado(CSR) gerada pelo primeiro HSM do cluster. Se tiver seguido as etapas para verificar a identidade do HSMdo cluster (p. 24), você já deverá ter a CSR e poderá assiná-la. Caso contrário, obtenha a CSR agorausando o console do AWS CloudHSM, a AWS Command Line Interface (AWS CLI) ou a API do AWSCloudHSM.

Para obter a CSR (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Selecione Inicializar ao lado do cluster que foi criado anteriormente (p. 18).3. Quando a CSR estiver pronta, você verá um link para fazer o download.

31

Page 38: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAssinar a CSR

Selecione Cluster CSR para fazer o download e salvar a CSR.

Para obter a CSR (AWS CLI)

• No prompt de comando, execute o seguinte comando describe-clusters, que extrai a CSR ea salva em um arquivo. Substitua <cluster ID> pelo ID do cluster que tinha sido criadoanteriormente (p. 18).

$ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr

Para obter a CSR (API do AWS CloudHSM)

1. Envie uma solicitação DescribeClusters.2. Extraia e salve a CSR da resposta.

Assinar a CSRAtualmente, você deve criar um certificado de assinatura autoassinado e usá-lo para assinar a CSR do seucluster. Você não precisa da AWS CLI nesta etapa, e o shell não precisa estar associado à sua conta daAWS. Para assinar a CSR, você deve fazer o seguinte:

1. Obtenha a CSR (consulte Obter a Solicitação de assinatura de certificado (CSR) do cluster (p. 31)).2. Crie uma chave privada.3. Use a chave privada para criar um certificado de assinatura.4. Assine a CSR do seu cluster.

Criar uma chave privadaUse o comando a seguir para criar uma chave privada. Para um cluster de produção, a chave deve sercriada com segurança usando uma fonte confiável de aleatoriedade. Recomendamos que você use umHSM fora do local e off-line ou o equivalente. Armazene a chave com segurança. Se você conseguircomprovar que é proprietário da chave, também poderá demonstrar que é proprietário do cluster e dosdados nele contidos.

Durante a fase de desenvolvimento e teste, você pode usar qualquer ferramenta conveniente (como oOpenSSL) para criar e assinar o certificado do cluster. O exemplo a seguir mostra como criar uma chave.Após usar a chave para criar um certificado autoassinado (veja abaixo), você deve armazená-la comsegurança. Para fazer login na instância do AWS CloudHSM, o certificado deve estar presente, mas não achave privada. Use a chave somente para finalidades específicas, como a restauração de um backup.

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

32

Page 39: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInicializar o cluster

Usar a chave privada para criar um certificado autoassinadoO hardware confiável que você usa para criar a chave privada para seu cluster de produção tambémdeve fornecer uma ferramenta de software para gerar um certificado autoassinado usando essa chave. Oexemplo a seguir usa o OpenSSL e a chave privada criada na etapa anterior para criar um certificado deassinatura. O certificado é válido por 10 anos (3652 dias). Leia as instruções na tela e siga os avisos.

$ openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crtEnter pass phrase for customerCA.key:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:Email Address []:

Este comando cria um arquivo de certificado nomeado customerCA.crt. Coloque esse certificado emcada host do qual você se conectará ao cluster do AWS CloudHSM. Se você der um nome diferente aoarquivo ou armazená-lo em um caminho diferente da raiz do host, edite o arquivo de configuração docliente adequadamente. Use o certificado e a chave privada que você acabou de criar para assinar asolicitação de assinatura de certificado (CSR) do cluster na próxima etapa.

Assinar a CSR do clusterO hardware confiável que você usa para criar a chave privada do cluster de produção também devefornecer uma ferramenta para assinar a CSR por meio dessa chave. O exemplo a seguir usa o OpenSSLpara assinar a CSR do cluster. O exemplo usa a chave privada e o certificado autoassinado criado naetapa anterior.

$ openssl x509 -req -days 3652 -in <cluster ID>_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out <cluster ID>_CustomerHsmCertificate.crtSignature oksubject=/C=US/ST=CA/O=Cavium/OU=N3FIPS/L=SanJose/CN=HSM:<HSM identifer>:PARTN:<partition number>, for FIPS modeGetting CA Private KeyEnter pass phrase for customerCA.key:

Este comando cria um arquivo chamado <cluster ID>_CustomerHsmCertificate.crt. Use estearquivo como o certificado assinado ao inicializar o cluster.

Inicializar o clusterUse o certificado assinado do HSM e o certificado de assinatura para inicializar o cluster. Use o console doAWS CloudHSM, a AWS CLI ou a API do AWS CloudHSM.

33

Page 40: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInicializar o cluster

Para inicializar um cluster (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Selecione Inicializar ao lado do cluster que foi criado anteriormente.3. Na página Download certificate signing request, escolha Next. Se a opção Próximo não estiver

disponível, selecione primeiro um dos links de certificado ou de CSR. Em seguida, escolha Avançar.4. Na página de Solicitação assinatura de certificado (CSR), selecione Próximo.5. Na página Carregar os certificados, faça o seguinte:

a. Ao lado de Certificado de clusterselecione Carregar arquivo. Em seguida, localize e selecioneo certificado do HSM assinado anteriormente. Se tiver executado as etapas na seção anterior,selecione o arquivo denominado <cluster ID>_CustomerHsmCertificate.crt.

b. Ao lado de Certificado de emissãoselecione Carregar arquivo. Em seguida, selecione seucertificado de assinatura. Se tiver executado as etapas na seção anterior, selecione o arquivodenominado customerCA.crt.

c. Selecione carregar e inicializar.

Para inicializar um cluster (AWS CLI)

• Em um prompt de comando, execute o comando initialize-cluster. Forneça o seguinte:

• O ID do cluster que foi criado anteriormente.• O certificado de HSM que foi assinado anteriormente. Se tiver executado as

etapas na seção anterior, ele foi salvo em um arquivo denominado <clusterID>_CustomerHsmCertificate.crt.

• Seu certificado de assinatura. Se tiver executado as etapas na seção anterior, o certificado deassinatura foi salvo em um arquivo denominado customerCA.crt.

$ aws cloudhsmv2 initialize-cluster --cluster-id <cluster ID> \ --signed-cert file://<cluster ID>_CustomerHsmCertificate.crt \ --trust-anchor file://customerCA.crt{ "State": "INITIALIZE_IN_PROGRESS", "StateMessage": "Cluster is initializing. State will change to INITIALIZED upon completion."}

Para inicializar um cluster (API do AWS CloudHSM)

• Envie uma solicitação InitializeCluster com o seguinte:

• O ID do cluster que foi criado anteriormente.• O certificado de HSM que foi assinado anteriormente.• Seu certificado de assinatura.

34

Page 41: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalar o cliente (Linux)

Instalar e configurar o cliente do AWS CloudHSM(Linux)

Para interagir com o HSM no cluster do AWS CloudHSM, é necessário o software cliente do AWSCloudHSM para Linux. Você deve instalá-lo na instância do cliente do Linux EC2 criada anteriormente.Você também pode instalar um cliente se estiver usando o Windows. Para obter mais informações,consulte Instalar e configurar o cliente do AWS CloudHSM (Windows) (p. 37).

Tarefas• Instalar o AWS CloudHSM cliente e as ferramentas da linha de comando (p. 35)• Editar a configuração do cliente (p. 36)

Instalar o AWS CloudHSM cliente e as ferramentas dalinha de comandoConecte-se à instância do cliente e execute os seguintes comandos para fazer download e instalar asferramentas da linha de comando e o cliente do AWS CloudHSM.

Amazon Linux

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm

Amazon Linux 2

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm

CentOS 6

sudo yum install wget

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm

CentOS 7

sudo yum install wget

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

35

Page 42: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEditar a configuração do cliente

sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm

RHEL 6

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm

RHEL 7

sudo yum install wget

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client_latest_amd64.deb

sudo dpkg -i cloudhsm-client_latest_amd64.deb

Editar a configuração do clienteAntes de usar o cliente do AWS CloudHSM para se conectar ao cluster, é necessário editar a configuraçãodo cliente.

Para editar a configuração do cliente

1. Copie o certificado de emissão—aquele usado para assinar o certificado do cluster (p. 32)—parao seguinte local na instância do cliente: /opt/cloudhsm/etc/customerCA.crt. É necessário terpermissões de usuário root da instância na instância do cliente para copiar o certificado para estelocal.

2. Use o comando configure (p. 220) a seguir para atualizar os arquivos de configuração para o AWSCloudHSM cliente e as ferramentas da linha de comando, especificando o endereço IP do HSM emseu cluster. Para obter o endereço IP do HSM, visualize seu cluster no console do AWS CloudHSMou execute o comando describe-clusters AWS CLI. Na saída do comando, o endereço IP do HSM é ovalor que está no campo EniIp. Caso tenha mais de um HSM, selecione o endereço IP para qualquerum dos HSMs, não importa qual.

sudo /opt/cloudhsm/bin/configure -a <IP address> Updating server config in /opt/cloudhsm/etc/cloudhsm_client.cfgUpdating server config in /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

3. Acesse Ativar o cluster (p. 37).

36

Page 43: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalar o cliente (Windows)

Instalar e configurar o cliente do AWS CloudHSM(Windows)

Trabalhar com um HSM no seu AWS CloudHSM no Windows, precisa do AWS CloudHSM software clientepara Windows. Você deve instalá-lo na instância do Windows Server criada anteriormente.

Para instalar (ou atualizar) as ferramentas de linha de comandos e cliente Windows mais recentes

1. Conecte-se à sua instância do Windows Server.2. Faça download do Instalador do AWSCloudHSMClient-latest.msi.3. Aceda ao local de transferência e execute o instalador (awscloudssmcliente-mais recente.msi) com

privilégios administrativos.4. Siga as instruções do instalador e, em seguida, escolha Fechar depois de o instalador ter terminado.5. Copie o certificado de emissão autoassinado—aquele usado para assinar o certificado do

cluster (p. 32)—para a pasta C:\ProgramData\Amazon\CloudHSM.6. Execute o seguinte comando para atualizar os arquivos de configuração. Certifique-se de parar e

iniciar o cliente durante a reconfiguração, se você estiver atualizando-o:

C:\Program Files\Amazon\CloudHSM\configure.exe" -a <HSM IP address>

7. Acesse Ativar o cluster (p. 37).

(Observações)

• Se estiver a atualizar o cliente, os ficheiros de configuração existentes de instalações anteriores são nãosubstituído.

• O AWS CloudHSM o instalador do cliente para Windows regista automaticamente o API de criptografia:Next Generation (CNG) e provedor de armazenamento de chaves (KSP). Para desinstalar o cliente,execute novamente o instalador e siga as instruções de desinstalação.

• Se estiver a utilizar o Linux, pode instalar o cliente Linux. Para obter mais informações, consulte Instalare configurar o cliente do AWS CloudHSM (Linux) (p. 35).

Ativar o clusterAo você ativar um cluster de AWS CloudHSM, o status do cluster muda de inicializado para ativo. Emseguida, é possível gerenciar os usuários do HSM (p. 53) e usar o HSM (p. 226).

Para ativar o cluster, faça login no HSM com as credenciais do responsável pela pré-criptografia(PRECO) (p. 11). É um usuário temporário que existe somente no primeiro HSM em um cluster do AWSCloudHSM. O primeiro HSM em um novo cluster contém um usuário PRECO com um nome de usuário esenha padrão. Ao alterar a senha, o usuário PRECO se torna um responsável pela criptografia (CO).

Para ativar um cluster

1. Conecte-se à instância do cliente que você iniciou anteriormente. Para obter mais informações,consulte Iniciar uma instância do cliente do Amazon EC2 (p. 20). Você pode iniciar uma instânciado Linux ou um Windows Server.

2. Use o comando a seguir para iniciar o utilitário de linha de comando cloudhsm_mgmt_util.

37

Page 44: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtivar o cluster

Note

Se você estiver usando uma AMI que usa o Amazon Linux 2, consulte Problemas conhecidosde instâncias do Amazon EC2 que executam o Amazon Linux 2 (p. 369).

Amazon Linux

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

Ubuntu

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

Windows

C:\Program Files\Amazon\CloudhSM>cloudhsm_mgmt_util.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg

3. Use o comando enable_e2e para habilitar a criptografia de ponta a ponta.

aws-cloudhsm>enable_e2e

E2E enabled on server 0(server1)

4. (Opcional) Use o comando listUsers para exibir os usuários existentes.

aws-cloudhsm>listUsersUsers on server 0(server1):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

5. Use o comando loginHSM para fazer login no HSM como usuário PRECO. É um usuário temporárioque existe no primeiro HSM em um cluster.

aws-cloudhsm>loginHSM PRECO admin password

loginHSM success on server 0(server1)

6. Use o comando changePswd para alterar a senha do usuário PRECO. Ao alterar a senha, o usuárioPRECO se torna um responsável pela criptografia (CO).

aws-cloudhsm>changePswd PRECO admin <NewPassword>

*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?y

38

Page 45: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReconfigurar SSL (opcional)

Changing password for admin(PRECO) on 1 nodes

Recomendamos anotar a nova senha em uma planilha de senhas. Não perca a planilha.Recomendamos que você imprima uma cópia da planilha de senhas, use-a para registrar as senhascríticas do HSM e armazene-a em um local seguro. Também recomendamos armazenar uma cópiadessa planilha em um local externo seguro.

7. (Opcional) Use o comando listUsers para verificar se o tipo de usuário foi alterado para responsávelpela criptografia (CO) (p. 11).

aws-cloudhsm>listUsersUsers on server 0(server1):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

8. Use o comando quit para parar a ferramenta cloudhsm_mgmt_util.

aws-cloudhsm>quit

Reconfigurar SSL com um novo certificado e chaveprivada (opcional)

O AWS CloudHSM usa um certificado SSL para estabelecer uma conexão com um HSM. Uma chavepadrão e certificado SSL são incluídos ao instalar o cliente. No entanto, você pode criar e usar seupróprio. Observe que você precisará do certificado autoassinado–(customerCA.crt) que criou aoinicializar (p. 33) o cluster.

Para reconfigurar o SSL com um novo certificado e chave privada

1. Crie uma chave privada usando o seguinte comando OpenSSL:

openssl genrsa -out ssl-client.key 2048Generating RSA private key, 2048 bit long modulus........+++............+++e is 65537 (0x10001)

2. Use o comando OpenSSL a seguir para criar uma solicitação de assinatura de certificado (CSR). Vocêprecisará responder uma série de perguntas sobre o certificado.

openssl req -new -sha256 -key ssl-client.key -out ssl-client.csrEnter pass phrase for ssl-client.key:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----

39

Page 46: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPráticas recomendadas

Country Name (2 letter code) [XX]:State or Province Name (full name) []:Locality Name (eg, city) [Default City]:Organization Name (eg, company) [Default Company Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, your name or your server's hostname) []:Email Address []: Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:

3. Assine a CSR com o certificado customerCA.crt que você criou ao inicializar o cluster.

openssl x509 -req -days 3652 -in ssl-client.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out ssl-client.crtSignature oksubject=/C=US/ST=WA/L=Seattle/O=Example Company/OU=salesGetting CA Private Key

4. Copie a chave e o certificado para o diretório apropriado. No Linux, use os comandos a seguir. Aopção configure --ssl foi disponibilizada com a versão 1.0.14 do cliente do AWS CloudHSM.

sudo cp ssl-client.crt /opt/cloudhsm/etc/sudo cp ssl-client.key /opt/cloudhsm/etc/sudo /opt/cloudhsm/bin/configure --ssl --pkey /opt/cloudhsm/etc/ssl-client.key --cert /opt/cloudhsm/etc/ssl-client.crt

5. Adicione o certificado customerCA.crt ao armazenamento de confiança. Crie um hash do nomedo certificado específico. Isso cria um índice para permitir que o certificado seja pesquisado por essenome. Crie um arquivo que contenha o certificado com o nome de hash.

openssl x509 -in /opt/cloudhsm/etc/customerCA.crt -hash | head -n 11234abcdsudo cp /opt/cloudhsm/etc/customerCA.crt /opt/cloudhsm/etc/certs/1234abcd.0

Práticas recomendadas do AWS CloudHSMConheça as práticas recomendadas para trabalhar com o AWS CloudHSM. À medida que novas práticasrecomendadas forem identificadas, atualizaremos esta seção.

Diretrizes operacionais básicas do AWS CloudHSMUse as seguintes diretrizes ao trabalhar com o AWS CloudHSM. O Acordo de Nível de Serviço do AWSCloudHSM requer que você siga essas diretrizes.

Administration (Administração): recomendamos criar pelo menos dois responsáveis pela criptografia (COs)para administrar seu cluster. Antes de definir a política de quorum (MofN), crie pelo menos M+1 contas deCO. Exclua contas CO com cuidado. Se você estiver abaixo do número de quorum de COs, não será maispossível administrar seu cluster.

40

Page 47: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDiretrizes operacionais básicas do AWS CloudHSM

Administration (Administração): se ocorrer uma falha no HSM, talvez haja uma perda de dadosirrecuperável. Não configuramos a tolerância a falhas para você. Você é responsável por configurar atolerância a falhas para seus HSMs.

Cluster Configuration (Configuração do cluster): para clusters de produção, você deve ter pelo menos duasinstâncias do HSM distribuídas em duas zonas de disponibilidade em uma região. Para cargas de trabalhosensíveis à latência, recomendamos redundância +1. Para aplicativos que exigem durabilidade de chavesrecém-geradas, recomendamos pelo menos três instâncias do HSM distribuídas em todas as zonas dedisponibilidade de uma região.

Cluster Capacity (Capacidade do cluster): você deve criar um número suficiente de HSMs no cluster paramanipular sua carga de trabalho. Você deve considerar a capacidade do log de auditoria e a capacidadede criptografia ao decidir quantos HSMs criar em um cluster.

41

Page 48: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAdicionar ou remover HSMs

Gerenciar clusters do AWSCloudHSM

Você pode gerenciar seus clusters do AWS CloudHSM no console do AWS CloudHSM ou um dos seusSDKs da AWS SDKs ou das suas ferramentas de linha de comando. Para obter mais informações,consulte os tópicos a seguir.

Para criar um cluster, consulte Conceitos básicos (p. 16).

Tópicos• Adicionar ou remover HSMs em um cluster do AWS CloudHSM (p. 42)• Copiar um backup entre regiões (p. 45)• Criar um cluster do AWS CloudHSM a partir de um backup anterior (p. 46)• Excluir e restaurar o backup de um cluster do AWS CloudHSM (p. 47)• Excluir um cluster do AWS CloudHSM (p. 48)• Marcar recursos do AWS CloudHSM (p. 49)

Adicionar ou remover HSMs em um cluster do AWSCloudHSM

Para ampliar ou reduzir seu cluster do AWS CloudHSM adicione ou remova HSMs usando o console doAWS CloudHSM ou um dos SDKs do AWS ou ferramentas da linha de comando.

Tópicos• Adicionar um HSM (p. 42)• Removendo um HSM (p. 44)

Adicionar um HSMA figura a seguir ilustra os eventos que ocorrem quando você adiciona um HSM a um cluster.

42

Page 49: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAdicionar um HSM

1. Você adiciona um novo HSM a um cluster. Os procedimentos a seguir explicam como fazer isso com oconsole do AWS CloudHSM, a AWS Command Line Interface (AWS CLI) e a API do AWS CloudHSM.

Esta é a única ação que você deve realizar. Os eventos restantes ocorrem automaticamente.2. O AWS CloudHSM faz uma cópia de backup de um HSM existente no cluster. Para obter mais

informações, consulte Backups (p. 6).3. O AWS CloudHSM restaura o backup no novo HSM. Isso garante que o HSM esteja em sincronia com

os outros no cluster.4. Os HSM existentes no cluster notificam o cliente AWS CloudHSM que existe um novo HSM no cluster.5. O cliente estabelece uma conexão com o novo HSM.

Para adicionar um HSM (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.

43

Page 50: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRemovendo um HSM

2. Escolha um cluster para o HSM que você está adicionando.3. Na guia HSMs, escolha Create HSM.4. Escolha uma zona de disponibilidade (AZ) para o HSM que está sendo criado. Em seguida, selecione

Criar.

Para adicionar um HSM (AWS CLI)

• No prompt de comando, emita o comando create-hsm, especificando um ID de cluster e uma zona dedisponibilidade para o HSM que você está criando. Se você não conhece o ID do seu cluster preferido,emita o comando describe-clusters. Especifique a zona de disponibilidade no formato us-east-2a,us-east-2b, etc.

$ aws cloudhsmv2 create-hsm --cluster-id <cluster ID> --availability-zone <Availability Zone>{ "Hsm": { "State": "CREATE_IN_PROGRESS", "ClusterId": "cluster-5a73d5qzrdh", "HsmId": "hsm-lgavqitns2a", "SubnetId": "subnet-0e358c43", "AvailabilityZone": "us-east-2c", "EniId": "eni-bab18892", "EniIp": "10.0.3.10" }}

Para adicionar um HSM (API do AWS CloudHSM)

• Envie uma solicitação CreateHsm, especificando o ID do cluster e uma zona de disponibilidade para oHSM que você está criando.

Removendo um HSMÉ possível remover um HSM usando o console do AWS CloudHSM , o AWS CLI ou a API do AWSCloudHSM.

Para remover um HSM (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha o cluster que contém o HSM que você está removendo.3. Na guia HSMs, escolha o HSM que você está removendo. Em seguida, escolha Delete HSM.4. Confirme que você deseja excluir o HSM. Em seguida, selecione Excluir.

Para remover um HSM (AWS CLI)

• Em um prompt de comando, emita o comando delete-hsm. Transmita o ID do cluster que contém oHSM que você está excluindo e um dos seguintes identificadores de HSM:

• O ID do HSM (--hsm-id)• O endereço IP do HSM (--eni-ip)• O ID da interface de rede elástica do HSM (--eni-id)

Se você não conhece os valores desses identificadores, emita o comando describe-clusters.

44

Page 51: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCopiar um backup entre regiões

$ aws cloudhsmv2 delete-hsm --cluster-id <cluster ID> --eni-ip <HSM IP address>{ "HsmId": "hsm-lgavqitns2a"}

Para remover um HSM (API do AWS CloudHSM)

• Envie uma solicitação DeleteHsm, especificando o ID do cluster e um identificador para o HSM quevocê está excluindo.

Copiar um backup entre regiõesO AWS CloudHSM permite que você copie um backup de um cluster em uma região diferente, ondeele pode ser usado para criar um novo cluster como um clone do original. Backups do cluster do AWSCloudHSM (p. 6) são pacotes de dados criptografados que contêm os elementos de um determinadocluster. Para clonar um cluster em uma região diferente, primeiro copie o backup de cluster para a regiãode destino e, em seguida, crie outro cluster usando o backup copiado. Você pode fazer isso por váriosmotivos, incluindo simplificar o processo de recuperação de desastres.

Você pode copiar um backup de cluster entre regiões usando a AWS Command Line Interface (AWS CLI)ou a API do AWS CloudHSM. Ao emitir o comando copy-backup-to-region, o backup copiado é exibido naregião de destino com um status CREATE_IN_PROGRESS. Após a conclusão bem-sucedida, o status dobackup copiado será READY.

Se o comando copy-backup-to-region não for finalizado com êxito, o status do backup copiado seráDELETED. Verifique os parâmetros de entrada no caso de erros e verifique se o backup de origemespecificado não está em um estado DELETED antes de executar novamente a operação.

Para obter informações sobre como criar um cluster de um backup, consulte Criar um cluster do AWSCloudHSM a partir de um backup anterior (p. 46).

Important

Observe o seguinte:

• Para copiar um backup de cluster para uma região de destino, sua conta deve ter aspermissões de política do IAM corretas. Para copiar o backup para outra região, sua políticado IAM deve permitir o acesso à região de origem em que o backup está localizado. Apóscopiado entre as regiões, sua política do IAM deverá permitir o acesso à região de destino parainteragir com o backup copiado, que inclui o uso da operação CreateCluster. Para obter maisinformações, consulte Políticas gerenciadas pelo cliente para o AWS CloudHSM (p. 16).

• O cluster original e o cluster que pode ser criado de um backup na região de destino não estãovinculados. Você deve gerenciar cada um desses clusters de forma independente. Para obtermais informações, consulte Gerenciar clusters do AWS CloudHSM (p. 42)

• Os backups não podem ser copiados entre regiões restritas e regiões padrão da AWS. Osbackups podem ser copiados entre o AWS GovCloud (Leste dos EUA) e o AWS GovCloud(Oeste dos EUA).

Para copiar um backup de cluster em outra região (AWS CLI)

• Em um prompt de comando, execute o comando copy-backup-to-region. Especifique a região dedestino e o ID do cluster de origem ou o ID do backup de origem. Se você especificar um ID debackup, o backup associado será copiado. Se você especificar um ID de cluster, o backup maisrecente disponível do cluster associado será copiado. Se você informar os dois, por padrão, o ID

45

Page 52: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar um cluster a partir de um backup

de backup fornecido será usado. Se você não souber o ID do cluster ou o ID de backup, execute ocomando describe-clusters ou describe-backups, respectivamente.

$ aws cloudhsmv2 copy-backup-to-region --destination-region <destination region> \ --backup-id <backup ID>{ "DestinationBackup": { "CreateTimestamp": 1531742400, "SourceBackup": "backup-4kuraxsqetz", "SourceCluster": "cluster-kzlczlspnho", "SourceRegion": "us-east-1" }}

Para copiar um backup de cluster para outra região (API do AWS CloudHSM)

• Envie uma solicitação CopyBackupToRegion. Especifique a região de destino e o ID de cluster ou o IDde backup mais recente do cluster a ser copiado.

Criar um cluster do AWS CloudHSM a partir de umbackup anterior

Para restaurar um cluster do AWS CloudHSM de um backup anterior, você cria um novo cluster eespecifica o backup a ser restaurado. Depois de criar o cluster, você não precisa inicializá-lo ou ativá-lo. Basta adicionar um HSM ao cluster. Esse HSM contém os mesmos usuários, material de chave,certificados, configuração e políticas que estavam no backup restaurado. Para obter mais informaçõessobre backups, consulte Backups (p. 6).

Você pode restaurar um cluster de um backup no console do AWS CloudHSM, na AWS Command LineInterface (AWS CLI) ou na API do AWS CloudHSM.

Para criar um cluster a partir de um backup anterior (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha Create cluster.3. Na seção Configuração de cluster, faça o seguinte:

a. Para VPC, escolha uma VPC para o cluster que você está criando.b. Para AZ(s), escolha uma sub-rede privada para cada zona de disponibilidade que você está

adicionando ao cluster.4. Na seção Cluster source, faça o seguinte:

a. Escolha Restore cluster from existing backup.b. Escolha o backup que você está restaurando.

5. Selecione Next: Review.6. Reveja a sua configuração de cluster e escolha Create cluster.

Para criar um cluster a partir de um backup anterior (AWS CLI)

• Em um prompt de comando, emita o comando create-cluster. Especifique o tipo de instância do HSM,os IDs das sub-redes em que você planeja criar HSMs e o ID de backup do backup que você estárestaurando. Se você não conhece o ID do backup, emita o comando describe-backups.

46

Page 53: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExcluir e restaurar um backup

$ aws cloudhsmv2 create-cluster --hsm-type hsm1.medium \ --subnet-ids <subnet ID 1> <subnet ID 2> <subnet ID N> \ --source-backup-id <backup ID>{ "Cluster": { "HsmType": "hsm1.medium", "VpcId": "vpc-641d3c0d", "Hsms": [], "State": "CREATE_IN_PROGRESS", "SourceBackupId": "backup-rtq2dwi2gq6", "BackupPolicy": "DEFAULT", "SecurityGroup": "sg-640fab0c", "CreateTimestamp": 1504907311.112, "SubnetMapping": { "us-east-2c": "subnet-0e358c43", "us-east-2a": "subnet-f1d6e798", "us-east-2b": "subnet-40ed9d3b" }, "Certificates": { "ClusterCertificate": "<certificate string>" }, "ClusterId": "cluster-jxhlf7644ne" }}

Para criar um cluster a partir de um backup anterior (API do AWS CloudHSM)

• Envie uma solicitação CreateCluster. Especifique o tipo de instância do HSM, os IDs das sub-redesem que você planeja criar HSMs e o ID de backup do backup que você está restaurando.

Para criar um HSM que contenha os mesmos usuários, material de chave, certificados, configuração epolíticas que estavam no backup restaurado, adicione um HSM (p. 42) ao cluster.

Excluir e restaurar o backup de um cluster do AWSCloudHSM

Backups de cluster do AWS CloudHSM (p. 6) são pacotes de dados criptografados que contêm oselementos de um cluster específico. Os backups são gerados uma vez por dia, além de sempre que umHSM é adicionado a um cluster.

Pode ser útil remover certos materiais de criptografia de seu ambiente da AWS, como uma chave expiradaou um usuário inativo. Para remover esses materiais, você deve excluí-los dos HSMs. Para garantir que ainformação excluída não seja restaurada ao inicializar um novo cluster com um backup antigo, você deveexcluir todos os backups existentes do cluster. Para fazer isso, use a AWS Command Line Interface (AWSCLI) ou a API do AWS CloudHSM.

Um backup deve ter o status READY para ser excluído. Você pode verificar o status de um backup usandoo comando describe-backups na AWS CLI ou chamando a API DescribeBackups.

Após a exclusão, um backup fica no status PENDING_DELETION por 7 dias, e pode ser restaurado pormeio do comando restore-backup. Depois desse período, o backup não pode mais ser restaurado.

47

Page 54: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExclusão de um cluster

Para excluir e restaurar um backup (AWS CLI)

1. Em um prompt de comando, execute o comando delete-backup, fornecendo o ID do backup a serexcluído. Se você não conhece o ID do backup, execute o comando describe-backups.

$ aws cloudhsmv2 delete-backup --backup-id <backup ID>{ "Backup": { "CreateTimestamp": 1534461854.64, "ClusterId": "cluster-dygnwhmscg5", "BackupId": "backup-ro5c4er4aac", "BackupState": "PENDING_DELETION", "DeleteTimestamp": 1536339805.522 }}

2. Para restaurar um backup, execute o comando restore-backup, fornecendo o ID do backup que temo status PENDING_DELETION. Você pode verificar o status de um backup executando o comandodescribe-backups com o ID do backup. Se quiser ver uma lista de todos os backups com o statusPENDING_DELETION, execute o comando describe-backups e inclua states=PENDING_DELETIONcomo filtro.

$ aws cloudhsmv2 describe-backups --filters states=PENDING_DELETION{ "Backups": [ { "BackupId": "backup-ro5c4er4aac", "BackupState": "PENDING_DELETION", "CreateTimestamp": 1534461854.64, "ClusterId": "cluster-dygnwhmscg5", "DeleteTimestap": 1536339805.522, }}

$ aws cloudhsmv2 restore-backup --backup-id <backup ID>{ "Backup": { "ClusterId": "cluster-dygnwhmscg5", "CreateTimestamp": 1534461854.64, "BackupState": "READY", "BackupId": "backup-ro5c4er4aac" }}

Para excluir e restaurar um backup (API do AWS CloudHSM)

1. Para excluir um backup, envie uma solicitação DeleteBackup, especificando o ID do backup a serexcluído.

2. Para restaurar um backup, envie uma solicitação RestoreBackup, especificando o ID do backup a serrestaurado.

Excluir um cluster do AWS CloudHSMAntes de poder excluir um cluster, é necessário remover todos os HSMs do cluster. Para obter maisinformações, consulte Removendo um HSM (p. 44).

48

Page 55: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMarcação de recursos

Depois de remover todos os HSMs, você pode excluir um cluster usando o console do AWS CloudHSM, aAWS Command Line Interface (AWS CLI) ou a API do AWS CloudHSM.

Para excluir um cluster (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha o cluster que você está excluindo. Em seguida, escolha Delete cluster.3. Confirme que deseja excluir o cluster e escolha Delete.

Para excluir um cluster (AWS CLI)

• No prompt de comando, emita o comando delete-cluster, transmitindo o ID do cluster que você estáexcluindo. Se você não conhece o ID do cluster, emita o comando describe-clusters.

$ aws cloudhsmv2 delete-cluster --cluster-id <cluster ID>{ "Cluster": { "Certificates": { "ClusterCertificate": "<certificate string>" }, "SourceBackupId": "backup-rtq2dwi2gq6", "SecurityGroup": "sg-40399d28", "CreateTimestamp": 1504903546.035, "SubnetMapping": { "us-east-2a": "subnet-f1d6e798", "us-east-2c": "subnet-0e358c43", "us-east-2b": "subnet-40ed9d3b" }, "ClusterId": "cluster-kdmrayrc7gi", "VpcId": "vpc-641d3c0d", "State": "DELETE_IN_PROGRESS", "HsmType": "hsm1.medium", "StateMessage": "The cluster is being deleted.", "Hsms": [], "BackupPolicy": "DEFAULT" }}

Para excluir um cluster (API do AWS CloudHSM)

• Envie uma solicitação DeleteCluster, especificando o ID do cluster que você está excluindo.

Marcar recursos do AWS CloudHSMUma tag é um rótulo atribuído a um recurso da AWS. É possível atribuir tags a clusters do AWSCloudHSM. Cada tag consiste em uma chave da tag e um valor da tag, ambos definidos por você. Porexemplo, a chave da tag pode ser Central de custos e o valor da tag pode ser 12345. As chaves de tagdevem ser exclusivas para cada cluster.

As tags podem ser usadas para diversas finalidades. Um uso comum é para categorizar e monitorar oscustos da AWS. É possível aplicar tags que representem categorias de negócios (como centros de custos,nomes de aplicativos ou proprietários) para organizar seus custos de vários serviços. Ao adicionar tags aosrecursos da AWS, a AWS gera um relatório de alocação de custos com utilização e custos agrupados portags. Use esse relatório para visualizar os custos do AWS CloudHSM em termos de projetos ou aplicativos,em vez de visualizar todos os custos do AWS CloudHSM como um único item de linha.

49

Page 56: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAdicionar ou atualizar tags

Para obter mais informações sobre como usar tags de alocação de custos, consulte Usar tags de alocaçãode custos no Guia do usuário do AWS Billing and Cost Management.

Você pode usar o console do AWS CloudHSM ou um dos SDKs da AWS ou das ferramentas de linha decomando para adicionar, atualizar, listar e remover tags.

Tópicos• Adicionar ou atualizar tags (p. 50)• Listar tags (p. 51)• Remover tags (p. 51)

Adicionar ou atualizar tagsVocê pode adicionar ou atualizar tags no console do AWS CloudHSM, na AWS Command Line Interface(AWS CLI) ou na API do AWS CloudHSM.

Para adicionar ou atualizar tags (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha o cluster que você está marcando.3. Escolha Tags.4. Para adicionar uma tag, faça o seguinte:

a. Escolha Edit Tag (Editar tag) e Add Tag (Adicionar tag).b. Em Key (Chave), digite uma chave para a tag.c. (Opcional) Em Value (Valor), digite um valor para a tag.d. Escolha Save (Salvar).

5. Para atualizar uma tag, faça o seguinte:

a. Escolha Edit Tag (Editar tag).

Note

Se você atualizar a chave de uma tag existente, o console excluirá a tag existente ecriará uma nova.

b. Digite o novo valor da tag.c. Escolha Save (Salvar).

Para adicionar ou atualizar tags (AWS CLI)

1. No prompt de comando, emita o comando tag-resource, especificando as tags e o ID do cluster quevocê está marcando. Se você não conhece o ID do cluster, emita o comando describe-clusters.

$ aws cloudhsmv2 tag-resource --resource-id <cluster ID> \ --tag-list Key="<tag key>",Value="<tag value>"

2. Para atualizar tags, use o mesmo comando, mas especifique uma chave de tag existente. Quandovocê especifica um novo valor de tag para uma tag existente, esta é substituída pelo novo valor.

Para adicionar ou atualizar tags (API do AWS CloudHSM)

• Envie uma solicitação TagResource. Especifique as tags e o ID do cluster que você está marcando.

50

Page 57: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioListar tags

Listar tagsÉ possível listar tags para um cluster no console do AWS CloudHSM, na AWS CLI ou na API do AWSCloudHSM.

Para listar tags (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha o cluster cujas tags você está listando.3. Escolha Tags.

Para listar tags (AWS CLI)

• No prompt de comando, emita o comando list-tags, especificando o ID do cluster cujas tags você estálistando. Se você não conhece o ID do cluster, emita o comando describe-clusters.

$ aws cloudhsmv2 list-tags --resource-id <cluster ID>{ "TagList": [ { "Key": "Cost Center", "Value": "12345" } ]}

Para listar tags (API do AWS CloudHSM)

• Envie uma solicitação ListTags, especificando o ID do cluster cujas tags você está listando.

Remover tagsÉ possível remover tags de um cluster usando o console do AWS CloudHSM, a AWS CLI ou a API doAWS CloudHSM.

Para remover tags (console)

1. Abra o console do AWS CloudHSM em https://console.aws.amazon.com/cloudhsm/.2. Escolha o cluster cujas tags você está removendo.3. Escolha Tags.4. Escolha Edit Tag (Editar tag) e depois Remove tag (Remover tag) para a tag que você deseja

remover.5. Escolha Save (Salvar).

Para remover tags (AWS CLI)

• No prompt de comando, emita o comando untag-resource, especificando as chaves da tag que vocêestá removendo e o ID do cluster cujas tags você está removendo. Ao usar a AWS CLI para removertags, especifique apenas as chaves das tags, e não os valores das tags.

$ aws cloudhsmv2 untag-resource --resource-id <cluster ID> \ --tag-key-list "<tag key>"

51

Page 58: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRemover tags

Para remover tags (API do AWS CloudHSM)

• Envie uma solicitação UntagResource na API do AWS CloudHSM, especificando o ID do cluster e astags que você está removendo.

52

Page 59: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioGerenciamento de usuários de HSM

Gerenciar usuários e chaves do HSMno AWS CloudHSM

Antes de poder usar seu cluster do AWS CloudHSM para processamento criptográfico, você precisa criarusuários e chaves nos HSMs do seu cluster. Consulte os seguintes tópicos para obter mais informaçõessobre a gestão de utilizadores HSM e chaves em AWS CloudHSM. Você também pode aprender a usar aautenticação de quorum (também conhecida como controle de acesso M de N).

Tópicos• Gerenciamento de usuários de HSMs no AWS CloudHSM (p. 53)• Gerenciamento de chaves em um AWS CloudHSM (p. 56)• Aplicar autenticação de quorum (controle de acesso M de N) (p. 69)

Gerenciamento de usuários de HSMs no AWSCloudHSM

Para gerenciar usuários nos HSMs no cluster do AWS CloudHSM, use a ferramenta de linha decomando AWS CloudHSM conhecida como cloudhsm_mgmt_util. Antes de gerenciar os usuários, iniciecloudhsm_mgmt_util, habilite a criptografia de ponta a ponta e faça o login nos HSMs. Para obter maisinformações, consulte cloudhsm_mgmt_util (p. 83).

Para gerenciar os usuários do HSM, faça login no HSM com o nome de usuário e a senha de um oficialde criptografia (p. 11) (CO). Somente os COs podem gerenciar outros usuários. O HSM contém um COpadrão chamado admin. A senha desse usuário foi definida quando ativou o cluster (p. 37).

Tópicos• Criar usuários (p. 53)• Listar usuários (p. 54)• Alterar a senha de um usuário (p. 55)• Excluir usuários (p. 55)

Criar usuáriosUse o comando createUser (p. 96) para criar um usuário no HSM. Os exemplos a seguir criam novosusuários CO e CU, respectivamente. Para obter informações sobre os tipos de usuários, consulte Usuáriosdo HSM (p. 11).

aws-cloudhsm>createUser CO example_officer <password>*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yCreating User example_officer(CO) on 3 nodes

53

Page 60: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioListar usuários

aws-cloudhsm>createUser CU example_user <password>*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yCreating User example_user(CU) on 3 nodes

Veja a seguir a sintaxe do comando createUser (p. 96). Os tipos de usuários e as senhas são sensíveisà maiúsculas em comandos da cloudhsm_mgmt_util, mas os nomes de usuários não.

aws-cloudhsm>createUser <user type> <user name> <password>

Listar usuáriosUse o comando listUsers (p. 116) para listar os usuários de cada HSM no cluster. Todos os tipos deusuários do HSM (p. 11) podem usar esse comando, ele não se restringe aos COs.

O PCO é o primeiro CO ("primário") criado em cada HSM. Ele tem as mesmas permissões no HSM quequalquer outro CO.

aws-cloudhsm>listUsersUsers on server 0(10.0.2.9):Number of users found:4

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO example_officer NO 0 NO 4 CU example_user NO 0 NOUsers on server 1(10.0.3.11):Number of users found:4

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO example_officer NO 0 NO 4 CU example_user NO 0 NOUsers on server 2(10.0.1.12):Number of users found:4

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO example_officer NO 0 NO

54

Page 61: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAlterar a senha de um usuário

4 CU example_user NO 0 NO

Alterar a senha de um usuárioUse o comando changePswd para alterar a senha de qualquer usuário. Todos os tipos de usuários doHSM (p. 11) podem executar esse comando, no entanto apenas os COs podem alterar a senha de outrosusuários. Os usuários de criptografia (CUs) e os usuários do dispositivo (AUs) podem alterar apenas suaspróprias senhas. Os exemplos a seguir alteram a senha de usuários CO e CU que foram criados nosexemplos de Criar usuários (p. 53).

aws-cloudhsm>changePswd CO example_officer <new password>*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yChanging password for example_officer(CO) on 3 nodes

aws-cloudhsm>changePswd CU example_user <new password>*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yChanging password for example_user(CU) on 3 nodes

Veja a seguir a sintaxe do comando changePswd. Os tipos de usuários e as senhas são sensíveis àmaiúsculas, mas os nomes de usuários não.

aws-cloudhsm>changePswd <user type> <user name> <new password>

Warning

O CO não pode alterar a senha de um usuário (CO ou CU) que está conectado no momento.

Excluir usuáriosUse o comando deleteUser para excluir um usuário. Os exemplos a seguir excluem os usuários CO e CUque foram criados nos exemplos de Criar usuários (p. 53).

aws-cloudhsm>deleteUser CO example_officerDeleting user example_officer(CO) on 3 nodesdeleteUser success on server 0(10.0.2.9)deleteUser success on server 1(10.0.3.11)deleteUser success on server 2(10.0.1.12)

aws-cloudhsm>deleteUser CU example_userDeleting user example_user(CU) on 3 nodesdeleteUser success on server 0(10.0.2.9)deleteUser success on server 1(10.0.3.11)

55

Page 62: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioGerenciamento de chaves

deleteUser success on server 2(10.0.1.12)

Veja a seguir a sintaxe do comando deleteUser.

aws-cloudhsm>deleteUser <user type> <user name>

Warning

A exclusão de um usuário CU tornará órfã todas as chaves pertencentes a esse CU e asinutilizará. Você não receberá nenhum aviso de que o usuário que você está prestes a excluirainda possui chaves no cluster.

Gerenciamento de chaves em um AWS CloudHSMEm AWS CloudHSM, utilize qualquer um dos seguintes para gerir as chaves nos hsms no seu grupo:

• Biblioteca PKCS #11• Fornecedor de JCE• Fornecedores de CNG e KSP• key_mgmt_util

Antes de poder gerir chaves, tem de iniciar sessão no HSM com o nome de utilizador e a palavra-passe deum utilizador crypto (CU). Apenas um CU pode criar uma chave. A CU que cria uma chave é proprietária egere essa chave.

Tópicos• Sincronização de chaves em AWS CloudHSM (p. 56)• Usar chaves confiáveis para controlar desencapsulamentos de chaves (p. 60)• Empacotamento de chaves AES no AWS CloudHSM (p. 62)• Utilizar a Linha de Comandos para Gerir Chaves (p. 64)

Sincronização de chaves em AWS CloudHSMEste tópico descreve as definições de sincronização chave em AWS CloudHSM, problemas comuns queos clientes enfrentam com chaves num grupo e oferecem recomendações para tornar as chaves maisduradouras.

Tópicos• Concepts (p. 56)• Compreender a sincronização chave (p. 57)• Trabalhar com sincronização do lado do cliente (p. 58)• Sincronizar teclas em grupos clonados (p. 60)

ConceptsTeclas do token

Teclas persistentes criadas durante as operações de gerar, importar ou desembrulhar. o cloudhsmsincroniza as teclas de tokens num cluster.

56

Page 63: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioSincronização da chave

Teclas de sessão

Teclas efetivas que existem apenas num HSM no grupo. o cloudhsmo não sincronizar as teclas desessão num grupo.

Sincronização da chave do lado do cliente

Pode tornar as chaves mais duradouras ao especificar o número de hsms necessárias para asoperações de criação de chaves serem bem-sucedidas.

Sincronização de chave do lado do servidor

Clones periódicos para cada HSM no grupo. Não necessita de gestão.

Compreender a sincronização chaveAWS CloudHSM utiliza a sincronização chave para clonar chaves de token em todas as mensagens detexto num cluster. Cria teclas de autenticação como teclas persistentes durante as operações de geração,importação ou desembrulzação. Para distribuir estas teclas no grupo, o cloudhsmo oferece a sincronizaçãode chave do lado do cliente e do lado do servidor.

O objectivo com a sincronização de chave — tanto no lado do servidor como no lado do cliente —é distribuir novas chaves ao longo do grupo o mais rapidamente possível depois de as criar. Istoé importante porque as chamadas seguintes que efectuar para utilizar novas chaves podem serencaminhadas para qualquer HSM disponível no grupo. Se a chamada fizer rotas para um HSM sem a

57

Page 64: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioSincronização da chave

chave, então a chamada falhou. Pode mitigar estas falhas de tipo especificando que as suas aplicaçõesrepetem as chamadas posteriores efectuadas após as operações de criação de chaves. O temponecessário para sincronizar pode variar, dependendo da carga de trabalho do seu cluster e de outrosintangíveis. Utilize métricas turdwatch para determinar o momento em que a sua aplicação deve empregarnesta situação de tipo. Para mais informações, consulte métricas cloudwatch (p. 356).

A sincronização da chave é, na maioria dos casos, um processo automático, mas pode utilizar asdefinições de sincronização do lado do cliente para tornar as chaves mais duradouras. Especifica onúmero de nós em que a criação de chave tem de ser bem-sucedida para que o funcionamento geral sejaconsiderado um sucesso. A sincronização do lado do cliente faz sempre uma tentativa de o melhor esforçotentar clonar chaves para cada nó no cluster, independentemente da configuração que escolher. A suadefinição aplica a criação de chave no número de nós que especificar. Se especificar um valor e o sistemanão conseguir reproduzir a chave para esse número de nós, o sistema limpa automaticamente qualquermaterial chave indesejado e pode tentar novamente.

Important

Se não definir definições de sincronização do lado do cliente (ou se utilizar o valor predefinidode 1), as suas chaves são vulneráveis a perda. Se o seu HSM atual falhar antes de o serviçodo lado do servidor ter clonado essa chave para outro HSM, perde o material chave. Paraobter recomendações, consulte the section called “Trabalhar com sincronização do lado docliente” (p. 58).

Trabalhar com sincronização do lado do clientePara maximizar a durabilidade da chave, considere especificar pelo menos dois hsms para sincronizaçãodo lado do cliente. Lembre-se de que, independentemente de quantos nós especificar, a carga de trabalhono seu grupo continua a ser o mesmo. A sincronização do lado do cliente faz sempre uma tentativa de omelhor esforço tentar clonar chaves para cada nó no grupo.

Recomendações

• Mínimo Dois hsms por grupo• Máximo Um número inferior ao número total de hsms no seu grupo

Se a sincronização do lado do cliente falhar, o serviço ao cliente limpa quaisquer chaves indesejadas quepossam ter sido criadas e que sejam agora indesejadas. Esta limpeza é uma resposta de melhor esforçoque nem sempre pode funcionar. Se a limpeza falhar, pode ter de eliminar material chave indesejado. Paramais informações, consulte Principais falhas de sincronização (p. 386).

Configurar o ficheiro de configuração para sincronização do lado do cliente

Para especificar as definições de sincronização do lado do cliente, tem de editar cloudhsm_client.cfg.

Para editar o ficheiro de configuração do cliente

1. Abra cloudhsm_client.cfg.

Linux

/opt/cloudhsm/etc/cloudhsm_client.cfg

Windows:

C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

58

Page 65: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioSincronização da chave

2. No client nó do ficheiro, adicionar create_object_minimum_nodes e especificar um valor parao número mínimo de hsms em que AWS CloudHSM tem de criar com sucesso chaves para operaçõesde criação de chave para sucesso.

"create_object_minimum_nodes" : 2

Note

A ferramenta de linha de comandos key_mgmt_util (KMU) tem uma definição adicional parasincronização do lado do cliente. Para obter mais informações, consulte the section called“Sincronização do lado do cliente e MU” (p. 59)

Referência da configuração

Estas são as propriedades de sincronização do lado do cliente, mostradas num excerto docloudhsm_client.cfg:

{ "client": { "create_object_minimum_nodes" : 2, ... }, ...}

criar_object_minimum_node

Especifica o número mínimo de nós necessário para considerar a geração de chaves, a importaçãochave ou as operações de desembrulhar um sucesso. Se definido, a predefinição é 1. Isto significaque, para cada operação de criação de chave, o serviço ao cliente tenta criar chaves em cada nó nogrupo, mas para devolver um sucesso, apenas precisa de criar uma tecla única num nó no grupo.

Sincronização do lado do cliente e MU

Se criar teclas com a ferramenta de comando key_mgmt_util (KMU), utiliza um parâmetro de linha decomandos opcional (-min_srv) a limite o número de hsms em que para clonar chaves. Se especificar oparâmetro da linha de comandos e um valor no ficheiro de configuração, AWS CloudHSM honra o MAIORdos dois valores.

Para obter mais informações, consulte os seguintes tópicos:

• genDSAKeyPair (p. 155)• genECCKeyPair (p. 160)• genRSAKeyPair (p. 164)• genSymKey (p. 169)• importPrivateKey (p. 184)• importPubKey (p. 187)• imSymKey (p. 189)• insertMaskedObject (p. 195)• unWrapKey (p. 206)

59

Page 66: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUsar chaves confiáveis para controlar

desencapsulamentos de chaves

Sincronizar teclas em grupos clonadosA sincronização do lado do cliente e do lado do servidor só é para sincronizar chaves dentro do mesmogrupo. Se copiar uma cópia de segurança de um cluster para outra região, pode utilizar o comando sincialdo cloudhsm_mgmt_util (CMU) para sincronizar as teclas entre os grupos. Pode utilizar clusters clonadospara redundância transfronteiriça ou simplificar o seu processo de recuperação de desastres. Para maisinformações, consulte consórcio (p. 127).

Usar chaves confiáveis para controlardesencapsulamentos de chavesÉ possível que chaves exportáveis (uma chave de dados, por exemplo) no HSM sejam encapsuladascom uma chave arbitrária (por exemplo, uma chave de encapsulamento incorreta) e isso cause a perdada chave de dados. Embora essa ação deva ser iniciada por um agente interno hostil, se isso for umapreocupação, há soluções que a resolvem.

A primeira solução é bloquear todas as exportações de chave do cluster. Essa solução tem limitaçõesporque a restrição das exportações de chave afeta negativamente os aplicativos que precisamexportar e importar chaves de dados. No entanto, uma solução mais flexível é usar um modelo dedesencapsulamento de chaves junto com a chave confiável e atributos de encapsulamento com chavesconfiáveis. O AWS CloudHSM 3.0 e posterior oferece suporte a chaves confiáveis e modelos dedesencapsulamento. Este artigo explica como usar um modelo de desencapsulamento de chaves juntocom a chave confiável e atributos de encapsulamento com chaves confiáveis.

ContextoUm atributo de chave é uma propriedade associada à chave, dentro do HSM, que especifica aspermissões associadas à chave. Se você deseja...

• CKA_WRAP_WITH_TRUSTED: quando aplicado a uma chave de dados exportável, esse atributogarante que a chave de dados só possa ser encapsulada com uma chave que tenha sido marcada como"CKA_TRUSTED" por um responsável pela criptografia. Uma vez definido como true, ele se torna umatributo somente leitura, e sua definição não pode ser cancelada pelo usuário de criptografia.

• CKA_TRUSTED: é o único atributo especificado por um responsável pela criptografia e não pelo usuáriode criptografia que é o proprietário de uma chave. CKA_TRUSTED indica que o responsável pelacriptografia fez a investigação necessária e reconhece que essa chave é confiável.

• CKA_UNWRAP_TEMPLATE: um modelo de atributo é uma coleção de nomes e valores de atributos.Quando um modelo de desencapsulamento é especificado para uma chave de encapsulamento, todosos atributos nesse modelo são aplicados automaticamente à chave de dados desencapsulada. Quandoum aplicativo envia uma chave para desencapsulamento, ele pode fornecer separadamente um modelode desencapsulamento. Nesse caso, o HSM usa a união dos dois modelos. No entanto, se um valorno CKA_UNWRAP_TEMPLATE para a chave de encapsulamento entrar em conflito com um atributofornecido pelo aplicativo durante a solicitação de desencapsulamento, ocorrerá uma falha na solicitaçãode desencapsulamento.

Para obter mais informações sobre os atributos PKCS#11 compatíveis com o AWS CloudHSM, consulte oartigo sobre Atributos PKCS #11 compatíveis.

ProcessarEtapa 1: Gerar os bits de chave para a chave confiável

Para configurar uma chave confiável, uma pessoa responsável pela segurança deve estabelecer umaconta de usuário de criptografia (CU) e gerar as chaves de encapsulamento com a especificaçãoCKA_UNWRAP_TEMPLATE apropriada. Geralmente, você deve incluir CKA_WRAP_WITH_TRUSTED =

60

Page 67: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUsar chaves confiáveis para controlar

desencapsulamentos de chaves

TRUE como parte desse modelo. Se você quiser que as chaves desencapsuladas não sejam exportáveis,defina CKA_EXPORTABLE = FALSE. Para gerar a chave, é necessário usar um aplicativo PKCS#11. Osatributos avançados não são compatíveis com as ferramentas de linha de comando.

Etapa 2: Marcar a chave como confiável

A pessoa responsável pela segurança faz login no cloudhsm_mgmt_util com uma conta deresponsável pela criptografia (CO). Para marcar a chave como confiável, chame setAttribute comOBJ_ATTR_TRUSTED (valor 134) definido como TRUE. Para saber mais sobre a função setAttribute,consulte o artigo sobre setAttribute

loginHSM CO <user-name> <password> setAttribute HH 134 1 quit

Etapa 3: Compartilhar a chave confiável com o aplicativo

A pessoa responsável pela segurança faz login com a conta de CU e usa a função shareKey paracompartilhar as chaves de encapsulamento confiáveis com as contas de CU que serão usadas pelosaplicativos. Depois, a conta de CU do aplicativo poderá usar as chaves confiáveis para encapsular edesencapsular chaves de dados. No entanto, os usuários não poderão modificar atributos para chavescompartilhadas com eles, e contas de usuário de criptografia não poderão ser usadas para modificar oatributo CKA_TRUSTED da chave. Assim que isso for concluído, o responsável pela segurança poderá tercerteza de que as chaves de encapsulamento confiáveis permanecerão corretas.

Etapa 4: Gerar e encapsular todas as chaves de dados

Usando sua conta de CU, o responsável pela segurança importa ou gera todas as chaves de dados eas encapsula com a chave de encapsulamento confiável. As chaves encapsuladas são armazenadasexternamente, conforme necessário. Como as chaves de dados só podem ser desencapsuladas comas chaves de encapsulamento originais, o modelo apropriado deve ser aplicado ao desencapsulá-las. Um aplicativo pode desencapsular chaves sob demanda conforme necessário e excluir a chavedesencapsulada do HSM quando ela não for mais necessária.

Exemplo: Gerar uma chave com um modelo dedesencapsulamento no PKCS #11Este exemplo usa um modelo de desencapsulamento para gerar uma chave.

std::vector CK_ATTRIBUTE unwrapTemplate = { CK_ATTRIBUTE { CKA_KEY_TYPE, &aes, sizeof(aes) }, CK_ATTRIBUTE { CKA_CLASS, &aesClass, sizeof(aesClass) }, CK_ATTRIBUTE { CKA_TOKEN, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_EXTRACTABLE, &falseValue, sizeof(falseValue) } }; std::vector CK_ATTRIBUTE pubAttributes = { CK_ATTRIBUTE { CKA_KEY_TYPE, &rsa, sizeof(rsa) }, CK_ATTRIBUTE { CKA_CLASS, &pubClass, sizeof(pubClass) }, CK_ATTRIBUTE { CKA_TOKEN, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_MODULUS_BITS, &modulusBits, sizeof(modulusBits) }, CK_ATTRIBUTE { CKA_PUBLIC_EXPONENT, publicExponent.data(), publicExponent.size() }, CK_ATTRIBUTE { CKA_VERIFY, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_WRAP, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_ENCRYPT, &trueValue, sizeof(trueValue) } }; std::vector CK_ATTRIBUTE priAttributes = { CK_ATTRIBUTE { CKA_KEY_TYPE, &rsa, sizeof(rsa) },

61

Page 68: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEmpacotamento de chaves AES

CK_ATTRIBUTE { CKA_CLASS, &priClass, sizeof(priClass) }, CK_ATTRIBUTE { CKA_PRIVATE, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_TOKEN, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_SIGN, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_UNWRAP, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_DECRYPT, &trueValue, sizeof(trueValue) }, CK_ATTRIBUTE { CKA_UNWRAP_TEMPLATE, unwrapTemplate.data(), unwrapTemplate.size() * sizeof(CK_ATTRIBUTE) } }; funcs->C_GenerateKeyPair( session, &rsaMechanism, pubAttributes.data(), pubAttributes.size(), priAttributes.data(), priAttributes.size(), &pubKey, &priKey );

Empacotamento de chaves AES no AWS CloudHSMEste tópico descreve as opções para o empacotamento de chaves AES no AWS CloudHSM. Oempacotamento de chaves AES usa uma chave AES (a chave de empacotamento) para empacotar outrachave de qualquer tipo (a chave de destino). O empacotamento de chaves é usado para proteger chavesarmazenadas ou para transmitir chaves por redes não seguras.

Tópicos• Algoritmos compatíveis (p. 62)• Usar o empacotamento de chaves AES no AWS CloudHSM (p. 63)

Algoritmos compatíveisO AWS CloudHSM oferece três opções para o empacotamento de chaves AES, cada uma combase em como a chave de destino é preenchida antes de ser empacotada. O preenchimento é feitoautomaticamente, de acordo com o algoritmo usado, quando você chama o empacotamento de chaves. Atabela a seguir lista os algoritmos compatíveis e os detalhes associados para ajudar você a escolher ummecanismo de empacotamento apropriado para seu aplicativo.

Algoritmo deempacotamento dechave AES

Especificação Tipos de chavede destinocompatíveis

Esquema depreenchimento

Disponibilidade docliente do AWSCloudHSM

Empacotamentode chavesAES compreenchimento dezeros

RFC 5649 e SP800 - 38F

Todos Adiciona zerosapós bits dechave, senecessário,para bloquear oalinhamento

SDK 3.1 eposterior

Empacotamentode chavesAES sempreenchimento

RFC 3394 e SP800 - 38F

Chaves comalinhamentobloqueado, comoAES e 3DES

Nenhum SDK 3.1 eposterior

Empacotamentode chaves

Nenhum1 Todos Pelo menos8 bytes são

Todos

62

Page 69: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEmpacotamento de chaves AES

Algoritmo deempacotamento dechave AES

Especificação Tipos de chavede destinocompatíveis

Esquema depreenchimento

Disponibilidade docliente do AWSCloudHSM

AES compreenchimentoPKCS #5

adicionados deacordo com oesquema depreenchimentoPKCS #5 parabloquear oalinhamento

Para saber como usar os algoritmos de empacotamento de chaves AES da tabela anterior no aplicativo,consulte Usar o empacotamento de chaves AES no AWS CloudHSM. (p. 63)

Noções básicas sobre vetores de inicialização no empacotamento de chaves AESAntes de empacotar, o CloudHSM anexa um vetor de inicialização (IV) à chave de destino para aintegridade dos dados. Cada algoritmo de empacotamento de chaves tem restrições específicas sobre otipo de IV permitido. Para definir o IV no AWS CloudHSM, você tem duas opções:

• Implícito: defina o IV como NULL e o CloudHSM usará o valor padrão desse algoritmo para operaçõesde empacotamento e desempacotamento (recomendado)

• Explícito: defina o IV transmitindo o valor padrão do IV para a função de empacotamento de chaves

Important

É necessário entender o IV que você está usando no aplicativo. Para desempacotar a chave, énecessário fornecer o mesmo IV usado para empacotar a chave. Se você usar um IV implícitopara empacotar, use um IV implícito para desempacotar. Com um IV implícito, o CloudHSM usaráo valor padrão para desempacotar.

A tabela a seguir descreve valores permitidos para IVs, que o algoritmo de desempacotamento especifica.

Algoritmo de empacotamento dechave AES

IV implícito IV explícito

Empacotamento de chaves AEScom preenchimento de zeros

Obrigatório

Valor padrão: "" (IV calculadointernamente com base naespecificação)

Não permitido

Empacotamento de chaves AESsem preenchimento

Permitido (recomendado)

Valor padrão:0xA6A6A6A6A6A6A6A6

Allowed

Apenas este valor aceito:0xA6A6A6A6A6A6A6A6

Empacotamento de chaves AEScom preenchimento PKCS #5

Permitido (recomendado)

Valor padrão:0xA6A6A6A6A6A6A6A6

Allowed

Apenas este valor aceito:0xA6A6A6A6A6A6A6A6

Usar o empacotamento de chaves AES no AWS CloudHSMEmpacote e desempacote as chaves da seguinte maneira:

63

Page 70: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUtilizar a linha de comando

• No Biblioteca PKCS #11 (p. 226), selecione o mecanismo apropriado para o C_WrapKey eC_UnWrapKey conforme mostrado na tabela seguinte.

• No Fornecedor de JCE (p. 253), selecione o algoritmo, o modo e a combinação de acolchoamentoadequados, implementando métodos de verificação Cipher.WRAP_MODE e Cipher.UNWRAP_MODEconforme apresentado na tabela seguinte.

• Em key_mgmt_util (KMU) (p. 131), use os comandos wrapKey e unWrapKey com valores mapropriados, conforme mostrado na tabela a seguir.

Algoritmo deempacotamento dechave AES

Mecanismo PKCS #11 Método Java Argumento KMU

Empacotamento dechaves AES compreenchimento de zeros

• CKM_AES_KEY_WRAP_PADAESWrap/ECB/ZeroPadding

m = 6

Empacotamento dechaves AES sempreenchimento

• CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD(mecanismo definidopelo fornecedor)

AESWrap/ECB/NoPadding

m = 5

Empacotamento dechaves AES compreenchimento PKCS#5

• CKM_AES_KEY_WRAP1

• CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD(mecanismo definidopelo fornecedor)

AESWrap/ECB/PKCS5Padding

m = 4

1O CKM_AES_KEY_WRAP não está em conformidade com a especificação PKCS #11 2.40. Para mais informações, consulte o primeiro assunto

conhecido sob Problemas conhecidos para todas as instâncias de HSM (p. 366).

Utilizar a Linha de Comandos para Gerir ChavesPode gerir as teclas nos hsms no seu AWS CloudHSM utilizando a ferramenta de comando key_mgmt_util.Antes de poder gerenciar chaves, é necessário iniciar o AWS CloudHSM cliente, iniciar key_mgmt_util efazer login nos HSMs. Para mais informações, consulte Como começar com a tecla_mgmt_util (p. 131).

Tópicos• Gerar chaves (p. 64)• Importar chaves (p. 65)• Exportar chaves (p. 67)• Excluir chaves (p. 68)• Compartilhar e descompartilhar chaves (p. 68)

Gerar chavesPara gerar chaves no HSM, use o comando que corresponde ao tipo de chave que você deseja gerar.

Gerar chaves simétricas

Use o comando genSymKey (p. 169) para gerar AES, triplo DES e outros tipos de chaves simétricas.Para consultar todas as opções disponíveis, use o comando genSymKey -h.

O exemplo a seguir cria uma chave AES de 256 bits.

64

Page 71: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUtilizar a linha de comando

Command: genSymKey -t 31 -s 32 -l aes256Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 524295

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Gerar pares de chaves RSA

Para gerar um par de chaves RSA, use o comando genRSAKeyPair (p. 164). Para consultar todas asopções disponíveis, use o comando genRSAKeyPair -h.

O exemplo a seguir gera um par de chaves RSA de 2048 bits.

Command: genRSAKeyPair -m 2048 -e 65537 -l rsa2048Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 524294 private key handle: 524296

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Gerar pares de chaves ECC (protocolo Elliptic Curve Cryptography)

Para gerar um par de chaves ECC, use o comando genECCKeyPair (p. 160). Para consultar todas asopções disponíveis, incluindo uma lista das curvas elípticas suportadas, use o comando genECCKeyPair -h.

O exemplo a seguir gera um par de chaves ECC usando a curva elíptica P-384 definida na publicaçãoFIPS 186-4 do NIST.

Command: genECCKeyPair -i 14 -l ecc-p384Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 524297 private key handle: 524298

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Importar chavesPara importar chaves secretas—isto é, chaves simétricas e chaves privadas assimétricas—para o HSM,é necessário criar primeiro uma chave de encapsulamento no HSM. Importe chaves públicas diretamentesem uma chave de empacotamento.

Importar chaves secretas

Conclua as seguintes etapas para importar uma chave secreta. Antes de importar uma chave secreta,salve-a em um arquivo. Salve chaves simétricas como bytes brutos e chaves assimétricas privadas noformato PEM.

65

Page 72: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUtilizar a linha de comando

Este exemplo mostra como importar uma chave secreta com texto sem formatação de um arquivopara o HSM. Para importar uma chave criptografada de um arquivo para o HSM, use o comandounWrapKey (p. 206).

Para importar uma chave secreta

1. Use o comando genSymKey (p. 169) para criar uma chave de empacotamento. O comando a seguircria uma chave de empacotamento AES de 128 bits válida apenas para a sessão atual. Você podeusar uma chave de sessão ou uma chave persistente como chave de encapsulamento.

Command: genSymKey -t 31 -s 16 -sess -l import-wrapping-keyCfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 524299

Cluster Error StatusNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

2. Use um dos seguintes comandos, de acordo com o tipo de chave secreta que estiver importando.

• Para importar uma chave simétrica, use o comando imSymKey. O comando a seguir importa umachave AES a partir de um arquivo chamado aes256.key usando a chave de empacotamentocriada na etapa anterior. Para consultar todas as opções disponíveis, use o comando imSymKey -h.

Command: imSymKey -f aes256.key -t 31 -l aes256-imported -w 524299Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Unwrapped. Key Handle: 524300

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

• Para importar uma chave privada assimétrica, use o comando importPrivateKey. O comando aseguir importa uma chave privada a partir de um arquivo chamado rsa2048.key usando a chavede empacotamento criada na etapa anterior. Para consultar todas as opções disponíveis, use ocomando importPrivateKey -h.

Command: importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299BER encoded key length is 1216

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Private Key Unwrapped. Key Handle: 524301

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

66

Page 73: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUtilizar a linha de comando

Importar chaves públicas

Use o comando importPubKey para importar uma chave pública. Para consultar todas as opçõesdisponíveis, use o comando importPubKey -h.

O exemplo a seguir importa uma chave pública RSA a partir de um arquivo chamado rsa2048.pub.

Command: importPubKey -f rsa2048.pub -l rsa2048-public-importedCfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS

Public Key Handle: 524302

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Exportar chavesPara exportar chaves secretas—ou seja, chaves simétricas e chaves privadas assimétricas—do HSM,você deve primeiro criar uma chave de encapsulamento. Exporte chaves públicas diretamente sem umachave de empacotamento.

Somente o proprietário da chave pode exportá-la. Os usuários com quem essa chave é compartilhadapodem usá-la em operações criptográficas, mas não podem exportá-la. Ao executar este exemplo,certifique-se de exportar uma chave que você criou.

Important

O comando exSymKey (p. 145) grava uma cópia com texto sem formatação (nãocriptografado) da chave secreta em um arquivo. O processo de exportação requer uma chavede encapsulamento, mas a chave no arquivo não é uma chave encapsulada. Para exportar umacópia encapsulada (criptografada) de uma chave, use o comando wrapKey (p. 213).

Exportar chaves secretas

Conclua as seguintes etapas para exportar uma chave secreta.

Para exportar uma chave secreta

1. Use o comando genSymKey (p. 169) para criar uma chave de empacotamento. O comando a seguircria uma chave de empacotamento AES de 128 bits válida apenas para a sessão atual.

Command: genSymKey -t 31 -s 16 -sess -l export-wrapping-keyCfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 524304

Cluster Error StatusNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

2. Use um dos seguintes comandos, de acordo com o tipo de chave secreta que estiver exportando.

• Para exportar uma chave simétrica, use o comando exSymKey (p. 145). O comando seguinteexporta uma chave AES para um ficheiro nomeado aes256.key.exp. Para ver todas as opçõesdisponíveis, utilize o exSymKey -h comando.

Command: exSymKey -k 524295 -out aes256.key.exp -w 524304

67

Page 74: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUtilizar a linha de comando

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes256.key.exp"

Note

A saída do comando diz que uma "Chave simétrica encapsulada" está gravada no arquivode saída. No entanto, o arquivo de saída contém uma chave com texto sem formatação(não encapsulada). Para exportar uma chave encapsulada (criptografada) para um arquivo,use o comando wrapKey (p. 213).

• Para exportar uma chave privada, use o comando exportPrivateKey. O comando seguinte exportauma chave privada para um ficheiro nomeado rsa2048.key.exp. Para ver todas as opçõesdisponíveis, utilize o exportPrivateKey -h comando.

Command: exportPrivateKey -k 524296 -out rsa2048.key.exp -w 524304Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

PEM formatted private key is written to rsa2048.key.exp

Exportar chaves públicas

Use o comando exportPubKey para exportar uma chave pública. Para consultar todas as opçõesdisponíveis, use o comando exportPubKey -h.

O exemplo a seguir exporta uma chave pública RSA para um arquivo chamado rsa2048.pub.exp.

Command: exportPubKey -k 524294 -out rsa2048.pub.expPEM formatted public key is written to rsa2048.pub.key

Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS

Excluir chavesUse o comando deleteKey (p. 139) para excluir uma chave, conforme o exemplo a seguir. Somente oproprietário da chave pode excluí-la.

Command: deleteKey -k 524300Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Compartilhar e descompartilhar chavesNo AWS CloudHSM, o CU que cria a chave é o seu proprietário. O proprietário gerencia a chave, podeexportá-la e excluí-la e pode usá-la em operações criptográficas. O proprietário também pode compartilhara chave com outros usuários CU. Os usuários com quem a chave é compartilhada podem usá-la emoperações criptográficas, mas não podem exportá-la ou excluí-la nem compartilhá-la com outros usuários.

68

Page 75: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum (M de N)

Você pode compartilhar chaves com outros usuários CU ao criá-las, por exemplo, usando o parâmetro -udos comandos genSymKey (p. 169) ou genRSAKeyPair (p. 164). Para compartilhar chaves existentescom um usuário diferente do HSM, use a ferramenta de linha de comando cloudhsm_mgmt_util (p. 83).Isso é diferente da maioria das tarefas documentadas nesta seção, que usam a ferramenta de linha decomando key_mgmt_util (p. 131).

Antes de poder compartilhar uma chave, você deve iniciar cloudhsm_mgmt_util, habilitar a criptografiaponta a ponta e fazer login nos HSMs. Para conseguir compartilhar uma chave, faça login no HSM comoo usuário de criptografia (CU) que tem a chave. Somente os proprietários de chaves podem compartilharuma chave.

Use o comando shareKey para compartilhar ou descompartilhar uma chave, especificando o identificadorda chave e os IDs do usuário ou dos usuários. Para compartilhar ou descompartilhar com mais de umusuário, especifique uma lista de IDs de usuários separados por vírgula. Para compartilhar uma chave, use1 como o último parâmetro do comando, como no exemplo a seguir. Para descompartilhar, use 0.

aws-cloudhsm>shareKey 524295 4 1*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yshareKey success on server 0(10.0.2.9)shareKey success on server 1(10.0.3.11)shareKey success on server 2(10.0.1.12)

Veja a seguir a sintaxe do comando shareKey.

aws-cloudhsm>shareKey <key handle> <user ID> <Boolean: 1 for share, 0 for unshare>

Aplicar autenticação de quorum (controle de acessoM de N)

Os HSMs no seu cluster do AWS CloudHSM oferecem suporte à autenticação de quorum, tambémconhecida como controle de acesso M de N. Com a autenticação de quorum, nenhum usuário único noHSM pode fazer operações controladas pelo quorum no HSM. Em vez disso, um número mínimo deusuários do HSM (pelo menos 2) deve cooperar para realizar essas operações. Com a autenticação dequorum, você pode adicionar uma camada adicional de proteção, exigindo aprovação de mais de umusuário do HSM.

A autenticação de quorum pode controlar as seguintes operações:

• Gerenciamento de usuários do HSM por responsáveis pela criptografia (COs) (p. 11) – Criar e excluirusuários do HSM e alterar a senha de um usuário do HSM diferente. Para obter mais informações,consulte Usar a autenticação de quorum para oficiais de criptografia (p. 75).

Os seguintes tópicos fornecem mais informações sobre a autenticação de quorum no AWS CloudHSM.

Tópicos• Visão geral da autenticação de quorum (p. 70)

69

Page 76: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVisão geral da autenticação de quorum

• Detalhes adicionais sobre a autenticação de quorum (p. 70)• Usar a autenticação de quorum para oficiais de criptografia: configuração inicial (p. 70)• Usar a autenticação de quorum para oficiais de criptografia (p. 75)• Alterar o valor mínimo do quorum para oficiais de criptografia (p. 80)

Visão geral da autenticação de quorumAs etapas a seguir resumem os processos de autenticação de quorum. Para conhecer as etapas eferramentas específicas, consulte Usar a autenticação de quorum para oficiais de criptografia (p. 75).

1. Cada usuário do HSM cria uma chave assimétrica para assinatura. Ele faz isso fora do HSM, tomandocuidado para proteger a chave apropriadamente.

2. Cada usuário do HSM faz login no HSM e registra a parte pública de sua chave de assinatura (a chavepública) no HSM.

3. Quando um usuário do HSM quer fazer uma operação controlada por quorum, ele faz login no HSM eobtém um token de quorum.

4. O usuário do HSM fornece esse token de quorum a um ou mais usuários do HSM e solicita suaaprovação.

5. Os outros usuários do HSM aprovam usando suas chaves para assinar criptograficamente o token dequorum. Isso ocorre fora do HSM.

6. Quando o usuário do HSM tiver o número de aprovações necessárias, ele fará login no HSM efornecerá o token de quorum e as aprovações (assinaturas) ao HSM.

7. O HSM usa as chaves públicas registradas de cada assinante para verificar as assinaturas. Se asassinaturas forem válidas, o HSM aprovará o token.

8. O usuário do HSM agora pode fazer uma operação controlada por quorum.

Detalhes adicionais sobre a autenticação de quorumObserve as seguintes informações adicionais sobre como usar a autenticação de quorum no AWSCloudHSM.

• Um usuário do HSM pode assinar seu próprio token de quorum—ou seja, o usuário solicitante podefornecer uma das aprovações necessárias para a autenticação de quorum.

• Você escolhe o número mínimo de aprovadores de quorum para operações controladas por quorum.O menor número que você pode escolher é dois (2). Para operações de gerenciamento de usuários doHSM por COs, o maior número que você pode escolher é vinte (20).

• O HSM pode armazenar até 1024 tokens de quorum. Se o HSM já tiver 1024 tokens quando você tentarcriar um novo, ele removerá um dos tokens expirados. Por padrão, tokens expiram dez minutos apóssua criação.

Usar a autenticação de quorum para oficiais decriptografia: configuração inicialOs tópicos a seguir descrevem as etapas que você deve concluir para configurar o HSM de forma que osoficiais de criptografia (COs) (p. 11) possam usar a autenticação de quorum. Você precisa realizar essasetapas apenas uma vez ao configurar inicialmente a autenticação de quorum para COs. Depois de concluiressas etapas, consulte Usar a autenticação de quorum para oficiais de criptografia (p. 75).

70

Page 77: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfiguração inicial para oficiais de criptografia

Tópicos• Pré-requisitos (p. 71)• Criar e registrar uma chave para assinatura (p. 71)• Defina o valor mínimo do quorum no HSM (p. 73)

Pré-requisitosPara entender esse exemplo, você deve estar familiarizado com a ferramenta da linha de comando docloudhsm_mgmt_util (p. 83). Neste exemplo, o cluster do AWS CloudHSM possui dois HSMs, cadaum com os mesmos COs, conforme mostrado na saída a seguir do comando listUsers. Para obter maisinformações sobre como criar usuários, consulte Gerenciamento de usuários de HSM (p. 53).

aws-cloudhsm>listUsersUsers on server 0(10.0.2.14):Number of users found:7

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 NOUsers on server 1(10.0.1.4):Number of users found:7

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 assinaturaPara usar a autenticação de quorum, cada CO deve criar uma chave assimétrica para assinatura (umachave de assinatura). Isso é feito fora do HSM.

Existem muitas maneiras diferentes de criar e proteger uma chave de assinatura pessoal. O exemplo aseguir mostra como fazer isso com o OpenSSL.

71

Page 78: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfiguração inicial para oficiais de criptografia

Example – Criar uma chave de assinatura pessoal com OpenSSL

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

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

Cada CO deve criar sua própria chave.

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 enable_e2e para estabelecer uma comunicação criptografada de ponta a ponta.3. Use o comando loginHSM para acessar o HSM como um CO. Para obter mais informações, consulte

Fazer login em HSMs (p. 89).4. Use o comando registerMofnPubKey para registrar a chave pública. Para obter mais informações,

consulte o exemplo a seguir ou use o comando help registerMofnPubKey.

Example – Registrar uma chave pública no HSM

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

• key_match_string – Uma string arbitrária que é usada para combinar as chaves públicas e privadas.Você pode usar qualquer string para esse valor. A ferramenta da linha de comando cloudhsm_mgmt_utilcriptografa essa string com a chave privada e, em seguida, envia o blob criptografado e a string emtexto simples para o HSM. O HSM usa a chave pública para descriptografar o blob criptografado e,em seguida, compara a string descriptografada com a string em texto simples. Apenas se as stringscorresponderem, o HSM registrará a chave pública.

• officer1 – O nome de usuário do CO que está registrando a chave pública. Este deve ser o mesmoCO que está conectado ao HSM e executando esse comando.

• officer1.key – O nome do arquivo que contém a chave do CO. Esse arquivo deve conter a chavecompleta (não apenas a parte pública) porque a ferramenta de linha de comando cloudhsm_mgmt_utilusa a chave privada para criptografar a string de correspondência de chaves.

Quando solicitado, digite a código de acesso que protege a chave do CO.

aws-cloudhsm>registerMofnPubKey CO key_match_string officer1 officer1.key*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

72

Page 79: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfiguração inicial para oficiais de criptografia

Do you want to continue(y/n)?yEnter PEM pass phrase:registerMofnPubKey success on server 0(10.0.2.14)registerMofnPubKey success on server 1(10.0.1.4)

Cada CO deve registrar sua chave pública no HSM. Depois que todos os COs registrarem suas chavespúblicas, o resultado do comando listUsers mostrará isso na coluna MofnPubKey, como mostrado noexemplo a seguir.

aws-cloudhsm>listUsersUsers on server 0(10.0.2.14):Number of users found:7

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 NOUsers on server 1(10.0.1.4):Number of users found:7

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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

Defina o valor mínimo do quorum no HSMPara usar a autenticação de quorum para COs, um CO deve fazer login no HSM e, em seguida, definiro valor mínimo de quorum, também conhecido como valor m. Esse é o número mínimo de aprovaçõesde CO necessárias para realizar operações de gerenciamento de usuários do HSM. Qualquer CO noHSM pode definir o valor mínimo de quorum, incluindo COs que não tenham registrado uma chavepara assinatura. Você pode alterar o valor mínimo de quorum a qualquer momento. Para obter maisinformações, consulte Alterar o valor do quorum para oficiais de criptografia (p. 80).

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.

73

Page 80: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfiguração inicial para oficiais de criptografia

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

2. Use o comando enable_e2e para estabelecer uma comunicação criptografada de ponta a ponta.3. Use o comando loginHSM para acessar o HSM como um CO. Para obter mais informações, consulte

Fazer login em HSMs (p. 89).4. 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.

Example – 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 atévinte, até o número total de COs no HSM. Neste exemplo, o HSM tem seis COs (o usuário PCO (p. 11) é omesmo que um CO), 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 quorumpreferido.

aws-cloudhsm>setMValue 3 2*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?ySetting 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 com os nomes, as descrições e os comandosincluídos no serviço.

Identificador do serviço Nome do serviço Descrição do serviço Comandos HSM

3 USER_MGMT Gerenciamento deusuários do HSM

• createUser• deleteUser• changePswd (aplica-

se somente durante aalteração da senha deum usuário do HSMdiferente)

4 MISC_CO Serviço CO diverso • setMValue

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

aws-cloudhsm>getMValue 3MValue 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 degerenciamento de usuários do HSM (serviço 3) é agora dois.

74

Page 81: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum para oficiais de criptografia

Depois de concluir essas etapas, consulte Usar a autenticação de quorum para oficiais decriptografia (p. 75).

Usar a autenticação de quorum para oficiais decriptografiaUm oficial de criptografia (CO) (p. 11) no HSM pode configurar a autenticação de quorum para asseguintes operações no HSM:

• Criar usuários do HSM• Excluir usuários do HSM• Alterar a senha de outro usuário do HSM

Depois que o HSM é configurado para autenticação de quorum, os COs não podem executar as operaçõesde gerenciamento de usuários HSM por conta própria. O exemplo a seguir mostra a saída quando umCO tenta criar um novo usuário no HSM. O comando falha com um erro RET_MXN_AUTH_FAILED, o queindica que a autenticação de quorum falhou.

aws-cloudhsm>createUser CU user1 password*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yCreating User user1(CU) on 2 nodescreateUser failed: RET_MXN_AUTH_FAILEDcreating user on server 0(10.0.2.14) failed

Retry/Ignore/Abort?(R/I/A):A

Para realizar uma operação de gerenciamento de usuários do HSM, um CO deve completar as seguintestarefas:

1. Obtenha um token de quorum (p. 75).2. Obtenha aprovações (assinaturas) de outros COs (p. 76).3. Aprove o token no HSM (p. 77).4. Realize a operação de gerenciamento de usuários do HSM (p. 78).

Se você ainda não configurou o HSM para autenticação de quorum para COs, faça isso agora. Para obtermais informações, consulte Configuração inicial para oficiais de criptografia (p. 70).

Obter um token de quorumPrimeiro, o CO deve usar o cloudhsm_mgmt_util ferramenta de linha de comando para solicitar um tokende quorum.

Para obter um token de quorum

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

75

Page 82: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum para oficiais de criptografia

2. Use o comando enable_e2e para estabelecer uma comunicação criptografada de ponta a ponta.3. Use o comando loginHSM para acessar o HSM como um CO. Para obter mais informações, consulte

Fazer login em HSMs (p. 89).4. Use o comando getToken para obter um token de quorum. Para obter mais informações, consulte o

exemplo a seguir ou use o comando help getToken.

Example – Obter um token de quorum

Este exemplo obtém um nome quorum para o CO com o nome do utilizador1 e guarda o token para umficheiro nomeado officer1.token. Para utilizar o comando de exemplo, substitua estes valores por sipróprio:

• officer1 – O nome do CO que recebe o token. Este deve ser o mesmo CO que está conectado aoHSM e executando esse comando.

• officer1.token – O nome do ficheiro a utilizar para armazenar o token quorum.

No comando a seguir, 3 identifica o serviço para o qual você pode usar o token que você está recebendo.Nesse caso, o token é para operações de gerenciamento de usuários do HSM (serviço 3). Para obter maisinformações, consulte Defina o valor mínimo do quorum no HSM (p. 73).

aws-cloudhsm>getToken 3 officer1 officer1.tokengetToken success on server 0(10.0.2.14)Token:Id:1Service:3Node:1Key Handle:0User:officer1getToken success on server 1(10.0.1.4)Token:Id:1Service:3Node:0Key Handle:0User:officer1

Obter assinaturas dos COs de aprovaçãoUm CO que tenha um token de quorum deve obter o token aprovado por outros COs. Para darem suaaprovação, os outros COs usam suas chaves de assinatura para assinar criptograficamente o token. Elesfazem isso fora do HSM.

Existem muitas maneiras diferentes de assinar o token. O exemplo a seguir mostra como fazer isso com oOpenSSL. Para usar uma ferramenta de assinatura diferente, certifique-se de que essa ferramenta use achave privada (chave de assinatura) do CO para assinar um resumo SHA-256 do token.

Example – Obter assinaturas dos COs de aprovação

Neste exemplo, o CO que possui o token (officer1) precisa de pelo menos duas aprovações. Os comandosdo exemplo a seguir mostram como dois COs podem usar o OpenSSL para assinar criptograficamente otoken.

No primeiro comando, officer1 assina o seu próprio token. Para usar os seguintes comandos de exemplo,substitua esses valores por seus próprios:

• officer1.key e officer2.key – O nome do ficheiro que contém a chave de assinatura do CO.

76

Page 83: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum para oficiais de criptografia

• officer1.token.sig1 e officer1.token.sig2 – O nome do ficheiro a utilizar para guardar aassinatura. Certifique-se de salvar cada assinatura em um arquivo diferente.

• officer1.token – O nome do ficheiro que contém o token que o CO está a assinar.

$ openssl dgst -sha256 -sign officer1.key -out officer1.token.sig1 officer1.tokenEnter pass phrase for officer1.key:

No comando a seguir, officer2 assina o mesmo token.

$ openssl dgst -sha256 -sign officer2.key -out officer1.token.sig2 officer1.tokenEnter pass phrase for officer2.key:

Aprovar o token assinado no HSMDepois que um CO receber o número mínimo de aprovações (assinaturas) de outros COs, ele deveráaprovar o token assinado no HSM.

Para aprovar o token assinado no HSM

1. Crie um arquivo de aprovação de token. Para obter mais informações, veja o exemplo a seguir.2. 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

3. Use o comando enable_e2e para estabelecer uma comunicação criptografada de ponta a ponta.4. Use o comando loginHSM para acessar o HSM como um CO. Para obter mais informações, consulte

Fazer login em HSMs (p. 89).5. Use o comando approveToken para aprovar o token assinado, passando o arquivo de aprovação de

token. Para obter mais informações, veja o exemplo a seguir.

Example – Crie um arquivo de aprovação de token e aprove o token assinado no HSM

O arquivo de aprovação de token é um arquivo de texto em um formato específico exigido pelo HSM.O arquivo contém informações sobre o token, seus aprovadores e as assinaturas dos aprovadores. Oseguinte mostra um exemplo de arquivo de aprovação de token.

# For "Multi Token File Path", type the path to the file that contains# the token. You can type the same value for "Token File Path", but# that's not required. The "Token File Path" line is required in any# case, regardless of whether you type a value.Multi Token File Path = officer1.token;Token File Path = ;

# Total number of approvalsNumber of Approvals = 2;

# Approver 1# Type the approver's type, name, and the path to the file that# contains the approver's signature.Approver Type = 2; # 2 for CO, 1 for CUApprover Name = officer1;Approval File = officer1.token.sig1;

# Approver 2# Type the approver's type, name, and the path to the file that# contains the approver's signature.

77

Page 84: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum para oficiais de criptografia

Approver Type = 2; # 2 for CO, 1 for CUApprover Name = officer2;Approval File = officer1.token.sig2;

Depois de criar o arquivo de aprovação de token, o CO usa a cloudhsm_mgmt_util ferramenta de linha decomando para iniciar sessão no HSM. O CO usa o comando approveToken para aprovar o token, comomostrado no exemplo a seguir. Substituir approval.txt com o nome do ficheiro de aprovação do token.

aws-cloudhsm>approveToken approval.txtapproveToken success on server 0(10.0.2.14)approveToken success on server 1(10.0.1.4)

Quando esse comando é bem-sucedido, o HSM aprovou o token de quorum. Para verificar o status de umtoken, use o comando listTokens, conforme mostrado no exemplo a seguir. A saída do comando mostraque o token possui o número necessário de aprovações.

O tempo de validade de token indica quanto tempo o token é garantido para persistir no HSM. Mesmoapós o período de validade do token (zero segundos), você ainda pode usá-lo.

aws-cloudhsm>listTokens

===================== Server 0(10.0.2.14)=====================-------- Token - 0 ----------Token:Id:1Service:3Node:1Key Handle:0User:officer1Token Validity: 506 secRequired num of approvers : 2Current num of approvals : 2Approver-0: officer1Approver-1: officer2Num of tokens = 1

===================== Server 1(10.0.1.4)=====================-------- Token - 0 ----------Token:Id:1Service:3Node:0Key Handle:0User:officer1Token Validity: 506 secRequired num of approvers : 2Current num of approvals : 2Approver-0: officer1Approver-1: officer2Num of tokens = 1

listTokens success

Usar o token para operações de gerenciamento de usuáriosDepois de um CO ter um token com o número necessário de aprovações, como mostrado na seçãoanterior, ele pode executar uma das seguintes operações de gerenciamento de usuários do HSM:

78

Page 85: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticação de quorum para oficiais de criptografia

• Criar um usuário do HSM com o comando createUser (p. 96)• Excluir um usuário do HSM com o comando deleteUser• Alterar a senha de um usuário diferente do HSM com o comando changePswd

Para obter mais informações sobre como usar esses comandos, consulte Gerenciamento de usuários deHSM (p. 53).

O CO pode usar o token para apenas uma operação. Quando essa operação for bem-sucedida, o tokennão será mais válido. Para fazer outra operação de gerenciamento de usuários do HSM, o CO deve obterum novo token de quorum, obter novas assinaturas dos aprovadores e aprovar o novo token no HSM.

Note

O token mofn só é válido desde que a sua sessão de início de sessão actual esteja aberta. Seterminar sessão cloudhsm_mgmt_util ou a ligação de rede se desligar, o token já não é válido. Deforma semelhante, um token autorizado só pode ser utilizado dentro de cloudhsm_mgmt_util, nãopode ser utilizado para autenticar numa aplicação diferente.

No comando do exemplo a seguir, o CO cria um novo usuário no HSM.

aws-cloudhsm>createUser CU user1 password*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yCreating User user1(CU) on 2 nodes

Depois que o comando anterior for bem-sucedido, um comando listUsers subsequente mostrará o novousuário.

aws-cloudhsm>listUsersUsers on server 0(10.0.2.14):Number of users found:8

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO 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 8 CU user1 NO 0 NOUsers on server 1(10.0.1.4):Number of users found:8

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA

79

Page 86: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAlterar o valor do quorum para oficiais de criptografia

1 PCO 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 8 CU user1 NO 0 NO

Se o CO tentar executar outra operação de gerenciamento de usuário HSM, ele falhará com um erro deautenticação de quorum, como mostrado no exemplo a seguir.

aws-cloudhsm>deleteUser CU user1Deleting user user1(CU) on 2 nodesdeleteUser failed: RET_MXN_AUTH_FAILEDdeleteUser failed on server 0(10.0.2.14)

Retry/rollBack/Ignore?(R/B/I):IdeleteUser failed: RET_MXN_AUTH_FAILEDdeleteUser failed on server 1(10.0.1.4)

Retry/rollBack/Ignore?(R/B/I):I

O comando listTokens mostra que o CO não possui tokens aprovados, como mostrado no exemplo aseguir. Para realizar outra operação de gerenciamento de usuários do HSM, o CO deve obter um novotoken de quorum, obter novas assinaturas dos aprovadores e aprovar o novo token no HSM.

aws-cloudhsm>listTokens

===================== Server 0(10.0.2.14)=====================Num of tokens = 0

===================== Server 1(10.0.1.4)=====================Num of tokens = 0

listTokens success

Alterar o valor mínimo do quorum para oficiais decriptografiaDepois de definir o valor mínimo do quorum (p. 73) para que os oficiais de criptografia (COs) (p. 11)possam usar a autenticação de quorum, você pode querer alterar o valor mínimo do quorum. O HSMpermite que você altere o valor mínimo de quorum somente quando o número de aprovadores é igual ousuperior ao valor mínimo do quorum atual. Por exemplo, se o valor mínimo do quorum for dois, pelo menosdois COs deverão aprovar para alterar o valor mínimo de quorum.

Para obter a aprovação do quorum para alterar o valor mínimo do quorum, você precisa de um tokende quorum para o comando setMValue (serviço 4). Para obter um token de quorum para o comando

80

Page 87: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAlterar o valor do quorum para oficiais de criptografia

setMValue (serviço 4), o valor mínimo de quorum para o serviço 4 deve ser maior que um. Isso significaque, antes que você possa alterar o valor mínimo de quorum para os COs (serviço 3), talvez sejanecessário alterar o valor mínimo de quorum para o serviço 4.

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

Identificador do serviço Nome do serviço Descrição do serviço Comandos HSM

3 USER_MGMT Gerenciamento deusuários do HSM

• createUser• deleteUser• changePswd (aplica-

se somente durante aalteração da senha deum usuário do HSMdiferente)

4 MISC_CO Serviço CO diverso • setMValue

Para alterar o valor mínimo do quorum para oficiais de criptografia

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 enable_e2e para estabelecer uma comunicação criptografada de ponta a ponta.3. Use o comando loginHSM para acessar o HSM como um CO. Para obter mais informações, consulte

Fazer login em HSMs (p. 89).4. Use o comando getMValue para obter o valor mínimo de quorum para o serviço 3. Para obter mais

informações, veja o exemplo a seguir.5. Use o comando getMValue para obter o valor mínimo de quorum para o serviço 4. Para obter mais

informações, veja o exemplo a seguir.6. Se o valor mínimo de quorum para o serviço 4 for menor que o valor para o serviço 3, use o comando

setMValue para alterar o valor do serviço 4. Altere o valor do serviço 4 para um que seja igual ousuperior ao valor do serviço 3. Para obter mais informações, veja o exemplo a seguir.

7. Obtenha um token de quorum (p. 75), tendo o cuidado de especificar o serviço 4 como o serviçopara o qual você pode usar o token.

8. Obtenha aprovações (assinaturas) de outros COs (p. 76).9. Aprove o token no HSM (p. 77).10. Use o comando setMValue para alterar o valor mínimo do quorum para o serviço 3 (operações de

gerenciamento de usuários realizadas por COs).

Example – Obter valores mínimos de quorum e alterar o valor do serviço 4

O comando de exemplo a seguir mostra que o valor mínimo do quorum para o serviço 3 é atualmente dois.

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

O comando de exemplo a seguir mostra que o valor mínimo de quorum para o serviço 4 é atualmente um.

aws-cloudhsm>getMValue 4

81

Page 88: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAlterar o valor do quorum para oficiais de criptografia

MValue of service 4[MISC_CO] on server 0 : [1]MValue of service 4[MISC_CO] on server 1 : [1]

Para alterar o valor mínimo do quorum para o serviço 4, use o comando setMValue, definindo um valorigual ou superior ao valor do serviço 3. O exemplo a seguir define o valor mínimo do quorum para o serviço4 como dois (2), o mesmo valor definido para o serviço 3.

aws-cloudhsm>setMValue 4 2*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?ySetting M Value(2) for 4 on 2 nodes

Os seguintes comandos mostram que o valor mínimo do quorum é agora dois para o serviço 3 e o serviço4.

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

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

82

Page 89: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuáriocloudhsm_mgmt_util

Ferramentas de linha de comando daAWS CloudHSM

O AWS CloudHSM fornece ferramentas da linha de comando para gerenciar e usar o AWS CloudHSM.

Tópicos• cloudhsm_mgmt_util (p. 83)• key_mgmt_util (p. 131)• Ferramenta Configure (p. 220)

Gerenciar clusters e HSMs

Essas ferramentas obtêm, criam, excluem e marcam clusters e HSMs do AWS CloudHSM:• Comandos do CloudHSMv2 na interface de linha de comando da AWS (AWS CLI). Para usar esses

comandos, você precisa instalar e configurar a AWS CLI.• Cmdlets HSM2 do PowerShell no módulo AWSPowerShell module. Esses cmdlets estão disponíveis

em um módulo do Windows PowerShell e em um módulo PowerShell Core multiplataforma.

 Manage Users

Essa ferramenta cria e exclui usuários do HSM, incluindo a implementação da autenticação de quorumde tarefas de gerenciamento de usuários:• cloudhsm_mgmt_util (p. 83). Essa ferramenta está incluída no software cliente do AWS

CloudHSM.

 Gerenciar chaves

Essa ferramenta cria, exclui, importa e exporta chaves simétricas e pares de chaves assimétricas:• key_mgmt_util (p. 131). Essa ferramenta está incluída no software cliente do AWS CloudHSM.

 Ferramentas auxiliares

Essas ferramentas ajudam você a usar as ferramentas e as bibliotecas de software.• configure (p. 220) atualiza seus arquivos de configuração do cliente CloudHSM. Isso permite que

o AWS CloudHSM sincronize os HSMs em um cluster.• pkpspeed (p. 378) mede o desempenho do seu hardware do HSM independente das bibliotecas

de software.

 

cloudhsm_mgmt_utilA ferramenta da linha de comando da cloudhsm_mgmt_util ajuda os responsáveis pela criptografia agerenciar usuários nos HSMs. Inclui ferramentas que criam, excluem e listam usuários e alteram senhasde usuários.

83

Page 90: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

A cloudhsm_mgmt_util também inclui comandos que permitem que usuários de criptografia (CUs)compartilhem chaves, além de obter e configurar atributos de chave. Esses comandos complementamos comandos de gerenciamento de chaves na ferramenta de gerenciamento de chave primária,key_mgmt_util (p. 131).

Para começar rapidamente, consulte Conceitos básicos do cloudhsm_mgmt_util (p. 84). Para obterinformações detalhadas sobre comandos da cloudhsm_mgmt_util e exemplos de uso dos comandos,consulte Referência de comandos da cloudhsm_mgmt_util (p. 90).

Tópicos• Conceitos básicos do cloudhsm_mgmt_util (p. 84)• Referência de comandos da cloudhsm_mgmt_util (p. 90)

Conceitos básicos do cloudhsm_mgmt_utilO AWS CloudHSM inclui duas ferramentas da linha de comando com o software cliente do AWSCloudHSM (p. 35). A ferramenta cloudhsm_mgmt_util (p. 90) inclui comandos para gerenciar usuáriosdo HSM. A ferramenta key_mgmt_util (p. 134) inclui comandos para gerenciar as chaves. Para começara usar a ferramenta da linha de comando cloudhsm_mgmt_util, conclua as tarefas a seguir.

Tarefas• Preparar-se para executar a cloudhsm_mgmt_util (p. 84)• Uso básico do cloudhsm_mgmt_util (p. 88)• Usando cloudhsm_mgmt_util em clusters clonados (p. 90)

Preparar-se para executar a cloudhsm_mgmt_utilConclua as tarefas a seguir antes de usar o cloudhsm_mgmt_util: Você precisará realizar essas etapas naprimeira vez que você usar a cloudhsm_mgmt_util e depois de adicionar ou remover HSMs no seu cluster.As etapas atualizam a lista de HSMs nos arquivos de configuração que são usados pelo cliente AWSCloudHSM e suas ferramentas de linha de comando. Manter esses arquivos atualizados ajuda o AWSCloudHSM a sincronizar dados e manter a consistência entre todos os HSMs do cluster.

Tarefas• Etapa 1: interromper o cliente AWS CloudHSM (p. 84)• Etapa 2: atualizar os arquivos de configuração do AWS CloudHSM (p. 85)• Etapa 3: iniciar o cliente AWS CloudHSM (p. 86)• Etapa 4: atualizar o arquivo de configuração do cloudhsm_mgmt_util (p. 87)

Etapa 1: interromper o cliente AWS CloudHSMAntes de atualizar os arquivos de configuração que são usados pelo AWS CloudHSM e as ferramentasda linha de comando, interrompa o cliente AWS CloudHSM. Se o cliente já estiver parado, executar ocomando stop não terá efeitos prejudiciais.

Amazon Linux

$ sudo stop cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client stop

84

Page 91: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

CentOS 6

$ sudo stop cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client stop

RHEL 6

$ sudo stop cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client stop

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client stop

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe stop AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

Use Ctrl+C na janela de comando onde você iniciou o cliente do AWS CloudHSM.

Etapa 2: atualizar os arquivos de configuração do AWS CloudHSMEsta etapa usa o parâmetro -a da ferramenta configure (p. 220) para adicionar o endereço IP dainterface de rede elástica (ENI) de um dos HSMs do cluster ao arquivo de configuração.

Amazon Linux

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

Amazon Linux 2

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

CentOS 6

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

CentOS 7

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

RHEL 6

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

85

Page 92: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

RHEL 7

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

Ubuntu 16.04 LTS

$ sudo /opt/cloudhsm/bin/configure -a <HSM ENI IP>

Windows

c:\Program Files\Amazon\CloudHSM>configure.exe -a <HSM ENI IP>

Para obter o endereço IP da ENI de um HSM em seu cluster, navegue até o console do AWS CloudHSM,escolha clusters e selecione o cluster desejado. Você também pode usar a operação DescribeClusters, ocomando describe-clusters ou o cmdlet do PowerShell Get-HSM2Cluster. Digite somente um endereço IPENI. Não importa qual endereço IP ENI você utilize.

Etapa 3: iniciar o cliente AWS CloudHSMEm seguida, inicie ou reinicie o cliente AWS CloudHSM. Quando o cliente AWS CloudHSM é iniciado, eleusa o endereço IP ENI em seu arquivo de configuração para consultar o cluster. Em seguida, ele adicionaos endereços IP ENI de todos os HSMs do cluster ao arquivo de informações do cluster.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Windows

• Para clientes Windows 1.1.2+:

86

Page 93: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Etapa 4: atualizar o arquivo de configuração do cloudhsm_mgmt_util

A etapa final usa o parâmetro -m da ferramenta configure (p. 220) para copiar os endereços IP daENI atualizados do arquivo de informações do cluster para o arquivo de configuração usado pelacloudhsm_mgmt_util. Se você ignorar essa etapa, pode encontrar problemas de sincronização, comodados de usuários inconsistentes (p. 378) nos HSMs do seu cluster.

Amazon Linux

$ sudo /opt/cloudhsm/bin/configure -m

Amazon Linux 2

$ sudo /opt/cloudhsm/bin/configure -m

CentOS 6

$ sudo /opt/cloudhsm/bin/configure -m

CentOS 7

$ sudo /opt/cloudhsm/bin/configure -m

RHEL 6

$ sudo /opt/cloudhsm/bin/configure -m

RHEL 7

$ sudo /opt/cloudhsm/bin/configure -m

Ubuntu 16.04 LTS

$ sudo /opt/cloudhsm/bin/configure -m

Windows

c:\Program Files\Amazon\CloudHSM>configure.exe -m

Quando esta etapa for concluída, você estará pronto para iniciar a cloudhsm_mgmt_util. Se você adicionarou excluir HSMs a qualquer momento, certifique-se de repetir esse procedimento antes de usar acloudhsm_mgmt_util.

87

Page 94: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

Uso básico do cloudhsm_mgmt_utilAs tarefas a seguir abrangem o uso básico da ferramenta cloudhsm_mgmt_util.

Warning

A ferramenta cloudhsm_mgmt_util não oferece suporte ao preenchimento automático usando atecla Tab. Usar a tecla Tab com o cloudhsm_mgmt_util pode fazê-lo parar de responder.

Tarefas• Iniciar cloudhsm_mgmt_util (p. 88)• Habilitar criptografia de ponta a ponta (p. 89)• Fazer login em HSMs (p. 89)• fazer logout nos HSMs (p. 89)• Parar cloudhsm_mgmt_util (p. 90)

Iniciar cloudhsm_mgmt_utilUse o comando a seguir para iniciar o cloudhsm_mgmt_util.

Amazon Linux

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

Amazon Linux 2

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

CentOS 6

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

CentOS 7

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

RHEL 6

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

RHEL 7

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

Ubuntu 16.04 LTS

$ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg

Windows

C:\Program Files\Amazon\CloudHSM>cloudhsm_mgmt_util.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_mgmt_util.cfg

88

Page 95: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

A saída deve ser semelhante ao seguinte, dependendo de quantos HSMs você tem.

Connecting to the server(s), it may take timedepending on the server(s) load, please wait...

Connecting to server '10.0.2.9': hostname '10.0.2.9', port 2225...Connected to server '10.0.2.9': hostname '10.0.2.9', port 2225.

Connecting to server '10.0.3.11': hostname '10.0.3.11', port 2225...Connected to server '10.0.3.11': hostname '10.0.3.11', port 2225.

Connecting to server '10.0.1.12': hostname '10.0.1.12', port 2225...Connected to server '10.0.1.12': hostname '10.0.1.12', port 2225.

O prompt muda para aws-cloudhsm> quando a cloudhsm_mgmt_util está em execução.

Habilitar criptografia de ponta a pontaA partir da versão 1.1.1 do cliente e bibliotecas de software relacionadas, a comunicação criptografada deponta a ponta entre o cloudhsm_mgmt_util e os HSMs em seu cluster é habilitada por padrão. Se estiverusando uma versão anterior, será possível usar o comando enable_e2e para habilitar a criptografia deponta a ponta sempre que iniciar o cloudhsm_mgmt_util.

aws-cloudhsm>enable_e2eE2E enabled on server 0(10.0.2.9)E2E enabled on server 1(10.0.3.11)E2E enabled on server 2(10.0.1.12)

Fazer login em HSMsUse o comando loginHSM para fazer login nos HSMs. Qualquer usuário de qualquer tipo pode usar essecomando para fazer login nos HSMs.

O comando no exemplo a seguir faz login do admin, que é o responsável pela criptografia (CO) (p. 11), porpadrão. A senha desse usuário foi definida quando ativou o cluster (p. 37). A saída mostra que o comandoconectou fez login do usuário admin em todos os HSMs do cluster.

Warning

Ao fazer login na cloudhsm_mgmt_util, verifique se os endereços IP ENI nas mensagens desucesso correspondem exatamente aos endereços IP ENI de todos os HSMs do cluster. Se nãocorresponderem, pare e execute todas as etapas no procedimento the section called “Preparar-separa executar a cloudhsm_mgmt_util” (p. 84).Para obter os endereços IP ENI dos HSMs no seu cluster, você pode usar a operaçãoDescribeClusters, o comando describe-clusters ou o cmdlet Get-HSM2Cluster PowerShell.

aws-cloudhsm>loginHSM CO admin <password>loginHSM success on server 0(10.0.2.9)loginHSM success on server 1(10.0.3.11)loginHSM success on server 2(10.0.1.12)

Veja a seguir a sintaxe do comando loginHSM.

aws-cloudhsm>loginHSM <user type> <user name> <password>

fazer logout nos HSMsUse o comando logoutHSM para fazer logout dos HSMs.

89

Page 96: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

aws-cloudhsm>logoutHSMlogoutHSM success on server 0(10.0.2.9)logoutHSM success on server 1(10.0.3.11)logoutHSM success on server 2(10.0.1.12)

Parar cloudhsm_mgmt_util

Use o comando quit para parar cloudhsm_mgmt_util.

aws-cloudhsm>quit

disconnecting from servers, please wait...

Usando cloudhsm_mgmt_util em clusters clonadosEm alguns casos, você usará cloudhsm_mgmt_util para sincronizar alterações em clusters clonados. Parafazer isso, você precisará criar manualmente um novo arquivo de configuração do cloudhsm_mgmt_utilque especifique os HSMs que você deseja sincronizar. Para este exemplo, crie uma cópia do arquivo deconfiguração atual (/opt/cloudhsm/etc/cloudhsm_mgmt_config.cfg) e altere o nome da cópiapara syncConfig.cfg.

Edite syncConfig.cfg para incluir os IPs da interface de rede elástica (ENI) dos HSMs a seremsincronizados. Recomendamos especificar o HSM de origem primeiro e, depois, os HSMs de destino.Para encontrar o IP da ENI de um HSM, consulte Atualizar os arquivos de configuração do AWSCloudHSM (p. 85).

Inicialize cloudhsm_mgmt_util com o novo arquivo de configuração emitindo o seguinte comando:

aws-cloudhsm> /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/userSync.cfg

Verifique as mensagens de status retornadas para garantir que o cloudhsm_mgmt_util estejaconectado a todos os HSMs e determine qual dos IPs da ENI retornados corresponde a cada cluster.

Ao concluir a sincronização dos HSMs ou dos clusters, inicialize o cloudhsm_mgmt_util com o arquivo deconfiguração original.

aws-cloudhsm> /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_config.cfg

Referência de comandos da cloudhsm_mgmt_utilA ferramenta da linha de comando da cloudhsm_mgmt_util ajuda os responsáveis pela criptografia agerenciar usuários nos HSMs. Ela também inclui comandos que permitem que usuários de criptografia(CUs) compartilhem chaves, além de obter e configurar atributos de chave. Esses comandoscomplementam os comandos de gerenciamento de chave primária na ferramenta de linha de comandokey_mgmt_util (p. 131).

Para começar rapidamente, consulte Conceitos básicos do cloudhsm_mgmt_util (p. 84).

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciarcloudhsm_mgmt_util (p. 88), habilitar a criptografia ponto a ponto (p. 89) e fazer login (p. 89) noHSM. Certifique-se de fazer login com o tipo de conta de usuário que possa executar os comandos quevocê planeja usar.

Para listar todos os comandos da cloudhsm_mgmt_util, execute o seguinte comando:

90

Page 97: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

aws-cloudhsm> help

Para obter a sintaxe de um comando da cloudhsm_mgmt_util, execute o seguinte comando:

aws-cloudhsm> help <command-name>

Note

Use a sintaxe de acordo com a documentação. Embora a ajuda integrada do software possafornecer opções adicionais, essas não devem ser consideradas compatíveis e não devem serutilizadas no código de produção.

Para executar um comando, digite o nome do comando ou uma parte suficiente do nome para diferenciá-lodos nomes de outros comandos da cloudhsm_mgmt_util.

Por exemplo, para obter uma lista de usuários nos HSMs, insira listUsers ou listU.

aws-cloudhsm> listUsers

Para encerrar sua sessão da cloudhsm_mgmt_util, execute o seguinte comando:

aws-cloudhsm> quit

Para ajudar a interpretar os atributos de chave, consulte Referência de atributos de chave (p. 216).

Os seguintes tópicos descrevem comandos na cloudhsm_mgmt_util.

Note

Alguns comandos no key_mgmt_util e cloudhsm_mgmt_util têm os mesmos nomes. Contudo,geralmente os comandos têm sintaxe diferente, resultado diferente e funcionalidade levementediferente.

Comando Descrição Tipo de usuário

changePswd (p. 92) Altera as senhas dos usuáriosnos HSMs. Qualquer usuáriopode alterar sua própria senha.Os COs podem mudar a senhade qualquer pessoa.

CO

createUser (p. 96) Cria usuários de todos os tiposnos HSMs.

CO

deleteUser (p. 99) Exclui usuários de todos os tiposdos HSMs.

CO

findAllKeys (p. 102) Obtém as chaves que um usuáriopossui ou compartilha. Tambémobtém um hash de propriedadeda chave e compartilhamento dedados para todas as chaves emcada HSM.

CO, AU

getAttribute (p. 105) Obtém um valor de atributo parauma chave do AWS CloudHSM e

CU

91

Page 98: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Comando Descrição Tipo de usuárioo grava em um arquivo ou stdout(saída padrão).

getCert (p. 107) Obtenha o certificado de umHSM específico e o salve em umformato de certificado desejado.

Tudo.

getHSMInfo (p. 109) Obtém informações sobre ohardware no qual um HSM estásendo executado.

Tudo. O login não é necessário.

getKeyInfo (p. 110) Obtém proprietários, usuárioscompartilhados e o status deautenticação de quorum de umachave.

Tudo. O login não é necessário.

info (p. 114) Obtém informações sobre umHSM, incluindo o endereço IP, onome do host, a porta e o usuárioatual.

Tudo. O login não é necessário.

listUsers (p. 116) Obtém os usuários em cada umdos HSMs, seu tipo de usuário eID e outros atributos.

Tudo. O login não é necessário.

loginHSM e logoutHSM (p. 117) Fazer login e logout de um HSM. Tudo.

sair (p. 124) Sai da cloudhsm_mgmt_util. Tudo. O login não é necessário.

server (p. 119) Entra e sai do modo de servidorem um HSM.

Tudo.

setAttribute (p. 121) Altera o valor dos atributosde rótulo, criptografia,descriptografia, encapsulamentoe desencapsulamento de umachave existente.

CU

shareKey (p. 125) Compartilha uma chave existentecom outros usuários.

CU

syncKey (p. 127) Sincroniza uma chave emclusters do AWS CloudHSMclonados.

CU, CO

syncUser (p. 129) Sincroniza um usuário emclusters clonados do AWSCloudHSM.

CO

changePswdO comando changePswd na cloudhsm_mgmt_util altera a senha de um usuário existente nos HSMs docluster.

Qualquer usuário pode alterar sua própria senha. Além disso, os responsáveis pela Cripto (cos e pcos)podem alterar a palavra-passe de outro CO ou utilizador Crypto (CU). Você não precisa inserir a senhaatual para fazer a alteração.

92

Page 99: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Note

No entanto, não é possível alterar a senha de um usuário que está conectado no momento aocliente do AWS CloudHSM ou à key_mgmt_util.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Responsáveis pela criptografia (CO)• Usuários de criptografia (CU)

Syntax

Introduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetropara mascarar a sua palavra-passe. Para obter mais informações, consulte the section called“Arguments” (p. 95).

changePswd <user-type> <user-name> <password |-hpswd>

Examples

Os exemplos a seguir mostram como usar changePassword para redefinir a senha do usuário atual ou dequalquer outro usuário em seus HSMs.

Example Alterar a senha

Qualquer usuário nos HSMs pode usar changePswd para alterar sua própria senha. Antes de alterar asenha, use info (p. 114) para obter informações sobre cada um dos HSMs no cluster, incluindo o nome eo tipo de usuário conectado.

A saída a seguir mostra que Bob está atualmente conectado como um usuário de criptografia (CU).

aws-cloudhsm> info server 0 Id Name Hostname Port State Partition LoginState0 10.1.9.193 10.1.9.193 2225 Connected hsm-jqici4covtv Logged in as 'bob(CU)' aws-cloudhsm> info server 1 Id Name Hostname Port State Partition LoginState1 10.1.10.7 10.1.10.7 2225 Connected hsm-ogi3sywxbqx Logged in as 'bob(CU)'

93

Page 100: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Para alterar a senha, Bob executa changePswd seguido pelo tipo e o nome de usuário e uma nova senha.

aws-cloudhsm> changePswd CU bob newPassword

*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yChanging password for bob(CU) on 2 nodes

Example : alterar a senha de outro usuário

Tem de ser um CO ou PCO para alterar a palavra-passe de outro CO ou CU no hsms. Antes de alterar asenha de outro usuário, use o comando info (p. 114) para confirmar se o tipo de usuário é CO ou PCO.

A saída a seguir confirma que Alice, que é uma CO, está conectada no momento.

aws-cloudhsm>info server 0 Id Name Hostname Port State Partition LoginState0 10.1.9.193 10.1.9.193 2225 Connected hsm-jqici4covtv Logged in as 'alice(CO)'

aws-cloudhsm>info server 1 Id Name Hostname Port State Partition LoginState0 10.1.10.7 10.1.10.7 2225 Connected hsm-ogi3sywxbqx Logged in as 'alice(CO)'

Alice deseja redefinir a senha de outro usuário, John. Antes de alterar a senha, ela usa o comandolistUsers (p. 116) para verificar o tipo de usuário de John.

A saída a seguir relaciona John como um usuário CO.

aws-cloudhsm> listUsersUsers on server 0(10.1.9.193):Number of users found:5

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU jane NO 0 NO 3 CU bob NO 0 NO 4 CU alice NO 0 NO 5 CO john NO 0 NOUsers on server 1(10.1.10.7):Number of users found:5

94

Page 101: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU jane NO 0 NO 3 CU bob NO 0 NO 4 CO alice NO 0 NO 5 CO john NO 0 NO

Para alterar a senha, Alice executa changePswd seguido pelo tipo, o nome e uma nova senha para John.

aws-cloudhsm>changePswd CO john newPassword

*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yChanging password for john(CO) on 2 nodes

ArgumentsIntroduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetro paramascarar a sua palavra-passe.

changePswd <user-type> <user-name> <password |-hpswd>

<user type>

Especifica o tipo atual do usuário cuja senha você está mudando. Você não pode usar changePswdpara alterar o tipo do usuário.

Os valores válidos são CO, CU, PCO, e PRECO.

Para obter o tipo de usuário, use listUsers (p. 116). Para obter informações detalhadas sobre ostipos de usuários em um HSM, consulte Usuários do HSM (p. 11).

Obrigatório Sim.<user name>

Especifica o nome amigável do usuário. Esse parâmetro não diferencia maiúsculas de minúsculas.Você não pode usar changePswd para alterar o nome do usuário.

Obrigatório Sim.<palavra-passe | -hpswd >

Especifica uma nova senha para o usuário. Insira uma string de 7 a 32 caracteres. Esse valordiferencia maiúsculas de minúsculas. A senha aparece em texto sem formatação quando você adigita. Para ocultar a sua palavra-passe, utilize o -hpswd parâmetro em vez da palavra-passe e sigaas indicações.

Obrigatório Sim.

95

Page 102: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Tópicos relacionados

• .info (p. 114)• listUsers (p. 116)• createUser (p. 96)• deleteUser (p. 99)

createUserO comando createUser na cloudhsm_mgmt_util cria um usuário nos HSMs. Somente oficiais de criptografia(COs e PCOs) podem executar esse comando. Ao criar um usuário, você especifica o tipo de usuário (COou CU), um nome de usuário e uma senha. Quando o comando é bem-sucedido, ele cria o usuário emtodos os HSMs no cluster.

No entanto, se sua configuração do HSM estiver imprecisa, o usuário talvez não seja criado em todosos HSMs. Para adicionar o usuário a qualquer HSM em que ele esteja faltando, use o comandosyncUser (p. 129) ou createUser (p. 96) apenas nos HSMs que não têm esse usuário. Para evitarerros de configuração, execute a ferramenta configure (p. 220) com a opção -m.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Oficiais de criptografia (CO, PCO)

SyntaxIntroduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetropara mascarar a sua palavra-passe. Para obter mais informações, consulte the section called“Arguments” (p. 98).

createUser <user-type> <user-name> <password |-hpswd>

ExamplesEstes exemplos mostram como usar createUser para criar novos usuários em seus HSMs.

Example : Criar um oficial de criptografia

Este exemplo cria um responsável pela criptografia (CO) nos HSMs em um cluster. O primeiro comandousa loginHSM (p. 117) para fazer login no HSM como um oficial de criptografia.

aws-cloudhsm> loginHSM CO admin 735782961

loginHSM success on server 0(10.0.0.1)loginHSM success on server 1(10.0.0.2)loginHSM success on server 1(10.0.0.3)

96

Page 103: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O segundo comando usa o comando createUser para criar alice, um novo responsável pela criptografiano HSM.

A mensagem de precaução explica que o comando cria usuários em todos os HSMs no cluster. Porém, seo comando falhar em qualquer HSM, o usuário não existirá nesses HSMs. Para continuar, digite y.

A saída mostra que o novo usuário foi criado nos três HSMs do cluster.

aws-cloudhsm> createUser CO alice 391019314

*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?Invalid option, please type 'y' or 'n'

Do you want to continue(y/n)?yCreating User alice(CO) on 3 nodes

Quando o comando é concluído, alice tem as mesmas permissões no HSM que o usuário CO admin,incluindo a alteração da senha de qualquer usuário nos HSMs.

O comando final usa o comando listUsers (p. 116) para verificar se alice existe nos três HSMs nocluster. A saída também mostra que alice é atribuída a ID de utilizador 3.. Utiliza a ID de utilizador paraidentificar alice outros comandos, tais como teclas de desinfestação (p. 102).

aws-cloudhsm> listUsersUsers on server 0(10.0.0.1):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CO alice NO 0 NOUsers on server 1(10.0.0.2):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CO alice NO 0 NO

Users on server 1(10.0.0.3):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO

97

Page 104: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

3 CO alice NO 0 NO

Example : Criar um usuário de criptografia

Este exemplo cria um usuário de criptografia (CU), bob, no HSM. Os usuários de criptografia podem criar egerenciar chaves, mas não conseguem gerenciar usuários.

Depois de digitar y para responder à mensagem de precaução, a saída mostra que bob foi criado nos trêsHSMs no cluster. O novo CU pode fazer login no HSM para criar e gerenciar chaves.

O comando utilizou um valor de palavra-passe de defaultPassword. Mais tarde, bob ou qualquer COpode utilizar o mudar de escala (p. 92) para alterar a sua palavra-passe.

aws-cloudhsm> createUser CU bob defaultPassword

*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?Invalid option, please type 'y' or 'n'

Do you want to continue(y/n)?yCreating User bob(CU) on 3 nodes

ArgumentsIntroduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetro paramascarar a sua palavra-passe.

createUser <user-type> <user-name> <password |-hpswd>

<user type>

Especifica o tipo de usuário. Esse parâmetro é obrigatório.

Para obter informações detalhadas sobre os tipos de usuários em um HSM, consulte Usuários doHSM (p. 11).

Valores válidos: {, }• CO: Os responsáveis pela crita de criópio podem gerir utilizadores, mas não podem gerir chaves.• CU: Os utilizadores de criópio crieiam podem criar teclas de gestão e utilizar chaves em operações

criptográficas.• AU: Os utilizadores do dispositivo podem clonar e sincronizar operações. Um AU é criado para você

em cada HSM instalado.

PCO, PRECO e preCO também são valores válidos, mas são raramente usados. Um PCO éfuncionalmente idêntico a um usuário CO. Um usuário PRECO é um tipo temporário que é criadoautomaticamente em cada HSM. O PRECO é convertido em um PCO quando você atribui uma senhadurante a ativação do HSM (p. 37).

Obrigatório Sim.<user name>

Especifica um nome amigável para o usuário. O tamanho máximo é de 31 caracteres. O únicocaractere especial permitido é um sublinhado ( _ ).

98

Page 105: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Não é possível alterar o nome de um usuário após sua criação. Em comandos dacloudhsm_mgmt_util, o tipo de usuário e a senha diferenciam maiúsculas de minúsculas, mas o nomedo usuário não diferencia.

Obrigatório Sim.<palavra-passe | -hpswd >

Especifica uma senha para o usuário. Insira uma string de 7 a 32 caracteres. Esse valor diferenciamaiúsculas de minúsculas. A senha aparece em texto sem formatação quando você a digita.Para ocultar a sua palavra-passe, utilize o -hpswd parâmetro em vez da palavra-passe e siga asindicações.

Para alterar uma palavra-passe de utilizador, utilize mudar de escala (p. 92). Qualquer usuário doHSM pode alterar sua própria senha, mas os usuários CO podem alterar a senha de qualquer usuário(de qualquer tipo) nos HSMs.

Obrigatório Sim.

Tópicos relacionados

• listUsers (p. 116)• deleteUser (p. 99)• syncUser (p. 129)• changePswd (p. 92)

deleteUserO comando deleteUser na cloudhsm_mgmt_util exclui um usuário do HSMs. Somente oficiais decriptografia (COs e PCOs) podem executar esse comando, mas qualquer usuário CO pode excluirqualquer usuário de qualquer tipo dos HSMs. No entanto, você não pode excluir um usuário conectado aocliente AWS CloudHSM, à key_mgmt_util ou à cloudhsm_mgmt_util.

Warning

Quando você exclui um usuário de criptografia (CU), todas as chaves que ele possuía sãoexcluídas, mesmo estando compartilhadas com outros usuários. Para minimizar a eliminaçãoacidental ou mal-intencionada de usuários, use a autenticação de quorum (p. 75).

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Oficiais de criptografia (CO, PCO)

SintaxeComo esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

99

Page 106: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

deleteUser <user-type> <user-name>

Exemplo

Este exemplo exclui um responsável pela criptografia (CO) dos HSMs em um cluster. O primeiro comandousa listUsers (p. 116) para listar todos os usuários nos HSMs.

A saída mostra que o usuário 3, alice, é uma CO nos HSMs.

aws-cloudhsm> listUsersUsers on server 0(10.0.0.1):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CO alice NO 0 NOUsers on server 1(10.0.0.2):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CO alice NO 0 NO

Users on server 1(10.0.0.3):Number of users found:3

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CO alice NO 0 NO

O segundo comando usa o comando deleteUser para excluir alice dos HSMs.

A saída mostra que o comando foi bem-sucedido em todos os três HSMs no cluster.

aws-cloudhsm> deleteUser CO aliceDeleting user alice(CO) on 3 nodesdeleteUser success on server 0(10.0.0.1)deleteUser success on server 0(10.0.0.2)deleteUser success on server 0(10.0.0.3)

O comando final usa o comando listUsers comando para verificar se alice foi excluída de todos os trêsHSMs no cluster.

aws-cloudhsm> listUsersUsers on server 0(10.0.0.1):

100

Page 107: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Number of users found:2

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NOUsers on server 1(10.0.0.2):Number of users found:2

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NOUsers on server 1(10.0.0.3):Number of users found:2

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO

Argumentos

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

deleteUser <user-type> <user-name>

<user-type>

Especifica o tipo de usuário. Esse parâmetro é obrigatório.

Warning

Quando você exclui um usuário de criptografia (CU), todas as chaves que ele possuíasão excluídas, mesmo estando compartilhadas com outros usuários. Para impedir aprobabilidade de exclusão acidental ou mal-intencionada de usuários, use a autenticação dequorum (p. 75).

Os valores válidos são CO, CU, AU, PCO e PRECO.

Para obter o tipo de usuário, use listUsers (p. 116). Para obter informações detalhadas sobre ostipos de usuários em um HSM, consulte Usuários do HSM (p. 11).

Obrigatório: sim<user-name>

Especifica um nome amigável para o usuário. O tamanho máximo é de 31 caracteres. O únicocaractere especial permitido é um sublinhado ( _ ).

Não é possível alterar o nome de um usuário após sua criação. Em comandos dacloudhsm_mgmt_util, o tipo de usuário e a senha diferenciam maiúsculas de minúsculas, mas o nomedo usuário não diferencia.

Obrigatório: sim

101

Page 108: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Tópicos relacionados

• listUsers (p. 116)• createUser (p. 96)• syncUser (p. 129)• changePswd (p. 92)

findAllKeysO comando findAllKeys na cloudhsm_mgmt_util obtém as chaves que um determinado usuário decriptografia (CU) possui ou compartilha. Ele também retorna um hash dos dados do usuário em cada umdos HSMs. Você pode usar esse hash para determinar de imediato se os usuários, a propriedade daschaves e os dados de compartilhamento de chaves são iguais em todos os HSMs no cluster. Na saída, aschaves de propriedade do usuário são anotadas por (o) e chaves compartilhadas são anotadas por (s).

findAllKeys retorna chaves públicas somente quando a CU especificada possui a chave, mesmo quetodos os CUs no HSM possam usar qualquer chave pública. Esse comportamento é diferente defindKey (p. 151) na key_mgmt_util, que retorna as chaves públicas para todos os usuários CU.

Somente os responsáveis pela criptografia (COs e PCOs) e usuários de dispositivos (AUs) podem executaresse comando. Os usuários de criptografia (CUs) podem executar os seguintes comandos:

• listUsers (p. 116) para encontrar todos os usuários• findKey (p. 151) na key_mgmt_util para encontrar as chaves que eles podem usar• getKeyInfo (p. 179) na key_mgmt_util para encontrar o proprietário e os usuários compartilhados de

uma chave específica que eles possuem ou compartilham

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Oficiais de criptografia (CO, PCO)• Usuários de dispositivos (AU)

Sintaxe

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

findAllKeys <user id> <key hash (0/1)> [<output file>]

Exemplos

Estes exemplos mostram como usar findAllKeys para encontrar todas as chaves para um usuário eobter um hash de informações de usuário de chaves em cada um dos HSMs.

102

Page 109: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example : Encontrar as chaves para um CU

Esse exemplo usa findAllKeys para encontrar as chaves nos HSMs que o usuário 4 possui e compartilha.O comando usa um valor de 0 para o segundo argumento para suprimir o valor do hash. Como ele omite onome do arquivo opcional, o comando grava em stdout (saída padrão).

A saída mostra que o usuário 4 pode usar 6 chaves: 8, 9, 17, 262162, 19 e 31. A saída usa um (s) paraindicar chaves que são explicitamente compartilhadas pelo usuário. As chaves possuídas pelo usuáriosão indicadas por um (o) e incluem chaves simétricas e privadas que o usuário não compartilha e chavespúblicas que estão disponíveis para todos os usuários de criptografia.

aws-cloudhsm> findAllKeys 4 0Keys on server 0(10.0.0.1):Number of keys found 6number of keys matched from start index 0::68(s),9(s),17,262162(s),19(o),31(o)findAllKeys success on server 0(10.0.0.1)

Keys on server 1(10.0.0.2):Number of keys found 6number of keys matched from start index 0::68(s),9(s),17,262162(s),19(o),31(o)findAllKeys success on server 1(10.0.0.2)

Keys on server 1(10.0.0.3):Number of keys found 6number of keys matched from start index 0::68(s),9(s),17,262162(s),19(o),31(o)findAllKeys success on server 1(10.0.0.3)

Example : verificar se os dados do usuário estão sincronizados

Este exemplo usa findAllKeys para verificar se todos os HSMs do cluster contêm os mesmos usuários,propriedade de chaves e valores de compartilhamento de chaves. Para fazer isso, ele obtém um hash dosdados do usuário chave em cada HSM e compara os valores de hash.

Para obter o hash da chave, o comando usa um valor de 1 no segundo argumento. O nome do arquivoopcional é omitido e, portanto, o comando grava o hash da chave em stdout.

O exemplo especifica o usuário 6, mas o valor do hash será o mesmo para qualquer usuário que possuaou compartilhe qualquer uma das chaves nos HSMs. Se o usuário especificado não possui ou compartilhachaves, como um CO, o comando não retornará um valor de hash.

A saída mostra que o hash da chave é idêntico tanto nos HSMs como no cluster. Se um dos HSM tivesseusuários diferentes, diferentes proprietários de chaves ou diferentes usuários compartilhados, os valoresde hash de chave não seriam iguais.

aws-cloudhsm> findAllKeys 6 1Keys on server 0(10.0.0.1):Number of keys found 3number of keys matched from start index 0::38(s),9(s),11,17(s)Key Hash:55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 0(10.0.0.1)Keys on server 1(10.0.0.2):Number of keys found 3number of keys matched from start index 0::38(s),9(s),11(o),17(s)Key Hash:55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

103

Page 110: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

findAllKeys success on server 1(10.0.0.2)

Esse comando demonstra que o valor do hash representa os dados do usuário para todas as chaves noHSM. O comando usa findAllKeys para o usuário 3. Ao contrário do usuário 6, que possui ou compartilhaapenas 3 chaves, o usuário 3 possui ou compartilha 17 chaves, mas o valor de hash da chave é o mesmo.

aws-cloudhsm> findAllKeys 3 1Keys on server 0(10.0.0.1):Number of keys found 17number of keys matched from start index 0::176(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o)Key Hash:55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 0(10.0.0.1)Keys on server 1(10.0.0.2):Number of keys found 17number of keys matched from start index 0::176(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o)Key Hash:55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 1(10.0.0.2)

ArgumentosComo esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

findAllKeys <user id> <key hash (0/1)> [<output file>]

<user id>

Obtém todas as chaves que o usuário especificado possui ou compartilha. Insira o ID do usuário deum usuário nos HSMs. Para encontrar os IDs de todos os usuários, use listUsers (p. 116).

Todos os IDs de usuários são válidos, mas findAllKeys retorna as chaves apenas para os usuáriosde criptografia (CUs).

Obrigatório: sim<key hash>

Inclui (1) ou exclui (0) um hash da propriedade do usuário e dos dados de compartilhamento paratodas as chaves em cada HSM.

Quando o argumento user id representa um usuário que possui ou compartilha chaves, o hash dachave é preenchido. O valor do hash da chave é idêntico para todos os usuários que possuem oucompartilham chaves no HSM, mesmo possuindo e compartilhando chaves diferentes. No entanto,quando user id representa um usuário que não possui ou compartilha nenhuma chave, como umCO, o valor do hash não é preenchido.

Obrigatório: sim<output file>

Grava a saída no arquivo especificado.

Exigido: Não

Padrão: Stdout

104

Page 111: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Tópicos relacionados

• changePswd (p. 92)• deleteUser (p. 99)• listUsers (p. 116)• syncUser (p. 129)• findKey (p. 151) na key_mgmt_util• getKeyInfo (p. 179) na key_mgmt_util

getAttributeO comando getAttribute na cloudhsm_mgmt_util obtém um valor de atributo para uma chave de todos osHSMs no cluster e grava-o na stdout (saída padrão) ou em um arquivo. Somente usuários de criptografia(CUs) podem executar esse comando.

Atributos de chave são propriedades de uma chave. Eles incluem características, como o tipo de chave,a classe, o rótulo e o ID, e valores que representam ações que você pode realizar na chave, comocriptografar, descriptografar, encapsular, assinar e verificar.

Você só pode usar getAttribute nas chaves que você possui e em chaves que são compartilhadas comvocê. Você pode executar esse comando ou o comando getAttribute (p. 105) na key_mgmt_util, quegrava um ou todos os valores de atributos de uma chave em um arquivo.

Para obter uma lista de atributos e das constantes que os representam, use o comandolistAttributes (p. 198). Para alterar os valores de atributo de chaves existentes, use setAttribute (p. 202)na key_mgmt_util e setAttribute (p. 121) na cloudhsm_mgmt_util. Para ajudar a interpretar os atributos dechave, consulte Referência de atributos de chave (p. 216).

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Usuários de criptografia (CU)

Syntax

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

getAttribute <key handle> <attribute id> [<filename>]

Example

Esse exemplo obtém o valor do atributo extraível para uma chave nos HSMs. É possível usar um comandocomo esse para determinar se você pode exportar uma chave dos HSMs.

105

Page 112: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O primeiro comando utiliza listatagens (p. 115) para encontrar a constante que representa o atributoextraível. A saída mostra que a constante para OBJ_ATTR_EXTRACTABLE é 354. Também pode encontraresta informação com descrições dos atributos e respectivos valores no Referência de atributos dechave (p. 216).

aws-cloudhsm> listAttributes

Following are the possible attribute values for getAttribute:

OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_TRUSTED = 134 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_DERIVE = 268 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_NEVER_EXTRACTABLE = 356 OBJ_ATTR_ALWAYS_SENSITIVE = 357 OBJ_ATTR_DESTROYABLE = 370 OBJ_ATTR_KCV = 371 OBJ_ATTR_WRAP_WITH_TRUSTED = 528 OBJ_ATTR_WRAP_TEMPLATE = 1073742353 OBJ_ATTR_UNWRAP_TEMPLATE = 1073742354 OBJ_ATTR_ALL = 512

O segundo comando usa getAttribute para obter o valor do atributo extraível da chave com o identificadorde chave 262170 nos HSMs. Para especificar o atributo extraível, o comando usa 354, a constante querepresenta o atributo. Como o comando não especifica um nome de arquivo, getAttribute grava a saída emstdout.

A saída mostra que o valor do atributo extraível é 1 em todos os HSMs. Esse valor indica que o proprietárioda chave pode exportá-la. Quando o valor é 0 (0x0), ele não pode ser exportado dos HSMs. Você define ovalor do atributo extraível ao criar uma chave, mas não pode alterá-la.

aws-cloudhsm> getAttribute 262170 354

Attribute Value on server 0(10.0.1.10):OBJ_ATTR_EXTRACTABLE0x00000001

Attribute Value on server 1(10.0.1.12):OBJ_ATTR_EXTRACTABLE0x00000001

Attribute Value on server 2(10.0.1.7):OBJ_ATTR_EXTRACTABLE0x00000001

106

Page 113: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Arguments

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

getAttribute <key handle> <attribute id> [<filename>]

<key handle>

Especifica o identificador da chave de destino. Você pode especificar apenas uma chave em cadacomando. Para obter o identificador de chave de uma chave, use findKey (p. 151) na key_mgmt_util.

Você deve ter a chave especificada ou ela deve ser compartilhada com você. Para encontrar osusuários de uma chave, use getKeyInfo (p. 179) na key_mgmt_util.

Obrigatório Sim.<attribute id>

Identifica o atributo. Insira uma constante que represente um atributo, ou 512, que represente todosos atributos. Por exemplo, para obter o tipo de chave, insira 256, que é a constante para o atributoOBJ_ATTR_KEY_TYPE.

Para listar os atributos e suas constantes, use listAttributes (p. 198). Para ajudar a interpretar osatributos de chave, consulte Referência de atributos de chave (p. 216).

Obrigatório Sim.filename.

Grava a saída no arquivo especificado. Insira um caminho de arquivo.

Se o arquivo especificado existir, getAttribute substitui o arquivo sem aviso prévio.

Obrigatório : não

Padrão: * Saída

Tópicos relacionados

• getAttribute (p. 174) na key_mgmt_util• listAttributes (p. 115)• setAttribute (p. 121) na cloudhsm_mgmt_util• setAttribute (p. 202) na key_mgmt_util• Referência de atributos de chave (p. 216)

getCertCom o comando getCert na cloudhsm_mgmt_util, é possível recuperar os certificados de um HSMespecífico em um cluster. Ao executar o comando, será designado o tipo de certificado a ser recuperado.Para fazer isso, use um dos inteiros correspondentes, conforme descrito na seção Argumentos (p. 108)abaixo. Para saber mais sobre a função de cada um desses certificados, consulte Verificar a identidade doHSM (p. 24).

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

107

Page 114: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs usuários a seguir podem executar este comando.

• Todos os usuários.

Pré-requisitosAntes de começar, você deve inserir o modo de servidor no HSM de destino. Para obter mais informações,consulte servidor (p. 119).

SintaxePara usar o comando getCert depois que estiver em modo de servidor:

server> getCert <file-name> <certificate-type>

ExemploPrimeiro, insira o modo de servidor. Esse comando insere o modo de servidor em um HSM com o servidornúmero 0.

aws-cloudhsm> server 0

Server is in 'E2' mode...

Depois, use o comando getCert. Neste exemplo, usamos /tmp/PO.crt como o nome do arquivo no qualo certificado será salvo e 4 (Certificado raiz do cliente) como o tipo de certificado desejado:

server0> getCert /tmp/PO.crt 4getCert Success

Argumentos

getCert <file-name> <certificate-type>

<file-name>

Especifica o nome do arquivo no qual o certificado será salvo.

Obrigatório: sim<certificate-type>

Um inteiro que especifica o tipo de certificado a ser recuperado. Os inteiros e seus tipos de certificadocorrespondentes são os seguintes:• 1 – Certificado raiz do fabricante• 2 – Certificado de hardware do fabricante• 4 – Certificado raiz do cliente• 8 – Certificado do cluster (assinado pelo Certificado raiz do cliente)• 16 – Certificado do cluster (encadeado ao Certificado raiz do fabricante)

108

Page 115: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Obrigatório: sim

Tópicos relacionados

• Iniciar cloudhsm_mgmt_util (p. 88)• server (p. 119)

getHSMInfoO comando getHSMInfo na cloudhsm_mgmt_util obtém informações sobre o hardware no qual cadaHSM é executado, incluindo o modelo, o número de série, o estado FIPS, a memória, a temperatura e osnúmeros de versão do hardware e do firmware. As informações também incluem o ID de servidor que acloudhsm_mgmt_util usa para fazer referência ao HSM.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Todos os usuários. Você não tem que estar conectado para executar esse comando.

SintaxeEsse comando não possui parâmetros.

getHSMInfo

ExemploEste exemplo usa getHSMInfo para obter informações sobre os HSMs no cluster.

aws-cloudhsm> getHSMInfoGetting HSM Info on 3 nodes *** Server 0 HSM Info ***

Label :cavium Model :NITROX-III CNN35XX-NFBE

Serial Number :3.0A0101-ICM000001 HSM Flags :0 FIPS state :2 [FIPS mode with single factor authentication]

Manufacturer ID : Device ID :10 Class Code :100000 System vendor ID :177D SubSystem ID :10

TotalPublicMemory :560596

109

Page 116: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

FreePublicMemory :294568 TotalPrivateMemory :0 FreePrivateMemory :0

Hardware Major :3 Hardware Minor :0

Firmware Major :2 Firmware Minor :03

Temperature :56 C

Build Number :13

Firmware ID :xxxxxxxxxxxxxxx

...

Tópicos relacionados

• info (p. 114)

getKeyInfoO comando getKeyInfo na key_mgmt_util retorna os IDs de usuário do HSM dos usuários que podem usara chave, incluindo o proprietário e os usuários de criptografia (CU) com quem a chave é compartilhada.Quando a autenticação de quorum está habilitada em uma chave, getKeyInfo também retorna o númerode usuários que devem aprovar as operações criptográficas que usam essa chave. Você pode executargetKeyInfo somente nas chaves que possui e em chaves que são compartilhadas com você.

Quando você executa getKeyInfo em chaves públicas, getKeyInfo retorna apenas o proprietário dachave, mesmo que todos os usuários do HSM possam usar a chave pública. Para localizar os IDs deusuário do HSM nos seus HSMs, use listUsers (p. 199). Para encontrar as chaves de um usuárioespecífico, use findKey (p. 151) -u na key_mgmt_util. Os responsáveis pela criptografia podem usarfindAllKeys (p. 102) na cloudhsm_mgmt_util.

Você possui as chaves que cria. Você pode compartilhar uma chave com outros usuários ao criá-la.Em seguida, para compartilhar ou descompartilhar uma chave existente, use shareKey (p. 125) emcloudhsm_mgmt_util.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os seguintes tipos de usuários podem executar este comando.

• Usuários de criptografia (CU)

Sintaxe

getKeyInfo -k <key-handle> [<output file>]

110

Page 117: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exemplos

Esses exemplos mostram como usar getKeyInfo para obter informações sobre os usuários de uma chave.

Example : Obter os usuários para uma chave assimétrica

Esse comando obtém os usuários que podem usar a chave AES (assimétrica) com o identificador de chave262162. A saída mostra que o usuário 3 possui a chave e a compartilhou com os usuários 4 e 6.

Somente os usuários 3, 4 e 6 podem executar getKeyInfo na chave 262162.

aws-cloudhsm>getKeyInfo 262162Key Info on server 0(10.0.0.1):

Token/Flash Key,

Owned by user 3

also, shared to following 2 user(s):

4 6Key Info on server 1(10.0.0.2):

Token/Flash Key,

Owned by user 3

also, shared to following 2 user(s):

4 6

Example : Obter usuários para um par de chaves simétricas

Esses comandos usam getKeyInfo para obter os usuários que podem usar as chaves em um par dechaves ECC (simétrico) (p. 169). A chave pública possui o identificador de chave 262179. A chaveprivada possui o identificador de chave 262177.

Quando você executa getKeyInfo na chave privada (262177), ele retorna o proprietário da chave (3) e osusuários de criptografia (CUs) 4, com quem a chave é compartilhada.

aws-cloudhsm>getKeyInfo -k 262177Key Info on server 0(10.0.0.1):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4Key Info on server 1(10.0.0.2):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4

111

Page 118: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Quando você executa getKeyInfo na chave pública (262179), ele retorna apenas o proprietário da chave, ousuário 3.

aws-cloudhsm>getKeyInfo -k 262179Key Info on server 0(10.0.3.10):

Token/Flash Key,

Owned by user 3

Key Info on server 1(10.0.3.6):

Token/Flash Key,

Owned by user 3

Para confirmar que o usuário 4 pode usar a chave pública (e todas as chaves públicas no HSM), use oparâmetro -u de findKey (p. 151) na key_mgmt_util.

A saída mostra que o usuário 4 pode usar tanto a chave pública (262179) quanto a privada (262177)no par de chaves. O Usuário 4 também pode usar todas as outras chaves públicas e quaisquer chavesprivadas que ele tenha criado ou que tenha sido compartilhada com ele.

Command: findKey -u 4

Total number of keys present 8

number of keys matched from start index 0::711, 12, 262159, 262161, 262162, 19, 20, 21, 262177, 262179

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Example : Obter o valor de autenticação de quorum (m_value) para uma chave

Este exemplo mostra como obter o m_value para uma chave. O m_value é o número de usuários noquorum que deve aprovar todas as operações criptográficas que usam a chave e as operações paracompartilhar e descompartilhar a chave.

Quando a autenticação de quorum está habilitada em uma chave, um quorum de usuários deve aprovartodas as operações criptográficas que usam essa chave. Para habilitar a autenticação de quorum e definiro tamanho do quorum, use o parâmetro -m_value ao criar a chave.

Este comando usa genSymKey (p. 169) para criar uma chave AES de 256 bits compartilhada com ousuário 4. Ele usa o parâmetro m_value para habilitar a autenticação de quorum e definir o tamanhodo quorum para dois usuários. O número de usuários deve ser grande o suficiente para fornecer asaprovações necessárias.

A saída mostra que o comando criou a chave 10.

Command: genSymKey -t 31 -s 32 -l aes256m2 -u 4 -m_value 2

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 10

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

112

Page 119: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Este comando usa getKeyInfo na cloudhsm_mgmt_util para obter informações sobre os usuários da chave10. A saída mostra que a chave é de propriedade do usuário 3 e compartilhada com o usuário 4. Tambémmostra que um quorum de dois usuários deve aprovar todas as operações criptográficas que usam achave.

aws-cloudhsm>getKeyInfo 10

Key Info on server 0(10.0.0.1):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4 2 Users need to approve to use/manage this keyKey Info on server 1(10.0.0.2):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4 2 Users need to approve to use/manage this key

Argumentos

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

getKeyInfo -k <key-handle> <output file>

<key-handle>

Especifica o identificador da chave no HSM. Insira o identificador de uma chave que você possui oucompartilha. Esse parâmetro é obrigatório.

Exigido: sim<output file>

Grava a saída no arquivo especificado, em vez de em stdout. Se o arquivo existir, o comando osubstituirá sem aviso prévio.

Exigido: Não

Padrão: stdout

Tópicos relacionados

• getKeyInfo (p. 179) na key_mgmt_util• findKey (p. 151) na key_mgmt_util• findAllKeys (p. 102) na cloudhsm_mgmt_util• listUsers (p. 116)• shareKey (p. 125)

113

Page 120: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

infoO comando info na cloudhsm_mgmt_util obtém informações sobre cada um dos HSMs no cluster,incluindo o nome do host, a porta, o endereço IP e o nome e tipo do usuário que está conectado àcloudhsm_mgmt_util no HSM.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Todos os usuários. Você não tem que estar conectado para executar esse comando.

SintaxeComo esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

info server <server ID>

ExemploEste exemplo usa info para obter informações sobre um HSM no cluster. O comando usa 0 para se referirao primeiro HSM do cluster. A saída mostra o endereço IP, a porta e o tipo e nome do usuário atual.

aws-cloudhsm> info server 0Id Name Hostname Port State Partition LoginState0 10.0.0.1 10.0.0.1 2225 Connected hsm-udw0tkfg1ab Logged in as 'testuser(CU)'

ArgumentosComo esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

info server <server ID>

<server id>

Especifica o ID do servidor do HSM. Os HSMs recebem números ordinais que representam a ordemem que são adicionados ao cluster, começando com 0. Para encontrar o ID de servidor de um HSM,use getHSMInfo.

Exigido: sim

Tópicos relacionados

• getHSMInfo (p. 109)

114

Page 121: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• loginHSM e logoutHSM (p. 117)

listAttributesO comando listAttributes na cloudhsm_mgmt_util lista os atributos de uma chave do AWS CloudHSM e asconstantes que os representam. Você usa essas constantes para identificar os atributos nos comandosgetAttribute (p. 105) e setAttribute (p. 121).

Para ajudar a interpretar os atributos de chave, consulte Referência de atributos de chave (p. 216).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Tipo de usuárioOs usuários a seguir podem executar este comando.

• Todos os usuários. Você não tem que estar conectado para executar esse comando.

Syntax

listAttributes [-h]

ExampleEste comando lista os principais atributos que você pode obter e alterar na key_mgmt_util, bem como asconstantes que os representam. Para ajudar a interpretar os atributos de chave, consulte Referência deatributos de chave (p. 216). Para representar todos os atributos, utilize 512.

Command: listAttributes

Description===========The following are all of the possible attribute values for getAttribute.

OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_TRUSTED = 134 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_DERIVE = 268 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_NEVER_EXTRACTABLE = 356 OBJ_ATTR_ALWAYS_SENSITIVE = 357 OBJ_ATTR_DESTROYABLE = 370

115

Page 122: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

OBJ_ATTR_KCV = 371 OBJ_ATTR_WRAP_WITH_TRUSTED = 528 OBJ_ATTR_WRAP_TEMPLATE = 1073742353 OBJ_ATTR_UNWRAP_TEMPLATE = 1073742354 OBJ_ATTR_ALL = 512

Parameters

-h

Exibe a ajuda referente ao comando.

Exigido: sim

Tópicos relacionados

• getAttribute (p. 105)• setAttribute (p. 121)• Referência de atributos de chave (p. 216)

listUsersO comando listUsers na cloudhsm_mgmt_util obtém os usuários em cada um dos HSMs, juntamente comseu tipo de usuário e outros atributos. Todos os tipos de usuários podem executar esse comando. Vocênem precisa estar conectado à cloudhsm_mgmt_util para executar esse comando.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Todos os usuários. Você não precisa estar conectado para executar esse comando.

SintaxeEsse comando não possui parâmetros.

listUsers

ExemploEsse comando lista os usuários em cada um dos HSMs no cluster e exibe seus atributos. Você podeusar o atributo User ID para identificar usuários em outros comandos, como deleteUser, changePswd efindAllKeys.

aws-cloudhsm> listUsersUsers on server 0(10.0.0.1):

116

Page 123: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Number of users found:6

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CU crypto_user1 NO 0 NO 4 CU crypto_user2 NO 0 NO 5 CO officer1 YES 0 NO 6 CO officer2 NO 0 NOUsers on server 1(10.0.0.2):Number of users found:5

User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PCO admin YES 0 NO 2 AU app_user NO 0 NO 3 CU crypto_user1 NO 0 NO 4 CU crypto_user2 NO 0 NO 5 CO officer1 YES 0 NO

A saída inclui os seguintes atributos do usuário:

• User ID: identifica o usuário em comandos da key_mgmt_util e do cloudhsm_mgmt_util (p. 83).• User type (p. 11): determina as operações que o usuário pode executar no HSM.• User Name: exibe o nome amigável definido pelo usuário para o usuário.• MofnPubKey: indica se o usuário registrou um par de chaves para assinar tokens de autenticação de

quorum (p. 69).• LoginFailureCnt: indica o número de vezes que o usuário não conseguiu fazer login.• 2FA: indica que o usuário habilitou a autenticação multifator.

Tópicos relacionados

• listUsers (p. 199) na key_mgmt_util• createUser (p. 96)• deleteUser (p. 99)• changePswd (p. 92)

loginHSM e logoutHSMVocê pode usar os comandos loginHSM e logoutHSM na cloudhsm_mgmt_util para fazer login e logout decada HSM em um cluster. Qualquer usuário de qualquer tipo pode usar esses comandos.

Note

Se você exceder cinco tentativas incorretas de login, sua conta será bloqueada. Se você criouseu cluster antes de fevereiro de 2018, sua conta será bloqueada após 20 tentativas incorretas

117

Page 124: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

de login. Para desbloquear a conta, um responsável pela criptografia (CO) precisará redefinir suasenha usando o comando changePswd (p. 92) no cloudhsm_mgmt_util.Se você tiver mais de um HSM no cluster, pode ser que mais tentativas de login sejam permitidasantes de a sua conta ser bloqueada. Isso pode ocorrer porque o cliente do CloudHSM divide acarga entre vários HSMs. Sendo assim, pode ser que as tentativas de login não comecem sempreno mesmo HSM. Se você estiver testando essa funcionalidade, recomendamos fazer isso em umcluster com apenas um HSM ativo.

Antes de executar esses comandos da cloudhsm_mgmt_util, você deve iniciarcloudhsm_mgmt_util (p. 88).

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas em todos os HSMs no cluster.

Tipo de usuárioOs usuários a seguir podem executar esses comandos.

• Responsável pela pré-criptografia (PRECO)• Responsável pela criptografia (CO)• Usuário de criptografia (CU)

SyntaxIntroduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetropara mascarar a sua palavra-passe. Para obter mais informações, consulte the section called“Arguments” (p. 119).

loginHSM <user-type> <user-name> <password |-hpswd>

logoutHSM

ExamplesEsses exemplos mostram como usar loginHSM e logoutHSM para fazer login e logout de todos os HSMsem um cluster.

Example : fazer login no HSMs em um cluster

Este comando regista-o em todos os hsms num grupo com as credenciais de um utilizador CO nomeadoadmin e uma palavra-passe de co12345. A saída mostra que o comando foi bem sucedido e que ligouaos hsms (que, neste caso, são server 0 e server 1).

aws-cloudhsm>loginHSM CO admin co12345

loginHSM success on server 0(10.0.2.9)loginHSM success on server 1(10.0.3.11)

Example : Inicie sessão com uma palavra-passe oculta

Este comando é o mesmo que o exemplo acima, excepto quando especificar que o sistema deve ocultar apalavra-passe.

aws-cloudhsm>loginHSM CO admin -hpswd

118

Page 125: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O sistema pede-lhe a sua palavra-passe. Você introduz a palavra-passe, o sistema oculta a palavra-passee a saída mostra que o comando foi bem sucedido e que ligou ao hsms.

Enter password:

loginHSM success on server 0(10.0.2.9)loginHSM success on server 1(10.0.3.11)

aws-cloudhsm>

Example : fazer logout de um HSM

Este comando termina-o dos hsms que tem atualmente com sessão iniciada (que, neste caso, são server0 e server 1). A saída mostra que o comando foi bem sucedido e que desligou dos hsms.

aws-cloudhsm>logoutHSM

logoutHSM success on server 0(10.0.2.9)logoutHSM success on server 1(10.0.3.11)

Arguments

Introduza os argumentos na ordem especificada no diagrama de sintaxe. Utilize o -hpswd parâmetro paramascarar a sua palavra-passe.

loginHSM <user-type> <user-name> <password |-hpswd>

<user type>

Especifica o tipo de usuário que fez login nos HSMs. Para obter mais informações, consulte Tipo deusuário (p. 118) acima.

Obrigatório Sim.<user name>

Especifica o nome do usuário que fez login nos HSMs.

Obrigatório Sim.<palavra-passe | -hpswd >

Especifica a senha do usuário que fez login nos HSMs. Para ocultar a sua palavra-passe, utilize o -hpswd parâmetro em vez da palavra-passe e siga a indicação.

Obrigatório Sim.

Tópicos relacionados

• Conceitos básicos do () cloudhsm_mgmt_util (p. 84)• Ativar o cluster (p. 37)

serverNormalmente, ao emitir um comando na cloudhsm_mgmt_util, o comando afeta todos os HSMs nocluster designado (modo global). No entanto, pode haver circunstâncias para as quais você precisa emitir

119

Page 126: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

comandos para um único HSM. Por exemplo, se a sincronização automática falhar, poderá ser necessáriosincronizar chaves e usuários em um HSM para manter a consistência em todo o cluster. É possível usar ocomando server na cloudhsm_mgmt_util para entrar no modo de servidor e interagir diretamente com umainstância específica do HSM.

Após o início bem-sucedido, o prompt de comando aws-cloudhsm> será substituído pelo prompt decomando server>.

Para usar sair do modo de servidor, use o comando exit. Após a saída bem-sucedida, você seráredirecionado ao prompt de comando da cloudhsm_mgmt_util.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88).

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Todos os usuários.

Pré-requisitos

Para entrar no modo de servidor, será necessário primeiro saber o número do servidor do HSM de destino.Os números do servidor são listados na saída de rastreamento gerada pela cloudhsm_mgmt_util após seriniciada. Os números do servidor são atribuídos na mesma ordem em que os HSMs aparecem no arquivode configuração. Para este exemplo, supomos que server 0 seja o servidor que corresponde ao HSMdesejado.

Sintaxe

Para iniciar o modo de servidor:

server <server-number>

Para sair do modo de servidor:

server> exit

Exemplo

Esse comando insere o modo de servidor em um HSM com o servidor número 0.

aws-cloudhsm> server 0

Server is in 'E2' mode...

Para sair do modo de servidor, use o comando exit.

server0> exit

Argumentos

server <server-number>

120

Page 127: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

<server-number>

Especifica o número do servidor do HSM de destino.

Exigido: sim

Não há argumentos para o comando exit.

Tópicos relacionados

• Iniciar cloudhsm_mgmt_util (p. 88)• syncKey (p. 127)• createUser (p. 96)• deleteUser (p. 99)

setAttributeO comando setAttribute na cloudhsm_mgmt_util altera o valor dos atributos de rótulo, criptografia,descriptografia, encapsulamento e desencapsulamento de uma chave nos HSMs. Você também pode usaro comando setAttribute (p. 202) na key_mgmt_util para converter uma chave de sessão em uma chavepersistente. Você só pode alterar os atributos das chaves que possui.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Usuários de criptografia (CU)

Syntax

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

setAttribute <key handle> <attribute id>

Example

Esse exemplo mostra como desabilitar a funcionalidade de descriptografia de uma chave simétrica. Épossível usar um comando como esse para configurar uma chave de encapsulamento, que deve ser capazde encapsular e desencapsular outras chaves, mas não de criptografar ou descriptografar dados.

A primeira etapa é criar a chave de encapsulamento. Esse comando usa genSymKey (p. 169) nakey_mgmt_util para gerar uma chave simétrica AES de 256 bits. A saída mostra que a nova chave tem oidentificador de chave 14.

$ genSymKey -t 31 -s 32 -l aes256

121

Page 128: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 14

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Em seguida, queremos confirmar o valor atual do atributo de descriptografia. Para obter o ID do atributode descriptografia, use listAttributes (p. 115). A saída mostra que a constante que representa o atributoOBJ_ATTR_DECRYPT é 261. Para ajudar a interpretar os atributos de chave, consulte Referência deatributos de chave (p. 216).

aws-cloudhsm> listAttributes

Following are the possible attribute values for getAttribute:

OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_TRUSTED = 134 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_DERIVE = 268 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_NEVER_EXTRACTABLE = 356 OBJ_ATTR_ALWAYS_SENSITIVE = 357 OBJ_ATTR_DESTROYABLE = 370 OBJ_ATTR_KCV = 371 OBJ_ATTR_WRAP_WITH_TRUSTED = 528 OBJ_ATTR_WRAP_TEMPLATE = 1073742353 OBJ_ATTR_UNWRAP_TEMPLATE = 1073742354 OBJ_ATTR_ALL = 512

Para obter o valor atual do atributo de descriptografia para a chave 14, o próximo comando usagetAttribute (p. 105) na cloudhsm_mgmt_util.

A saída mostra que o valor do atributo decrypt é true (1) em ambos os HSMs no cluster.

aws-cloudhsm> getAttribute 14 261 Attribute Value on server 0(10.0.0.1):OBJ_ATTR_DECRYPT0x00000001

Attribute Value on server 1(10.0.0.2):OBJ_ATTR_DECRYPT0x00000001

122

Page 129: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Este comando utiliza setAttribute para alterar o valor do atributo desencripto (atributo 261) da chave 14para 0. Isto desativa a funcionalidade desencriptada na chave.

A saída mostra que o comando foi bem-sucedido em ambos HSMs no cluster.

aws-cloudhsm> setAttribute 14 261 0*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)? ysetAttribute success on server 0(10.0.0.1)setAttribute success on server 1(10.0.0.2)

O comando final repete o comando getAttribute. Novamente, ele obtém o atributo de descriptografia(atributo 261) da chave 14.

Dessa vez, a saída mostra que o valor do atributo de descriptografia é false (0) em ambos os HSMs nocluster.

aws-cloudhsm>getAttribute 14 261Attribute Value on server 0(10.0.3.6):OBJ_ATTR_DECRYPT0x00000000

Attribute Value on server 1(10.0.1.7):OBJ_ATTR_DECRYPT0x00000000

Arguments

setAttribute <key handle> <attribute id>

<key handle>

Especifica o identificador de uma chave que você possui. Você pode especificar apenas uma chaveem cada comando. Para obter o identificador de chave de uma chave, use findKey (p. 151) nakey_mgmt_util. Para encontrar os usuários de uma chave, use getKeyInfo (p. 110).

Obrigatório Sim.<attribute id>

Especifica a constante que representa o atributo que você deseja alterar. Você pode especificarapenas uma atributo em cada comando. Para obter os atributos e seus valores inteiros, uselistAttributes (p. 198). Para ajudar a interpretar os atributos de chave, consulte Referência deatributos de chave (p. 216).

Valores válidos: {, }• 3 – OBJ_ATTR_LABEL.• 134 – OBJ_ATTR_TRUSTED.• 260 – OBJ_ATTR_ENCRYPT.• 261 – OBJ_ATTR_DECRYPT.• 262 – OBJ_ATTR_WRAP.

123

Page 130: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• 263 – OBJ_ATTR_UNWRAP.• 264 – OBJ_ATTR_SIGN.• 266 – OBJ_ATTR_VERIFY.• 268 – OBJ_ATTR_DERIVE.• 370 – OBJ_ATTR_DESTROYABLE.• 528 – OBJ_ATTR_WRAP_WITH_TRUSTED.• 1073742353 – OBJ_ATTR_WRAP_TEMPLATE.• 1073742354 – OBJ_ATTR_UNWRAP_TEMPLATE.

Obrigatório Sim.

Tópicos relacionados

• setAttribute (p. 202) na key_mgmt_util• getAttribute (p. 105)• listAttributes (p. 115)• Referência de atributos de chave (p. 216)

sairO comando quit na cloudhsm_mgmt_util sai da cloudhsm_mgmt_util. Qualquer usuário de qualquer tipopode usar esse comando.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88).

Tipo de usuário

Os usuários a seguir podem executar este comando.

• Todos os usuários. Você não precisa estar conectado para executar esse comando.

Sintaxe

quit

Exemplo

Esse comando sai da cloudhsm_mgmt_util. Após a conclusão bem-sucedida, você será redirecionado parasua linha de comando normal. Esse comando não possui parâmetros de saída.

aws-cloudhsm> quit

disconnecting from servers, please wait...

Tópicos relacionados

• Conceitos básicos do cloudhsm_mgmt_util (p. 84)• Iniciar cloudhsm_mgmt_util (p. 88)

124

Page 131: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

shareKeyO comando shareKey na cloudhsm_mgmt_util compartilha e descompartilha chaves que você possui comoutros usuários de criptografia. Somente o proprietário da chave pode compartilhá-la e descompartilhá-la.Você também pode compartilhar uma chave ao criá-la.

Os usuários que compartilham a chave podem usá-la em operações criptográficas, mas não podemexcluir, exportar, compartilhar ou descompartilhar essa chave, nem alterar seus atributos. Quando aautenticação de quorum está habilitada em uma chave, o quorum deve aprovar todas as operações quecompartilham ou descompartilham a chave.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os seguintes tipos de usuários podem executar este comando.

• Usuários de criptografia (CU)

Sintaxe

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

Tipo de usuário: Usuário de criptografia (CU)

shareKey <key handle> <user id> <(share/unshare key?) 1/0>

Exemplo

Os exemplos a seguir mostram como usar shareKey para compartilhar e descompartilhar as chaves quevocê possui com outros usuários de criptografia.

Example : Compartilhar uma chave

Este exemplo usa shareKey para compartilhar uma chave privada ECC (p. 169) que o usuário atualpossui com outro usuário de criptografia no HSMs. Chaves públicas estão disponíveis para todos osusuários do HSM e, portanto, você não pode compartilhá-las ou descompartilhá-las.

O primeiro comando usa getKeyInfo (p. 110) para obter as informações do usuário para a chave 262177,uma chave privada ECC nos HSMs.

A saída mostra que a chave 262177 é de propriedade do usuário 3, mas não é compartilhada.

aws-cloudhsm>getKeyInfo 262177

Key Info on server 0(10.0.3.10):

Token/Flash Key,

125

Page 132: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Owned by user 3

Key Info on server 1(10.0.3.6):

Token/Flash Key,

Owned by user 3

Esse exemplo usa shareKey para compartilhar a chave 262177 com o usuário 4, outro usuáriode criptografia nos HSMs. O argumento final usa um valor de 1 para indicar uma operação decompartilhamento.

A saída mostra que a operação foi bem-sucedida em ambos os HSMs no cluster.

aws-cloudhsm>shareKey 262177 4 1*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yshareKey success on server 0(10.0.3.10)shareKey success on server 1(10.0.3.6)

Para verificar se a operação foi bem-sucedida, o exemplo repete o primeiro comando getKeyInfo.

A saída mostra que a chave 262177 agora é compartilhada com o usuário 4.

aws-cloudhsm>getKeyInfo 262177

Key Info on server 0(10.0.3.10):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4Key Info on server 1(10.0.3.6):

Token/Flash Key,

Owned by user 3

also, shared to following 1 user(s):

4

Example : Descompartilhar uma chave

Esse exemplo não compartilha uma chave simétrica, ou seja, ele remove um usuário de criptografia dalista de usuários compartilhados para a chave.

Esse comando usa shareKey para remover o usuário 4da lista de usuários compartilhados para a chave 6.O argumento final usa um valor de 0 para indicar uma operação não compartilhada.

A saída mostra que o comando foi bem-sucedido em ambos os HSMs. Como resultado, o usuário 4 nãopode mais usar a chave 6 em operações criptográficas.

126

Page 133: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

aws-cloudhsm>shareKey 6 4 0*************************CAUTION********************************This is a CRITICAL operation, should be done on all nodes in thecluster. Cav server does NOT synchronize these changes with thenodes on which this operation is not executed or failed, pleaseensure this operation is executed on all nodes in the cluster.****************************************************************

Do you want to continue(y/n)?yshareKey success on server 0(10.0.3.10)shareKey success on server 1(10.0.3.6)

ArgumentosComo esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

shareKey <key handle> <user id> <(share/unshare key?) 1/0>

<key-handle>

Especifica o identificador de uma chave que você possui. Você pode especificar apenas uma chaveem cada comando. Para obter o identificador de chave de uma chave, use findKey (p. 151) nakey_mgmt_util. Para verificar se você possui uma chave, use getKeyInfo (p. 110).

Exigido: sim<user id>

Especifica o ID do usuário de criptografia (CU) com quem você está compartilhando oudescompartilhando a chave. Para encontrar o ID de um usuário, use listUsers (p. 116).

Exigido: sim<share 1 or unshare 0>

Para compartilhar a chave com o usuário especificado, digite 1. Para descompartilhar a chave, isto é,para remover o usuário especificado da lista de usuários compartilhados da chave, digite 0.

Exigido: sim

Tópicos relacionados

• getKeyInfo (p. 110)

syncKeyVocê pode usar o comando syncKey na cloudhsm_mgmt_util para sincronizar manualmente as chavesem instâncias do HSM em um cluster ou entre clusters clonados. Em geral, você não precisa usaresse comando, pois as instâncias do HSM em um cluster sincronizam as chaves automaticamente. Noentanto, a sincronização de chaves entre clusters clonados deve ser feita manualmente. Para simplificar aescalabilidade global e os processos de recuperação de desastres, os clusters clonados normalmente sãocriados em regiões diferentes da AWS.

Você não pode usar syncKey para sincronizar chaves entre clusters arbitrários: um dos clusters deve tersido criado a partir de um backup do outro. Além disso, para que a operação seja bem-sucedida, os doisclusters devem ter credenciais CO e CU consistentes. Para obter mais informações, consulte Usuários doHSM (p. 11).

127

Page 134: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Para usar syncKey, primeiro você deve criar um arquivo de configuração do AWS CloudHSM (p. 90)que especifique um HSM do cluster de origem e um do cluster de destino. Isso permitirá que acloudhsm_mgmt_util se conecte às duas instâncias do HSM. Use esse arquivo de configuração para iniciara cloudhsm_mgmt_util (p. 88). Depois, faça login (p. 89) usando as credenciais de um CO ou de umCU que tenha as chaves que você deseja sincronizar.

Tipo de usuárioOs seguintes tipos de usuários podem executar este comando.

• Responsáveis pela criptografia (CO)• Usuários de criptografia (CU)

Note

Os COs podem usar syncKey em qualquer chave; enquanto os CUs só podem usar essecomando em chaves que possuem. Para obter mais informações, consulte Usuários doHSM (p. 11).

Pré-requisitosAntes de começar, você deve saber o key handle da chave no HSM de origem a ser sincronizada com oHSM de destino. Para encontrar o key handle, use o comando listUsers (p. 116) para relacionar todosos identificadores dos usuários nomeados. Depois, use o comando findAllKeys (p. 102) para encontrartodas as chaves que pertencem a um determinado usuário.

Você também precisa saber os server IDs atribuídos aos HSMs de origem e de destino, que sãomostrados no resultado de rastreamento retornado pela cloudhsm_mgmt_util na inicialização. Eles sãoatribuídos na mesma ordem em que os HSMs aparecem no arquivo de configuração.

Siga as instruções em Uso da cloudhsm_mgmt_util entre clusters clonados (p. 90) e inicialize acloudhsm_mgmt_util com o novo arquivo de configuração. Depois, entre no modo de servidor no HSM deorigem emitindo o comando server (p. 119).

SintaxeNote

Para executar syncKey, primeiro entre no modo de servidor no HSM que contém a chave a sersincronizada.

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

Tipo de usuário: usuário de criptografia (CU)

syncKey <key handle> <destination hsm>

ExemploExecute o comando server para fazer login no HSM de origem e digite o modo do servidor. Para esteexemplo, estamos supondo que server 0 é o HSM de origem.

aws-cloudhsm> server 0

Agora, execute o comando syncKey. Neste exemplo, estamos supondo que 261251 deve ser sincronizadocom a chave server 1.

128

Page 135: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

aws-cloudhsm> syncKey 261251 1syncKey success

Argumentos

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

syncKey <key handle> <destination hsm>

<key handle>

Especifica o identificador de chave da chave a ser sincronizada. Você pode especificar apenasuma chave em cada comando. Para obter o identificador de uma chave, use findAllKeys (p. 102)enquanto estiver conectado a um servidor do HSM.

Exigido: sim<destination hsm>

Especifica o número do servidor com o qual você está sincronizando uma chave.

Exigido: sim

Tópicos relacionados

• listUsers (p. 116)• findAllKeys (p. 102)• describe-clusters na AWS CLI• server (p. 119)

syncUserVocê pode usar o comando syncUser na cloudhsm_mgmt_util para sincronizar manualmente os usuáriosde criptografia (CUs) ou os responsáveis pela criptografia (COs) em instâncias do HSM em um cluster ouentre clusters clonados. O AWS CloudHSM não sincroniza os usuários automaticamente. Em geral, vocêgerencia usuários no modo global para que todos os HSMs em um cluster sejam atualizados em conjunto.Talvez você precise usar syncUser se um HSM for dessincronizado acidentalmente (por exemplo, devidoa alterações de senha) ou se você desejar alternar as credenciais de usuário em clusters clonados. Parasimplificar a escalabilidade global e os processos de recuperação de desastres, os clusters clonadosnormalmente são criados em regiões diferentes da AWS.

Antes de executar qualquer comando da cloudhsm_mgmt_util, você deve iniciar acloudhsm_mgmt_util (p. 88) e fazer login (p. 89) no HSM. Certifique-se de fazer login com o tipo deconta de usuário que possa executar os comandos que você planeja usar.

Se você adicionar ou excluir HSMs, atualize os arquivos de configuração (p. 84) que são usados peloAWS CloudHSM cliente e as ferramentas da linha de comando. Caso contrário, as alterações que vocêfizer podem não ser efetivas para todos os HSMs no cluster.

Tipo de usuário

Os seguintes tipos de usuários podem executar este comando.

• Responsáveis pela criptografia (CO)

129

Page 136: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Pré-requisitos

Antes de começar, você deve saber o user ID do usuário no HSM de origem a ser sincronizado como HSM de destino. Para localizar o user ID, use o comando listUsers (p. 116) para listar todos osusuários nos HSMs em um cluster.

Você também precisa saber o server ID atribuído aos HSMs de origem e de destino, que são mostradosna saída do rastreamento retornado pelo cloudhsm_mgmt_util na inicialização. Eles são atribuídos namesma ordem em que os HSMs aparecem no arquivo de configuração.

Se você estiver sincronizando HSMs entre clusters clonados, siga as instruções em Uso docloudhsm_mgmt_util entre clusters clonados (p. 90) e inicialize acloudhsm_mgmt_util com o novoarquivo de configuração.

Quando estiver pronto para executar syncUser, entre no modo de servidor do HSM de origem emitindo ocomando server (p. 119).

Sintaxe

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

syncUser <user ID> <server ID>

Exemplo

Execute o comando server para fazer login no HSM de origem e entrar no modo de servidor. Para esteexemplo, estamos supondo que server 0 é o HSM de origem.

aws-cloudhsm> server 0

Agora, execute o comando syncUser. Para este exemplo, estamos supondo que o usuário 6 é o usuário aser sincronizado e que server 1 é o HSM de destino.

server 0> syncUser 6 1ExtractMaskedObject: 0x0 !InsertMaskedObject: 0x0 !syncUser success

Argumentos

Como esse comando não tem parâmetros específicos, insira os argumentos na ordem especificada nodiagrama de sintaxe.

syncUser <user ID> <server ID>

<user ID>

Especifica o ID do usuário a ser sincronizado. Você pode especificar apenas um usuário em cadacomando. Para obter o ID de um usuário, use listUsers (p. 116).

Obrigatório: sim<server ID>

Especifica o número do servidor do HSM com o qual você está sincronizando um usuário.

130

Page 137: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuáriokey_mgmt_util

Obrigatório: sim

Tópicos relacionados

• listUsers (p. 116)• describe-clusters na AWS CLI• server (p. 119)

key_mgmt_utilA ferramenta de linha de comando key_mgmt_util ajuda os usuários criptográficos (CU) a gerenciarchaves nos HSMs. Ela inclui vários comandos que geram, excluem, importam e exportam chaves, obtêm edefinem atributos, localizam chaves e executam operações criptográficas.

Para começar rapidamente, consulte Conceitos básicos de key_mgmt_util (p. 131). Paraobter informações detalhadas sobre os comandos, consulte Referência de comandos dakey_mgmt_util (p. 134). Para ajudar a interpretar os atributos de chave, consulte Referência de atributosde chave (p. 216).

Para usar key_mgmt_util se você estiver usando Linux, conecte-se à instância do cliente e, em seguida,consulte Instalar e configurar o cliente do AWS CloudHSM (Linux) (p. 35). Se você estiver usandoWindows, consulte Instalar e configurar o cliente do AWS CloudHSM (Windows) (p. 37).

Tópicos• Conceitos básicos de key_mgmt_util (p. 131)• Referência de comandos da key_mgmt_util (p. 134)

Conceitos básicos de key_mgmt_utilO AWS CloudHSM inclui duas ferramentas da linha de comando com o software cliente do AWSCloudHSM (p. 35). A ferramenta cloudhsm_mgmt_util (p. 90) inclui comandos para gerenciar usuáriosdo HSM. A ferramenta key_mgmt_util (p. 134) inclui comandos para gerenciar as chaves. Para começara usar a ferramenta da linha de comando key_mgmt_util, consulte os tópicos a seguir.

Tópicos• Configurar o key_mgmt_util (p. 131)• Utilização básica de key_mgmt_util (p. 133)

Se você encontrar uma mensagem de erro ou um resultado inesperado para um comando, consulte ostópicos Solução de problemas no AWS CloudHSM (p. 366) para obter ajuda. Para obter detalhes sobreos comandos da key_mgmt_util, consulte Referência de comandos da key_mgmt_util (p. 134).

Configurar o key_mgmt_utilExecute a configuração a seguir antes de usar key_mgmt_util.

Inicie o AWS CloudHSM cliente

Antes de usar key_mgmt_util, é necessário iniciar o AWS CloudHSM cliente. O cliente é um daemon queestabelece comunicação criptografada ponta a ponta com os HSMs no cluster. A ferramenta key_mgmt_util

131

Page 138: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

usa a conexão do cliente para se comunicar com os HSMs em seu cluster. Sem ela, a key_mgmt_util nãofunciona.

Para iniciar o AWS CloudHSM cliente

Use o comando a seguir para iniciar o AWS CloudHSM cliente.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Iniciar key_mgmt_utilApós iniciar o AWS CloudHSM cliente, use o comando a seguir para iniciar key_mgmt_util.

Amazon Linux

$ /opt/cloudhsm/bin/key_mgmt_util

132

Page 139: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceitos básicos

Amazon Linux 2

$ /opt/cloudhsm/bin/key_mgmt_util

RHEL 6

$ /opt/cloudhsm/bin/key_mgmt_util

RHEL 7

$ /opt/cloudhsm/bin/key_mgmt_util

CentOS 6

$ /opt/cloudhsm/bin/key_mgmt_util

CentOS 7

$ /opt/cloudhsm/bin/key_mgmt_util

Ubuntu 16.04 LTS

$ /opt/cloudhsm/bin/key_mgmt_util

Windows

c:\Program Files\Amazon\CloudHSM>key_mgmt_util.exe

O prompt muda para Command: quando key_mgmt_util está em execução.

Se o comando falhar, como retornando uma mensagem Daemon socket connection error, tenteatualizar seu arquivo de configuração (p. 376).

Utilização básica de key_mgmt_utilConsulte os tópicos a seguir em relação à utilização básica da ferramenta key_mgmt_util.

Tópicos• Fazer login em HSMs (p. 133)• fazer logout nos HSMs (p. 134)• Parar key_mgmt_util (p. 134)

Fazer login em HSMs

Use o comando loginHSM para fazer login nos HSMs. O comando a seguir efetua login como um usuáriode criptografia (CU) (p. 11) chamado example_user. A saída indica um login realizado com sucesso paratodos os três HSMs no cluster.

Command: loginHSM -u CU -s example_user -p <password>Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS

133

Page 140: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Veja a seguir a sintaxe do comando loginHSM.

Command: loginHSM -u <user type> -s <username> -p <password>

fazer logout nos HSMs

Use o comando logoutHSM para fazer logout nos HSMs.

Command: logoutHSMCfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Parar key_mgmt_util

Use o comando exit para parar a key_mgmt_util.

Command: exit

Referência de comandos da key_mgmt_utilA ferramenta de linha de comando key_mgmt_util ajuda você a gerenciar chaves nos HSMs no seu cluster,incluindo criar, excluir e encontrar chaves e seus atributos. Ela inclui vários comandos, cada um descritoem detalhes neste tópico.

Para começar rapidamente, consulte Conceitos básicos de key_mgmt_util (p. 131). Para ajudar ainterpretar os atributos de chave, consulte Referência de atributos de chave (p. 216). Para obterinformações sobre a ferramenta de linha de comando cloudhsm_mgmt_util, que inclui comandos paragerenciar o HSM e os usuários em seu cluster, consulte cloudhsm_mgmt_util (p. 83).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Para listar todos os comandos da key_mgmt_util, digite:

Command: help

Para obter ajuda para um comando específico da key_mgmt_util, digite:

Command: <command-name> -h

Para encerrar sua sessão da key_mgmt_util, digite:

Command: exit

134

Page 141: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Os seguintes tópicos descrevem comandos na key_mgmt_util.Note

Alguns comandos no key_mgmt_util e cloudhsm_mgmt_util têm os mesmos nomes. Contudo,geralmente os comandos têm sintaxe diferente, resultado diferente e funcionalidade levementediferente.

Comando Descrição

aesWrapUnwrap (p. 136) Criptografa e descriptografa o conteúdo de umachave em um arquivo.

deleteKey (p. 139) Exclui uma chave dos HSMs.

Error2String (p. 140) Obtém o erro que corresponde a um código de errohexadecimal da key_mgmt_util.

exit (p. 141) Sai da key_mgmt_util.

exportPrivateKey (p. 142) Exporta uma cópia de uma chave privada de umHSM para um arquivo no disco.

exportPubKey (p. 144) Exporta uma cópia de uma chave pública de umHSM para um arquivo.

exSymKey (p. 145) Exporta uma cópia em texto simples de uma chavesimétrica dos HSMs para um arquivo.

extractMaskedObject (p. 150) Extrai uma chave de um HSM como um arquivo deobjeto mascarado.

findKey (p. 151) Procure chaves por valor de atributo de chave.

findSingleKey (p. 154) Verifica se existe uma chave em todos os HSMs nocluster.

genDSAKeyPair (p. 155) Gera um par de chaves de Algoritmo de assinaturadigital (DSA) em seus HSMs.

genECCKeyPair (p. 160) Gera um par de chaves de Criptografia de curvaelíptica (ECC) nos seus HSMs.

genPBEKey (p. 164) (Esse comando não tem suporte em HSMsvalidados para FIPS.)

genRSAKeyPair (p. 164) Gera um par de chaves assimétricas RSA nosseus HSMs.

genSymKey (p. 169) Gera uma chave simétrica nos seus HSMs

getAttribute (p. 174) Obtém os valores dos atributos para uma chave doAWS CloudHSM e os grava em um arquivo.

getCaviumPrivKey (p. 177) Cria uma versão em formato PEM falsa de umachave privada e a exporta para um arquivo.

getCert (p. 178) Recupera certificados de partições do HSM e ossalva em um arquivo.

getKeyInfo (p. 179) Obtém os IDs de usuários do HSM que podemusar a chave.

135

Page 142: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Comando DescriçãoSe a chave for controlada por quorum, ele obtém onúmero de usuários no quorum.

help (p. 182) Exibe informações de ajuda sobre os comandosdisponíveis na key_mgmt_util.

importPrivateKey (p. 184) Importa uma chave privada para um HSM.

importPubKey (p. 187) Importa uma chave pública para um HSM.

imSymKey (p. 189) Importa uma cópia em texto simples de uma chavesimétrica de um arquivo para o HSM.

insertMaskedObject (p. 195) Insere um objeto mascarado de um arquivono disco em um HSM contido pelo clusterrelacionado ao cluster de origem do objeto.Clusters relacionados são quaisquer clustersgerados a partir de um backup do cluster deorigem (p. 46).

??? (p. 197) Determina se um determinado arquivo contém ounão uma chave privada real ou uma chave PEMfalsa.

listAttributes (p. 198) Lista os atributos de uma chave do AWSCloudHSM e as constantes que os representam.

listUsers (p. 199) Obtém os usuários nos HSMs, seu tipo de usuárioe ID e outros atributos.

loginHSM e logoutHSM (p. 200) Faça login e logout de HSMs em um cluster.

setAttribute (p. 202) Converte uma chave de sessão em uma chavepersistente.

sign (p. 204) Gere uma assinatura para um arquivo usando umachave privada escolhida.

unWrapKey (p. 206) Importa uma chave encapsulada (criptografada) deum arquivo para os HSMs.

verify (p. 211) Verifica se uma determinada chave foi usada paraassinar um determinado arquivo.

wrapKey (p. 213) Exporta uma cópia criptografada de uma chave doHSM para um arquivo.

aesWrapUnwrapO comando aesWrapUnwrap criptografa ou descriptografa o conteúdo de um arquivo no disco. Estecomando foi projetado para encapsular e desencapsular chaves de criptografia, mas você pode usá-lo emqualquer arquivo que contenha menos de 4 KB (4096 bytes) de dados.

aesWrapUnwrap usa AES Key Wrap. Ele usa uma chave AES no HSM como a chave de encapsulamentoou desencapsulamento. Em seguida, ele grava o resultado em outro arquivo no disco.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

136

Page 143: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Sintaxe

aesWrapUnwrap -h

aesWrapUnwrap -m <wrap-unwrap mode> -f <file-to-wrap-unwrap> -w <wrapping-key-handle> [-i <wrapping-IV>] [-out <output-file>]

Exemplos

Esses exemplos mostram como usar aesWrapUnwrap para criptografar e descriptografar uma chave decriptografia em um arquivo.

Example : Encapsular uma chave de criptografia

Esse comando usa aesWrapUnwrap para encapsular uma chave simétrica Triple DES que foi exportadado HSM em texto simples (p. 145) para o arquivo 3DES.key. Você pode usar um comando semelhantepara remover qualquer chave salva em um arquivo.

O comando usa o parâmetro -m com um valor de 1 para indicar o modo de enrolamento. Ele usa oparâmetro -w para especificar uma chave AES no HSM (identificador de chave 6) como a chave deencapsulamento. Ele grava a chave encapsulada resultante no arquivo 3DES.key.wrapped.

A saída mostra que o comando foi bem-sucedido e que a operação usou o IV padrão, o que é preferido.

Command: aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped

Warning: IV (-i) is missing. 0xA6A6A6A6A6A6A6A6 is considered as default IVresult data:49 49 E2 D0 11 C1 97 2217 43 BD E3 4E F4 12 758D C1 34 CF 26 10 3A 8D6D 0A 7B D5 D3 E8 4D C279 09 08 61 94 68 51 B7

result written to file 3DES.key.wrapped

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Example : Desencapsular uma chave de criptografia

Este exemplo mostra como usar aesWrapUnwrap para desempacotar (desencapsular) uma chaveencapsulada (criptografada) em um arquivo. Você pode querer fazer uma operação como essa antesde importar uma chave para o HSM. Por exemplo, se você tentar usar o comando imSymKey (p. 189)para importar uma chave criptografada, ele retornará um erro porque a chave criptografada não possui oformato necessário para uma chave em texto simples desse tipo.

O comando desencapsula a chave no arquivo 3DES.key.wrapped e grava o texto simples no arquivo3DES.key.unwrapped. O comando usa o parâmetro -m com um valor de 0 para indicar o modo dedesencapsulamento. Ele usa o parâmetro -w para especificar uma chave AES no HSM (identificadorde chave 6) como a chave de encapsulamento. Ele grava a chave encapsulada resultante no arquivo3DES.key.unwrapped.

Command: aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped

Warning: IV (-i) is missing.

137

Page 144: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

0xA6A6A6A6A6A6A6A6 is considered as default IVresult data:14 90 D7 AD D6 E4 F5 FAA1 95 6F 24 89 79 F3 EE37 21 E6 54 1F 3B 8D 62

result written to file 3DES.key.unwrapped

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-m

Especifica o modo. Para encapsular (criptografar) o conteúdo do arquivo, digite 1; para desencapsular(descriptografar) o conteúdo do arquivo, digite 0.

Exigido: sim-f

Especifica o arquivo a ser encapsulado. Insira um arquivo que contenha menos de 4 KB (4096 bytes)de dados. Essa operação foi projetada para encapsular e desencapsular chaves de criptografia.

Exigido: sim-w

Especifica a chave de encapsulamento. Insira o identificador de uma chave AES ou RSA noHSM. Esse parâmetro é obrigatório. Para encontrar identificadores de chaves, use o comandofindKey (p. 151).

Para criar uma chave de empacotamento, use genSymKey (p. 169) para gerar uma chave AES(tipo 31) ou genRSAKeyPair (p. 164) para gerar um par de chaves RSA (tipo 0). Se estiver usandoum par de chaves RSA, certifique-se de encapsular a chave com uma das chaves e desencapsularcom outra. Para verificar se uma chave pode ser usada como uma chave de encapsulamento,use getAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP, representado por 262constante.

Exigido: sim-i

Especifica um valor inicial alternativo (IV) para o algoritmo. Use o valor padrão, a menos que vocêtenha uma condição especial que exija uma alternativa.

Padrão: 0xA6A6A6A6A6A6A6A6. O valor padrão é definido na especificação do algoritmo AES KeyWrap.

Exigido: Não-out

Especifica um nome alternativo para o arquivo de saída que contém a chave encapsulada oudesencapsulada. O padrão é wrapped_key (para operações de encapsulamento) e unwrapped_key(para operações de desencapsulamento) no diretório local.

Se o arquivo existir, o aesWrapUnwrap o substituirá sem aviso prévio. Se o comando falhar,aesWrapUnwrap criará um arquivo de saída sem conteúdo.

138

Page 145: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Padrão: Para encapsulamento: wrapped_key. Para desencapsulamento: unwrapped_key.

Exigido: Não

Tópicos relacionados

• exSymKey (p. 145)• imSymKey (p. 189)• unWrapKey (p. 206)• wrapKey (p. 213)

deleteKeyO comando deleteKey na key_mgmt_util exclui uma chave do HSM. Você pode excluir apenas uma chavepor vez. A exclusão de uma chave em um par de chaves não tem efeito na outra chave do par.

Somente o proprietário da chave pode excluí-la. Os usuários que compartilham a chave podem usá-la emoperações criptográficas, mas não podem excluí-la.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

deleteKey -h

deleteKey -k

ExemplosEstes exemplos mostram como usar deleteKey para excluir chaves dos seus HSMs.

Example : Excluir uma chave

Esse comando exclui a chave com identificador de chave 6. Quando o comando é bem-sucedido,deleteKey retorna mensagens de sucesso de cada HSM do cluster.

Command: deleteKey -k 6

Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Example : Excluir uma chave (falha)

Quando o comando falha porque nenhuma chave possui o identificador de chave especificado, deleteKeyretorna uma mensagem de erro de identificador de objeto inválido.

Command: deleteKey -k 252126

Cfm3FindKey returned: 0xa8 : HSM Error: Invalid object handle is passed to this operation

Cluster Error Status

139

Page 146: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Node id 1 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation Node id 2 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation

Quando o comando falhar porque o usuário atual não é o proprietário da chave, o comando retorna umerro de acesso negado.

Command: deleteKey -k 262152

Cfm3DeleteKey returned: 0xc6 : HSM Error: Key Access is denied.

Parâmetros

-h

Exibe a ajuda da linha de comando para o comando.

Exigido: sim-k

Especifica o identificador de chave da chave a ser excluída. Para encontrar os identificadores daschaves no HSM, use findKey (p. 151).

Exigido: sim

Tópicos relacionados

• findKey (p. 151)

Error2StringO comando Error2String na key_mgmt_util retorna o erro que corresponde a um código de errohexadecimal da key_mgmt_util. Você pode usar esse comando ao solucionar problemas com comandos escripts.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

Error2String -h

Error2String -r <response-code>

Exemplos

Estes exemplos mostram como usar Error2String para obter a string de erro para um código de erro dakey_mgmt_util.

Example : Obter uma descrição do erro

Esse comando obtém a descrição do erro para o código de erro 0xdb. A descrição explica que umatentativa de fazer login na key_mgmt_util falhou porque o usuário possui o tipo de usuário errado. Somenteusuários de criptografia (CU) podem fazer login na key_mgmt_util.

140

Page 147: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Command: Error2String -r 0xdb Error Code db maps to HSM Error: Invalid User Type.

Example : Encontrar o código de erro

Este exemplo mostra onde encontrar o código de erro em um erro da key_mgmt_util. O código de erro,0xc6, aparece após a string: Cfm3command-name returned: .

Neste exemplo, getKeyInfo (p. 179) indica que o usuário atual (usuário 4) pode usar a chave emoperações criptográficas. No entanto, quando o usuário tenta usar deleteKey (p. 139) para excluir achave, o comando retorna o código de erro 0xc6.

Command: deleteKey -k 262162

Cfm3DeleteKey returned: 0xc6 : HSM Error: Key Access is denied

Cluster Error Status

Command: getKeyInfo -k 262162 Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 1 user(s):

4

Se o erro 0xc6 for reportado, você poderá usar um comando Error2String como esse para procuraro erro. Nesse caso, o comando deleteKey falhou com um erro de acesso negado porque a chave écompartilhada com o usuário atual, mas possuída por um usuário diferente. Somente os proprietários dechaves têm permissão para excluir uma chave.

Command: Error2String -r 0xa8 Error Code c6 maps to HSM Error: Key Access is denied

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-r

Especifica um código de erro hexadecimal. É necessário o indicador de hexadecimal 0x.

Exigido: sim

exitO comando exit na key_mgmt_util sai da key_mgmt_util. Após a saída bem-sucedida, você retornará à sualinha de comando padrão.

141

Page 148: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Antes de executar qualquer comando key_mgmt_util, você deve iniciar key_mgmt_util (p. 132).

Sintaxe

exit

Parâmetros

Não há parâmetros para esse comando.

Tópicos relacionados

• Iniciar key_mgmt_util (p. 132)

exportPrivateKeyO comando exportPrivateKey na key_mgmt_util exporta uma chave privada assimétrica em um HSMem um arquivo. Você pode usá-lo para exportar chaves privadas que você gera no HSM. Você tambémpode usar o comando para exportar chaves privadas que foram importadas para um HSM, como aquelasimportadas com o comando importPrivateKey (p. 184).

Durante o processo de exportação, o exportPrivateKey usa uma chave AES que você seleciona (achave de encapsulamento) para encapsular (criptografar) a chave privada. Dessa forma, o arquivode chave privada mantém a integridade durante o trânsito. Para obter mais informações, consultewrapKey (p. 213).

O comando exportPrivateKey copia o material da chave para um arquivo que você especifica. Mas ele nãoremove a chave do HSM nem altera os atributos de chave (p. 216) ou impede que você use a chave emoutras operações criptográficas. É possível exportar a mesma chave várias vezes.

Você só pode exportar chaves privadas que têm o atributo OBJ_ATTR_EXTRACTABLE com o valor 1. Paraencontrar os atributos de uma chave, use o comando getAttribute (p. 174).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

exportPrivateKey -h

exportPrivateKey -k <private-key-handle -w <wrapping-key-handle> -out <key-file> [-m <wrapping-mechanism>] [-wk <wrapping-key-file>]

Exemplos

Este exemplo mostra como usar exportPrivateKey para exportar uma chave privada de um HSM.

Example : Export a Private Key

Esse comando exporta uma chave privada com o identificador 15 usando uma chave de encapsulamentocom o identificador 16 para um arquivo PEM chamado exportKey.pem. Quando o comando é bem-sucedido, exportPrivateKey retorna uma mensagem de êxito.

142

Page 149: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Command: exportPrivateKey -k 15 -w 16 -out exportKey.pem

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

PEM formatted private key is written to exportKey.pem

ParâmetrosEsse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-k

Especifica o identificador de chave da chave privada a ser exportada.

Exigido: sim-w

Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Paraencontrar os identificadores de chave, use o comando findKey (p. 151).

Para determinar se uma chave pode ser usada como uma chave de encapsulamento, usegetAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP (262). Para criar uma chave deencapsulamento, use genSymKey (p. 169) a fim de criar uma chave AES (digite 31).

Se você usar o parâmetro -wk para especificar uma chave de desencapsulamento externa, a chavede encapsulamento -w será usada para encapsular, mas não para desencapsular, a chave durante aexportação.

Exigido: sim-out

Especifica o nome do arquivo no qual a chave privada exportada será gravada.

Exigido: sim-m

Especifica o mecanismo de encapsulamento com o qual encapsular a chave privada que está sendoexportada. O único valor válido é 4, que representa NIST_AES_WRAP mechanism.

Padrão: 4 (NIST_AES_WRAP)

Obrigatório: não-wk

Especifica a chave a ser usada para desencapsular a chave que está sendo exportada. Insira ocaminho e o nome de um arquivo que contém uma chave AES de texto simples.

Durante a inclusão desse parâmetro. exportPrivateKey usa a chave no arquivo -w para encapsular achave que está sendo exportada e usa a chave especificada no parâmetro -wk para desencapsulá-la.

Padrão: use a chave de encapsulamento especificada no parâmetro -w para encapsular edesencapsular.

143

Page 150: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Obrigatório: não

Tópicos relacionados

• importPrivateKey (p. 184)• wrapKey (p. 213)• unWrapKey (p. 206)• genSymKey (p. 169)

exportPubKeyO comando exportPubKey na key_mgmt_util exporta uma chave pública em uma HSM para uma arquivo.Você pode usá-lo para exportar chaves públicas que você gera em um HSM. Você também pode usaresse comando para exportar chaves públicas que foram importadas para um HSM, como as importadascom o comando importPubKey (p. 187).

A operação exportPubKey copia o material de chave emum arquivo especificado por você. Mas ele nãoremove a chave do HSM nem altera os atributos de chave (p. 216) ou impede que você use a chave emoutras operações criptográficas. É possível exportar a mesma chave várias vezes.

Você só pode exportar chaves públicas que têm um valor OBJ_ATTR_EXTRACTABLE de 1. Para encontraros atributos de uma chave, use o comando getAttribute (p. 174).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

exportPubKey -h

exportPubKey -k <public-key-handle -out <key-file>

ExemplosEste exemplo mostra como usar exportPubKey para exportar uma chave pública de um HSM.

Example : Export a Public Key

Esse comando exporta uma chave pública com identificador 10 para um arquivo chamado public.pem.Quando o comando é bem-sucedido, exportPubKey retorna uma mensagem de êxito.

Command: exportPubKey -k 10 -out public.pem

PEM formatted public key is written to public.pem

Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS

ParâmetrosEsse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

144

Page 151: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Obrigatório: sim-k

Especifica o identificador de chave da chave pública a ser exportada.

Exigido: sim-out

Especifica o nome do arquivo no qual a chave pública exportada será gravada.

Exigido: sim

Tópicos relacionados

• importPubKey (p. 187)• Gerar chaves (p. 64)

exSymKeyO comando exSymKey na ferramenta key_mgmt_util exporta uma cópia em texto simples de uma chavesimétrica do HSM e a salva em um arquivo no disco. Para exportar uma cópia criptografada (encapsulada)de uma chave, use wrapKey (p. 213). Para importar uma chave em texto simples, como aquelas queexSymKey exporta, use imSymKey (p. 189).

Durante o processo de exportação, exSymKey usa uma chave AES que você especifica (a chave deencapsulamento) para encapsular (criptografar) e depois desencapsular (descriptografar) a chavea ser exportada. No entanto, o resultado da operação de exportação é uma chave em texto simples(desencapsulada) no disco.

Somente o proprietário de uma chave, ou seja, o usuário CU que a criou, pode exportá-la. Os usuários quecompartilham a chave podem usá-la em operações criptográficas, mas não podem exportá-la.

A operação exSymKey copia o material da chave para um arquivo que você especifica, mas não removea chave do HSM, altera seus atributos de chave (p. 216) ou impede que você a use em operaçõescriptográficas. É possível exportar a mesma chave várias vezes.

exSymKey exporta apenas chaves simétricas. Para exportar chaves públicas, useexportPubKey (p. 144). Para exportar chaves privadas, use exportPrivateKey (p. 142).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

exSymKey -h

exSymKey -k <key-to-export> -w <wrapping-key> -out <key-file> [-m 4] [-wk <unwrapping-key-file> ]

Exemplos

Esses exemplos mostram como usar exSymKey para exportar chaves simétricas que você possui dosseus HSMs.

145

Page 152: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example : Exportar uma chave simétrica 3DES

Esse comando exporta uma chave simétrica Triple DES (3DES) (identificador de chave 7). Ele usa umachave AES existente (identificador de chave 6) no HSM como chave de encapsulamento. Em seguida, elegrava o texto simples da chave 3DES no arquivo 3DES.key.

A saída mostra que a chave 7 (a tecla 3DES) foi encapsulada e desencapsulada com êxito e, em seguida,gravada no arquivo 3DES.key.

Warning

Embora a saída diga que uma "Chave simétrica encapsulada" foi gravada no arquivo de saída,este último contém uma chave em texto simples (desencapsulada).

Command: exSymKey -k 7 -w 6 -out 3DES.key

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "3DES.key"

Example : Exportar com a chave de encapsulamento somente para sessão

Este exemplo mostra como usar uma chave que existe apenas na sessão como a chave deencapsulamento. Como a chave a ser exportada é encapsulada, imediatamente desencapsulada efornecida como texto simples, não há necessidade de reter a chave de encapsulamento.

Esta série de comandos exporta uma chave AES com o identificador de chave 8 do HSM. Ela usa umachave de sessão AES criada especialmente para esse propósito.

O primeiro comando usa genSymKey (p. 169) para criar uma chave AES de 256 bits. Ele usa oparâmetro -sess para criar uma chave que existe apenas na sessão atual.

A saída mostra que o HSM cria a chave 262168.

Command: genSymKey -t 31 -s 32 -l AES-wrapping-key -sess

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 262168

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Em seguida, o exemplo verifica se a chave 8, a chave a ser exportada, é uma chave simétrica extraível.Ele também verifica se a chave de encapsulamento, 262168, é uma chave AES que existe apenas nasessão. Você pode usar o comando findKey (p. 151), mas esse exemplo exporta os atributos de ambasas chaves para arquivos e, em seguida, usa grep para encontrar valores de atributos relevantes noarquivo.

Esses comandos usam getAttribute com um valor -a de 512 (tudo) para obter todos os atributos paraas chaves 8 e 262168. Para obter informações sobre os atributos de chaves, consulte the section called“Referência de atributos de chave” (p. 216).

getAttribute -o 8 -a 512 -out attributes/attr_8getAttribute -o 262168 -a 512 -out attributes/attr_262168

146

Page 153: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Esses comandos usam grep para verificar os atributos da chave a ser exportada (chave 8) e da chave deencapsulamento somente da sessão (chave 262168).

// Verify that the key to be exported is a symmetric key. $ grep -A 1 "OBJ_ATTR_CLASS" attributes/attr_8 OBJ_ATTR_CLASS 0x04 // Verify that the key to be exported is extractable. $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_8 OBJ_ATTR_EXTRACTABLE 0x00000001

// Verify that the wrapping key is an AES key $ grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_262168 OBJ_ATTR_KEY_TYPE 0x1f

// Verify that the wrapping key is a session key $ grep -A 1 "OBJ_ATTR_TOKEN" attributes/attr_262168 OBJ_ATTR_TOKEN 0x00 // Verify that the wrapping key can be used for wrapping $ grep -A 1 "OBJ_ATTR_WRAP" attributes/attr_262168 OBJ_ATTR_WRAP 0x00000001

Por último, usamos um comando exSymKey para exportar a chave 8 usando a chave de sessão (chave262168) como a chave de encapsulamento.

Quando a sessão terminar, a chave 262168 não existirá mais.

Command: exSymKey -k 8 -w 262168 -out aes256_H8.key

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes256_H8.key"

Example : Usar uma chave de desencapsulamento externa

Este exemplo mostra como usar uma chave de desencapsulamento externa para exportar uma chave doHSM.

Ao exportar uma chave do HSM, você especifica uma chave AES no HSM para ser a chave deencapsulamento. Por padrão, essa chave de encapsulamento é usada para encapsular e desencapsulara chave a ser exportada. No entanto, você pode usar o parâmetro -wk para instruir exSymKey a usaruma chave externa em um arquivo no disco para desencapsulamento. Ao fazer isso, a chave especificadapelo parâmetro -w encapsula a chave de destino e a chave no arquivo especificado pelo parâmetro -wkdesencapsula a chave.

Como a chave de encapsulamento deve ser uma chave AES, que é simétrica, a chave de encapsulamentono HSM e a chave no disco devem ter o mesmo material de chave. Para fazer isso, você deve importar achave de encapsulamento para o HSM ou exportá-la do HSM antes da operação de exportação.

Esse exemplo cria uma chave fora do HSM e a importa para o HSM. Ele usa a cópia interna da chave paraencapsular uma chave simétrica que está sendo exportada e usa a cópia dessa chave no arquivo paradesencapsulá-la.

147

Page 154: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O primeiro comando usa o OpenSSL para gerar uma chave AES de 256 bits. Ele salva a chave noarquivo aes256-forImport.key. O comando OpenSSL não retorna saída, mas você pode usar várioscomandos para confirmar seu sucesso. Este exemplo usa a ferramenta wc (contagem de palavras), queconfirma que o arquivo tem 32 bytes de dados.

$ openssl rand -out keys/aes256-forImport.key 32

$ wc keys/aes256-forImport.key 0 2 32 keys/aes256-forImport.key

Este comando usa o comandoimSymKey (p. 189) para importar a chave AES do arquivo aes256-forImport.key no HSM. Quando o comando é concluído, a chave existe no HSM com o identificador dechave 262167 e no arquivo aes256-forImport.key.

Command: imSymKey -f keys/aes256-forImport.key -t 31 -l aes256-imported -w 6

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Unwrapped. Key Handle: 262167

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Esse comando usa a chave em uma operação de exportação. O comando usa exSymKey para exportara chave 21, uma chave AES de 192 bits. Para encapsular a chave, ele usa a chave 262167, que é acópia que foi importada para o HSM. Para desempacotar a chave, ela usa o mesmo material de chave noarquivo aes256-forImport.key. Quando o comando for concluído, a chave 21 será exportada para oarquivo aes192_h21.key.

Command: exSymKey -k 21 -w 262167 -out aes192_H21.key -wk aes256-forImport.key

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes192_H21.key"

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-k

Especifica o identificador de chave da chave a ser exportada. Esse parâmetro é obrigatório. Insira oidentificador de chave de uma chave simétrica que você possui. Esse parâmetro é obrigatório. Paraencontrar os identificadores de chave, use o comando findKey (p. 151).

Para verificar se uma chave pode ser exportada, use o comando getAttribute (p. 174) para obter ovalor do atributo OBJ_ATTR_EXTRACTABLE, que é representado pela constante 354. Além disso, vocêpode exportar apenas as chaves que você possui. Para encontrar o proprietário de uma chave, use ocomando getKeyInfo (p. 179).

Exigido: sim

148

Page 155: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-w

Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Paraencontrar os identificadores de chave, use o comando findKey (p. 151).

Uma chave de encapsulamento é uma chave no HSM que é usada para criptografar (encapsular) edepois descriptografar (desencapsular) a chave a ser exportada. Somente as chaves AES podem serusadas como chaves de encapsulamento.

Você pode usar qualquer chave do AES (de qualquer tamanho) como uma chave de encapsulamento.Como a chave de encapsulamento encapsula e depois desencapsula imediatamente a chave dedestino, você pode usar como chave AES somente de sessão como uma chave de encapsulamento.Para determinar se uma chave pode ser usada como uma chave de encapsulamento, usegetAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP, que é representado pelaconstante 262. Para criar uma chave de encapsulamento, use genSymKey (p. 169) a fim de criaruma chave AES (digite 31).

Se você usar o parâmetro -wk para especificar uma chave de desencapsulamento externa, a chavede encapsulamento -w será usada para encapsular, mas não para desencapsular, a chave durante aexportação.

Note

A chave 4 representa uma chave interna sem suporte. Recomendamos usar uma chave AEScriada e gerenciada por você como a chave de encapsulamento.

Exigido: sim-out

Especifica o caminho e o nome do arquivo de saída. Quando o comando é bem-sucedido,esse arquivo contém a chave exportada em texto simples. Se o arquivo já existir, o comando osobrescreverá sem aviso prévio.

Obrigatório: sim-m

Especifica o mecanismo de encapsulamento. O único valor válido é 4, que representa o mecanismoNIST_AES_WRAP.

Exigido: Não

Padrão: 4-wk

Use a chave AES no arquivo especificado para desencapsular a chave que está sendo exportada.Insira o caminho e o nome de um arquivo que contém uma chave AES de texto simples.

Durante a inclusão desse parâmetro. exSymKey usa a chave no arquivo no HSM especificada peloparâmetro -w para encapsular a chave que está sendo exportada e usa a chave no arquivo -wk paradesencapsulá-la. Os valores dos parâmetros -w e -wk devem ser resolvidos para a mesma chave detexto simples.

Exigido: Não

Padrão: use a chave de encapsulamento no HSM para desencapsular.

Tópicos relacionados

• genSymKey (p. 169)

149

Page 156: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• imSymKey (p. 189)• wrapKey (p. 213)

extractMaskedObjectO comando extractMaskedObject na key_mgmt_util extrai uma chave de um HSM e salva-a em um arquivocomo um objeto mascarado. Objetos mascarados são objetos clonados que só podem ser usados apósserem inseridos novamente no cluster original usando o comando insertMaskedObject (p. 195). Você sópode inserir um objeto mascarado no mesmo cluster no qual ele foi gerado ou em um clone desse cluster.Isso inclui quaisquer versões clonadas do cluster geradas ao copiar um backup entre regiões (p. 45) e usaresse backup para criar um novo cluster (p. 46).

Objetos mascarados são uma maneira eficiente de descarregar e sincronizar chaves, incluindo chaves nãoextraíveis (isto é, chaves que têm um valor de OBJ_ATTR_EXTRACTABLE (p. 216) de 0). Dessa forma,as chaves podem ser sincronizadas com segurança em clusters relacionados em diferentes regiões, sem anecessidade de atualizar o arquivo de configuração (p. 220) do AWS CloudHSM.

Important

Na inserção, os objetos mascarados são descriptografados e recebem um identificador dechave diferente do identificador de chave da chave original. Um objeto mascarado inclui todosos metadados associados à chave original, inclusive atributos, informações de propriedade ecompartilhamento e configurações de quórum.386 Se você precisa sincronizar as chaves emclusters em um aplicativo, use syncKey (p. 127) na cloudhsm_mgmt_util.

Antes de executar qualquer comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM. O comando extractMaskedObject pode ser usado pelo CU que possui a chave ouqualquer CO.

Sintaxe

extractMaskedObject -h

extractMaskedObject -o <object-handle> -out <object-file>

Exemplos

Este exemplo mostra como usar extractMaskedObject para extrair uma chave de um HSM como um objetomascarado.

Example : Extract a Masked Object

Esse comando extrai um objeto mascarado de um HSM a partir de uma chave com identificador524295 e a salva como um arquivo chamado maskedObj. Quando o comando é bem-sucedido,extractMaskedObject retorna uma mensagem de êxito.

Command: extractMaskedObject -o 524295 -out maskedObj

Object was masked and written to file "maskedObj"

Cfm3ExtractMaskedObject returned: 0x00 : HSM Return: SUCCESS

Parâmetros

Esse comando usa os seguintes parâmetros.

150

Page 157: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-o

Especifica o identificador da chave a ser extraída como um objeto mascarado.

Exigido: sim-out

Especifica o nome do arquivo no qual o objeto mascarado será salvo.

Exigido: sim

Tópicos relacionados

• insertMaskedObject (p. 195)• syncKey (p. 127)• Copiar um backup entre regiões (p. 45)• Criar um cluster do AWS CloudHSM a partir de um backup anterior (p. 46)

findKeyUse o comando findKey na key_mgmt_util para procurar chaves com base nos valores dos atributosde chave. Quando uma chave corresponder a todos os critérios que você definir, findKey retornará oidentificador de chave. Sem parâmetros, findKey retorna os identificadores de chave de todas as chavesque você pode usar no HSM. Para encontrar os valores de atributo de uma determinada chave, usegetAttribute (p. 174).

Como todos os comandos de key_mgmt_util, findKey é específico do usuário. Ele retorna apenas aschaves que o usuário atual pode usar em operações criptográficas. Isso inclui chaves que o usuário atualpossui e as chaves que foram compartilhadas com ele.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

findKey -h

findKey [-c <key class>] [-t <key type>] [-l <key label>] [-id <key ID>] [-sess (0 | 1)] [-u <user-ids>] [-m <modulus>] [-kcv <key_check_value>]

Exemplos

Estes exemplos mostram como usar findKey para encontrar e identificar chaves nos seus HSMs.

151

Page 158: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example : Encontrar todas as chaves

Esse comando encontra todas as chaves para o usuário atual no HSM. A saída inclui chaves que o usuáriopossui e compartilha, bem como todas as chaves públicas nos HSMs.

Para obter os atributos de uma chave com um identificador de chave específico, usegetAttribute (p. 174). Para determinar se o usuário atual possui ou compartilha uma chave específica,use getKeyInfo (p. 179) ou findAllKeys (p. 102) na cloudhsm_mgmt_util.

Command: findKey

Total number of keys present 13

number of keys matched from start index 0::126, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Example : Encontrar chaves por tipo, usuário e sessão

Este comando encontra chaves AES persistentes que o usuário atual e o usuário 3 podem usar. (O usuário3 pode usar outras chaves que o usuário atual não pode ver.)

Command: findKey -t 31 -sess 0 -u 3

Example : Encontrar chaves por classe e rótulo

Este comando encontra todas as chaves públicas para o usuário atual com o rótulo 2018-sept.

Command: findKey -c 2 -l 2018-sept

Example : Encontrar chaves RSA por módulo

Este comando encontra as chaves RSA (tipo 0) para o usuário atual que foram criadas usando o módulono arquivo m4.txt.

Command: findKey -t 0 -m m4.txt

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-t

Encontra chaves do tipo especificado. Insira a constante que representa a classe de chave. Porexemplo, para encontrar chaves 3DES, digite -t 21.

Valores válidos:• 0: RSA• 1: DSA

152

Page 159: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• 3: EC• 16: GENERIC_SECRET• 18: RC4• 21: Triple DES (3DES)• 31: AES

Exigido: Não-c

Localiza chaves na classe especificada. Insira a constante que representa a classe de chave. Porexemplo, para encontrar chaves públicas, digite -c 2.

Valores válidos para cada tipo de chave:• 2: Pública. Essa classe contém as chaves públicas dos pares de chaves públicas–privadas.• 3: Privada. Essa classe contém as chaves privadas dos pares de chaves públicas–privadas.• 4: Secreta. Essa classe contém todas as chaves simétricas.

Exigido: Não-l

Encontra chaves com o rótulo especificado. Digite o rótulo exato. Você não pode usar caracterescuringa ou expressões regulares no valor --l.

Exigido: Não-id

Encontra a chave com o ID especificado. Digite a string de ID exata. Você não pode usar caracterescuringa ou expressões regulares no valor -id.

Exigido: Não-sess

Localiza chaves por status da sessão. Para encontrar as chaves válidas apenas na sessão atual,digite 1. Para localizar chaves persistentes, digite 0.

Exigido: Não-u

Encontra as chaves dos usuários especificados e o compartilhamento de usuários atual. Digite umalista separada por vírgulas de IDs de usuário do HSM, como -u 3 ou -u 4,7. Para encontrar os IDsde usuários em um HSM, use listUsers (p. 199).

Quando você especifica um ID de usuário, findKey retorna as chaves para esse usuário. Quandovocê especifica vários IDs de usuário, findKey retorna as chaves que todos os usuários especificadospodem usar.

Como findKey simplesmente retorna as chaves que o usuário atual pode usar, os resultados de -usão sempre idênticos às, ou um subconjunto das, chaves do usuário atual. Para obter todas as chavesque são de propriedade ou compartilhadas com qualquer usuário, os responsáveis pela criptografia(COs) podem usar findAllKeys (p. 102) na cloudhsm_mgmt_util.

Exigido: Não-m

Localiza as chaves que foram criadas usando o módulo RSA no arquivo especificado. Digite ocaminho para o arquivo que armazena o módulo.

153

Page 160: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: Não-kcv

Encontra chaves com o valor de verificação de chave especificado.

O valor de verificação da chave (KCV) é um hash de 3 bytes ou uma soma de verificação de umachave gerada quando o HSM importa ou gera uma chave. Você também poderá calcular um KCV forado HSM, como depois de exportar uma chave. Você pode acabar comparando os valores do KCVpara confirmar a identidade e a integridade da chave. Para obter o KCV, use getAttribute (p. 174).

O AWS CloudHSM usa o seguinte método padrão para gerar um valor de verificação da chave:• Chaves simétricas: 3 primeiros bytes do resultado de criptografar um bloco de zero com a chave.• Pares de chaves assimétricas: 3 primeiros bytes do hash de SHA-1 da chave pública.• Chaves HMAC: KVC para chaves HMAC não é suportado neste momento.

Exigido: Não

Resultado

A saída findKey mostra o número total de chaves correspondentes e seus identificadores de chave.

Command: findKeyTotal number of keys present 10

number of keys matched from start index 0::96, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Tópicos relacionados

• findSingleKey (p. 154)• getKeyInfo (p. 179)• getAttribute (p. 174)• findAllKeys (p. 102) na cloudhsm_mgmt_util• Referência de atributos de chave (p. 216)

findSingleKeyO comando findSingleKey na ferramenta key_mgmt_util verifica se existe uma chave em todos os HSMs nocluster.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

findSingleKey -h

154

Page 161: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

findSingleKey -k <key-handle>

Exemplo

Example

Este comando verifica se a chave 252136 existe nos três HSMs no cluster.

Command: findSingleKey -k 252136Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-k

Especifica o identificador da chave no HSM. Esse parâmetro é obrigatório.

Para encontrar os identificadores de chave, use o comando findKey (p. 199).

Exigido: sim

Tópicos relacionados

• findKey (p. 199)• getKeyInfo (p. 199)• getAttribute (p. 151)

genDSAKeyPairO comando genDSAKeyPair na ferramenta key_mgmt_util gera um par de chaves de Algoritmo deassinatura digital (DSA) em seus HSMs. Você deve especificar o comprimento do módulo; o comando gerao valor do módulo. Você também pode atribuir um ID, compartilhar a chave com outros usuários do HSMe criar chaves não extraíveis que expiram quando a sessão termina. Quando o comando é bem-sucedido,ele retorna os identificadores de chave que o HSM atribui às chaves públicas e privadas. Você pode usaros identificadores de chave para identificar as chaves para outros comandos.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Tip

Para encontrar os atributos de uma chave criada por você, como o tipo, o tamanho, o rótuloe o ID, use getAttribute (p. 174). Para encontrar as chaves de um determinado usuário,use getKeyInfo (p. 179). Para encontrar chaves com base nos valores de atributos, usefindKey (p. 151).

155

Page 162: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Sintaxe

genDSAKeyPair -h

genDSAKeyPair -m <modulus length> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

Exemplos

Esses exemplos mostram como usar genDSAKeyPair para criar um par de chaves DSA.

Example : Criar um par de chaves DSA

Esse comando cria um par de chaves DSA com um rótulo DSA. A saída mostra que o identificador dachave pública é 19 e o identificador da chave privada é 21.

Command: genDSAKeyPair -m 2048 -l DSA

Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 19 private key handle: 21

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Example : Criar um par de chaves DSA somente de sessão

Este comando cria um par de chaves DSA que é válido apenas na sessão atual. O comando atribui umID exclusiva de DSA_temp_pair, além do rótulo (não exclusivo) requerido. Você pode querer criar umpar de chaves como esse para assinar e verificar um token somente de sessão. A saída mostra que oidentificador da chave pública é 12 e o identificador da chave privada é 14.

Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess

Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 12 private key handle: 14

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Para confirmar que o par de chaves existe apenas na sessão, use o parâmetro -sess defindKey (p. 151) com o valor de 1 (true).

Command: findKey -sess 1

Total number of keys present 2

number of keys matched from start index 0::112, 14

156

Page 163: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Example : Criar um par de chaves DSA compartilhadas e não extraíveis

Esse comando cria um par de chaves DSA. A chave privada é compartilhada com outros três usuáriose não pode ser exportada do HSM. Chaves públicas podem ser usadas por qualquer usuário e semprepodem ser extraídas.

Command: genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6

Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 11 private key handle: 19

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Example : Criar um par de chaves com controle de quorum

Esse comando cria um par de chaves DSA com o rótulo DSA-mV2. O comando usa o parâmetro -u paracompartilhar a chave privada com os usuários 4 e 6. Ele usa o parâmetro -m_value para exigir umquorum de pelo menos duas aprovações para quaisquer operações criptográficas que usam a chaveprivada. O comando também usa o parâmetro -attest para verificar a integridade do firmware no qual opar de chaves é gerado.

A saída mostra que o comando gera uma chave pública com o identificador de chave 12 e uma chaveprivada com o identificador de chave 17 e que a verificação de atestado no firmware do cluster foiaprovada.

Command: genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest

Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 12 private key handle: 17

Attestation Check : [PASS]

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Este comando usa getKeyInfo (p. 179) na chave privada (identificador de chave 17). A saída confirmaque a chave pertence ao usuário atual (usuário 3) e que é compartilhada com os usuários 4 e 6 (e nenhumoutro). A saída também mostra que a autenticação de quorum está habilitada e que o tamanho do quorumé dois.

Command: getKeyInfo -k 17

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 2 user(s):

157

Page 164: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

4 6 2 Users need to approve to use/manage this key

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-m

Especifica o comprimento do módulo em bits. O único valor válido é 2048.

Exigido: sim-l

Especifica um rótulo definido pelo usuário para o par de chaves. Digite uma string. O mesmo rótulo seaplica a ambas as chaves no par

Você pode usar qualquer frase que ajude a identificar a chave. Como o rótulo não precisa serexclusivo, você pode usá-lo para agrupar e categorizar chaves.

Exigido: sim-id

Especifica um identificador definido pelo usuário para o par de chaves. Digite uma string que sejaexclusiva no cluster. O padrão é uma string vazia. O ID especificado por você se aplica a ambas aschaves do par.

Padrão: sem valor de ID.

Exigido: Não-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Exigido: Não-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chaveprivada no par. Digite um valor de 0 a 8.

Este parâmetro estabelece um requisito de autenticação de quórum para a chave privada. O valorpadrão, 0, desabilita o recurso de autenticação de quórum para a chave. Quando a autenticaçãode quórum estiver habilitada, o número especificado de usuários deverá assinar um token paraaprovar operações criptográficas que usem a chave privada e as operações que compartilham oudescompartilham a chave privada.

158

Page 165: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Para encontrar o m_value de uma chave, use getKeyInfo (p. 179).

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha o par de chavescom usuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Exigido: Não-nex

Torna a chave privada não extraível. A chave privada gerada não pode ser exportada do HSM (p. 67).As chaves públicas são sempre extraíveis.

Padrão: as chaves públicas e privadas no par de chaves são extraíveis.

Exigido: Não-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

Padrão: a chave é persistente.

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não-u

Compartilha a chave privada no par com os usuários especificados. Este parâmetro dá a outrosusuários de criptografia (CUs) HSM permissão para usar a chave privada em operações criptográficas.As chaves públicas podem ser usadas por qualquer usuário sem compartilhamento.

Digite uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Nãoinclua o ID do usuário do HSM atual. Para encontrar IDs de usuário de CUs no HSM, uselistUsers (p. 199). Para compartilhar e descompartilhar chaves existentes, use shareKey (p. 125)no cloudhsm_mgmt_util.

Padrão: somente o usuário atual pode utilizar a chave privada.

Exigido: Não-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

159

Page 166: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: Não

Tópicos relacionados

• genRSAKeyPair (p. 164)• genSymKey (p. 169)• genECCKeyPair (p. 160)

genECCKeyPairO comando genECCKeyPair na ferramenta key_mgmt_util gera um par de chaves de Criptografia decurva elíptica (ECC) nos seus HSMs. Ao executar o comando genECCKeyPair, você deve especificar oidentificador de curva elíptica e um rótulo para o par de chaves. Você também pode compartilhar a chaveprivada com outros usuários CU, criar chaves não extraíveis, chaves com controle de quorum e chavesque expiram quando a sessão termina. Quando o comando é bem-sucedido, ele retorna os identificadoresde chave que o HSM atribui às chaves ECC públicas e privadas. Você pode usar os identificadores dechave para identificar as chaves para outros comandos.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Tip

Para encontrar os atributos de uma chave criada por você, como o tipo, o tamanho, o rótuloe o ID, use getAttribute (p. 174). Para encontrar as chaves de um determinado usuário,use getKeyInfo (p. 179). Para encontrar chaves com base nos valores de atributos, usefindKey (p. 151).

Sintaxe

genECCKeyPair -h

genECCKeyPair -i <EC curve id> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

Exemplos

Os exemplos a seguir mostram como usar o genECCKeyPair para criar pares de chaves ECC nos seusHSMs.

Example : Criar e examinar um par de chaves ECC

Esse comando usa uma curva elíptica NID_sect571r1 e um rótulo ecc14 para criar um par de chavesECC. A saída mostra que o identificador da chave privada é 262177 e o identificador da chave pública é262179. O rótulo aplica-se a chaves públicas e privadas.

Command: genECCKeyPair -i 14 -l ecc14

160

Page 167: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 262179 private key handle: 262177

Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Depois de gerar a chave, você pode examinar seus atributos. Use getAttribute (p. 174) para gravar todosos atributos (representados pela constante 512) da nova chave privada ECC no arquivo attr_262177.

Command: getAttribute -o 262177 -a 512 -out attr_262177got all attributes of size 529 attr cnt 19Attributes dumped into attr_262177

Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Em seguida, use o comando cat para visualizar o conteúdo do arquivo de atributo attr_262177. A saídamostra que a chave é uma chave privada de curva elíptica que pode ser usada para assinar, mas não paracriptografar, descriptografar, encapsular, desencapsular ou verificar. A chave é persistente e exportável.

$ cat attr_262177

OBJ_ATTR_CLASS0x03OBJ_ATTR_KEY_TYPE0x03OBJ_ATTR_TOKEN0x01OBJ_ATTR_PRIVATE0x01OBJ_ATTR_ENCRYPT0x00OBJ_ATTR_DECRYPT0x00OBJ_ATTR_WRAP0x00OBJ_ATTR_UNWRAP0x00OBJ_ATTR_SIGN0x01OBJ_ATTR_VERIFY0x00OBJ_ATTR_LOCAL0x01OBJ_ATTR_SENSITIVE0x01OBJ_ATTR_EXTRACTABLE0x01OBJ_ATTR_LABELecc2OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN0x0000008aOBJ_ATTR_KCV0xbbb32aOBJ_ATTR_MODULUS044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5OBJ_ATTR_MODULUS_BITS0x0000019f

161

Page 168: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example Usar uma curva EEC inválida

Esse comando tenta criar um par de chaves ECC usando uma curva NID_X9_62_prime192v1. Como essacurva elíptica não é válida para HSMs no modo FIPS, o comando falha. A mensagem informa que umservidor no cluster não está disponível, mas isso geralmente não indica um problema com os HSMs nocluster.

Command: genECCKeyPair -i 1 -l ecc1

Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies

Cluster Error Status Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-i

Especifica o identificador da curva elíptica. Insira um identificador.

Valores válidos:• 2: NID_X9_62_prime256v1• 14: NID_secp384r1• 16: NID_secp256k1

Obrigatório: sim-l

Especifica um rótulo definido pelo usuário para o par de chaves. Digite uma string. O mesmo rótulo seaplica a ambas as chaves no par

Você pode usar qualquer frase que ajude a identificar a chave. Como o rótulo não precisa serexclusivo, você pode usá-lo para agrupar e categorizar chaves.

Exigido: sim-id

Especifica um identificador definido pelo usuário para o par de chaves. Digite uma string que sejaexclusiva no cluster. O padrão é uma string vazia. O ID especificado por você se aplica a ambas aschaves do par.

Padrão: sem valor de ID.

Exigido: Não-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

162

Page 169: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Exigido: Não-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chaveprivada no par. Digite um valor de 0 a 8.

Este parâmetro estabelece um requisito de autenticação de quórum para a chave privada. O valorpadrão, 0, desabilita o recurso de autenticação de quórum para a chave. Quando a autenticaçãode quórum estiver habilitada, o número especificado de usuários deverá assinar um token paraaprovar operações criptográficas que usem a chave privada e as operações que compartilham oudescompartilham a chave privada.

Para encontrar o m_value de uma chave, use getKeyInfo (p. 179).

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha o par de chavescom usuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Exigido: Não-nex

Torna a chave privada não extraível. A chave privada gerada não pode ser exportada do HSM (p. 67).As chaves públicas são sempre extraíveis.

Padrão: as chaves públicas e privadas no par de chaves são extraíveis.

Exigido: Não-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

Padrão: a chave é persistente.

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não

163

Page 170: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-u

Compartilha a chave privada no par com os usuários especificados. Este parâmetro dá a outrosusuários de criptografia (CUs) HSM permissão para usar a chave privada em operações criptográficas.As chaves públicas podem ser usadas por qualquer usuário sem compartilhamento.

Digite uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Nãoinclua o ID do usuário do HSM atual. Para encontrar IDs de usuário de CUs no HSM, uselistUsers (p. 199). Para compartilhar e descompartilhar chaves existentes, use shareKey (p. 125)no cloudhsm_mgmt_util.

Padrão: somente o usuário atual pode utilizar a chave privada.

Exigido: Não-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

Exigido: Não

Tópicos relacionados

• genSymKey (p. 169)• genRSAKeyPair (p. 164)• genDSAKeyPair (p. 155)

genPBEKeyO comando genPBEKey na ferramenta key_mgmt_util gera uma chave simétrica Triple DES (3DES)com base em uma senha. Esse comando não tem suporte em HSMs validados para FIPS que o AWSCloudHSM fornece.

Para criar chaves simétricas, use genSymKey (p. 169). Para criar pares de chaves assimétricas, usegenRSAKeyPair (p. 164), genDSAKeyPair (p. 155) ou genECCKeyPair (p. 160).

genRSAKeyPairO comando genRSAKeyPair na ferramenta key_mgmt_util gera um par de chaves assimétricas RSA. Vocêespecifica o tipo de chave, o comprimento do módulo e um expoente público. O comando gera um módulodo comprimento especificado e cria o par de chaves. Você pode atribuir um ID, compartilhar a chave comoutros usuários do HSM, criar chaves e chaves não extraíveis que expiram quando a sessão termina.Quando o comando for bem-sucedido, ele retornará um identificador de chave que o HSM atribui à chave.Você pode usar o identificador de chave para identificar as chaves para outros comandos.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Tip

Para encontrar os atributos de uma chave criada por você, como o tipo, o tamanho, o rótuloe o ID, use getAttribute (p. 174). Para encontrar as chaves de um determinado usuário,use getKeyInfo (p. 179). Para encontrar chaves com base nos valores de atributos, usefindKey (p. 151).

164

Page 171: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Sintaxe

genRSAKeyPair -h

genRSAKeyPair -m <modulus length> -e <public exponent> -l <label> [-id <key ID>] [-min_srv <minimum number of servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number of seconds> ] [-u <user-ids>] [-attest]

Exemplos

Esses exemplos mostram como usar genRSAKeyPair para criar pares de chaves assimétricas nos seusHSMs.

Example : Criar e examinar um par de chaves RSA

Esse comando cria um par de chaves RSA com um módulo de 2048 bits e um expoente de 65541. A saídamostra que o identificador de chave pública é 262159 e o identificador de chave particular é 262160.

Command: genRSAKeyPair -m 2048 -e 65541 -l rsa_test

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESSCfm3GenerateKeyPair: public key handle: 262159 private key handle: 262160Cluster Error StatusNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 0 and err state 0x00000000 : HSM Return: SUCCESS

O próximo comando usa getAttribute (p. 174) para obter os atributos da chave pública que acabamosde criar. Ele grava a saída no arquivo attr_262159. Ele é seguido por um comando cat que obtém oconteúdo do arquivo de atributo. Para ajudar a interpretar os atributos de chave, consulte Referência deatributos de chave (p. 216).

Os valores hexadecimais resultantes confirmam que se trata de uma chave pública (OBJ_ATTR_CLASS0x02) com um tipo de RSA (OBJ_ATTR_KEY_TYPE 0x00). Você pode usar essa chave pública paracriptografar (OBJ_ATTR_ENCRYPT 0x01), mas não para descriptografar (OBJ_ATTR_DECRYPT 0x00) oupara encapsular (OBJ_ATTR_WRAP 0x00). Os resultados também incluem o comprimento da chave (512,0x200), o módulo, o comprimento do módulo (2048, 0x800) e o expoente público (65541, 0x10005).

Command: getAttribute -o 262159 -a 512 -out attr_262159

got all attributes of size 731 attr cnt 20Attributes dumped into attr_262159 file

Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$ cat attr_262159OBJ_ATTR_CLASS0x02OBJ_ATTR_KEY_TYPE0x00OBJ_ATTR_TOKEN0x01OBJ_ATTR_PRIVATE

165

Page 172: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

0x00OBJ_ATTR_ENCRYPT0x01OBJ_ATTR_DECRYPT0x00OBJ_ATTR_WRAP0x00OBJ_ATTR_UNWRAP0x00OBJ_ATTR_SIGN0x00OBJ_ATTR_VERIFY0x01OBJ_ATTR_LOCAL0x01OBJ_ATTR_SENSITIVE0x00OBJ_ATTR_EXTRACTABLE0x01OBJ_ATTR_LABELrsa_testOBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN0x00000200OBJ_ATTR_KCV0x0a4364OBJ_ATTR_MODULUS9162b8d5d01d7b5b1179686d15e74d1dd38eaa5b6e64673195aaf951df8828deeca002c215d4209ac0bf90a9587ddca7f6351d5d4df0f6201b65daccd9955e4f49a819c0d39cb6717623bfa33436facc835c15961a58a63ca25bf0d2d4888d77418c571c190f8cc5a82483050658c00df4658dff248202bc95e886b1b5c7a981f09b0eb4f606641efe09bf3881f63c90d4a4415219ba796df449862b9d9c2a78d1c24fff56cf9b25f2b7dee44e200dd9550bd097a7044b22ca004033236bc708a0bad4a111533ed46d049e5ec0b449b4a3877e566b0ce9d0a60fd1c15352b131ccc234f1719bed3918df579a66e7fff29dc80dc5dbbf6e3d7d092d67c6abca7dOBJ_ATTR_MODULUS_BITS0x00000800OBJ_ATTR_PUBLIC_EXPONENT0x010005

Example : Gerar um par de chaves RSA compartilhado

Este comando gera um par de chaves RSA e compartilha a chave privada com o usuário 4, outro CU noHSM. O comando usa o parâmetro m_value para exigir pelo menos duas aprovações antes que a chaveprivada no par possa ser usada em uma operação criptográfica. Ao usar o parâmetro m_value, vocêtambém deve usar -u no comando, e m_value não pode exceder o número total de usuários (número devalores no -u + proprietário).

Command: genRSAKeyPair -m 2048 -e 195193 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

166

Page 173: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: sim-m

Especifica o comprimento do módulo em bits. O valor mínimo é 2048.

Obrigatório: sim-p

Especifica o expoente público. O valor deve ser um número ímpar maior que ou igual a 65537.

Obrigatório: sim-l

Especifica um rótulo definido pelo usuário para o par de chaves. Digite uma string. O mesmo rótulo seaplica a ambas as chaves no par

Você pode usar qualquer frase que ajude a identificar a chave. Como o rótulo não precisa serexclusivo, você pode usá-lo para agrupar e categorizar chaves.

Exigido: sim-id

Especifica um identificador definido pelo usuário para o par de chaves. Digite uma string que sejaexclusiva no cluster. O padrão é uma string vazia. O ID especificado por você se aplica a ambas aschaves do par.

Padrão: sem valor de ID.

Exigido: Não-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Exigido: Não-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chaveprivada no par. Digite um valor de 0 a 8.

Este parâmetro estabelece um requisito de autenticação de quórum para a chave privada. O valorpadrão, 0, desabilita o recurso de autenticação de quórum para a chave. Quando a autenticaçãode quórum estiver habilitada, o número especificado de usuários deverá assinar um token paraaprovar operações criptográficas que usem a chave privada e as operações que compartilham oudescompartilham a chave privada.

Para encontrar o m_value de uma chave, use getKeyInfo (p. 179).

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha o par de chavescom usuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Exigido: Não

167

Page 174: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-nex

Torna a chave privada não extraível. A chave privada gerada não pode ser exportada do HSM (p. 67).As chaves públicas são sempre extraíveis.

Padrão: as chaves públicas e privadas no par de chaves são extraíveis.

Exigido: Não-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

Padrão: a chave é persistente.

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não-u

Compartilha a chave privada no par com os usuários especificados. Este parâmetro dá a outrosusuários de criptografia (CUs) HSM permissão para usar a chave privada em operações criptográficas.As chaves públicas podem ser usadas por qualquer usuário sem compartilhamento.

Digite uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Nãoinclua o ID do usuário do HSM atual. Para encontrar IDs de usuário de CUs no HSM, uselistUsers (p. 199). Para compartilhar e descompartilhar chaves existentes, use shareKey (p. 125)no cloudhsm_mgmt_util.

Padrão: somente o usuário atual pode utilizar a chave privada.

Exigido: Não-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

Exigido: Não

Tópicos relacionados

• genSymKey (p. 169)• genDSAKeyPair (p. 155)

168

Page 175: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• genECCKeyPair (p. 160)

genSymKeyO comando genSymKey na ferramenta key_mgmt_util gera uma chave simétrica nos seus HSMs. Vocêpode especificar o tipo de chave e o tamanho, atribuir um ID e um rótulo e compartilhar a chave com outrosusuários do HSM. Você também pode criar chaves não extraíveis e chaves que expiram quando a sessãotermina. Quando o comando for bem-sucedido, ele retornará um identificador de chave que o HSM atribuià chave. Você pode usar o identificador de chave para identificar as chaves para outros comandos.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Tip

Para encontrar os atributos de uma chave criada por você, como o tipo, o tamanho, o rótuloe o ID, use getAttribute (p. 174). Para encontrar as chaves de um determinado usuário,use getKeyInfo (p. 179). Para encontrar chaves com base nos valores de atributos, usefindKey (p. 151).

Sintaxe

genSymKey -h

genSymKey -t <key-type> -s <key-size> -l <label> [-id <key-ID>] [-min_srv <minimum-number-of-servers>] [-m_value <0..8>] [-nex] [-sess] [-timeout <number-of-seconds> ] [-u <user-ids>] [-attest]

ExemplosEstes exemplos mostram como usar o genSymKey para criar chaves simétricas nos seus HSMs.

Example : gerar uma chave de AES

Esse comando cria uma chave AES de 256 bits com um rótulo aes256. A saída mostra que o identificadorda nova chave é 6.

Command: genSymKey -t 31 -s 32 -l aes256

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 6

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Example : Criar uma chave de sessão

Este comando cria uma chave AES de 192 bits não extraível que é válida apenas na sessão atual. Vocêtalvez queira criar uma chave como essa para encapsular (e depois imediatamente desencapsular) umachave que está sendo exportada.

169

Page 176: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Command: genSymKey -t 31 -s 24 -l tmpAES -id wrap01 -nex -sess

Example : Retornar rapidamente

Esse comando cria uma chave de 512 bytes genérica com um rótulo de IT_test_key. O comando nãoaguarda a chave a ser sincronizada para todos os HSMs no cluster. Em vez disso, ele é retornado assimque a chave é criada em qualquer HSM (-min_srv 1) ou em 1 segundo (-timeout 1), o que for maiscurto. Se a chave não for sincronizada com o número mínimo especificado de HSMs antes do término dotempo limite, ela não será gerada. Você pode querer usar um comando como esse em um script que criavárias chaves, como o loop for no exemplo a seguir.

Command: genSymKey -t 16 -s 512 -l IT_test_key -min_srv 1 -timeout 1

$ for i in {1..30}; do /opt/cloudhsm/bin/key_mgmt_util singlecmd loginHSM -u CU -s example_user -p example_pwd genSymKey -l aes -t 31 -s 32 -min_srv 1 -timeout 1; done;

Example : Criar uma chave genérica autorizada de quorum

Esse comando cria uma chave secreta genérica de 2048 bits com o rótulo generic-mV2. O comando usao parâmetro -u para compartilhar a chave com outro CU, o usuário 6. Ele usa o parâmetro -m_value paraexigir um quorum de pelo menos duas aprovações para quaisquer operações criptográficas que usam achave. O comando também usa o parâmetro -attest para verificar a integridade do firmware no qual achave é gerada.

A saída mostra que o comando gerou uma chave com o identificador de chave 9 e que a verificação decomprovação no firmware de cluster foi aprovada.

Command: genSymKey -t 16 -s 2048 -l generic-mV2 -m_value 2 -u 6 -attest

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 9

Attestation Check : [PASS]

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Example : Criar e examinar uma chave

Esse comando cria uma chave DES Tripla com um rótulo 3DES_shared e um ID de IT-02. A chave podeser usada pelo usuário atual e pelos usuários 4 e 5. O comando falhará se o ID não for exclusivo no clusterou se o usuário atual for o usuário 4 ou 5.

A saída mostra que a nova chave tem o identificador de chave 7.

Command: genSymKey -t 21 -s 24 -l 3DES_shared -id IT-02 -u 4,5

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 7

Cluster Error Status

170

Page 177: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Para verificar se a nova chave 3DES é de propriedade do usuário atual e compartilhada com os usuários4 e 5, use getKeyInfo (p. 179). O comando usa o identificador que foi atribuído à nova chave (KeyHandle: 7).

A saída confirma que a chave é de propriedade do usuário 3 e está compartilhada com os usuários 4 e 5.

Command: getKeyInfo -k 7

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 2 user(s):

4, 5

Para confirmar as outras propriedades da chave, use getAttribute (p. 174). O primeiro comando usagetAttribute para obter todos os atributos (-a 512) do identificador de chave 7 (-o 7). Ele os gravano arquivo attr_7. O segundo comando usa cat para obter o conteúdo do arquivo attr_7.

Esse comando confirma que a chave 7 é uma chave simétrica de 192 bits (OBJ_ATTR_VALUE_LEN0x00000018 ou 24 bytes) 3DES (OBJ_ATTR_KEY_TYPE 0x15) (OBJ_ATTR_CLASS 0x04) com rótulo3DES_shared (OBJ_ATTR_LABEL 3DES_shared) e ID IT_02 (OBJ_ATTR_ID IT-02). A chave épersistente (OBJ_ATTR_TOKEN 0x01) e extraível (OBJ_ATTR_EXTRACTABLE 0x01) e pode ser usadapara criptografia, descriptografia e encapsulamento.

Para ajudar a interpretar os atributos de chave, consulte Referência de atributos de chave (p. 216).

Command: getAttribute -o 7 -a 512 -attr_7

got all attributes of size 444 attr cnt 17Attributes dumped into attr_7 file

Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$ cat attr_7

OBJ_ATTR_CLASS0x04OBJ_ATTR_KEY_TYPE0x15OBJ_ATTR_TOKEN0x01OBJ_ATTR_PRIVATE0x01OBJ_ATTR_ENCRYPT0x01OBJ_ATTR_DECRYPT0x01OBJ_ATTR_WRAP0x00OBJ_ATTR_UNWRAP0x00OBJ_ATTR_SIGN0x00OBJ_ATTR_VERIFY0x00OBJ_ATTR_LOCAL0x01

171

Page 178: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

OBJ_ATTR_SENSITIVE0x01OBJ_ATTR_EXTRACTABLE0x01OBJ_ATTR_LABEL3DES_sharedOBJ_ATTR_IDIT-02OBJ_ATTR_VALUE_LEN0x00000018OBJ_ATTR_KCV0x59a46e

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-t

Especifica o tipo da chave simétrica. Insira a constante que representa o tipo de chave. Por exemplo,para criar uma chave AES, digite -t 31.

Valores válidos:• 16: GENERIC_SECRET. Uma chave secreta genérica é uma matriz de bytes que não está em

conformidade com nenhum padrão específico, como os requisitos para uma chave AES.• 18: RC4. Chaves RC4 não são válidas em HSMs no modo FIPS• 21: Triple DES (3DES).• 31: AES

Obrigatório: sim-s

Especifica o tamanho da chave em bytes. Por exemplo, para criar uma chave de 192 bits, digite 24.

Valores válidos para cada tipo de chave:• AES: 16 (128 bits), 24 (192 bits), 32 (256 bits)• 3DES: 24 (192 bits)• Segredo genérico: <3584 (28.672 bits)

Obrigatório: sim-l

Especifica um rótulo definido pelo usuário para a chave. Digite uma string.

Você pode usar qualquer frase que ajude a identificar a chave. Como o rótulo não precisa serexclusivo, você pode usá-lo para agrupar e categorizar chaves.

Exigido: sim-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

172

Page 179: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: Não-id

Especifica um identificador definido pelo usuário para a chave. Digite uma string que seja exclusiva nocluster. O padrão é uma string vazia.

Padrão: sem valor de ID.

Exigido: Não-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Exigido: Não-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chave.Digite um valor de 0 a 8.

Este parâmetro estabelece um requisito de autenticação de quórum para a chave. O valor padrão,0, desabilita o recurso de autenticação de quórum para a chave. Quando a autenticação de quórumestiver habilitada, o número especificado de usuários deverá assinar um token para aprovaroperações criptográficas que usem a chave e as operações que compartilham ou descompartilham achave.

Para encontrar o m_value de uma chave, use getKeyInfo (p. 179).

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha a chave comusuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Exigido: Não-nex

Torna a chave não extraível. A chave gerada não pode ser exportada do HSM (p. 67).

Padrão: a chave é extraível.

Exigido: Não-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

173

Page 180: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Padrão: a chave é persistente.

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não-u

Compartilha a chave com os usuários especificados. Este parâmetro dá a outros usuários decriptografia (CUs) HSM permissão para usar essa chave em operações criptográficas.

Digite uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Nãoinclua o ID do usuário do HSM atual. Para encontrar IDs de usuário de CUs no HSM, uselistUsers (p. 199). Para compartilhar e descompartilhar chaves existentes, use shareKey (p. 125)no cloudhsm_mgmt_util.

Padrão: somente o usuário atual pode utilizar a chave.

Exigido: Não

Tópicos relacionados

• exSymKey (p. 145)• genRSAKeyPair (p. 164)• genDSAKeyPair (p. 155)• genECCKeyPair (p. 160)

getAttributeO comando getAttribute na key_mgmt_util grava um ou todos os valores de atributo de uma chave do AWSCloudHSM em um arquivo. Se o atributo que você especificar não existir para o tipo de chave, como omódulo de uma chave AES, getAttribute retornará um erro.

Atributos de chave são propriedades de uma chave. Eles incluem características, como o tipo de chave,a classe, o rótulo e o ID, e valores que representam ações que você pode realizar com a chave, comocriptografar, descriptografar, encapsular, assinar e verificar.

Você só pode usar getAttribute nas chaves que você possui e em chaves que são compartilhadas comvocê. Você pode executar esse comando ou o comando getAttribute (p. 105) na cloudhsm_mgmt_util,que obtém um valor de atributo de uma chave de todos os HSMs em um cluster e o grava em stdout ou emum arquivo.

Para obter uma lista de atributos e das constantes que os representam, use o comandolistAttributes (p. 198). Para alterar os valores de atributo de chaves existentes, use setAttribute (p. 202)na key_mgmt_util e setAttribute (p. 121) na cloudhsm_mgmt_util. Para ajudar a interpretar os atributos dechave, consulte Referência de atributos de chave (p. 216).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

174

Page 181: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Sintaxe

getAttribute -h

getAttribute -o <key handle> -a <attribute constant> -out <file>

ExemplosEstes exemplos mostram como usar getAttribute para obter os atributos de chaves nos seus HSMs.

Example : Obter o tipo de chave

Esse exemplo obtém o tipo de chave, como uma chave AES, 3DES ou genérica, ou um par de chavesRSA ou de curva elíptica.

O primeiro comando executa listAttributes (p. 198), que obtém os principais atributos e as constantes queos representam. A saída mostra que a constante para o tipo de chave é 256. Para ajudar a interpretar osatributos de chave, consulte Referência de atributos de chave (p. 216).

Command: listAttributes

Description===========The following are all of the possible attribute values for getAttributes.

OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_KCV = 371

O segundo comando executa getAttribute. Ele solicita o tipo de chave (atributo 256) para o identificador dechave 524296 e o grava no arquivo attribute.txt.

Command: getAttribute -o 524296 -a 256 -out attribute.txtAttributes dumped into attribute.txt file

O comando final obtém o conteúdo do arquivo de chave. A saída revela que o tipo de chave é 0x15 ou21, que é uma chave Triple DES (3DES). Para as definições dos valores da classe e tipo, consulte aReferência de atributos de chave (p. 216).

$ cat attribute.txtOBJ_ATTR_KEY_TYPE

175

Page 182: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

0x00000015

Example : Obter todos os atributos de uma chave

Este comando obtém todos os atributos da chave com o identificador de chave 6 e os grava no arquivoattr_6. Ele usa um valor de atributo de 512, que representa todos os atributos.

Command: getAttribute -o 6 -a 512 -out attr_6 got all attributes of size 444 attr cnt 17Attributes dumped into attribute.txt file

Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS>

Esse comando mostra o conteúdo de um arquivo de atributo de amostra com todos os valores de atributos.Entre os valores, ele informa que a chave é uma chave AES de 256 bits com um ID de test_01 e umrótulo de aes256. A chave é extraível e persistente, ou seja, não é uma chave somente de sessão. Paraajudar a interpretar os atributos de chave, consulte Referência de atributos de chave (p. 216).

$ cat attribute.txt

OBJ_ATTR_CLASS0x04OBJ_ATTR_KEY_TYPE0x15OBJ_ATTR_TOKEN0x01OBJ_ATTR_PRIVATE0x01OBJ_ATTR_ENCRYPT0x01OBJ_ATTR_DECRYPT0x01OBJ_ATTR_WRAP0x01OBJ_ATTR_UNWRAP0x01OBJ_ATTR_SIGN0x00OBJ_ATTR_VERIFY0x00OBJ_ATTR_LOCAL0x01OBJ_ATTR_SENSITIVE0x01OBJ_ATTR_EXTRACTABLE0x01OBJ_ATTR_LABELaes256OBJ_ATTR_IDtest_01OBJ_ATTR_VALUE_LEN0x00000020OBJ_ATTR_KCV0x1a4b31

Parâmetros

-h

Exibe a ajuda referente ao comando.

176

Page 183: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: sim-o

Especifica o identificador da chave de destino. Você pode especificar apenas uma chave em cadacomando. Para obter o identificador de chave de uma chave, use findKey (p. 151).

Além disso, você deve ter a chave especificada ou ela deve ser compartilhada com você. Paraencontrar os usuários de uma chave, use getKeyInfo (p. 179).

Exigido: sim-a

Identifica o atributo. Insira uma constante que represente um atributo, ou 512, que represente todosos atributos. Por exemplo, para obter o tipo de chave, digite 256, que é a constante para o atributoOBJ_ATTR_KEY_TYPE.

Para listar os atributos e suas constantes, use listAttributes (p. 198). Para ajudar a interpretar osatributos de chave, consulte Referência de atributos de chave (p. 216).

Exigido: sim-out

Grava a saída no arquivo especificado. Digite um caminho de arquivo. Você não pode gravar a saídaem stdout.

Se o arquivo especificado existir, getAttribute substitui o arquivo sem aviso prévio.

Exigido: sim

Tópicos relacionados

• getAttribute (p. 105) na cloudhsm_mgmt_util• listAttributes (p. 198)• setAttribute (p. 202)• findKey (p. 151)• Referência de atributos de chave (p. 216)

getCaviumPrivKeyO comando getCaviumPrivKey na key_mgmt_util exporta uma chave privada de um HSM no formato PEMfalso. O arquivo PEM falso, que não contém o material da chave privada real, mas, em vez disso, fazreferência à chave privada no HSM, pode ser usado para estabelecer o descarregamento de SSL/TLS deseu servidor web para o AWS CloudHSM. Para obter mais informações, consulte Descarregamento deSSL/TLS no Linux (p. 294).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

getCaviumPrivKey -h

exportPrivateKey -k <private-key-handle -out <fake-PEM-file>

177

Page 184: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exemplos

Este exemplo mostra como usar getCaviumPrivKey para exportar uma chave privada em um formato PEMfalso.

Example : Export a Fake PEM File

Este comando cria e exporta uma versão PEM falsa de uma chave privada com identificador 15 e salva-a em um arquivo chamado cavKey.pem. Quando o comando é bem-sucedido, exportPrivateKey retornauma mensagem de êxito.

Command: getCaviumPrivKey -k 15 -out cavKey.pem

Private Key Handle is written to cavKey.pem in fake PEM format

getCaviumPrivKey returned: 0x00 : HSM Return: SUCCESS

Parâmetros

Esse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-k

Especifica o identificador de chave da chave privada a ser exportada no formato PEM falso.

Exigido: sim-out

Especifica o nome do arquivo no qual a chave PEM falsa será gravada.

Exigido: sim

Tópicos relacionados

• importPrivateKey (p. 184)• Descarregamento de SSL/TLS no Linux (p. 294)

getCertO comando getCert na key_mgmt_util recupera certificados de uma partição do HSM e salva-os em umarquivo. Ao executar o comando, você designa o tipo de certificado a ser recuperado. Para fazer isso, vocêusa um dos números inteiros correspondentes, conforme descrito na seção Parâmetros (p. 179) a seguir.Para saber sobre a função de cada um desses certificados, consulte Verificar a identidade do HSM (p. 24).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

getCert -h

178

Page 185: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

getCert -f <file-name> -t <certificate-type>

Exemplo

Este exemplo mostra como usar getCert para recuperar um certificado raiz do cliente do cluster e salvá-locomo um arquivo.

Example : recuperar um certificado raiz do cliente

Este comando exporta um certificado raiz do cliente (representado pelo inteiro 4) e salva-o em um arquivochamado userRoot.crt. Quando o comando é bem-sucedido, getCert retorna uma mensagem de êxito.

Command: getCert -f userRoot.crt -s 4

Cfm3GetCert() returned 0 :HSM Return: SUCCESS

Parâmetros

Esse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-f

Especifica o nome do arquivo no qual o certificado recuperado será salvo.

Obrigatório: sim-s

Um inteiro que especifica o tipo do certificado de partição a ser recuperado. Os inteiros e seus tipos decertificado correspondentes são os seguintes:• 1 – certificado raiz do fabricante• 2 – certificado de hardware do fabricante• 4 – certificado raiz do cliente• 8 – certificado do cluster (assinado pelo certificado raiz do cliente)• 16 – certificado do cluster (encadeado ao certificado raiz do fabricante)

Obrigatório: sim

Tópicos relacionados

• Verificar a identidade do HSM (p. 24)• getCert (p. 107) (em cloudhsm_mgmt_util (p. 83))

getKeyInfoO comando getKeyInfo na key_mgmt_util retorna os IDs de usuário do HSM dos usuários que podem usara chave, incluindo o proprietário e os usuários de criptografia (CU) com quem a chave é compartilhada.

179

Page 186: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Quando a autenticação de quorum está habilitada em uma chave, getKeyInfo também retorna o númerode usuários que devem aprovar as operações criptográficas que usam essa chave. Você pode executargetKeyInfo somente nas chaves que possui e em chaves que são compartilhadas com você.

Quando você executa getKeyInfo em chaves públicas, getKeyInfo retorna apenas o proprietário da chave,mesmo que todos os usuários do HSM possam usar a chave pública. Para localizar os IDs de usuário doHSM nos seus HSMs, use listUsers (p. 199). Para encontrar as chaves de um usuário específico, usefindKey (p. 151) -u.

Você possui as chaves que cria. Você pode compartilhar uma chave com outros usuários ao criá-la.Em seguida, para compartilhar ou descompartilhar uma chave existente, use shareKey (p. 125) nacloudhsm_mgmt_util.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

getKeyInfo -h

getKeyInfo -k <key-handle>

Exemplos

Esses exemplos mostram como usar getKeyInfo para obter informações sobre os usuários de uma chave.

Example : Obter usuários para uma chave simétrica

Esse comando obtém os usuários que podem usar a chave AES (simétrica) com o identificador de chave9. A saída mostra que o usuário 3 possui a chave e a compartilhou com o usuário 4.

Command: getKeyInfo -k 9

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 1 user(s):

4

Example : Obter os usuários para um par de chaves assimétricas

Esses comandos usam getKeyInfo para obter os usuários que podem usar as chaves em um par dechaves RSA (assimétrico). A chave pública possui o identificador de chave 21. A chave privada possui oidentificador de chave 20.

Quando você executa getKeyInfo na chave privada (20), ele retorna o proprietário da chave (3) e osusuários de criptografia (CUs) 4 e 5, com quem a chave é compartilhada.

Command: getKeyInfo -k 20

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 2 user(s):

4

180

Page 187: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

5

Quando você executa getKeyInfo na chave pública (21), ele retorna apenas o proprietário da chave (3).

Command: getKeyInfo -k 21

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

Para confirmar que o usuário 4 pode usar a chave pública (e todas as chaves públicas no HSM), use oparâmetro -u de findKey (p. 151).

A saída mostra que o usuário 4 pode usar tanto a chave pública (21) quanto a privada (20) no par dechaves. O Usuário 4 também pode usar todas as outras chaves públicas e quaisquer chaves privadas queele tenha criado ou que tenha sido compartilhada com ele.

Command: findKey -u 4Total number of keys present 8

number of keys matched from start index 0::711, 12, 262159, 262161, 262162, 19, 20, 21

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Example : Obter o valor de autenticação de quorum (m_value) para uma chave

Esse exemplo mostra como obter o m_value para uma chave, ou seja, o número de usuários no quorumque devem aprovar todas as operações criptográficas que usam a chave.

Quando a autenticação de quorum está habilitada em uma chave, um quorum de usuários deve aprovartodas as operações criptográficas que usam essa chave. Para habilitar a autenticação de quorum e definiro tamanho do quorum, use o parâmetro -m_value ao criar a chave.

Esse comando usa genRSAKeyPair (p. 164) para criar um par de chaves RSA compartilhado com ousuário 4. Ele usa o parâmetro m_value para habilitar a autenticação de quorum na chave privada no pare definir o tamanho do quorum para dois usuários. O número de usuários deve ser grande o suficiente parafornecer as aprovações necessárias.

A saída mostra que o comando criou a chave pública 27 e a chave privada 28.

Command: genRSAKeyPair -m 2048 -e 195193 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

Cfm3GenerateKeyPair: public key handle: 27 private key handle: 28

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Esse comando usa getKeyInfo para obter informações sobre os usuários da chave privada. A saída mostraque a chave é de propriedade do usuário 3 e compartilhada com o usuário 4. Também mostra que umquorum de dois usuários deve aprovar todas as operações criptográficas que usam a chave.

Command: getKeyInfo -k 28

181

Page 188: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

Owned by user 3

also, shared to following 1 user(s):

4 2 Users need to approve to use/manage this key

Parâmetros

-h

Exibe a ajuda da linha de comando para o comando.

Exigido: sim-k

Especifica o identificador da chave no HSM. Insira o identificador de uma chave que você possui oucompartilha. Esse parâmetro é obrigatório.

Para encontrar os identificadores de chave, use o comando findKey (p. 199).

Exigido: sim

Tópicos relacionados

• getKeyInfo (p. 110) na cloudhsm_mgmt_util• listUsers (p. 199)• findKey (p. 151)• findAllKeys (p. 102) na cloudhsm_mgmt_util

helpO comando help na key_mgmt_util exibe informações sobre todos os comandos disponíveis dakey_mgmt_util.

Antes de executar help, você deve iniciar key_mgmt_util (p. 132).

Sintaxe

help

Exemplo

Este exemplo mostra a saída do comando help.

Example

Command: help

Help Commands Available:

Syntax: <command> -h

182

Page 189: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Command Description ======= ===========

exit Exits this application help Displays this information

Configuration and Admin Commands getHSMInfo Gets the HSM Information getPartitionInfo Gets the Partition Information listUsers Lists all users of a partition loginStatus Gets the Login Information loginHSM Login to the HSM logoutHSM Logout from the HSM

M of N commands getToken Initiate an MxN service and get Token delToken delete Token(s) approveToken Approves an MxN service listTokens List all Tokens in the current partition

Key Generation Commands

Asymmetric Keys: genRSAKeyPair Generates an RSA Key Pair genDSAKeyPair Generates a DSA Key Pair genECCKeyPair Generates an ECC Key Pair

Symmetric Keys: genPBEKey Generates a PBE DES3 key genSymKey Generates a Symmetric keys

Key Import/Export Commands createPublicKey Creates an RSA public key importPubKey Imports RSA/DSA/EC Public key exportPubKey Exports RSA/DSA/EC Public key importPrivateKey Imports RSA/DSA/EC private key exportPrivateKey Exports RSA/DSA/EC private key imSymKey Imports a Symmetric key exSymKey Exports a Symmetric key wrapKey Wraps a key from from HSM using the specified handle unWrapKey UnWraps a key into HSM using the specified handle

Key Management Commands deleteKey Delete Key setAttribute Sets an attribute of an object getKeyInfo Get Key Info about shared users/sessions findKey Find Key findSingleKey Find single Key getAttribute Reads an attribute from an object

Certificate Setup Commands getCert Gets Partition Certificates stored on HSM

Key Transfer Commands insertMaskedObject Inserts a masked object extractMaskedObject Extracts a masked object

Management Crypto Commands sign Generates a signature verify Verifies a signature aesWrapUnwrap Does NIST AES Wrap/Unwrap

Helper Commands Error2String Converts Error codes to Strings

183

Page 190: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

save key handle in fake PEM format getCaviumPrivKey Saves an RSA private key handle in fake PEM format IsValidKeyHandlefile Checks if private key file has an HSM key handle or a real key listAttributes List all attributes for getAttributes listECCCurveIds List HSM supported ECC CurveIds

Parâmetros

Não há parâmetros para esse comando.

Tópicos relacionados

• loginHSM e logoutHSM (p. 200)

importPrivateKeyO comando importPrivateKey na key_mgmt_util importa uma chave privada assimétrica em um HSM. Vocêpode usá-lo para importar chaves privadas que foram geradas fora do HSM. Você também pode usar essecomando para importar chaves que foram exportadas de um HSM, como as exportadas pelo comandoexportPrivateKey (p. 142).

Durante o processo de importação, importPrivateKey usa uma chave AES (a chave de encapsulamento)selecionada por você para encapsular (criptografar) a chave privada. Ao encapsular a chave privada, elapermanece confidencial durante o trânsito. Para obter mais informações, consulte wrapKey (p. 213).

Note

Esse comando não oferece a opção de marcar as chaves importadas como não exportáveis.

Para executar qualquer comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

importPrivateKey -h

importPrivateKey -l <label> -f <key-file> -w <wrapping-key-handle> [-sess] [-id <key-id>] [-m_value <0...8>] [min_srv <minimum-number-of-servers>] [-timeout <number-of-seconds>] [-u <user-ids>] [-wk <wrapping-key-file>] [-attest]

Exemplos

Este exemplo mostra como usar importPrivateKey para importar uma chave privada para um HSM.

Example : Import a Private Key

Esse comando importa a chave privada a partir de um arquivo chamado rsa2048.key com o rótulorsa2048-imported e uma chave de encapsulamento com identificador 524299. Quando o comando

184

Page 191: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

for bem-sucedido, importPrivateKey retornará um identificador de chave para a chave importada e umamensagem de sucesso.

Command: importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299

BER encoded key length is 1216

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Private Key Unwrapped. Key Handle: 524301

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Parâmetros

Esse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-l

Especifica o rótulo da chave privada definida pelo usuário.

Obrigatório: sim-f

Especifica o nome do arquivo da chave a ser importada.

Obrigatório: sim-w

Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Paraencontrar os identificadores de chave, use o comando findKey (p. 151).

Para determinar se uma chave pode ser usada como uma chave de encapsulamento, usegetAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP (262). Para criar uma chave deencapsulamento, use genSymKey (p. 169) a fim de criar uma chave AES (digite 31).

Se você usar o parâmetro -wk para especificar uma chave de desencapsulamento externa, a chavede encapsulamento -w será usada para encapsular, mas não para desencapsular, a chave durante aimportação.

Obrigatório: sim-sess

Especifica a chave importada como uma chave de sessão.

Padrão: a chave importada é mantida como uma chave persistente (token) no cluster.

Obrigatório: não

185

Page 192: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-id

Especifica o ID da chave a ser importada.

Padrão: sem valor de ID.

Obrigatório: não-m_value

Especifica o número de usuários que devem aprovar qualquer operação criptográfica que use a chaveimportada. Insira um valor de 0 a 8.

Esse parâmetro é válido somente quando o parâmetro -u no comando compartilha a chave comusuários o suficiente para atender ao requisito de m_value.

Padrão: 0

Obrigatório: não-min_srv

Especifica o número mínimo de HSMs nos quais a chave importada é sincronizada antes da expiraçãodo valor do parâmetro -timeout. Se a chave não for sincronizada com o número especificado deservidores na hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Obrigatório: não-timout

Especifica o número de segundos a aguardar a sincronização da chave entre os HSMs quando oparâmetro min-serv é incluído. Se nenhum número for especificado, a sondagem continuará parasempre.

Padrão: sem limite

Obrigatório: não-u

Especifica a lista de usuários com os quais compartilhar a chave privada importada. Este parâmetrodá a outros usuários de criptografia (CUs) HSM permissão para usar a chave importada em operaçõescriptográficas.

Insira uma lista vírgula separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Não inclua oID do usuário do HSM atual. Para encontrar o ID do usuário de CUs no HSM, use listUsers (p. 199).

Padrão: somente o usuário atual pode utilizar a chave importada.

Obrigatório: não-wk

Especifica a chave a ser usada para encapsular a chave que está sendo importada. Insira o caminho eo nome de um arquivo que contém uma chave AES de texto simples.

Quando você inclui esse parâmetro, importPrivateKey usa a chave no arquivo -wk para encapsulara chave que está sendo importada. Ele também usa a chave especificada pelo parâmetro -w paradesencapsulá-la.

186

Page 193: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Padrão: use a chave de encapsulamento especificada no parâmetro -w para encapsular edesencapsular.

Obrigatório: não-attest

Executa uma verificação de declaração na resposta do firmware para garantir que o firmware no qualo cluster é executado não tenha sido comprometido.

Obrigatório: não

Tópicos relacionados

• wrapKey (p. 213)• unWrapKey (p. 206)• genSymKey (p. 169)• exportPrivateKey (p. 142)

importPubKeyO comando importPubKey na key_mgmt_util importa uma chave pública de formato PEM para um HSM.Você pode usá-lo para importar chaves públicas que foram geradas fora do HSM. Você também pode usaro comando para importar chaves que foram exportadas de um HSM, como as exportadas pelo comandoexportPubKey (p. 144).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

importPubKey -h

importPubKey -l <label> -f <key-file> [-sess] [-id <key-id>] [min_srv <minimum-number-of-servers>] [-timeout <number-of-seconds>]

Exemplos

Este exemplo mostra como usar importPubKey para importar uma chave pública para um HSM.

Example : Import a Public Key

Esse comando importa uma chave pública de um arquivo chamado public.pem com o rótuloimportedPublicKey. Quando o comando for bem-sucedido, importPubKey retornará um identificador dechave para a chave importada e uma mensagem de êxito.

Command: importPubKey -l importedPublicKey -f public.pem

Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS

Public Key Handle: 262230

187

Page 194: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

ParâmetrosEsse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-l

Especifica o rótulo da chave pública definido pelo usuário.

Obrigatório: sim-f

Especifica o nome do arquivo da chave a ser importada.

Obrigatório: sim-sess

Designa a chave importada como uma chave de sessão.

Padrão: a chave importada é mantida como uma chave persistente (token) no cluster.

Obrigatório: não-id

Especifica o ID da chave a ser importada.

Padrão: sem valor de ID.

Obrigatório: não-min_srv

Especifica o número mínimo de HSMs para os quais a chave importada é sincronizada antesda expiração do valor do parâmetro -timeout. Se a chave não for sincronizada com o númeroespecificado de servidores na hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Obrigatório: não-timout

Especifica o número de segundos a aguardar a sincronização da chave entre os HSMs quando oparâmetro min-serv é incluído. Se nenhum número for especificado, a sondagem continuará parasempre.

Padrão: sem limite

Obrigatório: não

188

Page 195: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Tópicos relacionados

• exportPubKey (p. 144)• Gerar chaves (p. 64)

imSymKeyO comando imSymKey na ferramenta key_mgmt_util importa uma cópia em texto simples de uma chavesimétrica de um arquivo no HSM. Você pode usá-lo para importar as chaves que você gera por qualquermétodo fora do HSM e as chaves que foram exportadas de um HSM, como as chaves que o comandoexSymKey (p. 145) grava em um arquivo.

Durante o processo de importação, imSymKey usa uma chave AES que você seleciona (a chave deencapsulamento) para encapsular (criptografar) e depois desencapsular (descriptografar) a chavea ser importada. No entanto, imSymKey funciona apenas em arquivos que contenham chaves emtexto simples. Para exportar e importar chaves criptografadas, use os comandos wrapKey (p. 213) eunWrapKey (p. 206).

Além disso, o comando imSymKey importa apenas chaves simétricas. Para importar chaves públicas,use importPubKey (p. 187). Para importar chaves privadas, use ImportPrivateKey (p. 184) ouwrapKey (p. 213).

As chaves importadas funcionam muito como as chaves geradas no HSM. No entanto, o valor do atributoOBJ_ATTR_LOCAL (p. 216) é zero, o que indica que não foi gerado localmente. Você pode usar ocomando a seguir para compartilhar uma chave simétrica ao importá-la. Você pode usar o comandoshareKey em cloudhsm_mgmt_util (p. 83) para compartilhar a chave após ela ser importada.

imSymKey -l aesShared -t 31 -f kms.key -w 3296 -u 5

Depois de importar uma chave, certifique-se de marcar ou excluir o arquivo de chave. Este comandonão impede que você importe o mesmo material de chave várias vezes. O resultado, várias chaves comidentificadores de chave distintos e o mesmo material de chave, dificultam o rastreamento do uso domaterial de chave e impedem que ela exceda seus limites criptográficos.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

imSymKey -h

imSymKey -f <key-file> -w <wrapping-key-handle> -t <key-type> -l <label> [-id <key-ID>] [-sess] [-wk <wrapping-key-file> ] [-attest] [-min_srv <minimum-number-of-servers>] [-timeout <number-of-seconds> ] [-u <user-ids>]

ExemplosEstes exemplos mostram como usar imSymKey para importar chaves simétricas em seus HSMs.

189

Page 196: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example : Importar uma chave simétrica AES

Este exemplo usa imSymKey para importar uma chave simétrica AES nos HSMs.

O primeiro comando usa o OpenSSL para gerar uma chave AES simétrica aleatória de 256 bits. Ele salvaa chave no arquivo aes256.key.

$ openssl rand -out aes256-forImport.key 32

O segundo comando usa imSymKey para importar a chave AES do arquivo aes256.key para os HSMs.Ele usa a chave 20, uma chave AES no HSM, como a chave de encapsulamento e especifica um rótulo deimported. Ao contrário do ID, o rótulo não precisa ser exclusivo no cluster. O valor do parâmetro -t (tipo)é 31, que representa o AES.

A saída mostra que a chave no arquivo foi encapsulada e desencapsulada, e depois importada para oHSM, onde recebeu o identificador de chave 262180.

Command: imSymKey -f aes256.key -w 20 -t 31 -l imported

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Unwrapped. Key Handle: 262180

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

O próximo comando usa getAttribute (p. 174) para obter o atributo OBJ_ATTR_LOCAL (atributo355 (p. 216)) da chave recém-importada e o grava no arquivo attr_262180.

Command: getAttribute -o 262180 -a 355 -out attributes/attr_262180Attributes dumped into attributes/attr_262180_imported file

Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

Ao examinar o arquivo de atributo, você pode ver que o valor do atributo OBJ_ATTR_LOCAL é zero, o queindica que o material de chave não foi gerado no HSM.

$ cat attributes/attr_262180_localOBJ_ATTR_LOCAL0x00000000

Example : mover uma chave simétrica entre clusters

Este exemplo mostra como usar exSymKey (p. 145) e imSymKey para mover uma chave AES em textosimples entre clusters. Você pode usar um processo como esse para criar um encapsulamento AES queexiste HSMs em ambos os clusters. Uma vez que a chave de encapsulamento compartilhada estiver emvigor, você pode usar wrapKey (p. 213) e unWrapKey (p. 206) para mover as chaves criptografadasentre os clusters.

O usuário CU que realiza essa operação deve ter permissão para fazer login nos HSMs em ambos osclusters.

190

Page 197: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O primeiro comando usa exSymKey (p. 145) para exportar a chave 14, uma chave AES de 32-bits, docluster 1 para o arquivo aes.key. Ele usa a chave 6, uma chave AES nos HSMs do cluster 1, como achave de encapsulamento.

Command: exSymKey -k 14 -w 6 -out aes.key

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes.key"

O usuário então faz login em key_mgmt_util no cluster 2 e executa um comando imSymKey para importara chave no arquivo aes.key para os HSMs no cluster 2. Esse comando usa a chave 252152, uma chaveAES nos HSMs do cluster 2, como a chave de encapsulamento.

Como as chaves de encapsulamento, que exSymKey (p. 145) e imSymKey usam, encapsulam eimediatamente desencapsulam as chaves de destino, as chaves de encapsulamento nos diferentesclusters não precisam ser iguais.

A saída mostra que a chave foi importada com sucesso no cluster 2 e recebeu um identificador de chavede 21.

Command: imSymKey -f aes.key -w 262152 -t 31 -l xcluster

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Unwrapped. Key Handle: 21

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Para provar que a chave 14 no cluster 1 e a chave 21 no cluster 2 possuem o mesmo material de chave,obtenha o valor de verificação de chave (KCV) de cada uma. Se os valores do KCV forem iguais, omaterial da chave é o mesmo.

O seguinte comando usa getAttribute (p. 174) no cluster 1 para gravar o valor do atributo KCV (atributo371) da chave 14 no arquivo attr_14_kcv. Em seguida, ele usa um comando cat para obter o conteúdodo arquivo attr_14_kcv.

Command: getAttribute -o 14 -a 371 -out attr_14_kcvAttributes dumped into attr_14_kcv file

$ cat attr_14_kcvOBJ_ATTR_KCV0xc33cbd

Esse comando semelhante usa getAttribute (p. 174) no cluster 2 para gravar o valor do atributo KCV(atributo 371) da chave 21 no arquivo attr_21_kcv. Em seguida, ele usa um comando cat para obter oconteúdo do arquivo attr_21_kcv.

Command: getAttribute -o 21 -a 371 -out attr_21_kcv

191

Page 198: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Attributes dumped into attr_21_kcv file

$ cat attr_21_kcvOBJ_ATTR_KCV0xc33cbd

A saída mostra que os valores KCV das duas chaves são os mesmos, o que prova que o material dechave é o mesmo.

Como o mesmo material de chave existe nos HSMs de ambos os clusters, agora você pode compartilharchaves criptografadas entre eles sem nunca expor a chave em texto simples. Por exemplo, você podeusar o comando wrapKey com a chave de encapsulamento 14 para exportar uma chave criptografadado cluster 1 e, em seguida, usar unWrapKey com a chave de encapsulamento 21 para importar a chavecriptografada para o cluster 2.

Example : Importar uma chave de sessão

Esse comando usa os parâmetros -sess de imSymKey para importar uma chave Triple DES de 192 bitsque é válida apenas na sessão atual.

O comando usa o parâmetro -f para especificar o arquivo que contém a chave a ser importada,o parâmetro -t para especificar o tipo de chave e o parâmetro -w para especificar a chave deencapsulamento. Ele usa o parâmetro -l para especificar um rótulo que categoriza a chave e o parâmetro-id para criar um identificador amigável, mas exclusivo, para ela. Ele também usa o parâmetro -attestpara verificar o firmware que está importando a chave.

A saída mostra que a chave foi encapsulada e desencapsulada com sucesso, importada para o HSM erecebeu o identificador de chave 37. Além disso, a verificação de atestado foi aprovada, o que indica que ofirmware não foi adulterado.

Command: imSymKey -f 3des192.key -w 6 -t 21 -l temp -id test01 -sess -attest

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Unwrapped. Key Handle: 37

Attestation Check : [PASS]

Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Em seguida, você pode usar os comandos getAttribute (p. 174) ou findKey (p. 151) para verificar osatributos da chave recém-importada. O comando a seguir usa findKey para verificar se a chave 37 possui otipo, o rótulo e o ID especificados pelo comando e se ela é uma chave de sessão. Como mostrado na linha5 da saída, findKey informa que a única chave que corresponde a todos os atributos é a chave 37.

Command: findKey -t 21 -l temp -id test01 -sess 1Total number of keys present 1

number of keys matched from start index 0::037

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

192

Page 199: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Parâmetros

-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

Exigido: Não-f

Especifica o arquivo que contém essa chave a ser importada.

O arquivo deve conter uma cópia em texto simples de uma chave AES ou Triple DES com ocomprimento especificado. As chaves RC4 e DES não são válidas em HSMs no modo FIPS.• AES: 16, 24 ou 32 bytes• Triple DES (3DES): 24 bytes

Obrigatório: sim-h

Exibe a ajuda referente ao comando.

Exigido: sim-id

Especifica um identificador definido pelo usuário para a chave. Digite uma string que seja exclusiva nocluster. O padrão é uma string vazia.

Padrão: sem valor de ID.

Exigido: Não-l

Especifica um rótulo definido pelo usuário para a chave. Digite uma string.

Você pode usar qualquer frase que ajude a identificar a chave. Como o rótulo não precisa serexclusivo, você pode usá-lo para agrupar e categorizar chaves.

Exigido: sim-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

Exigido: Não-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

193

Page 200: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

Padrão: a chave é persistente.

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não-t

Especifica o tipo da chave simétrica. Insira a constante que representa o tipo de chave. Por exemplo,para criar uma chave AES, insira -t 31.

Valores válidos:• 21: Triple DES (3DES).• 31: AES

Obrigatório: sim-u

Compartilha a chave que você está importando com usuários especificados. Esse parâmetro dá aoutros usuários de criptografia (CUs) do HSM permissão para usar essa chave em operações decriptografia.

Digite um ID ou uma lista separada por vírgulas de IDs de usuários do HSM, como -u 5,6. Nãoinclua o ID do usuário atual do HSM. Para encontrar um ID, você pode usar o comando listUsers naferramenta de linha de comando cloudhsm_mgmt_util ou o comando listUsers na ferramenta de linhade comando key_mgmt_util.

Obrigatório: não-w

Especifica o identificador de chave da chave de encapsulamento. Esse parâmetro é obrigatório. Paraencontrar os identificadores de chave, use o comando findKey (p. 151).

Uma chave de encapsulamento é uma chave no HSM que é usada para criptografar (encapsular)e depois descriptografar (desencapsular) a chave durante o processo de importação. Somente aschaves AES podem ser usadas como chaves de encapsulamento.

Você pode usar qualquer chave do AES (de qualquer tamanho) como uma chave de encapsulamento.Como a chave de encapsulamento encapsula e depois desencapsula imediatamente a chave dedestino, você pode usar como chave AES somente de sessão como uma chave de encapsulamento.Para determinar se uma chave pode ser usada como uma chave de encapsulamento, usegetAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP (262). Para criar uma chave deencapsulamento, use genSymKey (p. 169) a fim de criar uma chave AES (digite 31).

194

Page 201: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Se você usar o parâmetro -wk para especificar uma chave de encapsulamento externa, a chave deencapsulamento -w será usada para desencapsular, mas não para encapsular, a chave que estásendo importada.

Note

A chave 4 é uma chave interna sem suporte. Recomendamos usar uma chave AES criada egerenciada por você como a chave de encapsulamento.

Obrigatório: sim-wk

Use a chave AES no arquivo especificado para encapsular a chave que está sendo importada. Insira ocaminho e o nome de um arquivo que contém uma chave AES de texto simples.

Durante a inclusão desse parâmetro. imSymKey usa a chave no arquivo -wk para encapsular achave que está sendo importada e usa a chave no HSM que é especificada pelo parâmetro -w paradesencapsulá-la. Os valores dos parâmetros -w e -wk devem ser resolvidos para a mesma chave detexto simples.

Padrão: use a chave de encapsulamento no HSM para desencapsular.

Obrigatório: não

Tópicos relacionados

• genSymKey (p. 169)• exSymKey (p. 145)• wrapKey (p. 213)• unWrapKey (p. 206)• exportPrivateKey (p. 142)• exportPubKey (p. 144)

insertMaskedObjectO comando insertMaskedObject na key_mgmt_util insere um objeto mascarado de um arquivo em um HSMdesignado. Objetos mascarados são objetos clonados que são extraídos de um HSM usando o comandoextractMaskedObject (p. 150). Eles só podem ser usados após inseri-los novamente no cluster original.Você só pode inserir um objeto mascarado no mesmo cluster do qual ele foi gerado ou em um clone dessecluster. Isso inclui quaisquer versões clonadas do cluster original geradas ao copiar um backup entreregiões (p. 45) e usar esse backup para criar um novo cluster (p. 46).

Objetos mascarados são uma maneira eficiente de descarregar e sincronizar chaves, incluindo chavesnonextractable (isto é, chaves que têm um OBJ_ATTR_EXTRACTABLE (p. 216) valor de 0). Dessa forma,as chaves podem ser sincronizadas com segurança em clusters relacionados em diferentes regiões, sem anecessidade de atualizar o arquivo de configuração (p. 220) do AWS CloudHSM.

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

insertMaskedObject -h

insertMaskedObject -f <filename> [-min_srv <minimum-number-of-servers>]

195

Page 202: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

[-timeout <number-of-seconds>]

ExemplosEste exemplo mostra como usar insertMaskedObject para inserir um arquivo de objeto mascarado em umHSM.

Example : Insert a Masked Object

Esse comando insere um objeto mascarado em um HSM de um arquivo denominado maskedObj. Quandoo comando for bem-sucedido, insertMaskedObject retornará um identificador de chave para a chavedescriptografada do objeto mascarado e uma mensagem de êxito.

Command: insertMaskedObject -f maskedObj

Cfm3InsertMaskedObject returned: 0x00 : HSM Return: SUCCESS New Key Handle: 262433

Cluster Error Status Node id 2 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

ParâmetrosEsse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim-f

Especifica o nome do arquivo do objeto mascarado a ser inserido.

Exigido: sim-min_srv

Especifica o número mínimo de servidores nos quais o objeto mascarado inserido é sincronizadoantes da expiração do valor do parâmetro -timeout. Se o objeto não for sincronizado com o númeroespecificado de servidores na hora alocada, ela não será inserido.

Padrão: 1

Obrigatório: não-timout

Especifica o número de segundos a aguardar a sincronização da chave entre os servidores quandoo parâmetro min-serv é incluído. Se nenhum número for especificado, a sondagem continuará parasempre.

Padrão: sem limite

Obrigatório: não

Tópicos relacionados

• extractMaskedObject (p. 150)

196

Page 203: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• syncKey (p. 127)• Copiar um backup entre regiões (p. 45)• Criar um cluster do AWS CloudHSM a partir de um backup anterior (p. 46)

IsValidKeyHandlefileO comando IsValidKeyHandlefile na key_mgmt_util é usado para descobrir se um arquivo de chave emum HSM contém uma chave privada real ou uma chave PEM falsa. Um arquivo PEM falso não contém omaterial da chave privada real, mas, em vez disso, faz referência à chave privada no HSM. Esse arquivopode ser usado para estabelecer o descarregamento de SSL/TLS do seu servidor web para o AWSCloudHSM. Para obter mais informações, consulte Descarregamento de SSL/TLS no Linux (p. 294).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

IsValidKeyHandlefile -h

IsValidKeyHandlefile -k <private-key-handle -f <private-key-file>

Exemplos

Esses exemplos mostram como usar IsValidKeyHandlefile para determinar se um determinado arquivo dechave contém o material de chave real ou o material de chave PEM falsa.

Example : Validate a Real Private Key

Esse comando confirma que o arquivo chamado privateKey.pem contém o material de chave real.

Command: IsValidKeyHandlefile -f privateKey.pem

Input key file has real private key

Example : Invalidate a Fake PEM Key

Esse comando confirma que o arquivo chamado caviumKey.pem contém o material de chave PEM falsafeito no identificador de chave 15.

Command: IsValidKeyHandlefile -f caviumKey.pem Input file has invalid key handle: 15

Parâmetros

Esse comando usa os seguintes parâmetros.

-h

Exibe a ajuda da linha de comando para o comando.

Obrigatório: sim

197

Page 204: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-f

Especifica o nome do arquivo a ser verificado para ver se há material de chave válido.

Exigido: sim

Tópicos relacionados

• getCaviumPrivKey (p. 177)• Descarregamento de SSL/TLS no Linux (p. 294)

listAttributesO comando listAttributes na key_mgmt_util lista os atributos de uma chave do AWS CloudHSM e asconstantes que os representam. Você usa essas constantes para identificar os atributos nos comandosgetAttribute (p. 174) e setAttribute (p. 202). Para ajudar a interpretar os atributos de chave, consulteReferência de atributos de chave (p. 216).

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

Esse comando não possui parâmetros.

listAttributes

Exemplo

Este comando lista os principais atributos que você pode obter e alterar na key_mgmt_util, bem como asconstantes que os representam. Para ajudar a interpretar os atributos de chave, consulte Referência deatributos de chave (p. 216).

Para representar todos os atributos no comando getAttribute (p. 174) em key_mgmt_util, use 512.

Command: listAttributes

Following are the possible attribute values for getAttributes:

OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_KCV = 371

198

Page 205: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Tópicos relacionados

• listAttributes (p. 115) em cloudhsm_mgmt_util• getAttribute (p. 174)• setAttribute (p. 202)• Referência de atributos de chave (p. 216)

listUsersO comando listUsers na key_mgmt_util obtém os usuários nos HSMs, juntamente com seu tipo de usuárioe outros atributos.

Na key_mgmt_util, listUsers retorna a saída que representa todos os HSMs do cluster, mesmo quenão sejam consistentes. Para obter informações sobre os usuários em cada HSM, use o comandolistUsers (p. 199) em cloudhsm_mgmt_util.

Os comandos de usuários na key_mgmt_util, listUsers e getKeyInfo (p. 179), são comandossomente leitura que os usuários de criptografia (CUs) têm permissão para executar. Os comandos degerenciamento de usuários restantes fazem parte da cloudhsm_mgmt_util. Eles são administrados poroficiais de criptografia (CO) que têm permissões de gerenciamento de usuários.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

listUsers

listUsers -h

Exemplo

Esse comando lista os usuários de HSMs no cluster e seus atributos. Você pode usar o atributo UserID para identificar usuários em outros comandos, como findKey (p. 151), getAttribute (p. 174) egetKeyInfo (p. 179).

Command: listUsers

Number Of Users found 4

Index User ID User Type User Name MofnPubKey LoginFailureCnt 2FA 1 1 PCO admin NO 0 NO 2 2 AU app_user NO 0 NO 3 3 CU alice YES 0 NO 4 4 CU bob NO 0 NO 5 5 CU trent YES 0 NO

Cfm3ListUsers returned: 0x00 : HSM Return: SUCCESS

A saída inclui os seguintes atributos do usuário:

199

Page 206: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

• User ID: identifica o usuário em comandos da key_mgmt_util e do cloudhsm_mgmt_util (p. 83).• User type (p. 11): determina as operações que o usuário pode executar no HSM.• User Name: exibe o nome amigável definido pelo usuário para o usuário.• MofnPubKey: indica se o usuário registrou um par de chaves para assinar tokens de autenticação de

quorum (p. 69).• LoginFailureCnt:• 2FA: indica que o usuário habilitou a autenticação multifator.

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim

Tópicos relacionados

• listUsers (p. 199) na cloudhsm_mgmt_util• findKey (p. 151)• getAttribute (p. 174)• getKeyInfo (p. 179)

loginHSM e logoutHSMOs comandos loginHSM e logoutHSM na key_mgmt_util permitem que você faça login e logout dosHSMs em um cluster. Quando conectado aos HSMs, você pode usar a key_mgmt_util para realizar umavariedade de operações de gerenciamento de chaves, incluindo geração, sincronização e encapsulamentode chaves públicas e privadas.

Antes de executar qualquer comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132). Paragerenciar chaves com a key_mgmt_util, você deve fazer login nos HSMs como um usuário de criptografia(CU) (p. 11).

Note

Se você exceder cinco tentativas incorretas de login, sua conta será bloqueada. Se você criouseu cluster antes de fevereiro de 2018, sua conta será bloqueada após 20 tentativas incorretasde login. Para desbloquear a conta, um responsável pela criptografia (CO) precisará redefinir suasenha usando o comando changePswd (p. 92) no cloudhsm_mgmt_util.Se você tiver mais de um HSM no cluster, pode ser que mais tentativas de login sejam permitidasantes de a sua conta ser bloqueada. Isso pode ocorrer porque o cliente do CloudHSM divide acarga entre vários HSMs. Sendo assim, pode ser que as tentativas de login não comecem sempreno mesmo HSM. Se você estiver testando essa funcionalidade, recomendamos fazer isso em umcluster com apenas um HSM ativo.

Syntax

loginHSM -h

loginHSM -u <user type> { -p | -hpswd } <password> -s <username>

200

Page 207: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

ExampleEste exemplo mostra como fazer login e logout de HSMs em um cluster com os comandos logoutHSM eloginHSM.

Example : Log in to the HSMs

Este comando regista-o para os hsms como um utilizador crypto (CU) com o nome de utilizadorexample_user e palavra-passe aws. A saída mostra que iniciou sessão em todos os hsms no grupo.

Command: loginHSM -u CU -s example_user -p aws

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Example : Inicie sessão com uma palavra-passe oculta

Este comando é o mesmo que o exemplo acima, excepto quando especificar que o sistema deve ocultar apalavra-passe.

Command: loginHSM -u CU -s example_user -hpswd

O sistema pede-lhe a sua palavra-passe. Você introduz a palavra-passe, o sistema oculta a palavra-passee a saída mostra que o comando foi bem sucedido e que ligou ao hsms.

Enter password:

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Command:

Example : Log out of the HSMs

Este comando termina a sua sessão no hsms. A saída mostra que terminou a sessão de todos os hsms nogrupo.

Command: logoutHSM

Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS Cluster StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

Parameters

h.

Exibe a ajuda referente a esse comando.

201

Page 208: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

u

Especifica o tipo de usuário de login. Para usar a key_mgmt_util, você deve fazer login como um CU.

Obrigatório Sim.

Especifica o nome de usuário de login.

Obrigatório Sim.{ -p | -hpswd }

Especifique a palavra-passe de início de sessão com -p. A palavra-passe aparece na sequênciaquando o digitar. Para ocultar a sua palavra-passe, utilize o -hpswd parâmetro em vez de -p e siga alinha de comandos.

Obrigatório Sim.

Tópicos relacionados

• exit (p. 141)

setAttributeO comando setAttribute na key_mgmt_util converte uma chave que é válida apenas na sessão atual emuma chave persistente que existirá até que você a exclua. Ele faz isso alterando o valor do atributo detoken da chave (OBJ_ATTR_TOKEN) de false (0) para true (1). Você só pode alterar os atributos daschaves que possui.

Você também pode usar o comando setAttribute na cloudhsm_mgmt_util para alterar os atributos derótulos, encapsulamento, desencapsulamento, criptografia e descriptografia.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

setAttribute -h

setAttribute -o <object handle> -a 1

ExemploEste exemplo mostra como converter uma chave de sessão em uma chave persistente.

O primeiro comando usa o parâmetro -sess de genSymKey (p. 169) para criar uma chave AES de 192bits que é válida apenas na sessão atual. A saída mostra que o identificador da nova chave de sessão é262154.

Command: genSymKey -t 31 -s 24 -l tmpAES -sess Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

Symmetric Key Created. Key Handle: 262154

Cluster Error Status

202

Page 209: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Node id 1 and err state 0x00000000 : HSM Return: SUCCESS

Esse comando usa findKey (p. 151) para encontrar as chaves de sessão na sessão atual. A saídaverifica que a chave 262154 é uma chave de sessão.

Command: findKey -sess 1

Total number of keys present 1

number of keys matched from start index 0::0262154

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Esse comando usa setAttribute para converter a chave 262154 de uma chave de sessão em uma chavepersistente. Para fazer isso, ele muda o valor do atributo de token (OBJ_ATTR_TOKEN) da chave de 0(false) para 1 (true). Para ajudar a interpretar os atributos de chave, consulte Referência de atributos dechave (p. 216).

O comando usa o parâmetro -o para especificar o identificador de chave (262154) e o parâmetro -apara especificar a constante que representa o atributo de token (1). Quando você executa o comando, elesolicita um valor para o atributo de token. O único valor válido é 1 (true); o valor de uma chave persistente.

Command: setAttribute -o 262154 -a 1 This attribute is defined as a boolean value. Enter the boolean attribute value (0 or 1):1

Cfm3SetAttribute returned: 0x00 : HSM Return: SUCCESS

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Para confirmar que a chave 262154 agora é persistente, esse comando usa findKey para procurar chavesde sessão (-sess 1) e chaves persistentes (-sess 0). Dessa vez, o comando não encontra nenhumachave de sessão, mas retorna 262154 na lista de chaves persistentes.

Command: findKey -sess 1

Total number of keys present 0

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Command: findKey -sess 0

Total number of keys present 5

number of keys matched from start index 0::46, 7, 524296, 9, 262154

Cluster Error Status

203

Page 210: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-o

Especifica o identificador da chave de destino. Você pode especificar apenas uma chave em cadacomando. Para obter o identificador de chave de uma chave, use findKey (p. 151).

Obrigatório: sim-a

Especifica a constante que representa o atributo que você deseja alterar. O único valor válido é 1, querepresenta o atributo de token, OBJ_ATTR_TOKEN.

Para obter os atributos e seus valores inteiros, use listAttributes (p. 198).

Obrigatório: sim

Tópicos relacionados

• setAttribute (p. 121) na cloudhsm_mgmt_util• getAttribute (p. 174)• listAttributes (p. 198)• Referência de atributos de chave (p. 216)

signO comando sign na key_mgmt_util usa uma chave privada escolhida para gerar uma assinatura para umarquivo.

Para usar sign, primeiro você deve ter uma chave privada no HSM. Você pode gerar uma chave privadacom os comandos genSymKey (p. 169), genRSAKeyPair (p. 164) ou genECCKeyPair (p. 160). Vocêtambém pode importar uma com o comando importPrivateKey (p. 184). Para mais informações, consulteGerar chaves (p. 64).

O comando sign usa um mecanismo de assinatura designada pelo usuário, representado por um númerointeiro, para assinar um arquivo de mensagem. Para obter uma lista de possíveis mecanismos deassinatura, consulte Parâmetros (p. 205).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

sign -h

sign -f <file name> -k <private key handle>

204

Page 211: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

-m <signature mechanism> -out <signed file name>

ExemploEste exemplo mostra como usar sign para assinar um arquivo.

Example : Sign a file

Esse comando assina um arquivo chamado messageFile com uma chave privada com identificador266309. Ele usa o mecanismo de assinatura SHA256_RSA_PKCS (1) e salva o arquivo assinado resultantecomo signedFile.

Command: sign -f messageFile -k 266309 -m 1 -out signedFile

Cfm3Sign returned: 0x00 : HSM Return: SUCCESS

signature is written to file signedFile

Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESSNode id 1 and err state 0x00000000 : HSM Return: SUCCESSNode id 2 and err state 0x00000000 : HSM Return: SUCCESS

ParâmetrosEsse comando usa os seguintes parâmetros.

-f

O nome do arquivo a ser assinado.

Exigido: sim-k

O identificador da chave privada a ser usada para assinatura.

Exigido: sim-m

Um inteiro que representa o mecanismo de assinatura a ser usado para assinatura. Os mecanismospossíveis correspondem aos seguintes números inteiros:

Mecanismo de assinatura Número inteiro correspondente

SHA1_RSA_PKCS 0

SHA256_RSA_PKCS 1

SHA384_RSA_PKCS 2

SHA512_RSA_PKCS 3

SHA224_RSA_PKCS 4

SHA1_RSA_PKCS_PSS 5

SHA256_RSA_PKCS_PSS 6

SHA384_RSA_PKCS_PSS 7

205

Page 212: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Mecanismo de assinatura Número inteiro correspondente

SHA512_RSA_PKCS_PSS 8

SHA224_RSA_PKCS_PSS 9

ECDSA_SHA1 15

ECDSA_SHA224 16

ECDSA_SHA256 17

ECDSA_SHA384 18

ECDSA_SHA512 19

Exigido: sim-out

O nome do arquivo no qual o arquivo assinado será salvo.

Exigido: sim

Tópicos relacionados

• verify (p. 211)• importPrivateKey (p. 184)• genRSAKeyPair (p. 164)• genECCKeyPair (p. 160)• genSymKey (p. 169)• Gerar chaves (p. 64)

unWrapKeyO comando unWrapKey na ferramenta key_mgmt_util importa uma chave simétrica ou privadaencapsulada (criptografada) de um arquivo para o HSM. Ele é projetado para importar chavescriptografadas que foram encapsuladas pelo comando wrapKey (p. 213) nakey_mgmt_util, mas tambémpode ser usado para desencapsular chaves que foram encapsuladas com outras ferramentas. No entanto,nessas situações, recomendamos usar as bibliotecas de sofware PKCS#11 (p. 226) ou JCE (p. 253)para desencapusular a chave.

As chaves importadas funcionam como as chaves geradas pelo AWS CloudHSM. No entanto, o valor deseu atributo OBJ_ATTR_LOCAL (p. 216) é zero, o que indica que não foi gerada localmente.

Depois de importar uma chave, certifique-se de marcar ou excluir o arquivo de chave. Esse comando nãoimpede que você importe o mesmo material de chave várias vezes. O resultado — várias chaves comidentificadores de chave distintos e o mesmo material de chave — dificultam o rastreamento do uso domaterial de chave e impedem que elas excedam seus limites de criptografia.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

unWrapKey -h

206

Page 213: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

unWrapKey -f <key-file-name> -w <wrapping-key-handle> [-sess] [-min_srv <minimum-number-of-HSMs>] [-timeout <number-of-seconds>] [-aad <additional authenticated data filename>] [-tag_size <tag size>] [-iv_file <IV file>] [-attest] [-m <wrapping-mechanism>] [-t <hash-type>] [-nex] [-u <user id list>] [-m_value <number of users needed for approval>] [-noheader] [-l <key-label>] [-id <key-id>] [-kt <key-type>] [-kc <key-class] [-i <unwrapping-IV>]

Exemplo

Esses exemplos mostram como usar unWrapKey para importar uma chave encapsulada de um arquivopara os HSMs. No primeiro exemplo, desencapsulamos uma chave que foi encapsulada com o comandowrapKey (p. 213) da key_mgmt_util, e que, portanto, tem um cabeçalho. No segundo exemplo,desencapsulamos uma chave que foi encapsulada fora da key_mgmt_util, e que, portanto, não tem umcabeçalho.

Example : desencapsular uma chave (com cabeçalho)

Esse comando importa uma cópia encapsulada de uma chave simétrica 3DES em um HSM. A chave édesencapsulada com uma chave AES com rótulo 6, que é criptograficamente idêntica a que foi usada paraencapsular a chave 3DES. A saída mostra que a chave no arquivo foi desencapsulada e importada, e queo identificador da chave importada é 29.

Command: unWrapKey -f 3DES.key -w 6 -m 4

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Key Unwrapped. Key Handle: 29

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Example : desencapsular uma chave (sem cabeçalho)

Esse comando importa uma cópia encapsulada de uma chave simétrica 3DES em um HSM. A chave édesencapsulada com uma chave AES com rótulo 6, que é criptograficamente idêntica a que foi usadapara encapsular a chave 3DES. Como essa chave 3DES não foi encapsulada com a key_mgmt_util, oparâmetro noheader é especificado, juntamente com seus parâmetros de acompanhamento necessários:um rótulo de chave (unwrapped3DES), uma classe de chave (4) e um tipo de chave (21). A saída mostraque a chave no arquivo foi desencapsulada e importada, e que o identificador da chave importada é 8.

Command: unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4 Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS

207

Page 214: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS

Key Unwrapped. Key Handle: 8

Cluster Error Status Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-f

O caminho e o nome do arquivo que contém a chave encapsulada.

Obrigatório: sim-w

Especifica a chave de encapsulamento. Insira o identificador de uma chave AES ou RSA noHSM. Esse parâmetro é obrigatório. Para encontrar identificadores de chaves, use o comandofindKey (p. 151).

Para criar uma chave de empacotamento, use genSymKey (p. 169) para gerar uma chave AES(tipo 31) ou genRSAKeyPair (p. 164) para gerar um par de chaves RSA (tipo 0). Se estiver usandoum par de chaves RSA, certifique-se de encapsular a chave com uma das chaves e desencapsularcom outra. Para verificar se uma chave pode ser usada como uma chave de encapsulamento,use getAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP, representado por 262constante.

Exigido: sim-sess

Cria uma chave existente apenas na sessão atual. A chave não poderá ser recuperada depois dotérmino da sessão.

Use esse parâmetro quando você precisar apenas de uma chave, como uma chave encapsuladoraque criptografe e depois descriptografe outra chave. Não use uma chave de sessão para criptografardados que você talvez precise descriptografar após a sessão.

Para alterar uma chave se sessão para uma chave persistente (token), use setAttribute (p. 202).

Padrão: a chave é persistente.

Exigido: Não-min_srv

Especifica o número mínimo de HSMs nos quais a chave é sincronizada antes da expiração do valordo parâmetro -timeout. Se a chave não for sincronizada com o número especificado de servidoresna hora alocada, ela não será criada.

O AWS CloudHSM sincroniza automaticamente todas as chaves com todos os HSMs no cluster. Paraagilizar o processo, configure o valor de min_srv como menos que o número de HSMs no cluster edefina um valor de tempo limite baixo. No entanto, algumas solicitações talvez não gerem uma chave.

Padrão: 1

208

Page 215: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exigido: Não-timeout

Especifica por quanto tempo (em segundos) o comando aguarda uma chave ser sincronizada com onúmero de HSMs especificado pelo parâmetro min_srv.

Esse parâmetro é válido somente quando o parâmetro min_srv é usado também no comando.

Padrão: sem tempo limite. O comando aguarda indefinidamente e retorna somente quando a chave ésincronizada com o número mínimo de servidores.

Exigido: Não-attest

Executa uma verificação de integridade que confirma se o firmware no qual o cluster é executado nãofoi violado.

Padrão: sem verificação de declaração.

Exigido: Não-m

O valor que representa o mecanismo de encapsulamento. O CloudHSM é compatível com osseguintes mecanismos:

Mecanismo Valor

AES_KEY_WRAP_PAD_PKCS5 4

NIST_AES_WRAP_NO_PAD 5

NIST_AES_WRAP_PAD 6

RSA_AES 7

RSA_OAEP (para obter o tamanho máximo dosdados, consulte a observação mais adiantenesta seção)

8

NIST_TDEA_WRAP (o tamanho dos dados dachave deve ser múltiplo de 4 bytes)

9

AES_GCM 10

CLOUDHSM_AES_GCM 11

Obrigatório: sim-t

Algoritmo hash Valor

SHA1 2

SHA256 3

SHA384 4

SHA512 5

209

Page 216: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Algoritmo hash Valor

SHA224 (válido para RSA_AES e RSA_OAEPmecanismos)

6

Note

Ao usar o mecanismo de encapsulamento RSA_OAEP, o tamanho máximo da chave quevocê pode encapsular é determinado pelo módulo da chave RSA e pelo comprimentodo hash especificados como: tamanho máximo da chave = (modulusLengthInBytes-(2*hashLengthInBytes)-2.

Exigido: Não-noheader

Se estiver desencapsulando uma chave que foi encapsulada fora a key_mgmt_util, você deveráespecificar esse parâmetro e todos os outros parâmetros associados.

Obrigatório: não

Note

Se especificar esse parâmetro, você também deverá especificar os seguintes parâmetros -noheader:

• -l

Especifica o rótulo a ser adicionado à chave desencapsulada.

Obrigatório: sim• -kc

Especifica a classe da chave a ser desencapsulada. Os seguintes valores são aceitáveis:

3 = chave privada de um par de chaves pública/privada

4 = chave secreta (simétrica).

Obrigatório: sim• -kt

Especifica o tipo da chave a ser desencapsulada. Os seguintes valores são aceitáveis:

0 = RSA

1 = DSA

3 = ECC

16 = GENERIC_SECRET

21 = DES3

31 = AES

Obrigatório: sim

Você também pode opcionalmente especificar os seguintes parâmetros -noheader :• -id

210

Page 217: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

O ID a ser adicionado à chave desencapsulada.

Obrigatório: não• -i

O desencapsulamento do vetor de inicialização (IV) a ser usado.

Obrigatório: não

Tópicos relacionados

• wrapKey (p. 213)• exSymKey (p. 145)• imSymKey (p. 189)

verificarO comando verify na key_mgmt_util confirma se um arquivo foi assinado ou não por uma determinadachave. Para fazer isso, o comando verify compara um arquivo assinado com um arquivo de origem eanalisa se eles estão criptograficamente relacionados com base em uma determinada chave pública eno mecanismo de assinatura. Os arquivos podem ser assinados no AWS CloudHSM com a operaçãosign (p. 204).

Os mecanismos de assinatura são representados pelos inteiros listados na seção deparâmetros (p. 212).

Para executar um comando da key_mgmt_util, você deve iniciar key_mgmt_util (p. 132) e fazerlogin (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

verify -h

verify -f <message-file> -s <signature-file> -k <public-key-handle> -m <signature-mechanism>

ExemploEsses exemplos mostram como usar verify para verificar se uma determinada chave pública foi usada paraassinar um determinado arquivo.

Example : Successfully Verify a File Signature

Esse comando tenta verificar se um arquivo chamado hardwarCert.crt foi assinado pela chavepública 262276 usando o mecanismo de assinatura SHA256_RSA_PKCS para produzir o arquivo assinadohardwareCertSigned. Como os parâmetros fornecidos representam um relacionamento de assinaturaverdadeiro, o comando retorna uma mensagem de êxito.

Command: verify -f hardwareCert.crt -s hardwareCertSigned -k 262276 -m 1

Signature verification successful

Cfm3Verify returned: 0x00 : HSM Return: SUCCESS

211

Page 218: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Example : provar relacionamento de assinatura falso

Esse comando verifica se um arquivo chamado hardwareCert.crt foi assinado pela chave pública262276 usando o mecanismo de assinatura SHA256_RSA_PKCS para produzir o arquivo assinadouserCertSigned. Como os parâmetros fornecidos não formam um relacionamento de assinaturaverdadeiro, o comando retorna uma mensagem de erro.

Command: verify -f hardwarecert.crt -s usercertsigned -k 262276 -m 1Cfm3Verify rturned: 0x1b

CSP Error: ERR_BAD_PKCS_DATA

ParâmetrosEsse comando usa os seguintes parâmetros.

-f

O nome do arquivo de mensagens de origem.

Exigido: sim-s

O nome do arquivo assinado.

Obrigatório: sim-k

O identificador da chave pública que é considerado para ser usado para assinar o arquivo.

Exigido: sim-m

Um inteiro que representa o mecanismo de assinatura proposto usado para assinar o arquivo. Osmecanismos possíveis correspondem aos seguintes números inteiros:

Mecanismo de assinatura Número inteiro correspondente

SHA1_RSA_PKCS 0

SHA256_RSA_PKCS 1

SHA384_RSA_PKCS 2

SHA512_RSA_PKCS 3

SHA224_RSA_PKCS 4

SHA1_RSA_PKCS_PSS 5

SHA256_RSA_PKCS_PSS 6

SHA384_RSA_PKCS_PSS 7

SHA512_RSA_PKCS_PSS 8

SHA224_RSA_PKCS_PSS 9

ECDSA_SHA1 15

212

Page 219: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Mecanismo de assinatura Número inteiro correspondente

ECDSA_SHA224 16

ECDSA_SHA256 17

ECDSA_SHA384 18

ECDSA_SHA512 19

Exigido: sim

Tópicos relacionados

• sign (p. 204)• getCert (p. 160)• Gerar chaves (p. 64)

wrapKeyO comando wrapKey na key_mgmt_util exporta uma cópia criptografada de uma chave simétrica ouprivada do HSM para um arquivo no disco. Ao executar wrapKey, você especifica a chave a ser exportada,uma chave no HSM para criptografar (encapsular) a chave que deseja exportar e o arquivo de saída.

O comando wrapKey grava a chave criptografada em um arquivo que você especifica, mas não removea chave do HSM ou impede que você a use em operações de criptografia. É possível exportar a mesmachave várias vezes.

Somente o proprietário de uma chave, ou seja, o usuário CU que a criou, pode exportá-la. Os usuários quecompartilham a chave podem usá-la em operações de criptografia, mas não podem exportá-la.

Para importar a chave criptografada novamente no HSM, use unWrapKey (p. 206). Para exportar umachave de texto simples de um HSM, use exSymKey (p. 145) ou exportPrivateKey (p. 142) conformeapropriado. O comando aesWrapUnwrap (p. 136) não pode descriptografar (desencapsular) chavesencapsuladas por wrapKey.

Antes de executar qualquer comando do key_mgmt_util, é necessário iniciar o key_mgmt_util (p. 132) efazer login (p. 133) no HSM como um usuário de criptografia (CU).

Sintaxe

wrapKey -h

wrapKey -k <exported-key-handle> -w <wrapping-key-handle> -out <output-file> [-m <wrapping-mechanism>] [-aad <addtional authenticated data filename>] [-t <hash-type>] [-noheader] [-i <wrapping IV>] [-iv_file <IV file>] [-tag_size <num_tag_bytes>>]

213

Page 220: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Exemplo

Example

Esse comando exporta uma chave simétrica Triple DES (3DES) de 192 bits (identificador de chave 7).Ele usa uma chave AES de 256 bits no HSM (identificador de chave 14) para encapsular a chave 7. Emseguida, ele grava a chave 3DES criptografada no arquivo 3DES-encrypted.key.

A saída mostra que a chave 7 (3DES) foi encapsulada e gravada com sucesso no arquivo especificado. Achave criptografada tem 307 bytes de comprimento.

Command: wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4

Key Wrapped.

Wrapped Key written to file "3DES-encrypted.key length 307

Cfm2WrapKey returned: 0x00 : HSM Return: SUCCESS

Parâmetros

-h

Exibe a ajuda referente ao comando.

Exigido: sim-k

O identificador da chave que você deseja exportar. Digite o identificador da uma chave simétricaou particular de sua propriedade. Para encontrar os identificadores de chaves, use o comandofindKey (p. 151).

Para verificar se uma chave pode ser exportada, use o comando getAttribute (p. 174) para obter ovalor do atributo OBJ_ATTR_EXTRACTABLE, que é representado pela constante 354. Para ajudar ainterpretar os atributos de chave, consulte Referência de atributos de chave (p. 216).

Você pode exportar apenas as chaves que você possui. Para encontrar o proprietário de uma chave,use o comando getKeyInfo (p. 179).

Obrigatório: sim-w

Especifica a chave de encapsulamento. Insira o identificador de uma chave AES ou RSA noHSM. Esse parâmetro é obrigatório. Para encontrar identificadores de chaves, use o comandofindKey (p. 151).

Para criar uma chave de empacotamento, use genSymKey (p. 169) para gerar uma chave AES(tipo 31) ou genRSAKeyPair (p. 164) para gerar um par de chaves RSA (tipo 0). Se estiver usandoum par de chaves RSA, certifique-se de encapsular a chave com uma das chaves e desencapsularcom outra. Para verificar se uma chave pode ser usada como uma chave de encapsulamento,use getAttribute (p. 174) para obter o valor do atributo OBJ_ATTR_WRAP, representado por 262constante.

Exigido: sim-out

O caminho e o nome do arquivo de saída. Quando o comando é bem-sucedido, esse arquivo contémuma cópia criptografada da chave exportada. Se o arquivo já existir, o comando o sobrescreverá semaviso prévio.

214

Page 221: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Obrigatório: sim-m

O valor que representa o mecanismo de encapsulamento. O CloudHSM é compatível com osseguintes mecanismos:

Mecanismo Valor

AES_KEY_WRAP_PAD_PKCS5 4

NIST_AES_WRAP_NO_PAD 5

NIST_AES_WRAP_PAD 6

RSA_AES 7

RSA_OAEP (para obter o tamanho máximo dosdados, consulte a observação mais adiantenesta seção)

8

NIST_TDEA_WRAP (o tamanho dos dados dachave deve ser múltiplo de 4 bytes)

9

AES_GCM 10

CLOUDHSM_AES_GCM 11

Obrigatório: sim-t

O valor que representa o algoritmo hash. O CloudHSM é compatível com os seguintes algoritmos:

Algoritmo hash Valor

SHA1 2

SHA256 3

SHA384 4

SHA512 5

SHA224 (válido para RSA_AES e RSA_OAEPmecanismos)

6

Obrigatório: não

Note

Ao usar o mecanismo de encapsulamento RSA_OAEP, o tamanho máximo da chave quevocê pode encapsular é determinado pelo módulo da chave RSA e pelo comprimentodo hash especificados como: tamanho máximo da chave = (modulusLengthInBytes-2*hashLengthInBytes-2).

-aad

O nome do arquivo que contém AAD.

215

Page 222: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Note

Válido apenas para os mecanismos CLOUDHSM_AES_GCM e AES_GCM.

Exigido: Não-noheader

Omite o cabeçalho que especifica os atributos de chave (p. 134) específicos do CloudHSM. Use esteparâmetro somente se desejar desencapsular a chave com ferramentas fora da key_mgmt_util.

Exigido: Não-i

O vetor de inicialização (IV) (valor hexadecimal).

Note

Válido somente quando passado com o parâmetro -noheader para mecanismosCLOUDHSM_AES_KEY_WRAP, NIST_AES_WRAP, e NIST_TDEA_WRAP.

Exigido: Não-iv_file

O arquivo no qual você deseja gravar o valor IV obtido em resposta.

Note

Válido somente quando passado com o parâmetro -noheader para o mecanismo AES_GCM.

Exigido: Não-tag_size

O tamanho da tag a ser salva junto com o blob encapsulado.

Note

Válido somente quando passado com o parâmetro -noheader para mecanismos AES_GCM eCLOUDHSM_AES_GCM. O tamanho mínimo da tag é oito.

Obrigatório: não

Tópicos relacionados

• exSymKey (p. 145)• imSymKey (p. 189)• unWrapKey (p. 206)

Referência de atributos de chaveOs comandos da key_mgmt_util usam constantes para representar os atributos de chaves em um HSM.Este tópico pode ajudá-lo a identificar os atributos, encontrar as constantes que os representam noscomandos e entender seus valores.

Você define os atributos de uma chave ao criá-la. Para alterar o atributo de token, que indica se uma chaveé persistente ou existe apenas na sessão, use o comando setAttribute (p. 202) na key_mgmt_util. Paraalterar os atributos de rótulo, encapsulamento, desencapsulamento, criptografia e descriptografia, use ocomando setAttribute na cloudhsm_mgmt_util.

216

Page 223: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Para obter uma lista de atributos e suas constantes, use listAttributes (p. 198). Para obter os valores dosatributos de uma chave, use getAttribute (p. 174).

A tabela a seguir lista os atributos-chave, suas constantes e seus valores válidos.

Atributo Constante Valores

OBJ_ATTR_CLASS 0. 2 Chave pública em um par dechaves pública–privada.3 Chave privada em um par dechaves pública–privada.

4 Chave secreta (simétrica).

OBJ_ATTR_TOKEN 1 0. Falso. Chave de sessão.

1 Verdadeiro. Chave persistente.

OBJ_ATTR_PRIVATE 2. 0. Falso.

1 Verdadeiro. Este atributo indicase os usuários não autenticadospodem listar os atributos dachave. Como o provedorPKCS#11 do CloudHSMatualmente não oferece suportea sessões públicas, todasas chaves (incluindo chavespúblicas em um par de chavespúblicas/privadas) têm esseatributo definido como 1.

OBJ_ATTR_LABEL 3. String definida pelo usuário. Elenão precisa ser exclusivo nocluster.

OBJ_ATTR_TRUSTED 134 0. Falso.

1 Verdadeiro.

OBJ_ATTR_KEY_TYPE 256* 0. RSA

1 ASD.

3 EC

16: Segredo genérico.

18: RC4.

21: Triple DES (3DES) (Triplos).

31: AES

OBJ_ATTR_ID 258 String definida pelo usuário.Deve ser exclusivo no cluster. Opadrão é uma string vazia ( "" ).

OBJ_ATTR_SENSITIVE 259 0. Falso. Chave pública em umpar de chaves pública–privada.

217

Page 224: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Atributo Constante Valores1 Verdadeiro.

OBJ_ATTR_ENCRYPT 260 . 0. Falso.

1 Verdadeiro. A chave pode serusada para criptografar dados.

OBJ_ATTR_DECRYPT 261 . 0. Falso.

1 Verdadeiro. A chave podeser usada para descriptografardados.

OBJ_ATTR_WRAP 262 0. Falso.

1 Verdadeiro. A chave pode serusada para criptografar chaves.

OBJ_ATTR_UNWRAP 263 . 0. Falso.

1 Verdadeiro. A chave podeser usada para descriptografarchaves.

OBJ_ATTR_SIGN 264 0. Falso.

1 Verdadeiro. A chave pode serusada para assinatura (chavesprivadas).

OBJ_ATTR_VERIFY 266 0. Falso.

1 Verdadeiro. A chave pode serusada para verificação (chavespúblicas).

OBJ_ATTR_DERIVE 268 0. Falso.

1 Verdadeiro. A função gera achave.

OBJ_ATTR_MODULUS 288 O módulo que foi usado paragerar um par de chaves RSA.

Para outros tipos de chave, esseatributo não existe.

OBJ_ATTR_MODULUS_BITS 289 O comprimento do móduloutilizado para gerar um par dechaves RSA.

Para outros tipos de chave, esseatributo não existe.

OBJ_ATTR_PUBLIC_EXPONENT 290 O expoente público usado paragerar um par de chaves RSA.

Para outros tipos de chave, esseatributo não existe.

218

Page 225: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência

Atributo Constante Valores

OBJ_ATTR_VALUE_LEN 353 Tamanho da chave em bytes.

OBJ_ATTR_EXTRACTABLE 354 0. Falso.

1 Verdadeiro. A chave pode serexportada dos HSMs.

OBJ_ATTR_LOCAL 355 0. Falso. A chave foi importadapara os HSMs.

1 Verdadeiro.

OBJ_ATTR_NEVER_EXTRACTABLE356 0. Falso.

1 Verdadeiro. Não é possívelexportar a chave dos HSMs.

OBJ_ATTR_ALWAYS_SENSITIVE 357 0. Falso.

1 Verdadeiro.

OBJ_ATTR_DESTROYABLE 370 0. Falso.

1 Verdadeiro.

OBJ_ATTR_KCV 371 Valor de verificação dachave. Para obter maisinformações, consulte Detalhesadicionais (p. 219).

OBJ_ATTR_ALL 512 Representa todos os atributos.

OBJ_ATTR_WRAP_WITH_TRUSTED528 0. Falso.

1 Verdadeiro.

OBJ_ATTR_WRAP_TEMPLATE 1073742353 Os valores devem usar o modelode atributo para corresponder àchave encapsulada usando essachave de encapsulamento.

OBJ_ATTR_UNWRAP_TEMPLATE1073742354 Os valores devem usar o modelode atributo aplicado a todas aschaves desencapsuladas comessa chave de encapsulamento.

Detalhes adicionais

Valor de verificação de chave (kcv)

O valor de verificação da chave (KCV) é um hash de 3 bytes ou uma soma de verificação de umachave gerada quando o HSM importa ou gera uma chave. Você também poderá calcular um KCV forado HSM, como depois de exportar uma chave. Você pode acabar comparando os valores do KCVpara confirmar a identidade e a integridade da chave. Para obter o KCV, use getAttribute (p. 174).

O AWS CloudHSM usa o seguinte método padrão para gerar um valor de verificação da chave:• Chaves simétricas: 3 primeiros bytes do resultado de criptografar um bloco de zero com a chave.

219

Page 226: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFerramenta Configure

• Pares de chaves assimétricas: 3 primeiros bytes do hash de SHA-1 da chave pública.• Chaves HMAC: KVC para chaves HMAC não é suportado neste momento.

Ferramenta ConfigureO AWS CloudHSM automaticamente sincroniza os dados entre todos os HSMs em um cluster. Aferramenta configure atualiza os dados do HSM nos arquivos de configuração que são usados pelosmecanismos de sincronização. Use configure para atualizar os dados do HSM antes de usar asferramentas de linha de comando, especialmente quando os HSMs no cluster tiverem sido alterados.

Sintaxeconfigure -h | --help -a <ENI IP address> -m [-i <daemon_id>] --ssl --pkey <private key file> --cert <certificate file>

ExemplosEsses exemplos mostram como usar a ferramenta configure.

Example : Atualizar os dados do HSM para o cliente AWS CloudHSM e a key_mgmt_util

Este exemplo usa o parâmetro -a de configure para atualizar os dados para o cliente do AWS CloudHSMe a key_mgmt_util. Esse comando também é a primeira etapa na atualização do arquivo de configuraçãoda cloudhsm_mgmt_util.

Antes de atualizar o parâmetro -a, interrompa o cliente do AWS CloudHSM. Isso evita conflitos que podemocorrer enquanto configure edita o arquivo de configuração do cliente. Se o cliente já estiver parado, essecomando não terá efeitos, então você poderá usá-lo em um script.

Amazon Linux

$ sudo stop cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client stop

CentOS 6

$ sudo stop cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client stop

RHEL 6

$ sudo stop cloudhsm-client

220

Page 227: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplos

RHEL 7

$ sudo service cloudhsm-client stop

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client stop

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe stop AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

Use Ctrl+C na janela de comando onde você iniciou o cliente do AWS CloudHSM.

Em seguida, obtenha o endereço IP ENI de qualquer um dos HSMs no seu cluster. Esse comando usa ocomando describe-clusters na AWS CLI, mas você também pode usar a operação DescribeClusters ou ocmdlet Get-HSM2Cluster do PowerShell.

Este trecho da saída mostra os endereços IP ENI dos HSMs em um cluster de amostra. Podemos usarqualquer um dos endereços IP no próximo comando.

$ aws cloudhsmv2 describe-clusters

{ "Clusters": [ { ... } "Hsms": [ {... "EniIp": "10.0.0.9",... }, {... "EniIp": "10.0.1.6",...

Esta etapa usa o parâmetro -a de configure para adicionar o endereço IP da ENI 10.0.0.9 aos arquivosde configurações.

Amazon Linux

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

Amazon Linux 2

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

CentOS 6

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

221

Page 228: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplos

CentOS 7

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

RHEL 6

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

RHEL 7

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

Ubuntu 16.04 LTS

$ sudo /opt/cloudhsm/bin/configure -a 10.0.0.9

Windows

c:\Program Files\Amazon\CloudHSM>configure.exe -a 10.0.0.9

Em seguida, reinicie o cliente AWS CloudHSM. Quando o cliente é iniciado, ele usa o endereço IP ENI emseu arquivo de configuração para consultar o cluster. Em seguida, ele grava os endereços IP ENI de todosos HSMs do cluster no arquivo cluster.info.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

222

Page 229: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplos

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Quando o comando é concluído, os dados de HSM usados pelo cliente AWS CloudHSM e pelakey_mgmt_util estão completos e precisos. Antes de usar a cloudhsm_mgmt_util, atualize o parâmetro -mde configure, conforme mostrado no exemplo a seguir.

Example : Atualizar os dados do HSM para a cloudhsm_mgmt_util

Esse exemplo usa o comando -mconfigure para copiar os dados de HSM atualizados do arquivocluster.info para o arquivo cloudhsm_mgmt_util.cfg usado pela cloudhsm_mgmt_util.

Antes de executar -m, pare o cliente do AWS CloudHSM, execute o comando -a e reinicie o cliente doAWS CloudHSM, conforme mostrado no exemplo anterior (p. 220). Isso garante que os dados copiadosno arquivo cloudhsm_mgmt_util.cfg do arquivo cluster.info estejam completos e precisos.

Amazon Linux

$ sudo /opt/cloudhsm/bin/configure -m

Amazon Linux 2

$ sudo /opt/cloudhsm/bin/configure -m

CentOS 6

$ sudo /opt/cloudhsm/bin/configure -m

CentOS 7

$ sudo /opt/cloudhsm/bin/configure -m

RHEL 6

$ sudo /opt/cloudhsm/bin/configure -m

RHEL 7

$ sudo /opt/cloudhsm/bin/configure -m

Ubuntu 16.04 LTS

$ sudo /opt/cloudhsm/bin/configure -m

223

Page 230: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioParâmetros

Windows

c:\Program Files\Amazon\CloudHSM>configure.exe -m

Parâmetros-h | --help

Exibe a sintaxe do comando.

Obrigatório: sim-a <ENI IP address>

Adiciona o endereço IP da interface de rede elástica (ENI) do HSM aos arquivos de configuração doAWS CloudHSM. Insira o endereço IP ENI de qualquer um dos HSMs no cluster. Não importa qualvocê seleciona.

Para obter os endereços IP ENI dos HSMs no seu cluster, use a operação DescribeClusters, ocomando describe-clusters AWS CLI ou o cmdlet Get-HSM2Cluster do PowerShell.

Note

Antes de executar o comando -aconfigure, pare o cliente do AWS CloudHSM. Quando ocomando -a estiver concluído, reinicie o cliente do AWS CloudHSM. Para obter detalhes,consulte os exemplos (p. 220).

Esse parâmetro edita os seguintes arquivos de configuração:• /opt/cloudhsm/etc/cloudhsm_client.cfg: Usado pelo cliente AWS CloudHSM e pela

key_mgmt_util (p. 131).• /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg: Usado por cloudhsm_mgmt_util (p. 83).

Quando o cliente AWS CloudHSM é iniciado, ele usa o endereço IP ENI em seu arquivo deconfiguração para consultar o cluster e atualizar o arquivo cluster.info (/opt/cloudhsm/daemon/1/cluster.info) com os endereços IP ENI corretos para todos os HSMs do cluster.

Obrigatório: sim-m

Atualiza os endereços IP ENI do HSM no arquivo de configuração usado pela cloudhsm_mgmt_util.

Quando você atualiza o parâmetro -a de configure e inicia o cliente do AWS CloudHSM, o daemondo cliente consulta o cluster e atualiza os arquivos cluster.info com os endereços IP doHSM corretos para todos os HSMs no cluster. A execução do comando -mconfigure completa aatualização, copiando os endereços IP do HSM de cluster.info para o arquivo de configuraçãocloudhsm_mgmt_util.cfg usado pela cloudhsm_mgmt_util.

Certifique-se de executar o comando -aconfigure e reiniciar o cliente do AWS CloudHSM antes deexecutar o comando -m. Isso garante que os dados copiados em cloudhsm_mgmt_util.cfg decluster.info estejam completos e precisos.

Obrigatório: sim-i

Especifica um daemon de cliente alternativo. O valor padrão representa o cliente AWS CloudHSM

Padrão: 1

224

Page 231: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioTópicos relacionados

Exigido: não--ssl

Substitui a chave e o certificado SSL para o cluster com a chave privada e o certificado especificados.Ao usar esse parâmetro, os parâmetros --pkey e --cert são necessários.

Exigido: Não--pkey

Especifica a nova chave privada. Insira o caminho e o nome do arquivo que contém a chave privada.

Obrigatório: sim, se --ssl for especificado. Caso contrário, isso não deve ser usado.--cert

Especifica o novo certificado. Insira o caminho e o nome do arquivo que contém o certificado. Ocertificado deve ser associado ao certificado customerCA.crt, o certificado autoassinado usadopara inicializar o cluster. Para obter mais informações, consulte Inicializar o cluster.

Obrigatório: sim, se --ssl for especificado. Caso contrário, isso não deve ser usado.

Tópicos relacionados• Configurar o key_mgmt_util (p. 131)• Preparar-se para executar a cloudhsm_mgmt_util (p. 84)

225

Page 232: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioBiblioteca PKCS #11

Usar as bibliotecas de software AWSCloudHSM

As bibliotecas de software do AWS CloudHSM integram seus aplicativos aos HSMs no seu cluster. Asbibliotecas permitem que seu aplicativo execute operações de criptografia nos HSMs.

Para obter informações detalhadas sobre as plataformas compatíveis e uma versão completa do histórico,consulte Informações sobre o software e cliente do AWS CloudHSM (p. 387).

Tópicos• Biblioteca PKCS #11 (p. 226)• Mecanismo dinâmico do AWS CloudHSM para OpenSSL (p. 250)• AWS CloudHSM Fornecedor de JCE (p. 253)• Fornecedores CNG e KSP para Windows (p. 282)

Biblioteca PKCS #11A biblioteca de software de AWS CloudHSM para PKCS #11 é uma implementação padrão de PKCS #11que se comunica com o HSMs no cluster do AWS CloudHSM. É suportado somente em Linux e sistemasoperacionais compatíveis. Essa biblioteca é compatível com PKCS #11 versão 2.40 e implementa osseguintes tipos de chave, mecanismos e operações de API.

Tópicos• Instalar do Biblioteca PKCS #11 (p. 226)• Autenticar para o Biblioteca PKCS #11 (p. 228)• Tipos chave suportados (p. 228)• Mecanismos compatíveis (p. 229)• Operações compatíveis da API do (p. 237)• Atributos compatíveis (p. 238)• Amostras de código para o Biblioteca PKCS #11 (p. 249)

Instalar do Biblioteca PKCS #11Com o Biblioteca PKCS #11, pode criar PKCS #11–aplicações compatíveis que utilizam os hsms no seuAWS CloudHSM grupo. O Biblioteca PKCS #11 é suportado apenas nos sistemas operativos Linux.

Tópicos• Prerequisites (p. 226)• Instalar o Biblioteca PKCS #11 (p. 227)

PrerequisitesO Biblioteca PKCS #11 requer o AWS CloudHSM cliente.

Se você não tiver instalado e configurado o cliente do AWS CloudHSM, faça isso agora, seguindo asetapas em Instalar o cliente (Linux) (p. 35). Após instalar e configurar o cliente, use o comando a seguirpara iniciá-lo.

226

Page 233: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalação

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Instalar o Biblioteca PKCS #11O seguinte comando transfere e instala o Biblioteca PKCS #11.

Amazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

227

Page 234: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAutenticar

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-pkcs11_latest_amd64.deb

$ sudo dpkg -i cloudhsm-client-pkcs11_latest_amd64.deb

Quando a instalação sucedia, o Biblioteca PKCS #11 está disponível em /opt/cloudhsm/lib.

Autenticar para o Biblioteca PKCS #11Quando utiliza o Biblioteca PKCS #11, a sua candidatura funciona como uma utilizador cripto (CU) (p. 11)no seu hsms. O aplicativo pode visualizar e gerenciar apenas as chaves que o CU possui e compartilha.Você pode usar um CU existente em seus HSMs ou criar um novo CU (p. 53) para seu aplicativo.

Para especificar o CU para Biblioteca PKCS #11, utilize o parâmetro do pino do PKCS #11 C_Função deinício de sessão. Para o AWS CloudHSM, o parâmetro do PIN tem o seguinte formato:

<CU_user_name>:<password>

Por exemplo, o comando seguinte define o Biblioteca PKCS #11 afixar ao CU com o nome de utilizadorCryptoUser e palavra-passe CUPassword123!.

CryptoUser:CUPassword123!

Tipos chave suportadosO Biblioteca PKCS #11 suporta os seguintes tipos de teclas.

228

Page 235: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

• RSA – 2.048 bits para chaves RSA de 4.096 bits, em incrementos de 256 bits.• ECDSA – gerar chaves com as curvas P-224, P-256, P-384, P-521 e secp256k1. Somente as curvas

P-256, P-384 e secp256k1 têm suporte para assinatura e verificação.• AES – chaves AES de 128, 192 e 256 bits• Triplo DES (3DES) – chaves de 192 bits.• GENERIC_SECRET – 1 a 64 bytes.

Mecanismos compatíveisO Biblioteca PKCS #11 suporta os seguintes algoritmos:

• Criptografia e descriptografia – AES-CBC, AES-CTR, AES-ECB, AES-GCM, DES3-CBC, DES3-ECB,RSA-OAEP e RSA-PKCS

• Assinar e verificar – RSA, HMAC e ECDSA; com e sem hash• Hash/Digest – SHA1, SHA224, SHA256, SHA384 e SHA512• Invólucro principal – Invólucro de chave AES,the section called “4” (p. 236) AES-GCM, RSA-AES e RSA-OAEP• Derivação da chave – ECDHthe section called “5” (p. 236)

O Biblioteca PKCS #11 Tabela de função-funçãoO Biblioteca PKCS #11 está em conformidade com a versão 2.40 da especificação PKCS #11. Parainvocar um recurso de criptografia usando o PKCS#11, chame uma função com um determinadomecanismo. A tabela a seguir resume as combinações de funções e mecanismos suportados pelo AWSCloudHSM.

Interpretar a tabela da função do mecanismo PKCS #11 com suporte

Uma marca ¤ indica que AWS CloudHSM suporta o mecanismo para a função. Não oferecemos suporte atodas as funções possíveis listadas na especificação do PKCS #11. A ‹marca indica que AWS CloudHSMainda não suporta o mecanismo para a função dada, mesmo que a norma PKCS n.º 11 permita. Célulasvazias indicam que o PKCS #11 padrão não oferece suporte ao mecanismo para a função determinada.

Suportado Biblioteca PKCS #11 Mecanismos e funções

Mecanismo Funções

  Gerarchaveou par

de chave

Assinar everificar

SR e VR Resumo Criptografare

descriptografar

Derivarchave

Encapsulare

desencapsular

CKM_RSA_X9_31_KEY_PAIR_GEN ✔the

section

called

“2” (p. 234)

           

CKM_RSA_PKCS   ✔the

section

called

“1” (p. 234)

✖   ✔the

section

called

“1” (p. 234)

  ✖

229

Page 236: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Funções

CKM_RSA_PKCS_OAEP         ✔the

section

called

“1” (p. 234)

  ✔the

section

called

“6” (p. 236)

CKM_SHA1_RSA_PKCS   ✔the

section

called

“3.2” (p. 235)

         

CKM_SHA224_RSA_PKCS   ✔the

section

called

“3.2” (p. 235)

         

CKM_SHA256_RSA_PKCS   ✔the

section

called

“3.2” (p. 235)

         

CKM_SHA384_RSA_PKCS   ✔the

section

called

“2” (p. 234),the

section

called

“3.2” (p. 235)

         

CKM_SHA512_RSA_PKCS   ✔the

section

called

“3.2” (p. 235)

         

CKM_RSA_PKCS_PSS   ✔the

section

called

“1” (p. 234)

         

CKM_SHA1_RSA_PKCS_PSS   ✔the

section

called

“3.2” (p. 235)

         

230

Page 237: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Funções

CKM_SHA224_RSA_PKCS_PSS   ✔the

section

called

“3.2” (p. 235)

         

CKM_SHA256_RSA_PKCS_PSS   ✔the

section

called

“3.2” (p. 235)

         

CKM_SHA384_RSA_PKCS_PSS   ✔the

section

called

“2” (p. 234),the

section

called

“3.2” (p. 235)

         

CKM_SHA512_RSA_PKCS_PSS   ✔the

section

called

“3.2” (p. 235)

         

CKM_EC_KEY_PAIR_GEN ✔            

CKM_ECDSA   ✔the

section

called

“1” (p. 234)

         

CKM_ECDSA_SHA1   ✔the

section

called

“3.2” (p. 235)

         

CKM_ECDSA_SHA224   ✔the

section

called

“3.2” (p. 235)

         

CKM_ECDSA_SHA256   ✔the

section

called

“3.2” (p. 235)

         

231

Page 238: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Funções

CKM_ECDSA_SHA384   ✔the

section

called

“3.2” (p. 235)

         

CKM_ECDSA_SHA512   ✔the

section

called

“3.2” (p. 235)

         

CKM_ECDH1_DERIVE           ✔the

section

called

“5” (p. 236)

 

CKM_GENERIC_SECRET_KEY_GEN ✔            

CKM_AES_KEY_GEN ✔            

CKM_AES_ECB         ✔   ✖

CKM_AES_CTR         ✔   ✖

CKM_AES_CBC         ✔the

section

called

“3,3” (p. 236)

  ✖

CKM_AES_CBC_PAD         ✔   ✖

CKM_DES3_KEY_GEN ✔            

CKM_DES3_CBC         ✔the

section

called

“3,3” (p. 236)

  ✖

CKM_DES3_CBC_PAD         ✔   ✖

CKM_DES3_ECB         ✔   ✖

CKM_AES_GCM         ✔the

section

called

“3,3” (p. 236),

the section

called

“4” (p. 236)

   

232

Page 239: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Funções

CKM_CLOUDHSM_AES_GCM         ✔the

section

called

“7” (p. 237)

  ✔the

section

called

“7” (p. 237)

CKM_SHA_1       ✔the

section

called

“3.1” (p. 234)

     

CKM_SHA_1_HMAC   ✔the

section

called

“3,3” (p. 236)

         

CKM_SHA224       ✔the

section

called

“3.1” (p. 234)

     

CKM_SHA224_HMAC   ✔the

section

called

“3,3” (p. 236)

         

CKM_SHA256       ✔the

section

called

“3.1” (p. 234)

     

CKM_SHA256_HMAC   ✔the

section

called

“3,3” (p. 236)

         

CKM_SHA384       ✔the

section

called

“3.1” (p. 234)

     

CKM_SHA384_HMAC   ✔3,3          

CKM_SHA512       ✔the

section

called

“3.1” (p. 234)

     

233

Page 240: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Funções

CKM_SHA512_HMAC   ✔the

section

called

“3,3” (p. 236)

         

CKM_AES_KEY_WRAP             ✔

CKM_RSA_AES_KEY_WRAP             ✔

CKM_AES_KEY_WRAP_PAD             ✔

CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD             ✔the

section

called

“7” (p. 237)

CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD            ✔the

section

called

“7” (p. 237)

O Biblioteca PKCS #11 Anotações de função-função

1

Apenas operações de uma só peça.

2

O mecanismo é funcionalmente idêntico ao CKM_RSA_PKCS_KEY_PAIR_GEN mas oferece garantias maisfortes para p e q a criar.

3

Estas anotações especificam o suporte de tamanho do tampão de dados.

3.1

O suporte de tamanho de dados para estas funções depende se está a utilizar operações de peça única oumultipeças.

Operações de uma só peça

A Tabela 3.1 lista o tamanho máximo do conjunto de dados para cada mecanismo. Toda a hash écalculada dentro do HSM. Sem suporte para tamanhos de dados superiores a 16KB.

Tabela 3.1, Tamanho máximo do conjunto de dados para operações de uma só peça

Mecanismo Tamanho máximo de dados

CKM_SHA_1 16296

CKM_SHA224 16264

234

Page 241: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Mecanismo Tamanho máximo de dados

CKM_SHA256 16296

CKM_SHA384 16232

CKM_SHA512 16232

Operações multipeças

Suporte para tamanhos de dados superiores a 16 KB, mas o tamanho dos dados determina ondeocorre a dispersão. Os tampões de dados inferiores a 16 KB são codificados dentro do HSM. Ostampões entre 16 KB e o tamanho máximo de dados para o seu sistema são codificados localmenteno software. Lembre-se As funções da cardinal não requerem segredos criptográficos, para que possacalcular os mesmos em segurança fora do HSM.

3.2

O suporte de tamanho de dados para estas funções depende se está a utilizar operações de peça única oumultipeças.

Operações de uma só peça

A tabela 3.2 lista o tamanho máximo do conjunto de dados para cada mecanismo. Sem suporte paratamanhos de dados superiores a 16KB.

Tabela 3.2, Tamanho máximo do conjunto de dados para operações de uma só peça

Mecanismo Tamanho máximo de dados

CKM_SHA1_RSA_PKCS 16296

CKM_SHA224_RSA_PKCS 16264

CKM_SHA256_RSA_PKCS 16296

CKM_SHA384_RSA_PKCS 16232

CKM_SHA512_RSA_PKCS 16232

CKM_SHA1_RSA_PKCS_PSS 16296

CKM_SHA224_RSA_PKCS_PSS 16264

CKM_SHA256_RSA_PKCS_PSS 16296

CKM_SHA384_RSA_PKCS_PSS 16232

CKM_SHA512_RSA_PKCS_PSS 16232

CKM_ECDSA_SHA1 16296

CKM_ECDSA_SHA224 16264

CKM_ECDSA_SHA256 16296

CKM_ECDSA_SHA384 16232

CKM_ECDSA_SHA512 16232

235

Page 242: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos

Operações multipeças

Suporte para tamanhos de dados superiores a 16 KB, mas o tamanho dos dados determina ondeocorre a dispersão. Os tampões de dados inferiores a 16 KB são codificados dentro do HSM. Ostampões entre 16 KB e o tamanho máximo de dados para o seu sistema são codificados localmenteno software. Lembre-se As funções da cardinal não requerem segredos criptográficos, para que possacalcular os mesmos em segurança fora do HSM.

3,3

Quando utilizar os dados utilizando qualquer um dos seguintes mecanismos, se o tampão de dadosexceder o tamanho máximo de dados, a operação resulta num erro. A tabela a seguir lista o tamanhomáximo de dados definido para cada mecanismo:

Tabela 3.3, Tamanho máximo do conjunto de dados

Mecanismo Tamanho máximo de dados

CKM_SHA_1_HMAC 16288

CKM_SHA224_HMAC 16256

CKM_SHA256_HMAC 16288

CKM_SHA384_HMAC 16224

CKM_SHA512_HMAC 16224

CKM_AES_CBC 16272

CKM_AES_GCM 16224

CKM_DES3_CBC 16280

4

Ao executar a criptografia AES-GCM, o HSM não aceita dados do vetor de inicialização (IV) do aplicativo.Você deve usar um IV gerado por ele. O IV de 12 bytes fornecido pelo HSM é gravado na referência damemória apontada pelo elemento pIV da estrutura de parâmetros CK_GCM_PARAMS que você fornece.Para que não haja confusão para o usuário, o SDK do PKCS #11 na versão 1.1.1 e posterior, garante queo pIV aponte para um buffer zerado quando a criptografia AES-GCM é inicializada.

5

O mecanismo é implementado para suportar casos de descarga SSL/TLS e é executado apenasparcialmente dentro do HSM. Antes de utilizar este mecanismo, consulte "Problema: A derivação da chaveECDH é executada apenas parcialmente dentro do HSM" em Problemas conhecidos para o BibliotecaPKCS #11 (p. 369).

6

O seguinte CK_MECHANISM_TYPE e CK_RSA_PKCS_MGF_TYPE são suportadas comoCK_RSA_PKCS_OAEP_PARAMS para CKM_RSA_PKCS_OAEP:

• CKM_SHA_1 utilizar CKG_MGF1_SHA1• CKM_SHA224 utilizar CKG_MGF1_SHA224• CKM_SHA256 utilizar CKG_MGF1_SHA256• CKM_SHA384 utilizar CKM_MGF1_SHA384

236

Page 243: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioOperações de API

• CKM_SHA512 utilizar CKM_MGF1_SHA512

7

Mecanismo definido pelo fornecedor. Para usar os mecanismos definidos pelo fornecedor do CloudHSM,os aplicativos PKCS #11 devem incluir /opt/cloudhsm/include/pkcs11t.h durante a compilação.

CKM_CLOUDHSM_AES_GCM: Este mecanismo proprietário é uma alternativa programaticamente maissegura ao padrão CKM_AES_GCM. Faz com que o IV seja gerado pelo HSM para o texto decisivo em vez deo escrever novamente CK_GCM_PARAMS estrutura que é fornecida durante a sua inicialização. Você podeusar esse mecanismo com as funções C_Encrypt, C_WrapKey, C_Decrypt, e C_UnwrapKey. Quandoutilizar este mecanismo, a variável piv no CK_GCM_PARAMS a base tem de ser definida para NULL. Quandoutilizar este mecanismo com C_Decrypt e C_UnwrapKey, espera-se que a IV seja prependida ao textodecisivo que está a ser desembrulhado. Para opções adicionais de embrulho AES, consulte Invólucro dechave AES (p. 62).

Operações compatíveis da API doO Biblioteca PKCS #11 suporta as seguintes operações API PKCS #11.

• C_CreateObject

• C_Decrypt

• C_DecryptFinal

• C_DecryptInit

• C_DecryptUpdate

• C_DestroyObject

• C_DigestInit

• C_Digest

• C_Encrypt

• C_EncryptFinal

• C_EncryptInit

• C_EncryptUpdate

• C_FindObjects

• C_FindObjectsFinal

• C_FindObjectsInit

• C_Finalize

• C_GenerateKey

• C_GenerateKeyPair

• C_GenerateRandom

• C_GetAttributeValue

• C_GetFunctionList

• C_GetInfo

• C_GetMechanismInfo

• C_GetMechanismList

• C_GetOperationState

• C_GetSessionInfo

• C_GetSlotInfo

• C_GetSlotList

• C_GetTokenInfo

237

Page 244: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

• C_Initialize

• C_Login

• C_Logout

• C_OpenSession

• C_Sign

• C_SignFinal

• C_SignInit

• C_SignRecover

• C_SignRecoverInit

• C_SignUpdate

• C_UnWrapKey

• C_Verify

• C_VerifyFinal

• C_VerifyInit

• C_VerifyRecover

• C_VerifyRecoverInit

• C_VerifyUpdate

• C_WrapKey

Atributos compatíveisUm objeto pode ser uma chave pública, privada ou secreta. As ações permitidas em um objeto de chavesão especificadas por meio de atributos. Os atributos são definidos quando o objeto de chave é criado.Quando utiliza o Biblioteca PKCS #11, atribuímos valores predefinidos conforme especificado pela normaPKCS n.º 11.

Note

AWS CloudHSM não suporta todos os atributos listados na especificação PKCS #11. Estamos emconformidade com a especificação de todos os atributos aos quais oferecemos suporte. Essesatributos estão listados nas respectivas tabelas.

Funções criptográficas como C_CreateObject, C_GenerateKey, C_GenerateKeyPair,C_UnwrapKey, e C_DeriveKey que criam, modificam ou copiam objetos usam um modelo de atributocomo um de seus parâmetros. Para obter mais informações sobre como passar um modelo de atributodurante a criação do objeto, consulte o exemplo para Gerar chaves por meio da biblioteca PKCS #11.

Interpretar o Biblioteca PKCS #11 Tabela de atributosO Biblioteca PKCS #11 A tabela contém uma lista de atributos que diferem pelos tipos de teclas. Ela indicase um determinado atributo tem suporte para um tipo de chave específico ao usar uma função criptográficaespecífica com o AWS CloudHSM.

Legenda

• ✔ indica que o CloudHSM oferece suporte ao atributo para o tipo de chave específico.• ✖ indica que o CloudHSM não oferece suporte ao atributo para o tipo de chave específico.• R indica que o valor do atributo é definido como somente leitura para o tipo de chave específico.• S indica que o atributo não pode ser lido pelo GetAttributeValue pois ele é confidencial.• Uma célula vazia na coluna Valor padrão indica que não há nenhum valor padrão específico atribuído ao

atributo.

238

Page 245: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

GenerateKeyPair

Atributo Tipo de chave DefaultValue (Valor

padrão)

  EC privada EC pública RSA privada RSA pública  

CKA_CLASS ✔ ✔ ✔ ✔

CKA_KEY_TYPE ✔ ✔ ✔ ✔

CKA_LABEL ✔ ✔ ✔ ✔

CKA_ID ✔ ✔ ✔ ✔

CKA_LOCAL R; R; R; R; Verdadeiro.

CKA_TOKEN ✔ ✔ ✔ ✔ Falso.

CKA_PRIVATE ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_ENCRYPT ✖ ✔ ✖ ✔ Falso.

CKA_DECRYPT ✔ ✖ ✔ ✖ Falso.

CKA_DERIVE ✔ ✔ ✔ ✔ Falso.

CKA_MODIFIABLE ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_DESTROYABLE ✔ ✔ ✔ ✔ Verdadeiro.

CKA_SIGN ✔ ✖ ✔ ✖ Falso.

CKA_SIGN_RECOVER ✖ ✖ ✔3 ✖  

CKA_VERIFY ✖ ✔ ✖ ✔ Falso.

CKA_VERIFY_RECOVER ✖ ✖ ✖ ✔4  

CKA_WRAP ✖ ✔ ✖ ✔ Falso.

CKA_WRAP_TEMPLATE ✖ ✔ ✖ ✔  

CKA_TRUSTED ✖ ✔ ✖ ✔ Falso.

CKA_WRAP_WITH_TRUSTED ✔ ✖ ✔ ✖ Falso.

CKA_UNWRAP ✔ ✖ ✔ ✖ Falso.

CKA_UNWRAP_TEMPLATE ✔ ✖ ✔ ✖  

CKA_SENSITIVE ✔ ✖ ✔ ✖ Verdadeiro.

CKA_ALWAYS_SENSITIVE R; ✖ R; ✖  

CKA_EXTRACTABLE ✔ ✖ ✔ ✖ Verdadeiro.

CKA_NEVER_EXTRACTABLE R; ✖ R; ✖  

CKA_MODULUS ✖ ✖ ✖ ✖  

239

Page 246: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave DefaultValue (Valor

padrão)

CKA_MODULUS_BITS ✖ ✖ ✖ ✔2  

CKA_PRIME_1 ✖ ✖ ✖ ✖  

CKA_PRIME_2 ✖ ✖ ✖ ✖  

CKA_COEFFICIENT ✖ ✖ ✖ ✖  

CKA_EXPONENT_1 ✖ ✖ ✖ ✖  

CKA_EXPONENT_2 ✖ ✖ ✖ ✖  

CKA_PRIVATE_EXPONENT ✖ ✖ ✖ ✖  

CKA_PUBLIC_EXPONENT ✖ ✖ ✖ ✔2  

CKA_EC_PARAMS ✖ ✔2 ✖ ✖  

CKA_EC_POINT ✖ ✖ ✖ ✖  

CKA_VALUE ✖ ✖ ✖ ✖  

CKA_VALUE_LEN ✖ ✖ ✖ ✖  

CKA_CHECK_VALUE R; R; R; R;  

GenerateKey

Atributo Tipo de chave Default Value(Valor padrão)

  AES DES3 Segredogenérico

 

CKA_CLASS ✔ ✔ ✔

CKA_KEY_TYPE ✔ ✔ ✔

CKA_LABEL ✔ ✔ ✔

CKA_ID ✔ ✔ ✔

CKA_LOCAL R; R; R; Verdadeiro.

CKA_TOKEN ✔ ✔ ✔ Falso.

CKA_PRIVATE ✔1 ✔1 ✔1 Verdadeiro.

CKA_ENCRYPT ✔ ✔ ✖ Falso.

CKA_DECRYPT ✔ ✔ ✖ Falso.

CKA_DERIVE ✔ ✔ ✔ Falso.

CKA_MODIFIABLE ✔1 ✔1 ✔1 Verdadeiro.

240

Page 247: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave Default Value(Valor padrão)

CKA_DESTROYABLE ✔ ✔ ✔ Verdadeiro.

CKA_SIGN ✔ ✔ ✔ Falso.

CKA_SIGN_RECOVER ✖ ✖ ✖  

CKA_VERIFY ✔ ✔ ✔ Falso.

CKA_VERIFY_RECOVER ✖ ✖ ✖  

CKA_WRAP ✔ ✔ ✖ Falso.

CKA_WRAP_TEMPLATE ✔ ✔ ✖  

CKA_TRUSTED ✔ ✔ ✖ Falso.

CKA_WRAP_WITH_TRUSTED ✔ ✔ ✔ Falso.

CKA_UNWRAP ✔ ✔ ✖ Falso.

CKA_UNWRAP_TEMPLATE ✔ ✔ ✖  

CKA_SENSITIVE ✔ ✔ ✔ Verdadeiro.

CKA_ALWAYS_SENSITIVE ✖ ✖ ✖  

CKA_EXTRACTABLE ✔ ✔ ✔ Verdadeiro.

CKA_NEVER_EXTRACTABLE R; R; R;  

CKA_MODULUS ✖ ✖ ✖  

CKA_MODULUS_BITS ✖ ✖ ✖  

CKA_PRIME_1 ✖ ✖ ✖  

CKA_PRIME_2 ✖ ✖ ✖  

CKA_COEFFICIENT ✖ ✖ ✖  

CKA_EXPONENT_1 ✖ ✖ ✖  

CKA_EXPONENT_2 ✖ ✖ ✖  

CKA_PRIVATE_EXPONENT ✖ ✖ ✖  

CKA_PUBLIC_EXPONENT ✖ ✖ ✖  

CKA_EC_PARAMS ✖ ✖ ✖  

CKA_EC_POINT ✖ ✖ ✖  

CKA_VALUE ✖ ✖ ✖  

CKA_VALUE_LEN ✔2 ✖ ✔2  

CKA_CHECK_VALUE R; R; R;  

241

Page 248: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

CreateObject

Atributo Tipo de chave DefaultValue(Valor

padrão)

  ECprivada

ECpública

RSAprivada

RSApública

AES DES3 Segredogenérico

 

CKA_CLASS ✔2 ✔2 ✔2 ✔2 ✔2 ✔2 ✔2

CKA_KEY_TYPE ✔2 ✔2 ✔2 ✔2 ✔2 ✔2 ✔2

CKA_LABEL ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_ID ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_LOCAL R; R; R; R; R; R; R; Falso.

CKA_TOKEN ✔ ✔ ✔ ✔ ✔ ✔ ✔ Falso.

CKA_PRIVATE ✔1 ✔1 ✔1 ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_ENCRYPT ✖ ✖ ✖ ✔ ✔ ✔ ✖ Falso.

CKA_DECRYPT ✖ ✖ ✔ ✖ ✔ ✔ ✖ Falso.

CKA_DERIVE ✔ ✔ ✔ ✔ ✔ ✔ ✔ Falso.

CKA_MODIFIABLE ✔1 ✔1 ✔1 ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_DESTROYABLE ✔ ✔ ✔ ✔ ✔ ✔ ✔ Verdadeiro.

CKA_SIGN ✔ ✖ ✔ ✖ ✔ ✔ ✔ Falso.

CKA_SIGN_RECOVER ✖ ✖ ✔3 ✖ ✖ ✖ ✖ Falso.

CKA_VERIFY ✖ ✔ ✖ ✔ ✔ ✔ ✔ Falso.

CKA_VERIFY_RECOVER ✖ ✖ ✖ ✔4 ✖ ✖ ✖  

CKA_WRAP ✖ ✖ ✖ ✔ ✔ ✔ ✖ Falso.

CKA_WRAP_TEMPLATE ✖ ✔ ✖ ✔ ✔ ✔ ✖  

CKA_TRUSTED ✖ ✔ ✖ ✔ ✔ ✔ ✖ Falso.

CKA_WRAP_WITH_TRUSTED ✔ ✖ ✔ ✖ ✔ ✔ ✔ Falso.

CKA_UNWRAP ✖ ✖ ✔ ✖ ✔ ✔ ✖ Falso.

CKA_UNWRAP_TEMPLATE ✔ ✖ ✔ ✖ ✔ ✔ ✖  

CKA_SENSITIVE ✔ ✖ ✔ ✖ ✔ ✔ ✔ Verdadeiro.

CKA_ALWAYS_SENSITIVE R; ✖ R; ✖ R; R; R;  

CKA_EXTRACTABLE ✔ ✖ ✔ ✖ ✔ ✔ ✔ Verdadeiro.

242

Page 249: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave DefaultValue(Valor

padrão)

CKA_NEVER_EXTRACTABLE R; ✖ R; ✖ R; R; R;  

CKA_MODULUS ✖ ✖ ✔2 ✔2 ✖ ✖ ✖  

CKA_MODULUS_BITS ✖ ✖ ✖ ✖ ✖ ✖ ✖  

CKA_PRIME_1 ✖ ✖ ✔ ✖ ✖ ✖ ✖  

CKA_PRIME_2 ✖ ✖ ✔ ✖ ✖ ✖ ✖  

CKA_COEFFICIENT ✖ ✖ ✔ ✖ ✖ ✖ ✖  

CKA_EXPONENT_1 ✖ ✖ ✔ ✖ ✖ ✖ ✖  

CKA_EXPONENT_2 ✖ ✖ ✔ ✖ ✖ ✖ ✖  

CKA_PRIVATE_EXPONENT ✖ ✖ ✔2 ✖ ✖ ✖ ✖  

CKA_PUBLIC_EXPONENT ✖ ✖ ✔2 ✔2 ✖ ✖ ✖  

CKA_EC_PARAMS ✔2 ✔2 ✖ ✖ ✖ ✖ ✖  

CKA_EC_POINT ✖ ✔2 ✖ ✖ ✖ ✖ ✖  

CKA_VALUE ✔2 ✖ ✖ ✖ ✔2 ✔2 ✔2  

CKA_VALUE_LEN ✖ ✖ ✖ ✖ ✖ ✖ ✖  

CKA_CHECK_VALUE R; R; R; R; R; R; R;  

UnwrapKey

Atributo Tipo de chave DefaultValue(Valor

padrão)

  EC privada RSAprivada

AES DES3 Segredogenérico

 

CKA_CLASS ✔2 ✔2 ✔2 ✔2 ✔2

CKA_KEY_TYPE ✔2 ✔2 ✔2 ✔2 ✔2

CKA_LABEL ✔ ✔ ✔ ✔ ✔

CKA_ID ✔ ✔ ✔ ✔ ✔

CKA_LOCAL R; R; R; R; R; Falso.

CKA_TOKEN ✔ ✔ ✔ ✔ ✔ Falso.

243

Page 250: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave DefaultValue(Valor

padrão)

CKA_PRIVATE ✔1 ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_ENCRYPT ✖ ✖ ✔ ✔ ✖ Falso.

CKA_DECRYPT ✖ ✔ ✔ ✔ ✖ Falso.

CKA_DERIVE ✔ ✔ ✔ ✔ ✔ Falso.

CKA_MODIFIABLE ✔1 ✔1 ✔1 ✔1 ✔1 Verdadeiro.

CKA_DESTROYABLE ✔ ✔ ✔ ✔ ✔ Verdadeiro.

CKA_SIGN ✔ ✔ ✔ ✔ ✔ Falso.

CKA_SIGN_RECOVER ✖ ✔3 ✖ ✖ ✖ Falso.

CKA_VERIFY ✖ ✖ ✔ ✔ ✔ Falso.

CKA_VERIFY_RECOVER ✖ ✖ ✖ ✖ ✖  

CKA_WRAP ✖ ✖ ✔ ✔ ✖ Falso.

CKA_UNWRAP ✖ ✔ ✔ ✔ ✖ Falso.

CKA_SENSITIVE ✔ ✔ ✔ ✔ ✔ Verdadeiro.

CKA_EXTRACTABLE ✔ ✔ ✔ ✔ ✔ Verdadeiro.

CKA_NEVER_EXTRACTABLE R; R; R; R; R;  

CKA_ALWAYS_SENSITIVE R; R; R; R; R;  

CKA_MODULUS ✖ ✖ ✖ ✖ ✖  

CKA_MODULUS_BITS ✖ ✖ ✖ ✖ ✖  

CKA_PRIME_1 ✖ ✖ ✖ ✖ ✖  

CKA_PRIME_2 ✖ ✖ ✖ ✖ ✖  

CKA_COEFFICIENT ✖ ✖ ✖ ✖ ✖  

CKA_EXPONENT_1 ✖ ✖ ✖ ✖ ✖  

CKA_EXPONENT_2 ✖ ✖ ✖ ✖ ✖  

CKA_PRIVATE_EXPONENT ✖ ✖ ✖ ✖ ✖  

CKA_PUBLIC_EXPONENT ✖ ✖ ✖ ✖ ✖  

CKA_EC_PARAMS ✖ ✖ ✖ ✖ ✖  

CKA_EC_POINT ✖ ✖ ✖ ✖ ✖  

CKA_VALUE ✖ ✖ ✖ ✖ ✖  

CKA_VALUE_LEN ✖ ✖ ✖ ✖ ✖  

244

Page 251: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave DefaultValue(Valor

padrão)

CKA_CHECK_VALUE R; R; R; R; R;  

DeriveKey

Atributo Tipo de chave Default Value(Valor padrão)

  AES DES3 Segredogenérico

 

CKA_CLASS ✔2 ✔2 ✔2

CKA_KEY_TYPE ✔2 ✔2 ✔2

CKA_LABEL ✔ ✔ ✔

CKA_ID ✔ ✔ ✔

CKA_LOCAL R; R; R; Verdadeiro.

CKA_TOKEN ✔ ✔ ✔ Falso.

CKA_PRIVATE ✔1 ✔1 ✔1 Verdadeiro.

CKA_ENCRYPT ✔ ✔ ✖ Falso.

CKA_DECRYPT ✔ ✔ ✖ Falso.

CKA_DERIVE ✔ ✔ ✔ Falso.

CKA_MODIFIABLE ✔1 ✔1 ✔1 Verdadeiro.

CKA_DESTROYABLE ✔1 ✔1 ✔1 Verdadeiro.

CKA_SIGN ✔ ✔ ✔ Falso.

CKA_SIGN_RECOVER ✖ ✖ ✖  

CKA_VERIFY ✔ ✔ ✔ Falso.

CKA_VERIFY_RECOVER ✖ ✖ ✖  

CKA_WRAP ✔ ✔ ✖ Falso.

CKA_UNWRAP ✔ ✔ ✖ Falso.

CKA_SENSITIVE ✔ ✔ ✔ Verdadeiro.

CKA_EXTRACTABLE ✔ ✔ ✔ Verdadeiro.

CKA_NEVER_EXTRACTABLE R; R; R;  

CKA_ALWAYS_SENSITIVE R; R; R;  

245

Page 252: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave Default Value(Valor padrão)

CKA_MODULUS ✖ ✖ ✖  

CKA_MODULUS_BITS ✖ ✖ ✖  

CKA_PRIME_1 ✖ ✖ ✖  

CKA_PRIME_2 ✖ ✖ ✖  

CKA_COEFFICIENT ✖ ✖ ✖  

CKA_EXPONENT_1 ✖ ✖ ✖  

CKA_EXPONENT_2 ✖ ✖ ✖  

CKA_PRIVATE_EXPONENT ✖ ✖ ✖  

CKA_PUBLIC_EXPONENT ✖ ✖ ✖  

CKA_EC_PARAMS ✖ ✖ ✖  

CKA_EC_POINT ✖ ✖ ✖  

CKA_VALUE ✖ ✖ ✖  

CKA_VALUE_LEN ✔2 ✖ ✔2  

CKA_CHECK_VALUE R; R; R;  

GetAttributeValue

Atributo Tipo de chave

  ECprivada

ECpública

RSAprivada

RSApública

AES DES3 Segredogenérico

CKA_CLASS ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_KEY_TYPE ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_LABEL ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_ID ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_LOCAL ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_TOKEN ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_PRIVATE ✔1 ✔1 ✔1 ✔1 ✔1 ✔1 ✔1

CKA_ENCRYPT ✖ ✖ ✖ ✔ ✔ ✔ ✖

CKA_DECRYPT ✖ ✖ ✔ ✖ ✔ ✔ ✖

CKA_DERIVE ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_MODIFIABLE ✔ ✔ ✔ ✔ ✔ ✔ ✔

246

Page 253: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Atributo Tipo de chave

CKA_DESTROYABLE ✔ ✔ ✔ ✔ ✔ ✔ ✔

CKA_SIGN ✔ ✖ ✔ ✖ ✔ ✔ ✔

CKA_SIGN_RECOVER ✖ ✖ ✔ ✖ ✖ ✖ ✖

CKA_VERIFY ✖ ✔ ✖ ✔ ✔ ✔ ✔

CKA_VERIFY_RECOVER ✖ ✖ ✖ ✔ ✖ ✖ ✖

CKA_WRAP ✖ ✖ ✖ ✔ ✔ ✔ ✖

CKA_WRAP_TEMPLATE ✖ ✔ ✖ ✔ ✔ ✔ ✖

CKA_TRUSTED ✖ ✔ ✖ ✔ ✔ ✔ ✔

CKA_WRAP_WITH_TRUSTED ✔ ✖ ✔ ✖ ✔ ✔ ✔

CKA_UNWRAP ✖ ✖ ✔ ✖ ✔ ✔ ✖

CKA_UNWRAP_TEMPLATE ✔ ✖ ✔ ✖ ✔ ✔ ✖

CKA_SENSITIVE ✔ ✖ ✔ ✖ ✔ ✔ ✔

CKA_EXTRACTABLE ✔ ✖ ✔ ✖ ✔ ✔ ✔

CKA_NEVER_EXTRACTABLE ✔ ✖ ✔ ✖ ✔ ✔ ✔

CKA_ALWAYS_SENSITIVE R; R; R; R; R; R; R;

CKA_MODULUS ✖ ✖ ✔ ✔ ✖ ✖ ✖

CKA_MODULUS_BITS ✖ ✖ ✖ ✔ ✖ ✖ ✖

CKA_PRIME_1 ✖ ✖ S ✖ ✖ ✖ ✖

CKA_PRIME_2 ✖ ✖ S ✖ ✖ ✖ ✖

CKA_COEFFICIENT ✖ ✖ S ✖ ✖ ✖ ✖

CKA_EXPONENT_1 ✖ ✖ S ✖ ✖ ✖ ✖

CKA_EXPONENT_2 ✖ ✖ S ✖ ✖ ✖ ✖

CKA_PRIVATE_EXPONENT ✖ ✖ S ✖ ✖ ✖ ✖

CKA_PUBLIC_EXPONENT ✖ ✖ ✔ ✔ ✖ ✖ ✖

CKA_EC_PARAMS ✔ ✔ ✖ ✖ ✖ ✖ ✖

CKA_EC_POINT ✖ ✔ ✖ ✖ ✖ ✖ ✖

CKA_VALUE S ✖ ✖ ✖ ✔2 ✔2 ✔2

CKA_VALUE_LEN ✖ ✖ ✖ ✖ ✔ ✖ ✔

CKA_CHECK_VALUE ✔ ✔ ✔ ✔ ✔ ✔ ✖

247

Page 254: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos.

Anotações:

1 Este atributo é parcialmente suportado pelo firmware e tem de ser definido explicitamente apenas para ovalor predefinido.

2 Atributo obrigatório.

3 O CKA_SIGN_RECOVER atributo deriva do CKA_SIGN atributo. Se estiver a ser definido, só pode serdefinido para o mesmo valor definido para CKA_SIGN. Se não estiver definido, retira o valor predefinido deCKA_SIGN. Uma vez que o cloudhsmo apenas suporta mecanismos de assinatura recuperáveis baseadosna RSA, este atributo é actualmente aplicável apenas às chaves públicas RSA.

4 O CKA_VERIFY_RECOVER atributo deriva do CKA_VERIFY atributo. Se estiver a ser definido, só pode serdefinido para o mesmo valor definido para CKA_VERIFY. Se não estiver definido, retira o valor predefinidode CKA_VERIFY. Uma vez que o cloudhsmo apenas suporta mecanismos de assinatura recuperáveisbaseados na RSA, este atributo é actualmente aplicável apenas às chaves públicas RSA.

Modificar atributosAlguns atributos de um objeto podem ser modificados depois que o objeto foi criado, enquanto algunsnão podem. Para modificar atributos, use o comando setAttribute (p. 121) do cloudhsm_mgmt_util. Vocêtambém pode derivar uma lista de atributos e as constantes que os representam usando o comandolistAttribute (p. 115) do cloudhsm_mgmt_util.

A lista a seguir exibe os atributos cuja modificação é permitida após a criação do objeto:

• CKA_LABEL

• CKA_TOKEN

Note

A modificação é permitida somente para alterar uma chave de sessão para uma chave detoken. Use o comando setAttribute (p. 202) do key_mgmt_util para alterar o valor do atributo.

• CKA_ENCRYPT

• CKA_DECRYPT

• CKA_SIGN

• CKA_VERIFY

• CKA_WRAP

• CKA_UNWRAP

• CKA_LABEL

• CKA_SENSITIVE

• CKA_DERIVE

Note

Esse atributo oferece suporte à derivação de chaves. Deve ser False para todas as chavespúblicas e não pode ser definido para True. Para chaves privadas e de EC, pode ser definidopara True ou False.

• CKA_TRUSTED

Note

Esse atributo pode ser definido como True ou False somente pelo Responsável pelacriptografia (CO)

• CKA_WRAP_WITH_TRUSTED

248

Page 255: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAmostras

Note

Este atributo pode ser definido para True se a chave só puder ser embrulhada com uma chavede empacotamento que tenha CKA_TRUSTED definir para True. A modificação é permitidapara alterar o valor do atributo de False para True. Uma vez definido para True, não podemodificar o valor do atributo.

Interpretar códigos de erroEspecificar no modelo um atributo que não tenha suporte de uma chave específica resultará em um erro. Atabela a seguir contém códigos de erro que são gerados quando as especificações são violadas:

Código de erro Description (Descrição)

CKR_TEMPLATE_INCONSISTENT Você receberá esse erro quando especificar umatributo no modelo de atributo, em que o atributoestá em conformidade com a especificação doPKCS #11, mas não tem suporte do CloudHSM.

CKR_ATTRIBUTE_TYPE_INVALID Você receberá esse erro quando recuperar o valorde um atributo, que está em conformidade com aespecificação do PKCS #11, mas não tem suportedo CloudHSM.

CKR_ATTRIBUTE_INCOMPLETE Você receberá esse erro quando não especificar oatributo obrigatório no modelo de atributo.

CKR_ATTRIBUTE_READ_ONLY Você receberá esse erro quando especificar umatributo somente leitura no modelo de atributo.

Amostras de código para o Biblioteca PKCS #11As amostras do código no github mostram como realizar tarefas básicas utilizando o Biblioteca PKCS #11.

Pré-requisitos do código de exemploAntes de executar os exemplos, realize as seguintes etapas para configurar o ambiente:

• Instale e configure a biblioteca de software AWS CloudHSM para PKCS#11 (p. 226) e o pacote decliente do AWS CloudHSM (p. 35).

• Configure um nome de usuário e senha de HSM (p. 53) válidos. As permissões do usuário decriptografia (CU) são suficientes para essas tarefas. O aplicativo usa essas credenciais para fazer loginno HSM em cada exemplo.

Exemplos de códigoAmostras de código para a biblioteca de software do AWS CloudHSM para PKCS#11 estão disponíveis noGitHub. Este repositório inclui exemplos de como fazer operações comuns usando PKCS #11, incluindocriptografia, descriptografia, assinatura e verificação.

• Generate keys (AES, RSA, EC)• List key attributes

249

Page 256: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismo dinâmico do OpenSSL

• Criptografar e descriptografar dados com AES-GCM• Encrypt and decrypt data with AES_CTR• Encrypt and decrypt data with 3DES• Sign and verify data with RSA• Derive keys using HMAC KDF• Wrap and unwrap keys with AES using PKCS #5 padding• Wrap and unwrap keys with AES using no padding• Wrap and unwrap keys with AES using zero padding• Wrap and unwrap keys with AES-GCM• Encapsular e desencapsular chaves com RSA• Gerar uma chave com um modelo de desempacotamento (p. 61)

Mecanismo dinâmico do AWS CloudHSM paraOpenSSL

O mecanismo dinâmico do AWS CloudHSM para OpenSSL é um mecanismo dinâmico de OpenSSLcompatível com a interface de linha de comando do OpenSSL e as operações de API de EVP. Omecanismo dinâmico permite que os aplicativos integrados ao OpenSSL, como os servidores web NGINXe Apache, descarreguem seu processamento de criptografia para HSMs no cluster do AWS CloudHSM. Omecanismo é compatível com os seguintes tipos de chaves e codificação:

• Geração de chave de RSA para chaves de 2048, 3072 e 4096 bits.• Assinar/verificar RSA.• Criptografar/descriptografar RSA.• Geração de número aleatório que é criptograficamente seguro e validado para FIPS.

Para obter mais informações, consulte o tópico a seguir.

Tópicos• Instalação e utilização do mecanismo dinâmico de AWS CloudHSM para OpenSSL (p. 250)

Instalação e utilização do mecanismo dinâmico deAWS CloudHSM para OpenSSLAntes de poder usar o mecanismo dinâmico de AWS CloudHSM para OpenSSL, é necessário o AWSCloudHSM cliente.

O cliente é um daemon que estabelece comunicação criptografada ponta a ponta com os HSMs em seucluster, e o mecanismo OpenSSL se comunica localmente com o cliente. Se você não tiver instalado econfigurado o pacote de AWS CloudHSM cliente, faça isso agora, seguindo as etapas em Instalar o cliente(Linux) (p. 35). Após instalar e configurar o cliente, use o comando a seguir para iniciá-lo.

O mecanismo dinâmico do AWS CloudHSM para OpenSSL é suportado somente em Linux e sistemasoperacionais compatíveis.

Amazon Linux

$ sudo start cloudhsm-client

250

Page 257: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalação do Mecanismo dinâmico do OpenSSL

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Tópicos• Instalar e configurar o OpenSSL Dynamic Engine (p. 251)• Usar o OpenSSL Dynamic Engine (p. 253)

Instalar e configurar o OpenSSL Dynamic EngineConclua as etapas a seguir para instalar e configurar o mecanismo dinâmico do AWS CloudHSM paraOpenSSL. É suportado somente em Linux e sistemas operacionais compatíveis.

Note

Para atualizar, consulte Atualização do cliente (p. 408).

Para instalar e configurar o mecanismo OpenSSL

1. Use os seguintes comandos para fazer download e instalar o mecanismo OpenSSL.

Amazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el6.x86_64.rpm

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

251

Page 258: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalação do Mecanismo dinâmico do OpenSSL

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el6.x86_64.rpm

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el7.x86_64.rpm

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-dyn-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-dyn_latest_amd64.deb

$ sudo dpkg -i cloudhsm-client-dyn_latest_amd64.deb

2. Depois de executar a etapa anterior, você pode encontrar o mecanismo OpenSSL em /opt/cloudhsm/lib/libcloudhsm_openssl.so.

3. Use o comando a seguir para definir uma variável de ambiente denominada n3fips_password quecontém as credenciais de um usuário de criptografia (CU).

$ export n3fips_password=<HSM user name>:<password>

252

Page 259: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFornecedor de JCE

Usar o OpenSSL Dynamic EnginePara usar o mecanismo dinâmico de AWS CloudHSM para OpenSSL da linha de comando de OpenSSL,use a opção -engine para especificar o mecanismo dinâmico de OpenSSL denominado cloudhsm. Porexemplo:

$ openssl s_server -cert server.crt -key server.key -engine cloudhsm

Para usar o mecanismo dinâmico de AWS CloudHSM para OpenSSL de um aplicativo integrado deOpenSSL, certifique-se de que seu aplicativo utiliza o mecanismo dinâmico de OpenSSL denominadocloudhsm. A biblioteca compartilhada para o mecanismo dinâmico está localizada em /opt/cloudhsm/lib/libcloudhsm_openssl.so.

AWS CloudHSM Fornecedor de JCEO AWS CloudHSM Fornecedor de JCE é uma implementação de fornecedores criada a partir do JavaCryptography Extension (JCE) estrutura do fornecedor. A JCE fornece uma estrutura para realizaroperações criptográficas utilizando o Kit de desenvolvimento Java (JDK). Ao longo deste guia, AWSCloudHSM Fornecedor de JCE é por vezes referido como Fornecedor de JCE. Utilize o Fornecedor de JCEe a JDK para descarregar operações criptográficas no HSM. Para mais informações sobre a instalação eutilização do Fornecedor de JCE, consulte os seguintes tópicos.

Tópicos• Instalar e utilizar AWS CloudHSM Fornecedor de JCE (p. 253)• Mecanismos compatíveis (p. 257)• Atributos Java compatíveis (p. 261)• Exemplos de códigos para a biblioteca de software AWS CloudHSM para Java (p. 268)• Uso do CloudHSM KeyStore Java Class (p. 268)• Uso do repositório de chaves do AWS CloudHSM com ferramentas de terceiros (p. 271)

Instalar e utilizar AWS CloudHSM Fornecedor de JCEAntes de poder utilizar o Fornecedor de JCE, precisa do AWS CloudHSM cliente.

O cliente é um daemon que estabelece comunicação criptografada ponta a ponta com os HSMs no cluster.O Fornecedor de JCE comunica localmente com o cliente. Se você não tiver instalado e configuradoo pacote de cliente do AWS CloudHSMfaça isso agora, seguindo as etapas em Instalar o cliente(Linux) (p. 35). Após instalar e configurar o cliente, use o comando a seguir para iniciá-lo.

Note que o Fornecedor de JCE é suportada apenas em Linux e sistemas operativos compatíveis.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

253

Page 260: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalar do Fornecedor de JCE

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Tópicos• Instalar do Fornecedor de JCE (p. 254)• Validação da Instalação (p. 255)• Fornecer credenciais ao Fornecedor de JCE (p. 256)• Essencial de Gestão Chave no Fornecedor de JCE (p. 257)

Instalar do Fornecedor de JCEUtilize os seguintes comandos para transferir e instalar o Fornecedor de JCE. Este fornecedor é suportadoapenas em Linux e sistemas operativos compatíveis.

Note

Para atualizar, consulte Atualização do cliente (p. 408).

Amazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el6.x86_64.rpm

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el6.x86_64.rpm

254

Page 261: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalar do Fornecedor de JCE

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el7.x86_64.rpm

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

$ sudo yum install -y ./cloudhsm-client-jce-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-jce_latest_amd64.deb

$ sudo dpkg -i cloudhsm-client-jce_latest_amd64.deb

Depois de executar os comandos anteriores, pode encontrar o seguinte Fornecedor de JCE ficheiros:

• /opt/cloudhsm/java/cloudhsm-version.jar

• /opt/cloudhsm/java/cloudhsm-test-version.jar

• /opt/cloudhsm/java/hamcrest-all-1.3.jar

• /opt/cloudhsm/java/junit.jar

• /opt/cloudhsm/java/log4j-api-2.13.3.jar

• /opt/cloudhsm/java/log4j-core-2.13.3.jar

• /opt/cloudhsm/lib/libcaviumjca.so

Validação da InstalaçãoExecute operações básicas no HSM para validar a instalação.

Para validar Fornecedor de JCE instalação

1. (Opcional) Se você ainda não tiver o Java instalado em seu ambiente, use o comando a seguir parainstalá-lo.

Linux (and compatible libraries)

$ sudo yum install -y java-1.8.0-openjdk

255

Page 262: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInstalar do Fornecedor de JCE

Ubuntu

$ sudo apt-get install openjdk-8-jre

2. Use os comandos a seguir para definir as variáveis de ambiente necessárias. Substituir <HSM username> e <password> com as credenciais de um utilizador cripto (CU).

$ export LD_LIBRARY_PATH=/opt/cloudhsm/lib

$ export HSM_PARTITION=PARTITION_1

$ export HSM_USER=<HSM user name>

$ export HSM_PASSWORD=<password>

3. Use o comando a seguir para executar o teste de funcionalidade básica. Se bem-sucedido, a saída docomando deverá ser semelhante à saída a seguir.

$ java8 -classpath "/opt/cloudhsm/java/*" org.junit.runner.JUnitCore TestBasicFunctionality

JUnit version 4.11.2018-08-20 17:53:48,514 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:33) - Adding provider.2018-08-20 17:53:48,612 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:42) - Logging in.2018-08-20 17:53:48,612 INFO [main] cfm2.LoginManager (LoginManager.java:104) - Looking for credentials in HsmCredentials.properties2018-08-20 17:53:48,612 INFO [main] cfm2.LoginManager (LoginManager.java:122) - Looking for credentials in System.properties2018-08-20 17:53:48,613 INFO [main] cfm2.LoginManager (LoginManager.java:130) - Looking for credentials in System.env SDK Version: 2.032018-08-20 17:53:48,655 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:54) - Generating AES Key with key size 256.2018-08-20 17:53:48,698 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:63) - Encrypting with AES Key.2018-08-20 17:53:48,705 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:84) - Deleting AES Key.2018-08-20 17:53:48,707 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:92) - Logging out.

Time: 0.205

OK (1 test)

Fornecer credenciais ao Fornecedor de JCEOs HSMs precisam autenticar seu aplicativo Java antes que o aplicativo possa usá-los. Cada aplicativopode usar uma sessão. Os HSMs autenticam uma sessão usando o método de login explícito ou implícito.

Login explícito – esse método permite que você forneça credenciais do CloudHSM diretamente noaplicativo. Ele usa o método LoginManager.login(), em que você passa no mome do usuário, a senhae o ID da partição do HSM do usuário CU. Para obter mais informações sobre como usar o método delogin explícito, consulte o código de exemplo Fazer login em um HSM.

256

Page 263: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos compatíveis

Login implícito – esse método permite que você defina as credenciais do CloudHSM em um novo arquivode propriedades, as propriedades do sistema, ou como variáveis de ambiente.

• Novo ficheiro de propriedade – Criar um novo ficheiro nomeado HsmCredentials.properties eadicioná-lo à sua aplicação CLASSPATH. O ficheiro deve conter o seguinte:

HSM_PARTITION = PARTITION_1HSM_USER = <HSM user name>HSM_PASSWORD = <password>

• Propriedades do sistema – defina as credenciais por meio das propriedades do sistema ao executar seuaplicativo. Os exemplos a seguir mostram duas formas diferentes de fazer isso:

$ java -DHSM_PARTITION=PARTITION_1 -DHSM_USER=<HSM user name> -DHSM_PASSWORD=<password>

System.setProperty("HSM_PARTITION","PARTITION_1");System.setProperty("HSM_USER","<HSM user name>");System.setProperty("HSM_PASSWORD","<password>");

• Variáveis de ambiente – defina as credenciais como variáveis de ambiente.

$ export HSM_PARTITION=PARTITION_1$ export HSM_USER=<HSM user name>$ export HSM_PASSWORD=<password>

As credenciais talvez não estejam disponíveis se o aplicativo não fornecê-las ou se você tentar umaoperação antes que o HSM autentique a sessão. Nesses casos, a biblioteca de software do CloudHSMpara Java procura as credenciais na seguinte ordem:

1. HsmCredentials.properties2. Propriedades do sistema3. Variáveis de ambiente

Tratamento de erros

O tratamento de erros é mais fácil com o login explícito do que com o método de login implícito. Ao usara classe LoginManager, você tem mais controle sobre como seu aplicativo trata as falhas. O método delogin implícito torna o tratamento de erros difícil de compreender quando as credenciais são inválidas ou osHSMs estiverem com problemas na autenticação da sessão.

Essencial de Gestão Chave no Fornecedor de JCENoções básicas sobre a gestão chave no Fornecedor de JCE envolve a importação de chaves, aexportação de teclas, a introdução de teclas por pega ou a eliminação de teclas. Para obter maisinformações sobre como gerenciar chaves, consulte Gerenciar chaves no exemplo de código.

Também pode encontrar mais Fornecedor de JCE exemplos de texto em Exemplos de Java (p. 268).

Mecanismos compatíveisPara obter informações sobre as interfaces e classes de mecanismos da Java Cryptography Architecture(JCA) compatíveis com o AWS CloudHSM, consulte os tópicos a seguir.

Tópicos• Chaves compatíveis (p. 258)

257

Page 264: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos compatíveis

• Criptografias compatíveis (p. 258)• Resumos compatíveis (p. 260)• Algoritmos de código de autenticação de mensagens compatível baseado em hash (HMAC) (p. 260)• Mecanismos de assinatura/verificação compatíveis (p. 261)

Chaves compatíveisA biblioteca de software AWS CloudHSM para Java permite gerar os tipos de chave a seguir.

• RSA – 2.048 bits para chaves RSA de 4.096 bits, em incrementos de 256 bits.• AES – chaves AES de 128, 192 e 256 bits.• Pares de chaves do ECC para curvas NIST secp256r1 (P-256), secp384r1 (P-384) e secp256k1

(Blockchain).

Além dos parâmetros padrão, oferecemos suporte aos seguintes parâmetros para cada chave gerada.

• Label: Um rótulo de chave que você pode usar para procurar chaves.• isExtractable: Indica se a chave pode ser exportada do HSM.• isPersistent: Indica se a chave permanece no HSM ao término da sessão atual.

Note

A versão 3.1 da biblioteca Java fornece a capacidade de especificar parâmetros em maiordetalhes. Para obter mais informações, consulte Atributos Java compatíveis (p. 261).

Criptografias compatíveisA biblioteca de software de AWS CloudHSM para Java suporta as seguintes combinações de algoritmo,modo e padding.

Algorithm Mode Padding Observações

AES CBC AES/CBC/NoPadding

AES/CBC/PKCS5Padding

ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.

AES ECB AES/ECB/NoPadding

AES/ECB/PKCS5Padding

ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.Use a transformação deAES.

AES CTR AES/CTR/NoPadding ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.

AES GCM AES/GCM/NoPadding ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE,

258

Page 265: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos compatíveis

Algorithm Mode Padding ObservaçõesCipher.WRAP_MODE eCipher.UNWRAP_MODE.

Ao executar acriptografia AES-GCM, o HSM ignora ovetor de inicialização(IV) na solicitação eusa um IV que elemesmo gera. Quando aoperação for concluída,você deverá chamarCipher.getIV() paraobter o IV.

AESWrap ECB AESWrap/ECB/ZeroPadding

AESWrap/ECB/NoPadding

AESWrap/ECB/PKCS5Padding

ImplementaCipher.WRAP_MODE eCipher.UNWRAP_MODE.Use a transformação deAES.

DESede (Triple DES) CBC DESede/CBC/NoPadding

DESede/CBC/PKCS5Padding

ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.

As rotinas de geraçãode chaves aceitam umtamanho de 168 ou192 bits. No entanto,internamente, todas aschaves DESede são de192 bits.

DESede (Triple DES) ECB DESede/ECB/NoPadding

DESede/ECB/PKCS5Padding

ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.

As rotinas de geraçãode chaves aceitam umtamanho de 168 ou192 bits. No entanto,internamente, todas aschaves DESede são de192 bits.

RSA ECB RSA/ECB/NoPadding

RSA/ECB/PKCS1Padding

ImplementaCipher.ENCRYPT_MODEeCipher.DECRYPT_MODE.

259

Page 266: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMecanismos compatíveis

Algorithm Mode Padding Observações

RSA ECB RSA/ECB/OAEPPadding

RSA/ECB/OAEPWithSHA-1ANDMGF1Padding

RSA/ECB/OAEPPadding

RSA/ECB/OAEPWithSHA-224ANDMGF1Padding

RSA/ECB/OAEPWithSHA-256ANDMGF1Padding

RSA/ECB/OAEPWithSHA-384ANDMGF1Padding

RSA/ECB/OAEPWithSHA-512ANDMGF1Padding

ImplementaCipher.ENCRYPT_MODE,Cipher.DECRYPT_MODE,Cipher.WRAP_MODE eCipher.UNWRAP_MODE.

OAEPPadding éOAEP com o tipo depreenchimento SHA-1.

RSAAESWrap ECB OAEPPADDING ImplementaCipher.WRAP_Mode eCipher.UNWRAP_MODE.

Resumos compatíveisA biblioteca de software de AWS CloudHSM para Java suporta os arquivos de resumo de mensagens aseguir.

• SHA-1

• SHA-224

• SHA-256

• SHA-384

• SHA-512

Note

Os dados com extensão inferior a 16 KB são criptografadas no HSM, enquanto nos dadosmaiores se usa hash localmente no software.

Algoritmos de código de autenticação de mensagens compatívelbaseado em hash (HMAC)A biblioteca de software de AWS CloudHSM para Java suporta os algoritmos HMAC a seguir.

• HmacSHA1

• HmacSHA224

• HmacSHA256

• HmacSHA384

• HmacSHA512

260

Page 267: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Mecanismos de assinatura/verificação compatíveisA biblioteca de software de AWS CloudHSM para Java suporta os tipos de assinatura e verificação de aseguir.

Tipos de assinatura RSA

• NONEwithRSA

• SHA1withRSA

• SHA224withRSA

• SHA256withRSA

• SHA384withRSA

• SHA512withRSA

• SHA1withRSA/PSS

• SHA224withRSA/PSS

• SHA256withRSA/PSS

• SHA384withRSA/PSS

• SHA512withRSA/PSS

Tipos de assinatura ECDSA

• NONEwithECDSA

• SHA1withECDSA

• SHA224withECDSA

• SHA256withECDSA

• SHA384withECDSA

• SHA512withECDSA

Atributos Java compatíveisEste tópico descreve como usar uma extensão proprietária para a biblioteca Java versão 3.1 para definiratributos de chave. Use essa extensão para definir atributos de chave compatíveis e seus valores duranteestas operações:

• Geração de chaves• Importação de chaves• Desempacotamento de chaves

Note

A extensão para definir atributos de chave personalizados é um recurso opcional Se você já temo código que funciona na biblioteca Java versão 3.0, não é necessário modificá-lo. As chavescriadas continuarão contendo os mesmos atributos de antes.

Tópicos• Noções básicas sobre atributos (p. 262)• Atributos compatíveis (p. 262)• Definir atributos para uma chave (p. 264)• Reunião de todos os componentes (p. 266)

261

Page 268: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Noções básicas sobre atributosUse atributos para especificar quais ações são permitidas em objetos de chave, incluindo chaves púbicas,privadas ou secretas. Defina os atributos e valores de chave durante as operações de criação de objetosde chave.

No entanto, a Java Cryptography Extension (JCE) não especifica como você deve definir valores ematributos de chave, portanto, a maioria das ações era permitida por padrão. Em contrapartida, o padrãoPKCS #11 define um conjunto de atributos abrangente com padrões mais restritivos. A partir da bibliotecaJava versão 3.1, o CloudHSM fornece uma extensão proprietária que permite definir valores maisrestritivos para atributos usados frequentemente.

Atributos compatíveisÉ possível definir valores para atributos listados na tabela abaixo. Como melhor prática, defina valoressomente para os atributos que deseja tornar restritivos. Se você não especificar um valor, o CloudHSMutilizará o valor padrão especificado na tabela abaixo. Uma célula vazia nas colunas Valor padrão indicaque não há nenhum valor padrão específico atribuído ao atributo.

Atributo Valor padrão Observações

  Chave simétrica Chave públicano par de chaves

Chave privadano par de chaves

 

CKA_TOKEN FALSE FALSE FALSE Uma chavepermanente queé replicada emtodos os HSMs nocluster e incluídaem backups.CKA_TOKEN =FALSE requer umachave de sessão,que é carregadasomente em umHSM e apagadaautomaticamentequando a conexãocom o HSM éinterrompida.

CKA_LABEL     Uma stringdefinida pelousuário. Elapermite identificarchaves no HSM deforma conveniente.

CKA_EXTRACTABLE TRUE   TRUE True indica quevocê pode exportaressa chave parafora do HSM.

CKA_ENCRYPT TRUE TRUE   True indica quevocê pode usara chave para

262

Page 269: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Atributo Valor padrão Observaçõescriptografarqualquer buffer.

CKA_DECRYPT TRUE   TRUE True indica quevocê pode usara chave paradescriptografarqualquer buffer.Geralmente,você define issocomo FALSE parauma chave cujoCKA_WRAP estejadefinido como true.

CKA_WRAP TRUE TRUE   True indicaque você podeusar a chavepara empacotaroutra chave.Geralmente,isso é definidocomo FALSE parachaves privadas.

CKA_UNWRAP TRUE   TRUE True indica quevocê pode usara chave paradesempacotar(importar) outrachave.

CKA_SIGN TRUE   TRUE True indica quevocê pode usara chave paraassinar um resumode mensagens.Geralmente,é definidocomo FALSEpara chavespúblicas e parachaves privadasarquivadas.

CKA_VERIFY TRUE TRUE   True indica quevocê pode usara chave paraverificar umaassinatura. Issogeralmente édefinido comoFALSE parachaves privadas.

263

Page 270: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Atributo Valor padrão Observações

CKA_PRIVATE TRUE TRUE TRUE True indica queum usuário podenão acessar achave até queo usuário sejaautenticado. Paramaior clareza,os usuários nãopodem acessaras chaves noCloudHSMaté que sejamautenticados,mesmo se esseatributo estiverdefinido comoFALSE.

Note

Você obterá maior suporte para atributos na biblioteca PKCS #11. Para obter mais informações,consulte Atributos PKCS #11 compatíveis (p. 238).

Definir atributos para uma chaveO CloudHsmKeyAttributesMap é um objeto semelhante ao Mapa Java, que pode ser usado para definirvalores de atributos para objetos de chave. Os métodos para a função CloudHsmKeyAttributesMapfuncionam de forma semelhante aos métodos usados na manipulação de mapa Java.

Para definir valores personalizados, existem duas opções:

• Usar os métodos listados na tabela a seguir• Usar padrões do construtor demonstrados posteriormente nesse documento.

Os objetos de mapa de atributos oferecem suporte para os seguintes métodos para definir atributos:

Operação Valor de retorno Método doCloudHSMKeyAttributesMap

Obter o valor de um atributo dechave para uma chave existente

Objeto (contendo o valor) ou null get(keyAttribute)

Preencher o valor de um atributode chave

O valor anterior associado a umatributo de chave, ou null se nãohouver mapeamento para umatributo de chave

put(keyAttribute, valor)

Preencher valores para múltiplosatributos de chave

N/D putAll(keyAttributesMap)

Remover um par de valor-chavedo mapa de atributos

O valor anterior associado a umatributo de chave, ou null se não

remove(keyAttribute)

264

Page 271: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Operação Valor de retorno Método doCloudHSMKeyAttributesMap

houver mapeamento para umatributo de chave

Note

Todos os atributos que você não especificar explicitamente serão definidos como os padrõeslistados na tabela anterior em the section called “Atributos compatíveis” (p. 262).

Exemplo de padrão do construtorGeralmente, para os desenvolvedores será mais conveniente usar classes por meio do padrão doConstrutor. Conforme os exemplos:

import com.amazonaws.cloudhsm.CloudHsmKeyAttributes;import com.amazonaws.cloudhsm.CloudHsmKeyAttributesMap;import com.amazonaws.cloudhsm.CloudHsmKeyPairAttributesMap;

CloudHsmKeyAttributesMap keyAttributesSessionDecryptionKey = new CloudHsmKeyAttributesMap.Builder() .put(CloudHsmKeyAttributes.CKA_LABEL, "ExtractableSessionKeyEncryptDecrypt") .put(CloudHsmKeyAttributes.CKA_WRAP, false) .put(CloudHsmKeyAttributes.CKA_UNWRAP, false) .put(CloudHsmKeyAttributes.CKA_SIGN, false) .put(CloudHsmKeyAttributes.CKA_VERIFY, false) .build();

CloudHsmKeyAttributesMap keyAttributesTokenWrappingKey = new CloudHsmKeyAttributesMap.Builder() .put(CloudHsmKeyAttributes.CKA_LABEL, "TokenWrappingKey") .put(CloudHsmKeyAttributes.CKA_TOKEN, true) .put(CloudHsmKeyAttributes.CKA_ENCRYPT, false) .put(CloudHsmKeyAttributes.CKA_DECRYPT, false) .put(CloudHsmKeyAttributes.CKA_SIGN, false) .put(CloudHsmKeyAttributes.CKA_VERIFY, false) .build();

Os desenvolvedores também podem utilizar conjuntos de atributos predefinidos como uma formaconveniente para aplicar as melhores práticas em modelos de chave. Exemplo:

//best practice template for wrapping keys

CloudHsmKeyAttributesMap commonKeyAttrs = new CloudHsmKeyAttributesMap.Builder() .put(CloudHsmKeyAttributes.CKA_EXTRACTABLE, false) .put(CloudHsmKeyAttributes.CKA_DECRYPT, false) .build();

// initialize a new instance of CloudHsmKeyAttributesMap by copying commonKeyAttrs// but with an appropriate label

CloudHsmKeyAttributesMap firstKeyAttrs = new CloudHsmKeyAttributesMap(commonKeyAttrs);firstKeyAttrs.put(CloudHsmKeyAttributes.CKA_LABEL, "key label");

// alternatively, putAll() will overwrite existing values to enforce conformance

CloudHsmKeyAttributesMap secondKeyAttrs = new CloudHsmKeyAttributesMap();secondKeyAttrs.put(CloudHsmKeyAttributes.CKA_DECRYPT, true);secondKeyAttrs.put(CloudHsmKeyAttributes.CKA_ENCRYPT, true);secondKeyAttrs.put(CloudHsmKeyAttributes.CKA_LABEL, “safe wrapping key”);

265

Page 272: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

secondKeyAttrs.putAll(commonKeyAttrs); // will overwrite CKA_DECRYPT to be FALSE

Definir atributos para um par de chaves

Use a classe Java CloudHsmKeyPairAttributesMap para manipular atributos de chave para um par dechaves. O CloudHsmKeyPairAttributesMap encapsula dois objetos CloudHsmKeyAttributesMap;um para uma chave pública e outro para uma chave privada.

Para definir atributos individuais para a chave pública e privada separadamente, é possível usar o métodoput() no objeto de mapa CloudHsmKeyAttributes correspondente para essa chave. Use o métodogetPublic() para recuperar o mapa de atributos para a chave pública e use getPrivate() pararecuperar o mapa de atributos para a chave privada. Preencha o valor de múltiplos atributos de chavepara os pares de chaves públicas e privadas usando putAll() com um mapa de atributos de um par dechaves como argumento.

Exemplo de padrão do construtor

Geralmente, para os desenvolvedores será mais conveniente definir atributos de chave usando o padrãodo Construtor. Por exemplo:

import com.amazonaws.cloudhsm.CloudHsmKeyAttributes;import com.amazonaws.cloudhsm.CloudHsmKeyAttributesMap;import com.amazonaws.cloudhsm.CloudHsmKeyPairAttributesMap;

//specify attributes up-front CloudHsmKeyAttributesMap keyAttributes = new CloudHsmKeyAttributesMap.Builder() .put(CloudHsmKeyAttributes.CKA_SIGN, false) .put(CloudHsmKeyAttributes.CKA_LABEL, "PublicCertSerial12345") .build();

CloudHsmKeyPairAttributesMap keyPairAttributes = new CloudHsmKeyPairAttributesMap.Builder() .withPublic(keyAttributes) .withPrivate( new CloudHsmKeyAttributesMap.Builder() //or specify them inline .put(CloudHsmKeyAttributes.CKA_LABEL, "PrivateCertSerial12345") .put (CloudHSMKeyAttributes.CKA_WRAP, FALSE) .build() ) .build();

Note

Para obter mais informações sobre essa extensão proprietária, consulte o arquivo Javadoc e oexemplo no GitHub. Para explorar o Javadoc, faça download do arquivo e expanda-o.

Reunião de todos os componentesPara especificar os atributos de chave com as suas operações de chave, siga estes passos:

1. Instancie CloudHsmKeyAttributesMap para chaves simétricas ouCloudHsmKeyPairAttributesMap para par de chaves.

2. Defina o objeto de atributos do passo 1 com os atributos e valores de chave necessários.3. Instancie uma classe Cavium*ParameterSpec, correspondente ao tipo de chave específico e passe

este objeto de atributos configurados para o construtor.4. Passe esse objeto Cavium*ParameterSpec para uma classe ou método de criptografia

correspondente.

266

Page 273: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtributos Java compatíveis

Para referência, a tabela a seguir contém as classes e os métodos Cavium*ParameterSpec queoferecem suporte aos atributos de chave personalizados.

Tipo de chave Classe de especificação deparâmetros

Exemplo de construtores

Classe base CaviumKeyGenAlgorithmParameterSpecCaviumKeyGenAlgorithmParameterSpec(CloudHsmKeyAttributesMapkeyAttributesMap)

DES CaviumDESKeyGenParameterSpecCaviumDESKeyGenParameterSpec(intkeySize, byte[] iv,CloudHsmKeyAttributesMapkeyAttributesMap)

RSA CaviumRSAKeyGenParameterSpecCaviumRSAKeyGenParameterSpec(intkeysize, BigIntegerpublicExponent,CloudHsmKeyPairAttributesMapkeyPairAttributesMap)

Secreta CaviumGenericSecretKeyGenParameterSpecCaviumGenericSecretKeyGenParameterSpec(intsize,CloudHsmKeyAttributesMapkeyAttributesMap)

AES CaviumAESKeyGenParameterSpecCaviumAESKeyGenParameterSpec(intkeySize, byte[] iv,CloudHsmKeyAttributesMapkeyAttributesMap)

EC CaviumECGenParameterSpec CaviumECGenParameterSpec(StringstdName,CloudHsmKeyPairAttributesMapkeyPairAttributesMap)

Código de exemplo: gerar e empacotar uma chaveEstes exemplos de código demonstram as etapas para duas operações diferentes: geração de chaves eempacotamento de chaves:

// Set up the desired key attributes

KeyGenerator keyGen = KeyGenerator.getInstance("AES", "Cavium");CaviumAESKeyGenParameterSpec keyAttributes = new CaviumAESKeyGenParameterSpec( 256, new CloudHsmKeyAttributesMap.Builder() .put(CloudHsmKeyAttributes.CKA_LABEL, "MyPersistentAESKey") .put(CloudHsmKeyAttributes.CKA_EXTRACTABLE, true) .put(CloudHsmKeyAttributes.CKA_TOKEN, true) .build());

// Assume we already have a handle to the myWrappingKey// Assume we already have the wrappedBytes to unwrap

// Unwrap a key using Custom Key Attributes

CaviumUnwrapParameterSpec unwrapSpec = new CaviumUnwrapParameterSpec(myInitializationVector, keyAttributes);

267

Page 274: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplos de Java

Cipher unwrapCipher = Cipher.getInstance("AESWrap", "Cavium");unwrapCipher.init(Cipher.UNWRAP_MODE, myWrappingKey, unwrapSpec);Key unwrappedKey = unwrapCipher.unwrap(wrappedBytes, "AES", Cipher.SECRET_KEY);

Exemplos de códigos para a biblioteca de softwareAWS CloudHSM para JavaPré-requisitos do código de exemploAntes de processar as amostras, tem de configurar o seu ambiente:

• Instalar e configurar o Fornecedor de extensão criptográfica Java (JCE) (p. 254) e o AWS CloudHSMpacote cliente (p. 35).

• Configure um nome de usuário e senha de HSM (p. 53) válidos. As permissões do usuário decriptografia (CU) são suficientes para essas tarefas. O aplicativo usa essas credenciais para fazer loginno HSM em cada exemplo.

• Decida como fornecer credenciais ao Fornecedor de JCE (p. 256).

Exemplos de códigoAs amostras do código seguinte mostram como utilizar o AWS CloudHSM Fornecedor de JCE (p. 253)para realizar tarefas básicas. Outros exemplos podem ser encontrados no GitHub.

• Log in to an HSM• Gerenciar chaves• Gerar uma chave de AES.• Encrypt and decrypt with AES-GCM• Encrypt and decrpyt with AES-CTR• Encrypt and decrypt with D3DES-ECB• Wrap and unwrap keys with AES-GCM• Encapsular e desencapsular chaves com AES• Encapsular e desencapsular chaves com RSA• Use supported key attributes• Enumerate keys in the key store• Utilize a loja principal do cloudhsmo• Assinar mensagens em um exemplo encadeado várias vezes• Use JCE em vez de OpenSSL para executar a derivação de chave ECDH

Uso do CloudHSM KeyStore Java ClassA classe AWS CloudHSM KeyStore oferece um repositório de chaves PKCS12 para fins especiaisque permite o acesso a chaves AWS CloudHSM por meio de aplicativos como keytool e jarsigner. Esterepositório de chaves pode armazenar certificados junto com os seus dados de chave e correlacioná-loscom os dados da chave armazenados no AWS CloudHSM.

Note

Como os certificados são informações públicas e para maximizar a capacidade de repositório dechaves criptográficas, o AWS CloudHSM não oferece suporte ao armazenamento de certificadosem HSMs.

268

Page 275: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCloudHSM KeyStore

A classe AWS CloudHSM KeyStore implementa a KeyStore Service Provider Interface (SPI, Interfacedo provedor de serviços) da Extensão de Criptografia Java (JCE). Para obter mais informações sobrecomo usar KeyStore, consulte Class KeyStore.

Escolha do repositório de chaves apropriadoO AWS CloudHSM Java Cryptography Extension (JCE) o fornecedor vem com uma loja-chave depassagem apenas de leitura que passa todas as transações para o HSM. Este repositório de chavespadrão é distinto do AWS CloudHSM KeyStore com propósito especial. Na maioria das situações, vocêobterá melhor desempenho de tempo de execução e taxa de transferência usando o padrão. Você sódeve usar o AWS CloudHSM KeyStore para aplicativos em que você precisa de suporte para certificados eoperações baseadas em certificados, além de transferir operações de chave para o HSM.

Embora ambas as lojas-chave utilizem o Fornecedor de JCE para operações, são entidadesindependentes e não trocam informações entre si.

Carregue o repositório de chaves padrão para seu aplicativo Java da seguinte forma:

KeyStore ks = KeyStore.getInstance("Cavium");

Carregue o CloudHSM KeyStore para fins especiais da seguinte forma:

KeyStore ks = KeyStore.getInstance("CloudHSM")

Inicialização do AWS CloudHSM KeyStoreIniciar sessão no AWS CloudHSM keystore da mesma forma que inicia sessão no Fornecedor de JCE.Você pode usar variáveis de ambiente ou o arquivo de propriedade do sistema e deve fazer login antesde começar a usar o CloudHSM KeyStore. Para um exemplo de iniciar sessão num HSM utilizando oFornecedor de JCE, consulte Iniciar sessão num HSM.

Se desejar, você pode especificar uma senha para criptografar o arquivo PKCS12 local que contém dadosde repositório de chaves. Ao criar o AWS CloudHSM Keystore, você define a senha e fornece-a ao usar osmétodos de carregamento, definição e obtenção.

Instancie um novo objeto CloudHSM KeyStore da seguinte forma:

ks.load(null, null);

Grave dados de repositório de chaves em um arquivo usando o método store. A partir desse ponto,você pode carregar o repositório de chaves existente usando o método load com o arquivo de origem e asenha da seguinte forma:

ks.load(inputStream, password);

Uso do CloudHSM KeyStoreUm objeto CloudHSM KeyStore geralmente é usado por meio de um aplicativo de terceiros, como jarsignerou keytool. Você também pode acessar o objeto diretamente com código.

O AWS CloudHSM KeyStore está em conformidade com a especificação JCE Class KeyStore e fornece asseguintes funções.

• load

269

Page 276: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCloudHSM KeyStore

Carrega o repositório de chaves do fluxo de entrada fornecido. Se uma senha foi definida ao salvaro repositório de chaves, essa mesma senha deve ser fornecida para que o carregamento seja bem-sucedido. Defina ambos os parâmetros como null para inicializar um novo repositório de chaves vazio.

KeyStore ks = KeyStore.getInstance("CloudHSM");ks.load(inputStream, password);

• aliases

Retorna uma enumeração dos nomes de alias de todas as entradas na instância de repositório dechaves dada. Os resultados incluem objetos armazenados localmente no arquivo PKCS12 e objetosresidentes no HSM.

Código de exemplo

KeyStore ks = KeyStore.getInstance("CloudHSM");for(Enumeration<String> entry = ks.aliases(); entry.hasMoreElements();) { String label = entry.nextElement(); System.out.println(label); }

• ContainsAlias

Retorna true se o repositório de chaves tiver acesso a pelo menos um objeto com o alias especificado. Orepositório de chaves verifica objetos armazenados localmente no arquivo PKCS12 e objetos residentesno HSM.

• DeleteEntry

Exclui uma entrada de certificado do arquivo PKCS12 local. O AWS CloudHSM KeyStore não dá suporteà exclusão de dados de chave armazenados em um HSM. Você pode excluir chaves com a ferramentakey_mgmt_util do CloudHSM.

• GetCertificate

Retorna o certificado associado a um alias, se disponível. Se o alias não existir ou fizer referência a umobjeto que não for um certificado, a função retornará NULL.

KeyStore ks = KeyStore.getInstance("CloudHSM");Certificate cert = ks.getCertificate(alias)

• GetCertificateAlias

Retorna o nome (alias) da primeira entrada de repositório de chaves cujos dados correspondem aocertificado fornecido.

KeyStore ks = KeyStore.getInstance("CloudHSM");String alias = ks.getCertificateAlias(cert)

• GetCertificateChain

Retorna a cadeia de certificados associada ao alias fornecido. Se o alias não existir ou fizer referência aum objeto que não for um certificado, a função retornará NULL.

• GetCreationDate

Retorna a data de criação da entrada identificada pelo alias fornecido. Se uma data de criação nãoestiver disponível, a função retornará a data em que o certificado se tornou válido.

• GetKey

270

Page 277: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

O GetKey é passado para o HSM e retorna um objeto chave correspondente ao rótulo dado.Como o getKey consulta diretamente o HSM, ele pode ser usado para qualquer chave no HSM,independentemente de ter sido gerado pelo KeyStore.

Key key = ks.getKey(keyLabel, null);

• IsCertificateEntry

Verifica se a entrada com o alias fornecido representa uma entrada de certificado.• IsKeyEntry

Verifica se a entrada com o alias fornecido representa uma entrada de chave. A ação procura o alias noarquivo PKCS12 e no HSM.

• SetCertificateEntry

Atribui o certificado fornecido ao alias fornecido. Se o alias fornecido já estiver sendo usado paraidentificar uma chave ou certificado, um KeyStoreException é lançado. Você pode usar o código JCEpara obter o objeto de chave e o método KeyStore SetKeyEntry para associar o certificado à chave.

• SetKeyEntry com byte[] chave

Atribui a chave de matriz de bytes fornecida ao alias fornecido armazenando-a dentro do HSM comouma chave genérica com o alias fornecido.

• SetKeyEntry com Key objeto

Atribui a chave fornecida ao alias fornecido e armazena-a dentro do HSM. Se o objeto Key não for dotipo CaviumKey, a chave será importada para o HSM como uma chave de sessão extraível.

Se o objeto Key for do tipo PrivateKey, ele deve ser acompanhado por uma cadeia de certificadoscorrespondente.

Se o alias já existir, a SetKeyEntry chamada lança um KeyStoreException e impede que a chaveseja substituída. Se a chave precisar ser substituída, use KMU ou JCE para esse fim.

• EngineSize

Retorna o número de entradas no repositório de chaves.• Store

Armazena o repositório de chaves no fluxo de saída fornecido como arquivo PKCS12 e protege-o com asenha fornecida. Além disso, mantém todas as chaves carregadas (que são definidas usando chamadassetKey).

Uso do repositório de chaves do AWS CloudHSM comferramentas de terceirosO repositório de chaves do AWS CloudHSM é um armazenamento de chaves JCE para fins especiais queutiliza certificados associados com chaves no HSM por meio de ferramentas de terceiros, como keytoole jarsigner. O AWS CloudHSM não armazena certificados no HSM, pois os certificados são dadospúblicos e não confidenciais. O repositório de chaves do AWS CloudHSM armazena os certificados em umarquivo local e mapeia os certificados para chaves correspondentes em seu HSM.

Quando você usa o repositório de chaves do AWS CloudHSM para gerar novas chaves, nenhuma entradaé gerada no arquivo de armazenamento de chaves local — as chaves são criadas no HSM. Da mesmaforma, quando você usa o repositório de chaves do AWS CloudHSM para procurar chaves, a pesquisa étransmitida para o HSM. Quando você armazena certificados no repositório de chaves do AWS CloudHSM,

271

Page 278: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

o provedor verifica se existe um par de chaves com o alias correspondente no HSM e associa o certificadofornecido com o par de chaves correspondente.

Tópicos• Pré-requisitos (p. 272)• Uso do repositório de chaves do AWS CloudHSM com Keytool (p. 273)• Uso do repositório de chaves do AWS CloudHSM com Jarsigner (p. 276)• Problemas conhecidos (p. 277)• Registro de chaves pré-existentes com o repositório de chaves do AWS CloudHSM (p. 277)

Pré-requisitosPara usar o repositório de chaves do AWS CloudHSM, primeiro você deve inicializar e configurar o SDK doAWS CloudHSM JCE.

Etapa 1: Instalar o JCE

Para instalar o JCE, incluindo os pré-requisitos do cliente AWS CloudHSM, siga as etapas para instalar abiblioteca Java (p. 253).

Etapa 2: Adicionar credenciais de login do HSM a variáveis de ambiente

Configure variáveis de ambiente para conter suas credenciais de login do HSM.

export HSM_PARTITION=PARTITION_1export HSM_USER=<HSM user name> export HSM_PASSWORD=<HSM password>

Note

O CloudHSM JCE oferece várias opções de login. Para usar o repositório de chaves do AWSCloudHSM com aplicativos de terceiros, você deve usar login implícito com variáveis de ambiente.Se você quiser usar o login explícito por meio do código do aplicativo, você deve criar seu próprioaplicativo usando o repositório de chaves do AWS CloudHSM. Para obter informações adicionais,consulte o artigo sobre como Usar o AWS CloudHSM KeyStore (p. 268).

Etapa 3: Registrar o provedor JCE

Como registrar o provedor JCE na configuração do Java CloudProvider.

1. Abra o arquivo de configuração java.security em sua instalação Java para edição.2. No arquivo de configuração java.security, adicione com.cavium.provider.CaviumProvider

como o último provedor. Por exemplo, se houver nove provedores no arquivo java.security, adicioneo provedor a seguir como o último provedor na seção. Adicionar o provedor Cavium como prioridademaior pode afetar negativamente o desempenho do seu sistema.

security.provider.10=com.cavium.provider.CaviumProvider

Note

Usuários avançados podem estar acostumados a especificar opções de linha de comando-providerName, -providerclass e -providerpath ao usar o keytool, em vez deatualizar o arquivo de configuração de segurança. Se você tentar especificar opções de linha

272

Page 279: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

de comando ao gerar chaves com o repositório de chaves do AWS CloudHSM, isso causaráerros.

Uso do repositório de chaves do AWS CloudHSM com KeytoolKeytool é um utilitário de linha de comando popular para tarefas comuns de chave e certificado emsistemas Linux. Um tutorial completo sobre o keytool está fora do escopo da documentação do AWSCloudHSM. Este artigo explica os parâmetros específicos que você deve usar com várias funções keytoolao utilizar o AWS CloudHSM como a raiz da confiança por meio do repositório de chaves do AWSCloudHSM.

Ao usar o keytool com o repositório de chaves do AWS CloudHSM, especifique os seguintes argumentospara qualquer comando keytool:

-storetype CLOUDHSM \ -J-classpath '-J/opt/cloudhsm/java/*' \ -J-Djava.library.path=/opt/cloudhsm/lib

Se você quiser criar um novo arquivo de repositório de chaves usando o repositório de chaves do AWSCloudHSM, consulte Uso do repositório de chaves do AWS CloudHSM. Para usar um repositório dechaves existente, especifique seu nome (incluindo o caminho) usando o argumento —keystore parakeytool. Se você especificar um arquivo de repositório de chaves inexistente em um comando keytool, orepositório de chaves do AWS CloudHSM criará um novo arquivo de repositório de chaves.

Criar novas chaves com Keytool

Você pode usar keytool para gerar qualquer tipo de chave suportada pelo SDK JCE do AWS CloudHSM.Veja uma lista completa de chaves e comprimentos no artigo Chaves Suportadas na Biblioteca Java.

Important

Uma chave gerada por meio de keytool é gerada no software e importada para o AWS CloudHSMcomo uma chave extraível e persistente.

Instruções para criar chaves não extraíveis diretamente no HSM e usá-las com keytool ou Jarsigner sãomostradas no exemplo de código em Registro de chaves pré-existentes com repositório de chaves doAWS CloudHSM (p. 277). É altamente recomendável gerar chaves não exportáveis fora do keytool eimportar certificados correspondentes para o repositório de chaves. Se você usar chaves RSA ou ECextraíveis por meio de keytool e jarsigner, os provedores exportam chaves do AWS CloudHSM e usam achave localmente para operações de assinatura.

Se você tiver várias instâncias de cliente conectadas ao cluster do CloudHSM, esteja ciente de queimportar um certificado no repositório de chaves de uma instância de cliente não disponibilizaráautomaticamente os certificados em outras instâncias de cliente. Para registrar a chave e os certificadosassociados em cada instância do cliente, você precisa executar um aplicativo Java conforme descrito emGerar um CSR usando Keytool (p. 274). Como alternativa, você pode fazer as alterações necessárias emum cliente e copiar o arquivo repositório de chaves resultante para todas as outras instâncias de cliente.

Exemplo 1: Para gerar uma chave AES-256 simétrica com rótulo “my_secret” e salvá-la em um arquivorepositório de chaves chamado “my_keystore.store”, no diretório de trabalho.

keytool -genseckey -alias my_secret -keyalg aes \ -keysize 256 -keystore my_keystore.store \ -storetype CloudHSM -J-classpath '-J/opt/cloudhsm/java/*' \ -J-Djava.library.path=/opt/cloudhsm/lib/

273

Page 280: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

Exemplo 2: Para gerar um par de chaves RSA 2048 com o rótulo “my_rsa_key_pair” e salvá-lo em umarquivo repositório de chaves chamado “my_keystore.store” no diretório de trabalho.

keytool -genkeypair -alias my_rsa_key_pair \ -keyalg rsa -keysize 2048 \ -sigalg sha512withrsa \ -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Exemplo 3: Para gerar uma chave ED p256 com o rótulo “my_ec_key_pair” e salvá-la em um arquivo derepositório de chaves chamado “my_keystore.store” no diretório de trabalho.

keytool -genkeypair -alias my_ec_key_pair \ -keyalg ec -keysize 256 \ -sigalg SHA512withECDSA \ -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Você pode encontrar uma lista de algoritmos de assinatura suportados na biblioteca Java.

Excluir uma chave usando Keytool

O repositório de chaves do AWS CloudHSM não suporta a exclusão de chaves. Para excluir a chave,é necessário usar a função deleteKey da ferramenta da linha de comando do AWS CloudHSM,deleteKey (p. 139).

Gerar um CSR usando Keytool

Você recebe a maior flexibilidade na geração de um pedido de assinatura de certificado (CSR) se vocêusar o Mecanismo dinâmico do AWS CloudHSM para OpenSSL (p. 250). O comando a seguir usa okeytool para gerar um CSR para um par de chaves com o alias my-key-pair.

keytool -certreq -alias my_key_pair \ -file my_csr.csr \ -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Note

Para usar um par de chaves da keytool, esse par de chaves deve ter uma entrada no arquivode repositório de chaves especificado. Se você quiser usar um par de chaves que foi geradofora do keytool, você deve importar os metadados de chave e certificado para o repositóriode chaves. Para obter instruções sobre como importar os dados de repositório de chaves,consulte Importação de certificados intermediários e raiz para AWS CloudHSM Key Store usandoKeytool (p. 274).

Uso do Keytool para importar certificados intermediários e raiz para o repositóriode chaves do AWS CloudHSM

Para importar um certificado CA, você deve habilitar a verificação de uma cadeia de certificados completaem um certificado recém-importado. O seguinte comando mostra um exemplo.

274

Page 281: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

keytool -import -trustcacerts -alias rootCAcert \ -file rootCAcert.cert -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Se você conectar várias instâncias de cliente ao cluster do AWS CloudHSM, importar um certificado norepositório de chaves de uma instância de cliente não disponibilizará automaticamente o certificado emoutras instâncias de cliente. Você deve importar o certificado em cada instância do cliente.

Uso do Keytool para excluir certificados do repositório de chaves do AWSCloudHSM

O comando a seguir mostra um exemplo de como excluir um certificado de um repositório de chaves Javakeytool.

keytool -delete -alias mydomain -keystore \ -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Se você conectar várias instâncias de cliente ao cluster do AWS CloudHSM, excluir um certificado norepositório de chaves de uma instância de cliente não removerá automaticamente o certificado de outrasinstâncias de cliente. Você deve excluir o certificado em cada instância de cliente.

Importar um certificado de trabalho para o AWS CloudHSM Key Store usandoKeytool

Depois que uma solicitação de assinatura de certificado (CSR) for assinada, você poderá importá-la para orepositório de chaves do AWS CloudHSM e associá-la ao par de chaves apropriado. O comando a seguirfornece um exemplo.

keytool -importcert -noprompt -alias my_key_pair \ -file my_certificate.crt \ -keystore my_keystore.store -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

O alias deve ser um par de chaves com um certificado associado no repositório de chaves. Se a chavefor gerada fora da ferramenta de chave ou for gerada em uma instância de cliente diferente, você deveprimeiro importar os metadados de chave e certificado para o repositório de chaves. Para obter instruçõessobre como importar os metadados do certificado, consulte o exemplo de código emComo registrar chavespré-existentes com o repositório de chaves do AWS CloudHSM (p. 277).

A cadeia de certificados deve ser verificável. Se você não conseguir verificar o certificado, talvez sejanecessário importar o certificado de assinatura (autoridade de certificação) para o repositório de chavespara que a cadeia possa ser verificada.

Exportar um certificado usando Keytool

O exemplo a seguir gera um certificado no formato binário X.509. Para exportar um certificado legível porhumanos, adicione -rfc ao comando -exportcert.

keytool -exportcert -alias my_key_pair \

275

Page 282: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

-file my_exported_certificate.crt \ -keystore my_keystore.store \ -storetype CLOUDHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*’ \ -J-Djava.library.path=/opt/cloudhsm/lib/

Uso do repositório de chaves do AWS CloudHSM com JarsignerJarsigner é um utilitário de linha de comando popular para assinar arquivos JAR usando uma chavearmazenada de forma segura em um HSM. Um tutorial completo sobre Jarsigner está fora do escopo dadocumentação do AWS CloudHSM. Esta seção explica os parâmetros Jarsigner que você deve usar paraassinar e verificar assinaturas com o AWS CloudHSM como a raiz de confiança por meio do repositório dechaves do AWS CloudHSM.

Configuração de chaves e certificados

Antes de assinar arquivos JAR com Jarsigner, verifique se você configurou ou concluiu as seguintesetapas:

1. Siga as orientações nos pré-requisitos de repositório de chaves AWS CloudHSM (p. 272).2. Configure suas chaves de assinatura e os certificados associados e cadeia de certificados que devem

ser armazenados no repositório de chaves AWS CloudHSM do servidor ou instância de cliente atual.Crie as chaves no AWS CloudHSM e importe os metadados associados para o repositório de chavesdo AWS CloudHSM. Use o exemplo de código em Registro de chaves pré-existentes com repositóriode chaves do AWS CloudHSM (p. 277) para importar metadados para o repositório de chaves. Sevocê quiser usar o keytool para configurar as chaves e certificados, consulte Criar novas chaves comKeytool (p. 273). Se você usar várias instâncias de cliente para assinar seus JARs, crie a chave eimporte a cadeia de certificados. Em seguida, copie o arquivo de repositório de chaves resultante paracada instância do cliente. Se você gerar novas chaves com frequência, talvez seja mais fácil importarcertificados individualmente para cada instância do cliente.

3. Toda a cadeia de certificados deve ser verificável. Para que a cadeia de certificados seja verificável,talvez seja necessário adicionar o certificado CA e os certificados intermediários ao repositório dechaves do AWS CloudHSM. Consulte o trecho de código em Assinar um arquivo JAR usando AWSCloudHSM e Jarsigner (p. 276) para obter instruções sobre como usar o código Java para verificara cadeia de certificados. Se preferir, você pode usar o keytool para importar certificados. Para obterinstruções sobre como usar o keytool, consulte Uso do Keytool para importar certificados intermediáriose raiz para o repositório de chaves do AWS CloudHSM (p. 274).

Assine um arquivo JAR usando AWS CloudHSM e Jarsigner

Use o seguinte comando para assinar um arquivo JAR:

jarsigner -keystore my_keystore.store \ -signedjar signthisclass_signed.jar \ -sigalg sha512withrsa \ -storetype CloudHSM \ -J-classpath ‘-J/opt/cloudhsm/java/*:/usr/lib/jvm/java-1.8.0/lib/tools.jar' \ -J-Djava.library.path=/opt/cloudhsm/lib \ signthisclass.jar my_key_pair

Use o seguinte comando para verificar um JAR assinado:

jarsigner -verify \ -keystore my_keystore.store \ -sigalg sha512withrsa \ -storetype CloudHSM \

276

Page 283: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

-J-classpath ‘-J/opt/cloudhsm/java/*:/usr/lib/jvm/java-1.8.0/lib/tools.jar' \ -J-Djava.library.path=/opt/cloudhsm/lib \ signthisclass_signed.jar my_key_pair

Problemas conhecidosA lista a seguir fornece a lista atual de problemas conhecidos.

• Ao gerar chaves usando o keytool, o primeiro provedor na configuração do provedor não pode serCaviumProvider.

• Ao gerar chaves usando keytool, o primeiro provedor (compatível) no arquivo de configuração desegurança é usado para gerar a chave. Geralmente é um provedor de software. A chave gerada recebe,então, um alias e é importada para o AWS CloudHSM HSM como uma chave persistente (token) duranteo processo de adição de chave.

• Ao usar a keytool com o repositório de chaves do AWS CloudHSM, não especifique opções -providerName, -providerclass, ou -providerpath na linha de comando. Especifique essasopções no arquivo do provedor de segurança, conforme descrito nos pré-requisitos do repositório dechaves (p. 272).

• Ao usar chaves EC não extraíveis por meio de keytool e Jarsigner, o provedor SunEC precisa serremovido/desativado da lista de provedores no arquivo java.security. Se você usar chaves EC extraíveispor meio de keytool e Jarsigner, os provedores exportarão bits de chave do AWS CloudHSM HSMe usarão a chave localmente para operações de assinatura. Não recomendamos o uso de chavesexportáveis com keytool ou Jarsigner.

Registro de chaves pré-existentes com o repositório de chavesdo AWS CloudHSMPara maior segurança e flexibilidade em atributos e rotulagem, recomendamos a geração de chaves deassinatura usando key_mgmt_util (p. 64). Você também pode usar um aplicativo Java para gerar a chaveno AWS CloudHSM.

A seção a seguir fornece um exemplo de código que demonstra como gerar um novo par de chaves noHSM e registrá-lo usando chaves existentes importadas para o repositório de chaves do AWS CloudHSM.As chaves importadas estão disponíveis para uso com ferramentas de terceiros, como keytool e Jarsigner.

Para usar uma chave pré-existente, modifique o exemplo de código para procurar uma chave por rótulo emvez de gerar uma nova chave. O código de exemplo para procurar uma chave por rótulo está disponível noexemplo KeyUtilitiesRunner.java no GitHub.

Important

Registrar uma chave armazenada em AWS CloudHSM com um repositório de chaves local nãoexporta a chave. Quando a chave é registrada, o repositório de chaves registra o alias (ou rótulo)da chave e correlaciona localmente objetos de certificado de armazenamento com um par dechaves no AWS CloudHSM. Desde que o par de chaves seja criado como não exportável, os bitsde chave não sairão do HSM.

// // Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Permission is hereby granted, free of charge, to any person obtaining a copy of this // software and associated documentation files (the "Software"), to deal in the Software

277

Page 284: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

// without restriction, including without limitation the rights to use, copy, modify, // merge, publish, distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A // PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // package com.amazonaws.cloudhsm.examples;

import com.cavium.key.CaviumKey;import com.cavium.key.parameter.CaviumAESKeyGenParameterSpec;import com.cavium.key.parameter.CaviumRSAKeyGenParameterSpec;import com.cavium.asn1.Encoder;import com.cavium.cfm2.Util;

import javax.crypto.KeyGenerator;

import java.io.ByteArrayInputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileNotFoundException;

import java.math.BigInteger;

import java.security.*;import java.security.cert.Certificate;import java.security.cert.CertificateException;import java.security.cert.CertificateFactory;import java.security.cert.X509Certificate;import java.security.interfaces.RSAPrivateKey;import java.security.interfaces.RSAPublicKey;import java.security.KeyStore.PasswordProtection;import java.security.KeyStore.PrivateKeyEntry;import java.security.KeyStore.Entry;

import java.util.Calendar;import java.util.Date;import java.util.Enumeration;

//// KeyStoreExampleRunner demonstrates how to load a keystore, and associate a certificate with a// key in that keystore.//// This example relies on implicit credentials, so you must setup your environment correctly.//// https://docs.aws.amazon.com/cloudhsm/latest/userguide/java-library-install.html#java-library-credentials//

public class KeyStoreExampleRunner {

private static byte[] COMMON_NAME_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x03 }; private static byte[] COUNTRY_NAME_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x06 }; private static byte[] LOCALITY_NAME_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x07 }; private static byte[] STATE_OR_PROVINCE_NAME_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x08 };

278

Page 285: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

private static byte[] ORGANIZATION_NAME_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x0A }; private static byte[] ORGANIZATION_UNIT_OID = new byte[] { (byte) 0x55, (byte) 0x04, (byte) 0x0B };

private static String helpString = "KeyStoreExampleRunner%n" + "This sample demonstrates how to load and store keys using a keystore.%n%n" + "Options%n" + "\t--help\t\t\tDisplay this message.%n" + "\t--store <filename>\t\tPath of the keystore.%n" + "\t--password <password>\t\tPassword for the keystore (not your CU password).%n" + "\t--label <label>\t\t\tLabel to store the key and certificate under.%n" + "\t--list\t\t\tList all the keys in the keystore.%n%n";

public static void main(String[] args) throws Exception { Security.addProvider(new com.cavium.provider.CaviumProvider()); KeyStore keyStore = KeyStore.getInstance("CloudHSM");

String keystoreFile = null; String password = null; String label = null; boolean list = false; for (int i = 0; i < args.length; i++) { String arg = args[i]; switch (args[i]) { case "--store": keystoreFile = args[++i]; break; case "--password": password = args[++i]; break; case "--label": label = args[++i]; break; case "--list": list = true; break; case "--help": help(); return; } }

if (null == keystoreFile || null == password) { help(); return; }

if (list) { listKeys(keystoreFile, password); return; }

if (null == label) { label = "Keystore Example Keypair"; }

// // This call to keyStore.load() will open the pkcs12 keystore with the supplied // password and connect to the HSM. The CU credentials must be specified using // standard CloudHSM login methods. // try { FileInputStream instream = new FileInputStream(keystoreFile); keyStore.load(instream, password.toCharArray());

279

Page 286: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

} catch (FileNotFoundException ex) { System.err.println("Keystore not found, loading an empty store"); keyStore.load(null, null); }

PasswordProtection passwd = new PasswordProtection(password.toCharArray()); System.out.println("Searching for example key and certificate...");

PrivateKeyEntry keyEntry = (PrivateKeyEntry) keyStore.getEntry(label, passwd); if (null == keyEntry) { // // No entry was found, so we need to create a key pair and associate a certificate. // The private key will get the label passed on the command line. The keystore alias // needs to be the same as the private key label. The public key will have ":public" // appended to it. The alias used in the keystore will We associate the certificate // with the private key. // System.out.println("No entry found, creating..."); KeyPair kp = generateRSAKeyPair(2048, label + ":public", label); System.out.printf("Created a key pair with the handles %d/%d%n", ((CaviumKey) kp.getPrivate()).getHandle(), ((CaviumKey) kp.getPublic()).getHandle());

// // Generate a certificate and associate the chain with the private key. // Certificate self_signed_cert = generateCert(kp); Certificate[] chain = new Certificate[1]; chain[0] = self_signed_cert; PrivateKeyEntry entry = new PrivateKeyEntry(kp.getPrivate(), chain);

// // Set the entry using the label as the alias and save the store. // The alias must match the private key label. // keyStore.setEntry(label, entry, passwd);

FileOutputStream outstream = new FileOutputStream(keystoreFile); keyStore.store(outstream, password.toCharArray()); outstream.close();

keyEntry = (PrivateKeyEntry) keyStore.getEntry(label, passwd); }

long handle = ((CaviumKey) keyEntry.getPrivateKey()).getHandle(); String name = keyEntry.getCertificate().toString(); System.out.printf("Found private key %d with certificate %s%n", handle, name); }

private static void help() { System.out.println(helpString); }

// // Generate a non-extractable / non-persistent RSA keypair. // This method allows us to specify the public and private labels, which // will make KeyStore alises easier to understand. // public static KeyPair generateRSAKeyPair(int keySizeInBits, String publicLabel, String privateLabel) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException {

280

Page 287: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioUse o repositório de chaves do

AWS CloudHSM com ferramentas

boolean isExtractable = false; boolean isPersistent = false; KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("rsa", "Cavium"); CaviumRSAKeyGenParameterSpec spec = new CaviumRSAKeyGenParameterSpec(keySizeInBits, new BigInteger("65537"), publicLabel, privateLabel, isExtractable, isPersistent);

keyPairGen.initialize(spec);

return keyPairGen.generateKeyPair(); }

// // Generate a certificate signed by a given keypair. // private static Certificate generateCert(KeyPair kp) throws CertificateException { CertificateFactory cf = CertificateFactory.getInstance("X509"); PublicKey publicKey = kp.getPublic(); PrivateKey privateKey = kp.getPrivate(); byte[] version = Encoder.encodeConstructed((byte) 0, Encoder.encodePositiveBigInteger(new BigInteger("2"))); // version 1 byte[] serialNo = Encoder.encodePositiveBigInteger(new BigInteger(1, Util.computeKCV(publicKey.getEncoded())));

// Use the SHA512 OID and algorithm. byte[] signatureOid = new byte[] { (byte) 0x2A, (byte) 0x86, (byte) 0x48, (byte) 0x86, (byte) 0xF7, (byte) 0x0D, (byte) 0x01, (byte) 0x01, (byte) 0x0D }; String sigAlgoName = "SHA512WithRSA";

byte[] signatureId = Encoder.encodeSequence( Encoder.encodeOid(signatureOid), Encoder.encodeNull());

byte[] issuer = Encoder.encodeSequence( encodeName(COUNTRY_NAME_OID, "<Country>"), encodeName(STATE_OR_PROVINCE_NAME_OID, "<State>"), encodeName(LOCALITY_NAME_OID, "<City>"), encodeName(ORGANIZATION_NAME_OID, "<Organization>"), encodeName(ORGANIZATION_UNIT_OID, "<Unit>"), encodeName(COMMON_NAME_OID, "<CN>") );

Calendar c = Calendar.getInstance(); c.add(Calendar.DAY_OF_YEAR, -1); Date notBefore = c.getTime(); c.add(Calendar.YEAR, 1); Date notAfter = c.getTime(); byte[] validity = Encoder.encodeSequence( Encoder.encodeUTCTime(notBefore), Encoder.encodeUTCTime(notAfter) ); byte[] key = publicKey.getEncoded();

byte[] certificate = Encoder.encodeSequence( version, serialNo, signatureId, issuer, validity, issuer, key); Signature sig; byte[] signature = null; try { sig = Signature.getInstance(sigAlgoName, "Cavium"); sig.initSign(privateKey);

281

Page 288: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProvedores de KSP e CNG

sig.update(certificate); signature = Encoder.encodeBitstring(sig.sign());

} catch (Exception e) { System.err.println(e.getMessage()); return null; }

byte [] x509 = Encoder.encodeSequence( certificate, signatureId, signature ); return cf.generateCertificate(new ByteArrayInputStream(x509)); }

// // Simple OID encoder. // Encode a value with OID in ASN.1 format // private static byte[] encodeName(byte[] nameOid, String value) { byte[] name = null; name = Encoder.encodeSet( Encoder.encodeSequence( Encoder.encodeOid(nameOid), Encoder.encodePrintableString(value) ) ); return name; }

// // List all the keys in the keystore. // private static void listKeys(String keystoreFile, String password) throws Exception { KeyStore keyStore = KeyStore.getInstance("CloudHSM");

try { FileInputStream instream = new FileInputStream(keystoreFile); keyStore.load(instream, password.toCharArray()); } catch (FileNotFoundException ex) { System.err.println("Keystore not found, loading an empty store"); keyStore.load(null, null); }

for(Enumeration<String> entry = keyStore.aliases(); entry.hasMoreElements();) { System.out.println(entry.nextElement()); } }

}

Fornecedores CNG e KSP para WindowsO AWS CloudHSM cliente para Windows inclui Fornecedores de CNG e KSP.

Principais fornecedores de armazenamento (ksps) ativar armazenamento e recuperação chave. Porexemplo, se adicionar a função Microsoft Active Directory Certificate Services (AD CS) ao seu servidorWindows e escolher criar uma nova chave privada para a sua autoridade de certificação (CA), pode

282

Page 289: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar instalação do fornecedor

escolher o KSP que irá gerir o armazenamento chave. Quando configurar a função AD CS, pode escolhereste KSP. Para obter mais informações, consulte Criar CA do Windows Server (p. 324).

API de criptografia: Next Generation (CNG) é uma API criptográfica específica do sistema operativoMicrosoft Windows. O CNG permite que os desenvolvedores usem técnicas de criptografia para protegeraplicativos baseados em Windows. Basicamente, o CNG fornece a seguinte funcionalidade.

• Primitivos de criptografia - permitem que você execute operações de criptografia fundamentais.• Importação e exportação de chave - permite que você importe e exporte chaves simétricas e

assimétricas.• API de proteção de dados (CNG DPAPI) - permite que você facilmente criptografe e descriptografe os

dados.• Armazenamento e recuperação de chave - permite armazenar com segurança e isolar a chave privada

de um par de chaves assimétricas.

Tópicos• Verificar os fornecedores KSP e CNG para Windows (p. 283)• Pré-requisitos do AWS CloudHSM para Windows (p. 284)• Associar uma chave AWS CloudHSM a um certificado (p. 286)• Amostra de código para fornecedor CNG (p. 287)

Verificar os fornecedores KSP e CNG para WindowsOs fornecedores KSP e CNG são instalados quando instalar o Windows AWS CloudHSM cliente. Vocêpode instalar o cliente seguindo as etapas em Instalar o cliente (Windows) (p. 37).

Configurar e executar o cliente AWS CloudHSM no WindowsPara iniciar o cliente do Windows CloudHSM, primeiro você deve estar de acordo com o Pré-requisitos: (p. 284). Depois, atualize os arquivos de configuração que os provedores usam e inicie ocliente concluindo as etapas abaixo. Você precisará executar essas etapas na primeira vez que usar osprovedores KSP e CNG e depois de adicionar ou remover HSMs no seu cluster. Dessa forma, o AWSCloudHSM é capaz de sincronizar dados e manter a consistência entre todos os HSMs do cluster.

Etapa 1 Parar AWS CloudHSM Cliente

Antes de atualizar os arquivos de configuração que são usados pelos provedores, interrompa o clienteAWS CloudHSM. Se o cliente já estiver parado, executar o comando stop não terá efeitos.

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe stop AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

Use Ctrl+C na janela de comando onde você iniciou o cliente do AWS CloudHSM.

Etapa 2. Atualizar o AWS CloudHSM Ficheiros de configuração

Esta etapa usa o parâmetro -a da ferramenta Configure (p. 220) para adicionar o endereço IP da interfacede rede elástica (ENI) de um dos HSMs do cluster ao arquivo de configuração.

283

Page 290: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPré-requisitos:

c:\Program Files\Amazon\CloudHSM>configure.exe -a <HSM ENI IP>

Para obter o endereço IP da ENI de um HSM em seu cluster, navegue até o console do AWS CloudHSM,escolha clusters e selecione o cluster desejado. Você também pode usar a operação DescribeClusters, ocomando describe-clusters ou o cmdlet do PowerShell Get-HSM2Cluster. Digite somente um endereço IPENI. Não importa qual endereço IP ENI você utilize.

Etapa 3 Inicie o AWS CloudHSM cliente

Em seguida, inicie ou reinicie o cliente AWS CloudHSM. Quando o cliente AWS CloudHSM é iniciado, eleusa o endereço IP ENI em seu arquivo de configuração para consultar o cluster. Em seguida, ele adicionaos endereços IP ENI de todos os HSMs do cluster ao arquivo de informações do cluster.

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Verificar os provedores KSP e CNGVocê pode usar um dos seguintes comandos para determinar quais provedores são instalados no seusistema. Os comandos listam os provedores de KSP e CNG registrados. O cliente do AWS CloudHSM nãoprecisa estar em execução.

C:\Program Files\Amazon\CloudHSM>ksp_config.exe -enum

C:\Program Files\Amazon\CloudHSM>cng_config.exe -enum

Para verificar se os fornecedores KSP e CNG estão instalados na sua instância EC2 do Windows Server,deve ver as seguintes entradas na lista:

Cavium CNG ProviderCavium Key Storage Provider

Se o provedor CNG estiver ausente, execute o comando a seguir.

C:\Program Files\Amazon\CloudHSM>cng_config.exe -register

Se o fornecedor da KSP estiver em falta, execute o seguinte comando.

C:\Program Files\Amazon\CloudHSM>ksp_config.exe -register

Pré-requisitos do AWS CloudHSM para WindowsAntes de iniciar o cliente Windows do AWS CloudHSM e usar os provedores KSP e CNG, você deverádefinir as credenciais de login para o HSM em seu sistema. Você pode definir as credenciais por meio doGerenciador de credenciais do Windows ou da variável de ambiente do sistema. Recomendamos que você

284

Page 291: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPré-requisitos:

use o Gerenciador de credenciais do Windows para armazenar as credenciais. Essa opção está disponívelcom o cliente do AWS CloudHSM versão 2.0.4 e posterior. O uso da variável de ambiente é mais fácil deconfigurar, mas é menos seguro do que o uso do Gerenciador de credenciais do Windows.

Gerenciador de credenciais do WindowsVocê pode usar o utilitário set_cloudhsm_credentials ou a interface do Gerenciador de credenciaisdo Windows.

• Usar o utilitário set_cloudhsm_credentials:

O utilitário set_cloudhsm_credentials está incluído no instalador do Windows. É possível usaresse utilitário para passar convenientemente as credenciais de login do HSM para o Gerenciador decredenciais do Windows. Se desejar compilar esse utilitário a partir da origem, use o código Python queestá incluído no instalador.1. Acesse a pasta C:\Program Files\Amazon\CloudHSM\tools\.2. Execute o arquivo set_cloudhsm_credentials.exe com os parâmetros de nome de usuário e

senha do CU.

set_cloudhsm_credentials.exe --username <cu-user> --password <cu-pwd>

• Usar a interface do Gerenciador de credenciais:

Você pode usar a interface do Gerenciador de credenciais para gerenciar manualmente suascredenciais.1. Para abrir o Gerenciador de credenciais, digite credential manager na caixa de pesquisa na barra

de tarefas e selecione Credential Manager (Gerenciador de credenciais).2. Selecione Windows Credentials (Credenciais do Windows) para gerenciar as credenciais do Windows.3. Selecione Add a generic credential (Adicionar uma credencial genérica) e preencha os detalhes da

seguinte forma:• Em Internet ou Network Address (Endereço da Internet ou da rede), insira o nome de destino comocloudhsm_client.

• Em Username (Nome de usuário) e Password (Senha), insira as credenciais do CU.• Clique em OK.

Variáveis de ambiente do sistemaVocê pode definir as variáveis de ambiente do sistema que identificam um HSM e um usuário decriptografia (p. 11) (CU) para seu aplicativo Windows. Você pode usar o comando setx para definir asvariáveis de ambiente do sistema ou definir as variáveis de ambiente do sistema permanentes de formaprogramática ou na guia Avançado do Painel de Controle nas Propriedades do Sistema do Windows.

Warning

Quando você define as credenciais por meio de variáveis de ambiente do sistema, a senhafica disponível em texto simples no sistema de um usuário. Para resolver esse problema, use oGerenciador de credenciais do Windows.

Defina as seguintes variáveis de ambiente do sistema:

n3fips_password=CU-username:CU-password

Identifica um usuário de criptografia (p. 11) (CU) no HSM e fornece todas as informações de loginnecessárias. O aplicativo é autenticado e executado como esse CU. O aplicativo tem as permissõesdesse CU e pode visualizar e gerenciar apenas as chaves que o CU possui e compartilha. Para criarum novo CU, use createUser (p. 96). Para localizar os CUs existentes, use listUsers (p. 116).

285

Page 292: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAssociar uma chave a um certificado

Por exemplo, .

setx /m n3fips_password test_user:password123

Associar uma chave AWS CloudHSM a um certificadoAntes de poder utilizar chaves AWS CloudHSM com ferramentas de terceiros, como o SignTool, daMicrosoft, você tem de importar os metadados da chave para o armazenamento de certificados locale associar os metadados a um certificado. Para importar os metadados da chave, use o utilitárioimport_key.exe que está incluído no CloudHSM versão 3.0 e posterior. As etapas a seguir forneceminformações adicionais e saída de exemplo.

Etapa 1: Importar certificadoNo Windows, você deve conseguir clicar duas vezes no certificado para importá-lo para o armazenamentode certificados local.

No entanto, se clicar duas vezes não funcionar, use a ferramenta Microsoft Certreq para importar ocertificado para o gerenciador de certificados. Por exemplo:

certreq -accept certificatename

Se essa ação falhar e você receber o erro Key not found, continue para a etapa 2. Se o certificadoaparecer no repositório de chaves, você concluiu a tarefa e nenhuma ação adicional será necessária.

Etapa 2: Coletar informações de identificação de certificadoSe a etapa anterior não tiver sido bem-sucedida, você precisará associar sua chave privada a umcertificado. No entanto, antes de criar a associação, você deve primeiro localizar o nome exclusivo docontêiner e o número de série do certificado. Use um utilitário, como certutil, para exibir as informaçõesnecessárias do certificado. A saída de exemplo a seguir do certutil mostra o nome do contêiner e o númerode série.

================ Certificate 1 ================ Serial Number: 72000000047f7f7a9d41851b4e000000000004Issuer: CN=Enterprise-CANotBefore: 10/8/2019 11:50 AM NotAfter: 11/8/2020 12:00 PMSubject: CN=www.example.com, OU=Certificate Management, O=Information Technology, L=Seattle, S=Washington, C=USNon-root CertificateCert Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65No key provider information Simple container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Unique container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c

Etapa 3: Associar a chave privada AWS CloudHSM ao certificadoPara associar a chave ao certificado, primeiro certifique-se de iniciar o daemon cliente do AWSCloudHSM (p. 131). Em seguida, use import_key.exe (que está incluído no CloudHSM versão 3.0 esuperior) para associar a chave privada ao certificado. Ao especificar o certificado, use seu nome decontêiner simples. O exemplo a seguir mostra o comando e a resposta. Esta ação copia apenas osmetadados da chave; a chave permanece no HSM.

$> import_key.exe –RSA CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c

Successfully opened Microsoft Software Key Storage Provider : 0NCryptOpenKey failed : 80090016

286

Page 293: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplo de código

Etapa 4: Atualizar o armazenamento de certificadosAssegure-se de que o daemon cliente do AWS CloudHSM ainda esteja em execução. Em seguida, useo verbo certutil -repairstore para atualizar o número de série do certificado. O exemplo a seguir mostrao comando e a saída. Consulte a documentação da Microsoft para obter informações sobre o verbo -repairstore.

C:\Program Files\Amazon\CloudHSM>certutil -f -csp "Cavium Key Storage Provider"-repairstore my "72000000047f7f7a9d41851b4e000000000004"my "Personal"

================ Certificate 1 ================Serial Number: 72000000047f7f7a9d41851b4e000000000004Issuer: CN=Enterprise-CANotBefore: 10/8/2019 11:50 AMNotAfter: 11/8/2020 12:00 PMSubject: CN=www.example.com, OU=Certificate Management, O=Information Technology, L=Seattle, S=Washington, C=USNon-root CertificateCert Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65 SDK Version: 3.0 Key Container = CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Provider = Cavium Key Storage ProviderPrivate key is NOT exportableEncryption test passedCertUtil: -repairstore command completed successfully.

Depois de atualizar o número de série do certificado, você pode usar esse certificado e a chave privadaAWS CloudHSM correspondente com qualquer ferramenta de assinatura de terceiros no Windows.

Amostra de código para fornecedor CNG** Somente código de exemplo – não para uso em produção**Este código de amostra destina-se apenas a fins ilustrativos. Não execute esse código naprodução.

A amostra seguinte mostra como enumerar os fornecedores criptográficos registados no seu sistema paraencontrar o fornecedor CNG instalado com o cliente cloudhsm para Windows. O exemplo também mostracomo criar um par de chaves assimétricas e como usar o par de chaves para assinar os dados.

Important

Antes de executar este exemplo, você deve configurar as credenciais do HSM conforme explicadonos pré-requisitos. Para obter mais detalhes, consulte Pré-requisitos do AWS CloudHSM paraWindows (p. 284).

// CloudHsmCngExampleConsole.cpp : Console application that demonstrates CNG capabilities.// This example contains the following functions.//// VerifyProvider() - Enumerate the registered providers and retrieve Cavium KSP and CNG providers.// GenerateKeyPair() - Create an RSA key pair.// SignData() - Sign and verify data.//

#include "stdafx.h"#include <Windows.h>

#ifndef NT_SUCCESS#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)

287

Page 294: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplo de código

#endif

#define CAVIUM_CNG_PROVIDER L"Cavium CNG Provider"#define CAVIUM_KEYSTORE_PROVIDER L"Cavium Key Storage Provider"

// Enumerate the registered providers and determine whether the Cavium CNG provider// and the Cavium KSP provider exist.//bool VerifyProvider(){ NTSTATUS status; ULONG cbBuffer = 0; PCRYPT_PROVIDERS pBuffer = NULL; bool foundCng = false; bool foundKeystore = false;

// Retrieve information about the registered providers. // cbBuffer - the size, in bytes, of the buffer pointed to by pBuffer. // pBuffer - pointer to a buffer that contains a CRYPT_PROVIDERS structure. status = BCryptEnumRegisteredProviders(&cbBuffer, &pBuffer);

// If registered providers exist, enumerate them and determine whether the // Cavium CNG provider and Cavium KSP provider have been registered. if (NT_SUCCESS(status)) { if (pBuffer != NULL) { for (ULONG i = 0; i < pBuffer->cProviders; i++) { // Determine whether the Cavium CNG provider exists. if (wcscmp(CAVIUM_CNG_PROVIDER, pBuffer->rgpszProviders[i]) == 0) { printf("Found %S\n", CAVIUM_CNG_PROVIDER); foundCng = true; }

// Determine whether the Cavium KSP provider exists. else if (wcscmp(CAVIUM_KEYSTORE_PROVIDER, pBuffer->rgpszProviders[i]) == 0) { printf("Found %S\n", CAVIUM_KEYSTORE_PROVIDER); foundKeystore = true; } } } } else { printf("BCryptEnumRegisteredProviders failed with error code 0x%08x\n", status); }

// Free memory allocated for the CRYPT_PROVIDERS structure. if (NULL != pBuffer) { BCryptFreeBuffer(pBuffer); }

return foundCng == foundKeystore == true;}

// Generate an asymmetric key pair. As used here, this example generates an RSA key pair // and returns a handle. The handle is used in subsequent operations that use the key pair. // The key material is not available.//// The key pair is used in the SignData function.//

288

Page 295: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplo de código

NTSTATUS GenerateKeyPair(BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *hKey){ NTSTATUS status;

// Generate the key pair. status = BCryptGenerateKeyPair(hAlgorithm, hKey, 2048, 0); if (!NT_SUCCESS(status)) { printf("BCryptGenerateKeyPair failed with code 0x%08x\n", status); return status; }

// Finalize the key pair. The public/private key pair cannot be used until this // function is called. status = BCryptFinalizeKeyPair(*hKey, 0); if (!NT_SUCCESS(status)) { printf("BCryptFinalizeKeyPair failed with code 0x%08x\n", status); return status; }

return status;}

// Sign and verify data using the RSA key pair. The data in this function is hardcoded// and is for example purposes only.//NTSTATUS SignData(BCRYPT_KEY_HANDLE hKey){ NTSTATUS status; PBYTE sig; ULONG sigLen; ULONG resLen; BCRYPT_PKCS1_PADDING_INFO pInfo;

// Hardcode the data to be signed (for demonstration purposes only). PBYTE message = (PBYTE)"d83e7716bed8a20343d8dc6845e57447"; ULONG messageLen = strlen((char*)message);

// Retrieve the size of the buffer needed for the signature. status = BCryptSignHash(hKey, NULL, message, messageLen, NULL, 0, &sigLen, 0); if (!NT_SUCCESS(status)) { printf("BCryptSignHash failed with code 0x%08x\n", status); return status; }

// Allocate a buffer for the signature. sig = (PBYTE)HeapAlloc(GetProcessHeap(), 0, sigLen); if (sig == NULL) { return -1; }

// Use the SHA256 algorithm to create padding information. pInfo.pszAlgId = BCRYPT_SHA256_ALGORITHM;

// Create a signature. status = BCryptSignHash(hKey, &pInfo, message, messageLen, sig, sigLen, &resLen, BCRYPT_PAD_PKCS1); if (!NT_SUCCESS(status)) { printf("BCryptSignHash failed with code 0x%08x\n", status); return status; }

289

Page 296: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplo de código

// Verify the signature. status = BCryptVerifySignature(hKey, &pInfo, message, messageLen, sig, sigLen, BCRYPT_PAD_PKCS1); if (!NT_SUCCESS(status)) { printf("BCryptVerifySignature failed with code 0x%08x\n", status); return status; }

// Free the memory allocated for the signature. if (sig != NULL) { HeapFree(GetProcessHeap(), 0, sig); sig = NULL; }

return 0;}

// Main function.//int main(){ NTSTATUS status; BCRYPT_ALG_HANDLE hRsaAlg; BCRYPT_KEY_HANDLE hKey = NULL;

// Enumerate the registered providers. printf("Searching for Cavium providers...\n"); if (VerifyProvider() == false) { printf("Could not find the CNG and Keystore providers\n"); return 1; }

// Get the RSA algorithm provider from the Cavium CNG provider. printf("Opening RSA algorithm\n"); status = BCryptOpenAlgorithmProvider(&hRsaAlg, BCRYPT_RSA_ALGORITHM, CAVIUM_CNG_PROVIDER, 0); if (!NT_SUCCESS(status)) { printf("BCryptOpenAlgorithmProvider RSA failed with code 0x%08x\n", status); return status; }

// Generate an asymmetric key pair using the RSA algorithm. printf("Generating RSA Keypair\n"); GenerateKeyPair(hRsaAlg, &hKey); if (hKey == NULL) { printf("Invalid key handle returned\n"); return 0; } printf("Done!\n");

// Sign and verify [hardcoded] data using the RSA key pair. printf("Sign/Verify data with key\n"); SignData(hKey); printf("Done!\n");

// Remove the key handle from memory. status = BCryptDestroyKey(hKey); if (!NT_SUCCESS(status)) { printf("BCryptDestroyKey failed with code 0x%08x\n", status); return status; }

290

Page 297: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioExemplo de código

// Close the RSA algorithm provider. status = BCryptCloseAlgorithmProvider(hRsaAlg, NULL); if (!NT_SUCCESS(status)) { printf("BCryptCloseAlgorithmProvider RSA failed with code 0x%08x\n", status); return status; }

return 0;}

291

Page 298: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS

Integrar aplicativos de terceiros noAWS CloudHSM

Alguns dos casos de uso (p. 1) para o AWS CloudHSM envolvem a integração de aplicativos de softwarede terceiros com os HSM no seu cluster do AWS CloudHSM. Ao integrar software de terceiros com o AWSCloudHSM, você atingirá várias metas relacionadas à segurança. Os seguintes tópicos descrevem comorealizar algumas dessas metas.

Tópicos• Melhore a segurança do seu servidor Web com descarregamento de SSL/TLS no AWS

CloudHSM (p. 292)• Configurar o Windows Server como uma autoridade de certificação (CA) com o AWS

CloudHSM (p. 323)• Oracle Database Transparent Data Encryption (TDE) com o AWS CloudHSM (p. 326)• Usar a Microsoft SignTool com oAWS CloudHSM para assinar arquivos (p. 331)• Outras integrações de fornecedores terceiros (p. 334)

Melhore a segurança do seu servidor Web comdescarregamento de SSL/TLS no AWS CloudHSM

Servidores web e seus clientes (navegadores web) podem usar o Secure Sockets Layer (SSL) ou oTransport Layer Security (TLS). Esses protocolos confirmam a identidade do servidor Web e estabelecemuma conexão segura para enviar e receber páginas da Web ou outros dados pela Internet. Isso éconhecido genericamente como HTTPS. O servidor Web usa um par de chaves pública–privada eum certificado de chave pública SSL/TLS para estabelecer uma sessão HTTPS com cada cliente.Esse processo envolve uma grande quantidade de computação para o servidor Web, mas você podedescarregar parte dessa computação para o HSMs no cluster do AWS CloudHSM. Isso às vezes éconhecido como aceleração SSL. O descarregamento reduz a carga computacional do servidor Web efornece segurança extra por armazenar a chave privada do servidor no HSMs.

Os tópicos a seguir fornecem uma visão geral do funcionamento do descarregamento de SSL/TLS com oAWS CloudHSM e tutoriais para configurar o descarregamento de SSL/TLS com o AWS CloudHSM nasseguintes plataformas:

• Linux – Usando o software de servidor web NGINX ou Apache HTTP Server• Windows – Usando o software de servidor web Serviços de Informações da Internet (IIS) para Windows

Server

Tópicos• Como funciona o descarregamento de SSL/TLS com o AWS CloudHSM (p. 293)• Tutorial: Como usar o descarregamento de SSL/TLS com o AWS CloudHSM no Linux (p. 294)• Tutorial: Como usar o descarregamento de SSL/TLS com o AWS CloudHSM no Windows (p. 310)

292

Page 299: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioComo ele funciona

Como funciona o descarregamento de SSL/TLS com oAWS CloudHSMPara estabelecer uma conexão HTTPS, seu servidor Web executa um processo de handshake com osclientes. Como parte desse processo, o servidor descarrega parte do processamento criptográfico nosHSMs, conforme mostrado na figura a seguir. Cada etapa do processo é explicada abaixo da figura.

Note

A seguinte imagem e processo supõe que RSA seja usado para verificação de servidor e troca dechaves. O processo é ligeiramente diferente quando o Diffie–Hellman é usado em vez do RSA.

1. O cliente envia uma mensagem Hello para o servidor.2. O servidor responde com uma mensagem Hello e envia o certificado do servidor.3. O cliente realiza as seguintes ações:

a. Verifica se o certificado do servidor SSL/TLS está assinado por um certificado raiz em que o clienteconfia.

b. Extrai a chave pública do certificado do servidor.c. Gera um segredo pré-mestre e o criptografa com a chave pública do servidor.d. Envia o segredo pré-master codificado para o servidor.

4. Para descriptografar o segredo pré-master do cliente, o servidor o envia ao HSM. O HSM usa a chaveprivada no HSM para descriptografar o segredo pré-master e, em seguida, envia o segredo pré-master ao servidor. Independentemente, o cliente e o servidor usam o segredo pré-master e algumasinformações das mensagens Hello para calcular um segredo mestre.

5. O processo de handshake termina. Para o resto da sessão, todas as mensagens enviadas entre ocliente e o servidor são criptografadas com derivadas do segredo mestre.

Para saber como configurar o descarregamento de SSL/TLS com o AWS CloudHSM, consulte um dosseguintes tópicos:

• Tutorial: Como usar o descarregamento de SSL/TLS com o AWS CloudHSM no Linux (p. 294)• Tutorial: Como usar o descarregamento de SSL/TLS com o AWS CloudHSM no Windows (p. 310)

293

Page 300: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Tutorial: Como usar o descarregamento de SSL/TLScom o AWS CloudHSM no LinuxEste tutorial fornece instruções passo a passo para configurar o descarregamento de SSL/TLS com o AWSCloudHSM em um servidor web do Linux.

Tópicos• Visão geral (p. 294)• Etapa 1: configurar os pré-requisitos (p. 294)• Etapa 2: Gerar ou importar uma chave privada e um certificado SSL/TLS (p. 295)• Etapa 3: configure o servidor Web (p. 299)• Etapa 4: Permitir tráfego HTTPS e verificar o certificado (p. 303)• (Opcional) Etapa 5: Adicionar um load balancer com o Elastic Load Balancing (p. 305)

Visão geralNo Linux, o software de servidor web NGINX e o Apache HTTP Server são integrados ao OpenSSL paracomportar HTTPS. O mecanismo dinâmico do AWS CloudHSM para OpenSSL (p. 250) fornece umainterface que permite que o software de servidor web use os HSMs em seu cluster para descarregamentocriptográfico e armazenamento de chaves. O mecanismo OpenSSL é a ponte que conecta o servidor Webao seu cluster do AWS CloudHSM.

Para concluir este tutorial, você deve primeiro escolher se deseja usar o software de servidor web NGINXou Apache no Linux. Em seguida, este tutorial mostra como fazer o seguinte:

• Instale o software de servidor Web em uma instância do Amazon EC2.• Configure o software de servidor Web para ser compatível com HTTPS com uma chave privada

armazenada em seu cluster do AWS CloudHSM.• (Opcional) Use o Amazon EC2 para criar uma segunda instância do servidor Web e o Elastic Load

Balancing para criar um load balancer. Usar um load balancer pode aumentar o desempenho,distribuindo a carga em vários servidores. Ele também pode fornecer redundância e maiordisponibilidade se um ou mais servidores falhar.

Quando estiver pronto para começar, vá para Etapa 1: configurar os pré-requisitos (p. 294).

Etapa 1: configurar os pré-requisitosPara configurar o descarregamento SSL/TLS de servidor Web com o AWS CloudHSM, é necessário oseguinte:

• Um cluster do AWS CloudHSM ativo com pelo menos um HSM.• Uma instância do Amazon EC2 executando um sistema operacional Linux com o seguinte software

instalado:• O cliente AWS CloudHSM e as ferramentas da linha de comando.• O aplicativo do servidor web NGINX ou Apache.• O mecanismo dinâmico do AWS CloudHSM para OpenSSL.

• Um usuário de criptografia (p. 11) (CU) para ter e gerenciar a chave privada do servidor web no HSM.

294

Page 301: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Para configurar uma instância do servidor web do Linux e criar um CU no HSM

1. Siga as etapas em Conceitos básicos (p. 16). Em seguida, você terá um cluster ativo com um HSM euma instância de cliente do Amazon EC2. Sua instância do EC2 será configurada com as ferramentasda linha de comando. Use essa instância de cliente como seu servidor Web.

2. Conecte-se à instância do cliente. Para obter mais informações, consulte Conectar à instância Linuxutilizando SSH ou Conectar-se à instância Linux no Windows utilizando PuTTY na documentação doAmazon EC2. Então, faça o seguinte:

a. Especifique se deseja instalar o aplicativo do servidor web NGINX ou Apache. Em seguida,conclua uma das seguintes etapas:• Para instalar o NGINX, execute o comando a seguir.

sudo yum install -y nginx

• Para instalar o Apache, execute o comando a seguir.

sudo yum install -y httpd24 mod24_ssl

b. Instale e configure o mecanismo OpenSSL (p. 251).3. (Opcional) Adicione mais HSMs ao seu cluster. Para obter mais informações, consulte Adicionar um

HSM (p. 42).4. Para criar um usuário de criptografia (p. 11) (CU) no HSM, faça o seguinte:

a. Inicie o cliente AWS CloudHSM (p. 86).b. Atualize o arquivo de configuração cloudhsm_mgmt_util (p. 87).c. Use cloudhsm_mgmt_util para criar um CU. Para obter mais informações, consulte

Gerenciamento de usuários de HSM (p. 53). Lembre o nome do usuário e a senha do CU. Elesserá necessários mais tarde ao gerar ou importar a chave privada HTTPS e o certificado para oservidor web.

Depois de concluir essas etapas, vá para Etapa 2: Gerar ou importar uma chave privada e um certificadoSSL/TLS (p. 295).

Etapa 2: Gerar ou importar uma chave privada e um certificadoSSL/TLSPara habilitar o HTTPS, o aplicativo do servidor web (NGINX ou Apache) precisa de uma chave privadae de um certificado SSL/TLS correspondente. Para usar o descarregamento SSL/TLS de servidor Webcom o AWS CloudHSM, é necessário armazenar a chave privada em um HSM no seu cluster do AWSCloudHSM. Você pode conseguir isso de uma das seguintes maneiras:

• Se você ainda não tem uma chave privada e um certificado correspondente, gere uma chave privadaem um HSM (p. 296). Em seguida, use a chave privada para criar uma solicitação de assinatura decertificado (CSR). Use a CSR para criar o certificado SSL/TLS.

 • Se você já tiver uma chave privada e um certificado correspondente, importe a chave privada para um

HSM (p. 297).

Independentemente do método escolhido, você exporta em seguida uma chave privada PEM falsa dosHSM e a salva em um arquivo. Esse arquivo não contém a chave privada real. Ele contém uma referênciaà chave privada que está armazenada nos HSM. Seu servidor Web usa o arquivo de chave privada PEM

295

Page 302: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

falsa e o mecanismo dinâmico do AWS CloudHSM para OpenSSL, para descarregar o processamentoSSL/TLS para um HSM.

Tópicos (escolha somente um)• Gerar uma chave privada e um certificado (p. 296)• Importar uma chave privada existente (p. 297)

Gerar uma chave privada e um certificadoSe você não possui uma chave privada e um certificado SSL/TLS correspondente para uso com HTTPS,gere uma chave privada em um HSM. Em seguida, use a chave privada para criar uma solicitação deassinatura de certificado (CSR). Assine a CSR para criar o certificado.

Para gerar uma chave privada em um HSM

1. Conecte-se à instância do cliente.2. Execute o comando a seguir para definir uma variável de ambiente chamada n3fips_password que

contém o nome do usuário e a senha do usuário de criptografia (CU). Substitua <CU user name>pelo nome do usuário de criptografia. Substitua <password> pela senha CU.

export n3fips_password=<CU user name>:<password>

3. Execute o comando a seguir para usar o mecanismo dinâmico do AWS CloudHSM para o OpenSSL,para gerar uma chave privada em um HSM. Esse comando também exporta a chave privada PEMfalsa e a salva em um arquivo. Substitua <web_server_fake_PEM.key> pelo nome de arquivo quedeseja usar para a chave privada PEM falsa exportada.

openssl genrsa -engine cloudhsm -out <web_server_fake_PEM.key> 2048

Para criar uma CSR

Execute o comando a seguir para usar o mecanismo dinâmico do AWS CloudHSM para OpenSSL paracriar uma solicitação de assinatura do certificado (CSR). Substitua <web_server_fake_PEM.key> pelonome do arquivo que contém a chave privada PEM falsa. Substitua <web_server.csr> pelo nome doarquivo que contém a CSR.

O comando req é interativo. Responda a cada campo. As informações do campo são copiadas para ocertificado SSL/TLS.

openssl req -engine cloudhsm -new -key <web_server_fake_PEM.key> -out <web_server.csr>

Em um ambiente de produção, geralmente usa-se uma autoridade de certificação (CA) para criar umcertificado de uma CSR. Não é necessária uma CA para um ambiente de teste. Se você usar uma CA,envie o arquivo da CSR (<web_server.csr>) para ela e use a CA para criar um certificado SSL/TLSassinado. Seu servidor Web usa o certificado assinado para HTTPS.

Como alternativa ao uso de uma CA, você pode usar o mecanismo dinâmico do AWS CloudHSM paraOpenSSL a fim de criar um certificado autoassinado. Os certificados autoassinados não são confiáveispara os navegadores e não devem ser usados em ambientes de produção. Eles podem ser usadas emambientes de teste.

Warning

Os certificados autoassinados devem ser usados apenas em um ambiente de teste. Para umambiente de produção, use um método mais seguro, como uma autoridade de certificação, paracriar um certificado.

296

Page 303: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Para criar um certificado autoassinado

Execute o comando a seguir para usar o mecanismo dinâmico do AWS CloudHSM para OpenSSL a fim deassinar sua CSR com a chave privada no HSM. Isso cria um certificado autoassinado. Substitua os valoresa seguir no comando pelos seus próprios.

• <web_server.csr> – Nome do arquivo que contém o CSR.• <web_server_fake_PEM.key> – Nome do arquivo que contém a chave privada PEM falsa.• <web_server.crt> – Nome do arquivo que conterá o certificado do servidor Web.

openssl x509 -engine cloudhsm -req -days 365 -in <web_server.csr> -signkey <web_server_fake_PEM.key> -out <web_server.crt>

Depois de concluir essas etapas, vá para Etapa 3: configure o servidor Web (p. 299).

Importar uma chave privada existente

Pode ser que você já tenha uma chave privada e um certificado SSL/TLS correspondente que use paraHTTPS em seu servidor web. Se esse for o caso, você pode importar a chave para um HSM da seguintemaneira:

Para importar uma chave privada para um HSM

1. Conecte-se à instância do cliente Amazon EC2. Se necessário, copie a chave privada e o certificadoexistentes para a instância.

2. Execute o seguinte comando para iniciar o cliente AWS CloudHSM.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

297

Page 304: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

3. Execute o comando a seguir para iniciar a ferramenta da linha de comando key_mgmt_util.

/opt/cloudhsm/bin/key_mgmt_util

4. Execute o seguinte comando para fazer login no HSM. Substitua <user name> e <password> pelonome do usuário e a senha do usuário de criptografia (CU).

loginHSM -u CU -s <user name> -p <password>

5. Execute os comandos a seguir para importar sua chave privada em um HSM.

a. Execute o comando a seguir para criar uma chave de encapsulamento simétrica que seja válidasomente para a sessão atual. O comando e a saída são exibidos.

genSymKey -t 31 -s 16 -sess -l wrapping_key_for_import

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESSSymmetric Key Created. Key Handle: 6Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESS

b. Execute o comando a seguir para importar sua chave privada existente em um HSM. O comandoe a saída são exibidos. Substitua os seguintes valores pelo seu próprio:

• <web_server_existing.key> – Nome do arquivo que contém a chave privada.• <web_server_imported_key> – Rótulo da chave privada importada.• <wrapping_key_handle> – Identificador da chave de encapsulamento gerada no comando

anterior. No exemplo anterior, o identificador de chave de encapsulamento é 6.

importPrivateKey -f <web_server_existing.key> -l <web_server_imported_key> -w <wrapping_key_handle>

BER encoded key length is 1219Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESSCfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESSCfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESSPrivate Key Unwrapped. Key Handle: 8Cluster Error StatusNode id 0 and err state 0x00000000 : HSM Return: SUCCESS

6. Execute o seguinte comando para exportar a chave privada no formato PEM falso e salvá-lo em umarquivo. Substitua os seguintes valores pelo seu próprio.

• <private_key_handle> – Identificador da chave privada importada. Esse identificador foi geradopelo segundo comando na etapa anterior. No exemplo anterior, o identificador da chave privada é 8.

• <web_server_fake_PEM.key> – Nome do arquivo que contém a chave privada PEM falsaexportada.

getCaviumPrivKey -k <private_key_handle> -out <web_server_fake_PEM.key>

7. Execute o seguinte comando para interromper a key_mgmt_util.

298

Page 305: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

exit

Depois de concluir essas etapas, vá para Etapa 3: configure o servidor Web (p. 299).

Etapa 3: configure o servidor WebAtualize a configuração do software de servidor web para usar o certificado HTTPS e a chave privada PEMfalsa correspondente que você criou na etapa anterior (p. 295). Isso concluirá a configuração do softwarede servidor web do Linux para descarregamento de SSL/TLS com o AWS CloudHSM.

Para atualizar a configuração de seu servidor Web, conclua as etapas em um dos seguintesprocedimentos. Escolha o procedimento que corresponde a seu software de servidor Web.

• Atualizar a configuração para NGINX (p. 299)• Atualizar a configuração do Apache HTTP Server (p. 302)

Para atualizar a configuração do servidor web para NGINX

1. Conecte-se à instância do cliente.2. Execute o seguinte comando para criar os diretórios necessários para o certificado do servidor Web e

a chave privada PEM falsa.

sudo mkdir -p /etc/pki/nginx/private

3. Execute o seguinte comando para copiar o certificado do seu servidor Web para o local desejado.Substitua <web_server.crt> pelo nome do seu certificado de servidor Web.

sudo cp <web_server.crt> /etc/pki/nginx/server.crt

4. Execute o seguinte comando para copiar sua chave privada PEM falsa no local desejado. Substitua<web_server_fake_PEM.key> pelo nome do arquivo que contém a chave privada PEM falsa.

sudo cp <web_server_fake_PEM.key> /etc/pki/nginx/private/server.key

5. Execute o comando a seguir para alterar a propriedade dos arquivos, para que o usuário chamadonginx possa lê-los.

sudo chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key

6. Execute o comando a seguir para fazer backup do arquivo /etc/nginx/nginx.conf.

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

7. Use um editor de texto para editar o arquivo /etc/nginx/nginx.conf. Na parte superior doarquivo, adicione o comando a seguir:

ssl_engine cloudhsm; env n3fips_password; "

Depois, remova os comentários da seção TLS do arquivo, para que ela seja semelhante à seguinte:

299

Page 306: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

# Settings for a TLS enabled server.

server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name _; root /usr/share/nginx/html;

ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key"; # It is *strongly* recommended to generate unique DH parameters # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048 #ssl_dhparam "/etc/pki/nginx/dhparams.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP; ssl_prefer_server_ciphers on;

# Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;

location / { }

error_page 404 /404.html; location = /40x.html { }

error_page 500 502 503 504 /50x.html; location = /50x.html { } }

Salve o arquivo. Isso requer permissões root do Linux.8. Faça o backup do arquivo de configuração systemd e defina o caminho EnvironmentFile.

Amazon Linux

Nenhuma ação necessária.Amazon Linux 2

1. Faça backup do arquivo nginx.service.

$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup

2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção[Serviço], adicione o seguinte caminho:

EnvironmentFile=/etc/sysconfig/nginx

CentOS 6

Nenhuma ação necessária.

300

Page 307: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

CentOS 7

Nenhuma ação necessária.RHEL 6

Nenhuma ação necessária.RHEL 7

Nenhuma ação necessária.Ubuntu 16.04

1. Faça backup do arquivo nginx.service.

$ sudo cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup

2. Abra o arquivo /lib/systemd/system/nginx.service em um editor de texto e, na seção[Serviço], adicione o seguinte caminho:

EnvironmentFile=/etc/sysconfig/nginx

9. Verifique se o arquivo /etc/sysconfig/nginx existe e siga um destes procedimentos:

• Se o arquivo existir, faça backup do arquivo executando o seguinte comando:

$ sudo cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup

• Se o arquivo não existir, abra um editor de texto e crie um arquivo chamado nginx na pasta /etc/sysconfig/.

Tip

Não há necessidade de fazer backup do arquivo recém-criado.10. Abra o arquivo /etc/sysconfig/nginx em um editor de texto e adicione as credenciais do Usuário

de Criptografia (CU):

$ n3fips_password=<CU user name>:<password>

Substitua <CU user name> e <password> com as credenciais do usuário de criptografia.

Salve o arquivo. Isso requer permissões root do Linux.11. Inicie o servidor web NGINX.

Amazon Linux

$ sudo service nginx start

Amazon Linux 2

$ sudo systemctl start nginx

CentOS 6

Nenhuma ação necessária.301

Page 308: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

CentOS 7

Nenhuma ação necessária.RHEL 6

Nenhuma ação necessária.RHEL 7

Nenhuma ação necessária.Ubuntu 16.04

$ sudo systemctl start nginx

12. Configure o servidor para iniciar o NGINX quando o servidor for iniciado, se necessário.

Amazon Linux

$ sudo chkconfig nginx on

Amazon Linux 2

$ sudo systemctl enable nginx

CentOS 6

Nenhuma ação necessária.CentOS 7

Nenhuma ação necessária.RHEL 6

Nenhuma ação necessária.RHEL 7

Nenhuma ação necessária.Ubuntu 16.04

$ sudo systemctl enable nginx

Depois de atualizar a configuração do servidor web, vá para Etapa 4: Permitir tráfego HTTPS e verificar ocertificado (p. 303).

Para atualizar a configuração do servidor Web para o Apache

1. Conecte-se à instância do cliente Amazon EC2.2. Execute o seguinte comando para fazer uma cópia de backup do certificado padrão.

sudo cp /etc/pki/tls/certs/localhost.crt /etc/pki/tls/certs/localhost.crt.backup

3. Execute o seguinte comando para fazer uma cópia de backup da chave privada padrão.

sudo cp /etc/pki/tls/private/localhost.key /etc/pki/tls/private/localhost.key.backup

302

Page 309: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

4. Execute o seguinte comando para copiar o certificado do seu servidor Web para o local desejado.Substitua <web_server.crt> pelo nome do seu certificado de servidor Web.

sudo cp <web_server.crt> /etc/pki/tls/certs/localhost.crt

5. Execute o seguinte comando para copiar sua chave privada PEM falsa no local desejado. Substitua<web_server_fake_PEM.key> pelo nome do arquivo que contém a chave privada PEM falsa.

sudo cp <web_server_fake_PEM.key> /etc/pki/tls/private/localhost.key

6. Execute o seguinte comando para alterar a propriedade desses arquivos, para que o usuário chamadoapache possa lê-los.

sudo chown apache /etc/pki/tls/certs/localhost.crt /etc/pki/tls/private/localhost.key

7. Execute o seguinte comando para fazer uma cópia de backup do arquivo /etc/httpd/conf.d/ssl.conf.

sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup

8. Use um editor de texto para editar o arquivo chamado /etc/httpd/conf.d/ssl.conf. Substitua alinha que começa com SSLCryptoDevice para que ela se pareça com o seguinte:

SSLCryptoDevice cloudhsm

Salve o arquivo. Isso requer permissões raiz do Linux.9. Execute o comando a seguir para fazer backup do arquivo /etc/apache2/envvars.

sudo cp /etc/apache2/envvars /etc/apache2/envvars.backup

10. Use um editor de texto para editar o arquivo /etc/apache2/envvars. Adicione o comando a seguir,especificando o nome do usuário e a senha do usuário de criptografia (CU). Substitua <nome dousuário CU> pelo nome do usuário de criptografia. Substitua <senha> pela senha do CU.

export n3fips_password=<CU user name>:<password>

Salve o arquivo. Isso requer permissões raiz do Linux.11. Execute o seguinte comando para iniciar o Apache HTTP Server.

sudo service httpd start

12. Execute o comando a seguir para configurar o servidor para iniciar o Apache quando o servidor foriniciado.

sudo chkconfig httpd on

Depois de atualizar a configuração do servidor web, vá para Etapa 4: Permitir tráfego HTTPS e verificar ocertificado (p. 303).

Etapa 4: Permitir tráfego HTTPS e verificar o certificadoApós configurar o servidor Web para descarregamento de SSL/TLS com AWS CloudHSM, adicione suainstância do servidor Web a um grupo de segurança que permita o tráfego HTTPS de entrada. Isso permiteque clientes, como navegadores da Web, estabeleçam uma conexão HTTPS com seu servidor Web.

303

Page 310: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Depois, faça uma conexão HTTPS com seu servidor Web e verifique se ele está usando o certificado quevocê configurou para descarregamento de SSL/TLS com AWS CloudHSM.

Tópicos• Habilitar conexões HTTPS de entrada (p. 304)• Verificar se o HTTPS usa o certificado que você configurou (p. 304)

Habilitar conexões HTTPS de entrada

Para se conectar ao seu servidor Web a partir de um cliente (como um navegador da Web), crie um grupode segurança que permita conexões HTTPS de entrada. Especificamente, ele deve permitir conexões TCPde entrada na porta 443. Atribua esse grupo de segurança ao seu servidor Web.

Para criar um grupo de segurança para HTTPS e atribuí-lo ao seu servidor Web

1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.2. No painel de navegação, escolha Security Groups (Grupos de segurança).3. Escolha Create Security Group (Criar grupo de segurança).4. Em Create Security Group (Criar grupo de segurança), faça o seguinte:

a. Em Security group name (Nome do grupo de segurança), digite um nome para o grupo desegurança que você está criando.

b. (Opcional) Digite uma descrição do grupo de segurança que você está criando.c. Em VPC, escolha a VPC que contém a instância do Amazon EC2 do servidor Web.d. Escolha Adicionar regra.e. Em Type (Tipo), escolha HTTPS.

5. Escolha Criar.6. No painel de navegação, escolha Instances (Instâncias).7. Marque a caixa de seleção ao lado da sua instância do servidor Web. Em seguida, escolha Actions

(Ações), Networking (Redes) e Change Security Groups (Alterar grupos de segurança).8. Marque a caixa de seleção ao lado do grupo de segurança que você criou para o HTTPS. Em seguida,

escolha Assign Security Groups (Atribuir grupos de segurança).

Verificar se o HTTPS usa o certificado que você configurou

Depois de adicionar o servidor Web a um grupo de segurança, você pode verificar se o descarregamentoSSL/TLS com o AWS CloudHSM está funcionando. Faça isso com um navegador da web ou com umaferramenta como OpenSSL s_client.

Para verificar o descarregamento de SSL/TLS com um navegador da Web

1. Use um navegador da web para se conectar ao servidor Web usando o nome de DNS público ouendereço IP do servidor. Certifique-se de que a URL na barra de endereços comece com https://. Porexemplo, https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/.

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações,consulte:

304

Page 311: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

• Para o Mozilla Firefox, consulte Visualizar um certificado, no site de suporte da Mozilla.• Para o Google Chrome, consulte Noções básicas de problemas de segurança no site Google Tools

for Web Developers.

Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar ocertificado do servidor Web.

3. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Para verificar o descarregamento de SSL/TLS com OpenSSL s_client

1. Execute o seguinte comando OpenSSL para se conectar ao seu servidor Web usando HTTPS.Substitua <server name> pelo nome DNS público ou endereço IP do seu servidor Web.

openssl s_client -connect <server name>:443

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Agora você tem um site protegido com HTTPS. A chave privada do servidor Web está armazenada emum HSM no cluster do AWS CloudHSM. No entanto, você tem apenas um servidor Web. Para configurarum segundo servidor Web e um load balancer para maior disponibilidade, vá para (Opcional) Etapa 5:Adicionar um load balancer com o Elastic Load Balancing (p. 305).

(Opcional) Etapa 5: Adicionar um load balancer com o ElasticLoad BalancingDepois de configurar o descarregamento de SSL/TLS com um servidor Web, crie mais servidores webe um load balancer do Elastic Load Balancing que roteia o tráfego HTTPS aos servidores web. Um loadbalancer pode reduzir a carga nos seus servidores web individuais, equilibrando o tráfego em dois oumais servidores. Ele também pode aumentar a disponibilidade do seu site, pois o load balancer monitora aintegridade dos seus servidores Web e roteia apenas o tráfego aos servidores saudáveis. Se um servidorWeb falhar, o load balancer deixará automaticamente de rotear o tráfego para ele.

Tópicos• Criar uma sub-rede para um segundo servidor Web (p. 305)• Criar o segundo servidor Web (p. 306)• Criar o load balancer (p. 308)

Criar uma sub-rede para um segundo servidor Web

Antes de poder criar um segundo servidor Web, é necessário criar uma nova sub-rede na mesma VPC quecontém seu servidor Web existente e o cluster do AWS CloudHSM.

305

Page 312: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Para criar uma nova sub-rede

1. Abra a seção Subnets (Sub-redes) do console da Amazon VPC em https://console.aws.amazon.com/vpc/home#subnets:.

2. Selecione Create Subnet (Criar sub-rede).3. Na caixa de diálogo Create Subnet (Criar sub-rede), faça o seguinte:

a. Em Name tag (Tag de nome), digite um nome para a sub-rede.b. Em VPC, escolha a VPC do AWS CloudHSM que contém o servidor Web existente e o cluster do

AWS CloudHSM.c. Em Availability Zone (Zona de disponibilidade), escolha uma zona de disponibilidade diferente da

que contém seu servidor Web existente.d. Em IPv4 CIDR block (Bloco CIDR IPv4), digite o bloco CIDR para uso na sub-rede. Por exemplo,

digite 10.0.10.0/24.e. Escolha Yes, Create.

4. Marque a caixa de seleção ao lado da sub-rede pública que contém seu servidor Web existente. Ela édiferente da sub-rede pública que você criou na etapa anterior.

5. No painel de conteúdo, escolha a guia Route Table (Tabela de rotas). Em seguida, escolha o link paraa tabela de rotas.

6. Marque a caixa de seleção ao lado da tabela de rotas.7. Escolha a guia Subnet Associations (Associações da sub-rede). Em seguida, escolha Edit (Editar).8. Marque a caixa de seleção ao lado da sub-rede que você criou anteriormente neste procedimento.

Escolha Save (Salvar).

Criar o segundo servidor Web

Complete as seguintes etapas para criar um segundo servidor Web com a mesma configuração que o seuservidor Web existente.

Para criar um segundo servidor Web

1. Abra a seção Instances (Instâncias) do console do Amazon EC2 em https://console.aws.amazon.com/ec2/v2/home#Instances:.

2. Marque a caixa de seleção ao lado da instância do servidor Web existente.3. Escolha Actions (Ações), Image (Imagem) e Create Image (Criar imagem).4. Na caixa de diálogo Create Image (Criar imagem), faça o seguinte:

306

Page 313: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

a. Em Image name (Nome de imagem), digite um nome para a imagem.b. Em Image description (Descrição da imagem), digite uma descrição para a imagem.c. Escolha Create Image. Essa ação reinicia seu servidor Web existente.d. Escolha o link View pending image ami-<AMI ID> (Visualizar ami-<ID da AMI> da imagem

pendente).

Na coluna Status, anote o status da imagem. Quando o status da imagem for available(disponível) (isso pode demorar vários minutos), vá para a próxima etapa.

5. No painel de navegação, escolha Instances (Instâncias).6. Marque a caixa de seleção ao lado do seu servidor Web existente.7. Selecione Actions (Ações) e selecione Launch More Like This (Iniciar mais como este).8. Escolha Edit AMI (Editar AMI).

9. No painel de navegação esquerdo, escolha My AMIs (Minhas AMIs). Em seguida, limpe o texto nacaixa de pesquisa.

10. Ao lado de sua imagem do servidor Web, escolha Select (Selecionar).11. Escolha Yes, I want to continue with this AMI (Sim, desejo continuar com essa AMI) (<image name> -

ami-<AMI ID>).12. Escolha Next (Próximo).13. Selecione um tipo de instância e escolha Next: Configure Instance Details (Próximo: configurar

detalhes da instância).14. Na Etapa 3: Configurar os detalhes da instância, faça o seguinte:

a. Em Network (Rede), escolha a VPC que contém seu servidor Web existente.b. Em Subnet (Sub-rede), escolha a sub-rede pública que você criou para o segundo servidor Web.c. Em Auto-assign Public IP (Atribuir IP público automaticamente), selecione Enable (Habilitar).d. Altere os detalhes restantes da instância conforme preferir. Em seguida, selecione Next: Add

Storage (Próximo: adicionar armazenamento).15. Altere as configurações de armazenamento conforme preferir. Depois, selecione Next: Add Tags

(Próximo: adicionar tags).16. Adicione ou edite tags como preferir. Em seguida, escolha Next: Configure Security Group (Próximo:

configurar grupo de segurança).17. Em Etapa 6: Configurar grupo de segurança, faça o seguinte:

a. Em Assign a security group (Atribuir um grupo de segurança), escolha Select an existing securitygroup (Selecionar um grupo de segurança existente).

307

Page 314: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

b. Marque a caixa de seleção do grupo de segurança nomeado cloudhsm-<cluster ID>-sg. O AWS CloudHSM criou esse grupo de segurança em seu nome quando você criou ocluster (p. 18). Selecione esse grupo de segurança para permitir que a instância do servidor Webse conecte a HSMs no cluster.

c. Marque a caixa de seleção ao lado do grupo de segurança que permite o tráfego HTTPS deentrada. You created this security group previously (p. 304).

d. (Opcional) Marque a caixa de seleção ao lado de um grupo de segurança que permite a entradade tráfego SSH (para Linux) ou RDP (para Windows) da rede. Isto é, o grupo de segurança devepermitir o tráfego TCP de entrada na porta 22 (para SSH no Linux) ou a porta 3389 (para RDP noWindows). Caso contrário, não será possível se conectar à instância do cliente. Caso não tenhaum grupo de segurança como esse, crie um e, em seguida, atribua-o para a instância do maistarde.

Escolha Review and Launch.18. Verifique os detalhes da instância e selecione Launch (Executar).19. Escolha se deseja iniciar a instância com um par de chaves existente, criar um novo par de chaves ou

executar sua instância sem um par de chaves.

• Para usar um par de chaves existente, faça o seguinte:1. Escolha Selecionar um par de chaves existente.2. Em Select a key pair (Selecionar um par de chaves), selecione o par de chaves a ser usado.3. Marque a caixa de seleção ao lado de I acknowledge that I have access to the selected private

key file (<private key file name>.pem), and that without this file, I won't be able to log intomy instance. (Eu reconheço que tenho acesso ao arquivo de chave privada selecionado e que,sem esse arquivo, não será possível fazer login na instância)

• Para criar um novo par de chaves, faça o seguinte:1. Selecione Create a new key pair (Criar um novo par de chaves).2. Em Key pair name (Nome do par de chaves), digite um nome para o par de chaves.3. Selecione Fazer download do par de chaves e salve o arquivo da chave privada em um local

seguro e acessível.

Warning

Não será possível fazer o download do arquivo de chave privada novamente a partirdesse momento. Se você não fizer o download do arquivo de chave privada agora, nãoserá possível acessar a instância do cliente.

• Para iniciar sua instância sem um par de chaves, faça o seguinte:1. Escolha Proceed without a key pair (Continuar sem um par de chaves).2. Marque a caixa de seleção ao lado de I acknowledge that I will not be able to connect to this

instance unless I already know the password built into this AMI. (Eu reconheço que não podereime conectar a essa instância a menos que eu já saiba a senha integrada a essa AMI.).

Selecione Launch Instances (Executar instâncias).

Criar o load balancer

Conclua as seguintes etapas para criar um load balancer do Elastic Load Balancing que roteia o tráfegoHTTPS aos seus servidores Web.

308

Page 315: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Linux

Para criar um load balancer

1. Abra a seção Load Balancers do console do Amazon EC2 em https://console.aws.amazon.com/ec2/v2/home#LoadBalancers:.

2. Selecione Criar load balancer.3. Na seção Network Load Balancer (Load balancer da rede), escolha Create (Criar).4. Em Etapa 1: configurar o load balancer, faça o seguinte:

a. Em Name (Nome), digite um nome para o load balancer que você está criando.b. Na seção Listeners, em Load Balancer Port (Porta do load balancer), altere o valor para 443.c. Na seção Availability Zones (Zonas de disponibilidade), em VPC, escolha a VPC que contém seus

servidores Web.d. Na seção Availability Zones (Zonas de disponibilidade), escolha as sub-redes que contêm seus

servidores Web.e. Selecione Next: Configure Routing (Próximo: Configurar roteamento).

5. Em Etapa 2: configurar roteamento, faça o seguinte:

a. Em Name (Nome), digite um nome para o grupo-alvo que você está criando.b. Em Port (Porta) altere o valor para 443.c. Selecione Next: Register Targets (Próximo: Registrar destinos).

6. Em Etapa 3: registrar alvos, faça o seguinte:

a. Na seção Instances (Instâncias), marque as caixas de seleção ao lado das instâncias do servidorWeb. Em seguida, escolha Add to registered (Adicionar ao registrado).

b. Selecione Next: Review (Próximo: análise).7. Analise os detalhes do load balancer e escolha Create (Criar).8. Quando o load balancer tiver sido criado com êxito, escolha Close (Fechar).

Depois de concluir as etapas anteriores, o console do Amazon EC2 mostrará seu load balancer do ElasticLoad Balancing.

Quando o estado do load balancer estiver ativo, você poderá verificar se ele está funcionando. Ou seja,você poderá verificar se ele está enviando tráfego HTTPS aos seus servidores Web com descarregamentode SSL/TLS com o AWS CloudHSM. Faça isso com um navegador da web ou com uma ferramenta comoOpenSSL s_client.

Para verificar se o seu load balancer está funcionando com um navegador da Web

1. No console do Amazon EC2, encontre o DNS name (Nome do DNS) para o load balancer que vocêacabou de criar. Em seguida, selecione o nome DNS e copie-o.

2. Use um navegador da Web, como o Mozilla Firefox ou o Google Chrome, para se conectar aoseu load balancer usando o nome DNS do load balancer. Certifique-se de que a URL na barra deendereços comece com https://.

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

3. Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações,consulte:

• Para o Mozilla Firefox, consulte Visualizar um certificado, no site de suporte da Mozilla.

309

Page 316: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

• Para o Google Chrome, consulte Noções básicas de problemas de segurança no site Google Toolsfor Web Developers.

Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar ocertificado do servidor Web.

4. Garanta que o certificado é aquele para o qual você configurou o servidor Web para usar.

Para verificar se o seu load balancer está funcionando com o OpenSSL s_client

1. Use o seguinte comando OpenSSL para se conectar ao seu load balancer usando HTTPS. Substitua<DNS name> pelo nome do DNS do load balancer.

openssl s_client -connect <DNS name>:443

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Garanta que o certificado é aquele para o qual você configurou o servidor Web para usar.

Agora, você tem um site seguro com HTTPS, com a chave privada do servidor Web armazenada em umHSM no cluster do AWS CloudHSM. Seu site possui dois servidores Web e um load balancer para ajudar amelhorar a eficiência e a disponibilidade.

Tutorial: Como usar o descarregamento de SSL/TLScom o AWS CloudHSM no WindowsEste tutorial fornece instruções passo a passo para configurar o descarregamento de SSL/TLS com o AWSCloudHSM em um servidor web do Windows.

Tópicos• Visão geral (p. 310)• Etapa 1: configurar os pré-requisitos (p. 311)• Etapa 2: Criar uma solicitação de assinatura de certificado (CSR) e um certificado (p. 312)• Etapa 3: configure o servidor Web (p. 315)• Etapa 4: Permitir tráfego HTTPS e verificar o certificado (p. 316)• (Opcional) Etapa 5: Adicionar um load balancer com o Elastic Load Balancing (p. 318)

Visão geralNo Windows, o aplicativo do servidor web Serviços de Informações da Internet (IIS) para Windows Serveroferece suporte nativo a HTTPS. O AWS CloudHSM provedor de armazenamento de chaves (KSP) paraa Cryptography API: Next Generation (CNG) da Microsoft (p. 282) fornece uma interface que permite queo IIS use os HSMs no cluster para descarregamento criptográfico e armazenamento de chaves. O KSP doAWS CloudHSM é a ponte que liga o IIS ao cluster do AWS CloudHSM.

Este tutorial mostra como fazer o seguinte:

• Instale o software de servidor Web em uma instância do Amazon EC2.

310

Page 317: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

• Configure o software de servidor Web para ser compatível com HTTPS com uma chave privadaarmazenada em seu cluster do AWS CloudHSM.

• (Opcional) Use o Amazon EC2 para criar uma segunda instância do servidor Web e o Elastic LoadBalancing para criar um load balancer. Usar um load balancer pode aumentar o desempenho,distribuindo a carga em vários servidores. Ele também pode fornecer redundância e maiordisponibilidade se um ou mais servidores falhar.

Quando estiver pronto para começar, vá para Etapa 1: configurar os pré-requisitos (p. 311).

Etapa 1: configurar os pré-requisitosPara configurar o descarregamento SSL/TLS de servidor Web com o AWS CloudHSM, é necessário oseguinte:

• Um cluster do AWS CloudHSM ativo com pelo menos um HSM.• Uma instância do Amazon EC2 executando um sistema operacional Windows com o seguinte software

instalado:• O software cliente do AWS CloudHSM para Windows.• Serviços de Informações da Internet (IIS) para Windows Server.

• Um usuário de criptografia (p. 11) (CU) para ter e gerenciar a chave privada do servidor web no HSM.

Note

Este tutorial usa o Microsoft Windows Server 2016. O Microsoft Windows Server 2012 também écompatível, mas o Microsoft Windows Server 2012 R2 não é.

Para configurar uma instância do Windows Server e criar um CU no HSM

1. Siga as etapas em Conceitos básicos (p. 16). Quando você ativar o cliente do Amazon EC2, escolhauma AMI do Windows Server 2016 ou Windows Server 2012. Quando você concluir estas etapas, teráum cluster ativo com um HSM, no mínimo. Você também terá uma instância do cliente do AmazonEC2 executando o Windows Server com o software cliente do AWS CloudHSM para Windowsinstalado.

2. (Opcional) Adicione mais HSMs ao seu cluster. Para obter mais informações, consulte Adicionar umHSM (p. 42).

3. Conecte-se ao servidor do Windows. Para obter mais informações, consulte o tópico Conecte-se à suainstância no Guia do usuário do Amazon EC2 para instâncias do Windows.

4. Para criar um usuário de criptografia (CU) no HSM, faça o seguinte:

a. Inicie o cliente AWS CloudHSM (p. 86).b. Atualize o arquivo de configuração cloudhsm_mgmt_util (p. 87).c. Iniciar cloudhsm_mgmt_util (p. 88).d. Habilitar criptografia de ponta a ponta (p. 89).e. Faça login no HSMs (p. 89) com o nome de usuário e a senha de um responsável pela

criptografia (CO).f. Crie um usuário de criptografia (CU) (p. 53). Lembre o nome do usuário e a senha do CU. Você

precisará deles para concluir a próxima etapa.5. Defina as credenciais de login para o HSM (p. 284), usando o nome de usuário e a senha do CU que

você criou na etapa anterior.6. Na etapa 5, se você tiver usado o Gerenciador de credenciais do Windows para definir credenciais do

HSM, faça download de psexec.exe do SysInternals para executar o seguinte comando como NTAuthority\SYSTEM:

311

Page 318: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username <username> --password <password>

Substitua <username> e <password> pelas credenciais do HSM.

Para instalar o IIS no Windows Server

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. No Windows Server, inicie o Server Manager.3. No painel Server Manager, escolha Add roles and features.4. Leia as informações de Before you begin e escolha Next.5. Em Installation Type (Tipo de instalação), escolha Role-based or feature-based installation (Instalação

com base na função ou no recurso). Em seguida, escolha Avançar.6. Em Server Selection, escolha Select a server from the server pool. Em seguida, escolha Avançar.7. Em Server Roles, faça o seguinte:

a. Selecione Servidor web (IIS).b. Em Adicionar recursos que são necessários para o Servidor Web (IIS), escolha Adicionar

recursos.c. Escolha Próximo para terminar de selecionar funções de servidor.

8. Em Features (Recursos), aceite os padrões. Em seguida, escolha Avançar.9. Leia as informações sobre a função Servidor Web (IIS). Em seguida, escolha Avançar.10. Em Selecionar serviços de função, aceite os valores padrão ou altere as configurações como preferir.

Em seguida, escolha Avançar.11. Em Confirmation (Confirmação), leia as informações de confirmação. Em seguida, selecione Install

(Instalar).12. Depois que a instalação for concluída, escolha Fechar.

Depois de concluir essas etapas, vá para Etapa 2: Criar uma solicitação de assinatura de certificado (CSR)e um certificado (p. 312).

Etapa 2: Criar uma solicitação de assinatura de certificado (CSR)e um certificadoPara habilitar o HTTPS, o servidor web precisa de um certificado SSL/TLS e de uma chave privadacorrespondente. Para usar o descarregamento de SSL/TLS com o AWS CloudHSM, é necessárioarmazenar a chave privada no HSM no cluster do AWS CloudHSM. Para fazer isso, use o AWS CloudHSMprovedor de armazenamento de chaves (KSP) para a Cryptography API: Next Generation (CNG) daMicrosoft (p. 282) para criar uma solicitação de assinatura de certificado (CSR). Em seguida, você fornecea CSR para uma autoridade de certificação (CA), que assina a CSR para produzir um certificado.

Tópicos• Como criar uma CSR (p. 313)• Obtenção e importação de um certificado assinado (p. 313)

312

Page 319: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

Como criar uma CSR

Use o KSP do AWS CloudHSM em seu Windows Server para criar uma CSR.

Para criar uma CSR

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. Inicie o cliente AWS CloudHSM (p. 86).3. No Windows Server, use um editor de texto para criar um arquivo de solicitação de certificado

chamado IISCertRequest.inf. O exemplo a seguir mostra o conteúdo de um arquivoIISCertRequest.inf de exemplo. Para obter mais informações sobre as seções, as chaves e osvalores que você pode especificar no arquivo, consulte a documentação da Microsoft. Não mude ovalor ProviderName.

[Version]Signature = "$Windows NT$"[NewRequest]Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer"HashAlgorithm = SHA256KeyAlgorithm = RSAKeyLength = 2048ProviderName = "Cavium Key Storage Provider"KeyUsage = 0xf0MachineKeySet = True[EnhancedKeyUsageExtension]OID=1.3.6.1.5.5.7.3.1

4. Use o comando certreq do Windows para criar uma CSR no arquivo IISCertRequest.infque você criou na etapa anterior. O exemplo a seguir salva a CSR em um arquivo chamadoIISCertRequest.csr. Se você tiver usado um nome de arquivo diferente para seu arquivo desolicitação de certificado, substitua IISCertRequest.inf por um nome de arquivo apropriado.Opcionalmente, o nome do arquivo CSR IISCertRequest.csr pode ser substituído por um nomediferente.

C:\>certreq -new IISCertRequest.inf IISCertRequest.csr SDK Version: 2.03

CertReq: Request Created

O arquivo IISCertRequest.csr contém sua CSR. Você precisa dessa CSR para obter umcertificado assinado.

Obtenção e importação de um certificado assinado

Em um ambiente de produção, geralmente usa-se uma autoridade de certificação (CA) para criar umcertificado de uma CSR. Não é necessária uma CA para um ambiente de teste. Se você usar uma CA,envie o arquivo da CSR (IISCertRequest.csr) para ela e use a CA para criar um certificado SSL/TLSassinado.

Em vez de usar uma CA, você pode usar uma ferramenta como a OpenSSL para criar um certificadoautoassinado.

Warning

Os certificados autoassinados não são confiáveis para os navegadores e não devem ser usadosem ambientes de produção. Eles podem ser usadas em ambientes de teste.

313

Page 320: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

Os procedimentos a seguir mostram como criar um certificado autoassinado e usá-lo para assinar a CSRdo servidor web.

Para criar um certificado autoassinado

1. Use o comando OpenSSL a seguir para criar uma chave privada. Opcionalmente, você pode substituirSelfSignedCA.key pelo nome de arquivo que conterá sua chave privada.

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

2. Use o comando OpenSSL a seguir para criar um certificado autoassinado usando a chave privadaque você criou na etapa anterior. Este é um comando interativo. Leia as instruções na tela e sigaos avisos. Substitua SelfSignedCA.key pelo nome do arquivo que contém sua chave privada (sefor diferente). Opcionalmente, você pode substituir SelfSignedCA.crt pelo nome de arquivo queconterá seu certificado autoassinado.

openssl req -new -x509 -days 365 -key SelfSignedCA.key -out SelfSignedCA.crtEnter pass phrase for SelfSignedCA.key:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:Email Address []:

Para usar o certificado autoassinado para assinar a CSR do servidor web

• Use o comando OpenSSL a seguir para usar a chave privada e o certificado autoassinadopara assinar a CSR. Substitua as opções a seguir pelo nome do arquivo que contém os dadoscorrespondentes (se forem diferentes).

• IISCertRequest.csr – O nome do arquivo que contém a CSR do servidor web• SelfSignedCA.crt – O nome do arquivo que contém o certificado autoassinado• SelfSignedCA.key – O nome do arquivo que contém a chave privada• IISCert.crt – O nome do arquivo que conterá o certificado assinado do servidor web

openssl x509 -req -days 365 -in IISCertRequest.csr \ -CA SelfSignedCA.crt \ -CAkey SelfSignedCA.key \ -CAcreateserial \ -out IISCert.crtSignature oksubject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSMGetting CA Private Key

314

Page 321: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

Enter pass phrase for SelfSignedCA.key:

Assim que concluir a etapa anterior, você terá um certificado assinado para seu servidor web(IISCert.crt) e um certificado autoassinado (SelfSignedCA.crt). Quando tiver esses arquivos, vápara Etapa 3: configure o servidor Web (p. 315).

Etapa 3: configure o servidor WebAtualize a configuração do site do IIS para usar o certificado HTTPS que você criou no final da etapaanterior (p. 312). Isso concluirá a configuração do software do servidor web do Windows (IIS) paradescarregamento de SSL/TLS com o AWS CloudHSM.

Se tiver usado um certificado autoassinado para assinar a CSR, deverá primeiro importar o certificadoautoassinado para Autoridades de certificação raiz confiáveis do Windows.

Para importar o certificado autoassinado para Autoridades de certificação raiz confiáveis doWindows

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. Copie o certificado autoassinado no servidor Windows.3. No Windows Server, abra o Painel de Controle.4. Em Search Control Panel (Pesquisar painel de controle), digite certificates. Em seguida, escolha

Gerenciar certificados de computador.5. Na janela Certificados – Computador Local), clique duas vezes em Autoridades de certificação raiz

confiáveis.6. Clique com o botão direito do mouse em Certificados e escolha Todas as tarefas, Importar.7. Em Assistente para Importação de Certificados, escolha Próximo.8. Escolha Procurar e em seguida localize e selecione o certificado autoassinado. Se tiver criado o

certificado autoassinado seguindo as instruções na etapa anterior deste tutorial (p. 312), o nome docertificado autoassinado será SelfSignedCA.crt. Escolha Open.

9. Escolha Next.10. Em Repositório de Certificados, escolha Colocar todos os certificados no repositório a seguir. Em

seguida, confirme se Autoridades de certificação raiz confiáveis está selecionada para Repositório deCertificados.

11. Escolha Next e, em seguida, escolha Finish.

Para atualizar a configuração do site do IIS

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. Inicie o cliente AWS CloudHSM (p. 86).3. Copie o certificado assinado do servidor web—aquele que você criou no final da etapa anterior deste

tutorial (p. 312)—para o servidor Windows.4. No Windows Server, use o comando certreq do Windows para aceitar o certificado assinado, como no

exemplo a seguir. Substitua IISCert.crt pelo nome do arquivo que contém o certificado assinadodo servidor web.

C:\>certreq -accept IISCert.crt SDK Version: 2.03

315

Page 322: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

5. No Windows Server, inicie o Server Manager.6. No painel Gerenciador de Servidores, no canto superior direito, escolha Ferramentas, Gerenciador dos

Serviços de Informações da Internet (IIS).7. Na janela Gerenciador dos Serviços de Informações da Internet (IIS), clique duas vezes no nome do

servidor. Em seguida, clique duas vezes em Sites. Selecione o site.8. Selecione Configurações. Em seguida, no lado direito da janela, escolha Associações.9. Na janela Associações de Site, escolha Adicionar.10. Em Tipo, escolha https. Em Certificado SSL, escolha o certificado HTTPS que você criou no final da

etapa anterior deste tutorial (p. 312).

Note

Se você encontrar um erro durante essa vinculação de certificado, reinicie seu servidor erepita essa etapa.

11. Escolha OK.

Depois que atualizar a configuração do site, vá para Etapa 4: Permitir tráfego HTTPS e verificar ocertificado (p. 316).

Etapa 4: Permitir tráfego HTTPS e verificar o certificadoApós configurar o servidor Web para descarregamento de SSL/TLS com AWS CloudHSM, adicione suainstância do servidor Web a um grupo de segurança que permita o tráfego HTTPS de entrada. Isso permiteque clientes, como navegadores da Web, estabeleçam uma conexão HTTPS com seu servidor Web.Depois, faça uma conexão HTTPS com seu servidor Web e verifique se ele está usando o certificado quevocê configurou para descarregamento de SSL/TLS com AWS CloudHSM.

Tópicos• Habilitar conexões HTTPS de entrada (p. 316)• Verificar se o HTTPS usa o certificado que você configurou (p. 317)

Habilitar conexões HTTPS de entrada

Para se conectar ao seu servidor Web a partir de um cliente (como um navegador da Web), crie um grupode segurança que permita conexões HTTPS de entrada. Especificamente, ele deve permitir conexões TCPde entrada na porta 443. Atribua esse grupo de segurança ao seu servidor Web.

Para criar um grupo de segurança para HTTPS e atribuí-lo ao seu servidor Web

1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.2. No painel de navegação, escolha Security Groups (Grupos de segurança).3. Escolha Create Security Group (Criar grupo de segurança).4. Em Create Security Group (Criar grupo de segurança), faça o seguinte:

a. Em Security group name (Nome do grupo de segurança), digite um nome para o grupo desegurança que você está criando.

b. (Opcional) Digite uma descrição do grupo de segurança que você está criando.c. Em VPC, escolha a VPC que contém a instância do Amazon EC2 do servidor Web.d. Escolha Adicionar regra.e. Em Type (Tipo), escolha HTTPS.

5. Escolha Criar.6. No painel de navegação, escolha Instances (Instâncias).

316

Page 323: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

7. Marque a caixa de seleção ao lado da sua instância do servidor Web. Em seguida, escolha Actions(Ações), Networking (Redes) e Change Security Groups (Alterar grupos de segurança).

8. Marque a caixa de seleção ao lado do grupo de segurança que você criou para o HTTPS. Em seguida,escolha Assign Security Groups (Atribuir grupos de segurança).

Verificar se o HTTPS usa o certificado que você configurou

Depois de adicionar o servidor Web a um grupo de segurança, você pode verificar se o descarregamentoSSL/TLS com o AWS CloudHSM está funcionando. Faça isso com um navegador da web ou com umaferramenta como OpenSSL s_client.

Para verificar o descarregamento de SSL/TLS com um navegador da Web

1. Use um navegador da web para se conectar ao servidor Web usando o nome de DNS público ouendereço IP do servidor. Certifique-se de que a URL na barra de endereços comece com https://. Porexemplo, https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/.

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações,consulte:

• Para o Mozilla Firefox, consulte Visualizar um certificado, no site de suporte da Mozilla.• Para o Google Chrome, consulte Noções básicas de problemas de segurança no site Google Tools

for Web Developers.

Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar ocertificado do servidor Web.

3. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Para verificar o descarregamento de SSL/TLS com OpenSSL s_client

1. Execute o seguinte comando OpenSSL para se conectar ao seu servidor Web usando HTTPS.Substitua <server name> pelo nome DNS público ou endereço IP do seu servidor Web.

openssl s_client -connect <server name>:443

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Garanta que o certificado SSL/TLS é aquele para o qual você configurou o servidor Web para usar.

Agora você tem um site protegido com HTTPS. A chave privada do servidor Web está armazenada emum HSM no cluster do AWS CloudHSM. No entanto, você tem apenas um servidor Web. Para configurarum segundo servidor Web e um load balancer para maior disponibilidade, vá para (Opcional) Etapa 5:Adicionar um load balancer com o Elastic Load Balancing (p. 318).

317

Page 324: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

(Opcional) Etapa 5: Adicionar um load balancer com o ElasticLoad BalancingDepois de configurar o descarregamento de SSL/TLS com um servidor Web, crie mais servidores webe um load balancer do Elastic Load Balancing que roteia o tráfego HTTPS aos servidores web. Um loadbalancer pode reduzir a carga nos seus servidores web individuais, equilibrando o tráfego em dois oumais servidores. Ele também pode aumentar a disponibilidade do seu site, pois o load balancer monitora aintegridade dos seus servidores Web e roteia apenas o tráfego aos servidores saudáveis. Se um servidorWeb falhar, o load balancer deixará automaticamente de rotear o tráfego para ele.

Tópicos• Criar uma sub-rede para um segundo servidor Web (p. 318)• Criar o segundo servidor Web (p. 319)• Criar o load balancer (p. 321)

Criar uma sub-rede para um segundo servidor Web

Antes de poder criar um segundo servidor Web, é necessário criar uma nova sub-rede na mesma VPC quecontém seu servidor Web existente e o cluster do AWS CloudHSM.

Para criar uma nova sub-rede

1. Abra a seção Subnets (Sub-redes) do console da Amazon VPC em https://console.aws.amazon.com/vpc/home#subnets:.

2. Selecione Create Subnet (Criar sub-rede).3. Na caixa de diálogo Create Subnet (Criar sub-rede), faça o seguinte:

a. Em Name tag (Tag de nome), digite um nome para a sub-rede.b. Em VPC, escolha a VPC do AWS CloudHSM que contém o servidor Web existente e o cluster do

AWS CloudHSM.c. Em Availability Zone (Zona de disponibilidade), escolha uma zona de disponibilidade diferente da

que contém seu servidor Web existente.d. Em IPv4 CIDR block (Bloco CIDR IPv4), digite o bloco CIDR para uso na sub-rede. Por exemplo,

digite 10.0.10.0/24.e. Escolha Yes, Create.

4. Marque a caixa de seleção ao lado da sub-rede pública que contém seu servidor Web existente. Ela édiferente da sub-rede pública que você criou na etapa anterior.

5. No painel de conteúdo, escolha a guia Route Table (Tabela de rotas). Em seguida, escolha o link paraa tabela de rotas.

318

Page 325: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

6. Marque a caixa de seleção ao lado da tabela de rotas.7. Escolha a guia Subnet Associations (Associações da sub-rede). Em seguida, escolha Edit (Editar).8. Marque a caixa de seleção ao lado da sub-rede que você criou anteriormente neste procedimento.

Escolha Save (Salvar).

Criar o segundo servidor Web

Complete as seguintes etapas para criar um segundo servidor Web com a mesma configuração que o seuservidor Web existente.

Para criar um segundo servidor Web

1. Abra a seção Instances (Instâncias) do console do Amazon EC2 em https://console.aws.amazon.com/ec2/v2/home#Instances:.

2. Marque a caixa de seleção ao lado da instância do servidor Web existente.3. Escolha Actions (Ações), Image (Imagem) e Create Image (Criar imagem).4. Na caixa de diálogo Create Image (Criar imagem), faça o seguinte:

a. Em Image name (Nome de imagem), digite um nome para a imagem.b. Em Image description (Descrição da imagem), digite uma descrição para a imagem.c. Escolha Create Image. Essa ação reinicia seu servidor Web existente.d. Escolha o link View pending image ami-<AMI ID> (Visualizar ami-<ID da AMI> da imagem

pendente).

Na coluna Status, anote o status da imagem. Quando o status da imagem for available(disponível) (isso pode demorar vários minutos), vá para a próxima etapa.

5. No painel de navegação, escolha Instances (Instâncias).6. Marque a caixa de seleção ao lado do seu servidor Web existente.7. Selecione Actions (Ações) e selecione Launch More Like This (Iniciar mais como este).

319

Page 326: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

8. Escolha Edit AMI (Editar AMI).

9. No painel de navegação esquerdo, escolha My AMIs (Minhas AMIs). Em seguida, limpe o texto nacaixa de pesquisa.

10. Ao lado de sua imagem do servidor Web, escolha Select (Selecionar).11. Escolha Yes, I want to continue with this AMI (Sim, desejo continuar com essa AMI) (<image name> -

ami-<AMI ID>).12. Escolha Next (Próximo).13. Selecione um tipo de instância e escolha Next: Configure Instance Details (Próximo: configurar

detalhes da instância).14. Na Etapa 3: Configurar os detalhes da instância, faça o seguinte:

a. Em Network (Rede), escolha a VPC que contém seu servidor Web existente.b. Em Subnet (Sub-rede), escolha a sub-rede pública que você criou para o segundo servidor Web.c. Em Auto-assign Public IP (Atribuir IP público automaticamente), selecione Enable (Habilitar).d. Altere os detalhes restantes da instância conforme preferir. Em seguida, selecione Next: Add

Storage (Próximo: adicionar armazenamento).15. Altere as configurações de armazenamento conforme preferir. Depois, selecione Next: Add Tags

(Próximo: adicionar tags).16. Adicione ou edite tags como preferir. Em seguida, escolha Next: Configure Security Group (Próximo:

configurar grupo de segurança).17. Em Etapa 6: Configurar grupo de segurança, faça o seguinte:

a. Em Assign a security group (Atribuir um grupo de segurança), escolha Select an existing securitygroup (Selecionar um grupo de segurança existente).

b. Marque a caixa de seleção do grupo de segurança nomeado cloudhsm-<cluster ID>-sg. O AWS CloudHSM criou esse grupo de segurança em seu nome quando você criou ocluster (p. 18). Selecione esse grupo de segurança para permitir que a instância do servidor Webse conecte a HSMs no cluster.

c. Marque a caixa de seleção ao lado do grupo de segurança que permite o tráfego HTTPS deentrada. You created this security group previously (p. 316).

d. (Opcional) Marque a caixa de seleção ao lado de um grupo de segurança que permite a entradade tráfego SSH (para Linux) ou RDP (para Windows) da rede. Isto é, o grupo de segurança devepermitir o tráfego TCP de entrada na porta 22 (para SSH no Linux) ou a porta 3389 (para RDP noWindows). Caso contrário, não será possível se conectar à instância do cliente. Caso não tenhaum grupo de segurança como esse, crie um e, em seguida, atribua-o para a instância do maistarde.

Escolha Review and Launch.18. Verifique os detalhes da instância e selecione Launch (Executar).19. Escolha se deseja iniciar a instância com um par de chaves existente, criar um novo par de chaves ou

executar sua instância sem um par de chaves.

• Para usar um par de chaves existente, faça o seguinte:

320

Page 327: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

1. Escolha Selecionar um par de chaves existente.2. Em Select a key pair (Selecionar um par de chaves), selecione o par de chaves a ser usado.3. Marque a caixa de seleção ao lado de I acknowledge that I have access to the selected private

key file (<private key file name>.pem), and that without this file, I won't be able to log intomy instance. (Eu reconheço que tenho acesso ao arquivo de chave privada selecionado e que,sem esse arquivo, não será possível fazer login na instância)

• Para criar um novo par de chaves, faça o seguinte:1. Selecione Create a new key pair (Criar um novo par de chaves).2. Em Key pair name (Nome do par de chaves), digite um nome para o par de chaves.3. Selecione Fazer download do par de chaves e salve o arquivo da chave privada em um local

seguro e acessível.

Warning

Não será possível fazer o download do arquivo de chave privada novamente a partirdesse momento. Se você não fizer o download do arquivo de chave privada agora, nãoserá possível acessar a instância do cliente.

• Para iniciar sua instância sem um par de chaves, faça o seguinte:1. Escolha Proceed without a key pair (Continuar sem um par de chaves).2. Marque a caixa de seleção ao lado de I acknowledge that I will not be able to connect to this

instance unless I already know the password built into this AMI. (Eu reconheço que não podereime conectar a essa instância a menos que eu já saiba a senha integrada a essa AMI.).

Selecione Launch Instances (Executar instâncias).

Criar o load balancer

Conclua as seguintes etapas para criar um load balancer do Elastic Load Balancing que roteia o tráfegoHTTPS aos seus servidores Web.

Para criar um load balancer

1. Abra a seção Load Balancers do console do Amazon EC2 em https://console.aws.amazon.com/ec2/v2/home#LoadBalancers:.

2. Selecione Criar load balancer.3. Na seção Network Load Balancer (Load balancer da rede), escolha Create (Criar).4. Em Etapa 1: configurar o load balancer, faça o seguinte:

a. Em Name (Nome), digite um nome para o load balancer que você está criando.b. Na seção Listeners, em Load Balancer Port (Porta do load balancer), altere o valor para 443.c. Na seção Availability Zones (Zonas de disponibilidade), em VPC, escolha a VPC que contém seus

servidores Web.d. Na seção Availability Zones (Zonas de disponibilidade), escolha as sub-redes que contêm seus

servidores Web.e. Selecione Next: Configure Routing (Próximo: Configurar roteamento).

5. Em Etapa 2: configurar roteamento, faça o seguinte:

a. Em Name (Nome), digite um nome para o grupo-alvo que você está criando.b. Em Port (Porta) altere o valor para 443.c. Selecione Next: Register Targets (Próximo: Registrar destinos).

6. Em Etapa 3: registrar alvos, faça o seguinte:

321

Page 328: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioDescarregamento de SSL/TLS no Windows

a. Na seção Instances (Instâncias), marque as caixas de seleção ao lado das instâncias do servidorWeb. Em seguida, escolha Add to registered (Adicionar ao registrado).

b. Selecione Next: Review (Próximo: análise).7. Analise os detalhes do load balancer e escolha Create (Criar).8. Quando o load balancer tiver sido criado com êxito, escolha Close (Fechar).

Depois de concluir as etapas anteriores, o console do Amazon EC2 mostrará seu load balancer do ElasticLoad Balancing.

Quando o estado do load balancer estiver ativo, você poderá verificar se ele está funcionando. Ou seja,você poderá verificar se ele está enviando tráfego HTTPS aos seus servidores Web com descarregamentode SSL/TLS com o AWS CloudHSM. Faça isso com um navegador da web ou com uma ferramenta comoOpenSSL s_client.

Para verificar se o seu load balancer está funcionando com um navegador da Web

1. No console do Amazon EC2, encontre o DNS name (Nome do DNS) para o load balancer que vocêacabou de criar. Em seguida, selecione o nome DNS e copie-o.

2. Use um navegador da Web, como o Mozilla Firefox ou o Google Chrome, para se conectar aoseu load balancer usando o nome DNS do load balancer. Certifique-se de que a URL na barra deendereços comece com https://.

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

3. Use seu navegador da Web para ver o certificado do servidor Web. Para obter mais informações,consulte:

• Para o Mozilla Firefox, consulte Visualizar um certificado, no site de suporte da Mozilla.• Para o Google Chrome, consulte Noções básicas de problemas de segurança no site Google Tools

for Web Developers.

Outros navegadores da Web podem ter recursos semelhantes, que você pode usar para visualizar ocertificado do servidor Web.

4. Garanta que o certificado é aquele para o qual você configurou o servidor Web para usar.

Para verificar se o seu load balancer está funcionando com o OpenSSL s_client

1. Use o seguinte comando OpenSSL para se conectar ao seu load balancer usando HTTPS. Substitua<DNS name> pelo nome do DNS do load balancer.

openssl s_client -connect <DNS name>:443

Tip

Você pode usar um serviço de DNS, como o Amazon Route 53, para rotear o nome dedomínio do site (por exemplo, https://www.exemplo.com/) ao seu servidor web. Para obtermais informações, consulte Roteamento de tráfego para uma instância do Amazon EC2 noGuia do desenvolvedor do Amazon Route 53 ou na documentação do seu serviço de DNS.

2. Garanta que o certificado é aquele para o qual você configurou o servidor Web para usar.

322

Page 329: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCA do Windows Server

Agora, você tem um site seguro com HTTPS, com a chave privada do servidor Web armazenada em umHSM no cluster do AWS CloudHSM. Seu site possui dois servidores Web e um load balancer para ajudar amelhorar a eficiência e a disponibilidade.

Configurar o Windows Server como uma autoridadede certificação (CA) com o AWS CloudHSM

Em uma infraestrutura de chave pública (PKI), uma autoridade de certificação (CA) é uma entidadeconfiável que emite certificados digitais. Esses certificados digitais vinculam uma chave pública a umaidentidade (uma pessoa ou organização) por meio de criptografia de chave pública e assinaturas digitais.Para operar uma CA, é necessário manter a confiança, protegendo as chaves privadas que assinam oscertificados emitidos pela CA. Você pode armazenar a chave privada no HSM em seu cluster do AWSCloudHSM e usar o HSM para realizar as operações de registro de criptografia.

Neste tutorial, você usa o Windows Server e o AWS CloudHSM para configurar um CA. Instale o softwarecliente do AWS CloudHSM para Windows no Windows Server e adicione a função Active DirectoryCertificate Services (AD CS) ao Windows Server. Ao configurar essa função, você usa um provedor dearmazenamento de chaves (KSP) do AWS CloudHSM para criar e armazenar a chave privada da CA nocluster do AWS CloudHSM. O KSP é a ponte que liga o Windows Server ao cluster do AWS CloudHSM.Na última etapa, você assina uma solicitação de assinatura de certificado (CSR) com a CA do WindowsServer.

Para obter mais informações, consulte os tópicos a seguir:

Tópicos• Etapa 1 da CA do Windows Server: Configurar os pré-requisitos (p. 323)• Etapa 2 do CA do Windows Server: Criar um CA do Windows Server com o AWS CloudHSM (p. 324)• Etapa 3 da CA do Windows Server: Assine uma solicitação de assinatura de certificado (CSR) com a

CA do Windows Server com o AWS CloudHSM (p. 326)

Etapa 1 da CA do Windows Server: Configurar os pré-requisitosPara configurar o Windows Server como uma autoridade de certificação (CA) com AWS CloudHSM, vocêprecisa do seguinte:

• Um cluster do AWS CloudHSM ativo com pelo menos um HSM.• Uma instância do Amazon EC2 que esteja executando um sistema operacional Windows Server com

o software cliente do AWS CloudHSM para Windows instalado. Este tutorial usa o Microsoft WindowsServer 2016.

• Um usuário de criptografia (CU) para possuir e gerenciar a chave privada da CA no HSM.

Para configurar os pré-requisitos de uma CA do Windows Server com AWS CloudHSM

1. Siga as etapas em Conceitos básicos (p. 16). Quando você ativar o cliente do Amazon EC2, escolhauma AMI do Windows Server. Este tutorial usa o Microsoft Windows Server 2016. Quando vocêconcluir estas etapas, terá um cluster ativo com um HSM, no mínimo. Você também terá umainstância do cliente do Amazon EC2 executando o Windows Server com o software cliente do AWSCloudHSM para Windows instalado.

323

Page 330: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar CA do Windows Server

2. (Opcional) Adicione mais HSMs ao seu cluster. Para obter mais informações, consulte Adicionar umHSM (p. 42).

3. Conecte-se à instância do cliente. Para obter mais informações, consulte o tópico Conecte-se à suainstância no Guia do usuário do Amazon EC2 para instâncias do Windows.

4. Para criar um usuário de criptografia (CU) no HSM, faça o seguinte:

a. Inicie o cliente AWS CloudHSM (p. 86).b. Atualize o arquivo de configuração cloudhsm_mgmt_util (p. 87).c. Iniciar cloudhsm_mgmt_util (p. 88).d. Habilitar criptografia de ponta a ponta (p. 89).e. Faça login no HSMs (p. 89) com o nome de usuário e a senha de um responsável pela

criptografia (CO).f. Crie um usuário de criptografia (CU) (p. 53). Lembre o nome do usuário e a senha do CU. Você

precisará deles para concluir a próxima etapa.5. Defina as credenciais de login para o HSM (p. 284), usando o nome de usuário e a senha do CU que

você criou na etapa anterior.6. Na etapa 5, se você tiver usado o Gerenciador de credenciais do Windows para definir credenciais do

HSM, faça download de psexec.exe do SysInternals para executar o seguinte comando como NTAuthority\SYSTEM:

psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username <username> --password <password>

Substitua <username> e <password> pelas credenciais do HSM.

Para criar uma CA do Windows Server com o AWS CloudHSM, acesse Criar CA do WindowsServer (p. 324).

Etapa 2 do CA do Windows Server: Criar um CA doWindows Server com o AWS CloudHSMPara criar um CA do Windows Server, adicione a função Active Directory Certificate Services (AD CS) aoWindows Server. Ao adicionar essa função, você usa um provedor de armazenamento de chaves (KSP) doAWS CloudHSM para criar e armazenar a chave privada da CA no cluster do AWS CloudHSM.

Note

Ao criar a CA do Windows Server, você pode optar por criar uma CA raiz ou uma CA subordinada.Você normalmente toma essa decisão com base no design da sua infraestrutura de chave públicae nas políticas de segurança da sua organização. Este tutorial explica como criar uma CA raizpara simplificar.

Para adicionar a função AD CS ao Windows Server e criar a chave privada da CA

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. No Windows Server, inicie o Server Manager.3. No painel Server Manager, escolha Add roles and features.4. Leia as informações de Before you begin e escolha Next.5. Em Installation Type (Tipo de instalação), escolha Role-based or feature-based installation (Instalação

com base na função ou no recurso). Em seguida, escolha Avançar.

324

Page 331: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar CA do Windows Server

6. Em Server Selection, escolha Select a server from the server pool. Em seguida, escolha Avançar.7. Em Server Roles, faça o seguinte:

a. Selecione Active Directory Certificate Services.b. Em Add features that are required for Active Directory Certificate Services, escolha Add Features.c. Escolha Próximo para terminar de selecionar funções de servidor.

8. Em Recursos, aceite os padrões e escolha Next.9. Em AD CS, faça o seguinte:

a. Escolha Next.b. Selecione Certification Authority e escolha Next.

10. Em Confirmation, leia as informações de confirmação e escolha Install. Não feche a janela.11. Escolha o link destacado Configurar Active Directory Certificate Services no servidor de destino.12. Em Credentials, verifique ou altere as credenciais exibidas. Em seguida, escolha Avançar.13. Em Role Services, selecione Certification Authority. Em seguida, escolha Avançar.14. Em Setup Type, selecione Standalone CA. Em seguida, escolha Avançar.15. Em CA Type, selecione Root CA. Em seguida, escolha Avançar.

Note

Você pode optar por criar uma CA raiz ou uma CA subordinada com base no design da suainfraestrutura de chave pública e nas políticas de segurança da sua organização. Este tutorialexplica como criar uma CA raiz para simplificar.

16. Em Private Key, selecione Create a new private key. Em seguida, escolha Avançar.17. Em Cryptography, faça o seguinte:

a. Em Select a cryptographic provider, escolha uma das opções de Cavium Key Storage Provider nomenu. Esses são os provedores de armazenamento de chaves do AWS CloudHSM. Por exemplo,você pode escolher RSA#Cavium Key Storage Provider.

b. Em Key length, escolha uma das opções de tamanho de chave.c. Em Select the hash algorithm for signing certificates issued by this CA, escolha uma das opções

de algoritmo hash.

Escolha Next.18. Em CA Name, faça o seguinte:

a. (Opcional) Edite o nome comum.b. (Opcional) Digite um sufixo de nome distinto.

Escolha Next.19. Em Validity Period, especifique um período em anos, meses, semanas ou dias. Em seguida, escolha

Avançar.20. Em Certificate Database, aceite os valores padrão ou, se desejar, altere o local do banco de dados e

do log do banco de dados. Em seguida, escolha Avançar.21. Em Confirmation, analise as informações sobre a CA e escolha Configure.22. Escolha Close e, em seguida, escolha Close novamente.

Agora você tem uma CA do Windows Server com o AWS CloudHSM. Para saber como assinar umasolicitação de assinatura de certificado (CSR) com a CA, vá para Assine uma CSR (p. 326).

325

Page 332: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAssine uma CSR

Etapa 3 da CA do Windows Server: Assine umasolicitação de assinatura de certificado (CSR) com aCA do Windows Server com o AWS CloudHSMVocê pode usar a CA do Windows Server com o AWS CloudHSM para assinar uma solicitação deassinatura de certificado (CSR). Para concluir estas etapas, você precisa de uma CSR válida. Você podecriar uma CSR de várias formas:

• Usando o OpenSSL• Usando o Gerenciador do Serviços de Informações da Internet (IIS) do Windows Server• Usando o snap-in de certificados no Microsoft Management Console• Usando o utilitário de linha de comando certreq no Windows

As etapas de criação de uma CSR estão fora do escopo deste tutorial. Quando você tiver uma CSR,poderá assiná-lo com a CA do Windows Server.

Para assinar uma CSR com a CA do Windows Server

1. Se você ainda não tiver feito isso, conecte-se ao Windows Server. Para obter mais informações,consulte o tópico Conecte-se à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. No Windows Server, inicie o Server Manager.3. No painel Server Manager, no canto superior direito, escolha Tools, Certification Authority.4. Na janela Autoridade de Certificação, escolha o nome do computador.5. No menu Action, escolha All Tasks, Submit new request.6. Selecione o arquivo CSR e escolha Open.7. Na janela Certification Authority, clique duas vezes em Pending Requests.8. Selecione a solicitação pendente. No menu Action, escolha All Tasks, Issue.9. Na janela Certification Authority, clique duas vezes em Issued Requests para visualizar o certificado

assinado.10. (Opcional) Para exportar o certificado assinado para um arquivo, execute as seguintes etapas:

a. Na janela Certification Authority, clique duas vezes no certificado.b. Escolha a guia Details e escolha Copy to File.c. Siga as instruções no Certificate Export Wizard.

Agora, você tem uma CA do Windows com o AWS CloudHSM e um certificado válido assinado pela CA doWindows Server.

Oracle Database Transparent Data Encryption(TDE) com o AWS CloudHSM

Algumas versões do software de banco de dados da Oracle oferecem um recurso chamado Criptografiade dados transparente (TDE). Com o TDE, o software de banco de dados criptografa os dados antesde armazená-los no disco. Os dados nas colunas ou tablespaces da tabela do banco de dados sãocriptografados com uma chave de tabela ou chave de tablespace. Essas chaves são criptografadas com a

326

Page 333: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfigurar pré-requisitos

chave mestre de criptografia TDE. Você pode armazenar a chave de criptografia mestre TDE nos HSMs nocluster do AWS CloudHSM, que oferece segurança adicional.

Nesta solução, você usa o Oracle Database instalado em uma instância do Amazon EC2. O OracleDatabase se integra à Biblioteca de software AWS CloudHSM para PKCS #11 (p. 226) para armazenar achave-mestra do TDE nos HSMs do seu cluster.

Important

Você não pode usar uma instância do Oracle no Amazon Relational Database Service (AmazonRDS) para integração com o AWS CloudHSM. Você deve instalar o Oracle Database em umainstância do Amazon EC2.

Complete as seguintes etapas para realizar a integração do Oracle TDE com o AWS CloudHSM.

Para configurar a integração do Oracle TDE com o AWS CloudHSM

1. Siga as etapas em Configurar pré-requisitos (p. 327) para preparar o ambiente.2. Siga as etapas em Configurar o banco de dados (p. 328) para configurar o Oracle Database para

integrar-se com seu cluster do AWS CloudHSM.

Oracle TDE com AWS CloudHSM: Configurar os pré-requisitosPara realizar a integração do Oracle TDE com o AWS CloudHSM, você precisa do seguinte:

327

Page 334: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfigurar o banco de dados

• Um cluster do AWS CloudHSM ativo com pelo menos um HSM.• Uma instância do Amazon EC2 executando um sistema operacional Amazon Linux com o seguinte

software instalado:• O cliente AWS CloudHSM e as ferramentas da linha de comando.• A biblioteca de software do AWS CloudHSM para PKCS #11.• Oracle Database. AWS CloudHSM oferece suporte para integração do Oracle TDE com o Oracle

Database versões 11 e 12.• Um usuário de criptografia (CU) para possuir e gerenciar a chave de criptografia mestre do TDE nos

HSMs no seu cluster.

Conclua as seguintes etapas para configurar todos os pré-requisitos.

Para configurar os pré-requisitos para a integração do Oracle TDE com o AWS CloudHSM

1. Siga as etapas em Conceitos básicos (p. 16). Depois de fazer isso, você terá um cluster ativo com umHSM. Você também terá uma instância do Amazon EC2 executando o sistema operacional AmazonLinux. O cliente do AWS CloudHSM e as ferramentas da linha de comando também serão instalados econfigurados.

2. (Opcional) Adicione mais HSMs ao seu cluster. Para obter mais informações, consulte Adicionar umHSM (p. 42).

3. Conecte-se à sua instância de cliente Amazon EC2 e faça o seguinte:

a. Instale a biblioteca de software do AWS CloudHSM para PKCS #11 (p. 226).b. Instale o Oracle Database. Para obter mais informações, consulte a documentação do Oracle

Database. O AWS CloudHSM oferece suporte para integração do Oracle TDE com o OracleDatabase versões 11 e 12.

c. Inicie o cliente AWS CloudHSM (p. 86).d. Atualize o arquivo de configuração para a ferramenta da linha de comando

cloudhsm_mgmt_util (p. 87).e. Use a ferramenta da linha de comando cloudhsm_mgmt_util para criar um usuário de criptografia

(CU) no seu cluster. Para obter mais informações, consulte Gerenciamento de usuários deHSM (p. 53).

Depois de concluir essas etapas, você poderá Configurar o banco de dados (p. 328).

Oracle TDE com AWS CloudHSM: Configurar o bancode dados e gerar a chave de criptografia mestraPara integrar o Oracle TDE com o seu cluster do AWS CloudHSM, consulte os tópicos a seguir:

1. Atualizar a configuração do Oracle Database (p. 329) para usar os HSMs no seu cluster como omódulo de segurança externo. Para obter informações sobre módulos de segurança externos, consulteo tópico de Introdução ao Transparent Data Encryption no Oracle Database Advanced Security Guide.

2. Gerar a chave de criptografia mestra do Oracle TDE (p. 329) nos HSMs no seu cluster.

Tópicos• Atualizar a configuração do Oracle Database (p. 329)• Gerar a chave de criptografia mestra do Oracle TDE (p. 329)

328

Page 335: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfigurar o banco de dados

Atualizar a configuração do Oracle DatabasePara atualizar a configuração do Oracle Database para usar um HSM no cluster como o módulo desegurança externa, conclua as etapas a seguir. Para obter informações sobre módulos de segurançaexternos, consulte o tópico de Introdução ao Transparent Data Encryption no Oracle Database AdvancedSecurity Guide.

Para atualizar a configuração Oracle

1. Conecte-se à instância do cliente Amazon EC2. Esta é a instância na qual você instalou o OracleDatabase.

2. Faça uma cópia de backup do arquivo chamado sqlnet.ora. Para a localização deste arquivo,consulte a documentação da Oracle.

3. Use um editor de texto para editar o arquivo chamado sqlnet.ora. Adicione a seguinte linha. Seuma linha existente no arquivo começar com encryption_wallet_location, substitua-a pelaseguinte.

encryption_wallet_location=(source=(method=hsm))

Salve o arquivo.4. Execute o seguinte comando para criar o diretório no qual o Oracle Database espera encontrar o

arquivo da biblioteca de software PKCS #11 do AWS CloudHSM.

sudo mkdir -p /opt/oracle/extapi/64/hsm

5. Execute o comando a seguir para copiar a biblioteca de software do AWS CloudHSM do arquivoPKCS #11 no diretório que você criou na etapa anterior.

sudo cp /opt/cloudhsm/lib/libcloudhsm_pkcs11.so /opt/oracle/extapi/64/hsm/

Note

O diretório /opt/oracle/extapi/64/hsm deve conter apenas um arquivo de biblioteca.Remova qualquer outro arquivo existente nesse diretório.

6. Execute o seguinte comando para alterar a propriedade do diretório /opt/oracle e tudo dentro dele.

sudo chown -R oracle:dba /opt/oracle

7. Inicie o Oracle Database.

Gerar a chave de criptografia mestra do Oracle TDEPara gerar a chave-mestra do Oracle TDE nos HSMs do seu cluster, conclua as etapas no procedimento aseguir.

Para gerar a chave-mestra

1. Use o comando a seguir para abrir o Oracle SQL*Plus e definir a variável de ambienteCLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE. Quando solicitado, digite a senha do sistema quevocê definiu quando instalou o Oracle Database.

CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE=true sqlplus / as sysdba

329

Page 336: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConfigurar o banco de dados

Note

É necessário definir a variável de ambiente CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSEsempre que você gerar uma chave mestra. Essa variável é necessária apenas para ageração de chave mestra. Para obter mais informações, consulte "Problema: Oracle defineo atributo PCKS #11 CKA_MODIFIABLE durante a geração da chave mestra, mas o HSMnão oferece suporte a ele" em Problemas conhecidos para integração de aplicativos deterceiros (p. 376).

2. Execute a instrução SQL que cria a chave de criptografia principal, conforme mostrado nos exemplosa seguir. Use a instrução que corresponda à sua versão do Oracle Database. Substitua <CU username> pelo nome do usuário de criptografia (CU). Substitua <password> pela senha CU.

Important

Execute o seguinte comando apenas uma vez. Cada vez que o comando é executado, elecria uma nova chave de criptografia mestra.

• Para o Oracle Database versão 11, execute a seguinte instrução SQL.

SQL> alter system set encryption key identified by "<CU user name>:<password>";

• Para o Oracle Database versão 12, execute a seguinte instrução SQL.

SQL> administer key management set key identified by "<CU user name>:<password>";

Se a resposta for System altered ou keystore altered, você gerou e definiu com êxito achave-mestra do Oracle TDE.

3. (Opcional) Execute o seguinte comando para verificar o status da Oracle wallet.

SQL> select * from v$encryption_wallet;

Se a carteira não estiver aberta, use um dos seguintes comandos para abri-lo. Substitua <CU username> pelo nome do usuário de criptografia (CU). Substitua <password> pela senha CU.• Para o Oracle 11, execute o seguinte comando para abrir a wallet.

SQL> alter system set encryption wallet open identified by "<CU user name>:<password>";

Para fechar manualmente a carteira, execute o seguinte comando.

SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";

• Para o Oracle 12, execute o seguinte comando para abrir a wallet.

SQL> administer key management set keystore open identified by "<CU user name>:<password>";

Para fechar manualmente a carteira, execute o seguinte comando.

SQL> administer key management set keystore close identified by "<CU user name>:<password>";

330

Page 337: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMicrosoft SignTool

Usar a Microsoft SignTool com oAWS CloudHSMpara assinar arquivos

Em criptografia e na infraestrutura de chave pública (PKI), as assinaturas digitais são usadas paraconfirmar que os dados foram enviados por uma entidade confiável. As assinaturas também indicam queos dados não foram alterados em trânsito. Uma assinatura é um hash criptografado que é gerado coma chave privada do remetente. O destinatário pode verificar a integridade dos dados descriptografandosua assinatura de hash com a chave pública do remetente. Por outro lado, o remetente é responsávelpor manter um certificado digital. O certificado digital demonstra a propriedade da chave privada doremetente e fornece ao destinatário a chave pública que é necessária para a descriptografia. Desde que achave privada seja de propriedade do remetente, a assinatura será confiável. O AWS CloudHSM fornecehardware seguro validado pelo FIPS 140-2 nível 3 para você proteger essas chaves com acesso exclusivode um único locatário.

Muitas organizações usam a Microsoft SignTool, uma ferramenta de linha de comando que assina, verificae carimba data e hora dos arquivos para simplificar o processo de assinatura de código. Você pode usaro AWS CloudHSM para armazenar com segurança os pares de chaves até que sejam necessários pelaSignTool, criando dessa forma um fluxo de trabalho que pode ser automatizado para assinatura de dados.

Os tópicos a seguir fornecem uma visão geral de como usar a SignTool com o AWS CloudHSM:

Tópicos• Etapa 1 da Microsoft SignTool com AWS CloudHSM: Configurar os pré-requisitos (p. 331)• Etapa 2 da Microsoft SignTool com AWS CloudHSM: Criar um certificado de assinatura (p. 332)• Etapa 3 da Microsoft SignTool com o AWS CloudHSM: Assinar um arquivo (p. 333)

Etapa 1 da Microsoft SignTool com AWS CloudHSM:Configurar os pré-requisitosPara usar a Microsoft SignTool com o AWS CloudHSM, você precisa de:

• Uma instância de cliente do Amazon EC2 em execução em um sistema operacional Windows.• Uma autoridade de certificação (CA), auto-mantida ou estabelecida por um provedor de terceiros.• Um cluster ativo do AWS CloudHSM na mesma nuvem pública virtual (VPC) como sua instância do EC2.

O cluster deve conter pelo menos um HSM.• Um usuário de criptografia (CU) para possuir e gerenciar chaves no cluster do AWS CloudHSM.• Um arquivo não assinado ou executável.• O Kit de desenvolvimento de software (SDK) do Microsoft Windows.

Para configurar os pré-requisitos para usarem o AWS CloudHSM com a Windows SignTool

1. Siga as instruções na seção Conceitos básicos (p. 16) deste guia para executar uma instância do EC2do Windows e um cluster do AWS CloudHSM.

2. Se você quiser hospedar seu próprio CA do Windows Server, siga as etapas 1 e 2 em Configuraçãodo Windows Server como uma autoridade de certificação com o AWS CloudHSM (p. 323). Casocontrário, continue a usar sua CA terceirizada confiável publicamente.

3. Faça download e instale uma das seguintes versões do SDK do Microsoft Windows em sua instânciado EC2 do Windows:

• SDK 10 do Microsoft Windows

331

Page 338: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEtapa 2 da Microsoft SignTool com AWS

CloudHSM: Criar um certificado de assinatura

• SDK 8.1 do Microsoft Windows• SDK 7 do Microsoft Windows

O executável SignTool faz parte do recurso de instalação das Ferramentas de assinatura do SDK doWindows para aplicativos de área de trabalho. Você pode omitir a outros recursos a serem instaladosse não forem necessários. O local de instalação padrão é:

C:\Program Files (x86)\Windows Kits\<SDK version>\bin\<version number>\<CPU architecture>\signtool.exe

Agora você pode usar o SDK do Microsoft Windows, o cluster do AWS CloudHSM e a CA para Criar umcertificado de assinatura (p. 332).

Etapa 2 da Microsoft SignTool com AWS CloudHSM:Criar um certificado de assinaturaAgora que você fez download do SDK do Windows para sua instância do EC2, você pode usá-lo paragerar uma solicitação de assinatura de certificado (CSR). A CSR é um certificado não assinado passadopara a CA para assinatura. Neste exemplo, usamos o executável certreq incluído com o Windows SDKpara gerar a CSR.

Para gerar uma CSR usando o executável certreq

1. Se ainda não tiver feito isso, conecte-se à instância do EC2 do Windows. Para obter maisinformações, consulte Conexão à sua instância no Guia do usuário do Amazon EC2 para instâncias doWindows.

2. Crie um arquivo chamado request.inf que contenha as linhas a seguir. Substitua as informaçõesde Subject com as de sua organização. Para obter uma explicação de cada parâmetro, consulte aDocumentação da Microsoft.

[Version]Signature= $Windows NT$[NewRequest]Subject = "C=<Country>,CN=<www.website.com>,\ O=<Organization>,OU=<Organizational-Unit>,\ L=<City>,S=<State>"RequestType=PKCS10HashAlgorithm = SHA256KeyAlgorithm = RSAKeyLength = 2048ProviderName = Cavium Key Storage ProviderKeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE"MachineKeySet = TrueExportable = False

3. Execute certreq.exe. Para este exemplo, salve a CSR como request.csr.

certreq.exe -new request.inf request.csr

Internamente, um novo par de chaves é gerado em seu cluster do AWS CloudHSM, e a chave privadado par é usada para criar a CSR.

4. Envie a CSR à sua CA. Se estiver usando uma CA do Windows Server, siga estas etapas:

a. Digite o seguinte comando para abrir a ferramenta CA:

332

Page 339: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEtapa 3 da Microsoft SignTool com oAWS CloudHSM: Assinar um arquivo

certsrv.msc

b. Na nova janela, clique com o botão direito do mouse no nome do servidor da CA. Escolha AllTasks (Todas as tarefas) e depois escolha Submit new request (Enviar nova solicitação).

c. Navegue até o local do request.csre escolha Open (Abrir).d. Navegue até a pasta Pending Requests (Solicitações pendentes) expandindo o menu Server CA

(CA do servidor). Clique com o botão direito do mouse na solicitação que você acabou de criar e,em All Tasks (Todas as tarefas), escolha Issue (Problema).

e. Agora, navegue até a pasta Issued Certificates (Certificados emitidos) (acima da pasta PendingRequests (Solicitações pendentes)).

f. Escolha Open (Abrir) para visualizar o certificado e depois escolha a guia Details (Detalhes).g. Escolha Copy to File (Copiar no arquivo) para iniciar o Certificate Export Wizard (Assistente

de exportação da CA). Salve o arquivo X.509 codificado por DER em um local seguro comosignedCertificate.cer.

h. Saia da ferramenta CA e use o comando a seguir, que move o arquivo do certificado para oarmazenamento de certificados pessoais no Windows. Ele pode então ser usado por outrosaplicativos.

certreq.exe -accept signedCertificate.cer

Agora, você pode usar o certificado importado para Assinar um arquivo (p. 333).

Etapa 3 da Microsoft SignTool com o AWS CloudHSM:Assinar um arquivoAgora você está pronto para usar a SignTool e seu certificado importado para assinar o arquivo deexemplo. Para fazer isso, você precisa saber o hash SHA-1 do certificado ou a impressão digital. Aimpressão digital é usada para garantir que apenas a SignTool use certificados que são verificados peloAWS CloudHSM. Neste exemplo, usamos o PowerShell para obter o hash do certificado. Você tambémpode usar a GUI da CA ou o executável certutil do SDK do Windows.

Para obter uma impressão digital do certificado e usá-lo para assinar um arquivo

1. Abra o PowerShell como um administrador e execute o seguinte comando:

Get-ChildItem -path cert:\LocalMachine\My

Copie a Thumbprint que é retornada.

2. Navegue até o diretório no PowerShell que contém o SignTool.exe. O local padrão é C:\ProgramFiles (x86)\Windows Kits\10\bin\10.0.17763.0\x64.

333

Page 340: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioOutras integrações de fornecedores terceiros

3. Finalmente, assine seu arquivo executando o comando a seguir. Se o comando for bem-sucedido, oPowerShell retornará uma mensagem de êxito.

signtool.exe sign /v /fd sha256 /sha1 <thumbprint> /sm /as C:\Users\Administrator\Desktop\<test>.ps1

4. (Opcional) Para verificar a assinatura no arquivo, use o seguinte comando:

signtool.exe verify /v /pa C:\Users\Administrator\Desktop\<test>.ps1

Outras integrações de fornecedores terceirosVários fornecedores terceiros oferecem suporte ao AWS CloudHSM como raiz da confiança. Assim, vocêpode utilizar a solução de software da sua preferência para criar e armazenar chaves subjacentes no seucluster do CloudHSM. Como resultado, sua carga de trabalho na AWS pode usufruir dos benefícios delatência, disponibilidade, confiabilidade e elasticidade do CloudHSM. A lista a seguir inclui fornecedoresterceiros que oferecem suporte ao CloudHSM.

Note

A AWS não endossa e não se responsabiliza por qualquer fornecedor terceiro.

• A Hashicorp Vault é uma ferramenta de gerenciamento de segredos criada para permitir a colaboraçãoe a governança entre organizações. Ela oferece suporte ao AWS Key Management Service e ao AWSCloudHSM como raízes de confiança para proteção adicional.

• O Thycotic Secrets Server ajuda os clientes a gerenciar credenciais confidenciais para contas com baseem privilégios. Ele oferece suporte ao AWS CloudHSM como raiz da confiança.

• O adaptador KMIP do P6R permite utilizar suas instâncias do AWS CloudHSM por meio de umainterface KMIP padrão.

• O PrimeKey EJBCA é uma solução conhecida de código aberto para PKI. Ele permite criar e armazenarpares de chaves em segurança com o AWS CloudHSM.

• O Box KeySafe fornece gerenciamento de chaves de criptografia de conteúdo na nuvem para váriasorganizações que têm requisitos rigorosos de segurança, de privacidade e de conformidade regulatória.Os clientes podem proteger ainda mais as chaves KeySafe diretamente no AWS Key ManagementService ou indiretamente no AWS CloudHSM por meio do Custom Key Store do AWS KMS.

• A Gemalto KeySecure é uma plataforma de gerenciamento centralizado de chaves e oferece suporte aoAWS CloudHSM como raiz da confiança.

• A Vormetric Data Security Platform permite tokenização, criptografia e gerenciamento de chaves, eoferece suporte ao AWS CloudHSM como raiz da confiança.

• O Insyde Software oferece suporte ao AWS CloudHSM como raiz de confiança para assinatura defirmware.

• O F5 BIG-IP LTM oferece suporte ao AWS CloudHSM como raiz da confiança.

334

Page 341: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioOutras integrações de fornecedores terceiros

• O Cloudera Navigator Key HSM permite usar seu cluster do CloudHSM para criar e armazenar chavespara o Cloudera Navigator Key Trustee Server.

335

Page 342: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioObter logs de cliente

Monitorar logs do AWS CloudHSMO AWS CloudHSM está integrado aos serviços AWS a seguir para fornecer tipos de logs diferentes.

Logs do AWS CloudTrail para API

AWS CloudHSM está integrado ao AWS CloudTrail, um serviço que registra todas as chamadas deAPI do AWS CloudHSM na conta do AWS. O CloudTrail registra essas chamadas em arquivos delog entregues em um bucket do Amazon Simple Storage Service (Amazon S3) de sua escolha. Porexemplo, ao criar e excluir clusters do AWS CloudHSM, criar e excluir HSMs em um cluster, marcar osrecursos do AWS CloudHSM, entre outros, as chamadas da API correspondentes são registradas emarquivos de registro do CloudTrail.

Logs de auditoria do Amazon CloudWatch Logs para HSM

O AWS CloudHSM envia os logs de auditoria registrados por instâncias para o HSM AmazonCloudWatch Logs, um serviço que armazena, organiza e exibe dados de log de várias fontes. Porexemplo, ao criar e excluir usuários do HSM, alterar senhas de usuário, criar e excluir chaves e muitomais, esses eventos são coletados e armazenados no CloudWatch Logs.

Para obter mais informações, consulte os tópicos a seguir.

Tópicos• Obter logs de cliente AWS CloudHSM (p. 336)• Registro em log de chamadas à API do AWS CloudHSM com o AWS CloudTrail (p. 337)• Monitorar logs de auditoria do AWS CloudHSM no Amazon CloudWatch Logs (p. 339)

Obter logs de cliente AWS CloudHSMVocê pode recuperar os logs gerados pelo cliente do AWS CloudHSM. Esses logs contêm informaçõesdetalhadas do daemon do cliente do AWS CloudHSM. A localização dos logs depende do sistemaoperacional da instância do cliente do Amazon EC2 em que você executa o cliente do AWS CloudHSM.

Amazon Linux

Em Amazon Linux, the AWS CloudHSM client logs are written to the file named /opt/cloudhsm/run/cloudhsm_client.log. You can use logrotate or a similar tool to rotate and manage theselogs.

Amazon Linux 2

Em Amazon Linux 2, the AWS CloudHSM Client logs are collected and stored in the journal. You canuse journalctl to view and manage these logs. For example, use the following command to view theAWS CloudHSM Client logs.

journalctl -f -u cloudhsm-client

CentOS 6

No CentOS 6, the AWS CloudHSM client logs are written to the file named /opt/cloudhsm/run/cloudhsm_client.log. You can use logrotate or a similar tool to rotate and manage these logs.

336

Page 343: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRegistro em log de chamadas à API doAWS CloudHSM com o AWS CloudTrail

CentOS 7

No CentOS 7, the AWS CloudHSM Client logs are collected and stored in the journal. You can usejournalctl to view and manage these logs. For example, use the following command to view the AWSCloudHSM Client logs.

journalctl -f -u cloudhsm-client

RHEL 6

No Red Hat Enterprise Linux 6, the AWS CloudHSM client logs are written to the file named /opt/cloudhsm/run/cloudhsm_client.log. You can use logrotate or a similar tool to rotate andmanage these logs.

RHEL 7

No Red Hat Enterprise Linux 7, the AWS CloudHSM Client logs are collected and stored in the journal.You can use journalctl to view and manage these logs. For example, use the following command toview the AWS CloudHSM Client logs.

journalctl -f -u cloudhsm-client

Ubuntu 16.04

No Ubuntu, the AWS CloudHSM Client logs are collected and stored in the journal. You can usejournalctl to view and manage these logs. For example, use the following command to view the AWSCloudHSM Client logs.

journalctl -f -u cloudhsm-client

Windows

• Para clientes Windows 1.1.2+:

Os logs do cliente AWS CloudHSM são gravados em um arquivo cloudhsm.log na pasta dearquivos do programa AWS CloudHSM (C:\Program Files\Amazon\CloudHSM\). Cada nomede arquivo de log é sufixado com um registro de data e hora indicando quando o cliente AWSCloudHSM foi iniciado.

• Para o cliente Windows 1.1.1 e anterior:

Os logs do cliente não são gravados em um arquivo. Os logs são exibidos no prompt de comandoou em uma janela do PowerShell em que você iniciou o cliente do AWS CloudHSM.

Registro em log de chamadas à API do AWSCloudHSM com o AWS CloudTrail

O AWS CloudHSM é integrado ao AWS CloudTrail, um serviço que fornece um registro das açõesexecutadas por um usuário, uma função ou um serviço da AWS no AWS CloudHSM. O CloudTrail capturatodas as chamadas de API para o AWS CloudHSM como eventos. As chamadas capturadas incluem aschamadas do console do AWS CloudHSM e as chamadas de código para as operações da API do AWSCloudHSM. Se você criar uma trilha, poderá habilitar a entrega contínua de eventos do CloudTrail a umbucket do Amazon S3, incluindo eventos para o AWS CloudHSM. Se não configurar uma trilha, vocêainda poderá visualizar os eventos mais recentes no console do CloudTrail em Event history. Com as

337

Page 344: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInformações do AWS CloudHSM no CloudTrail

informações coletadas pelo CloudTrail, determine a solicitação feita para o AWS CloudHSM, o endereço IPdo qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para saber mais sobre CloudTrail, consulte o AWS CloudTrail User Guide. Para conferir uma lista completade operações da API do AWS CloudHSM, consulte Ações na Referência da API do AWS CloudHSM.

Informações do AWS CloudHSM no CloudTrailO CloudTrail está habilitado na sua conta da AWS ao criá-la. Quando ocorre uma atividade no AWSCloudHSM, ela é registrada em um evento do CloudTrail junto com outros eventos de serviços da AWSem Event history (Histórico de eventos). Você pode visualizar, pesquisar e fazer download de eventosrecentes em sua conta da AWS. Para obter mais informações, consulte Visualizar eventos com o históricode eventos do CloudTrail.

Para obter um registro contínuo de eventos em sua conta da AWS, incluindo eventos do AWS CloudHSM,crie uma trilha. Uma trilha permite CloudTrail para fornecer arquivos de log a um bucket do Amazon S3.Por padrão, quando você cria uma trilha no console, ela é aplicada a todas as regiões da AWS. A trilharegistra eventos de todas as regiões na partição da AWS e fornece os arquivos de log para o bucket doAmazon S3 que você especificar. Além disso, é possível configurar outros serviços da AWS para analisarmais profundamente e agir sobre os dados de evento coletados nos logs do CloudTrail. Para obter maisinformações, consulte:

• Visão geral da criação de uma trilha• CloudTrail Serviços compatíveis e integrações do• Configuração de notificações do Amazon SNS para o CloudTrail• Recebimento de arquivos de log do CloudTrail de várias regiões e Recebimento de arquivos de log do

CloudTrail de várias contas

CloudTrail registra todas as operações AWS CloudHSM, incluindo as operações somente leitura, comoDescribeClusters e ListTags, e operações de gerenciamento, como InitializeCluster,CreatHsm e DeleteBackup.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações deidentidade ajudam a determinar:

• Se a solicitação foi feita com credenciais de usuário da raiz ou do AWS Identity and Access Management(IAM).

• Se a solicitação foi feita com credenciais de segurança temporárias de uma função ou de um usuáriofederado.

• Se a solicitação foi feita por outro serviço da AWS.

Para obter mais informações, consulte Elemento userIdentity do CloudTrail.

Noções básicas das entradas dos arquivos de log doAWS CloudHSMUma trilha é uma configuração que permite a entrega de eventos como arquivos de log em um bucketdo Amazon S3 que você especificar. Os arquivos de log do CloudTrail contêm uma ou mais entradasde log. Um evento representa uma única solicitação de qualquer origem e inclui informações sobre aação solicitada, a data e hora da ação, parâmetros de solicitação, e assim por diante. arquivos de log doCloudTrail não são um rastreamento de pilha ordenada das chamadas da API pública. Assim, elas não sãoexibidas em nenhuma ordem específica.

338

Page 345: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioMonitorar logs de auditoria

O exemplo a seguir mostra uma entrada de log do CloudTrail que demonstra a ação AWS CloudHSMCreateHsm.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AROAJZVM5NEGZSTCITAMM:ExampleSession", "arn": "arn:aws:sts::111122223333:assumed-role/AdminRole/ExampleSession", "accountId": "111122223333", "accessKeyId": "ASIAIY22AX6VRYNBGJSA", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2017-07-11T03:48:44Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROAJZVM5NEGZSTCITAMM", "arn": "arn:aws:iam::111122223333:role/AdminRole", "accountId": "111122223333", "userName": "AdminRole" } } }, "eventTime": "2017-07-11T03:50:45Z", "eventSource": "cloudhsm.amazonaws.com", "eventName": "CreateHsm", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.179", "userAgent": "aws-internal/3", "requestParameters": { "availabilityZone": "us-west-2b", "clusterId": "cluster-fw7mh6mayb5" }, "responseElements": { "hsm": { "eniId": "eni-65338b5a", "clusterId": "cluster-fw7mh6mayb5", "state": "CREATE_IN_PROGRESS", "eniIp": "10.0.2.7", "hsmId": "hsm-6lz2hfmnzbx", "subnetId": "subnet-02c28c4b", "availabilityZone": "us-west-2b" } }, "requestID": "1dae0370-65ec-11e7-a770-6578d63de907", "eventID": "b73a5617-8508-4c3d-900d-aa8ac9b31d08", "eventType": "AwsApiCall", "recipientAccountId": "111122223333"}

Monitorar logs de auditoria do AWS CloudHSM noAmazon CloudWatch Logs

Quando um HSM na conta recebe um comando das ferramentas da AWS CloudHSM linha decomando (p. 83) ou das bibliotecas de software (p. 226), ele registra a execução do comando no formuláriode log de auditoria. Os logs de auditoria do HSM incluem todos os comandos de gerenciamento (p. 354)iniciados pelo cliente, inclusive os que criam e excluem o HSM, fazem login e logout do HSM e gerenciam

339

Page 346: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioComo funciona o registro em log de auditoria

usuários e chaves. Esses logs fornecem um registro confiável de ações que foram alterados no estado doHSM.

O AWS CloudHSM coleta os logs de auditoria do HSM e os envia para Amazon CloudWatch Logs emseu nome. Você pode usar os recursos do CloudWatch Logs para gerenciar os logs de auditoria do AWSCloudHSM, incluindo pesquisar e filtrar os logs e exportar dados de log para o Amazon S3. Você podetrabalhar com os logs de auditoria do HSM no console do Amazon CloudWatch ou usar os comandosCloudWatch Logs nos SDKs AWS CLI e CloudWatch Logs.

Tópicos• Como funciona o registro em log de auditoria (p. 340)• Visualizar logs de auditoria em CloudWatch Logs (p. 340)• Interpretar logs de auditoria do HSM (p. 343)• Referência do log de auditoria (p. 354)

Como funciona o registro em log de auditoriaO log de auditoria é automaticamente habilitado em todos os clusters do AWS CloudHSM. Ele não podeser desabilitado ou desativado e não pode impedir AWS CloudHSM de exportar os logs para CloudWatchLogs. Cada evento de log tem um time stamp e um número sequencial que indicam a ordem dos eventos eajudam a detectar qualquer violação de logs.

Cada instância do HSM gera seu próprio log. Os logs de auditoria de vários HSMs, mesmo aqueles nomesmo cluster, podem ser diferentes. Por exemplo, apenas o primeiro HSM em cada cluster registraa inicialização do HSM. Os eventos de inicialização não são exibidos nos logs de HSMs clonados debackups. Da mesma forma, quando você cria uma chave, o HSM que gera a chave registra um eventode geração de chave. Os outros HSMs no cluster registram um evento quando eles recebem a chave pormeio da sincronização.

AWS CloudHSM coleta os logs e os publica no CloudWatch Logs em sua conta. Para se comunicarcom o serviço CloudWatch Logs em seu nome, o AWS CloudHSM usa uma função vinculada aoserviço (p. 362). A política IAM associada à função permite que o AWS CloudHSM execute apenas astarefas necessárias para enviar os logs de auditoria para CloudWatch Logs.

Important

Se tiver criado um cluster antes de 20 de janeiro de 2018 e ainda não tiver criado uma funçãovinculada ao serviço, você deverá criar uma manualmente. Isso é necessário para queCloudWatch receba logs de auditoria do cluster do AWS CloudHSM. Para obter mais informaçõessobre a criação da função vinculada ao serviço, consulte Noções básicas das funções vinculadasao serviço (p. 362), bem como Criar uma função vinculada ao serviço no Guia do usuário doIAM.

Visualizar logs de auditoria em CloudWatch LogsO Amazon CloudWatch Logs organiza os logs de auditoria em grupos de logs e, dentro de um grupode logs, em fluxos de logs. Cada entrada do log é um evento. O AWS CloudHSM cria um grupo de logspara cada cluster e um fluxo de logs para cada HSM no cluster. Você não precisa criar componentesCloudWatch Logs ou alterar configurações.

• O nome do grupo de logs é /aws/cloudhsm/<cluster ID>; por exemplo, /aws/cloudhsm/cluster-likphkxygsn. Quando você usa o nome do grupo de logs em um AWS CLI ou um comandodo PowerShell, não se esqueça de colocá-lo entre aspas duplas.

• O nome do fluxo de logs é o ID do HSM; por exemplo, hsm-nwbbiqbj4jk.

340

Page 347: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVisualizar logs de auditoria em CloudWatch Logs

Em geral, há um fluxo de logs para cada HSM. No entanto, qualquer ação que altera o ID do HSM, comoquando um HSM falha e é substituída, cria um novo fluxo de logs.

Para obter mais informações sobre os conceitos do CloudWatch Logs, consulte Conceitos no AmazonCloudWatch Logs User Guide.

Visualize os logs de auditoria de um HSM da página CloudWatch Logs no Console de gerenciamentoda AWS, os comandos do CloudWatch Logs no AWS CLI, os cmdlets CloudWatch Logs do PowerShell,ou os SDKs do CloudWatch Logs. Para obter instruções, consulte Visualizar dados do log no AmazonCloudWatch Logs User Guide.

Por exemplo, a imagem a seguir mostra o grupo de logs do cluster do cluster-likphkxygsn noConsole de gerenciamento da AWS.

Ao escolher o nome do grupo de logs do cluster, você pode visualizar o fluxo de logs de cada um dosHSMs no cluster. A imagem a seguir mostra os fluxos de logs dos HSMs no cluster do cluster-likphkxygsn.

Ao escolher um nome do fluxo de logs do HSM, você pode visualizar os eventos no log de auditoria. Porexemplo, este evento, que tem um número de sequência de 0x0 e um Opcode de CN_INIT_TOKEN,geralmente é o primeiro evento do primeiro HSM em cada cluster. Ele registra a inicialização do HSM nocluster.

341

Page 348: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVisualizar logs de auditoria em CloudWatch Logs

Use todos os muitos recursos no CloudWatch Logs para gerenciar os logs de auditoria. Por exemplo,você pode usar o recurso Filtrar eventos para encontrar um texto em especial em um evento, como oCN_CREATE_USER Opcode.

Para encontrar todos os eventos que não incluam o texto especificado, adicione um sinal de subtração(-) antes do texto. Por exemplo, para encontrar eventos que não incluam CN_CREATE_USER, digite -CN_CREATE_USER.

342

Page 349: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Interpretar logs de auditoria do HSMOs eventos nos logs de auditoria do HSM têm campos padrão. Alguns tipos de eventos têm camposadicionais que capturam informações úteis sobre o evento. Por exemplo, eventos de login de usuárioe gerenciamento de usuários incluem o nome de usuário e o tipo do usuário. Os comandos degerenciamento de chaves incluem o identificador de chaves.

Vários dos campos fornecem informações especialmente importantes. O Opcode identifica o comando degerenciamento que está sendo registrado. O Sequence No identifica um evento no fluxo de logs e indicaa ordem em que ele foi registrado.

Por exemplo, o evento de exemplo a seguir é o segundo evento (Sequence No: 0x1) no fluxo de logspara um HSM. Ele mostra o HSM gerando uma chave de criptografia da senha, que faz parte da rotina deinicialização.

Time: 12/19/17 21:01:17.140812, usecs:1513717277140812Sequence No : 0x1Reboot counter : 0xe8Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)Session Handle : 0x1004001Response : 0:HSM Return: SUCCESSLog type : MINIMAL_LOG_ENTRY (0)

Os campos a seguir são comuns para todos os eventos do AWS CloudHSM no log de auditoria.

343

Page 350: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Horário

A hora em que o evento ocorreu no fuso horário UTC. A hora é exibida como uma hora legível e horaUnix em microssegundos.

Contador de reinicializações

Um contador ordinal persistente de 32 bits incrementado quando o hardware do HSM é reinicializado.

Todos os eventos em um fluxo de logs têm o mesmo valor do contador de reinicializações. No entanto,o contador de reinicializações pode não ser exclusivo de um fluxo de logs, porque ele pode serdiferente em diferentes instâncias do HSM no mesmo cluster.

Número da sequência

Um contador ordinal de 64 bits incrementado para cada evento de log. O primeiro evento em cadafluxo de logs tem um número de sequência de 0x0. Não deve haver espaço nos valores de SequenceNo. O número de sequência só é exclusivo em um fluxo de logs.

Tipo de comando

Um valor hexadecimal que representa a categoria do comando. Comandos nos fluxos de logs do AWSCloudHSM têm um tipo de comando de CN_MGMT_CMD (0x0) ou CN_CERT_AUTH_CMD (0x9).

Opcode

Identifica o comando de gerenciamento executado. Para obter uma lista de valores de Opcode noslogs de auditoria do AWS CloudHSM, consulte Referência do log de auditoria (p. 354).

Identificador da sessão

Identifica a sessão em que o comando foi executado e o evento foi registrado.Resposta

Registra a resposta ao comando de gerenciamento. Você pode pesquisar os valores SUCCESS eERROR no campo Response.

Tipo de log

Indica o tipo de log do AWS CloudHSM que registrou o comando.• MINIMAL_LOG_ENTRY (0)

• MGMT_KEY_DETAILS_LOG (1)

• MGMT_USER_DETAILS_LOG (2)

• GENERIC_LOG

Exemplos de eventos de log de auditoriaOs eventos em um fluxo de logs registram o histórico do HSM da criação à exclusão. Você pode usar o logpara analisar o ciclo de vida dos HSMs e obter informações sobre a operação. Quando você interpretar oseventos, observe o Opcode, que indica o comando de gerenciamento ou ação, e o Sequence No, queindica a ordem dos eventos.

Tópicos• Exemplo: inicializar o primeiro HSM em um cluster (p. 345)• Eventos de login e logout (p. 346)• Exemplo: criar e excluir usuários (p. 345)• Exemplo: criar e excluir um par de chaves (p. 348)• Exemplo: gerar e sincronizar uma chave (p. 350)

344

Page 351: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

• Exemplo: exportar uma chave (p. 351)• Exemplo: importar uma chave (p. 352)• Exemplo: compartilhar e descompartilhar uma chave (p. 353)

Exemplo: inicializar o primeiro HSM em um cluster

O fluxo de logs de auditoria para o primeiro HSM em cada cluster difere significativamente dos fluxos delog de outros HSMs no cluster. O log de auditoria do primeiro HSM em cada cluster registra a criação e ainicialização. Os logs de outros HSMs no cluster, que são gerados a partir de backups, começam com umevento de login.

Important

As seguintes entradas de inicialização não serão exibidas nos logs CloudWatch de clustersinicializados antes do lançamento do recurso de registro em log de auditoria do CloudHSM (30 deagosto de 2018). Para obter mais informações, consulte Histórico do documento (p. 415).

Os eventos de exemplo a seguir aparecem no fluxo de logs do primeiro HSM em um cluster. Oprimeiro evento no log, aquele com Sequence No 0x0, representa o comando para inicializar o HSM(CN_INIT_TOKEN). A resposta indica que o comando foi bem-sucedido (Response : 0: HSM Return:SUCCESS).

Time: 12/19/17 21:01:16.962174, usecs:1513717276962174Sequence No : 0x0Reboot counter : 0xe8Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_INIT_TOKEN (0x1)Session Handle : 0x1004001Response : 0:HSM Return: SUCCESSLog type : MINIMAL_LOG_ENTRY (0)

O segundo evento neste fluxo de logs de exemplo (Sequence No 0x1) registra o comando para criar achave de criptografia de senha que o HSM usa (CN_GEN_PSWD_ENC_KEY).

Esta é uma sequência de inicialização típica para o primeiro HSM em cada cluster. Como os HSMssubsequentes no mesmo cluster são clones do primeiro, eles usam a mesma chave de criptografia desenha.

Time: 12/19/17 21:01:17.140812, usecs:1513717277140812Sequence No : 0x1Reboot counter : 0xe8Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)Session Handle : 0x1004001Response : 0:HSM Return: SUCCESSLog type : MINIMAL_LOG_ENTRY (0)

O terceiro evento neste fluxo de logs de exemplo (Sequence No 0x2) é a criação do usuário dodispositivo (AU) (p. 12), que é o serviço AWS CloudHSM. Os eventos que envolvem os usuários do HSMincluem campos extras para o nome do usuário e o tipo de usuário.

Time: 12/19/17 21:01:17.174902, usecs:1513717277174902Sequence No : 0x2Reboot counter : 0xe8Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_CREATE_APPLIANCE_USER (0xfc)Session Handle : 0x1004001

345

Page 352: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : app_userUser Type : CN_APPLIANCE_USER (5)

O quarto evento neste fluxo de logs de exemplo (Sequence No 0x3) registra o evento CN_INIT_DONE,que conclui a inicialização do HSM.

Time: 12/19/17 21:01:17.298914, usecs:1513717277298914Sequence No : 0x3Reboot counter : 0xe8Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_INIT_DONE (0x95)Session Handle : 0x1004001Response : 0:HSM Return: SUCCESSLog type : MINIMAL_LOG_ENTRY (0)

Você pode seguir os demais eventos na sequência de inicialização. Esses eventos podem incluir várioseventos de login e de logout e a geração da chave de criptografia de chaves (KEK- key encryptionkey). O evento a seguir registra o comando que altera a senha do responsável pela pré-criptografia(PRECO) (p. 11). Esse comando ativa o cluster.

Time: 12/13/17 23:04:33.846554, usecs:1513206273846554Sequence No: 0x1dReboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_CHANGE_PSWD (0x9)Session Handle: 0x2010003Response: 0:HSM Return: SUCCESSLog type: MGMT_USER_DETAILS_LOG (2)User Name: adminUser Type: CN_CRYPTO_PRE_OFFICER (6)

Eventos de login e logout

Ao interpretar o log de auditoria, observe eventos que registram usuários que fazem login e logoutdo HSM. Esses eventos ajudam você a determinar qual usuário é responsável por comandos degerenciamento que aparecem na sequência entre os comandos de login e logout.

Por exemplo, essa entrada de log registra um login por um responsável pela criptografia chamado admin.O número de sequência, 0x0, indica que esse é o primeiro evento neste fluxo de logs.

Quando um usuário faz login em um HSM, os outros HSMs no cluster também registram um evento delogin para o usuário. Você pode encontrar os eventos de login correspondentes nos fluxos de logs deoutros HSMs no cluster logo após o evento de login inicial.

Time: 01/16/18 01:48:49.824999, usecs:1516067329824999Sequence No : 0x0Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0x7014006Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : adminUser Type : CN_CRYPTO_OFFICER (2)

O evento de exemplo a seguir registra o logout do responsável pela criptografia admin. O número desequência, 0x2, indica que esse é o terceiro evento no fluxo de logs.

346

Page 353: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Se o usuário conectado fechar a sessão sem fazer logout, o fluxo de logs incluirá um CN_APP_FINALIZE,ou evento de fechamento da sessão (CN_SESSION_CLOSE), em vez de um evento CN_LOGOUT.Diferentemente do evento de login, esse evento de logout normalmente só será registrado pelo HSM queexecutar o comando.

Time: 01/16/18 01:49:55.993404, usecs:1516067395993404Sequence No : 0x2Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGOUT (0xe)Session Handle : 0x7014000Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : adminUser Type : CN_CRYPTO_OFFICER (2)

Se uma tentativa de login falhar porque o nome do usuário é inválido, o HSM registrará um eventoCN_LOGIN com o nome de usuário e o tipo fornecidos no comando de login. A resposta exibe a mensagemde erro 157, que explica que o nome do usuário não existe.

Time: 01/24/18 17:41:39.037255, usecs:1516815699037255Sequence No : 0x4Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0xc008002Response : 157:HSM Error: user isn't initialized or user with this name doesn't existLog type : MGMT_USER_DETAILS_LOG (2)User Name : ExampleUserUser Type : CN_CRYPTO_USER (1)

Se uma tentativa de login falhar porque a senha é inválida, o HSM registrará um evento CN_LOGIN como nome de usuário e o tipo fornecidos no comando de login. A resposta exibe a mensagem de erro com ocódigo de erro RET_USER_LOGIN_FAILURE.

Time: 01/24/18 17:44:25.013218, usecs:1516815865013218Sequence No : 0x5Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0xc008002Response : 163:HSM Error: RET_USER_LOGIN_FAILURELog type : MGMT_USER_DETAILS_LOG (2)User Name : testuserUser Type : CN_CRYPTO_USER (1)

Exemplo: criar e excluir usuários

Este exemplo mostra os eventos de log registrados quando um responável pela criptografia (CO) cria eexclui os usuários.

O primeiro evento registra um CO, admin, fazendo login no HSM. O número de sequência de 0x0 indicaque esse é o primeiro evento no fluxo de logs. O nome e o tipo do usuário que se conectou são incluídosno evento.

Time: 01/16/18 01:48:49.824999, usecs:1516067329824999Sequence No : 0x0Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)

347

Page 354: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Opcode : CN_LOGIN (0xd)Session Handle : 0x7014006Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : adminUser Type : CN_CRYPTO_OFFICER (2)

O próximo evento na sequência de logs (sequência 0x1) registra o CO criando um novo usuário decriptografia (CU). O nome e o tipo do novo usuário são incluídos no evento.

Time: 01/16/18 01:49:39.437708, usecs:1516067379437708Sequence No : 0x1Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_CREATE_USER (0x3)Session Handle : 0x7014006Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : bobUser Type : CN_CRYPTO_USER (1)

Em seguida, o CO cria outro responsável pela criptografia, alice. O número de sequência indica queessa ação seguiu a anterior, sem ações de intervenção.

Time: 01/16/18 01:49:55.993404, usecs:1516067395993404Sequence No : 0x2Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_CREATE_CO (0x4)Session Handle : 0x7014007Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : aliceUser Type : CN_CRYPTO_OFFICER (2)

Posteriormente, o CO chamado admin faz login e exclui o responsável pela criptografia chamado alice.O HSM registra um evento CN_DELETE_USER. O nome e o tipo do usuário excluído são incluídos noevento.

Time: 01/23/18 19:58:23.451420, usecs:1516737503451420Sequence No : 0xbReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_DELETE_USER (0xa1)Session Handle : 0x7014007Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : aliceUser Type : CN_CRYPTO_OFFICER (2)

Exemplo: criar e excluir um par de chaves

Este exemplo mostra os eventos que são registrados em um log de auditoria do HSM ao criar e excluir umpar de chaves.

O evento a seguir registra o usuário de criptografia (CU) chamado crypto_user fazendo login no HSM.

Time: 12/13/17 23:09:04.648952, usecs:1513206544648952Sequence No: 0x28

348

Page 355: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Reboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_LOGIN (0xd)Session Handle: 0x2014005Response: 0:HSM Return: SUCCESSLog type: MGMT_USER_DETAILS_LOG (2)User Name: crypto_userUser Type: CN_CRYPTO_USER (1)

Em seguida, o usuário gera um par de chaves (CN_GENERATE_KEY_PAIR). A chave privada possui oidentificador de chave 131079. A chave pública possui o identificador de chave 131078.

Time: 12/13/17 23:09:04.761594, usecs:1513206544761594Sequence No: 0x29Reboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_GENERATE_KEY_PAIR (0x19)Session Handle: 0x2014004Response: 0:HSM Return: SUCCESSLog type: MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle: 131079Public Key Handle: 131078

O usuário exclui imediatamente o par de chaves. Um evento CN_DESTROY_OBJECT registra a exclusãoda chave pública (131078).

Time: 12/13/17 23:09:04.813977, usecs:1513206544813977Sequence No: 0x2aReboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_DESTROY_OBJECT (0x11)Session Handle: 0x2014004Response: 0:HSM Return: SUCCESSLog type: MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle: 131078Public Key Handle: 0

Em seguida, um segundo evento CN_DESTROY_OBJECT registra a exclusão da chave privada (131079).

Time: 12/13/17 23:09:04.815530, usecs:1513206544815530Sequence No: 0x2bReboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_DESTROY_OBJECT (0x11)Session Handle: 0x2014004Response: 0:HSM Return: SUCCESSLog type: MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle: 131079Public Key Handle: 0

Por fim, o usuário faz logout.

Time: 12/13/17 23:09:04.817222, usecs:1513206544817222Sequence No: 0x2cReboot counter: 0xe8Command Type(hex): CN_MGMT_CMD (0x0)Opcode: CN_LOGOUT (0xe)Session Handle: 0x2014004Response: 0:HSM Return: SUCCESSLog type: MGMT_USER_DETAILS_LOG (2)

349

Page 356: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

User Name: crypto_userUser Type: CN_CRYPTO_USER (1)

Exemplo: gerar e sincronizar uma chave

Este exemplo mostra o efeito da criação de uma chave em um cluster com vários HSMs. A chave é geradaem um HSM, extraída do HSM como um objeto mascarado e inserida nos outros HSMs como um objetomascarado.

Note

As ferramentas de cliente podem falhar ao sincronizar a chave. Ou o comando pode incluir oparâmetro min_srv, que sincroniza a chave apenas para o número especificado de HSMs. Emambos os casos, o serviço AWS CloudHSM sincroniza a chave com os outros HSMs no cluster.Como os HSMs registram apenas comandos de gerenciamento do lado do cliente em seus logs, asincronização do lado do servidor não é registrada no log do HSM.

Primeiro considere o fluxo de logs do HSM que recebe e executa os comandos. O fluxo de logs é nomeadode acordo com o ID do HSM, hsm-abcde123456, mas o ID do HSM não aparece nos eventos de log.

Primeiro, o usuário de criptografia (CU) testuser faz login no HSM do hsm-abcde123456.

Time: 01/24/18 00:39:23.172777, usecs:1516754363172777Sequence No : 0x0Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0xc008002Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : testuserUser Type : CN_CRYPTO_USER (1)

O usuário executa um comando exSymKey (p. 169) para gerar uma chave simétrica. O HSM hsm-abcde123456 gera uma chave simétrica com um identificador de chaves de 262152. O HSM registra umevento CN_GENERATE_KEY em seu log.

Time: 01/24/18 00:39:30.328334, usecs:1516754370328334Sequence No : 0x1Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_GENERATE_KEY (0x17)Session Handle : 0xc008004Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 262152Public Key Handle : 0

O próximo evento no fluxo de logs de hsm-abcde123456 registra a primeira etapa no processo desincronização de chaves. A nova chave (identificador de chaves 262152) é extraída do HSM como umobjeto mascarado.

Time: 01/24/18 00:39:30.330956, usecs:1516754370330956Sequence No : 0x2Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)Session Handle : 0xc008004Response : 0:HSM Return: SUCCESS

350

Page 357: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Log type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 262152Public Key Handle : 0

Agora, considere o fluxo de logs do HSM hsm-zyxwv987654, outro HSM no mesmo cluster. Esse fluxode logs também inclui um evento de login do usuário testuser. O valor de tempo mostra que ocorre logodepois que o usuário faz login no HSM hsm-abcde123456.

Time: 01/24/18 00:39:23.199740, usecs:1516754363199740Sequence No : 0xdReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0x7004004Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : testuserUser Type : CN_CRYPTO_USER (1)

Esse fluxo de logs desse HSM não tem um evento CN_GENERATE_KEY. No entanto, ele não possui umevento que registra a sincronização da chave desse HSM. O evento CN_INSERT_MASKED_OBJECT_USERregistra o recebimento da chave 262152 como um objeto mascarado. Agora a chave 262152 existe emambos os HSMs no cluster.

Time: 01/24/18 00:39:30.408950, usecs:1516754370408950Sequence No : 0xeReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 262152Public Key Handle : 0

Quando o usuário faz login, esse evento CN_LOGOUT é exibido somente no fluxo de logs do HSM querecebeu os comandos.

Exemplo: exportar uma chave

Este exemplo mostra os eventos de log de auditoria que são registrados quando um usuário de criptografiaexporta chaves de um cluster com vários HSMs.

O evento a seguir registra o usuário (testuser) fazendo login no key_mgmt_util (p. 131).

Time: 01/24/18 19:42:22.695884, usecs:1516822942695884Sequence No : 0x26Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_LOGIN (0xd)Session Handle : 0x7004004Response : 0:HSM Return: SUCCESSLog type : MGMT_USER_DETAILS_LOG (2)User Name : testuserUser Type : CN_CRYPTO_USER (1)

O usuário executa um comando exSymKey (p. 145) para exportar a chave 7, uma chave AES de 256 bits.O comando usa a chave 6, uma chave AES de 256 bits nos HSMs, como a chave de encapsulamento.

351

Page 358: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

O HSM que recebe o comando registra um evento CN_WRAP_KEY para a chave 7, a chave que está sendoexportada.

Time: 01/24/18 19:51:12.860123, usecs:1516823472860123Sequence No : 0x27Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_WRAP_KEY (0x1a)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 7Public Key Handle : 0

Em seguida, o HSM registra um evento CN_NIST_AES_WRAP para a chave de encapsulamento, a chave6. A chave é encapsulada e, em seguida, desencapsulada imediatamente, mas o HSM registra apenas umevento.

Time: 01/24/18 19:51:12.905257, usecs:1516823472905257Sequence No : 0x28Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_NIST_AES_WRAP (0x1e)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 6Public Key Handle : 0

O comando exSymKey grava a chave exportada em um arquivo, mas não altera a chave no HSM.Consequentemente, não há eventos correspondentes nos logs de outros HSMs no cluster.

Exemplo: importar uma chave

Este exemplo mostra os eventos do log de auditoria que são registrados quando você importa chaves nosHSMs em um cluster. Neste exemplo, o usuário de criptografia usa o comando imSymKey (p. 189) paraimportar uma chave AES para os HSMs. O comando usa a chave 6 como a chave de encapsulamento.

O HSM que recebe os comandos primeiro registra um evento CN_NIST_AES_WRAP para a chave 6, achave de encapsulamento.

Time: 01/24/18 19:58:23.170518, usecs:1516823903170518Sequence No : 0x29Reboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_NIST_AES_WRAP (0x1e)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 6Public Key Handle : 0

Em seguida, o HSM registra um evento CN_UNWRAP_KEY que representa a operação de importação. Achave importada é atribuída a um identificador de chaves de 11.

Time: 01/24/18 19:58:23.200711, usecs:1516823903200711Sequence No : 0x2aReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)

352

Page 359: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioInterpretar logs de auditoria do HSM

Opcode : CN_UNWRAP_KEY (0x1b)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 11Public Key Handle : 0

Quando uma nova chave é gerada ou importada, as ferramentas de cliente tentam automaticamentesincronizar a nova chave com outros HSMs no cluster. Neste caso, o HSM registra um eventoCN_EXTRACT_MASKED_OBJECT_USER quando a chave 11 é extraída do HSM como um objetomascarado.

Time: 01/24/18 19:58:23.203350, usecs:1516823903203350Sequence No : 0x2bReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)Session Handle : 0x7004003Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 11Public Key Handle : 0

Os fluxos de logs de outros HSMs no cluster refletem a chegada da chave recém-importada.

Por exemplo, este evento foi registrado no fluxo de logs de um HSM diferente no mesmo cluster. Esseevento CN_INSERT_MASKED_OBJECT_USER registra a chegada de um objeto mascarado que representaa chave 11.

Time: 01/24/18 19:58:23.286793, usecs:1516823903286793Sequence No : 0xbReboot counter : 0x107Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)Session Handle : 0xc008004Response : 0:HSM Return: SUCCESSLog type : MGMT_KEY_DETAILS_LOG (1)Priv/Secret Key Handle : 11Public Key Handle : 0

Exemplo: compartilhar e descompartilhar uma chave

Este exemplo mostra o evento de log de auditoria que é registrado quando um usuário de criptografia(CU) compartilha ou descompartilha a chave privada do ECC com outros usuários de criptografia. O CUusa o comando shareKey (p. 125) e fornece o identificador da chave, o ID de usuário e o valor 1 paracompartilhar ou o valor 0 para descompartilhar a chave.

No exemplo a seguir, o HSM que recebe o comando, registra um evento CM_SHARE_OBJECT querepresenta a operação de compartilhamento.

Time: 02/08/19 19:35:39.480168, usecs:1549654539480168Sequence No : 0x3fReboot counter : 0x38Command Type(hex) : CN_MGMT_CMD (0x0)Opcode : CN_SHARE_OBJECT (0x12)Session Handle : 0x3014007Response : 0:HSM Return: SUCCESSLog type : UNKNOWN_LOG_TYPE (5)

353

Page 360: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência do log de auditoria

Referência do log de auditoriaO AWS CloudHSM registra comandos de gerenciamento do HSM em eventos do log de auditoria. Cadaevento tem um valor do código de operação (Opcode) que identifica a ação ocorrida e sua resposta. Vocêpode usar os valores Opcode para pesquisar, classificar e filtrar os logs.

A tabela a seguir define os valores Opcode em um log de auditoria AWS CloudHSM.

Código de operação (Opcode) Descrição

Login do usuário: esses eventos incluem o nome do usuário e o tipo de usuário.

CN_LOGIN (0xd) Login do usuário (p. 117) (exclui Appliance User[AU - Usuário do dispositivo]).

CN_LOGOUT (0xe) Logout do usuário (p. 117) (exclui Appliance User[AU - Usuário do dispositivo]).

CN_APP_FINALIZE Finalização do aplicativo (registrada apenasquando o usuário não fez logout explicitamente)

CN_CLOSE_SESSION Fechar sessão (registrada apenas quando ousuário não fez logout explicitamente)

Gerenciamento de usuários: esses eventos incluem o nome do usuário e o tipo de usuário.

CN_CREATE_USER (0x3) Criar um usuário de criptografia (CU) (p. 96)

CN_CREATE_CO Criar um responsável pela criptografia (CO) (p. 96)

CN_CREATE_APPLIANCE_USER Criar um usuário do dispositivo (AU) (p. 96)

CN_DELETE_USER Exclusão de um usuário (p. 99)

CN_CHANGE_PSWD Alterar a senha de um usuário (p. 92)

CN_SET_M_VALUE Defina a autenticação de quorum (M de N) parauma ação do usuário.

CN_APPROVE_TOKEN Aprove um token de autenticação de quorum parauma ação do usuário.

Gerenciamento de chaves: esses eventos incluem o identificador de chaves.

CN_GENERATE_KEY Gerar uma chave simétrica (p. 169)

CN_GENERATE_KEY_PAIR (0x19) Gerar um par de chaves (DSA (p. 155),ECC (p. 160) ou RSA (p. 164))

CN_CREATE_OBJECT Importar uma chave pública (sem encapsulamento)

CN_MODIFY_OBJECT Defina um atributo de chaveem key_mgmt_util (p. 202) oucloudhsm_mgmt_util (p. 121).

CN_DESTROY_OBJECT (0x11) Excluir uma chave (p. 139)

CN_TOMBSTONE_OBJECT Marcar a chave para exclusão, mas não removê-la

CN_SHARE_OBJECT Compartilhar ou descompartilhar umachave (p. 125)

354

Page 361: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioReferência do log de auditoria

Código de operação (Opcode) Descrição

CN_WRAP_KEY Exportar uma cópia criptografada de uma chave(wrapKey (p. 213))

CN_UNWRAP_KEY Importar uma cópia criptografada de uma chave(unwrapKeyy (p. 206))

CN_NIST_AES_WRAP Criptografar ou descriptografar um arquivo(aesWrapUnwrap (p. 136))

CN_INSERT_MASKED_OBJECT_USER Receber uma chave (como um objeto mascarado)de outro HSM no cluster; esse evento é registradoquando uma ação cliente sincroniza a chave

CN_EXTRACT_MASKED_OBJECT_USER Enviar uma chave (como um objeto mascarado)para outros HSMs no cluster; esse evento éregistrado quando uma ação cliente sincroniza achave

Clone HSMs

CN_CLONE_SOURCE_INIT Clonar início da origem

CN_CLONE_SOURCE_STAGE1 Clonar término da origem

CN_CLONE_TARGET_INIT Clonar início de destino

CN_CLONE_TARGET_STAGE1 Clonar término de destino

Certificate-Based Authentication

CN_CERT_AUTH_STORE_CERT Armazenar um certificado

CN_CERT_AUTH_VALIDATE_PEER_CERTS Validar um certificado

CN_CERT_AUTH_SOURCE_KEY_EXCHANGE Troca de chaves de origem

CN_CERT_AUTH_TARGET_KEY_EXCHANGE Troca de chaves de destino

HSM Instance Commands

CN_INIT_TOKEN (0x1) Inicializar o HSM: início

CN_INIT_DONE Inicializar o HSM: concluído

CN_GEN_KEY_ENC_KEY Gerar uma Key Encryption Key (KEK - Chave decriptografia de chaves)

CN_GEN_PSWD_ENC_KEY (0x1d) Gerar uma Password Encryption Key (PEK - Chavede criptografia de senhas)

CN_CLOSE_PARTITION_SESSIONS Fechar uma sessão no HSM

CN_STORE_KBK_SHARE Armazenar a key backup key (KBK - Chave debackup de chaves)

CN_SET_NODEID Definir o ID do nó do HSM no cluster

CN_ZEROIZE Zerar o HSM

355

Page 362: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioObter métricas do CloudWatch

Obter métricasVocê pode recuperar métricas e logs do ambiente do AWS CloudHSM obtendo métricas doCloudWatch (p. 356).

Tópicos• Obter métricas do CloudWatch (p. 356)

Obter métricas do CloudWatchO AWS CloudHSM publica métricas sobre as instâncias do HSM em seu painel do CloudWatch. Asmétricas podem ser agrupadas por região, pelo ID do cluster e pelo ID do HSM. Observe, no entanto, queo ID do HSM será alterado se o AWS CloudHSM substitui um HSM com falha. Portanto, recomendamosque você alerte e meça a nível regional ou de ID do cluster em vez do ID do HSM. As seguintes métricasestão disponíveis:

• HsmUnhealthy: a instância do HSM não está funcionando corretamente. O AWS CloudHSM substituiautomaticamente as instâncias com problemas de integridade para você. Você pode optar por expandirproativamente o tamanho do cluster para reduzir o impacto no desempenho enquanto estamossubstituindo o HSM.

• HsmTemperature: temperatura de junção do processador de hardware. O sistema será desligado se atemperatura atingir 110 graus centígrados.

• HsmKeysSessionOccupied: número de chaves de sessão que estão sendo usadas pela instância doHSM.

• HsmKeysTokenOccupied: número de chaves de token que estão sendo usadas pela instância do HSM epelo cluster.

• HsmSslCtxsOccupied: número de canais criptografados de ponta a ponta atualmente estabelecidos paraa instância do HSM. Até 2.048 canais são permitidos.

• HsmSessionCount: número de conexões abertas para a instância do HSM. Até 2.048 são permitidas.Por padrão, o daemon do cliente é configurado para abrir duas sessões com cada instância do HSM emum canal criptografado de ponta a ponta.

• HsmUsersAvailable: número de usuários adicionais que podem ser criados. Isso é igual ao númeromáximo de usuários, HsmUsersMax, menos os usuários criados até o momento.

• HsmUsersMax: número máximo de usuários que podem ser criados na instância do HSM. Atualmente,isso é 1.024.

• InterfaceEth2OctetsInput: soma cumulativa do tráfego no HSM até o momento. Recomendamos tambémexaminar as métricas da instância do Amazon EC2.

• InterfaceEth2OctetsOutput: consulte a métrica anterior – InterfaceEth2OctetsInput.

356

Page 363: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProteção de dados

Segurança no AWS CloudHSMA segurança da nuvem na AWS é a nossa maior prioridade. Como cliente da AWS, você se beneficiaráde um datacenter e de uma arquitetura de rede criados para atender aos requisitos das empresas com asmaiores exigências de segurança.

A segurança é uma responsabilidade compartilhada entre a AWS e você. O modelo de responsabilidadecompartilhada descreve isso como segurança da nuvem e segurança na nuvem:

• Segurança da nuvem – A AWS é responsável pela proteção da infraestrutura que executa serviçosda AWS na nuvem da AWS. A AWS também fornece serviços que você pode usar com segurança.Auditores de terceiros testam e verificam regularmente a eficácia da nossa segurança como parte dosProgramas de conformidade da AWS. Para saber mais sobre os programas de conformidade que seaplicam ao AWS CloudHSM, consulte Serviços da AWS no escopo por programa de conformidade.

• Segurança na nuvem – Sua responsabilidade é determinada pelo serviço da AWS que você usa. Vocêtambém é responsável por outros fatores, incluindo a confidencialidade de seus dados, os requisitos dasua empresa e as leis e regulamentos aplicáveis.

Esta documentação ajuda a entender como aplicar o modelo de responsabilidade compartilhada ao usar oAWS CloudHSM. Os tópicos a seguir mostram como configurar o AWS CloudHSM para atender aos seusobjetivos de segurança e de conformidade. Você também aprenderá a usar outros serviços da AWS queajudam a monitorar e proteger os recursos do AWS CloudHSM.

Tópicos• Proteção de dados no AWS CloudHSM (p. 357)• Identity and Access Management para o AWS CloudHSM (p. 358)• Validação FIPS (p. 364)• Resiliência no AWS CloudHSM (p. 364)• Segurança da infraestrutura no AWS CloudHSM (p. 365)• Gerenciamento de atualizações no AWS CloudHSM (p. 365)

Proteção de dados no AWS CloudHSMO AWS CloudHSM está em conformidade com o modelo de responsabilidade compartilhada da AWS, queinclui regulamentos e diretrizes de proteção de dados. A AWS é responsável por proteger a infraestruturaglobal que executa todos os serviços da AWS. A AWS mantém controle dos dados hospedados nessainfraestrutura, incluindo os controles de configuração de segurança para lidar com o conteúdo e com osdados pessoais do cliente. Os clientes da AWS e os parceiros do APN, atuando como controladores ouprocessadores de dados, são responsáveis por todos os dados pessoais que colocam na Nuvem AWS.

Para fins de proteção de dados, recomendamos que você proteja as credenciais da sua conta da AWSe configure contas de usuário individuais com o AWS Identity and Access Management (IAM), de modoque cada usuário receba somente as permissões necessárias para cumprir suas funções. Recomendamostambém que você proteja seus dados das seguintes formas:

• Use uma autenticação multifator (MFA) com cada conta.• Use SSL/TLS para se comunicar com os recursos da AWS.

357

Page 364: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriptografia em repouso

• Configure a API e o registro em log das atividades do usuário com o AWS CloudTrail.• Use as soluções de criptografia da AWS, juntamente com todos os controles de segurança padrão nos

serviços da AWS.• Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e

proteger dados pessoais que são armazenados no Amazon S3.

É altamente recomendável que você nunca coloque informações de identificação confidenciais, comonúmeros de conta dos seus clientes, em campos de formato livre, como um campo Name (Nome). Issotambém vale para quando você trabalha com o AWS CloudHSM ou com outros serviços da AWS usando oconsole, a API, a AWS CLI ou os AWS SDKs. Todos os dados que você insere no AWS CloudHSM ou emoutros serviços podem ser selecionados para serem incluídos em logs de diagnóstico. Ao fornecer um URLpara um servidor externo, não inclua informações de credenciais no URL para validar a solicitação a esseservidor.

Para obter mais informações sobre proteção de dados, consulte a publicação AWS Shared ResponsibilityModel and GDPR (Modelo de responsabilidade compartilhada da AWS e GDPR) no Blog de segurança daAWS.

Criptografia em repousoQuando o AWS CloudHSM faz um backup de um HSM, este criptografa seus dados antes de os enviar aoAWS CloudHSM. Os dados são criptografados usando uma chave de criptografia exclusiva e temporária.Para obter mais informações, consulte Segurança dos backups (p. 7).

Criptografia em trânsitoA comunicação entre o AWS CloudHSM cliente e os HSMs no cluster é criptografada de ponta a ponta.Esta comunicação só pode ser descriptografada pelo seu cliente e seus HSMs.

Identity and Access Management para o AWSCloudHSM

A AWS usa credenciais de segurança para identificar você e conceder acesso aos seus recursos daAWS. É possível usar recursos do AWS Identity and Access Management (IAM) para permitir que outrosusuários, serviços e aplicativos usem os recursos da AWS totalmente ou de forma limitada. É possívelfazer isso sem compartilhar as credenciais de segurança.

Por padrão, os usuários do IAM não têm permissão para criar, visualizar ou modificar os recursos da AWS.Para permitir que um usuário do IAM acesse recursos, como um load balancer, e execute tarefas, você:

1. Cria uma política do IAM que concede permissão ao usuário do IAM para usar os recursos específicos eas ações de API de que ele precisa.

2. Anexe a política ao usuário do IAM ou ao grupo ao qual ele pertence.

Quando você anexa uma política a um usuário ou grupo de usuários, isso concede ou nega aos usuáriospermissão para realizar as tarefas especificadas nos recursos especificados.

Por exemplo, é possível usar o IAM para criar usuários e grupos na conta da AWS. Um usuário do IAMpode ser uma pessoa, um sistema ou um aplicativo. Em seguida, você concede permissões aos usuários egrupos para executar ações específicas nos recursos especificados usando uma política do IAM.

358

Page 365: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConceder permissões usando políticas do IAM

Conceder permissões usando políticas do IAMQuando você anexa uma política a um usuário ou grupo de usuários, isso concede ou nega aos usuáriospermissão para realizar as tarefas especificadas nos recursos especificados.

A política do IAM é um documento JSON que consiste em uma ou mais declarações. Cada instrução éestruturada como mostrado no exemplo a seguir.

{ "Version": "2012-10-17", "Statement":[{ "Effect": "effect", "Action": "action", "Resource": "resource-arn", "Condition": { "condition": { "key":"value" } } }]}

• Effect (Efeito)— o efeito pode ser Allow ou Deny. Por padrão, os usuários do IAM não têm permissãopara usar recursos e ações da API. Por isso, todas as solicitações são negadas. Uma permissãoexplícita substitui o padrão. Uma negação explícita substitui todas as permissões.

• Action (Ação)— A ação é a ação de API específica para a qual você está concedendo ou negandopermissão. Para obter mais informações sobre como especificar a ação, consulte Ações da API para oAWS CloudHSM (p. 359).

• Resource (Recurso)— o recurso afetado pela ação. O AWS CloudHSM não oferece suporte apermissões no nível do recurso. É necessário usar o curinga * para especificar todos os recursos doAWS CloudHSM.

• Condition (Condição)— Fica a seu critério usar as condições para controlar quando a política estará emvigor. Para obter mais informações, consulte Chaves de condição do AWS CloudHSM (p. 360).

Para obter mais informações, consulte o Guia do usuário do IAM.

Ações da API para o AWS CloudHSMNo elemento Action (Ação) da instrução de política do IAM, é possível especificar qualquer ação daAPI oferecida pelo AWS CloudHSM. É necessário prefixar o nome da ação com a string em minúsculascloudhsm:, conforme mostrado no exemplo a seguir.

"Action": "cloudhsm:DescribeClusters"

Para especificar várias ações em uma única instrução, coloque-as entre colchetes e separe-as comvírgula, como mostrado no exemplo a seguir.

"Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeHsm"]

Você também pode especificar várias ações usando o caractere curinga *. O exemplo a seguir especificatodos os nomes de ação da API para o AWS CloudHSM que começam com List.

359

Page 366: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioChaves de condição do AWS CloudHSM

"Action": "cloudhsm:List*"

Para especificar todas as ações da API para o AWS CloudHSM, use o curinga * conforme mostrado noexemplo a seguir.

"Action": "cloudhsm:*"

Para obter a lista de ações da API para o AWS CloudHSM, consulte Ações do AWS CloudHSM.

Chaves de condição do AWS CloudHSMAo criar uma política, você pode especificar as condições que controlam quando a política está em vigor.Cada condição contém um ou mais pares de chave-valor. Há chaves de condição global e chaves decondição específicas do serviço.

O AWS CloudHSM não tem chaves de contexto específicas do serviço.

Para obter mais informações sobre chaves de condição global, consulte Chaves de contexto de condiçãoglobal da AWS no Guia do usuário do IAM.

Políticas predefinidas gerenciadas pela AWS para oAWS CloudHSMAs políticas gerenciadas criadas pela AWS concedem as permissões necessárias para casos de usocomuns. É possível anexar essas políticas aos usuários do IAM de acordo com o acesso de que elesprecisam no AWS CloudHSM:

• AWSCloudHSMFullAccess — concede o acesso total necessário para usar recursos do AWSCloudHSM.

• AWSCloudHSMReadOnlyAccess — concede o acesso somente leitura a recursos do AWS CloudHSM.

Políticas gerenciadas pelo cliente para o AWSCloudHSMRecomendamos que você crie um grupo de administradores do IAM para o AWS CloudHSM que contenhaapenas as permissões necessárias para executar o AWS CloudHSM. Anexe a política com as permissõesapropriadas a este grupo. Adicione usuários do IAM ao grupo, conforme necessário. Cada usuário quevocê adicionar herda a política do grupo de administradores.

Além disso, recomendamos criar grupos de usuários adicionais de acordo com as permissões que seususuários precisam. Isso garante que somente usuários confiáveis tenham acesso a ações críticas da API.Por exemplo, é possível criar um grupo de usuários que você usa para conceder acesso somente leitura aclusters e HSMs. Como esse grupo não permite que um usuário exclua clusters ou HSMs, um usuário nãoconfiável não pode afetar a disponibilidade de uma carga de trabalho de produção.

À medida que novos recursos de gerenciamento do AWS CloudHSM são adicionados ao longo do tempo,você pode garantir que apenas usuários confiáveis recebam acesso imediato. Ao atribuir permissõeslimitadas a políticas na criação, você poderá atribuir manualmente novas permissões de recursoposteriormente.

Os seguintes são exemplos de políticas para o AWS CloudHSM. Para obter informações sobre como criaruma política e anexá-la a um grupo de usuários do IAM, consulte Criar políticas na guia JSON no Guia dousuário do IAM.

360

Page 367: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPolíticas gerenciadas pelo cliente para o AWS CloudHSM

Exemplos

• Permissões somente leitura (p. 361)• Permissões de usuário avançado (p. 361)• Permissões de administrador (p. 362)

Example Exemplo: permissões somente leitura

Esta política permite o acesso às ações da API DescribeClusters e DescribeBackups. Ela tambéminclui permissões adicionais para ações da API específicas do Amazon EC2. Ela não permite que o usuárioexclua clusters ou HSMs.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeBackups", "cloudhsm:ListTags" ], "Resource": "*" }}

Example Exemplo: permissões de usuário avançado

Esta política permite o acesso a um subconjunto das ações da API do AWS CloudHSM. Ela também incluipermissões adicionais para ações específicas do Amazon EC2. Ela não permite que o usuário excluaclusters ou HSMs. É necessário incluir a ação iam:CreateServiceLinkedRole para permitir que oAWS CloudHSM crie automaticamente a função vinculada ao serviço AWSServiceRoleForCloudHSM nasua conta. Essa função permite que o AWS CloudHSM registre eventos. Para obter mais informações,consulte Funções vinculadas ao serviço para o AWS CloudHSM (p. 362).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "cloudhsm:DescribeClusters", "cloudhsm:DescribeBackups", "cloudhsm:CreateCluster", "cloudhsm:CreateHsm", "cloudhsm:RestoreBackup", "cloudhsm:CopyBackupToRegion", "cloudhsm:InitializeCluster", "cloudhsm:ListTags", "cloudhsm:TagResource", "cloudhsm:UntagResource", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DetachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup",

361

Page 368: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFunções vinculadas ao serviço

"ec2:CreateTags", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "iam:CreateServiceLinkedRole" ], "Resource": "*" }}

Example Exemplo: permissões de administrador

Esta política permite o acesso a todas as ações da API do AWS CloudHSM, incluindo as ações paraexcluir HSMs e clusters. Ela também inclui permissões adicionais para ações específicas do AmazonEC2. É necessário incluir a ação iam:CreateServiceLinkedRole para permitir que o AWS CloudHSMcrie automaticamente a função vinculada ao serviço AWSServiceRoleForCloudHSM na sua conta. Essafunção permite que o AWS CloudHSM registre eventos. Para obter mais informações, consulte Funçõesvinculadas ao serviço para o AWS CloudHSM (p. 362).

{ "Version":"2012-10-17", "Statement":{ "Effect":"Allow", "Action":[ "cloudhsm:*", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DetachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroups", "ec2:DeleteSecurityGroup", "ec2:CreateTags", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "iam:CreateServiceLinkedRole" ], "Resource":"*" }}

Funções vinculadas ao serviço para o AWSCloudHSMA política do IAM que você criou anteriormente para Políticas gerenciadas pelo cliente para o AWSCloudHSM (p. 360) inclui a ação iam:CreateServiceLinkedRole. O AWS CloudHSM define umafunção vinculada ao serviço chamada AWSServiceRoleForCloudHSM. A função é pré-definida pelo AWSCloudHSM e inclui as permissões requeridas pelo AWS CloudHSM para chamar todos os outros serviçosda AWS em seu nome. A função facilita a configuração de um serviço, pois você não precisa adicionarmanualmente as permissões das políticas de função e de confiança.

A política de função permite que o AWS CloudHSM crie grupos de logs e streams de logs do AmazonCloudWatch Logs e grava eventos de log em seu nome. Você pode visualizar essa política abaixo e noconsole do IAM.

362

Page 369: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioFunções vinculadas ao serviço

{ "Version": "2018-06-12", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ]}

A política de confiança para a função AWSServiceRoleForCloudHSM permite que o AWS CloudHSMassuma a função.

{ "Version": "2018-06-12", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudhsm.amazonaws.com" }, "Action": "sts:AssumeRole" } ]}

Criar uma função vinculada a serviços (automática)O AWS CloudHSM criará a função AWSServiceRoleForCloudHSM ao criar um cluster se você incluira ação iam:CreateServiceLinkedRole nas permissões definidas quando você criou o grupode administradores do AWS CloudHSM. Consulte Políticas gerenciadas pelo cliente para o AWSCloudHSM (p. 360).

Se já tem um ou mais clusters e deseja apenas adicionar a função AWSServiceRoleForCloudHSM, épossível usar o console, o comando create-cluster ou a operação de API CreateCluster para criar umcluster. Em seguida, use o console, o comando delete-cluster ou a operação de API DeleteCluster paraexcluí-la. Criar outro cluster cria a função vinculada ao serviço e a aplica a todos os clusters em sua conta.Como alternativa, você pode criar a função manualmente. Para obter mais informações, consulte a seção aseguir.

Note

Não será necessário executar todas as etapas descritas em Conceitos básicos do AWSCloudHSM (p. 16) para criar um cluster se você o estiver criando apenas para adicionar a funçãoAWSServiceRoleForCloudHSM.

Criar uma função vinculada a serviços (manual)É possível usar o console do IAM, a AWS CLI, ou a API para criar a funçãoAWSServiceRoleForCloudHSM. Para obter mais informações, consulte Criar uma função vinculada aoserviço no Guia do usuário do IAM.

363

Page 370: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioValidação FIPS

Editar a função vinculada a serviçosO AWS CloudHSM não permite editar a função AWSServiceRoleForCloudHSM. Por exemplo, depois que afunção é criada, você não pode alterar o seu nome, pois várias entidades podem fazer referência à funçãopelo nome. Além disso, você não pode alterar a política da função. É possível, no entanto, usar o IAMpara editar a descrição da função. Para obter mais informações, consulte Editar uma –função vinculada aoserviço no Guia do usuário do IAM.

Excluir uma função vinculada a serviçosNão é possível excluir uma função vinculada ao serviço enquanto ainda houver um cluster aplicado a ela.Para excluir a função, você deve primeiro excluir cada HSM do cluster e, em seguida, excluir o cluster.Todos os clusters de sua conta devem ser excluídos. Você pode usar o console da IAM, a AWS CLI ou aAPI para excluir a função. Para obter mais informações sobre a exclusão de um cluster, consulte Excluirum cluster do AWS CloudHSM (p. 48). Para obter mais informações, consulte Exclusão de uma funçãovinculada a serviço no Guia do usuário do IAM.

Validação FIPSDepender de um HSM validado pelo FIPS pode ajudar a cumprir os requisitos de conformidadecorporativos, contratuais e normativos para a segurança dos dados na Nuvem AWS. É possível revisar aspolíticas de segurança aprovadas pelo FIPS para os HSMs fornecidos pelo AWS CloudHSM a seguir.

Validação do FIPS para hardware usado pelo CloudHSM• O certificado nº 3254 foi emitido em 2 de agosto de 2018• O certificado nº 2850 foi emitido em 27 de fevereiro de 2017• O certificado nº 3521 foi emitido em 8 de setembro de 2019

Conformidade com o FIPS 140-2

A publicação 140-2 do Federal Information Processing Standard (FIPS - Padrão de processamentode informações federal) é um padrão de segurança do governo dos Estados Unidos que especificaos requisitos de segurança para módulos de criptografia que protegem informações confidenciais. OsHSMs fornecidos pelo AWS CloudHSM estão em conformidade com o FIPS 140-2 nível 3.

Compatibilidade com PCI DSS

O PCI DSS (Payment Card Industry Data Security Standard) é um padrão de segurança dainformação exclusivo administrado pelo PCI Security Standards Council. Os HSMs fornecidos peloAWS CloudHSM estão em conformidade com PCI DSS.

Resiliência no AWS CloudHSMA infraestrutura global da AWS é criada com base em regiões e zonas de disponibilidade da AWS. Asregiões da AWS fornecem várias zonas de disponibilidade separadas e isoladas fisicamente, que sãoconectadas com baixa latência, altas taxas de transferência e redes altamente redundantes. Com aszonas de disponibilidade, você pode projetar e operar aplicativos e bancos de dados que automaticamenteexecutam o failover entre as zonas sem interrupção. As zonas de disponibilidade são mais altamentedisponíveis, tolerantes a falhas e escaláveis que uma ou várias infraestruturas de data center tradicionais.

Para obter mais informações sobre regiões e zonas de disponibilidade da AWS, consulte Infraestruturaglobal da AWS. Para obter mais informações sobre recursos do AWS CloudHSM para oferecer suporte àresiliência, consulte Alta disponibilidade e balanceamento de carga do cluster (p. 5).

364

Page 371: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioSegurança da infraestrutura

Segurança da infraestrutura no AWS CloudHSMComo um serviço gerenciado, o AWS CloudHSM é protegido pelos procedimentos de segurança da redeglobal da AWS que estão descritos no whitepaper Amazon Web Services: visão geral dos processos desegurança.

Use chamadas de API publicadas pela AWS para acessar o AWS CloudHSM pela rede. Os clientes devemoferecer suporte a Transport Layer Security (TLS) 1.0 ou posterior. Recomendamos TLS 1.2 ou posterior.Os clientes também devem ter suporte a pacotes de criptografia com sigilo de encaminhamento perfeito(PFS) como Ephemeral Diffie-Hellman (DHE) ou Ephemeral Elliptic Curve Diffie-Hellman (ECDHE). Amaioria dos sistemas modernos como Java 7 e versões posteriores oferece suporte a esses modos.

Além disso, as solicitações devem ser assinadas usando um ID da chave de acesso e uma chave deacesso secreta associada a uma entidade principal do IAM. Ou você pode usar o AWS Security TokenService (AWS STS) para gerar credenciais de segurança temporárias para assinar solicitações.

Isolamento de redeUma nuvem privada virtual (VPC) é uma rede virtual na área isolada logicamente na Nuvem AWS. Épossível criar um cluster em uma sub-rede privada em sua VPC. Para obter mais informações, consulteCriar uma sub-rede privada (p. 18).

Ao criar um HSM, o AWS CloudHSM coloca uma interface de rede elástica (ENI) em sua sub-redepara que seja possível interagir com seus HSMs. Para obter mais informações, consulte Arquitetura docluster (p. 3).

O AWS CloudHSM cria um grupo de segurança que permite a comunicação de entrada e saída entreHSMs em seu cluster. É possível usar esse grupo de segurança para permitir que as instâncias do EC2 secomuniquem com os HSMs em seu cluster. Para obter mais informações, consulte Conectar a instância doAmazon EC2 ao Clusterdo AWS CloudHSM (p. 22).

Autorização dos usuáriosCom o AWS CloudHSM, as operações executadas no HSM exigem as credenciais de um usuárioautenticado do HSM. Para obter mais informações, consulte Usuários do HSM (p. 11).

Gerenciamento de atualizações no AWS CloudHSMA AWS gerencia o firmware. O firmware é mantido por um terceiro e deve ser avaliado pela NIST paracomprovar a conformidade com o FIPS 140-2 nível 3. Apenas o firmware criptograficamente assinado pelachave do FIPS (à qual a AWS não tem acesso) poderá ser instalado.

365

Page 372: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos

Solução de problemas no AWSCloudHSM

Se encontrar problemas com o AWS CloudHSM, os tópicos a seguir podem ajudá-lo a resolvê-los.

Tópicos• Problemas conhecidos (p. 366)• A conexão com o cluster foi perdida (p. 376)• Manter os usuários do HSM em sincronia entre os HSMs no cluster (p. 378)• Verificar o desempenho do HSM (p. 378)• Resolver falhas na criação do cluster (p. 382)• Logs de auditoria do AWS CloudHSM não encontrados CloudWatch (p. 383)• Recuperação de logs de configuração do cliente (p. 384)• Ivs personalizados com comprimento não conforme para o invólucro principal AES (p. 384)• Principais falhas de sincronização (p. 386)

Problemas conhecidosOs seguintes problemas são conhecidos para o AWS CloudHSM

Tópicos• Problemas conhecidos para todas as instâncias do HSM (p. 366)• Problemas conhecidos de instâncias do Amazon EC2 que executam o Amazon Linux 2 (p. 369)• Problemas conhecidos para o Biblioteca PKCS #11 (p. 369)• Problemas conhecidos do SDK do JCE (p. 373)• Problemas conhecidos para o Mecanismo dinâmico do OpenSSL (p. 374)• Problemas conhecidos para a integração de aplicativos de terceiros (p. 376)

Problemas conhecidos para todas as instâncias doHSMOs seguintes problemas afetam todos os usuários do AWS CloudHSM, independentemente de elesusarem a ferramenta de linha de comando key_mgmt_util, o SDK do PKCS #11, o SDK do JCE ou o SDKdo OpenSSL.

Tópicos• Problema O invólucro de chave AES utiliza o acolchoamento PKCS n.º 5 em vez de proporcionar uma

implementação em conformidade com as normas do invólucro-chave com enchimento zero (p. 367)• Problema O daemon do cliente requer pelo menos um endereço IP válido no seu ficheiro de

configuração para estabelecer uma ligação com sucesso ao grupo (p. 367)• Problema Houve um limite superior de 16 KB em dados que podem ser codificados e assinados por

AWS CloudHSM (p. 367)• Problema As chaves importadas não podem ser especificadas como não portáteis (p. 368)• Problema O mecanismo predefinido para os comandos wrapkey e unwrapkey na tecla key_mgmt_util

foi removido (p. 368)

366

Page 373: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para todas as instâncias do HSM

• Problema Se tiver um único HSM no seu grupo, o failover HSM não funciona corretamente (p. 368)• Problema Se exceder a capacidade chave dos hsms no seu grupo dentro de um curto período de

tempo, o cliente introduz um estado de erro não tratado (p. 368)• Problema Operações de resumo com chaves HMAC de tamanho superior a 800 bytes não são

suportadas (p. 368)

Problema O invólucro de chave AES utiliza o acolchoamentoPKCS n.º 5 em vez de proporcionar uma implementaçãoem conformidade com as normas do invólucro-chave comenchimento zeroAlém disso, o encapsulamento de chaves sem preenchimento e com preenchimento de zeros não écompatível.

• Impact Não há impacto se embrulhar e desembrulhar utilizando este algoritmo dentro de AWSCloudHSM. No entanto, as chaves encapsuladas com o AWS CloudHSM não podem serdesencapsuladas dentro de outros HSMs ou software que esperem compatibilidade com a especificaçãode não usar preenchimento. Isso ocorre porque até 8 bytes de dados de preenchimento podem seradicionados ao final dos dados da chave durante um desempacotamento compatível com os padrões.As chaves encapsuladas externamente não podem ser desencapsuladas corretamente em umainstância do AWS CloudHSM.

• Solução Para desembrulhar externamente uma chave que tenha sido envolvida com o invólucro dechave AES com almofadado PKCS n.º 5 numa instância de nebulização AWS, tira o acolchoamentoadicional antes de tentar utilizar a chave. Você pode fazer isso removendo os bytes extra em um editorde arquivo ou copiando apenas os bytes da chave em um novo buffer em seu código.

• Estado da resolução: Com o lançamento do cliente 3.1.0 e do software, AWS CloudHSM forneceopções compatíveis com normas para o invólucro de chave AES. Para obter mais informações, consulteEmpacotamento de chaves AES (p. 62).

Problema O daemon do cliente requer pelo menos um endereçoIP válido no seu ficheiro de configuração para estabelecer umaligação com sucesso ao grupo• Impact Se eliminar todos os HSM no seu grupo e adicionar outro HSM, que obtém um novo endereço IP,

o daemon do cliente continua a pesquisar os seus hsms nos seus endereços IP originais.• Solução Se executar uma carga de trabalho intermitente, recomendamos que utilize o IpAddress

argumento no createhsm função para definir a interface de rede elástica (ENI) para o seu valor original.Observe que uma ENI é específica de uma zona de disponibilidade (AZ). A alternativa é excluir o arquivo/opt/cloudhsm/daemon/1/cluster.info e, em seguida, redefinir a configuração do cliente parao endereço IP do seu novo HSM. Você pode usar o comando client -a <IP address>. Para obtermais informações, consulte Instalar e configurar o cliente do AWS CloudHSM (Linux) (p. 35) ou Instalar econfigurar o cliente do AWS CloudHSM (Windows) (p. 37).

Problema Houve um limite superior de 16 KB em dados quepodem ser codificados e assinados por AWS CloudHSM• Estado da resolução: Os dados com um tamanho inferior a 16 KB continuam a ser enviados para o

HSM para a dispersão. Adicionamos a capacidade de aplicar hash localmente no software em dadoscom extensão entre 16 KB e 64 KB. O cliente e os SDKs falharão explicitamente se o buffer de dados

367

Page 374: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para todas as instâncias do HSM

for superior a 64 KB. Você deve atualizar seu cliente e SDK(s) para a versão 1.1.1 ou superior para sebeneficiar da correção.

Problema As chaves importadas não podem ser especificadascomo não portáteis• Estado da resolução: Este problema está fixo. Nenhuma ação é necessária de sua parte para se

beneficiar da correção.

Problema O mecanismo predefinido para os comandos wrapkeye unwrapkey na tecla key_mgmt_util foi removido• Resolução Quando utilizar os comandos wrapkey ou undockey, tem de utilizar o -m para especificar o

mecanismo. Consulte os exemplos nos artigos wrapKey (p. 213) ou unWrapkey (p. 206) para obter maisinformações.

Problema Se tiver um único HSM no seu grupo, o failover HSMnão funciona corretamente• Impact Se a única instância HSM no seu grupo perder conectividade, o cliente não irá voltar a ligar-se

mesmo que a instância HSM seja restaurada posteriormente.• Solução Recomendamos pelo menos duas instâncias HSM em qualquer grupo de produção. Se você

usar essa configuração, você não será afetado por esse problema. Para clusters de HSM único, retorneo daemon do cliente para restaurar a conectividade.

• Estado da resolução: Este problema foi resolvido no AWS CloudHSM cliente 1.1.2 (p. 401) solte. Vocêdeve atualizar para esse cliente para se beneficiar da correção.

Problema Se exceder a capacidade chave dos hsms no seugrupo dentro de um curto período de tempo, o cliente introduz umestado de erro não tratado• Impact Quando o cliente encontrar o estado de erro sem tratamento, fica bloqueado e tem de ser

reiniciado.• Solução Teste o seu rendimento para garantir que não está a criar chaves de sessão a uma taxa que o

cliente não consiga gerir. Você pode diminuir sua taxa adicionando um HSM ao cluster ou reduzindo acriação da chave de sessão.

• Estado da resolução: Este problema foi resolvido no AWS CloudHSM cliente 1.1.2 (p. 401) solte. Vocêdeve atualizar para esse cliente para se beneficiar da correção.

Problema Operações de resumo com chaves HMAC de tamanhosuperior a 800 bytes não são suportadas• Impact As chaves HMAC superiores a 800 bytes podem ser geradas ou importadas para o HSM.

No entanto, se você usar essa chave maior em uma operação de resumo por meio do JCE oukey_mgmt_util, a operação falhará. Observe que, se você estiver usando o PKCS11, as chaves HMACestarão limitadas a um tamanho de 64 bytes.

368

Page 375: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos de instâncias do

Amazon EC2 que executam o Amazon Linux 2

• Solução Se utilizar as chaves HMAC para operações de digestão no HSM, certifique-se de que otamanho é inferior a 800 bytes.

• Estado da resolução: Nenhuma neste momento.

Problemas conhecidos de instâncias do Amazon EC2que executam o Amazon Linux 2Problema: Amazon Linux 2 versão 2018.07 utiliza umaatualização ncurses (versão 6) que é atualmente incompatívelcom o AWS CloudHSM sdksVê o seguinte erro devolvido ao executar o AWS CloudHSM cloudhsm_mgmt_util (p. 83) oukey_mgmt_util (p. 131):

/opt/cloudhsm/bin/cloudhsm_mgmt_util: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

• Impact Ocorrências em execução Amazon Linux 2 versão 2018.07 não poderá utilizar todos AWSCloudHSM utilitários.

• Solução Emitir o seguinte comando no seu Amazon Linux 2 Instâncias CE2 para instalar o suportencurses pacote (versão 5):

sudo yum install ncurses-compat-libs

• Estado da resolução: Este problema foi resolvido no AWS CloudHSM cliente 1.1.2 (p. 401) solte. Vocêdeve atualizar para esse cliente para se beneficiar da correção.

Problemas conhecidos para o Biblioteca PKCS #11Tópicos

• Problema Papel de embrulho AES na versão 3.0.0 do Biblioteca PKCS #11 não valida os ivs antes dautilização (p. 370)

• Problema PKCS#11 SDK 2.0.4 e versões anteriores utilizaram sempre o IV predefinido de0xA6A6A6A6A6A6A6A6 para papel de embrulho AES e desembrulhar (p. 370)

• Problema O CKA_DERIVE atributo não foi suportado e não foi tratado (p. 370)• Problema O CKA_SENSITIVE atributo não foi suportado e não foi tratado (p. 371)• Problema A ortografia e assinatura multipeças não são suportadas (p. 371)• Problema C_GenerateKeyPair não pega CKA_MODULUS_BITS ou CKA_PUBLIC_EXPONENT no

modelo privado de forma que esteja em conformidade com as normas (p. 371)• Problema Não pode ter mais de 16 KB de dados (p. 371)• Problema Tampões para C_Encrypt e C_Decrypt As operações da API não podem exceder 16 KB ao

utilizar o CKM_AES_GCM mecanismo (p. 372)• Problema A derivação chave Diffie-Hellman (ECDH) da onda íptica é executada parcialmente dentro

do HSM (p. 372)• Problema A verificação das assinaturas do secp256k1 falha nas plataformas EL6, tais como centos6 e

RHEL6 (p. 372)

369

Page 376: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para o Biblioteca PKCS #11

Problema Papel de embrulho AES na versão 3.0.0 do BibliotecaPKCS #11 não valida os ivs antes da utilizaçãoSe você especificar um IV com menos de 8 bytes de comprimento, ele será preenchido por bytesimprevisíveis antes de usar.

Note

Isso impacta C_WrapKey somente com o mecanismo CKM_AES_KEY_WRAP.

• Impact Se fornecer uma IV com mais de 8 bytes na versão 3.0.0 de Biblioteca PKCS #11, pode nãoconseguir retirar a tecla.

• Workarounds (Soluções alternativas):• Recomendamos vivamente que atualize para a versão 3.0.1 ou superior do Biblioteca PKCS #11,

que aplica adequadamente o comprimento IV durante o invólucro de chave AES. Alterar o seu códigode embrulho para passar um NULO IV ou especificar o IV predefinido de 0xA6A6A6A6A6A6A6A6.Para mais informações, consulte Ivs personalizados com comprimento não conforme para o invólucroprincipal AES (p. 384).

• Se embrulhou quaisquer chaves com a versão 3.0.0 do Biblioteca PKCS #11 usando um IV inferior a 8bytes, contacte-nos para apoio.

• Estado da resolução: Este problema foi resolvido na versão 3.0.1 do Biblioteca PKCS #11. Paraempacotar chaves usando o empacotamento de chaves do AES, especifique um IV que seja NULL oude 8 bytes de comprimento.

Problema PKCS#11 SDK 2.0.4 e versões anteriores utilizaramsempre o IV predefinido de 0xA6A6A6A6A6A6A6A6 para papelde embrulho AES e desembrulharOs IVs fornecidos pelo usuário foram ignorados silenciosamente.

Note

Isso impacta C_WrapKey somente com o mecanismo CKM_AES_KEY_WRAP.

• Impact• se você usou o PKCS#11 SDK 2.0.4 ou uma versão anterior e um IV fornecido pelo usuário, as

chaves serão empacotadas com o IV padrão de 0xA6A6A6A6A6A6A6A6.• Se você usou o PKCS#11 SDK 3.0.0 ou posterior e um IV fornecido pelo usuário, as chaves serão

empacotadas com o IV fornecido pelo usuário.• Workarounds (Soluções alternativas):

• para desempacotar chaves empacotadas com o PKCS#11 SDK 2.0.4 ou anterior, use o padrão IV de0xA6A6A6A6A6A6A6A6.

• Para desempacotar chaves empacotadas com o PKCS#11 SDK 3.0.0 ou posterior, use o IV fornecidopelo usuário.

• Estado da resolução: Recomendamos vivamente que altere o seu código de empacotamento edesembrulzação para passar um NULO IV ou especificar o IV predefinido de 0xA6A6A6A6A6A6A6A6.

Problema O CKA_DERIVE atributo não foi suportado e não foitratado• Estado da resolução: Implementámos correções para aceitar CKA_DERIVE se estiver definido paraFALSE. CKA_DERIVE definir para TRUE não será suportado até que começemos a adicionar suporte

370

Page 377: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para o Biblioteca PKCS #11

da função de derivação de chave a AWS CloudHSM. Você deve atualizar seu cliente e SDK(s) para aversão 1.1.1 ou superior para se beneficiar da correção.

Problema O CKA_SENSITIVE atributo não foi suportado e não foitratado• Estado da resolução: Implementámos correcções para aceitar e honrar devidamente o CKA_SENSITIVE

atributo. Você deve atualizar seu cliente e SDK(s) para a versão 1.1.1 ou superior para se beneficiar dacorreção.

Problema A ortografia e assinatura multipeças não sãosuportadas• Impact C_DigestUpdate e C_DigestFinal não são implementados. C_SignFinal também não é

implementado e apresentará falha com CKR_ARGUMENTS_BAD para um buffer não NULL.• Solução Associe os seus dados à sua aplicação e utilização AWS CloudHSM apenas para assinar a

cardinal.• Estado da resolução: Estamos a fixar o cliente e os sdks para implementar corretamente a ortografia

multiparte. As atualizações serão anunciadas no fórum do AWS CloudHSM e na página de histórico deversões

Problema C_GenerateKeyPair não pega CKA_MODULUS_BITSou CKA_PUBLIC_EXPONENT no modelo privado de forma queesteja em conformidade com as normas• Impact C_GenerateKeyPair deve devolver CKA_TEMPLATE_INCONSISTENT quando o modelo

privado contém CKA_MODULUS_BITS ou CKA_PUBLIC_EXPONENT. Em vez disso, gera uma chaveprivada para a qual todos os campos de utilização estão definidos para FALSE. A chave não pode serutilizada.

• Solução Recomendamos que a sua aplicação verifique os valores do campo de utilização para além docódigo de erro.

• Estado da resolução: Estamos a implementar correções para devolver a mensagem de erro adequadaquando é utilizado um modelo de chave privada incorreto. A biblioteca PKCS#11 atualizada seráanunciada na página de histórico de versões.

Problema Não pode ter mais de 16 KB de dadosPara buffers maiores, apenas os primeiros 16 KB sofrerão hash e serão retornados. O excesso de dadosera ignorado silenciosamente.

• Estado da resolução: Os dados com um tamanho inferior a 16 KB continuam a ser enviados para oHSM para a dispersão. Adicionamos a capacidade de aplicar hash localmente no software em dadoscom extensão entre 16 KB e 64 KB. O cliente e os SDKs falharão explicitamente se o buffer de dadosfor superior a 64 KB. Você deve atualizar seu cliente e SDK(s) para a versão 1.1.1 ou superior para sebeneficiar da correção.

371

Page 378: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para o Biblioteca PKCS #11

Problema Tampões para C_Encrypt e C_Decrypt Asoperações da API não podem exceder 16 KB ao utilizar oCKM_AES_GCM mecanismoAWS CloudHSM não suporta encriptação AES-GCM multiparte.

• Impact Não pode utilizar o CKM_AES_GCM para encriptar dados superiores a 16 KB.• Solução Pode utilizar um mecanismo alternativo como CKM_AES_CBC ou pode dividir os seus dados

em pedaços e encriptar cada peça individualmente. É necessário gerenciar a divisão de seus dados e acriptografia subsequente. O AWS CloudHSM não executa a criptografia AES-GCM em várias partes paravocê. Observe que o FIPS requer que o vetor de inicialização (IV) para AES-GCM seja gerado no HSM.Portanto, o IV para cada parte dos dados criptografados em AES-GCM será diferente.

• Estado da resolução: Estamos a corrigir o SDK para falhar explicitamente se o tampão de dadosfor demasiado grande. Retornaremos CKR_MECHANISM_INVALID para as operações de APIC_EncryptUpdate e C_DecryptUpdate. Estamos avaliando alternativas para oferecer suporte abuffers maiores sem depender da criptografia em várias partes. As atualizações serão anunciadas nofórum do AWS CloudHSM e na página de histórico de versões

Problema A derivação chave Diffie-Hellman (ECDH) da ondaíptica é executada parcialmente dentro do HSMSua chave privada EC permanece no HSM em todos os momentos, mas o processo de derivação dechaves é realizada em várias etapas. Consequentemente, os resultados intermediários de cada etapaestão disponíveis no cliente.

• Impact A chave derivada utilizando o CKM_ECDH1_DERIVE está primeiro disponível no cliente e depoisimportado para o HSM. Um identificador de chave é retornado ao aplicativo.

• Solução Se estiver a implementar a transferência SSL/TLS em AWS CloudHSM, esta limitação podenão ser um problema. Se o aplicativo precisar da sua chave para permanecer continuamente em umlimite FIPS, é recomendável o uso de um protocolo alternativo que não dependa da derivação de chavesECDH.

• Estado da resolução: Estamos a desenvolver a opção de realizar uma derivação chave ECDHinteiramente dentro do HSM. A implementação atualizada será anunciada na página de histórico deversões quando estiver disponível.

Problema A verificação das assinaturas do secp256k1 falha nasplataformas EL6, tais como centos6 e RHEL6Isto acontece porque a biblioteca do CLOUDHSM PKCS#11 evita uma chamada de rede durante ainicialização da operação de verificação utilizando openssl para verificar os dados da curva EC. ComoSecp256k1 não tem suporte do pacote OpenSSL padrão nas plataformas do EL6, haverá falha nainicialização.

• Impact A verificação da assinatura da Secp256k1 irá falhar nas plataformas EL6. Haverá falha nachamada para verificar com um erro CKR_HOST_MEMORY.

• Solução Recomendamos que utilize o Amazon Linux 1 ou qualquer plataforma EL7, se a aplicaçãoPKCS#11 necessitar de verificar as assinaturas do secp256k1. Como alternativa, atualize para umaversão do pacote OpenSSL que ofereça suporte a curva secp256k1.

• Estado da resolução: Estamos a implementar correções para voltar ao HSM se a validação da curvalocal não estiver disponível. A biblioteca PKCS#11 atualizada será anunciada na página de histórico deversões (p. 387).

372

Page 379: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos do SDK do JCE

Problemas conhecidos do SDK do JCETópicos

• Problema Ao trabalhar com pares de teclas assimétricas, vê a capacidade chave ocupada mesmoquando não está a criar ou importar chaves explicitamente (p. 373)

• Problema Não pode especificar atributos ao desembalar chaves (p. 373)• Problema A chave JCE é apenas de leitura (p. 373)• Problema Os tampões para encriptação AES-GCM não podem exceder 16.000 bytes (p. 374)• Problema A derivação chave Diffie-Hellman (ECDH) da onda íptica é executada parcialmente dentro

do HSM (p. 374)

Problema Ao trabalhar com pares de teclas assimétricas, vê acapacidade chave ocupada mesmo quando não está a criar ouimportar chaves explicitamente• Impact Este problema pode fazer com que os seus hsms saiam inesperadamente do espaço-chave e

ocorram quando a sua aplicação utiliza um objeto principal JCE padrão para operações cripto em vezde uma CaviumKey objeto. Quando você usa um objeto de chave JCE padrão, o CaviumProviderimporta implicitamente essa chave para o HSM como uma chave de sessão e não exclui essa chaveaté que o aplicativo seja encerrado. Como resultado, as chaves aumentam enquanto o aplicativo estáem execução e podem fazer com que o espaço livre de chaves dos HSMs se esgote, congelando seuaplicativo.

• Solução Quando utilizar o CaviumSignature classe, CaviumCipher classe, CaviumMac classeou CaviumKeyAgreement classe, deve fornecer a chave como CaviumKey em vez de um objeto dechave JCE padrão.

É possível converter manualmente uma chave normal em um CaviumKey usando a classe ImportKeye depois excluir manualmente a chave após a conclusão da operação.

• Estado da resolução: Estamos a atualizar o CaviumProvider para gerir adequadamente asimportações implícitas. A correção será anunciada na página de histórico de versões quando estiverdisponível.

Problema Não pode especificar atributos ao desembalar chaves• Impact Todas as teclas são desembrulhadas como teclas de sessão exportáteis.• Solução Pode script key_mgmt_util para desembalar chaves com personalização limitada de atributos ou

utilize a biblioteca PKCS #11 para desembalar chaves com suporte de modelo completo.• Estado da resolução: Estamos a planear adicionar a especificação de parâmetros chave para o

comando de desembrulhar do JCE SDK numa versão futura. A atualização será anunciada na página dehistórico de versões, quando estiver disponível.

Problema A chave JCE é apenas de leitura• Impact Não pode armazenar um tipo de objeto que não seja suportado pelo HSM na loja JCE

hoje. Sobretudo, você não pode armazenar certificados no repositório de chaves. Isso impede ainteroperabilidade com ferramentas como jarsigner, que espera encontrar o certificado no repositório dechaves.

• Solução Pode reprocessar o seu código para carregar certificados de ficheiros locais ou de um local doregisto S3 em vez de partir da keystore.

373

Page 380: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para o

Mecanismo dinâmico do OpenSSL

• Estado da resolução: Estamos a adicionar suporte para o armazenamento do certificado na keystore.Esse recurso será anunciado na página de histórico de versões, quando estiver disponível.

Problema Os tampões para encriptação AES-GCM não podemexceder 16.000 bytesA encriptação AES-GCM multiparte não é suportada.

• Impact Não pode utilizar AES-GCM para encriptar dados com mais de 16 000 bytes.• Solução Pode utilizar um mecanismo alternativo, como AES-CBC, ou pode dividir os seus dados em

pedaços e encriptar cada peça individualmente. Se você dividir os dados, gerencie o texto cifradodividido e sua descriptografia. Como o FIPS requer que o vetor de inicialização (IV) para AES-GCM sejagerado no HSM, o IV de cada parte dos dados criptografados por AES-GCM será diferente.

• Estado da resolução: Estamos a corrigir o SDK para falhar explicitamente se o tampão de dadosfor demasiado grande. Estamos avaliando alternativas para oferecer suporte a buffers maiores semdepender da criptografia em várias partes. As atualizações serão anunciadas no fórum do AWSCloudHSM e na página de histórico de versões

Problema A derivação chave Diffie-Hellman (ECDH) da ondaíptica é executada parcialmente dentro do HSMSua chave privada EC permanece no HSM em todos os momentos, mas o processo de derivação dechaves é realizada em várias etapas. Consequentemente, os resultados intermediários de cada etapaestão disponíveis no cliente. Um exemplo de derivação de chave ECDH está disponível nos exemplos decódigo Java (p. 268).

• Impact A versão 3.0 do software adiciona a funcionalidade ECDH ao JCE. Quando você usa omecanismo CKM_ECDH1_DERIVE para derivar a chave, ele fica disponível primeiro no cliente e depoisé importado para o HSM. Um identificador de chave é retornado ao aplicativo.

• Solução Se estiver a implementar a transferência SSL/TLS em AWS CloudHSM, esta limitação podenão ser um problema. Se o aplicativo precisar da sua chave para permanecer continuamente em umlimite FIPS, é recomendável o uso de um protocolo alternativo que não dependa da derivação de chavesECDH.

• Estado da resolução: Estamos a desenvolver a opção de realizar uma derivação chave ECDHinteiramente dentro do HSM. Quando disponível, anunciaremos a implementação atualizada na páginade histórico de versões.

Problemas conhecidos para o Mecanismo dinâmico doOpenSSLEstes são os problemas conhecidos para Mecanismo dinâmico do OpenSSL

Tópicos• Problema Não pode instalar AWS CloudHSM openssl Dynamic Engine em RHEL6 e centos6

(p. 375)• Problema Apenas a descarga RSA para o HSM é suportada por predefinição (p. 375)• Problema A encriptação e descodificação RSA com almofadado OAEP utilizando uma chave no HSM

não é suportada (p. 375)• Problema Apenas a geração de chaves privadas das chaves RSA e ECC é transferida para o

HSM (p. 375)

374

Page 381: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para o

Mecanismo dinâmico do OpenSSL

Problema Não pode instalar AWS CloudHSM openssl DynamicEngine em RHEL6 e centos6• Impact Apenas o motor Dynamic Engine suporta openssl 1.0.2[f+] (p. 407). Por padrão, o RHEL 6 e o

CentOS 6 são fornecidos com o OpenSSL 1.0.1.• Solução Atualize a biblioteca openssl no RHEL 6 e centos 6 para a versão 1.0.2[f+].

Problema Apenas a descarga RSA para o HSM é suportada porpredefinição• Impact Para maximizar o desempenho, o SDK não está configurado para descarregar funções

adicionais, tais como geração de números aleatórios ou operações CE-DH.• Solução Contacte-nos através de um caso de assistência se precisar de descarregar operações

adicionais.• Estado da resolução: Estamos a adicionar suporte ao SDK para configurar opções de descarga através

de um ficheiro de configuração. A atualização será anunciada na página de histórico de versões, quandoestiver disponível.

Problema A encriptação e descodificação RSA com almofadadoOAEP utilizando uma chave no HSM não é suportada• Impact Qualquer chamada para encriptação RSA e descodificação com almofadado OAEP falha com

um erro dividido por zero. Isso ocorre porque o mecanismo dinâmico OpenSSL chama a operaçãolocalmente usando o arquivo PEM falso em vez de descarregar a operação para o HSM.

• Solução Pode realizar este procedimento utilizando o Biblioteca PKCS #11 (p. 226) ou o AWSCloudHSM Fornecedor de JCE (p. 253).

• Estado da resolução: Estamos a adicionar apoio ao SDK para carregar corretamente esta operação. Aatualização será anunciada na página de histórico de versões, quando estiver disponível.

Problema Apenas a geração de chaves privadas das chavesRSA e ECC é transferida para o HSMPara qualquer outro tipo de chave, o mecanismo OpenSSL do AWS CloudHSM não é usado para oprocessamento de chamadas. Em vez disso, o mecanismo OpenSSL local será usado. Isso gera umachave localmente no software.

• Impact Como o failover é silencioso, não há indicação de que não recebeu uma chave que foi geradade forma segura no HSM. Você verá um rastreamento de saída que contém a string "...........++++++" se a chave for gerada localmente pelo OpenSSL no software. Esse rastreamento está ausentequando a operação é descarregada para o HSM. Como a chave não é gerada ou armazenada no HSM,ela não estará disponível para uso futuro.

• Solução Utilize apenas o motor openssl para tipos de teclas que suporta. Para todos os outros tipos dechave, use PKCS #11 ou JCE em aplicativos ou use key_mgmt_util na AWS CLI.

375

Page 382: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioProblemas conhecidos para a

integração de aplicativos de terceiros

Problemas conhecidos para a integração deaplicativos de terceirosProblema Oracle define o atributo PKCS #11 CKA_MODIFIABLEdurante a geração principal, mas o HSM não o suportaEste limite é definido no Biblioteca PKCS #11. Para obter mais informações, consulte a anotação 1 emAtributos do PKCS #11 compatíveis (p. 238).

• Impact Falha na criação da chave mestre Oracle.• Solução Definir a variável do ambiente especial CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE para

VERDADEIRO quando criar uma nova chave principal. Essa variável de ambiente só é necessária parageração de chave mestra e não é necessário usá-la para qualquer outra coisa. Por exemplo, você usariaessa variável de ambiente para a primeira chave mestra criada e, depois, você só a usaria novamentese quisesse mudar a edição da chave mestra. Para obter mais informações, consulte Gerar a chave decriptografia mestra do Oracle TDE (p. 329).

• Estado da resolução: Estamos a melhorar o firmware HSM para apoiar totalmente o atributoCKA_MODIFICÁVEL. As atualizações serão anunciadas no fórum do AWS CloudHSM e na página dehistórico de versões

A conexão com o cluster foi perdidaAo configurar o cliente do AWS CloudHSM (p. 36), você forneceu o endereço IP do primeiro HSM nocluster. Este endereço IP é salvo no arquivo de configuração para o AWS CloudHSM cliente. Quando ocliente é iniciado, ele tenta se conectar a esse endereço IP. Se não puder—por exemplo, porque o HSMfalhou ou foi excluído—os seguintes erros podem aparecer:

LIQUIDSECURITY: Daemon socket connection error

LIQUIDSECURITY: Invalid Operation

Para resolver esses erros, atualize o arquivo de configuração com o endereço IP de um HSM ativo eacessível no cluster.

Para atualizar o arquivo de configuração para o do cliente do AWS CloudHSM

1. Use uma das seguintes maneiras para encontrar o endereço IP de um HSM ativo no cluster.

• Visualize a guia HSMs na página de detalhes do cluster no console do AWS CloudHSM.• Use o AWS Command Line Interface (AWS CLI) para emitir o comando describe-clusters.

Esse endereço IP será necessário em uma etapa subsequente.2. Use o comando a seguir para parar o cliente.

Amazon Linux

$ sudo stop cloudhsm-client

376

Page 383: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioConexão perdida

Amazon Linux 2

$ sudo service cloudhsm-client stop

CentOS 6

$ sudo stop cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client stop

RHEL 6

$ sudo stop cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client stop

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client stop

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe stop AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

Use Ctrl+C na janela de comando onde você iniciou o cliente do AWS CloudHSM.3. Use o comando a seguir para atualizar o arquivo de configuração do cliente, fornecendo o endereço IP

que tiver encontrado em uma etapa anterior.

$ sudo /opt/cloudhsm/bin/configure -a <IP address>

4. Use o comando a seguir para iniciar o cliente.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

377

Page 384: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioManter os usuários do HSM em sincronia

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Manter os usuários do HSM em sincronia entre osHSMs no cluster

Para gerenciar os usuários de HSM (p. 53), use uma ferramenta de linha de comando de AWS CloudHSMconhecida como cloudhsm_mgmt_util. Ela se comunica apenas com os HSMs presentes no arquivo deconfiguração da ferramenta. Ela não reconhece os outros HSMs no cluster que não estão presentes noarquivo de configuração.

O AWS CloudHSM sincroniza as chaves nos seus HSMs com todos os HSM no cluster, mas nãosincroniza os usuários ou as políticas do HSM. Ao usar cloudhsm_mgmt_util para gerenciar usuários deHSM (p. 53), essas alterações do usuário podem afetar apenas alguns dos HSMs do cluster—aquelespresentes no arquivo de configuração cloudhsm_mgmt_util. Isso pode causar problemas quando o AWSCloudHSM sincroniza chaves nos HSMs do cluster, pois os usuários que possuem as chaves podem nãoexistir em todos os HSMs do cluster.

Para evitar esses problemas, edite o arquivo de configuração cloudhsm_mgmt_util antes de gerenciaros usuários. Para obter mais informações, consulte Etapa 4: atualizar o arquivo de configuração docloudhsm_mgmt_util (p. 87).

Verificar o desempenho do HSMPara verificar a performance dos HSMs no cluster do AWS CloudHSM, você pode usar a ferramentapkpspeed (Linux) ou pkpspeed_blocking (Windows) que está incluída no software cliente do AWS

378

Page 385: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar o desempenho

CloudHSM. Para obter mais informações sobre como instalar o cliente em uma instância do EC2 paraLinux, consulte Instalar e configurar o cliente do AWS CloudHSM (Linux) (p. 35). Para obter maisinformações sobre como instalar o cliente em uma instância do Windows, consulte Instalar e configurar ocliente do AWS CloudHSM (Windows) (p. 37).

Após instalar e configurar o cliente do AWS CloudHSM, execute o comando a seguir para iniciá-lo.

Amazon Linux

$ sudo start cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

Windows

• Para clientes Windows 1.1.2+:

C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient

• Para clientes Windows 1.1.1 e posterior:

C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg

Se você já instalou o software cliente, talvez seja necessário fazer download e instalar a versão maisrecente para obter a pkpspeed. Você pode encontrar a ferramenta pkpspeed em /opt/cloudhsm/bin/pkpspeed no Linux ou C:\Program Files\Amazon\CloudHSM\ no Windows.

Para usar pkpspeed, execute o comando pkpspeed ou pkpspeed_blocking.exe, especificando o nome dousuário e a senha de um usuário de criptografia (CU) no HSM. Em seguida, defina as opções a seremusadas, considerando as seguintes recomendações.

379

Page 386: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar o desempenho

Recomendações

• Para testar o desempenho do sinal RSA e verificar as operações, escolha a cifra RSA_CRTem Linux ou a opção B no Windows. Não escolha RSA (opção A no Windows). As cifras sãoequivalentes, mas RSA_CRT são otimizadas para o desempenho.

• Comece com um pequeno número de tópicos. Para testar o desempenho do AES, um tópiconormalmente é suficiente para mostrar o máximo desempenho. Para testar o desempenho doRSA (RSA_CRT), normalmente são suficientes três ou quatro tópicos.

Os exemplos a seguir mostram as opções que você pode escolher com pkpspeed (Linux) oupkpspeed_blocking.exe (Windows) para testar o desempenho do HSM nas operações RSA e AES.

Example – Usar pkpspeed para testar a performance do RSA

Você pode executar esse exemplo no Windows, Linux e sistemas operacionais compatíveis.

Linux

Use estas instruções para Linux e sistemas operacionais compatíveis.

/opt/cloudhsm/bin/pkpspeed -s CU user name -p password

SDK Version: 2.03

Available Ciphers: AES_128 AES_256 3DES RSA (non-CRT. modulus size can be 2048/3072) RSA_CRT (same as RSA)For RSA, Exponent will be 65537

Current FIPS mode is: 00002Enter the number of thread [1-10]: 3Enter the cipher: RSA_CRTEnter modulus length: 2048Enter time duration in Secs: 60Starting non-blocking speed test using data length of 245 bytes...[Test duration is 60 seconds]

Do you want to use static key[y/n] (Make sure that KEK is available)?n

Windows

c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s CU user name -p password

Please select the test you want to run

RSA non-CRT------------------->ARSA CRT----------------------->BBasic 3DES CBC---------------->CBasic AES--------------------->DFIPS Random------------------->HRandom------------------------>IAES GCM ---------------------->K

eXit------------------------>XB

Running 4 threads for 25 sec

Enter mod size(2048/3072):2048

380

Page 387: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVerificar o desempenho

Do you want to use Token key[y/n]nDo you want to use static key[y/n] (Make sure that KEK is available)? nOPERATIONS/second 821/1OPERATIONS/second 833/1OPERATIONS/second 845/1OPERATIONS/second 835/1OPERATIONS/second 837/1OPERATIONS/second 836/1OPERATIONS/second 837/1OPERATIONS/second 849/1OPERATIONS/second 841/1OPERATIONS/second 856/1OPERATIONS/second 841/1OPERATIONS/second 847/1OPERATIONS/second 838/1OPERATIONS/second 843/1OPERATIONS/second 852/1OPERATIONS/second 837/

Example – Usar pkpspeed para testar a performance do AES

Linux

Use estas instruções para Linux e sistemas operacionais compatíveis.

/opt/cloudhsm/bin/pkpspeed -s <CU user name> -p <password>

SDK Version: 2.03

Available Ciphers: AES_128 AES_256 3DES RSA (non-CRT. modulus size can be 2048/3072) RSA_CRT (same as RSA)For RSA, Exponent will be 65537

Current FIPS mode is: 00000002Enter the number of thread [1-10]: 1Enter the cipher: AES_256Enter the data size [1-16200]: 8192Enter time duration in Secs: 60Starting non-blocking speed test using data length of 8192 bytes...

Windows

c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s CU user name -p passwordlogin as USERInitializing Cfm2 library SDK Version: 2.03

Current FIPS mode is: 00000002Please enter the number of threads [MAX=400] : 1Please enter the time in seconds to run the test [MAX=600]: 20

Please select the test you want to run

RSA non-CRT------------------->ARSA CRT----------------------->BBasic 3DES CBC---------------->CBasic AES--------------------->D

381

Page 388: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioResolver falhas na criação do cluster

FIPS Random------------------->HRandom------------------------>IAES GCM ---------------------->K

eXit------------------------>XD

Running 1 threads for 20 sec

Enter the key size(128/192/256):256Enter the size of the packet in bytes[1-16200]:8192OPERATIONS/second 9/1OPERATIONS/second 10/1OPERATIONS/second 11/1OPERATIONS/second 10/1OPERATIONS/second 10/1OPERATIONS/second 10/...

Resolver falhas na criação do clusterQuando você cria um cluster, o AWS CloudHSM cria a função vinculada a serviçoAWSServiceRoleForCloudHSM, caso ela ainda não exista. Se o AWS CloudHSM não puder criar a funçãovinculada a serviço, sua tentativa de criar um cluster poderá falhar.

Este tópico explica como resolver os problemas mais comuns para que você possa criar um cluster comsucesso. Você precisa criar essa função apenas uma vez. Uma vez que a função vinculada a serviço forcriada na sua conta, você poderá usar qualquer um dos métodos com suporte para criar clusters adicionaise gerenciá-los.

As seções a seguir oferecem sugestões para solucionar falhas de criação de cluster relacionadasà função vinculada a serviço. Se você tentou, mas ainda não conseguiu criar um cluster, entreem contato com a AWS Support. Para obter mais informações sobre a função vinculada a serviçoAWSServiceRoleForCloudHSM, consulte Funções vinculadas ao serviço para o AWS CloudHSM (p. 362).

Tópicos• Adicionar a permissão ausente (p. 382)• Criar a função vinculada ao serviço manualmente (p. 383)• Usar um usuário não federado (p. 383)

Adicionar a permissão ausentePara criar uma função vinculada a serviço, o usuário deve ter a permissãoiam:CreateServiceLinkedRole. Se o usuário do IAM que está criando o cluster não tiver essapermissão, o processo de criação do cluster falhará quando tentar criar a função vinculada a serviço nasua conta da AWS.

Quando uma permissão ausente causa a falha, a mensagem de erro inclui o seguinte texto.

Essa operação exige que o chamador tenha permissão para chamar iam:CreateServiceLinkedRole para criar a função vinculada a serviço CloudHSM.

Para resolver esse erro, forneça ao usuário do IAM que está criando o cluster a permissãoAdministratorAccess ou adicione a permissão iam:CreateServiceLinkedRole à política do IAMdesse usuário. Para obter instruções, consulte Adicionar permissões a um usuário novo ou existente.

Em seguida, tente criar o cluster (p. 18) novamente.

382

Page 389: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioCriar a função vinculada ao serviço manualmente

Criar a função vinculada ao serviço manualmenteVocê pode usar o console, a CLI ou a API do IAM para criar a função vinculada a serviçoAWSServiceRoleForCloudHSM. Para mais informações, consulte Criação de uma função vinculada aoserviço no Guia do usuário do IAM.

Usar um usuário não federadoUsuários federados, cujas credenciais se originam fora da AWS, podem executar muitas das tarefas de umusuário não federado. No entanto, a AWS não permite que os usuários façam chamadas de API para criaruma função vinculada a serviço a partir de um endpoint federado.

Para resolver esse problema, crie um usuário não federado (p. 16) com a permissãoiam:CreateServiceLinkedRole ou dê a permissão iam:CreateServiceLinkedRole a um usuárionão federado existente. Em seguida, peça a esse usuário que crie um cluster (p. 18) na AWS CLI. Isso criaa função vinculada a serviço na sua conta.

Depois de criada a função vinculada a serviço, se você preferir, poderá excluir o cluster que o usuárionão federado criou. A exclusão do cluster não afeta a função. Posteriormente, qualquer usuário com aspermissões necessárias, incluindo usuários federados, poderá criar clusters do AWS CloudHSM na suaconta.

Para verificar se a função foi criada, abra o console do IAM em https://console.aws.amazon.com/iam/ eescolha Roles (Funções). Ou use o comando get-role do IAM na AWS CLI.

$ aws iam get-role --role-name AWSServiceRoleForCloudHSM{ "Role": { "Description": "Role for CloudHSM service operations", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "cloudhsm.amazonaws.com" } } ] }, "RoleId": "AROAJ4I6WN5QVGG5G7CBY", "CreateDate": "2017-12-19T20:53:12Z", "RoleName": "AWSServiceRoleForCloudHSM", "Path": "/aws-service-role/cloudhsm.amazonaws.com/", "Arn": "arn:aws:iam::111122223333:role/aws-service-role/cloudhsm.amazonaws.com/AWSServiceRoleForCloudHSM" }}

Logs de auditoria do AWS CloudHSM nãoencontrados CloudWatch

Se tiver criado um cluster antes de 20 de janeiro de 2018, você precisará configurar manualmente umafunção vinculada ao serviço (p. 362) para habilitar a entrega dos logs de auditoria desse cluster. Para obterinstruções sobre como habilitar uma função vinculada ao serviço em um cluster do HSM, consulte Noções

383

Page 390: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioRecuperação de logs de configuração do cliente

básicas sobre funções vinculadas ao serviço (p. 362), bem como Criar uma função vinculada ao serviço noGuia do usuário do IAM.

Recuperação de logs de configuração do clienteO script de log do cliente reúne informações ambientais importantes sobre o sistema operacional, o clusterdo AWS CloudHSM, HSMs ativos ou inativos e arquivos de configuração local. Quando você abre umcaso para solicitar assistência com seu aplicativo, essas informações ajudam a AWS a entender suaconfiguração e problema e nos ajudam a solucionar seu problema mais rapidamente.

O script extrai as seguintes informações:

• Sistema operacional e sua versão atual• Informações sobre a configuração do cliente dos arquivos cloudhsm_client.cfg,cloudhsm_mgmt_util.cfg e application.cfg

• Registros do cliente a partir do local específico da plataforma• Informações de cluster e HSM usando cloudhsm_mgmt_util• Informações sobre OpenSSL• Versão atual do cliente e da compilação• Versão do instalador

Execução do script de log do clienteO script cria um arquivo de saída com todas as informações coletadas. Você pode especificar o caminhodo diretório, onde deseja adicionar o arquivo de saída, como um parâmetro de saída no comando. Ocaminho do diretório deve ter o acesso de gravação apropriado. Como alternativa, você pode executaro script sem especificar o caminho do diretório. Nesse caso, o script cria o arquivo de saída dentro dodiretório temp.

Linux: /opt/cloudhsm/bin/client_info -output

Windows: C:\Program Files\Amazon\CloudHSM\client_info -output

Substitua o parâmetro output pelo caminho do diretório onde você deseja criar o arquivo de saída.

Ivs personalizados com comprimento não conformepara o invólucro principal AES

Este tópico de resolução de problemas ajuda-o a determinar se a sua aplicação gera teclas com invólucroirrecuperável. Se for afetado por este problema, utilize este tópico para resolver o problema.

Tópicos• Determine se o seu código gera teclas com invólucro irrecuperável (p. 384)• Ações que deve tomar se o seu código gerar teclas com invólucro irrecuperável (p. 385)

Determine se o seu código gera teclas com invólucroirrecuperávelSó tem impacto se cumprir todos as condições abaixo:

384

Page 391: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAções que deve tomar se o seu códigogerar teclas com invólucro irrecuperável

Condição Como sei?

A sua aplicação utiliza Biblioteca PKCS #11 O Biblioteca PKCS #11 está instalado comolibpkcs11.so ficheiro no seu /opt/cloudhsm/lib pasta. As aplicações escritas na linguagemC usam geralmente o Biblioteca PKCS #11diretamente, enquanto a aplicação escrita em Javapode estar a utilizar a biblioteca indiretamenteatravés de uma camada de abstração Java. Seestiver a utilizar o Windows, NÃO é afetado,como Biblioteca PKCS #11 não está actualmentedisponível para Windows.

A sua aplicação utiliza especificamente a versão3.0.0 do Biblioteca PKCS #11

Se recebeu um e-mail do AWS CloudHSM equipa,provavelmente utiliza a versão 3.0.0 do BibliotecaPKCS #11.

Para verificar a versão do software nas suasinstâncias de aplicação, utilize este comando:

rpm -qa | grep ^cloudhsm

Embrulha as chaves utilizando o invólucro dechave AES

O envolvimento de chaves AES significa queutiliza uma chave AES para destacar outrachave. O nome do mecanismo correspondente éCKM_AES_KEY_WRAP. É utilizado com a funçãoC_WrapKey. Outros mecanismos de envolvimentobaseados em AES que utilizam vetores deinicialização (ivs), tais como CKM_AES_GCM eCKM_CLOUDHSM_AES_GCM, não são afectadospor este problema. Saiba mais sobre funções emecanismos (p. 229).

Você especifica um IV personalizado ao ligar parao invólucro de chave AES e o comprimento desteIV é menor que 8

O invólucro de chave AES é geralmenteinicializado utilizando um CK_MECHANISM daestrutura da seguinte forma:

CK_MECHANISM mech = {CKM_AES_KEY_WRAP,IV_POINTER, IV_LENGTH};

Este problema aplica-se apenas se:

• IV_POINTER não é NULO• IV_LENGTH é inferior a 8 bytes

Se não cumprir todas as condições acima, pode parar de ler agora. As suas chaves envolvidas podem serdesembrulhadas de forma adequada e este problema não o afeta. Caso contrário, consulte the sectioncalled “Ações que deve tomar se o seu código gerar teclas com invólucro irrecuperável” (p. 385).

Ações que deve tomar se o seu código gerar teclascom invólucro irrecuperávelDeve tomar os três passos seguintes:

1. Atualize imediatamente o seu Biblioteca PKCS #11 para uma versão mais recente

385

Page 392: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPrincipais falhas de sincronização

• Mais recente Biblioteca PKCS #11 para Amazon Linux, centos 6 e RHEL 6 (p. 408)• Mais recente Biblioteca PKCS #11 para Amazon Linux 2, centos 7 e RHEL 7 (p. 408)• Mais recente Biblioteca PKCS #11 para Ubuntu 16,04 LTS (p. 408)

2. Atualize o seu software para utilizar uma IV compatível com normas

Recomendamos vivamente que siga o nosso código de amostra e especifique simplesmente umNULO IV, o que faz com que o HSM utilize a norma IV padrão em conformidade com as normas.Alternativamente, pode especificar explicitamente o IV como 0xA6A6A6A6A6A6A6A6 com umcomprimento IV correspondente de 8. Não recomendamos a utilização de qualquer outra IV para oinvólucro de chaves AES e irá desativar explicitamente os ivs personalizados para o embrulho dechaves AES numa versão futura do Biblioteca PKCS #11.

O código de amostra para especificar correctamente o IV aparece em aes_wrap.c em github.3. Identificar e recuperar as teclas envolvidas existentes

Deve identificar quaisquer teclas que envolva utilizando a versão 3.0.0 do Biblioteca PKCS #11e, emseguida, contacte o apoio para obter assistência (https://aws.amazon.com/support) ao recuperar estasteclas.

Important

Este problema apenas tem impacto nas teclas envolvidas na versão 3.0.0 do Biblioteca PKCS#11. Pode desenhar chaves utilizando versões anteriores (pacotes de 2.0.4 e com numeraçãoinferior) ou versões posteriores (3.0.1 e pacotes com numeração superior) do Biblioteca PKCS#11.

Principais falhas de sincronizaçãoSe a sincronização do lado do cliente falhar, AWS CloudHSM faz uma resposta de melhor esforço paralimpar quaisquer chaves indesejadas que possam ter sido criadas (e que são agora indesejadas). Esteprocesso envolve a remoção imediata de material-chave indesejado ou a marcação de material indesejadopara remoção posterior. Em ambos estes casos, a resolução não requer qualquer ação sua. No caso rarode AWS CloudHSM não pode remover e não pode marcar material chave indesejado, tem de eliminar omaterial chave.

Problema: Tenta uma operação de geração de chave de token, importação ou desembrulzação e ver errosque especificam uma falha tombstone.

2018-12-24T18:28:54Z liquidSecurity ERR: print_node_ts_status:[create_object_min_nodes]Key: 264617 failed to tombstone on node:1

Causa: AWS CloudHSM foi removida com sucesso e marcar material chave indesejado.

Resolução Um HSM no seu grupo contém material chave indesejado que não está marcado comoindesejado. Tem de remover manualmente o material chave. Para eliminar manualmente material chaveindesejado, utilize key_mgmt_util (KMU) ou uma API do Biblioteca PKCS #11 ou o Fornecedor de JCE.Para mais informações, consulte apagarchave (p. 139) ou Usar as bibliotecas de software (p. 226).

Para tornar as teclas de tokens mais duradouras, AWS CloudHSM as operações de criação de chaves nãosão bem sucedidas no número mínimo de hsms especificado nas definições de sincronização do lado docliente. Para mais informações, consulte Sincronização de chaves no cloudhsmo AWS (p. 56).

386

Page 393: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioHistórico de versões

Informações sobre o software ecliente do AWS CloudHSM

Para gerenciar e usar os HSMs no cluster, use o AWS CloudHSM cliente (p. 9) e as bibliotecas de softwarerelacionadas. Se você instalou o cliente do AWS CloudHSM para Linux (p. 35) ou Windows (p. 37) equaisquer bibliotecas de software (p. 226) necessárias, tem todos os produtos de software necessáriospara usar o AWS CloudHSM.

Esta seção fornece informações sobre plataformas compatíveis, um histórico de versões completo einstruções para atualizar o cliente e as bibliotecas.

Tópicos• Histórico de versões do software e cliente AWS CloudHSM (p. 387)• Plataformas com suporte (p. 407)• Atualizar as bibliotecas e o cliente Linux (p. 408)

Histórico de versões do software e cliente AWSCloudHSM

Esta página fornece notas de release para cada versão do cliente do AWS CloudHSM (p. 9) e bibliotecasde software relacionadas. Incluímos links de download para as versões mais recentes. Recomendamosusar a versão mais recente sempre que possível.

Para atualizar, é necessário usar um comando em lote que atualiza o cliente e todas as bibliotecas aomesmo tempo. Para obter mais informações, consulte Atualização do cliente (p. 408).

Como verificar a versão do cliente

• Num sistema Linux baseado na Red Hat (incluindo Amazon Linux e centos), utilize o seguinte comando:

rpm -qa | grep ^cloudhsm

• Num sistema Linux baseado em Xenial, utilize o seguinte comando:

apt list --installed | grep ^cloudhsm

• Em um sistema Windows, use o seguinte comando:

wmic product get name,version

Notas de release• Versão 3.2.0 (p. 388)• Versão 3.1.2 (p. 390)

387

Page 394: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.2.0

• Versão 3.1.1 (p. 392)• Versão 3.1.0 (p. 393)• Versões de cliente e software defasadas (p. 396)

Versão 3.2.0Para fazer download do software, escolha a guia de seu sistema operacional preferido e depois o link paracada pacote de software.

Amazon Linux

Transfira o software versão 3.2.0 para Amazon Linux:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Amazon Linux 2

Transfira o software versão 3.2.0 para Amazon Linux 2:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 6

Transferir o software versão 3.2.0 para centos 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 7

Transferir o software versão 3.2.0 para centos 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 6

Transferir o software versão 3.2.0 para o redhat Enterprise Linux 6:

• AWS CloudHSM Client()

388

Page 395: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.2.0

• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 7

Transfira o software versão 3.2.0 para a redhat Enterprise Linux 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Ubuntu 16.04 LTS

Transferir o software versão 3.2.0 para Ubuntu 16.04 LTS:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Windows Server

O AWS CloudHSM é compatível com as versões de 64 bits do Windows Server 2012, do WindowsServer 2012 R2 e do Windows Server 2016. O AWS CloudHSM 3.2.0 O software cliente para WindowsServer inclui o necessário Fornecedores de CNG e KSP. Para obter detalhes, consulte Instalar econfigurar o cliente AWS CloudHSM (Windows) (p. 37). Transfira o software versão mais recente(3.2.0) para Windows Server:

• AWS CloudHSM para Windows Server

A versão 3.2.0 adiciona suporte para a proteção de palavras-passe e outras melhorias.

AWS CloudHSM Software do cliente

• Adiciona suporte para ocultar a sua palavra-passe quando utiliza ferramentas de linha de comandos.Para mais informações, consulte loginhsmo e logouthsm (p. 117) (cloudhsm_mgmt_util) e loginhsmo elogouthsm (p. 200) (key_mgmt_util).

Biblioteca PKCS #11

• Adiciona suporte para a dispersão de dados grandes no software para alguns mecanismos PKCSn.º 11 que foram anteriormente não suportados. Para mais informações, consulte Mecanismossuportados (p. 229).

Mecanismo dinâmico do OpenSSL

• Maior estabilidade e correção de erros.

Fornecedor de JCE

389

Page 396: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.2

• Versão atualizada para fins de consistência.

&Server; do Windows:

• Maior estabilidade e correção de erros.

Versão 3.1.2Para fazer download do software, escolha a guia de seu sistema operacional preferido e depois o link paracada pacote de software.

Amazon Linux

Transfira o software versão 3.1.2 para Amazon Linux:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Amazon Linux 2

Transfira o software versão 3.1.2 para Amazon Linux 2:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 6

Transferir o software versão 3.1.2 para centos 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 7

Transferir o software versão 3.1.2 para centos 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 6

Transferir o software versão 3.1.2 para a redhat Enterprise Linux 6:

• AWS CloudHSM Client()

390

Page 397: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.2

• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 7

Transferir o software versão 3.1.2 para a redhat Enterprise Linux 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Ubuntu 16.04 LTS

Transferir o software versão 3.1.2 para Ubuntu 16.04 LTS:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Windows Server

O AWS CloudHSM é compatível com as versões de 64 bits do Windows Server 2012, do WindowsServer 2012 R2 e do Windows Server 2016. O AWS CloudHSM 3.1.2 O software cliente para WindowsServer inclui o necessário Fornecedores de CNG e KSP. Para obter detalhes, consulte Instalar econfigurar o cliente AWS CloudHSM (Windows) (p. 37). Transfira a versão mais recente (3.1.2) paraWindows Server:

• AWS CloudHSM para Windows Server

A versão 3.1.2 adiciona atualizações a Fornecedor de JCE.

AWS CloudHSM Software do cliente

• Versão atualizada para fins de consistência.

Biblioteca PKCS #11

• Versão atualizada para fins de consistência.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Actualizar log4j para a versão 2.13.3

&Server; do Windows:

391

Page 398: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.1

• Versão atualizada para fins de consistência.

Versão 3.1.1Para fazer download do software, escolha a guia de seu sistema operacional preferido e depois o link paracada pacote de software.

Amazon Linux

Faça download do software versão 3.1.1 para o Amazon Linux:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Amazon Linux 2

Faça download do software versão 3.1.1 para o Amazon Linux 2:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 6

Faça download do software versão 3.1.1 para o CentOS 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 7

Faça download do software versão 3.1.1 para o CentOS 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 6

Faça download do software versão 3.1.1 para o RedHat Enterprise Linux 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

392

Page 399: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.0

RHEL 7

Faça download do software versão 3.1.1 para o RedHat Enterprise Linux 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Ubuntu 16.04 LTS

Faça download do software versão 3.1.1 para o Ubuntu 16.04 LTS:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Windows Server

O AWS CloudHSM é compatível com as versões de 64 bits do Windows Server 2012, do WindowsServer 2012 R2 e do Windows Server 2016. O software cliente do AWS CloudHSM 3.1.1 paraWindows Server inclui os provedores necessários de CNG e KSP. Para obter detalhes, consulteInstalar e configurar o cliente AWS CloudHSM (Windows) (p. 37). Faça download da versão maisrecente (3.1.1) do software para Windows Server:

• AWS CloudHSM para Windows Server

Software cliente do AWS CloudHSM

• Versão atualizada para fins de consistência.

Biblioteca PKCS #11

• Versão atualizada para fins de consistência.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Correções de erros e melhorias no desempenho.

Windows (CNG, KSP)

• Versão atualizada para fins de consistência.

Versão 3.1.0Para fazer download do software, escolha a guia de seu sistema operacional preferido e depois o link paracada pacote de software.

393

Page 400: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.0

Amazon Linux

Faça download do software versão 3.1.0 para o Amazon Linux:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Amazon Linux 2

Faça download do software versão 3.1.0 para o Amazon Linux 2:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 6

Faça download do software versão 3.1.0 para o CentOS 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

CentOS 7

Faça download do software versão 3.1.0 para o CentOS 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 6

Faça download do software versão 3.1.0 para o RedHat Enterprise Linux 6:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

RHEL 7

Faça download do software versão 3.1.0 para o RedHat Enterprise Linux 7:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL

394

Page 401: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersão 3.1.0

• Fornecedor de JCE

Ubuntu 16.04 LTS

Faça download do software versão 3.1.0 para o Ubuntu 16.04 LTS:

• AWS CloudHSM Client()• Biblioteca PKCS #11• Mecanismo dinâmico do OpenSSL• Fornecedor de JCE

Windows Server

O AWS CloudHSM é compatível com as versões de 64 bits do Windows Server 2012, Windows Server2012 R2 e Windows Server 2016. O software cliente do AWS CloudHSM 3.1.0 para Windows Serverinclui os provedores necessários de CNG e KSP. Para obter detalhes, consulte Instalar e configurar ocliente AWS CloudHSM (Windows) (p. 37). Faça download da versão mais recente (3.1.0) do softwarepara Windows Server:

• AWS CloudHSM para Windows Server

A versão 3.1.0 adiciona empacotamento de chaves AES compatível com os padrões (p. 62).

Software cliente do AWS CloudHSM

• Um novo requisito para atualização: a versão do cliente deve corresponder à versão de todas asbibliotecas de software que você está usando. Para atualizar, é necessário usar um comando em loteque atualiza o cliente e todas as bibliotecas ao mesmo tempo. Para obter mais informações, consulteAtualização do cliente (p. 408).

• Key_mgmt_util (KMU) inclui as seguintes atualizações:• Adição de dois novos métodos de empacotamento de chaves AES: empacotamento de chaves AES

compatível com os padrões com preenchimento de zeros e empacotamento de chave AES sempreenchimento. Para obter mais informações, consulte wrapKey (p. 213) e unwrapKey (p. 206).

• Desabilitada a capacidade de especificar um IV personalizado ao empacotar uma chave usandoAES_KEY_WRAP_PAD_PKCS5. Para obter mais informações, consulte Empacotamento de chavesAES (p. 62).

Biblioteca PKCS #11

• Adição de dois novos métodos de empacotamento de chaves AES: empacotamento de chaves AEScompatível com os padrões com preenchimento de zeros e empacotamento de chave AES sempreenchimento. Para obter mais informações, consulte Empacotamento de chaves AES (p. 62).

• É possível configurar o comprimento de salt para assinaturas RSA-PSS. Para saber como usar esserecurso, consulte Configurable salt length for RSA-PSS signatures no GitHub.

Mecanismo dinâmico do OpenSSL

• MUDANÇA DE MUDANÇA: As suas suites com a versão 1.0 e 1.2 da SLT com SHA1 não estãodisponíveis no openssl Engine 3.1.0. Esse problema será resolvido em breve.

• Se você pretende instalar a biblioteca OpenSSL Dynamic Engine no RHEL 6 ou no CentOS 6, consulteum problema conhecido (p. 375) sobre a versão padrão do OpenSSL instalada nesses sistemasoperacionais.

• Maior estabilidade e correção de erros.

395

Page 402: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

Fornecedor de JCE

• MUDANÇA DE MUDANÇA: Para resolver um problema com a conformidade com a extensão decryptografia Java (JCE), o invólucro AES e o desembrulhar utilizam correctamente o algoritmo deembrulho em vez do algoritmo AES. Isto significa que Cipher.WRAP_MODE e Cipher.UNWRAP_MODEnão é mais bem-sucedido para os mecanismos AES/BCE e AES/CBC.

Para atualizar para a versão de cliente 3.1.0, é necessário atualizar o código. Se você tiver chavesencapsuladas existentes, será necessário prestar bastante atenção ao mecanismo usado paradesencapsular e como os padrões IV foram alterados. Se você encapsulou chaves com a versão decliente 3.0.0 ou anterior, na versão 3.1.1, será necessário usar AESWrap/ECB/PKCS5Padding paradesencapsular as chaves existentes. Para obter mais informações, consulte Empacotamento de chavesAES (p. 62).

• Pode listar várias teclas com a mesma etiqueta do Fornecedor de JCE. Para saber como percorrer todasas chaves disponíveis, consulte Find all keys no GitHub.

• É possível definir valores mais restritivos para atributos durante a criação da chave, incluindo especificarrótulos diferentes para chaves públicas e privadas. Para obter mais informações, consulte Atributos Javacompatíveis (p. 261).

Windows (CNG, KSP)

• Maior estabilidade e correção de erros.

Versões de cliente e software defasadasAs versões de cliente e software a seguir foram defasadas e não estão mais disponíveis para download.As notas de release foram mantidas para acompanhar o histórico.

Versão 3.0.1

A versão 3.0.1 é uma atualização altamente recomendada. Ele fornece uma correção crítica de erro parausuários do PKCS #11.

Software cliente do AWS CloudHSM

• Versão atualizada para fins de consistência.

Biblioteca PKCS #11

• Para evitar erro do usuário que resulta em chaves que não podem ser desempacotadas, essa versãorequer o IV para C_WrapKey com o mecanismo CKM_AES_KEY_WRAP para ser exatamente 8 bytes.Para obter mais informações, consulte Problemas conhecidos para o Biblioteca PKCS #11 (p. 369).

• Para atualizar, consulte Instalar a biblioteca PKCS #11 (p. 226).

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Versão atualizada para fins de consistência.

Windows (CNG, KSP)

396

Page 403: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

• Versão atualizada para fins de consistência.

Versão 3.0.0

A versão 3.0 fornece melhorias importantes para a estabilidade e o desempenho operacional. Esta é umaatualização recomendada devido a várias correções de bugs.

Software cliente do AWS CloudHSM

• Key_mgmt_util inclui as seguintes atualizações:• O mecanismo padrão foi removido de wrapKey e unwrapKey. Você deve fornecer um mecanismo

explicitamente ao usar essas funções.• Adicionado suporte para encapsulamento e desencapsulamento de chaves usando AES-GCM. Para

usar esse mecanismo de encapsulamento, especifique -m 10 com wrapKey e unwrapKey. Para obtermais informações, consulte wrapKey (p. 213) ou unwrapKey (p. 206).

• Alterado o nome do encapsulamento de chaves AES usando o mecanismo 4 deCLOUDHSM_AES_KEY_WRAP para AES_KEY_WRAP_PAD_PKCS5 a fim de refletir que o AWSCloudHSM utiliza o preenchimento PKCS5 enquanto encapsula chaves. Para obter mais informações,consulte a lista de Problemas conhecidos (p. 366).

• findKey aprimorado para retornar chaves de propriedade e compartilhadas pela UC que estáconectada. Para obter mais informações, consulte o artigo findKey (p. 151).

Cloudhsm_mgmt_util inclui as seguintes atualizações:• Os COs podem definir o atributo OBJ_ATTR_TRUSTED em qualquer chave (valor 134) no HSM usando

setAttribute para marcar uma chave como confiável.

Note

OBJ_ATTR_TRUSTED é o único atributo que pode ser definido por um CO. Para obter maisinformações, consulte o comando setAttribute (p. 202) .

• findAllKeys exibe chaves de propriedade de um CU e compartilhadas com esse CU. Saiba mais emfindAllKeys (p. 102).

Biblioteca PKCS #11

• O PKCS #11 não requer mais Redis para desempenhar em alto nível. O Redis não está mais incluídonos pacotes de instalação. Se você usou o Redis em instalações anteriores, atualize seus scripts deinicialização e instalação para remover comandos do Redis.

• Adicionado suporte para criptografia e descriptografia usando D3DES ECB e AES_CTR. A lista completade funções e mecanismos compatíveis com PKCS #11 está disponível no artigo Mecanismos PKCS #11compatíveis (p. 229) .

Amostras de código para des_ecb.c e aes_ctr.c estão disponíveis no GitHub.• Adicionado suporte para derivação de chaves usando HMAC KDF (SP 800-108), que permite que

você use o mecanismo CKM_SP800_108_COUNTER_KDF com a função C_DeriveKey. Para obterinformações adicionais, consulte o exemplo de código hmac-kdf.c.

• Adicionado suporte para encapsulamento e desencapsulamento de chaves usando AES-GCM, pormeio do mecanismo CKM_CLOUDHSM_AES_GCM. Para obter mais informações, consulte o exemploaes_gcm_wrapping no GitHub.

• Adicionado suporte para os seguintes atributos: CKA_NUNCA_EXTRATABLE, CKA_DERIT,CKA_ALWAYS_SENSITIVE, CKA_WRAP_WITH_TRUSTED, CKA_TRUSTED,CKA_WRAP_TEMPLATE, CKA_UNWRAP_TEMPLATE, CKA_DESTROYABLE.

A lista completa de atributos compatíveis está no artigo Atributos de PKCS #11 compatíveis (p. 238).Para saber mais sobre a utilização de chaves fiáveis para embrulhar e desembalar controladas,

397

Page 404: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

consulte o artigo sobre Utilizar chaves fidedignas para controlar os desembrulhos chave (p. 60). Paraver as amostras disponíveis que funcionam com os atributos recentemente suportados, vá para AWSCloudHSM exemplos de github,

• Adicionado o mecanismo, CKM_CLOUDSHM_AES_GCM, que é uma implementação segura dememória AES-GCM. Este mecanismo proprietário é uma alternativa mais segura para o padrãoCKM_AES_GCM. CKM_CLOUDSHM_AES_GCM antecede o IV gerado pelo HSM ao texto cifradoem vez de gravá-lo de volta na estrutura CK_GCM_PARAMS fornecida durante a inicialização dacifra. Você pode usar CKM_CLOUDSHM_AES_GCM com as funções C_Encrypt ou C_WrapKey.Ao usar esse mecanismo, a variável pIV na estrutura CK_GCM_PARAMS deve ser definida comoNULL. Consulte a entrada CKM_CLOUDHSM_AES_GCM na tabela no artigo Mecanismos PKCS #11compatíveis (p. 229).

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Adicionado o repositório de chaves do CloudHSM com suporte a certificados, permitindo ainteroperabilidade com ferramentas de terceiros, como keytool e jarsigner. Para saber como usar esserepositório de chaves, consulte o artigo Repositório de chaves do CloudHSM (p. 268) ou o exemplo CloudHSMKeyStoreExampleRunner no GitHub. Para usar o repositório de chaves com KeyTool eJarsigner, consulte o guia de Integração do CloudHSM KeyStore.

• Adicionado suporte para criptografia e descriptografia usando D3DES ECB e AES_CTR. A listacompleta de funções compatíveis no JDE está disponível no artigo Mecanismos com suporte (p. 257). Você pode encontrar um código de exemplo para o DESedeECMEncryptDecryptRunner e AESCTREncryptDecryptRunner no GitHub.

• Adicionado suporte para encapsulamento e desencapsulamento de chaves usando AES-GCM. Consulteo exemplo AESGCMWrappingRunner no GitHub.

• Suporte adicionado para ECDH. A derivação é parcialmente executada no HSM. Para obterinformações adicionais, consulte a lista de Problemas conhecidos para o SDK do JCE (p. 366) antesde usar o ECDH com o CloudHSM. Para saber como usar o ECDH com o JCE, consulte a amostraECDHOperationsRunner no GitHub.

• O encapsulamento de chaves confiáveis e a derivação de chaves ainda não estão disponíveis por meiodo JCE.

Windows (CNG, KSP)

• Versão atualizada para fins de consistência.• Adicionado o import_key.exe para associar chaves pré-existentes do CloudHSM aos certificados

correspondentes.

Versão 2.0.4

Para fazer download do software, escolha a guia de seu sistema operacional preferido e depois o link paracada pacote de software.

A versão 2.0.4 fornece melhorias importantes para a estabilidade e o desempenho operacionais. Esta éuma atualização recomendada devido a várias correções de bugs.

Software cliente do AWS CloudHSM

• Maior estabilidade e correção de erros.

398

Page 405: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

Biblioteca PKCS #11

• Versão atualizada para fins de consistência.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Maior estabilidade e correção de erros.

Windows (CNG, KSP)

• Maior estabilidade e correção de erros.• Agora é possível armazenar e acessar com segurança as credenciais do HSM por meio do Gerenciador

de credenciais do Windows (p. 284).

Versão 2.0.3

A versão 2.0.3 fornece melhorias importantes para a estabilidade e o desempenho operacional. Esta éuma atualização recomendada devido a várias correções de bugs.

Software cliente do AWS CloudHSM

• Maior estabilidade e correção de erros.

Biblioteca PKCS #11

• Maior estabilidade e correção de erros.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Maior estabilidade e correção de erros.

Windows (CNG, KSP)

• Maior estabilidade e correção de erros.

Versão 2.0.1

É altamente recomendável atualizar para a versão 2.0.1, uma vez que ela fornece várias melhorias desegurança e correções de erros. As alterações significativas desta versão são as seguintes:

Software cliente do AWS CloudHSM

• Melhorias de segurança e correções de erros.

399

Page 406: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

Biblioteca PKCS #11

• Melhorias de segurança e correções de erros.

Mecanismo dinâmico do OpenSSL

• Melhorias de segurança e correções de erros.

Fornecedor de JCE

• Melhorias de segurança e correções de erros.

Windows (CNG, KSP)

• Melhorias de segurança e correções de erros.

Versão < 2.0.0

A versão 2.0.0 fornece melhorias importantes para a estabilidade e o desempenho operacional. Elatambém permite a troca de chaves seguras entre HSMs. As alterações significativas desta versão são asseguintes:

Software cliente do AWS CloudHSM

• Melhorias no desempenho geral e correções de erros.

Biblioteca PKCS #11

• Adicionados os mecanismos de empacotamento das chaves RSA OAEP e RSA AES.• Adicionado suporte à criptografia AES-ECB.• Adicionado suporte à curva secp256k1.

Para obter mais informações sobre os mecanismos de encapsulamento de chave atualizados, consulte aBiblioteca de software do AWS CloudHSM para PKCS # 11 (p. 226).

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Desempenho melhorado para a criptografia e descriptografia de AES-GCM.• Adicionados os mecanismos de empacotamento das chaves RSA OAEP e RSA AES. Note que não

pode especificar atributos chave quando desembrulhar com o Fornecedor de JCE. Para obter maisinformações, consulte Problemas conhecidos do SDK do JCE (p. 373).

• Adicionado suporte à criptografia AES-ECB.• Adicionado suporte à curva secp256k1.

Para obter mais informações sobre mecanismos de encapsulamento de chave atualizados, consulteBiblioteca de software do AWS CloudHSM para Java (p. 253).

Windows (CNG, KSP)

400

Page 407: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

• Versão atualizada para fins de consistência.

Versão 1.1.2

A versão 1.1.2 é uma atualização altamente recomendada, pois contém uma alteração que executao software cliente do AWS CloudHSM para Windows como um serviço, bem como melhorias dedesempenho e correções de erros. As alterações significativas desta versão são as seguintes:

Software cliente do AWS CloudHSM

• Agora, o software cliente do AWS CloudHSM para Windows é executado como um serviço do Windows.

Biblioteca PKCS #11

• Chaves públicas EC em formato DER agora são importadas corretamente.

Note

No momento, o AWS CloudHSM continua oferecendo suporte à capacidade de importar chavesEC em formato bruto. O suporte para esse formato pode ser suspenso em um momento futuro,pois é incompatível com as especificações PKCS #11.

• Melhoria no desempenho e correções de erros.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Versão atualizada para fins de consistência.

Windows (CNG, KSP)

• O cliente do AWS CloudHSM agora é executado como um serviço. Para obter informaçõessobre instruções de uso atualizadas, consulte Instalar e configurar o cliente do AWS CloudHSM(Windows) (p. 37)

Versão 1.1.1

As alterações significativas nesta versão incluem:

Software cliente do AWS CloudHSM

• Maior estabilidade e correção de erros.• Em cloud_hsm_mgmt_util, agora enable_e2e é definido por padrão.• CORREÇÃO DE SEGURANÇA: em key_mgmt_util, resolvido o problema com a análise de assinatura

incorreta do PKCS#1v1.5. Isso elimina possíveis erros ao validar assinaturas com chaves RSAimportadas que usam um expoente público de 3. O CloudHSM não permite gerar chaves RSA comexpoentes menores que 65537 para atender às exigências do FIPS 140-2.

Biblioteca PKCS #11

• Maior estabilidade e correção de erros.

401

Page 408: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

• CORREÇÃO DE SEGURANÇA: Problema resolvido com a análise de assinatura PKCS#1v1.5 incorreta.Isso elimina possíveis erros ao validar assinaturas com chaves RSA importadas que usam um expoentepúblico de 3. O CloudHSM não permite gerar chaves RSA com expoentes menores que 65537 paraatender às exigências do FIPS 140-2.

• ALTERAR A MUDANÇA: Para proteger contra o erro do utilizador, a inicialização AES-GCM requeragora que o tampão IV fornecido pelo utilizador seja zero. O NIST requer que o IV para o AES-GCM sejagerado pelo HSM e observado pelo aplicativo depois que a criptografia é concluída, conforme descritoaqui (p. 229). A extensão do IV é sempre 12 bytes.

• Suporte adicionado para o mecanismo CKM_RSA_PKCS_KEY_PAIR_GEN.• Adição de hashing de software de buffers com mais de 16 KB para digerir, assinar e verificar as

operações. Os hashes de buffers com menos de 16 KB continuam sendo descarregados como antes noHSM.

• ALTERAR A MUDANÇA: Conformidade PKCS#11 reforçada, incluindo falha explícita ao manusearatributos não suportados ou inconsistentes. Se antes seu aplicativo não era exatamente compatívelcom o PKCS#11, você pode experimentar erros ou falhas depois de atualizar para essa versão.Especificamente:• Agora, se um aplicativo já estiver conectado, o login retornará o erro

CKR_USER_ALREADY_LOGGED_IN.• CKA_KEY_GEN_MECHANISM causará um erro se incluído em uma chamada C_CreateObject.• CKA_ALWAYS_SENSITIVE, CKA_LOCAL e CKA_NEVER_EXTRACTABLE causará erros se incluídos

em um modelo de geração de chaves ou de importação.• CKA_VALUE_LEN agora é validado.• Por padrão, novas chaves são delimitadas como chaves de sessão em vez de chaves de token, para

oferecer conformidade com o PKCS#11.

Mecanismo dinâmico do OpenSSL

• Maior estabilidade e correção de erros.• CORREÇÃO DE SEGURANÇA: Problema resolvido com a análise de assinatura PKCS#1v1.5 incorreta.

Isso elimina possíveis erros ao validar assinaturas com chaves RSA importadas que usam um expoentepúblico de 3. O CloudHSM não permite gerar chaves RSA com expoentes menores que 65537 paraatender às exigências do FIPS 140-2.

Fornecedor de JCE

• Maior estabilidade e correção de erros.• Adição de hashing de software de buffers com mais de 16 KB para digerir, assinar e verificar as

operações. Os hashes de buffers com menos de 16 KB continuam sendo descarregados como antes noHSM.

• Para chaves não exportáveis, agora getFormat e getEncoded retorna NULL sem lançar uma exceção.

Windows (CNG, KSP)

• CORREÇÃO DE SEGURANÇA: Problema resolvido com a análise de assinatura PKCS#1v1.5 incorreta.Isso elimina possíveis erros ao validar assinaturas com chaves RSA importadas que usam um expoentepúblico de 3. O CloudHSM não permite gerar chaves RSA com expoentes menores que 65537 paraatender às exigências do FIPS 140-2.

Versão 1.1.0

As alterações significativas nesta versão incluem:

402

Page 409: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

AWS CloudHSM Software do cliente

• Plataformas Linux adicionadas.• Amazon Linux 2• Ubuntu 16.04 LTS• RedHat Enterprise Linux 6 (RHEL 6)• RedHat Enterprise Linux 7 (RHEL 7)• CentOS 6• CentOS 7

Provedores de CNG/KSP para Windows Server

O software cliente do AWS CloudHSM para Windows Server inclui os provedores necessários de CNG eKSP.

• Versão atualizada para fins de consistência.

Biblioteca PKCS #11

• Adição de suporte para plataformas Linux.

Mecanismo dinâmico do OpenSSL

• Adição de suporte para plataformas Linux.

Fornecedor de JCE

• Se tiver feito o download deste pacote antes de 23 de maio, o PDT de 5PM terá de recompilar a suacandidatura para que funcione com esta versão do JCE, como a loadNative() o método foi alteradotemporariamente de não estático para estático. Se desejar, você pode fazer download do pacotenovamente e instalar o JCE. Restaurámos o loadNative() método para estática.

• Eliminação da alteração de quebra na versão 1.0.18. O método públicoLoginManager.getInstance() aceita os argumentos username e password.

• Adição de suporte para plataformas Linux.

Versão 1,0,18

As alterações significativas nesta versão incluem:

AWS CloudHSM Software do cliente

Adição de um cliente do AWS CloudHSM para Windows Server. Os seguintes sistemas operacionais doWindows Server são aceitos no momento:

• Microsoft Windows Server 2012 (64-bit)• Microsoft Windows Server 2012 R2 (64 bits)• Microsoft Windows Server 2016 (64-bit)

Provedores de CNG/KSP para Windows Server

• Implementação de PKCS7Padding para C_DecryptUpdate e C_EncryptUpdate.• CKA_ID não é mais necessário para geração de chaves privadas RSA.

403

Page 410: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

• Melhoria no desempenho de multithreading.• Correção de vários bugs.

Biblioteca PKCS #11

• Suporte adicionado para PKCS7Padding.• Verificações reforçadas em modelos de chaves.• Correção de vários bugs.

Mecanismo dinâmico do OpenSSL

• Adição de suporte a getCaviumPrivKey para chaves com base em ECC.• Melhor estabilidade quando a conectividade do daemon do cliente for perdida.• Correção de vários bugs.

Fornecedor de JCE

• [Alteração de quebra] O método público LoginManager.getInstance() não aceita os argumentosusername e password diretamente.

• Suporte adicionado para PKCS7Padding.• Adição de métodos de encapsulamento e desencapsulamento.• Melhor estabilidade quando a conectividade do daemon do cliente for perdida.• Correção de vários bugs.

Versão 1,0,14

As alterações significativas nesta versão incluem:

AWS CloudHSM Software do cliente

• Melhoria no comportamento de failover.• Exibe metadados da versão.• Correção de vários bugs.

Biblioteca PKCS #11

• Implementação de PKCS7Padding para C_DecryptUpdate e C_EncryptUpdate.• CKA_ID não é mais necessário para geração de chaves privadas RSA.• Melhoria no desempenho de multithreading.• Correção de vários bugs.

Mecanismo dinâmico do OpenSSL

• Adição de suporte para CSRs para chaves ECC.• Maior estabilidade e tratamento de falhas.

Fornecedor de JCE

Sem alteração. Atualização do número de versão para fins de consistência.

404

Page 411: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

Versão 1.0.11

As alterações significativas nesta versão incluem:

AWS CloudHSM Software do cliente

• Maior balanceamento de carga.• Melhoria do desempenho.• Melhoria no tratamento de conexões de servidor perdidas.

Biblioteca PKCS #11

• Adição de suporte para o mecanismo de sinal/verificação CKM_RSA_PKCS_PSS.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Melhoria no desempenho de vários algoritmos.• Adição do recurso de importação de chaves Triple DES (3DES).• Várias correções de erros

Versão 1.0.10

As alterações significativas nesta versão incluem:

AWS CloudHSM Software do cliente

• Atualização da ferramenta de linha de comando key_mgmt_util para permitir a importação de chaveencapsulada AES.

• Melhoria do desempenho.• Correção de vários bugs.

Biblioteca PKCS #11

• Versão atualizada para fins de consistência.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Adição de suporte para algoritmos adicionais.• Melhoria do desempenho.

Versão 1.0.8

As alterações significativas nesta versão incluem:

405

Page 412: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioVersões de cliente e software defasadas

AWS CloudHSM Software do cliente

• Melhoria na experiência de configuração.• Adição de respawning ao serviço inicial do cliente.• Correção de vários bugs.

Biblioteca PKCS #11

• Correção de bugs para endereçar caminhos relativos na configuração Redis.

Mecanismo dinâmico do OpenSSL

• Melhoria do desempenho.

Fornecedor de JCE

• Versão atualizada para fins de consistência.

Versão 1.0.7

As alterações significativas nesta versão incluem:

AWS CloudHSM Software do cliente

• Adição da ferramenta de teste de desempenho pkpspeed (p. 378).• Correção de erros para melhorar a estabilidade e o desempenho.

Biblioteca PKCS #11

• Adição de uma versão acelerada da biblioteca que usa um cache local Redis para melhorar odesempenho.

• Correção de erros relacionados ao tratamento de atributos.• Adição da capacidade de gerar chaves ECDSA.

Mecanismo dinâmico do OpenSSL

• Versão atualizada para fins de consistência.

Fornecedor de JCE

• Adição de suporte para algoritmos adicionais.• Assinatura dos arquivos JAR para compatibilidade com o provedor Sun JCE.

Versão 1.0.0

Esta é a versão inicial.

406

Page 413: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPlataformas com suporte

Plataformas com suporteEste tópico lista o suporte da plataforma para o AWS CloudHSM SDK do cliente. O SDK do Cliente incluios seguintes componentes:

• O daemon e as ferramentas de linha de comandos do cliente, cloudhsm_mgmt_util (CMU) ekey_mgmt_util (KMU)

• Biblioteca PKCS #11• Java Cryptography Extension (JCE) fornecedor• Mecanismo dinâmico do OpenSSL• API de criptografia: Next Generation (CNG) e fornecedores de armazenamento chave (KSP) para

Windows

O SDK do cliente fornece suporte tanto para Linux como para Windows, mas o Biblioteca PKCS #11 e amaioria dos fornecedores incluídos no SDK são para Linux. Normalmente, o suporte da plataforma paraitens no SDK corresponde ao suporte base, mas nem sempre. Para determinar o suporte da plataformapara um determinado componente, certifique-se primeiro de que a plataforma que pretende aparece nasecção base e, em seguida, verifique a exclusão ou qualquer outra informação pertinente na secção doitem.

Eis algumas coisas a ter em mente sobre o apoio da plataforma:

• O suporte base é o mesmo que o apoio para o daemon do cliente e as ferramentas de linha de comando• Quaisquer diferenças do suporte base aparecem nas secções para Biblioteca PKCS #11 e fornecedores• Suporte apenas fornecido para sistemas operativos de 64 bits

Tópicos• Suporte da plataforma base (p. 407)• Biblioteca PKCS #11 (p. 408)• Fornecedor de JCE (p. 408)• Mecanismo dinâmico do OpenSSL (p. 408)• Fornecedores de CNG e KSP (p. 408)

Suporte da plataforma baseO suporte para o daemon e ferramentas de linha de comandos do cliente é o mesmo que o suporte daplataforma de base.

Suporte a Linux• Amazon Linux• Amazon Linux 2

Note

Se estiver a correr AWS CloudHSM o cliente 1.1.1 ou anterior numa instância de EC2 daAmazon Linux 2, consulte Problemas conhecidos para Amazon EC2 Ocorrências em execuçãoAmazon Linux 2 (p. 369).

• Red Hat Enterprise Linux (RHEL) 6,10+• Red Hat Enterprise Linux (RHEL) 7.3+

407

Page 414: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioBiblioteca PKCS #11

• centos 6,10+• CentOS 7.3+• Ubuntu 16.04 LTS

Suporte ao Windows• Microsoft Windows Server 2012• Microsoft Windows Server 2012 R2.• Microsoft Windows Server 2016

Biblioteca PKCS #11O Biblioteca PKCS #11 corresponde ao suporte Linux para o daemon e ferramentas de linha de comandosdo cliente. Para obter mais informações, consulte the section called “Suporte a Linux” (p. 407).

Fornecedor de JCEO Fornecedor de JCE requer o openjdk 1.8 e corresponde ao suporte do Linux para o daemon eferramentas de linha de comandos do cliente. Para obter mais informações, consulte the section called“Suporte a Linux” (p. 407).

• Requer oculjdk 1,8

Mecanismo dinâmico do OpenSSLO Mecanismo dinâmico do OpenSSL requer openssl 1.0.2[f+] e corresponde ao suporte de Linux para odaemon e ferramentas de linha de comandos do cliente. Para obter mais informações, consulte the sectioncalled “Suporte a Linux” (p. 407).

• Requer openssl 1.0.2[f+]

Fornecedores de CNG e KSPO Fornecedores de CNG e KSP faça corresponder o suporte do Windows ao daemon e às ferramentasde linha de comandos do cliente. Para obter mais informações, consulte the section called “Suporte aoWindows” (p. 408).

Note

O suporte da plataforma muda ao longo do tempo. As versões anteriores do Cloudhsm ClientSDK podem não suportar todos os sistemas operativos listados aqui. Utilize as notas delançamento para determinar o suporte do sistema operativo para versões anteriores do Cliente doCloudhsm. Para obter mais informações, consulte Histórico de versões do software e cliente AWSCloudHSM (p. 387).

Atualizar as bibliotecas e o cliente LinuxCom o cliente do AWS CloudHSM versão 3.1 e posterior, a versão do cliente e das bibliotecas devemcorresponder para fazer a atualização. Para todos os sistemas baseados em Linux, é necessário usarum único comando para instalar em lote o cliente e todas as bibliotecas que você está usando, incluindo

408

Page 415: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPré-requisitos

as bibliotecas PKCS #11, Java e OpenSSL Dynamic Engine. Esse requisito não se aplica a sistemasbaseados no Windows porque os binários para a biblioteca do fornecedor KSP e CNG já estão incluídos nocliente.

Tópicos• Pré-requisitos (p. 409)• Etapa 1: interromper o cliente (p. 412)• Etapa 2: atualizar o cliente e as bibliotecas (p. 412)• Etapa 3: iniciar o cliente (p. 413)

Pré-requisitosFaça download da versão mais recente do cliente do AWS CloudHSM e escolha suas bibliotecas.

Note

Você não precisa instalar todas as bibliotecas. Para cada biblioteca instalada, é necessárioatualizar essa biblioteca para corresponder à versão do cliente.

Cliente Linux mais recenteAmazon Linux

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

Amazon Linux 2

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

CentOS 6

sudo yum install wget

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

CentOS 7

sudo yum install wget

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

RHEL 6

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-latest.el6.x86_64.rpm

RHEL 7

sudo yum install wget

409

Page 416: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPré-requisitos

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client_latest_amd64.deb

Biblioteca PKCS #11 mais recenteAmazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-pkcs11-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-pkcs11-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-pkcs11_latest_amd64.deb

OpenSSL Dynamic Engine mais recenteAmazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

410

Page 417: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioPré-requisitos

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-dyn-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-dyn-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-dyn_latest_amd64.deb

Biblioteca Java mais recenteAmazon Linux

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

Amazon Linux 2

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

CentOS 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

CentOS 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

411

Page 418: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEtapa 1: interromper o cliente

RHEL 6

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm

RHEL 7

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm

Ubuntu 16.04 LTS

$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-jce_latest_amd64.deb

Etapa 1: interromper o clienteUse o comando a seguir para parar o cliente.

Amazon Linux

$ sudo stop cloudhsm-client

Amazon Linux 2

$ sudo service cloudhsm-client stop

CentOS 6

$ sudo stop cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client stop

RHEL 6

$ sudo stop cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client stop

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client stop

Etapa 2: atualizar o cliente e as bibliotecasO comando a seguir mostra a sintaxe necessária para atualizar o cliente e as bibliotecas. Antes deexecutar o comando, remova todas as bibliotecas que você não pretende atualizar.

412

Page 419: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEtapa 3: iniciar o cliente

Amazon Linux

$ sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el6.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el6.x86_64.rpm>

Amazon Linux 2

$ sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el7.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el7.x86_64.rpm>

CentOS 6

$ sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el6.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el6.x86_64.rpm>

CentOS 7

$ sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el7.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el7.x86_64.rpm>

RHEL 6

$ sudo yum install -y ./cloudhsm-client-latest.el6.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el6.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el6.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el6.x86_64.rpm>

RHEL 7

$ sudo yum install -y ./cloudhsm-client-latest.el7.x86_64.rpm \ <./cloudhsm-client-pkcs11-latest.el7.x86_64.rpm> \ <./cloudhsm-client-dyn-latest.el7.x86_64.rpm> \ <./cloudhsm-client-jce-latest.el7.x86_64.rpm>

Ubuntu 16.04 LTS

$ sudo dpkg -i cloudhsm-client_latest_amd64.deb \ <cloudhsm-client-pkcs11_latest_amd64.deb> \ <cloudhsm-client-dyn_latest_amd64.deb> \ <cloudhsm-client-jce_latest_amd64.deb>

Etapa 3: iniciar o clienteUse o comando a seguir para iniciar o cliente.

Amazon Linux

$ sudo start cloudhsm-client

413

Page 420: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioEtapa 3: iniciar o cliente

Amazon Linux 2

$ sudo service cloudhsm-client start

CentOS 6

$ sudo start cloudhsm-client

CentOS 7

$ sudo service cloudhsm-client start

RHEL 6

$ sudo start cloudhsm-client

RHEL 7

$ sudo service cloudhsm-client start

Ubuntu 16.04 LTS

$ sudo service cloudhsm-client start

414

Page 421: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtualizações recentes

Histórico de documentosEste tópico descreve atualizações importantes no Guia do usuário do AWS CloudHSM.

Tópicos• Atualizações recentes (p. 415)• Atualizações anteriores (p. 417)

Atualizações recentesA tabela a seguir descreve alterações significativas nesta documentação desde abril de 2018. Além dasprincipais alterações listadas aqui, também atualizamos a documentação com frequência para melhoraras descrições e os exemplos e abordar os comentários que você nos envia. Para ser notificado sobrealterações significativas, use o link no canto superior direito para assinar os feeds RSS.

Atualização da documentação mais recente: 1 de Setembro de 2020

update-history-change update-history-description update-history-date

Adicionado novo conteúdo Adicionada documentaçãoque descreve as definições desincronização chave em AWSCloudHSM.

September 1, 2020

Adicionado lançamento Emitido AWS CloudHSM versão3.2.0 do cliente para todas asplataformas.

August 31, 2020

Adicionado lançamento Emitido AWS CloudHSM versão3.1.2 do cliente para todas asplataformas.

July 30, 2020

Adicionado lançamento Lançamento do cliente do AWSCloudHSM versão 3.1.1 paratodas as plataformas.

June 3, 2020

Adicionado lançamento Lançamento do cliente do AWSCloudHSM versão 3.1.0 paratodas as plataformas.

May 21, 2020

Adicionado lançamento Lançamento do cliente do AWSCloudHSM versão 3.0.1 paratodas as plataforma.

April 20, 2020

Adicionado lançamento Versão AWS CloudHSM decliente 3.0.0 lançada para aplataforma Windows Server.

October 30, 2019

Adicionado lançamento Versão AWS CloudHSM decliente 3.0.0 lançada paratodas as plataformas, exceto oWindows.

October 22, 2019

415

Page 422: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtualizações recentes

Adicionado lançamento A versão 2.0.4 do cliente do AWSCloudHSM foi liberada para todasas plataformas.

August 26, 2019

Adicionado lançamento A versão 2.0.3 do cliente do AWSCloudHSM foi lançada para todasas plataformas.

May 13, 2019

Adicionado lançamento A versão 2.0.1 do cliente do AWSCloudHSM foi liberada para todasas plataformas.

March 21, 2019

Adicionado lançamento A versão 2.0.0 do cliente do AWSCloudHSM foi liberada para todasas plataformas.

February 6, 2019

Adicionado suporte àregião (p. 415)

Suporte adicionado para AWSCloudHSM nas regiões da UE(Estocolmo) e AWS GovCloud(Leste dos EUA).

December 19, 2018

Adicionado lançamento Cliente do AWS CloudHSMversão 1.1.2 lançado paraWindows.

November 20, 2018

Problemas conhecidosatualizados

Foi adicionado novo conteúdo aoguia Solução de problemas.

November 8, 2018

Adicionado lançamento Cliente do AWS CloudHSMversão 1.1.2 lançado paraplataformas Linux.

November 8, 2018

Adicionado suporte àregião (p. 415)

Adicionado suporte ao AWSCloudHSM para as regiões UE(Paris) e Ásia-Pacífico (Seul).

October 24, 2018

Adicionado novo conteúdo Adicionada a capacidade deexcluir e restaurar backups doAWS CloudHSM.

September 10, 2018

Adicionado novo conteúdo Adicionada entrega automáticade log de auditoria ao AmazonCloudWatch Logs.

August 13, 2018

Adicionado novo conteúdo Adição de capacidade paracopiar um backup de cluster doAWS CloudHSM entre regiões.

July 30, 2018

Adicionado suporte àregião (p. 415)

Adicionado suporte ao AWSCloudHSM para a região UE(Londres).

June 13, 2018

Adicionado novo conteúdo Adição de suporte para clientee biblioteca do AWS CloudHSMpara Amazon Linux 2, Red HatEnterprise Linux (RHEL) 6, RedHat Enterprise Linux (RHEL) 7,CentOS 6, CentOS 7 e Ubuntu16.04 LTS.

May 10, 2018

416

Page 423: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuárioAtualizações anteriores

Adicionado lançamento Adição de um cliente do AWSCloudHSM para Windows.

April 30, 2018

Atualizações anterioresA tabela a seguir descreve mudanças importantes na documentação do AWS CloudHSM antes de 2018.

Alteração Description (Descrição) Date

Novo conteúdo Adição de autenticação dequorum (controle de acesso Mde N) para responsáveis pelacriptografia (COs). Para obtermais informações, consulteAplicar autenticação de quorum(controle de acesso M deN) (p. 69).

9 de novembro de 2017

Atualização: Adição de uma documentaçãosobre como usar a ferramentade linha de comandokey_mgmt_util. Para obtermais informações, consulteReferência de comandos dakey_mgmt_util (p. 134).

9 de novembro de 2017

Novo conteúdo Adição do Oracle TransparentData Encryption. Para obtermais informações, consulteCriptografia do OracleDatabase (p. 326).

25 de outubro de 2017

Novo conteúdo Adição de descarregamento SSL.Para obter mais informações,consulte Descarregamento deSSL/TLS (p. 292).

12 de outubro de 2017

Novo guia: Esta versão apresenta AWSCloudHSM

14 de agosto de 2017

417

Page 424: AWS CloudHSM - Guia do usuário€¦ · O AWS CloudHSM fornece módulos de segurança de hardware na nuvem do AWS. Um módulo de segurança de hardware (HSM) é um dispositivo computacional

AWS CloudHSM Guia do usuário

Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso hajaqualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.

cdxviii


Recommended