Configurar o TLS híbrido pós-quântico para seu cliente - Amazon Simple Storage Service

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

Para usar o PQ-TLS com o Amazon S3, é necessário configurar o cliente para aceitar algoritmos de troca de chaves pós-quântica. Além disso, o cliente deve permitir a abordagem híbrida, que combina a criptografia de curva elíptica tradicional com algoritmos pós-quânticos, como o Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM).

A configuração específica depende da biblioteca cliente e da linguagem de programação. Para ter mais informações, consulte Habilitar o TLS híbrido pós-quântico.

Exemplo de configuração de cliente: AWS SDK para Java 2

Neste procedimento, adicione uma dependência do Maven para o cliente HTTP de runtime comum da AWS. Em seguida, configure um cliente HTTP com preferência em TLS pós-quântico. Em seguida, crie um cliente do Amazon S3 que use o cliente HTTP.

nota

O cliente HTTP de runtime comum da AWS, que estava disponível como uma prévia, tornou-se disponível para o 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 de runtime comum da AWS às suas dependências do Maven. Recomendamos usar a versão mais recente disponível.

    Por exemplo, esta instrução adiciona a versão 2.30.22 do cliente de runtime comum da AWS para 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 de criptografia pós-quântica híbrida, adicione o 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, o cliente HTTP configurado é usado para criar uma instância do cliente assíncrono do Amazon S, S3AsyncClient. Após a conclusão desse código, todas as solicitações de API do Amazon S3 na instância S3AsyncClient usarão o TLS híbrido pós-quântico.

    Importante

    A partir da versão 2.35.11, os chamadores não precisam mais definir .postQuantumTlsEnabled(true) para habilitar o TLS híbrido pós-quântico para o cliente. Todas as versões mais recentes que a v2.35.11 têm o TLS pós-quântico habilitado por padrão.

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

    Ao chamar operações de API do Amazon S3 no cliente configurado do Amazon S3, as chamadas são transmitidas ao endpoint do Amazon S3 usando o TLS híbrido pós-quântico. Para testar a configuração, chame uma API do Amazon S3, como ListBuckets.

    ListBucketsResponse reponse = s3Async.listBuckets();

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

Considere a possibilidade de executar os testes a seguir com suítes de cifras híbridas em suas aplicações que chamam o Amazon S3.

  • Execute testes de carga e de comparação. Os pacotes de criptografia híbrida têm uma performance diferente dos algoritmos tradicionais de troca de chaves. Talvez seja necessário ajustar os tempos limite de conexão para permitir os tempos de handshake mais longos. Se você estiver executando dentro de uma função AWS Lambda, estenda a configuração de tempo limite de execução.

  • Tente conectar-se de diferentes locais. Dependendo do caminho de rede que sua solicitação segue, é possível descobrir quais hosts intermediários, proxies ou firewalls com inspeção profunda de pacotes (DPI) bloqueiam a solicitação. Isso pode resultar do uso dos novos pacotes de criptografia na parte ClientHello do handshake TLS ou das mensagens de troca de chaves maiores. 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 pacotes de criptografia TLS.