セキュリティを評価するというと、そっち方面の専門の方々にはまず「CC」の存在が思い浮かぶ。CCといっても、もちろんメールの「カーボンコピー」の話ではない。「Common Criteria」、つまりセキュリティの普遍的な指標として定められた、国際的な評価基準のことである。

もう少し詳しく説明しておくと、CCは1999年に「ISO/IEC15408」として採択された国際標準規格である。具体的には、オペレーティングシステムをはじめとするソフトウェアや、ルータ等の通信ハードウェアなど、情報システムを構成する様々な製品について、どの程度のセキュリティレベルが備わっているかを明確に評価・認定するための基準を定めたものだ。今回は、国際的に通用するセキュリティの単位として、CCの考え方と手法を簡単に学んでおこう。

まず、評価の対象となる製品のことを、CCでは「TOE (Target of evaluation)」と呼ぶ。あるTOEを評価することになると、最初に「EAL (Evaluation Assuarance Level)」、日本語で言うと「評価保証レベル」が決定される。これはTOEがどのぐらいのセキュリティ強度を備えているかではなく、「どのぐらい厳密に検証するか」を表すもので、EAL1~EAL7の7段階で定義されている。通常はEAL1~4が一般の民間企業や政府機関での採用に必要な程度とされ、EAL5~7は軍隊や国家機密に関わる用途向けだ。

実際の評価は、評価保証レベル毎に必要とされるだけの「要件」を満たしているか、ひとつひとつ確認していくことで行われる。CCではこの「要件」が、「Class」「Family」「Component」という階層で細かく表現されている。要件の具体的な例をひとつ挙げておこう。「ガイダンス文書」に関する要件である「AGD」Classには、「管理者ガイド」の「ADM」と「ユーザガイド」の「USR」Familyが規定されている。EAL1~4の認定を受けるには、全てこの「AGDADM」と「AGDUSR」に関するComponent「1」の要件、つまり「AGDUSR.1」を満たしていることが必要とされる。そしてAGDUSR.1には、

The user guidance shall describe the functions and interfaces available to the non-administrative users of the TOE.(AGD_USR.1.1C) 

ユーザガイドには、評価対象の非管理者ユーザが利用可能な機能とインターフェースについて記述されていなければならない

などの要件が、いくつか設定されているわけだ。

また、評価基準となるCCに対し、実際の評価方法論を規定した「CEM (Common Evaluation Methodology) - 共通評価方法論」という文書もある。これは、CCに沿って評価を行う際のマニュアル、ガイド的なもので、例えば先の「AGD_USR.1」に対応するCEMには、

The user guidance should identify and describe the purpose of the security interfaces and functions.(AGD_USR.1-1 Paragraph 581)

セキュリティインターフェースや機能の目的が、ユーザガイドに定義・記述されているか

といった確認事項が掲げられている。評価者は、評価対象製品をこのマニュアルに沿ってチェックし、要件を満たしているか判断していくのである。

さて、CC/CEMによる評価は、各要件を評価者が個別に判断していく定性的なものと言えるかもしれない。しかし、評価の結果として提示される評価保証レベルの認定は、ユーザにとってはひとつの量的な指標として判断の材料となり得るだろう。ただ、繰り返しになるが、EALはあくまでも「どのぐらい厳密に検証したか」を示すものであって、セキュリティ機能の豊富さや強度を示すものではないことに注意が必要だ。つまり、2つのライバル製品を比べる場合、EALが上の方がエライとは一概に言えないのである。もちろんEALが高いに越したことは無いのだが、認定の取得にはコストがかかるという事情もあって敬遠するメーカも多いし、そもそもどんな内容で検証が行われ、その評価がどういった意味を持つかを知らなければ、ユーザサイドにとって正しい判断材料にはなり得ないだろう。まずはCCの役割と評価の意味を、きちんと理解しておくことが重要である。IPAのWebサイト等にも、CCに関する詳しい情報が掲載されている。興味のある方は、是非ご一読を。