中国によるソースコード強制開示報道に踊らされるのはまだ早い

読売新聞が中国、ITソースコード強制開示強行へ…国際問題化の懸念と報じたことから、「IT製品のソースコードの開示が強要される」「日本企業は中国から撤退すべきだ」といった極端な拒否反応があちこちで見られる(はてなブックマーク痛いニュース)。

しかし、実際読売新聞の記事は少々拡大解釈をしている。スラッシュドットのエントリを参考に、もう少し詳しく見てみよう。元ソースは中国部分情報処理のセキュリティ製品に関する強制認証実施の公告であり、昨年12月に読売新聞により正確な解説記事が掲載されている。これを読むと、多くの人が誤解している点が浮かび上がってくる。

【注】本エントリのスコープは中国の強制認証制度に関する正確な情報を伝え、多くの人が誤解している点を正す点にある。中国が信用できるかできないか、ソースコードの流用がなされないか、という懸念に関する議論はスコープ外である*1

まず第一に、審査対象となるセキュリティ製品は、ファイアウォール、ルータ、ICチップ用OS、OS、データベースなど13品目に限定される(下表)。家電製品や自動車などは対象外だ*2。全てのIT製品のソースコードの開示が求められると誤解している人が多いようだが、そんな事実はない。


強制品目リスト
カテゴリ製品名
1.ボーターセキュリティファイアウォール
ランカード及びスイッチングハーブ
VPN
2.通信セキュリティルータ
3.ID識別及び訪問者管理システムインテレジェントカードCOS( ICチップ用OS− ChipOperation System)
4.データのセキュリティデータパックアップ及びリーストア
5.ベースプラットフォームOS
データベースシステム
6.内容のセキュリティ迷惑メール防止製品
7.分析、監査及び監視、制御不正アクセス侵入探知システム(アイディーエスIDS)
ネットワークの監視システム
操作履歴、ログを収集、分析する製品
8.応用のセキュリティファイル改竄検知システム
第二は、こうしたITセキュリティの評価認証は、何も中国だけに限ったことではなく、日本を初めとする世界各国で行われていると言う事実だ。ただし、それは強制ではなく任意であり、認証を受けたい企業が各国のセキュリティ審査機関の審査を受ける(政府調達の場合には認証取得が条件となる場合が多い)。一方、中国はそれを全ての対象製品に強制しているため波紋が生じている*3。 中国強制認証(CCC)に関しては、WTO加盟後の中国強制認証(CCC)制度の課題及び経済産業省の取り組みについてが参考になる。CCCは国際規格に則り認証され、セキュリティ製品の場合には、ISO/IEC15408(CC:Common Criteria)が用いられる。ISO/IEC15408は、セキュリティ製品(ハード/ソフトウェア)およびシステムの開発や製造、運用などに関する国際標準であり、当該製品がセキュアであることに対する抜本的な指標を与える情報セキュリティ評価の国際標準だ。中国独自の謎な判断基準によって認証されるわけではなく、国際標準が用いられるという点はひとまず安心できる点だろう。 問題となっているのはISO/IEC15408の8章で述べられている7段階の品質保証レベル(EAL)において、中国が全ての対象製品に求めているレベルがEAL3ないしEAL4の非常に高いレベルにあるという点だ。EALとその用途の分類は大まかにいって次の通りだ。

  • EAL1〜3:一般民生用
  • EAL4:政府機関向け
  • EAL5〜7:軍用レベルほか、政府最高機密機関レベル向け

一般民生用において通常求められるのはEAL1〜EAL2が大半で、マニュアルや機能仕様の開示に留まる。ところが、EAL3になると詳細な設計仕様、EAL4ではソースコードの開示が求められ、全ての対象製品に審査を強制するには高すぎるレベルが問題となっているのだ。逆に言えば、たとえば政府機関向けの調達品に対してEAL4の審査を求めるのは理に適ったことだし、高度なセキュリティを要求される製品群では自主的にEAL4以上の認証を受けているものも多い。

