OpenSSLがFIPS認定を取得

米国政府およびカナダ政府の共同プログラムCryptographic Module Validation Program(CMVP)は、1月20日、オープンソース・セキュリティ・ツールキットOpenSSLによるSecure Sockets Layer(SSL)プロトコルおよびTransport Layer Security(TLS)プロトコルの実装を認定すると明らかにした。

フリーのオープンソース・ツールキットOpenSSLは、すでに世界中の企業や団体が利用しているが、Federal Information Processing Standard(FIPS)140-2の条件を満たしていることが認定されれば、米国およびカナダの機密データを扱う政府機関でも利用できるようになる。

CMVPは米国のNational Institute for Standards and Technology(NIST)とカナダのCommunications Security Establishment(CSE)が共同で運用しているプログラムだ。認可された施設において、暗号モジュールをFIPS標準に基づいて試験し、そのモジュールが使用のたびに所定の処理を行うことを確認している。

OpenSSLは正式にはまだ認定されていないが、CMVPのディレクターRandy Easterは「結論は出ている」と述べた。現在、CMVPの認定前手続きの最終段階にある。認定書を印刷しNISTおよびCSEの代表が署名する必要があるが、Easterは、来週には署名され正式に発効するだろうと語った。

また、Easterによれば、オープンソースの暗号モジュールが認定されるのは、これが初めてだという。

認定書の草稿によれば、そこに記された条件に従ってコンパイル・インストールし実装したときOpenSSLは機密の政府情報を保護するための要件を満たし、テストされた11のカテゴリーのうち9つでレベル1――4つある認定レベルの一番下――に認定される。

調査は、DOMUS IT Security LabにおいてSUSE Linux 9.0およびシングル・ユーザー・モードのHP-UX 11iにOpenSSLを実装して実施された。しかし、CMVPの実装指針に準ずる限り、OpenSSLのあらゆる利用に対して有効である。

「つまり、OpenSSLを含むすべての暗号モジュールを公平な土俵に上げ、……、境にある巨大な壁を壊すということです。(認定は)この業界を揺り動かすでしょう」。検証作業でこのプロジェクトを支援したOpen Source Software Institute(OSSI)のエグゼクティブ・ディレクターJohn Weathersbyはこのように述べた。

さらに、OpenSSLがセキュリティ・ソフトウェアに対して政府の要求する厳しい条件をクリアしたため、「誰も、このオープンソース・コンポーネントはあまり良くないなどとは言えなくなりました」とも述べた。

FIPS指針の下でOpenSSLを検証する作業は2003年末から始まったが、オープンソース・ソフトウェアを検証した経験がなかったために進捗ははかばかしくなかった。

DOMUSのFIPS-140プログラム・マネージャーChris Brychによれば、所定の要件を満たしているか否かの調査の際、OpenSSLの検証作業では今までにない問題が発生したという。この作業は、ソフトウェアを動かすというような単純なものではないからだ。OpenSSLのソースコードは自由に入手可能であり、利用者はコンパイル済みのバージョンを使うのではなく、ツールキットを自分でコンパイルできる。したがって、作業は概念検証となるのである。

ソースコードとして配布されているモジュールを調査する手順を説明した上で、Brychは、OpenSSLの調査の際に開発されたオープンソース・ソフトウェアの調査方式は、モジュールの配布と保全性試験の実効性についてCMVPが抱いた疑問点に解答を与えるものだったと言う。

一方、CMVPのEasterは「どのようなモジュールの場合でも、調査中にはさまざまなことが発生し、検討が必要になるものです」と言う。

そして、CMVPの方針により具体的なことは明かせないが、オープンソースの検証にはオープンソースに固有の原理的問題が2つあると言う。ベンダーが製作し出荷したモジュールの実際の運用に関することと、モジュールが変更されていないことの使用時点における確認という、設計の保証問題である。

「オープンソース(ソフトウェア)は、ソース・ファイルが提供され、誰もがダウンロードしてモジュールを作ることができるという特徴を持っています。したがって、作成したモジュールの場合は、そのモジュールと連携して動作するアプリケーションやプロセスとの関係で、そのコンパイル結果に関して多くの疑問点が生じますし、ソース・ファイルの場合は、理解するのに時間が必要です」

これに対して、プロプライエタリ製品の場合は完成された形で出荷され、コンパイルは標準化されており、ソフトウェアのコードが改竄されていないことは保全性検査や署名によって使用のたびに確認することができるとEasterは言う。OpenSSLは特定の一企業が一つしかないバージョンをリリースするというような製品ではないため、ソフトウェアの保証と、それを検証するCMVPによる保証とは同じではない。

「セキュリティの世界では、いかなる変更もモジュールの安全な運用に影響する可能性があります。ですから、モジュールが変更されれば、それがたとえ1ビットであったとしても、そのモジュールは無効になるのです」

OSSIのWeathersbyは、今回の認定について次のように述べている。今回の認定は、オープンソース・ソフトウェアがFIPSに示されているのと同様の厳しい要件を満たしていることを確認する作業においてOSSIの信頼性を高めただけでなく、オープンソース・コミュニティがコスト同様に品質においても企業に対抗できることをも示している。

「(認定の取得など)できるわけがないと言われましたが、これは、企業だけが実行可能だと言われていたことをオープンソース・コミュニティが協力して達成するという典型的な例なのです」

原文