OpenSSL 3.6はセキュリティ強化とパフォーマンス改善を伴って登場

  • セキュリティ強化: LMS、FIPS 140-3 PCT、および FIPS 186-5 に準拠した決定論的 ECDSA
  • パフォーマンスの改善: AVX-512/VAES、AArch64 の AES-CBC+HMAC、LongArch の SHA-2
  • ビルドとツールの変更: C99 が必要となり、openssl configutl ユーティリティが追加されました
  • プロトコルとフォーマットの新機能: TLS 1.3 の OCSP マルチステープルと KEM/ML-KEM を使用した CMS

SSL3.6を開きます

新しい支店 オープンSSL 3.6 6ヶ月後に発売開始 上記は、人気のオープンソース暗号化ライブラリセットのメジャーアップデートです。機能変更、セキュリティ強化、そしてサーバーとクライアントアプリケーションの両方に影響を与えるパフォーマンス最適化が図られています。

このリリースでは、最新のテクノロジーと標準規格で求められる調整のサポートに加え、統合を簡素化するユーティリティとAPIが導入されています。実用的なレベルでは、 内部チェックが強化される相互運用性が向上し、重要な暗号化パスが複数のアーキテクチャにわたって微調整されます。

OpenSSL 3.6 の主な新機能とプロトコル

最も目立つ変更点は署名の検証です。 NIST SP 800-208準拠のLMS FIPSプロバイダーではデフォルトで、鍵導出および交換メソッド用の不透明なEVP_SKEY対称鍵オブジェクトの登場とともに、 EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() y EVP_PKEY_derive_SKEY().

  • CMS には KEMRecipientInfo (RFC 9629) と ML-KEM サポート (ドラフト draft-ietf-lamps-cms-kyber) が組み込まれており、将来の量子攻撃者に耐性のある暗号化の使用が容易になります。
  • サーバーは TLS 1.3 の OCSP マルチステープル複数の証明書を持つチェーンの失効ステータスの配信を改善します。
  • スタック型では「フリー関数サンク」を定義することができます OPENSSL_sk、リソースの解放をより細かく制御できるようになります。

セキュリティとFIPS準拠

このバージョンでは検証モードでの保証を強化し、 FIPS 140-3 セルフテスト (PCT): DH キー生成、FIPS 使用時の SLH-DSA のキーインポート、および RSA、EC、および ECX キーをインポートする際の FIPS プロバイダーで、IG 10.3 ガイドに準拠しています。

このプロバイダーには、以下のサポートも追加されています。 FIPS 186-5に準拠したECDSA署名の決定論的生成PKEY オブジェクトの NIST セキュリティ カテゴリが組み込まれているため、必要な暗号化レベルに基づいてポリシーを分類および適用することが容易になります。

OpenSSL 3.6 のパフォーマンスとアーキテクチャの最適化

x86_64では、OpenSSL 3.6は最適化を組み込んでいる AES-CFB128 用の Intel AVX-512 と VAES負荷の高いワークロードにおいて顕著な改善が見られました。AArch64 (64 ビット ARM) では、認証された暗号化シナリオを高速化するために設計された AES-CBC+HMAC-SHA インターリーブ アルゴリズムのサポートが追加されました。

LoongArchアーキテクチャは、アセンブラ実装を受け取ります。 SHA-2 パフォーマンスを向上させるために、QUIC スタックはフローのすべての FIN が確認されたときに通知を追加し、有用な情報をアプリケーション プレーンに進めます。

コンパイルとツールの変更

このプロジェクトはANSI-Cコンパイラを完全に放棄します。今後は、 C99の機能 OpenSSLをビルドします。これに伴い、ユーティリティが追加されました openssl configutl、設定ファイルを処理して同等のファイルをダンプするように設計されています。

メンテナンス分野では、 VxWorksのサポートを削除 および関連する機能は廃止されています EVP_PKEY_ASN1_METHODさらに、アプリケーションには新しいオプションが含まれています CRYPTO_MEM_SEC y CRYPTO_MEM_SEC_MINSIZE セキュアメモリを明示的に初期化します。

フォーマット、相互運用性、堅牢性

デフォルトパラメータが増加 PKCS12 macsaltlen 8から16 (NIST SP 800-132 に準拠)、FIPS 実装と非 FIPS 実装間の新しい PKCS12 ストアの相互運用性が向上し、移行と監査の際の摩擦が軽減されます。

ユーティリティ層では、 openssl req 空の拡張子リストを持つ証明書を生成しなくなりました。 SKID/AKIDは「なし」に設定されていますさらに、公開RSA「暗号化」操作を強化するために、不足しているチェックが追加されました。呼び出し元によって指定された出力バッファは、少なくとも係数のバイト単位のサイズである必要があります。

HMACキーの処理は非推奨です 安全なメモリ予約 (この場合、不要なコストを回避する)、そしてAPI CRYPTO_THREAD__local オペレーティング システム固有の TLS 変数への依存を減らすために拡張されています。

可用性とサポート

OpenSSL 3.6リリースは最終版かつ安定版とみなされており、 2年間の定期サイクルサポートプロジェクトチームはコミュニティからの貢献を歓迎しています。リリースノートとソースコードは以下から入手できます。 公式リポジトリ ソースからコンパイルしたい人向け。

このリリースでは、より厳格なFIPS制御によってセキュリティの柱を強化し、CMSやTLSなどのプロトコルの機能を拡張し、一般的なアーキテクチャでのパフォーマンスを最大化します。同時に、 ビルド環境を近代化し、管理を簡素化します 新しいユーティリティと相互運用性の調整が追加されました。


優先ソースとして追加