経済産業省による日本の政府調達指針であるISO/IEC15408を活用した調達のガイドブックの最終ぺージにある、既に評価・認証を受けた製品分類毎の保証レベルを見れば、データベースや、IC、OSの多くの製品でソースコード開示を含むEAL4以上の認証を受けていることが分かる。認証の取得(任意だがセキュリティ製品群では取得が半ば常識)にあたり、ソースコードの開示を要求しているのは何も中国だけに限らない。この部分を理解せず中国を過度に非難している人が多いようだ。高度なセキュリティが求められる製品においては、義務ではなくてもソースコード開示を含むEAL4以上の認証を受けそのセキュリティを保証することが一般的だ。ネット上では「ソースコード開示=中国ひどい」という反応が多いが、セキュリティ製品におけるソースコード開示は諸外国でも広く行われていることである。問題はソースコード開示それ自体にあるのではなく、全ての対象製品に対して中国の適合性評価機関においてEAL3ないしEAL4の認証取得を義務化している点にある

ISO/IEC15408のEAL3およびEAL4の保証コンポーネント規定について抜粋する。ここでTOEは評価対象(target of evaluation)を指す。

EAL3

EAL3は、完全なセキュリティターゲット及びそのST内のSFRの分析により保証を提供する。この分析は、セキュリティのふるまいを理解するために、機能とインタフェースの仕様、ガイダンス証拠資料、及びTOE設計アーキテクチャ記述を使用して行われる。

分析は、TSFの独立テスト、機能仕様及びTOE設計に基づく開発者テストの証拠、開発者テスト結果の選択的で独立した確認、及び基本的な攻撃能力を持つ侵入攻撃者に対する抵抗力を実証する(提供された機能仕様、TOE設計、セキュリティアーキテクチャ記述、及びガイダンス証拠に基づく)脆弱性分析によってサポートされる。

また、EAL3は、開発環境管理の使用、TOE構成管理の使用、及びセキュアな配付手続きの証拠を通して保証を提供する。

このEALは、セキュリティ機能性さらに完全なテストバレージ、及びTOE開発中に改ざんされないというある程度の信頼を提供するメカニズム及び/または手続きを要求することにより、EAL2からの有意義な保証の増加を表す。

EAL4

EAL4は、完全なセキュリティターゲット及びそのST内のSFRの分析により保証を提供する。この分析は、セキュリティのふるまいを理解するために、機能と完全なインタフェースの仕様、ガイダンス証拠資料、TOE基本モジュール設計の記述、及び実装のサブセットを使用して行われる。

分析は、TSFの独立テスト、機能仕様及びTOE設計に基づく開発者テストの証拠、開発者テスト結果の選択的で独立した確認、及び強化基本的な攻撃能力を持つ侵入攻撃者に対する抵抗力を実証する(提供された機能仕様、TOE設計、実装表現、セキュリティアーキテクチャ記述、及びガイダンス証拠に基づく)脆弱性分析によってサポートされる。

また、EAL4は、開発環境管理の使用、自動化を含む追加のTOE構成管理の使用、及びセキュアな配付手続きの証拠を通して保証を提供する。

このEALは、さらに多くの設計記述、TSF全体に対する実装表現、及びTOEが開発中に改ざんされないという信頼を提供する向上したメカニズム及び/または手順を要求することにより、EAL3からの有意義な保証の増加を表す。

情報技術セキュリティ評価のためのコモンクライテリア

ネット上ではソースコード(実装表現)開示への対抗策として難読化や冗長化、果てはハードウェア化が挙げられていたが、EAL3以上において機能仕様、TOE設計、セキュリティアーキテクチャ記述、及びガイダンス証拠の開示が求められている時点で、ソースコードだけ難読化しても意味がない*4ソースコードが無くても、EAL3の開示があれば、そのまま外注に実装を依頼すのに十二分だ(率直に言って感動されるレベルだ)。ソースコード開示だけが大きく取り上げられているが、それは全体の一部に過ぎないことを認識しなければならない。

