

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á.

# Usando TLS pós-quântico híbrido com AWS KMS
<a name="pqtls"></a>

AWS Key Management Service (AWS KMS) suporta uma opção híbrida de troca de chaves pós-quântica para o protocolo de criptografia de rede Transport Layer Security (TLS). Você pode usar essa opção TLS ao se conectar aos endpoints de API do AWS KMS . Esses recursos opcionais de troca de chaves pós-quânticas híbridas são, no mínimo, tão seguros quanto a criptografia TLS que usamos atualmente e provavelmente fornecerão benefícios adicionais de segurança em longo prazo. No entanto, eles afetam a latência e o throughput em comparação com os protocolos clássicos de troca de chaves em uso atualmente.

Os dados que você envia para AWS Key Management Service (AWS KMS) são protegidos em trânsito pela criptografia fornecida por uma conexão TLS (Transport Layer Security). Os pacotes de criptografia clássica aos quais o AWS KMS oferece suporte a sessões TLS tornam inviáveis os ataques de força bruta nos mecanismos de troca de chaves com a tecnologia atual. No entanto, se a computação quântica em grande escala se tornar prática no futuro, os pacotes de criptografia clássica usados nos mecanismos de troca de chaves TLS serão suscetíveis a esses ataques. Se você estiver desenvolvendo aplicativos que dependem da confidencialidade de longo prazo dos dados transmitidos por uma conexão TLS, considere um plano para migrar para a criptografia pós-quântica antes que computadores quânticos em grande escala estejam disponíveis para uso. AWS está trabalhando para se preparar para esse futuro, e queremos que você também esteja bem preparado.

*Para proteger os dados criptografados hoje contra possíveis ataques futuros, AWS está participando com a comunidade criptográfica no desenvolvimento de algoritmos quânticos resistentes ou pós-quânticos.* Implementamos suítes de cifras *híbridas* pós-quânticas de troca de chaves AWS KMS que combinam elementos clássicos e pós-quânticos para garantir que sua conexão TLS seja pelo menos tão forte quanto seria com suítes de criptografia clássicas.

