本文へスキップ

OpenSSL 4.1がDTLS 1.3に対応、2週間遅れでリリース

OpenSSL(オープンエスエスエル)4.1.0が10月23日にリリースされ、DTLS 1.3、GREASE、AVX-512による高速化が加わりました。DTLSのセキュリティ上の不具合で最終版のタグ付けが止まってから2週間後のことです。

著者 Tech AI Wire Team

3 分で読めます

GitHub上のOpenSSL 4.1.0のリリースページのスクリーンショット。「Latest」と表示され、リリースノートの最初の数行が写っている様子。

数字で見る

OpenSSL 4.1.0 release date
Oct 23
end of support for 4.1
Nov 2027
known DTLS issues listed at release
4

OpenSSL 4.1.0がリリースされました。プロジェクトは2026年10月23日にこのリリースのタグを付けました。目玉となる機能はDTLS 1.3で、個別のデータグラムとして送られる通信のための暗号化プロトコルの最新版です。多くのアプリはOpenSSLから暗号化機能を得ています。そのため、OpenSSLでの対応によって、そうしたアプリがそもそもいつDTLS 1.3を有効にできるかが決まります。

GitHubのリリースは、これを「重要な新機能を追加する機能リリース」と呼んでいます。Phoronixは同じ日の朝に安定版のリリースを報じました。

OpenSSL 4.1の新機能

DTLSは、UDP向けに作られたTLSのバージョンです。UDPでは、パケットが遅れて届いたり、順番が入れ替わったり、まったく届かなかったりします。TLSは、ブラウザに表示される鍵マークの背後にあるプロトコルです。DTLS 1.3は、2022年4月に公開された標準であるRFC 9147に準拠しています。つまり、OpenSSLの対応は仕様の公開から4年以上後になります。

リリースノートには、次の変更が挙げられています。

変更内容
DTLS 1.3 (RFC 9147)最新のデータグラム向けTLS。新しいガイドページossl-guide-dtlsv13(7)付き
リスナーAPIでのDTLS1つのサーバーソケットで多数のDTLSクライアントを受け付けられる
GREASE (RFC 8701)ランダムなダミー値を送り、未知の値で動作が壊れるサーバーを見つけ出す
IKEv2 KDFIKEv2 VPNの鍵交換で使われる鍵導出
Elbrus2000 (e2k)このCPUアーキテクチャへの初期対応
新しいMSVC 2013ターゲットビルドターゲットVC-WIN32-MSVC2013とVC-WIN64A-MSVC2013

GREASEには、もう一言説明が必要です。クライアントは、将来のバージョンで本物の値が追加される可能性があるフィールドに、作り物の値を送ります。それでクラッシュするサーバーは、本物の拡張機能が登場する前の今の時点で見つかります。

ポスト量子暗号の計算を高速化

高速化の作業の多くは、ポスト量子暗号を対象にしています。ML-DSAとML-KEMは、将来の量子コンピューターに耐えるように設計された、新しい署名と鍵交換のアルゴリズムです。これらのコードが速くなれば、移行のコストが下がります。

リリースノートによると、4.1では、ML-DSAがx86_64チップで使うSHAKEハッシュ向けにAVX-512のコードが追加されました。また、IBMのPOWERアーキテクチャであるppc64leで、ML-DSAとML-KEMの計算が高速化されます。AVX-512とVAESの命令により、x86_64でのAES-CBCの復号も速くなります。

削除されたもの

Phoronixによると、このリリースでは2つの古いWindowsプラットフォームが廃止されました。Itanium上のWindows(VC-WIN64I)とWindows CE(VC-CE)です。no-ecdsaとno-ecdhのビルドオプションもなくなり、代わりはno-ecです。ヘルパースクリプトのtsgetは、WWW::Curl::Easyの代わりにPerlモジュールのNet::Curl::Easyが必要になりました。

最終版が遅れた理由

4.1.0までの道のりは平坦ではありませんでした。Linux Compatibleによると、10月9日には、予定されていた最終版の代わりに4.1.0-beta2が公開されました。ベータ期間中にDTLSの2つのセキュリティ問題、#33172と#33173が見つかり、タグ付けが止まりました。同サイトによると、これらは10月23日のリリース前に修正されたようです。

このリリースには、それでも既知のDTLSのバグが4つ残っています。最も大きい#32878は、鍵の更新に関するものです。DTLS 1.3のKeyUpdateの後、保留中の他のレコードが再送バッファーから抜け落ちることがあります。その場合、失われたセッションチケットが二度と再送されない可能性があります。修正は今後のリリースで予定されています。Linux Compatibleは制限事項も挙げています。DTLS 1.3のConnection IDには対応しておらず、SCTP上のDTLS 1.3は古いバージョンにフォールバックします。

サポート期間

OpenSSL 4.1は長期サポート版ではありません。プロジェクトのダウンロードページでは、サポート終了は2027年11月とされています。OpenSSL 4.0は、最新のパッチが9月29日の4.0.3で、2027年5月14日までサポートされます。OpenSSL 3.5は引き続き長期サポート版で、2030年4月8日までサポートされます。

プロジェクトのリリースポリシーでは、マイナーリリースでAPIやABIの互換性を壊すことは認められていません。Linux Compatibleによると、4.1は4.0系との互換性を保っています。そのため、4.0向けにビルドしたほとんどのアプリは、再コンパイルの必要がないはずです。

開発者にとっての意味

DTLSを使うUDPサービスを運用しているなら、4.1は1.3に対応した初めてのOpenSSLです。本番環境ではなく、ステージング環境で試してください。未解決の4つのバグはすべて新しいDTLSのコードにあり、#32878は鍵の更新後にセッションチケットを失う可能性があります。頼りにする前に、鍵の更新とパケットロスについて独自のテストを行ってください。

1つのソケットで多数のDTLSクライアントを受け付けるサーバーは、リスナーAPIを確認してください。Linux Compatibleによると、SSL_new_listener()は新たにDTLS 1.3に対応し、DTLS 1.0と1.2しか扱えなかったDTLSv1_listen()に代わるものになります。

TCP上でTLSを使うほとんどの利用者は、通常のスケジュールでアップグレードできます。ポスト量子暗号の高速化は、AVX-512を備えたx86_64サーバーとPOWERシステムで効果を発揮します。

サポート期間を計画してください。2027年より後もサポートされるライブラリが製品に必要なら、長期サポート版の3.5を使い続け、4.1は短期間のトラックとして扱ってください。ItaniumやCE向けのWindowsビルドは、4.0以前にとどめる必要があります。

出典

  1. Release OpenSSL 4.1.0 - GitHub (openssl/openssl)
  2. OpenSSL 4.1 Released With More AVX-512 Optimizations - Phoronix
  3. OpenSSL 4.1.0 Released With DTLS 1.3 Support - Linux Compatible
  4. OpenSSL Downloads - OpenSSL Library

関連記事