Problemas conhecidos para todas as instâncias do HSM - AWS CloudHSM
Problema: o encapsulamento de chave AES usa o preenchimento de PKCS #5 em vez de fornecer uma implementação compatível com os padrões do encapsulamento de chave com preenchimento de zerosProblema: o daemon do cliente requer pelo menos um endereço IP válido em seu arquivo de configuração para se conectar com sucesso ao clusterProblema: havia um limite superior de 16 KB sobre os dados que sofrerão hash e serão assinados pelo AWS CloudHSM usando o Client SDK 3Problema: as chaves importadas não podiam ser especificadas como não exportáveisProblema: o mecanismo padrão para os comandos wrapKey e unWrapKey no key_mgmt_util foi removidoProblema: se você tiver um único HSM em seu cluster, o failover do HSM não funcionará corretamenteProblema: se você exceder a capacidade da chave dos HSMs em seu cluster dentro de um curto período, o cliente entrará em um estado de erro não processadoProblema: operações de resumo com chaves HMAC de tamanho maior que 800 bytes não são compatíveis.Problema: a ferramenta client_info, distribuída com o Client SDK 3, exclui o conteúdo do caminho especificado pelo argumento de saída opcionalProblema: você recebe um erro ao executar a ferramenta de configuração do SDK 5 usando o argumento --cluster-id em ambientes em contêineresProblema: você recebe o erro “Falha ao criar certificado/chave do arquivo pfx fornecido. Erro: NotPkcs8"Problema: falha na assinatura do ECDSA com o erro “mecanismo inválido” a partir do SDK 5.16Problema: as operações de assinatura com dados pré-hash não apagam adequadamente os tokens de sessão no modo interativo

Problemas conhecidos para todas as instâncias do HSM

Os seguintes problemas afetam todos os usuários do AWS CloudHSM, independentemente de eles usarem a ferramenta de linha de comando key_mgmt_util, o SDK do PKCS #11, o SDK do JCE ou o OpenSSL.

Tópicos

Problema: o encapsulamento de chave AES usa o preenchimento de PKCS #5 em vez de fornecer uma implementação compatível com os padrões do encapsulamento de chave com preenchimento de zeros

Além disso, o encapsulamento de chaves sem preenchimento e com preenchimento de zeros não é compatível.

  • Impacto: não há impacto se você encapsular e desencapsular usando esse algoritmo no AWS CloudHSM. No entanto, as chaves encapsuladas com o AWS CloudHSM não podem ser desencapsuladas dentro de outros HSMs ou software que esperem compatibilidade com a especificação de não usar preenchimento. Isso ocorre porque até oito bytes de dados de preenchimento podem ser adicionados ao final dos dados da chave durante um desencapsulamento compatível com os padrões. As chaves encapsuladas externamente não podem ser desencapsuladas corretamente em uma instância do AWS CloudHSM.

  • Solução alternativa: para desencapsular externamente uma chave que foi encapsulada com o Encapsulamento de chaves AES com preenchimento PKCS #5 em uma instância do AWS CloudHSM, remova o preenchimento adicional antes de tentar usar a chave. Você pode fazer isso removendo os bytes extras em um editor de arquivo ou copiando apenas os bytes da chave em um novo buffer em seu código.

  • Status da resolução: com a versão 3.1.0 de cliente e software, o AWS CloudHSM fornece opções compatíveis com os padrões para o encapsulamento de chaves AES. Para obter mais informações, consulte Empacotamento de chaves AES.

Problema: o daemon do cliente requer pelo menos um endereço IP válido em seu arquivo de configuração para se conectar com sucesso ao cluster

  • Impacto: se você excluir cada HSM no cluster e, em seguida, adicionar outro HSM, o que gerará um novo endereço IP, o daemon do cliente continuará pesquisando os HSMs em seus endereços IP originais.

  • Solução alternativa: se você executa uma workload intermitente, recomendamos que use o argumento IpAddress na função CreateHsm para definir a interface de rede elástica (ENI) para 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 para o endereço IP do seu novo HSM. Você pode usar o comando client -a <IP address>. Para obter mais informações, consulte Instalar e configurar o AWS CloudHSM Cliente (Linux) ou Instalar e configurar o AWS CloudHSM Cliente (Windows).

Problema: havia um limite superior de 16 KB sobre os dados que sofrerão hash e serão assinados pelo AWS CloudHSM usando o Client SDK 3

  • Status da resolução: os dados com extensão inferior a 16 KB continuam sendo enviados ao HSM para obter hash. Adicionamos a capacidade de aplicar hash localmente no software em dados com extensão entre 16 KB e 64 KB. O Client SDK 5 falharão explicitamente se o buffer de dados for superior a 64 KB. Você deve atualizar seu cliente e SDK(s) para uma versão superior à 5.0.0 para se beneficiar da correção.

Problema: as chaves importadas não podiam ser especificadas como não exportáveis

  • Status da resolução: esse problema está corrigido. Nenhuma ação é necessária de sua parte para se beneficiar da correção.

Problema: o mecanismo padrão para os comandos wrapKey e unWrapKey no key_mgmt_util foi removido

  • Resolução: Ao usar os comandos wrapKey ou unWrapKey, você deve usar a opção -m para especificar o mecanismo. Consulte os exemplos nos artigos wrapKey ou unWrapkey para obter mais informações.

