TLS1.3のML-KEMハイブリッドにおけるコードポイントの後方互換性

wolfSSLでは、TLS 1.3における耐量子暗号の後方互換性に関する重要なプルリクエストをマージしました。この改善はML-KEM (Module-Lattice-Based Key Encapsulation Mechanism)に割り当てられるコードポイントに焦点を当てており、バージョン5.8.0のリリースの境界を越えたwolfSSLバージョン間でのシームレスな相互運用性を確保しています。

コードポイントとは、単体の暗号アルゴリズムや暗号アルゴリズムの組み合わせを特定するための識別子となる数値です。バージョン5.8.0以前は、wolfSSLは従来の楕円曲線暗号と耐量子暗号のML-KEMを組み合わせたハイブリッド鍵交換アルゴリズムに特定のコードポイントを使用していました。主な3つの組み合わせは、P-256とML-KEM-512、P-384とML-KEM-768、P-521とML-KEM-1024であり、それぞれが従来の暗号と耐量子暗号で同等のセキュリティレベルを提供するように組み合わされていました。

今回の拡張機能はWOLFSSL_ML_KEM_USE_OLD_IDSというプリプロセッサマクロを導入し、この課題を解決します。ビルドプロセス中にこのマクロが定義されると、wolfSSLは5.8.0以前の旧バージョンのコードポイントと現在の標準化されたコードポイントの両方を認識して受け入れることができるようになり、古いクライアントが新しいサーバーに接続したり、新しいクライアントが古いサーバーに接続したり、両方がどちらの種類のコードポイントを使っても通信できるようになります。

技術的には、この実装は古いコードポイントである、WOLFSSL_P256_ML_KEM_512_OLD(12103)、WOLFSSL_P384_ML_KEM_768_OLD(12104)、WOLFSSL_P521_ML_KEM_1024_OLD(12105)の3つの定数定義を追加しています。これらの古いコードポイントには現在のコードポイント(12107、12108、12109)とは異なる値を割り当てています。コードはすべての参照をプリプロセッサ条件でガードしており、互換性フラグを設定せずにビルドした場合には、現在の標準に準拠します。

ご質問がございましたら、 info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/ml-kem-hybrid-tls-1-3-codepoint-backwards-compatibility/