Configurar o TLS pós-quântico híbrido - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar o TLS pós-quântico híbrido

Neste procedimento, adicione uma dependência do Maven para o AWS Common Runtime HTTP Client. Em seguida, configure um cliente HTTP com preferência em TLS pós-quântico. Em seguida, crie um AWS KMS cliente que use o cliente HTTP.

Para ver exemplos funcionais completos de configuração e uso do TLS pós-quântico híbrido com o AWS KMS, consulte o repositório aws-kms-pq-tls-example.

nota

O AWS Common Runtime HTTP Client, que estava disponível como uma prévia, tornou-se disponível ao público em fevereiro de 2023. Nesse lançamento, a classe tlsCipherPreference e o parâmetro de método tlsCipherPreference() foram substituídos pelo parâmetro de método postQuantumTlsEnabled(). Se você estava usando este exemplo durante a prévia, precisará atualizar seu código.

  1. Adicione o cliente AWS Common Runtime às suas dependências do Maven. Recomendamos usar a versão mais recente disponível.

    Por exemplo, essa declaração adiciona a versão 2.30.22 do cliente AWS Common Runtime às suas dependências do Maven.

    <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> <version>2.30.22</version> </dependency>
  2. Para habilitar os pacotes híbridos de criptografia pós-quântica, adicione-os AWS SDK for Java 2.x ao seu projeto e inicialize-o. Em seguida, habilite os pacotes de codificação pós-quântica híbrida em seu cliente HTTP, conforme mostrado no exemplo a seguir.

    Esse código usa o parâmetro de método postQuantumTlsEnabled() para configurar um cliente HTTP de runtime da AWS que prefere o conjunto de cifras híbridas pós-quânticas recomendado, ECDH com ML-KEM. Em seguida, ele usa o cliente HTTP configurado para criar uma instância do cliente AWS KMS assíncrono,. KmsAsyncClient Após a conclusão desse código, todas as solicitações de API do AWS KMS na instância KmsAsyncClient usam TLS pós-quântico híbrido.

    // Configure HTTP client SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder() .postQuantumTlsEnabled(true) .build(); // Create the AWS KMS async client KmsAsyncClient kmsAsync = KmsAsyncClient.builder() .httpClient(awsCrtHttpClient) .build();
  3. Teste suas AWS KMS chamadas com o TLS híbrido pós-quântico.

    Quando você chama operações de AWS KMS API no AWS KMS cliente configurado, suas chamadas são transmitidas para o AWS KMS endpoint usando TLS híbrido pós-quântico. Para testar sua configuração, chame uma AWS KMS API, comoListKeys.

    ListKeysReponse keys = kmsAsync.listKeys().get();

Testar sua configuração TLS pós-quântico híbrido

Considere executar os testes a seguir com pacotes de criptografia híbridos em seus aplicativos que chamam. AWS KMS

  • Veja a tlsDetails seção na entrada de CloudTrail registro de uma chamada de AWS KMS API feita pelo seu aplicativo. O keyExchange campo deve mencionar um algoritmo híbrido, comoX25519MLKEM768. Para ver um exemplo, consulte Descriptografe com uma chave de criptografia simétrica padrão em uma conexão TLS pós-quântica.

  • Execute benchmarks usando TLS pós-quântico híbrido. A troca de chaves híbridas aumenta o tamanho e o tempo de processamento de algumas mensagens no handshake TLS, mas o impacto geral no desempenho deve ser imperceptível na maioria dos casos.

  • Tente conectar-se de diferentes locais. Dependendo do caminho de rede que sua solicitação segue, você pode descobrir que hosts intermediários, proxies ou firewalls legados com inspeção profunda de pacotes (DPI) bloqueiam a solicitação. Isso pode resultar do uso dos novos grupos de troca de chaves na ClientHelloparte do handshake TLS ou de mensagens maiores de troca de chaves. Se você tiver problemas para resolver esses problemas, trabalhe com sua equipe de segurança ou administradores de TI para atualizar a configuração relevante e desbloquear os novos grupos de troca de chaves TLS.