[Esses pacotes de criptografia híbrida estão disponíveis para uso em suas cargas de trabalho de produção na maioria. Regiões da AWS](#pqtls-regions) No entanto, como as características de desempenho e os requisitos de largura de banda dos pacotes de criptografia híbrida são diferentes dos mecanismos clássicos de troca de chaves, recomendamos que você [os teste em suas chamadas de AWS KMS API](pqtls-how-to.md#pqtls-testing) sob condições diferentes. 

**Feedback**

Como sempre, agradecemos seu feedback e sua participação em nossos repositórios de código aberto. Gostaríamos especialmente de saber como sua infraestrutura interage com essa nova variante do tráfego TLS. 
+ Para fornecer feedback sobre esse tópico, use o link **Feedback** no canto superior direito desta página.
+ Estamos desenvolvendo esses pacotes de criptografia híbrida em código aberto no [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls)repositório em. GitHub Para fornecer feedback sobre a usabilidade dos pacotes de criptografia ou compartilhar novas condições de teste ou resultados, [crie uma ocorrência](https://github.com/aws/s2n-tls/issues) no repositório s2n-tls.
+ Estamos escrevendo exemplos de código para usar o TLS pós-quântico híbrido AWS KMS [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example) GitHub no repositório. Para fazer perguntas ou compartilhar ideias sobre como configurar seu cliente HTTP ou AWS KMS cliente para usar os pacotes de criptografia híbridos, [crie um problema](https://github.com/aws-samples/aws-kms-pq-tls-example/issues) no repositório. aws-kms-pq-tls-example

**Suportado Regiões da AWS**

O Post-quantum TLS for AWS KMS está disponível em todos os Regiões da AWS que AWS KMS suportam.

Para obter uma lista de AWS KMS endpoints para cada um Região da AWS, consulte [AWS Key Management Service endpoints e cotas](https://docs.aws.amazon.com/general/latest/gr/kms.html) no. *Referência geral da Amazon Web Services* Para obter informações sobre endpoints do FIPS, consulte [Endpoints do FIPS](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints) no *Referência geral da Amazon Web Services*.

## Sobre a troca de chaves pós-quântica híbrida no TLS
<a name="PQTLS-concepts"></a>

AWS KMS suporta suítes de cifras híbridas pós-quânticas de troca de chaves. Você pode usar o AWS SDK for Java 2.x e o AWS Common Runtime em sistemas Linux para configurar um cliente HTTP que usa esses conjuntos de criptografia. Então, sempre que você se conecta a um AWS KMS endpoint com seu cliente HTTP, os conjuntos de criptografia híbrida são usados.

Este cliente HTTP usa [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls), que é uma implementação de código aberto do protocolo TLS. Os pacotes de codificação híbridos usados por s2n-tls são implementados apenas para troca de chaves, não para a criptografia de dados direta. Durante a *troca de chaves*, o cliente e o servidor calculam a chave que usarão para criptografar e descriptografar os dados na rede.

Os algoritmos que o s2n-tls usa são um *híbrido* que combina o [Elliptic Curve Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) (ECDH), um algoritmo clássico de troca de chaves atualmente usado no TLS, com o [Module-Lattice-Based Key-Encapsulation Mechanism](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM), um algoritmo de criptografia de chave pública e estabelecimento de chaves que o National Institute for Standards and Technology (NIST) [designou como seu primeiro algoritmo de acordo de chaves](https://csrc.nist.gov/pubs/fips/203/final) pós-quântico padrão. Esse híbrido utiliza cada um dos algoritmos de maneira independente para gerar uma chave. Depois, ele combina as duas chaves criptograficamente. Com s2n-tls, é possível [configurar um cliente HTTP](pqtls-how-to.md) para ter o TLS pós-quântico como preferência, o que define ECDH com ML-KEM em primeiro lugar na lista de preferências. Algoritmos clássicos de troca de chaves são incluídos na lista de preferências para garantir a compatibilidade, mas eles estarão mais abaixo na ordem de preferência.

## Usando TLS pós-quântico híbrido com AWS KMS
<a name="pqtls-details"></a>

Você pode usar o TLS pós-quântico híbrido para suas chamadas para. AWS KMS Ao configurar seu ambiente de teste de cliente HTTP, esteja ciente das seguintes informações:

**Criptografia em trânsito**

Os pacotes de criptografia híbrida no s2n-tls são usados somente para a criptografia em trânsito. Eles protegem seus dados enquanto eles viajam do seu cliente para o AWS KMS endpoint. AWS KMS não usa esses conjuntos de cifras para criptografar dados em. AWS KMS keys

Em vez disso, ao AWS KMS criptografar seus dados com chaves KMS, ele usa criptografia simétrica com chaves de 256 bits e o algoritmo Advanced Encryption Standard in Galois Counter Mode (AES-GCM), que já é resistente ao quantum. Num futuro teórico, ataques de computação quântica em grande escala em textos cifrados criados sob chaves AES-GCM de 256 bits [reduzem a segurança efetiva da chave para 128 bits](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf). Esse nível de segurança é suficiente para inviabilizar ataques de força bruta em textos AWS KMS cifrados. 

**Sistemas suportados**

O uso dos pacotes de criptografia híbrida no s2n-tls tem suporte atualmente somente em sistemas Linux. Além disso, esses pacotes de criptografia são suportados somente no SDKs AWS Common Runtime, como o. AWS SDK for Java 2.x Para ver um exemplo, consulte [Configurar o TLS pós-quântico híbrido](pqtls-how-to.md).

**AWS KMS Endpoints**

AWS KMS suporta TLS híbrido pós-quântico em todos os endpoints, incluindo endpoints validados pelo [FIPS](https://docs.aws.amazon.com/general/latest/gr/kms.html) 140-3.

# Configurar o TLS pós-quântico híbrido
<a name="pqtls-how-to"></a>

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 [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/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>
   ```

1. 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](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) 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,. [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html) Após a conclusão desse código, todas as solicitações de [API do AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/) 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();
   ```

1. 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, como`[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)`.

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

## Testar sua configuração TLS pós-quântico híbrido
<a name="pqtls-testing"></a>

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, como`X25519MLKEM768`. Para ver um exemplo, consulte [Descriptografe com uma chave de criptografia simétrica padrão em uma conexão TLS pós-quântica](ct-decrypt.md#ct-decrypt-default-pqtls).
+ 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 [ClientHello](https://datatracker.ietf.org/doc/html/rfc8446#section-4.1.2)parte 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. 

## Saiba mais sobre o TLS pós-quântico em AWS KMS
<a name="pqtls-see-also"></a>

Para obter mais informações sobre como usar o TLS híbrido pós-quântico em AWS KMS, consulte os recursos a seguir.
+ Para aprender sobre criptografia pós-quântica em AWS, incluindo links para postagens de blogs e trabalhos de pesquisa, consulte Criptografia [pós-quântica](https://aws.amazon.com/security/post-quantum-cryptography/).
+ Para obter informações sobre o s2n-tls, consulte [Apresentação do s2n-tls, uma nova implementação do TLS de código aberto](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) e [Uso do s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide).
+ *Para obter informações sobre o cliente HTTP do AWS Common Runtime, consulte [Configurando o cliente HTTP AWS baseado em CRT no Guia](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) do AWS SDK for Java 2.x desenvolvedor.*
+ Para obter informações sobre o projeto de criptografia pós-quântica no Instituto Nacional de Padrões e Tecnologia (NIST — National Institute for Standards and Technology), consulte [Criptografia pós-quântica](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography).
+ Para obter informações sobre a padronização de criptografia pós-quântica do NIST, consulte [Post-Quantum Cryptography Standardization](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization) (Padronização de criptografia pós-quântica).