View a markdown version of this page

Abilitazione del TLS post-quantistico ibrido - AWS SDK e strumenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Abilitazione del TLS post-quantistico ibrido

AWS Gli SDK e gli strumenti hanno funzionalità e configurazioni crittografiche che differiscono in base al linguaggio e al runtime. Esistono tre modi in cui un AWS SDK o uno strumento attualmente fornisce il supporto PQ TLS:

SDK con PQ TLS abilitato per impostazione predefinita

Nota

A partire dal 6Nov-2025, AWS SDK e le relative librerie CRT per macOS e Windows utilizzano le librerie di sistema per TLS, quindi le funzionalità PQ TLS su tali piattaforme sono generalmente determinate dal supporto a livello di sistema.

AWS SDK per Go

L' AWS SDK for Go utilizza l'implementazione TLS di Golang fornita dalla sua libreria standard. Golang supporta e preferisce PQ TLS a partire dalla v1.24, quindi gli utenti di AWS SDK for Go possono abilitare PQ TLS semplicemente aggiornando Golang alla v1.24.

AWS SDK per (browser) JavaScript

L' AWS SDK per JavaScript (browser) utilizza lo stack TLS del browser, quindi l'SDK negozierà PQ TLS se il runtime del browser lo supporta e lo preferisce. Firefox ha lanciato il supporto per PQ TLS nella versione 132.0. Chrome ha annunciato il supporto per PQ TLS nella versione 1.3.1. Edge supporta il PQ TLS opt-in nella versione 120 per desktop e nella versione 140 per Android.

AWS SDK per Node.js

A partire dalla Node.js versione 22.20 (LTS) e dalla versione 24.9.0, Node.js collega e raggruppa staticamente OpenSSL 3.5. Ciò significa che PQ TLS è abilitato e preferito per impostazione predefinita per queste e le versioni successive.

AWS SDK per Kotlin

L'SDK Kotlin supporta e preferisce PQ TLS su Linux a partire dalla v1.5.78. Poiché AWS SDK for Kotlin CRT-based client si basa sulle librerie di sistema per TLS su macOS e Windows, il supporto per PQ TLS dipenderà da quelle librerie di sistema sottostanti.

AWS SDK per Rust

L' AWS SDK per Rust distribuisce pacchetti distinti (noti come «casse» nell'ecosistema Rust) per ogni client di servizio. Questi sono tutti gestiti in un GitHub repository consolidato, ma ogni client di servizio segue la propria versione e cadenza di rilascio. L'SDK consolidato ha rilasciato la preferenza PQ TLS il 8/29 /25, quindi qualsiasi versione di client di servizio individuale rilasciata dopo tale data supporterà e preferirà PQ TLS per impostazione predefinita.

Puoi determinare la versione minima che supporta PQ TLS per un particolare client di servizio accedendo all'URL della versione di crates.io pertinente (ad esempio, Credito promozionale AWS's is here) e trovando la prima versione pubblicata dopo il 29-. Aug-25 Qualsiasi versione del service client pubblicata dopo la 29- Aug-25 avrà PQ TLS abilitato e preferito per impostazione predefinita.

Opt-in Supporto PQ TLS

AWS SDK per C++

Per impostazione predefinita, l'SDK C++ utilizza client nativi della piattaforma come libcurl e. WinHttp Libcurl generalmente si basa sul sistema OpenSSL per TLS, quindi PQ TLS è abilitato di default solo se il sistema OpenSSL è ≥ v3.5. Puoi sovrascrivere questa impostazione predefinita in C++ SDK v1.11.673 o versioni successive e attivare quella che supporta e abilita PQ TLS per impostazione predefinita. AwsCrtHttpClient

Note sulla compilazione di Opt-In PQ TLS Puoi recuperare le dipendenze CRT dell'SDK con questo script. https://github.com/aws/aws-sdk-cpp/blob/main/prefetch_crt_dependency.sh La creazione dell'SDK dai sorgenti è descritta qui e qui, ma tieni presente che potresti aver bisogno di alcuni flag CMake aggiuntivi:

-DUSE_CRT_HTTP_CLIENT=ON \ -DUSE_TLS_V1_2=OFF \ -DUSE_TLS_V1_3=ON \ -DUSE_OPENSSL=OFF \

AWS SDK per Java

A partire dalla versione 2, AWS SDK for Java fornisce un client HTTP AWS Common Runtime (AWS CRT) che può essere configurato per eseguire PQ TLS. A partire dalla v2.35.11, AwsCrtHttpClient abilita e preferisce PQ TLS per impostazione predefinita ovunque venga utilizzato.

JDK27 supporta e preferisce PQ TLS, quindi i client predefiniti AWS SDK per Java V1 o V2 eseguiti su quella versione (o successiva) supportano PQ TLS immediatamente. Oracle illustra le tempistiche previste per i backport PQ TLS alle versioni precedenti di JDK in Cryptography in Support JDK Releases. Post-Quantum Long-Term

SDK che si basano su System OpenSSL

