ニュース

「OpenSSL 3.0.0」が公開 ~ライセンスは「Apache License 2.0」に

新しいFIPSモジュールが組み込まれる

「OpenSSL 3.0.0」が公開

 SSL/TLSプロトコルを実装したオープンソースライブラリ「OpenSSL」の最新版「OpenSSL 3.0.0」が、9月7日に公開された。3年の開発期間、17回のアルファ版リリース、2回のベータ版リリース、7,500回以上のコミット、350人以上の開発者からの貢献を経てようやくリリースされたメジャーバージョンアップだ。

 「OpenSSL 3.0.0」における主な変更点は、内部アーキテクチャーの刷新と、ライセンスおよびバージョン管理方式の変更だ。

 まず、「OpenSSL 3.0」では既存の「ENGINE」インターフェイスに代わり、「Providers」と呼ばれる概念が新たに導入された。暗号化アルゴリズムのサポートとメンテナンスを容易に行えるよう、実装とAPIの分離も図られている。

 また、米国連邦情報処理規格(FIPS)140-2に準拠する新しいFIPSモジュールが組み込まれたのも大きな変更点。別途モジュールをダウンロードする必要はなく、いくつかの設定ファイルを変更するだけでFIPS検証モードを有効化できる。なお、「FIPS 140-2」検証のための書類は今月末に提出される予定で、最終的な証明書の発行は来年になるとのこと。

 次に、ライセンスが「Apache License 2.0」に変更された(「OpenSSL 1.1.1」など古いバージョンには適用されない)。バージョニングはよりわかりやすい「セマンティックバージョニング」となり、「(メジャー).(マイナー).(パッチ)」という形式で管理される。互換性のないAPI変更を加えた場合はメジャーバージョンを、互換性を保ちつつ機能を追加した場合はマイナーバージョンを、細かい不具合を修正した場合はパッチバージョンを増やす仕組みとなるため、バージョンナンバーを見ただけで変更の規模や互換性の有無がおおよそ把握でき、わかりやすい。

 なお、「OpenSSL 3.0.0」はメジャーバージョンアップとなるため、前のリリースとの完全な後方互換性はない。とはいえ、「OpenSSL 1.1.1」で動作していたならば、ほとんどのアプリケーションは大きな改修は不要で、単に再コンパイルするだけで動作するとのこと。ただし、本バージョンで非推奨とされたAPIは将来のリリースで削除される予定なので、アプリケーションが非推奨APIでそのまま動いたとしても、できるだけ早めに代替APIへ移行する必要があるだろう。