ハイブリッドポスト量子 TLS の有効化 - AWS Payment Cryptography

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ハイブリッドポスト量子 TLS の有効化

AWS SDKsとツールには、言語とランタイムによって異なる暗号化機能と設定があります。AWS SDK またはツールが現在 PQ TLS サポートを提供する方法は 3 つあります。

PQ TLS がデフォルトで有効になっている SDKs

注記

6-Nov-2025 日現在、MacOS および Windows 用の AWS SDK とその基盤となる CRT ライブラリは TLS 用のシステムライブラリを使用するため、これらのプラットフォームでの PQ TLS 機能は一般的にシステムレベルのサポートによって決まります。

AWS SDK for Go

AWS SDK for Go は、標準ライブラリが提供する Golang 独自の TLS 実装を使用します。Golang は v1.24 の時点で PQ TLS をサポートおよび優先しているため、AWS SDK for Go ユーザーは Golang を v1.24 にアップグレードするだけで PQ TLS を有効にできます。

AWS SDK for JavaScript (ブラウザ)

AWS SDK for JavaScript (ブラウザ) はブラウザの TLS スタックを使用するため、ブラウザランタイムがサポートし、希望する場合、SDK は PQ TLS をネゴシエートします。Firefox は v132.0 で PQ TLS のサポートを開始しました。Chrome は v131 での PQ TLS のサポートを発表しました。Edge は、デスクトップの場合は v120、Android の場合は 140 でオプトイン PQ TLS をサポートしています。

AWS SDK for Node.js

Node.js v22.20 (LTS) および v24.9.0 以降、Node.js は OpenSSL 3.5 を静的にリンクしてバンドルします。つまり、PQ TLS は、これらのバージョン以降ではデフォルトで有効になっており、優先されます。

AWS SDK for Kotlin

Kotlin SDK は、v1.5.78 の時点で Linux での PQ TLS をサポートしており、優先しています。AWS SDK for Kotlin の CRT ベースのクライアントは MacOS および Windows の TLS のシステムライブラリに依存しているため、PQ TLS のサポートは基盤となるシステムライブラリによって異なります。

AWS SDK for Rust

AWS SDK for Rust は、サービスクライアントごとに個別のパッケージ (Rust エコシステムでは「木箱」と呼ばれる) を配布します。これらはすべて統合された GitHub リポジトリで管理されますが、各サービスクライアントは独自のバージョンとリリース頻度に従います。統合 SDK は 8/29/25 に PQ TLS 設定をリリースしたため、それ以降にリリースされた個々のサービスクライアントバージョンはデフォルトで PQ TLS をサポートし、優先します。

特定のサービスクライアントの PQ TLS をサポートする最小バージョンを確認するには、関連する crates.io バージョン URL に移動し (たとえば、 AWS Payment Cryptography の がここにあります)、29-Aug-25 日以降に発行された最初のバージョンを見つけます。29-Aug-25 日以降に発行されたサービスクライアントバージョンでは、デフォルトで PQ TLS が有効になり、優先されます。

オプトイン PQ TLS サポート

AWS SDK for C++

デフォルトでは、C++ SDK は libcurl や WinHttp などのプラットフォームネイティブクライアントを使用します。Libcurl は通常、TLS のシステム OpenSSL に依存しているため、PQ TLS はシステム OpenSSL が ≥ v3.5 の場合にのみデフォルトで有効になります。このデフォルトは、C++ SDK v1.11.673 以降で上書きし、デフォルトで PQ TLS をサポートおよび有効にする AwsCrtHttpClient にオプトインできます。

オプトイン PQ TLS の構築に関する注意事項 このスクリプトを使用して SDK の CRT 依存関係を取得できます。ソースからの SDK の構築については、ここで説明しますが、追加の CMake フラグが必要になる場合があります。

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

AWS SDK for Java

v2 以降、AWS SDK for Java は、PQ TLS を実行するように設定できる AWS Common Runtime (AWS CRT) HTTP クライアントを提供します。v2.35.11 以降、AwsCrtHttpClient は、使用するすべての場所でデフォルトで PQ TLS を有効にし、優先します。

System OpenSSL に依存する SDKs

いくつかの AWS SDKs とツールは、TLS 用のシステムの libcrypto/libssl ライブラリに依存しています。最もよく使用されるシステムライブラリは OpenSSL です。OpenSSL がバージョン 3.5 で PQ TLS をサポートしているため、PQ TLS 用にこれらの SDKs とツールを設定する最も簡単な方法は、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションで使用することです。

OpenSSL 3.5 を使用して Docker をサポートする任意のシステムで PQ TLS を有効にするように Docker コンテナを設定することもできます。Python 用に設定する例については、Python でポスト量子 TLS を参照してください。

AWS CLI

AWS CLI インストーラでの PQ TLS サポートは間もなく開始されます。すぐに を有効にするには、オペレーティングシステムによって異なる AWS CLI の代替インストーラーを使用し、PQ TLS を有効にできます。

MacOS の場合は、Homebrew 経由で AWS CLI をインストールし、Homebrew 提供の OpenSSL がバージョン 3.5 以降にアップグレードされていることを確認します。これは「brew install openssl@3.6」で実行し、「brew list | grep openssl」で検証できます。

Ubuntu または Debian Linux の場合: 使用している Linux ディストリビューションに OpenSSL 3.5+ がシステム OpenSSL としてインストールされていることを確認します。次に、apt または PyPI を使用して AWS CLI をインストールします。これらの前提条件により、apt または PyPI によって提供された AWS CLI は、PQ-TLS をネゴシエートするように設定されます。インストールを検証するstep-by-stepについては、github リポジトリとそれに付随するブログ記事を参照してください。

AWS SDK for PHP

AWS SDK for PHP はシステム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

「AWS SDK for Python (Boto3)」

AWS SDK for Python (Boto3) は、システム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

AWS SDK for Ruby

AWS SDK for Ruby は、システム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

PQ TLS のサポートを計画していない AWS SDKs とツール

現在、以下の言語 SDKs とツールをサポートする予定はありません。

  • AWS SDK for .NET

  • AWS SDK for Swift

  • AWS Tools for Windows PowerShell