Diversi AWS SDK e strumenti dipendono dalla libreria del sistema per libcrypto/libssl TLS. La libreria di sistema più utilizzata è OpenSSL. OpenSSL ha abilitato il supporto PQ TLS nella versione 3.5, quindi il modo più semplice per configurare questi SDK e strumenti per PQ TLS è utilizzarli su una distribuzione del sistema operativo in cui sia installato almeno OpenSSL 3.5.

Puoi anche configurare un contenitore Docker per utilizzare OpenSSL 3.5 per abilitare PQ TLS su qualsiasi sistema che supporti Docker. Vedi Post-quantum TLS in Python per un esempio di configurazione per Python.

AWS CLI

A partire dalla v2.34.54, il programma di installazione AWS CLI per Linux include OpenSSL 3.5.6, quindi PQ TLS è abilitato e preferito di default per questa e le versioni successive su Linux. AWS Gli utenti CLI su Linux possono abilitare PQ TLS eseguendo l'aggiornamento a CLI v2.34.54 o versioni successive. AWS

Per macOS, installa la AWS CLI tramite https://brew.sh/ Homebrew e assicurati che OpenSSL sia aggiornato alla versione 3.5+. Homebrew-vended Puoi farlo con «brew install openssl @3 .6" e convalidare con «brew list | grep openssl».

Per istruzioni dettagliate per convalidare l'installazione, consulta il repository github e il post sul blog allegato. https://github.com/aws-samples/sample-post-quantum-tls-python/ https://aws.amazon.com/blogs/security/post-quantum-tls-in-python/

AWS SDK per PHP

L'SDK per PHP si basa sul sistema. AWS libssl/libcrypto Per utilizzare PQ TLS, utilizzate questo SDK su una distribuzione del sistema operativo in cui è installato almeno OpenSSL 3.5.

AWS SDK per Python (Boto3)

L' AWS SDK per Python (Boto3) si basa sulla libreria OpenSSL collegata dall'installazione di Python per TLS. Il comportamento varia a seconda della piattaforma:

Windows and macOS (python.org installer)

I programmi di installazione ufficiali di python.org per Windows (.exe) e macOS (.pkg) raggruppano la propria libreria OpenSSL. A partire da Python 3.14.6, OpenSSL 3.5.7 in bundle supporta e preferisce PQ TLS per impostazione predefinita. Non è necessaria alcuna configurazione aggiuntiva.

macOS (Homebrew)

Poiché python @3 .14 di Homebrew si collega alla libreria condivisa openssl @3 di Homebrew, a partire da Homebrew OpenSSL 3.5+, PQ TLS è supportato e preferito per impostazione predefinita. Puoi convalidare la tua versione di OpenSSL con:

python3.14 -c "import ssl; print(ssl.OPENSSL_VERSION)"

Se la tua versione è inferiore alla 3.5, esegui l'aggiornamento con brew upgrade openssl @3.

Linux

Su Linux, Python si collega dinamicamente alla libssl condivisa del sistema. L'installazione di OpenSSL 3.5+ è necessaria ma non sufficiente, poiché la politica crittografica del sistema deve includere anche gruppi post-quantistici nella configurazione TLS predefinita.

Per Amazon Linux 2023 (AL2023.12 o versioni successive), abilita PQ TLS con:

sudo update-crypto-policies --set DEFAULT:PQ

Per ulteriori informazioni, consulta Enable Post-Quantum Cryptography (PQC) su AL2023.

Per altre distribuzioni Linux, consulta la documentazione della tua distribuzione sulla configurazione dei gruppi TLS predefiniti.

Puoi verificare che PQ TLS funzioni controllando lo scambio di chiavi X25519MLKEM768 nell'handshake TLS.

AWS SDK per Ruby

AWS L'SDK per Ruby si libssl/libcrypto basa sul sistema. Per utilizzare PQ TLS, usa questo SDK su una distribuzione del sistema operativo in cui è installato almeno OpenSSL 3.5.

AWS SDK per .NET

Su Linux, AWS SDK for .NET si basa sul sistema. libssl/libcrypto Per utilizzare PQ TLS, usa questo SDK su una distribuzione del sistema operativo in cui è installato almeno OpenSSL 3.5. Su Windows e macOS, PQ TLS è disponibile a partire da .NET 10 e Windows 11. https://devblogs.microsoft.com/dotnet/post-quantum-cryptography-in-dotnet/ https://techcommunity.microsoft.com/blog/microsoft-security-blog/post-quantum-cryptography-apis-now-generally-available-on-microsoft-platforms/4469093 Su macOS, il supporto TLS 1.3 (un prerequisito per PQ TLS) può essere abilitato attivando quello di Apple come descritto qui. Network.framework https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries#tls-13-for-macos-client Supponendo una versione .NET minima di 10, PQ TLS dovrebbe quindi essere abilitato.

AWS SDK e strumenti che non prevedono il supporto di PQ TLS

Al momento non è previsto il supporto dei seguenti SDK e strumenti linguistici:

  • AWS SDK per SAP

  • AWS SDK per Swift

  • AWS Strumenti per Windows PowerShell