OpenSSLはバージョン4.1.0をリリースしました。DTLS 1.3のサポート、ポスト量子暗号の最適化、対応プラットフォームの拡充が主な内容です。
2026年10月23日に公開された今回の機能リリースでは、互換性に関わる変更も加わりました。また、既知のDTLS関連の問題が4件文書化されており、開発者は導入前に影響を確認する必要があります。
ポスト量子関連の改善は、ML-DSAとML-KEMを初めて導入するものではなく、両アルゴリズムの処理を高速化するものです。
プロトコルの強化に加え、ビルド構成が変更され、タイムスタンプ用ユーティリティへの依存関係も追加されました。アプリケーションの保守担当者は、アップグレード時に注意が必要です。
最大の目玉は、RFC 9147で定義されたDatagram Transport Layer Security(DTLS)バージョン1.3のサポートです。
DTLSはTLS 1.3をベースに、データグラム通信を盗聴、改ざん、メッセージ偽造から保護します。その際、下位トランスポートのデータグラムとしての性質は維持されます。TLSとは異なり、パケットの順序が入れ替わったり、通信中に消失したりする環境にも対応できます。
この特性は、遅延に敏感な通信を含むUDPベースのアプリケーションで重要です。DTLSはハンドシェイクの再送の仕組みを備えていますが、アプリケーションデータの配信順序や到達を保証するものではありません。
OpenSSLは開発者に対し、実装の詳細についてossl-guide-dtlsv13(7)マニュアルを参照するよう案内しています。また、SSLリスナーAPIにもDTLSのサポートを追加しました。datatracker.
そのほかにも、RFC 8701のGREASE(Generate Random Extensions And Sustain Extensibility)、IKEv2鍵導出関数のサポート、Elbrus2000アーキテクチャへの初期対応などが加わりました。
これらの変更により、今回のリリースはデータグラム通信のセキュリティ強化にとどまらない内容となっています。OpenSSL 4.1.0では、ppc64le向けにML-DSAとML-KEMの数論変換(NTT)演算を最適化しました。
x86_64では、ML-DSA演算の最適化に加え、ML-DSA向けにAVX-512で高速化したSHAKE x4演算、AES-CBC復号向けにAVX-512とVAESによる最適化を導入しています。
ビルドシステムには、VC-WIN32-MSVC2013とVC-WIN64A-MSVC2013のターゲットが加わりました。Microsoft Visual C++ 2013のC99サポートの不足を補う内部関数を提供します。一方、Windows-on-ItaniumとWindows CEの構成ターゲットは削除されました。
no-ecdsaとno-ecdhのConfigureオプションも削除されました。これらのオプションは、実際には対応する実装を無効にしていなかったためです。楕円曲線のサポートを無効にしたい場合は、代わりにno-ecを使う必要があります。
このほか、tsgetは、すでに保守されていないWWW::Curl::Easyに代わり、Net-Curl CPANディストリビューションのNet::Curl::Easyを必要とするようになりました。tsgetを利用しているユーザーは、アップグレード前に代替モジュールをインストールしてください。
文書化されたDTLS関連の問題は4件あります。1件目のIssue #32878では、受信したDTLS 1.3のKeyUpdateメッセージにより、ハンドシェイク後の未処理の他のレコードが再送バッファから削除されます。
その結果、NewSessionTicketメッセージを含む未確認のレコードは、消失しても再送できません。修正は予定されています。
Issue #33277では、リスナーの受信が恒久的に失敗しているにもかかわらず、SSL_ERROR_WANT_READとして報告されることがあります。この場合、アプリケーションは無期限に待ち続けてしまいます。
Issue #33278では、再試行可能なノンブロッキング書き込みの失敗が、SSL_ERROR_WANT_WRITEではなくSSL_ERROR_SYSCALLと誤って分類されることがあります。その結果、アプリケーションが利用可能な接続を閉じてしまうおそれがあります。
最後のIssue #33242では、クライアントが応答を返す前にサーバーの最初のフライトを確認応答(ACK)すると、unexpected_messageによるハンドシェイク失敗が起きることがあります。パケット損失の後にも発生する可能性があります。
導入を担当するチームにとって、実務上まず取り組むべきなのは、DTLSのハンドシェイク、再送、ノンブロッキングのエラー処理が、アプリケーションの想定どおりに動作するかの検証です。
アップグレードのテストでは、削除された設定オプション、従来のWindowsビルドの要件、tsgetの依存関係の変更も、本番展開の前に確認する必要があります。既存の自動化処理が従来の動作を前提としている場合は、特に注意が必要です。
SOCのアラート調査を1件あたり21分短縮。即座にIOCのコンテキストを得て、迅速な対応を実現します: SOCにTI Lookupを統合する
翻訳元: https://cyberpress.org/openssl-4-1-0-released-with-dtls-1-3/