さて、中国への対応として日本が求めているのは品質保証レベルの緩和に加えて、日本の適合性評価機関の承認である。現状、中国は日本の適合性評価機関を認めていないため、中国に輸出しようとする製造者は中国国内の適合性評価機関において評価を受ける必要がある。そこに中国への情報漏洩のリスクがあるわけだが、これを日本国内の適合性評価機関の評価で代えることができれば、情報漏洩のリスクは大きく減少する。運用の透明性が向上する上、適合性評価の迅速化、負担コストの低減も期待できる。こうした相互承認は既に米国、EU、タイ、シンガポール、フィリピンとの間で成立しており、同様の相互承認を中国との間でも確立できればよい。次に前掲のWTO加盟後の中国強制認証(CCC)制度の課題及び経済産業省の取り組みについてから、域外指定型認定制度の理想像を引用する。



以上まとめると次のようになる。

  1. セキュリティ製品のソースコード開示を含む評価認証は世界各国で実施中。ただし他国が政府調達等を除いて任意なのに、中国はすべてに強制。
  2. 全てのIT製品が開示の対象になるわけではなく、対象は13品目のセキュリティ製品のみ。
  3. ソースコードだけではなく、詳細な設計仕様の開示が求められるため、ソースコードの難読化・冗長化は意味がない。
  4. 自国の適合性評価機関との相互認証の枠組み確立にむけての努力がなされており、中国からの撤退を検討するのは時期尚早。

少なくとも、はてなーはもうちょっと落ち着いたほうがよいと思う。

追記1(2009年4月30日)

読売新聞の続報によれば、中国政府は日米欧が強く反発したことに配慮し、規制を中国の政府調達分に限定、適用を1年延期し2010年の5月開始とした。当初よりも適用範囲が大幅に限定されたが、日本政府はそれでも問題が大きいとして、引き続き中国政府に制度の撤回を求めていくようだ。とりあえず1年の猶予期間ができたので、受け入れ可能な制度となるように各国政府の交渉努力に期待したい。

追記2(2009年5月1日)

ASCIIが中国ソースコード強制開示 延期になったが大丈夫?として、大手IT系メディアでは初めて詳細な背景解説記事を掲載している。その中で、この問題点を「中国政府は、海外の適合性評価機関の参加を強制認証制度(CCC)の中で認めていないこと」にあるとしている。認証制度そのものは諸外国にも存在するものでありそれ自体は問題はない。問題点は相互認証の枠組みがないため、海外企業の負担が過大になる点だ。

*1:こんな注をわざわざ付けるのは馬鹿らしいが、ソースにもあたらず、背景情報も理解せず、脊髄反射的に工作員呼ばわりする困った人がいるので追加。

*2:コメントで家電製品や自動車を対象外とする根拠を尋ねられているので補足しておくと、そもそも中国部分情報処理のセキュリティ製品に関する強制認証実施の公告という名が示すとおり、対象はセキュリティ製品である。OSの細目にOS一体型の製品との但し書きもあるが、あくまでセキュリティ製品という大前提を外してはいけない。また、「2009年の5月1日から強制認証書を取得していないもの及び強制認証マークを表示していないものについての出荷、販売及び輸入或いはその他の業務での使用が禁止される」と規定されているが、中国への家電製品や自動車の輸出が5月1日以降全面禁止されるなんてあり得ない。また、家電製品や自動車の業務使用が禁止されると中国は大混乱に陥るだろう。あくまで対象はセキュリティ製品に限られると解釈するのが妥当だ。

*3:追記1にも示したように、2009年4月29日、中国政府は対象を政府調達分に限ると方針を変更した。

*4:設計仕様書の難読化という手はあるが、仕様書は人が読んで理解できないと審査の役に立たないので難読化にも限界がある。もっとも自分が書いたり読んだりする仕様書は常に意味不明だという人もいるだろうけれど。