Problema: se você tiver um único HSM em seu cluster, o failover do HSM não funcionará corretamente

  • Impacto: se a única instância do HSM em seu cluster perder a conectividade, o cliente não se reconectará a ela mesmo se a instância do HSM for restaurada posteriormente.

  • Solução alternativa: recomendamos pelo menos duas instâncias do HSM em qualquer cluster de produção. Se você usar essa configuração, você não será afetado por esse problema. Para clusters de HSM único, retorne o daemon do cliente para restaurar a conectividade.

  • Status da resolução: este problema foi resolvido na versão 1.1.2 do cliente do AWS CloudHSM. Você deve atualizar para esse cliente para se beneficiar da correção.

Problema: se você exceder a capacidade da chave dos HSMs em seu cluster dentro de um curto período, o cliente entrará em um estado de erro não processado

  • Impacto: quando o cliente encontra o estado de erro não processado, ele congela e deve ser reiniciado.

  • Solução alternativa: teste seu throughput para garantir que você não esteja criando chaves de sessão a uma taxa que o cliente não consiga processar. Você pode diminuir sua taxa adicionando um HSM ao cluster ou reduzindo a criação da chave de sessão.

  • Status da resolução: este problema foi resolvido na versão 1.1.2 do cliente do AWS CloudHSM. Você deve atualizar para esse cliente para se beneficiar da correção.

Problema: operações de resumo com chaves HMAC de tamanho maior que 800 bytes não são compatíveis.

  • Impacto: Chaves HMAC maiores que 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 ou key_mgmt_util, a operação falhará. Observe que, se você estiver usando o PKCS11, as chaves HMAC estarão limitadas a um tamanho de 64 bytes.

  • Solução alternativa: se você estiver usando chaves HMAC para operações de resumo no HSM, assegure-se de que o tamanho seja menor que 800 bytes.

  • Status da resolução: nenhum no momento.

Problema: a ferramenta client_info, distribuída com o Client SDK 3, exclui o conteúdo do caminho especificado pelo argumento de saída opcional

  • Impacto: todos os arquivos e subdiretórios existentes no caminho de saída especificado podem ser perdidos permanentemente.

  • Solução alternativa:não use o argumento opcional -output path ao usar a ferramenta client_info.

  • Status da resolução: este problema foi resolvido na versão Client SDK 3.3.2 . Você deve atualizar para esse cliente para se beneficiar da correção.

Problema: você recebe um erro ao executar a ferramenta de configuração do SDK 5 usando o argumento --cluster-id em ambientes em contêineres

Você recebe o seguinte erro ao usar o argumento --cluster-id com a Ferramenta de configuração:

No credentials in the property bag

Esse erro é causado por uma atualização do Instance Metadata Service Version 2 (IMDSv2). Para obter mais informações, consulte a documentação do IMDSv2.

  • Impacto: esse problema afetará os usuários que executam a ferramenta de configuração nas versões 5.5.0 e posteriores do SDK em ambientes em contêineres e utilizam metadados da instância EC2 para fornecer credenciais.

  • Solução alternativa: defina o limite de salto de resposta do PUT para pelo menos dois. Para obter orientação sobre como fazer isso, consulte Configurar as opções de metadados da instância.

Problema: você recebe o erro “Falha ao criar certificado/chave do arquivo pfx fornecido. Erro: NotPkcs8"

  • Solução alternativa: você pode converter a chave privada SSL personalizada para o formato PKCS8 com o comando openssl: openssl pkcs8 -topk8 -inform PEM -outform PEM -in ssl_private_key -out ssl_private_key_pkcs8

  • Status da resolução: esse problema foi resolvido na versão 5.12.0 do Client SDK. Você deve atualizar para essa versão do cliente ou superior para se beneficiar da correção.

Problema: falha na assinatura do ECDSA com o erro “mecanismo inválido” a partir do SDK 5.16

  • Impacto: as operações de assinatura do ECDSA falham ao usar funções de hash que são mais fracas do que a força da chave. Essa falha ocorre porque o FIPS 186-5 exige que a função hash seja pelo menos tão forte quanto a força da chave.

    Você poderá ver um erro semelhante a esse nos logs do cliente:

    [cloudhsm_provider::hsm1::session::ecdsa::sign::common][][] Digest security strength (80) is weaker than the key security strength (128)
  • Solução alternativa: se você não conseguir atualizar suas funções de hash, poderá migrar para clusters não FIPS, que não impõem o requisito de força de hash. No entanto, recomendamos atualizar suas funções de hash para manter a conformidade com o FIPS.

    Como solução alternativa, adicionamos uma opção de configuração para ignorar esse requisito. Observe que essa opção não é recomendada, pois o uso do ECDSA com funções de hash mais fracas não segue as melhores práticas de segurança. Para usar essa opção, execute o seguinte comando (substituindo configure-cli pela ferramenta de configuração do SDK que está sendo usada: Sintaxe de configuração do Client SDK 5 do AWS CloudHSM):

    sudo /opt/cloudhsm/bin/configure-cli --enable-ecdsa-with-weak-hash-function
  • Resolução: use uma função hash que seja pelo menos tão forte quanto sua chave ECDSA. Para obter informações sobre a função hash e os pontos fortes da chave ECDSA, consulte as Tabelas 2 e 3 no NIST SP 800-57 Parte 1 Rev 5.

Problema: as operações de assinatura com dados pré-hash não apagam adequadamente os tokens de sessão no modo interativo

  • Impacto: ao usar a CloudHSM CLI no modo interativo com o SDK versão 5.16.1, as operações de assinatura com dados pré-hash falham ao limpar os tokens da sessão corretamente.

  • Solução alternativa: use o modo de comando único em vez do modo interativo ao realizar operações de assinatura com dados pré-hash. Isso garante a limpeza adequada do token após cada operação.

  • Status da resolução: esse problema foi resolvido no CloudHSM SDK 5.16.2. Atualize para a versão 5.16.2 ou posterior para se beneficiar da correção.