OpenSSLが再認定されるまでの苦難の道

オープンソースソフトウェア研究所(Open Source Software Institute:OSSI)は先日、同プログラムの推進するOpenSSLがFIPS 140-2認定を取得し、一般向けのダウンロードを開始する旨をアナウンスした。今回のリリースは、昨年における認定作業の一時中断など、長い苦難の道を経た末での成果である。通常この種の認定作業は数カ月程度で終了するのに対し、この案件については驚くべきことに5年もの長期にわたる作業となったのだが、今回の認定作業に携わった関係者によると、今後行う同様の認定過程においてこれほど長期の遅延が生じることのないよう、必要な再発防止策は既に講じてあるとのことである。

OpenSSLとは、各種プログラムにセキュアなデータ通信を実装するために開発されたオープンソース系のツールキットであり、機能的にはプロプライエタリ系の暗号化プロトコルであるSSL(Secure Sockets Layer)のオープンソース版に相当すると考えればいいだろう。このツールキットのライセンスはいわゆる“Apacheスタイル”の形態が取られており、無料でのダウンロード、自由な配布、商用および非商用目的での使用が認められている。OpenSSL Webのサイトにアクセスすることで、同ツールキットのtarボール、ソースコード一式、セキュリティポリシィ、ドキュメント類を入手できるが、ユーザガイドについては現在準備中であり、数週間以内には公開される予定とのことである。

米国防総省(Department of Defense)などの米国の政府機関がオープンソース系ソフトウェアを用いて機密情報を扱う場合、連邦法の規定では、コンピュータモジュール検証プログラム(Computer Module Validation Program:CMVP)によりセキュリティに関する認定を受ける必要があると定められている。CMVPとはアメリカの国立標準技術研究所(National Institute of Standards and Technology:NIST)とカナダの通信安全保障局(Communications Security Establishment:CSE)による共同事業の1つである。そして今回のOpenSSLに対する認定作業については、教育および政府機関におけるオープンソース系ソフトウェアの開発と普及を活動目的に掲げるOSSIが、その管理を任されていた。

OpenSSLの認定作業がこれほど長期化した1つの理由として、この案件についてはセキュリティの試験方法をCMVPが新規に考案しなければならなかった、という点を挙げることができる。通常の認定作業では、各種ソフトウェアアプリケーション用のバイナリモジュールに対する試験を行うのだが、今回のツールキットに関してそうした手法は適用できなかったのである。それというのも、一般的なプログラムのユーザであれば事前にコンパイルされた特定のバージョンを使用するのが普通であるのに対し、OpenSSLのユーザに関しては、各自が独自にコンパイルしたバージョンを利用するケースがかなりの頻度で起こりうると想定されたからに他ならない。つまり同じソフトウェアであってもコンパイル時に取られた過程の違いによってその挙動が異なる可能性があるため、今回CMVPはバイナリモジュールではなくソースコードレベルでの検証をする必要に迫られたという訳である。「こうした認定作業は他に類例がありません」と、OSSIのテクニカルプロジェクトマネージャを務めるSteve Marquess氏は語る。「そのためCMVPおよび私どもOSSIの双方において、初めて経験する作業を行うため通常以上の時間を要したというケースに何度か遭遇しました」

こうしたソースコードレベルでの認証という要素だけがOpenSSLに関する認証作業を遅延させたのではない。OSSIの部長を務めるJohn Weathersby氏の説明によると、オープンソース形態のSSLツールキットが認定されることに危機意識を募らせたプロプライエタリ系ソフトウェア企業のいくつかが、プロジェクトの頓挫は無理だとしても可能な限り遅延させるべく1つの運動を展開したということになる。つまり、フリーなSSLソフトウェアの政府機関での使用が認められると、それと競合するプロプライエタリ系ソフトウェアに対する政府調達が落ち込む可能性があるので、そうしたベンダのいくつかが今回の認定作業を妨害すべく画策し始めたのであろう、というのがWeathersby氏の示唆するところなのだ。

CMVPの認定作業についての方針では、関連する懸案事項についてのコメントや質問は、個人であるか企業であるかを問わず受け付けるとされている。そしてWeathersby氏の語るところでは、OpenSSLに関しても何件かの批判意見がCMVPに寄せられ、そうした提示された点をCMVPおよび試験ラボが逐次解決する分だけ作業が遅延したとのことだ。しかも同氏によると、OpenSSLの認定作業はいったんは完了していたのだが、2006年7月の段階で「匿名のベンダ群により様々な批判意見が提示された」ことで中断状態に追い込まれたということになる。

「私どもはこれを、競合製品の登場を妨害しようとするFUD行為だと見なしていました」と同氏は語る。「寄せられた批判意見の中には、“コミュニストのコード”だという主張もあったくらいです。それはOpenSSLは“コミュニストのコード”を採用しようとしているとする批判意見だったのですが、どうもその根拠というのは、単に開発者の1人がロシアに在住しているということだけのようでした。こうした荒唐無稽な誹謗も含めて、提出された批判意見の1つ1つが作業のペースを遅らせた点に間違いはありません」

