第2回 コモンクライテリア(CC:Common Criteria)の嘘 (2007-09-12) | 山崎文明のセキュリティコラム

第2回 コモンクライテリア(CC:Common Criteria)の嘘 (2007-09-12)


(本記事はNetoneSystemsの社内サイトで掲載されていたものです。)

政府主導で普及が進むコモンクライテリア認証

コモンクライテリア(Common Criteria、略称CC)とは、IT製品や情報システムのセキュリティ機能を評価するための評価方法の基準を定めた国際標準規格ISO/IEC 15408の通称です。情報セキュリティマネジメントシステムの国際標準規格ISO/IEC 27000をアイエスエムエス(ISMS)と呼んでいるのと同じです。ISOで承認された標準規格には、対応するJIS規格が作成されます。コモンクライテリアの場合は、JIS X 5070がそれに該当します。

政府は、セキュリティに関する信頼度の高い情報システムの構築を図ることを目的に2001年(平成13年)329日の行政情報化推進各省庁連絡会議で、ISO/IEC15408に基づいて評価又は認証された製品等の利用を推進することを決定しています。

具体的には、調達仕様書において、「セキュリティ機能の全部又は一部がISO/IEC15408に基づいて評価・認証された製品等で実現されること」を入札要件とすることが求められています。結果、例えば防衛省の情報セキュリティ関連製品の入札要件にはISO/IEC15408認証製品であることが明記されています。省庁連絡会議で申し合わせが行われた訳ですから、防衛省に限らず全ての省庁や地方自治体までもが、IT製品や情報システムを調達する前提として、「コモンクライテリア認証製品に限る」とする時期は近いはずです。さらに経済産業省では、一般企業に対するコモンクライテリア認証製品の普及を図るために2007年度(平成19年度から)コモンクライテリア認証製品を導入した企業に対する優遇税制措置を実施しています。

現時点では、コモンクライテリア認証製品が少ないため、認証を調達要件にすると必要とするものが調達できないため、必須要件にできないという事情があります。認証されていない製品を使用していてセキュリティ事件・事故が発生したとなると役人としては、説明責任が果たせないと考えるのは当然ですし、メーカーとしても、差別化を図るため他社よりも先に認証をとろうと考えることは当然の成り行きですから、新製品はすべて認証製品という時代がこないとも限りません。

美しき誤解 その1

政府は、セキュリティに関する信頼度の高い情報システムの構築を図ることを目的にコモンクライテリア認証製品を使用することを決めた訳ですが、果たしてコモンクライテリア認証製品は、信頼度の高い情報システムの構築にどこまで役立つのでしょうか。

実は、マイクロソフトのWindows 2000 Professional, Server, and Advanced Server with SP3 and Q326886)も、米国ではコモンクライテリア認証製品として認証が与えられています。Windows 2000 がセキュリティ面で高い信頼性をもった製品と考える人はいないだろうと思います。事実、マイクロソフト社のホームページでは、100以上のセキュリティホール(セキュリティ上の欠陥)情報が公開されています。セキュリティ的には不安のあるマイクロソフト製品でも認証取得できるという事実は、認証がセキュリティ強度を保証するものではないことを示しています。

しかし一般には、「認証を受けているからこの製品のセキュリティは堅牢だ」と理解している人が大半です。この種の誤解は、ベンダーのセールスマンやコモンクライテリアの普及を唱える経済産業省や防衛省の関係者にもいるのが現実です。ベンダーの中には、そうした誤解をあえて利用して自社の製品のセキュリティがいかに堅牢かをアピールしている例が目につきます。意図的であるとは、思いたくありませんが、あの社会的責任(CSR: Corporate Social Responsibility)を重んじるIT業界の中心的企業でさえそのような広告を行っているのが現実です。

美しき誤解 その2

コモンクライテリアに対するもう一つの大きな誤解は、評価保証レベル(EAL: Evaluation Assurance Lenvel)に対する誤解です。

EAL4」や「EAL4+」といったコモンクライテリア認証製品の格付けを聞いたことがある人も多いと思います。「EAL4は、EAL3よりも高度なセキュリティ機能を有している。」、「EAL+は、EAL4より、さらに高度なセキュリティ機能を備えている。」と信じこんでいる人は多いようです。評価保証レベルは、開発者が主張するセキュリティ機能が、実現されていることを「証明する資料の充足度」を表したものに過ぎません。ちなみに「+」表記は、あらかじめ提出が求められているドキュメントのセットにない独自の証拠資料が追加で提出されていることを表した記号でしかありません。開発者が主張するセキュリティ機能は、コモンクライテリアの規格に準じて評価を行う対象(TOE: Target Of Evaluation)とされますが、主張しない機能や他人が開発した機能などは、評価対象から除かれます。

例えばWindows OS上で動くファイアウォールは、Windows OSのセキュリティホールが攻撃されることで機能不全に陥る可能性がありますが、その種のファイアウォール製品は、Windows OSを評価対象(TOE)から外して認証を受けているのが実態です。したがって、コモンクライテリアの認証を受けているから「高度な」あるいは「十分な」セキュリティ機能が実装されている訳ではないのです。

急がれるPPの策定

それでは、コモンクライテリアの認証制度は、いったい何に役立つのでしょうか。

一つには、製品(もしくはシステム)の比較検討を行う際に、製品毎に記述されたセキュリティ機能要件(SFR: Security Functional requirement)と呼ばれる文書内容を比較することで、どちらの製品のセキュリティ機能がより充実しているか、判断できる点にあります。
セキュリティ機能要件は、開発者が主張する製品に実装したセキュリティ機能について述べた文章で、平均的なIT技術水準にある製品利用者が読んで理解できる平易な自然言語で記載することが求められています。
くどいようですが、セキュリティ機能要件に記述された機能が実装されていることを証明する補足資料の充足度を示すものがEALです。コモンクライテリアのもう一つの利用方法に利用者が製品に求めるセキュリティ機能を文書で定義したもの、これをプロテクション・プロファイル(PP: Protection Profile)といいますが、このプロテクション・プロファイルに対して、開発者(メーカー)に要求を満たしていることを主張させ、その主張がどの程度確からしいかを示す資料をあらかじめ決められた提出用ドキュメントのセットすなわち評価保証レベル(EAL)の指定したレベル(セット)で提出させるという方法があります。開発者から提出されたドキュメントをもとに第三者である認証機関がコモンクライテリアの認証を与えることで、製品調達者の要求に対して製品提供者である開発者が「適合を主張していることの確からしさ」に対して、評価保証レベル(EAL)という確度でお墨付きが与えられる訳です。

本来、政府がコモンクライテリアの認証制度を「セキュリティに関する信頼度の高い情報システムの構築を図ること」を目的に調達要件するのであれば、政府としてのプロテクション・プロファイルを作成し、製品調達に当たってその証明レベルを「EAL4以上」でなければならないというように指定すべきです。コモンクライテリアの先進導入国である米国や英国では、政府が作成した、例えばファイアウォールに対するプロテクション・プロファイルがあって、調達の際には、「EAL3以上を条件とする」などの運用が行われていますが、残念ながら現時点で我が国のいずれの 省庁からもプロテクション・プロファイルの公表は行われていません。