CMVPに寄せられたすべての批判意見をOSSIが検証することは不可能であったが、実際に検討した懸案事項の多くで、その提出者に関する情報が削除ないし不明瞭化されていた。そうした状況の中、提出元に関する情報を読み取ることのできる書類も存在したことから、Weathersby氏が語るところの、批判意見の一部はプロプライエタリ系ソフトウェアベンダ群により提出されたものだという事がOSSIの知るところとなった訳である。

もっともMarquess氏の意見によると、結果的により詳細な検討を加えることで事前に予想されていたよりも完成度の高いツールキットに仕上げることができた、ということになる。「確かにFUD的な行為により、認証作業の進捗ペースは若干遅くなりました」と同氏は語る。「私どもの活動がこうした行為による妨害を受けるのも、ひるがえせば、そのすべてがオープンに進められているためです。これが(CMVPで検証される)その他のソフトウェアの場合だと、プロプライエタリ系の情報はいずれも企業機密とされるので、そうしたものに対し私どもから何らかのコメントをするなどは不可能です。オープンな体制のデメリットとして、ある種の人々がほしいままに当方の作業を非難できるようにしているという一面も存在します。また一方では、オープンな体制下で十分に吟味された試験を繰り返すことにより結果として完成度を一段と高めることができた、という見方をすることもできる訳です」

この件について問い合わせたソフトウェアベンダからは、いずれもコメントを得ることができなかった。

将来的な遅滞の再発防止策

あたかも無限に繰り返されるかのごとく続いた遅延にさいなまれたOSSIだが、今回の件で彼らが感じた最大の不満は、CMVPによる認定を受け終わったソフトウェアがその時点で既に3年以上前の代物と化していたことであった。「(問題のツールキットは)バージョン0.9.7から派生したものなのですが、現在既に0.9.8が利用できるようになっており、また0.9.9も既に開発段階に入っています」とMarquess氏は語る。「公開できるようになったのは喜ぶべきことですが、遺憾ながら若干時代遅れになっていた訳です。もっとも今ではCMVP側が何を求めているかをより正確に把握できているので、次に同様な認定を行う際にはよりスムースに作業を進行できるでしょう。また当方に対しどのような批判意見が投げかけられるであろうかも学習できましたし、次のリリースではその点もうまくこなせるはずです」

またOSSIは約6カ月ごとに認定バージョンをリリースする“定期認証”(rolling validation)の検討も進めている。その前提となっているのは、既にOpenSSLのソースコードに関しては試験が済んでおり、今後の開発としてはバイナリライブラリのコンパイル作業に集中すればよく、成果物を提出して認定を得る際においても、その際に用いられるプロセスはCMVPが他のソフトウェアの試験時に繰り返し行ってきた作業であるため、今回ほど手間がかかることはないであろうという考え方である。

認証および再認証までの道のりは非常に長いものであったが、Weathersby氏とMarquess氏が口をそろえて語るのは、オープンソースコミュニティ、チームメンバ、ボランティア協力者からの継続的なサポートによって支えられたという点である。例えば試験ラボであるDOMUSなども、OpenSSLプロジェクト側から賄われる試験用予算が初年度の段階で尽きたにもかかわらず、その後もOpenSSLのソースコードの試験を継続してくれたというように、今回のプロジェクトには半ばボランティア的に協力してくれたのであった。Weathersby氏は、同プロジェクトに費やされたボランティア型の述べ作業時間について、「7桁の大台に乗るであろう」と見積もっている。

両氏は、OpenSSLの認定終了までにCMVPが大きな役割を果たした点についても同意している。「今回の件については、CMVPのメンバすべてに心から感謝しています」と語るのはWeathersby氏である。Weathersby氏が特に言及しているのは、通常行われるバイナリコードではなくソースコードを対象とした試験という行為に前向きに取り組んでくれた点であり、「彼らは通常の作業手順を大幅に組み換える必要があったのですが、それは巨大戦艦を手でひっくり返せと言うに等しい要求であったことを、私たち全員が心得ていました」としている。

Marquess氏も「彼らは非常に困難な課題を克服してくれました」という同様の感想を抱いている。「私たちのプロジェクトを自分たちの既得権益を犯すものだと考えるベンダがあり、そうした企業からの認定を阻止しようとする圧力がおそらく彼らにはかかっていたのだと思います。こちらとしても、何らかの弁解を聞かされることも覚悟していましたが、そうした事態は何一つ発生しませんでした」

「今回の出来事は、オープンソースというモデルがいかに堅牢かつ柔軟で活力に満ちているかを示す好例だと言えるでしょう」とWeathersby氏は語る。「また同時に、誰であっても他人の優れた発想を押さえ込むことは不可能であることの実例だとも思っています」

NewsForge.com 原文