45
サポート文書 必須技術文書 スマートカードへの攻撃能力の適用 2013 5 バージョン 2.9 CCDB-2013-05-002 平成 26 8 月翻訳第 1.0 独立行政法人情報処理推進機構 技術本部 セキュリティセンター 情報セキュリティ認証室

サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

サポート文書 必須技術文書

スマートカードへの攻撃能力の適用

2013 年 5 月

バージョン 2.9

CCDB-2013-05-002

平成 26 年 8 月翻訳第 1.0 版

独立行政法人情報処理推進機構

技術本部 セキュリティセンター

情報セキュリティ認証室

Page 2: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

IPA まえがき

はじめに

本書は、「IT セキュリティ評価及び認証制度」において、「認証機関が公開する評価基準」

の規格として公開している Common Criteria Supporting Document (以下、CC サポー

ト文書という)を翻訳した文書である。

原文 Application of Attack Potential to Smartcards Version 2.9 May 2013 CCDB-2013-05-002

May 2013 Version 2.9 Page 2

Page 3: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

まえがき 本書は、情報技術セキュリティ評価のためのコモンクライテリア バージョン3、及びそれに関連

する共通評価方法を補完することを目的としたサポート文書である。 サポート文書は、「ガイダンス文書」または「必須技術文書」でもある。「ガイダンス文書」は、

規格適用の相互承認を必要としない分野への固有のアプローチや規格適用に焦点を当てる文書で

あり、そのため規格という性格のものではない。「必須技術文書」は、サポート文書の適用範囲に

含まれる評価への適用が義務付けられている文書である。必須技術文書の使用は、必須であるだ

けでなく、それを適用した結果発行される認証書は、CCRAのもとで承認されている。 技術編集者:BSI 改訂履歴: V2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示) V2.7 2009年3月(レート付けカテゴリの技術的更新、及び対応するJIL文書バージョン2.7に基づ

くオープンサンプルの使用に関する更新) V2.5 2007年12月(最終的な攻撃能力値には、識別及び悪用のためのポイント追加しなければな

らない明示的な記述を追加、参考文献を更新) V2.3 2007年4月(オープンサンプルの使用に関する評価時間ガイドライン及び規則を追加、なら

びにCCバージョン2とバージョン3の両方で使用できるように更新) V2.1 2006年4月(必須技術文書としての分類、表の数カ所を更新) V1.1 2002年7月(草案の表示を削除、参考文献を更新、内容はV1.0と同じ) 全般的な目的: ハードウェア製品とソフトウェア製品の両方のセキュリティ特性は、CCに従って認証できる。以

降の各章では、認証を共通にし、現在の最先端のハードウェア評価に適合する方法でCCをハード

ウェアICに確実に適用できるように、共通評価方法[CEM]に加え、CC保証作業パッケージの個々

の側面に関するガイダンスを示す。 特殊用途の分野:スマートカード及び類似デバイス

May 2013 Version 2.9 Page 3

Page 4: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

謝辞: 以下に示される政府組織は、Joint Interpretation Working Groupに所属し、このコモンクライテリア

サポート文書の本バージョンの作成に貢献した。 フランス: Agence Nationale de la Sécurité des Systèmes d'Information (ANSSI) ドイツ: Bundesamt für Sicherheit in der Informationstechnik (BSI) オランダ: Netherlands National Communications Security Agency (NLNCSA) スペイン: Centro Criptológico Nacional (CCN) 英国: Communications-Electronics Security Group (CESG) また、以下の組織に加入しているスマートカードベンダ、評価機関、その他の企業による作業の

貢献に対して感謝の意を表する。 - International Security Certification Initiative (ISCI) - JIL Hardware Attacks Subgroup (JHAS)

May 2013 Version 2.9 Page 4

Page 5: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

目次 1 序説 .................................................................................................................................... 6 2 適用範囲............................................................................................................................. 6 3 序文:AVA_VAN.5 評価の作業負荷 ................................................................................... 6 4 要素の識別 ......................................................................................................................... 6 4.1 攻撃の計算方法 ............................................................................................................................. 7 4.2 所要時間 ......................................................................................................................................... 8 4.3 専門知識 ......................................................................................................................................... 9 4.4 TOE の知識 .................................................................................................................................. 10 4.5 TOE へのアクセス ...................................................................................................................... 11 4.6 機器 ............................................................................................................................................... 12 4.7 ツール ........................................................................................................................................... 13 4.8 オープンサンプル/既知の秘密を持つサンプル ...................................................................... 14 4.9 最終的な表 ................................................................................................................................... 22 4.10 CC v2 の場合の範囲 .................................................................................................................... 23 4.11 CC v3 の場合の範囲 .................................................................................................................... 23 5 攻撃方法の例 ................................................................................................................... 24 5.1 物理的な攻撃 ............................................................................................................................... 24 5.2 センサやフィルタの制圧 ........................................................................................................... 25 5.3 かく乱攻撃 ................................................................................................................................... 25 5.4 DFA による鍵の取得 .................................................................................................................. 27 5.5 サイドチャネル攻撃-秘密データの非侵襲的取得 ............................................................... 27 5.6 テスト機能の悪用 ....................................................................................................................... 29 5.7 RNG への攻撃 ............................................................................................................................. 29 5.8 不正な形式の Java Card アプリケーション ............................................................................. 31 5.9 ソフトウェア攻撃 ....................................................................................................................... 31 5.10 アプレット分離 ........................................................................................................................... 40 6 参考文献........................................................................................................................... 45

May 2013 Version 2.9 Page 5

Page 6: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

1 序説

1 本書では、コモンクライテリア方法論[CEM]の最新バージョン(CC v2の附属書A.8、CC v3の附属書B.4)を解釈する。この成果は、スマートカードのCC評価経験、International Security Certification Initiative(ISCI)及びJIL Hardware Attacks Subgroup(JHAS)を通じたスマート

カード業界からの情報提供に基づいている。

2 本章では、攻撃者が攻撃を達成するために必要な攻撃能力を算出するガイダンス尺度を示

す。その基本的な目的は、攻撃を成功させるために必要なすべての労力を示す手助けをする

ことである。これは、スマートカードの動作上のふるまいに適用されるべきであり、ハード

ウェアまたはソフトウェアだけに固有のアプリケーションに適用されるべきでない。

3 本書は、CC v2及びCC v3 [CC]に適合している。

2 適用範囲

4 本書では、1つまたは多数の攻撃段階で構成される攻撃パスの概念を紹介する。脆弱性を

認識するために、攻撃パスの攻撃段階ごとに解析及びテストを実行する必要がある。 暗号が関与する場合は、認証機関に相談すべきである。

3 序文:AVA_VAN.5 評価の作業負荷

5 典型的なスマートカードのVAN.5評価に有能なテストラボがどれくらいの時間を費やすべ

きかについて、厳密な規則を指定することはできないが、評価及び様々な国の制度を区別な

く調和させる取り組みにおいて次のガイダンスが提供されるものとする。CCの脆弱性解析

が既に実施されていることを前提とし、新しいICを最初からテストする評価には、暗号サー

ビスの数、インタフェースなどのICの複雑性に応じて、おおよそ3人月をかけるべきである。

VLA.4/VAN.5テスト作業での認証されたICを使用したコンポジット評価の合計評価時間は、

オープンプラットフォーム、ネイティブプラットフォーム、APIの数などのプラットフォー

ムの複雑性に応じて、1~3人月のオーダーである。このガイダンスから外れてもよいが、何

らかの根拠を認証機関に示す必要がある。

6 この解釈の前提は、認証機関が自国内だけでなく、各国の制度間の調和を保証することで

ある。これは例えば、新しい種類の攻撃が適用されるとき、攻撃がどの時点で「成熟した」

と見なすか、(上述の通り)どの時点で攻撃を開発するための時間または専門知識に点数が

つかなくなるかを決定する場合に必要になる。

4 要素の識別

7 CC v3.1に関する注釈:

8 コモンクライテリアのバージョン3.1では、識別フェーズと悪用フェーズの区別がなくなっ

ているが、スマートカードコミュニティ内では、CC認証書のユーザが実施するリスク管

理に、「識別」(攻撃の実証)のコストと「悪用」(例えば、スクリプトがワールドワイド

ウェブで公開された場合)のコストを明確に区別することが必要である。

May 2013 Version 2.9 Page 6

Page 7: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

したがって、スマートカード評価に対する攻撃能力を算出する場合に、この区別を維持す

る。識別と悪用の区別は、スマートカード評価においては、攻撃パスの理解と文書化のた

めに不可欠であるが、両方のフェーズが合わさって完全な攻撃になるので、攻撃能力の最

終的な総和はこの2つのフェーズの点数を合計して算出する。

4.1 攻撃の計算方法

9 攻撃パスの識別、及び悪用の解析やテストは、関連する要素(所要時間、専門知識、TOEの知識、TOEへのアクセス、攻撃を実行するのに必要な機器、ならびにオープンサンプル

または既知の秘密を持つサンプルを使用したかどうか)にマッピングされる。攻撃がいく

つかの段階で構成される場合でも、識別及び悪用は攻撃パス全体に対して算出すればよい。

10 攻撃の識別部は、攻撃を作成し、それがTOEに正しく適用できる(必要なテスト機器の

セットアップまたは構成を含む)ことを実証するために必要な作業に対応する。攻撃の

適用が成功することの実証では、有用な攻撃を作成するために、評価機関で示される結

果を拡張して有効な攻撃を作成する上での障害を考慮する必要がある。例えば、実験で

秘密データ項目(鍵またはPINなど)のいくつかのビットまたはbyteが明らかになった場

合、データ項目の残りの部分をどのように取得するかを考慮する必要がある(この例で

は、いくつかのビットは追加実験によって直接測定し、その他は全数検索などの別の技

法によって求める可能性がある)。攻撃によってTOE資産へのアクセスができること、及

び完全な攻撃を現実に実行できることが明らかである場合、攻撃全体を識別するために

すべての実験を行う必要は必ずしもない。識別からの出力の1つは、攻撃をどのように実

施するかについて段階的な説明を与えるスクリプトであると見なされ、このスクリプト

は悪用の部分で使用することが想定される。

11 識別フェーズでは、後でその他のTOEに適用できる新しい種類の攻撃が開発されることも

ある(新しい機器の作成に関係する場合もある)。このような場合には、攻撃を再適用す

る場合に、その所要時間及びその他のパラメタを処理する方法が問題となる。本書で取り

上げる解釈には、識別の開発時間(及び関連する場合は専門知識)に、関連する認証機関

によって判断が下される時まで、攻撃の初期作成の開発時間が含まれる。一旦、認証機関

によってこの点数の判断が下されると、攻撃能力の算出には、攻撃の開発(時間または専

門知識に関して)は最早使用されない。

12 攻撃の悪用フェーズは、攻撃の識別フェーズで定義されている解析及び技法を使用して、

TOEの別のインスタンスに対する攻撃を達成することに対応する。異なる攻撃者が悪用を

実行することが想定されるが、悪用のための技法(及び、関連する背景情報)は、攻撃の識

別フェーズで定義されたスクリプトまたは一連の指示の形で利用できるものとしている。

このスクリプトは、必要な機器や、解析に使用される数学的技法などを明らかにするもの

と想定される。1 これは、悪用に対する所要時間、専門知識、及びTOEの知識のレート付

けが、識別の場合よりも低い場合があることを意味する。例えば、かく乱攻撃に必要なタ

イミングや物理的位置などのものをスクリプトが識別することを前提としているため、悪

用フェーズで攻撃者は、かく乱を適用する適切なタイミングを求めるために大幅な時間を

費やす必要がない。さらに、この同じ情報によって、悪用の要件を単なる時間測定の1つにまで減らせる可能性があるのに対し、識別フェーズでは、電力データからのハードウェ

ア情報またはソフトウェア情報のリバースエンジニアリングが必要になる可能性がある

1 この前提は、(識別フェーズの)最初の攻撃で取得された情報が、(悪用フェーズの)この攻撃を悪用しようとす

る他の攻撃者と完全に共有されるという最悪のシナリオである。この前提は、特に、商業利益に対する攻撃が発

生して競合する犯罪組織間での共有が起きなければ成立しない場合には、必ずしも正しいとは限らない。

May 2013 Version 2.9 Page 7

Page 8: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

ため、専門知識の要件も減らせる可能性がある。同様に、攻撃のタイミングを取るために

使用されたアプリケーションに関する知識も、スクリプトに直接的または(必要なタイミ

ングのデータを通じて)間接的に含まれる場合がある。原則として、例えば、調査中のす

べてのTOEに共通する秘密のマスター鍵が識別フェーズで危殆化した場合、悪用フェーズ

では点数が全く与えられない。これは、識別フェーズと悪用フェーズの間でやりとりされ

る詳細を定義するスクリプトに、このマスター鍵に関する情報が含まれるためである。そ

のような例として、マスター鍵をROMに格納する場合がある。

13 多くの場合、評価者は悪用を全面的に実施するのではなく、悪用フェーズのパラメタを見

積もる。 これらの見積もり及びその根拠は、ETRに証拠資料として提示される。

14 攻撃能力の算出を完了するには、識別フェーズの点数と悪用フェーズの点数を合計する必

要がある。これは、両方のフェーズが合わさることによって完全な攻撃が成立するためで

ある。ETRで攻撃能力の計算を示す場合、評価者は使用されるパラメタ値の妥当性の根拠

を示すことによって、認証前に計算に異議を唱える機会を開発者に与える。したがって、

最終的な攻撃能力の算出結果は、開発者、評価機関、及び認証機関の間の議論に基づいて

決定される。ただし、合意に達しなかった場合は、認証機関が最終決定を行う。

4.2 所要時間

15 CEMに示される「所要時間」要素と比較すると、追加の粒度がスマートカードに導入され

ている。 特に、1週間と複数週間が区別されている。これで、所要時間は次の間隔に分け

られる。

識別 悪用

1時間未満 0 0 1日未満 1 3

1週間未満 2 4 1カ月未満 3 6

1カ月を超える 5 8 非現実的 * *

表1:所要時間のレート付け

May 2013 Version 2.9 Page 8

Page 9: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

16 CEMでは、非現実的という用語は「攻撃者にとって有益な期間内に攻撃パスを悪用するこ

とができない」と定義されている。

17 実際に評価者は、TOEの攻撃に3カ月を超える時間をかける可能性は低い。評価の終了時

に、評価者は最小限の攻撃パスを実行するのにかかる時間を評定する必要がある。これに

より、必ずしも評価者が攻撃を実行することにかかる時間ではなく、攻撃を開始する推定

時間が算出される。

18 以前の評価で発見されたものに攻撃が基づく場合には、所要時間及び専門知識を考慮する

必要があり、例えば、TOEに類似したスマートカード製品に対して特定の攻撃が開発され

ている可能性もある。ここで、一般的なガイダンスを示すことはできない。

19 「非現実的」であるかどうかは、以下に示される2つの例のように、特定の攻撃シナリオ

によって異なる場合がある。

(a) オンラインシステムに使用されるスマートカードを考慮する。カードに個別鍵だけが

含まれ、さらにカード紛失が報告されてから数日以内にこれらのキーがシステム内で

非アクティブにされると想定する。この場合、攻撃者が鍵を1週間で抽出できるので

あれば、攻撃者にとって攻撃は実用的でない。

(b) システム全体用の鍵が含まれるスマートカードを考えて、個別のカードが、紛失後に

その使用がブロックされる場合でも不正行為に使用される可能性がある、この場合、

攻撃に1年かかるとしても、攻撃者にとって攻撃は成功する可能性がある。

20 そのように「非現実的」時間の一般的な仮定が必要である場合、3~5年ぐらいが、最悪の

ケースを見込んだ期間として適切である。(これは一般にカードの世代が切り替わる時間

であり、同程度の期間でシステム全体用の鍵も変更される可能性がある)。しかし、「非現

実的」の意味を、特定の攻撃シナリオにおいて決定するのが最もよい規則だと思われる。

4.3 専門知識

21 スマートカードのために、以下の2種類のエキスパートが定義されている。

- スマートカード(ハードウェア、ソフトウェア、暗号)に対する新しい攻撃及び必要

なツールを定義する能力を持つエキスパート

- 開発者と同等のTOEの知識レベル(例えば、製品規格及び製品仕様の知識)を持つエ

キスパート

22 攻撃を実施するのに必要な専門知識は、化学、洗練されたツールを駆使する能力、暗号な

ど、複数の分野に及ぶ場合がある。

CEMによる定義 スマートカードの評価に使用される詳細定義 a) エキスパート 以下の実装に精通している

・ アルゴリズム ・ プロトコル ・ ハードウェア構造 ・ セキュリティの原則と概念

以下に精通している ・ 開発者の知識(アルゴリズム、プロトコル、

ハードウェア構造、セキュリティの原則と

概念) 及び ・ 新しい攻撃を定義するための技法とツール

May 2013 Version 2.9 Page 9

Page 10: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

CEMによる定義 スマートカードの評価に使用される詳細定義 b) 熟練者 以下に精通している

・ セキュリティのふるまい 以下に精通している ・ セキュリティのふるまい、標準的な攻撃

c) 素人 特に専門知識を持たない 特に専門知識を持たない

表2:専門知識の定義 専門知識の範囲 (機器またはスマートカードに関連する知識の広がりの順) 機器: 専門知識のレベルは、ツールを駆動するために必

要な経験の程度により異なる ・ オシロスコープ ・ 光学顕微鏡 ・ 化学(エッチング、研削)、マイクロプローバ ・ レーザーカッター、レーザー光 ・ プラズマ(エッチング、研削)、集束イオンビー

ム(FIB) ・ 走査型電子顕微鏡(SEM) ・ 原子間力顕微鏡(AFM)

知識: 専門知識のレベルは以下の知識により異なる ・ 一般の製品情報 ・ 一般のアルゴリズム、プロトコル ・ 一般の暗号 ・ 電力差分解析(DPA)、故障差分解析(DFA)、

電磁波解析(D/EMA) ・ リバースエンジニアリング ・ スマートカード固有のハードウェア構造 ・ セキュリティの原則と概念 ・ 開発者の知識

表3:専門知識の範囲 23 高度な攻撃では、複数の種類の専門知識が必要になる場合がある。そのよう場合、様々な

専門知識要素のうちの最も高度なものが選択される。

24 攻撃の個々の段階で様々な分野のエキスパートレベルの専門知識が必要となる状況に対

応するために、新しいレベル「複数のエキスパート」が導入された。専門知識は、例えば、

HW操作と暗号学のように、完全に異なる分野と関係していなければならない。

識別 悪用

素人 0 0 熟練者 2 2 エキスパート 5 4 複数のエキスパート 7 6

表4:専門知識のレート付け 4.4 TOEの知識

25 CEM v.2.3では、「悪用に秘密情報を要求することは、一般的でない」と述べられている。

しかし、識別に必要な情報を悪用の追加点の要素として見なしてはならないことを明確に

理解しなければならない。

May 2013 Version 2.9 Page 10

Page 11: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

一般に、悪用フェーズで必要なすべての知識が識別フェーズから、攻撃を記述する適切な

スクリプトを介して渡されることが期待される。

26 秘密に関わる重要な設計情報はすべて開発者によって適切に管理及び保護されなければ

ならないため、それらが専用の攻撃パスを決定することにどのように役立つかが明らかで

ない場合がある。このため、攻撃能力の計算では、必要な重要情報を時間と専門知識(例

えば、専用攻撃の計画要素)の組み合わせで代替できない理由を明確に述べなければなら

ない。

27 以下の分類を使用する。

・ 公開:これは公知になっている情報である。

・ 制限:これは、スマートカード開発の様々なフェーズ中に受け渡される資産に対応す

る。適切な例として、機能仕様書(ADV_FSP)、ガイダンス証拠資料(AGD)、また

はスマートカード発行者/ユーザ用に通常用意される管理文書がある。([CC-IC]を参照)

・ 秘密:HLD及びLLDの情報

・ 危機的:実装表現(設計及びソースコード)

・ 非常に重要なハードウェア設計:最新のICの設計には、大規模なデータベースだけで

なく、高度な特別注文ツールが必要である。このため、有用なデータへアクセスする

には、内部関係者からの支援を得たとしても膨大な時間のかかる作業が必要となり、

検知される可能性が高くなる。攻撃がそのような知識に基づく場合、新しいレベルの

「非常に重要な設計」が導入される。その知識が別の方法で取得できない場合、個別

的な判断によって決定される必要がある。

28 このように、2種類(HLD/LLD及び実装レベル)の情報を考慮して、一方では上位レベル

設計や下位レベル設計へのアクセス、他方では製品のソースコード/回路図へのアクセスを、

知識によって区別しなければならない。([CC-IC]を参照)

29 高度の攻撃では、複数の種類の知識が必要である場合がある。そのよう場合、様々な知識

要素のうちの最も高度なものが選択される。

識別 悪用

公開 0 0 制限 2 2 秘密 4 3

危機的 6 5 非常に重要な

ハードウェア設計 9 該当なし

表5:TOEの知識のレート付け 4.5 TOEへのアクセス

30 (時間及びコストに関する)サンプルの可用性は、攻撃パスを実行するために必要なサン

プル数と同様に考慮される必要がある(これは、CEM要素「TOEへのアクセス」に代わる

ものとする)。

May 2013 Version 2.9 Page 11

Page 12: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

31 以下の理由のために、攻撃シナリオではTOEの複数のサンプルへのアクセスが必要となる

場合がある。

・ 攻撃が特定のデバイスにおいてある程度の確率でしか成功せず、多数のデバイスが試

用される必要がある。

・ 攻撃が、多数のデバイスを破壊した後だけしか成功しない(平均して)。

・ 攻撃者は、TOEの複数のコピーから情報を収集する必要がある。

32 この場合、次のレート付けを用いてTOEアクセスを考慮する。

識別 悪用

10サンプル未満 0 0 30サンプル未満 1 2

100サンプル未満 2 4 100サンプルを超える 3 6

非現実的 * *

表5:TOEのアクセスへのレート付け 33 「非現実的」とは、以下のように説明される。

・ 識別の場合:非現実的の下限は、サンプル数が2000または最大整数値がn/(1+(log n)^2)以下である。ここで、nは構築製品の見積もり数である。

・ 悪用の場合:非現実的の下限は、サンプル数が500または最大整数値がn/(1+(log n)^3)以下である。ここで、nは構築製品の見積もり数である。

34 セキュリティターゲットに示されるセキュリティ方針も考慮すべきである。

4.6 機器

35 機器のカテゴリを明確にするために、価格及び可用性を考慮する必要がある。

・ なし

・ 標準

・ 特殊(この種類の機器は、大学が所有する高価な種類の機器と見なすものとする)

・ 特別注文

- 高価[CEM]

- インターネット接続されたPCなど、秘密性を保持することが困難[CEM]。

36 理想的には、1つのまたは一連の機器にカテゴリを割り当てるための規則及び特性を知る

ために、定義を示す必要がある。特に、価格、機器の使用年数、可用性(公的に入手可能

かどうか、製造者が潜在的に複数の管理レベルで販売を管理しているかどうか、借用でき

るかどうか)を考慮しなければならない。

May 2013 Version 2.9 Page 12

Page 13: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

下表は、業界エキスパートのグループごとにまとめたものであり、時々改訂する必要があ

る。

37 潜在的攻撃者が自由に使用できる機器の範囲は、一般に以下のような理由で増加し続けて

いる。

- 計算能力の増大

- ツールのコストの減少

- ツールの可用性が向上する可能性がある

- 新しい技術または新しい形の攻撃により新しいツールが出現する可能性がある

38 高度の攻撃では、複数の種類の機器が必要になる場合がある。そのような例では、特に指

定されない場合は様々な機器要素のうちの最も高度なものが選択される。

4.7 ツール

39 標準、特殊、特別注文の区別は、ここでは明確に定義できない。ツールのレート付けは、

典型的な例にすぎない。それは、関係する最新技術及びコストに応じて個別的に決定する。 次表は、単なる一般的なガイドラインである。

ツール 機器 紫外線発光体 標準 フラッシュライト 標準 低性能の光学顕微鏡 標準 人工気象室 標準 電圧源 標準 アナログオシロスコープ 標準 チップカードリーダ 標準 PCまたはワークステーション 標準 信号解析ソフトウェア 標準 信号生成ソフトウェア 標準 高性能の光学顕微鏡及びカメラ 特殊 紫外線顕微鏡及びカメラ 特殊 マイクロプローブワークステーション 特殊 レーザー機器 特殊 信号及び機能プロセッサ 特殊 高性能デジタルオシロスコープ 特殊 信号アナライザ 特殊 化学エッチング用ツール(湿式) 特殊 化学エッチング用ツール(プラズマ) 特殊 研削用ツール 特殊

表7:ツールのカテゴリ(1)

May 2013 Version 2.9 Page 13

Page 14: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

4.7.1 設計検証及び故障解析ツール

40 製造者は、これらのツールの購入者及びその場所を知っている。大部分の中古ツール市場

も製造者に管理されている。

41 これらのツールを効率的に使用するには長年にわたる経験が必要であり、それは少数の人

にしか実行できない。それでも、特定の種類の機器は大学の実験室や同等のもので利用で

きるという事実は除外できないが、機器を使用する専門知識を取得することは非常に困難

である。

ツール 機器

走査型電子顕微鏡(SEM) 特別注文 電子ビームテスタ 特別注文 原子間力顕微鏡(AFM) 特別注文 集束イオンビーム(FIB) 特別注文 新技術による設計検証及び故障解析ツール 特別注文

表8:ツールのカテゴリ(2) 42 特別注文機器を使用する場合は、最低限、中程度の能力にすべきであることに注意する。

43 攻撃の個々の段階で様々な種類の特別注文機器が必要になる状況に対応するため、「複数

の特別注文」レベルが導入された。

識別 悪用

なし 0 0 標準 1 2

特殊(1) 3 4 特別注文 5 6

複数の特別注文 7 8

表9:機器のレート付け

(1) 攻撃の個々の段階で、特殊機器で構成された明確に異なるテストベンチが必要になる

場合は、特別注文としてレート付けしなければならない。サイドチャネル攻撃及びフ

ォールト攻撃のテストベンチは通常、類似しすぎており、かつ、十分に異なることは

ないと見なされる。

44 機器は常に借用できるが、同じ見積もりが適用される。

4.8 オープンサンプル/既知の秘密を持つサンプル

4.8.1 本節の目的

45 コンポジット評価では原則として、ハードウェアの特性は、下層のプラットフォームICの認証の文書とともに提供される情報から採られる。このために、CCサポート文書[COMPO]では、「コンポジットスマートカード評価」と呼ばれるプロセスが指定される。

46 一般に、「コンポジション評価用のETR」は、コンポジット製品を評価及び認証するため

の十分な情報を含めるように書かれるべきである。特定のケースでは、評価プロセスをス

May 2013 Version 2.9 Page 14

Page 15: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

ピードアップするために「オープンサンプル」を使用することが適切であることもある。

本節では、「オープンサンプル」または「既知の秘密を持つサンプル」の使用、その範囲、

及び評価と攻撃のレート付けに影響する要素について説明する。

4.8.2 「オープンサンプル/既知の秘密を持つサンプル」の定義

47 コンポジット評価の枠組み内では、用語「オープンサンプル」とは、評価者がICガイダンス

に規定されている対抗策を回避するように自由にSWをHWプラットフォームに組み込むこ

とができるサンプルを表す。その目的は、ソフトウェア対抗策なしのテストソフトウェアを

使用し、IC固有の対抗策は無効にしないことである。さらに、別の可能性として、評価者が、

PINまたは鍵などの1つ以上の秘密データを定義できるようにする(この機能はTOEの通常の

動作では利用できない)ことがある。このソフトウェアは、TOE内のハードウェアの特殊な

使用法を考慮しながら、ICの「コンポジション評価用のETR」に記述されているIC特性に焦

点を当てる働きをすべきである。ただし、ICの評価を繰り返すことには使用すべきでない。

ICで異なる構成が可能である場合、TOEに実装されている構成を使用しなければならない。

これらサンプルにより、SWなしのHWを特性評価することができる。

48 「既知の秘密を持つサンプル」とは、対抗策を無効にせずに受動的(監視)攻撃または故

障利用攻撃を実行するために、評価者がPINや鍵などの1つ以上の秘密データを知っている

か、あるいは定義できるTOEを指す。

4.8.3 「オープンサンプル/既知の秘密を持つサンプル」の使用

49 コンポジット評価では、TOEはHWとSWの組み合わせであり、評価中の攻撃はこの組み合

わせに対して向ける必要がある。攻撃の定義のために、評価者はTOEを熟知している必要

がある。コンポジット評価でのHW部分については、この知識は、CCサポート文書[COMPO]に説明されている評価結果で提供される。

50 HW評価からコンポジット評価者に渡される文書には、脅威からの保護について説明され、

この保護を取得するために必要な環境(特にSW)の要件が述べられている。さらに、こ

れらの文書は、セキュリティ対策方針を達成するためのHWの使用方法に関するガイダン

スにもなる。

51 脆弱性解析及び実行する攻撃の定義については、コンポジットTOEの評価者はこの情報に

基づいて進めることができる。

52 一部の特殊な例では、この情報しか利用できない場合は、脆弱性解析及び攻撃の定義が困

難であり、相当な時間と広範囲な事前テストを必要とすることがある。例えば、既知の秘

密を持つサンプルを使用すると、より早く特性評価を行うことができ、攻撃が成功するこ

と及びSW対抗策の有効性を明確に証明できる。

53 また、プラットフォームは、HW開発者やコンポジット評価者が予測しなかった方法で使

用される場合がある。あるいは、SWプロバイダがHWによって提供された推奨事項に従わ

ず、有効性がまだ証明されていない異なる対抗策を実装する場合もある。

54 最後に、コンポジット評価者は、HWのセキュリティターゲットでカバーされていないた

めにHW評価でカバーされてない可能性があるHW機能の部分を考慮する必要がある。

May 2013 Version 2.9 Page 15

Page 16: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

55 このような場合には、評価時間を短縮するために以下のような可能性がある。

・ コンポジット評価者は、HWの評価者に相談して、彼らが評価中に得た経験を利用す

ることができる。

・ 「オープンサンプル」及び/または「既知の秘密を持つサンプル」を使用して、ソフト

ウェアの脆弱性とハードウェアの脆弱性を分離する。

56 一般に、コンポジット評価では「オープンサンプル」の使用は必要ではない。ただし、「オ

ープンサンプル」の使用によって、持続可能な時間内に効率的で有意の評価が可能な場合

のみ、以下のような一定のルールに従うべきである。

・ オープンサンプルの目的は、コンポジット評価のためのテストをセットアップするこ

とであり、ハードウェア評価を繰り返すことではない。

・ オープンサンプルの使用と関係者間の情報の流れについては、認証機関、評価者、コ

ンポジットTOEの開発者、及びオープンサンプルの開発者の間で検討して合意する。

・ 専用の「オープンサンプル」テストに費やす時間は、1~2週間に制限する。

・ テストの目的と種類について検討し、それを、情報フロー合意書の規定に従ってすべ

ての関係者に知らせる。

・ テストの結果得られた失敗及び所見は、少なくともコンポジットTOEの認証機関に伝

え、明らかにする。コンポジットTOEの認証機関は、HW評価の認証機関と一緒に適

切な手順を踏まなければならない。

・ レート付けは、「オープンサンプル」を使用せずに攻撃が可能だったかどうかを判断

するために準備しておくべきである。

4.8.4 コンポジット評価への影響

57 「オープンサンプル」の使用によって、攻撃パスを要素に分解することで攻撃の複雑さを

軽減できる。これによって、目標とする結果をより早く得ることができるようになるため、

評価の時間が節約される。

58 その良い例が、光攻撃によって秘密情報(鍵など)を取得する場合である。優れた設計の

製品では、SWだけでなくHWも、この攻撃を防ぐための保護メカニズムを備えている。こ

れらの組み合わせで、攻撃が非常に困難になる。評価者は、レーザー光のビーム径、レー

ザー光の周波数、レーザー光の強度、レーザー光を当てる場所、レーザー光の照射位置な

どのパラメタの膨大な量の組み合わせや変動を試行する必要がある。特に、攻撃を検出す

るとTOEを動作不能にする手段がソフトウェアに含まれている場合は、評価が困難になる。

攻撃に、非常に時間がかかるだけでなく、膨大な量のサンプルが必要になる場合がある。

59 「オープンサンプル」を使用すると、状況はかなり異なる。評価者は、最適化された独自

のテストプログラムを使用して、ICをスキャンし、デバイスを破壊する危険を冒さずに「弱

点」をより速く見つけることができる(そのような「弱点」が存在するという事実は、HW評価文書に既に説明されている可能性さえある)。このようなテストで得た知識を利用し

て、攻撃者はTOEに対してより的を絞った攻撃を行うことができる。

May 2013 Version 2.9 Page 16

Page 17: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

60 この例は、この手法の危険性も示している。オープンサンプルがなければ、TOE(HWと

SWの組合せ)への攻撃が現実的ではなく、実施不可能である可能性がある。そのため、

不当なレート付けになり、極端な場合は製品が不合格になる。

4.8.5 コンポジットレート付けへの影響

61 レート付けについては、次の2つの可能性を考慮する必要がある。

・ 自由にプログラム可能なHWサンプルやそれに類似するものが自由に入手できる。そ

の場合、そのサンプルは「オープンサンプル」とは見なされない。それらは、評価者

にとっては、(顕微鏡などと同様の)単なるツールと見なされる必要がある。その結

果は、レート付けでは特別な処理をせずに使用できる。

・ サンプルへのアクセスは制限及び管理され、ICの評価時に評価されている。その場合、

レート付けには、後述の表に示される「オープンサンプル」を使用した場合の追加要

素を含める必要がある。

4.8.6 評価を速めるために「既知の秘密を持つサンプル」を使用する背景

62 特に暗号操作が関係する場合に評価を速める追加の可能性として、「既知の秘密を持つサ

ンプル」の使用がある。これらのサンプルを用いて、評価者は「秘密」(キー)を知る。

これにより、取得データ(例えば、受動的解析から推定されたもの)と既知の「秘密」の

比較が可能になるか、いくつかの攻撃に必要なプロファイリング段階で有用である場合が

ある。したがって、評価者は、攻撃によって正しい秘密が明らかになったかを判断する簡

易方法を持つ。評価者は「秘密」の部分を取得した後に停止し、完全な「秘密」を見つけ

るための残り時間を見積もることができる。

63 しかし、そのようなサンプルに基づくレート付けは、攻撃が「既知の秘密を持つサンプル」

の可用性によってしか可能にならない場合があるため、慎重に考慮する必要がある。

64 例:

・ 完全な鍵を抽出することは、非常に時間がかかることが判明する場合がある。取得し

た鍵に誤りがあり、秘密のどの部分が正しくないか判断する可能性がなければ、攻撃

が可能でない場合がある。

・ テンプレート攻撃などのいくつかの攻撃を実行するために、プロファイリング段階が

必要な場合がある。鍵を知った後にアルゴリズムの中間値を知ると、攻撃が可能にな

る可能性がある。

65 一般に、「既知の秘密を持つサンプル」のレート付けは、「オープンサンプル」のレート付

けに相当する。このため、ここでは両方のツールを組み合わせる。

4.8.7 攻撃能力の算出

66 攻撃の他の側面と同様に、評価者は、攻撃者の要素(時間、TOEへのアクセスなど)の値

を見積もる必要がある。

67 オープンサンプルが存在する場合、攻撃者が(実装レベルまでの)設計情報を取得する共

謀または直接攻撃の可能性を評価において考慮する場合と同じ方法で、それらを取得しよ

うとする共謀(または盗用などの直接攻撃)が起こり得る。

May 2013 Version 2.9 Page 17

Page 18: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

68 したがって、要素「オープンサンプル」は、評価時に使用される「オープンサンプル」の

識別フェーズの点数により、攻撃能力表で定義する。「既知の秘密を持つサンプル」にも

同様の要素を適用すべきである。

69 オープンサンプル/既知の秘密を持つサンプルを利用する攻撃をレート付けする場合、評価

者は最初に、攻撃者が実際の(オープンサンプル/既知の秘密ではなく)TOEに対して攻撃

を実行できる方法を決定(少なくとも理論的に)及び記述しなければならない。これを決

定して、評価者は、オープンサンプル/既知の秘密を持つサンプルを使用して2つの計算を

実行する。

・ オープンサンプル/既知の秘密を持つサンプルにアクセスしない攻撃者に対する各要

素の値を見積もる。

・ 実行した(攻撃全体を完了した)行為に対応する各要素に値を与える。

・ 所要時間、破壊されたサンプル、専門知識、TOEの知識、機器

・ 使用したオープンサンプルに対応する点数を加算する

70 オープンサンプルまたは既知の秘密を持つサンプルを使用しないときに攻撃が実用的で

ないことが判明した場合、そのレート付けを使用し、オープンサイクル/既知の秘密を持つ

サンプルのレート付けを破棄する。それ以外の場合はすべて、最終的な値は2つの計算の

最小限になる。2つの値が近いことが予想される。これが当てはまらない場合、レート付

けを決定するためにさらに解析が必要である。

71 オープンサンプルの可用性に対応する点数は、ライフサイクル全体の中でのこのオープン

サンプルの保護と管理を考慮して定義される。

72 ICの場合、保護レベルはそのICの評価時に解析され、「コンポジション評価用のETR」に

記述される。

73 「既知の秘密を持つサンプル」の場合、保護レベルの定義は製品全体の評価の一部である。

74 TOEへの脅威との類似性のために、(既知の秘密を持つ、及び持たない)オープンサンプ

ルのレート付けは、「TOEの知識」要素(公開、制限、秘密、危機的)の値に従って定義すべ

きである。

・ 公開:

・ オープンサンプル:サンプルが保護されておらず、管理なしで配付されている

(NDAなし、顧客の確認なし)。または、そのICが、セキュアでないアプリケー

ション(セキュリティの推奨事項を実装している保証がないアプリケーションや、

ネイティブコードによって自由にプログラムできるバージョンなど)で使用され

ている。

・ 既知の秘密を持つサンプル:これは、「TOEの知識」で既にレート付けされてい

る情報から容易に推定できる秘密に関係する。

May 2013 Version 2.9 Page 18

Page 19: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

・ 制限:

・ オープンサンプル:カードの仕様やICのデータシートと同等の典型的な保護がな

されている。または、この種の情報にアクセスした人物を特に管理せずに配付さ

れている。

・ 既知の秘密を持つサンプル:通常、情報を公開するために特定の決定及びアクシ

ョンが必要になる場合(そのため、例えば、ウェブサイト経由の匿名アクセスで

は自動的に利用できることはない)、及び攻撃者に対してデータが潜在的に有用

であることを受信者が知る(例えば、ガイダンス情報によって)場合に、秘密に

適用される。 場合によっては、攻撃者が情報を見つける、または推定すること

が可能になる場合があるが、その可用性は便利である(そして恐らく、時間節約

になる)。

・ 秘密:

・ オープンサンプル:HLD/LLDの設計レベルと同等の保護がなされている。

・ 既知の秘密を持つサンプル:秘密は、明確に定義及び特定された限られた数の

人々またはデバイスでしか共有されず、強力なアクセス制御がある。秘密データ

の取り扱いは、そのデータを保護するための具体的で適切な書面での手順によっ

て管理し、これらの手順(例えば、データのラベリングによる)を要求するもの

として秘密データを特定する明確な方法がある。

・ 危機的:

・ オープンサンプル:実装レベル(ソースコード、VHDL、レイアウト)と同等の保

護がなされている。このためには、オープンサンプルをほとんど作成させないこ

と、配付を厳重に管理すること、受領側の組織が同じレベルの管理をセットアッ

プできることが保証される必要がある。

・ 既知の秘密を持つサンプル:秘密は、サンプル内で生成されてそのサンプルのみ

に所有されるか、別のモジュール内で生成されてモジュール外(サンプルを除く)

で利用できなくなる。したがって、これらの秘密は、通常の条件下ではカード外

で利用可能でない。例えば、秘密にアクセスする特定のコマンドを評価者に提供

したり、動的秘密ではなく静的秘密を特別なサンプルに供給したりするような例

外的な条件下でのみ、これらの秘密が既知になる可能性がある。危機的レベルで

のオープンサンプルと同様に、このためには、オープンサンプルをほとんど作成

させないこと、受信者へのオープンサンプルの公開や配付の認可を厳重に管理す

ること、及び受領者の組織がサンプルを管理してその利用に相応の制限をかける

ようにすることが保証されることが必要である。

75 コンポジット評価では、「オープンサンプル」及び「既知の秘密を持つサンプル」を使用

した場合に、それぞれに対して取り組み時間を加算し、それぞれの点数を加算するかどう

かを定義する必要もある。この解析は、ALC_DVS.2の作業で行い、単一の結託で十分か、

それとも2つの異なる結託が必要かを確認する。

May 2013 Version 2.9 Page 19

Page 20: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

76 ICの評価によって、「オープンサンプル」のレート付けは「コンポジション評価用のETR」に示される。異なるレート付けが示された場合は、コンポジット評価で検討する必要があ

る。

(識別段階のみ) 公開または

必要なし 制限 秘密 危機的

オープンサンプル 0 2 4 6 既知の秘密を持つ

サンプル 0 2 4 6

4.8.8 ガイダンスによるICの評価に対する影響

77 そのように、「既知の秘密を持つサンプル」は、最終的な適用がこの時点では分からない

ためHW IC評価に適用されない。例えば、セキュアなものと一緒にあるオープンで保護さ

れていないアプリケーション/APDUによって、最初に「既知の秘密を持つサンプル」の使

用に相当する解析の実行を効果的にできるようにする場合がある。

78 この状況は、「オープンサンプル」の概念に関して、より複雑である。ここでは、ICガイ

ダンスに記載されていることがある、2つの異なるクラスの対抗策を区別することが有用

である。

・ 単純な対抗策は、実質的に切り替えと同等のものである。例えば、ICガイダンスでは、

TOEを内部クロックのみで使用するか、またはクロックスキッピングモードを有効に

して使用することを要求する場合がある。これらの場合、IC評価者がそれらの機能を

オフに切り替えることで評価をスピードアップすることが有利になることがある。そ

のときの評定では二つの異なるレート付けが必要になる。ひとつは対抗策を有効にし

たときの攻撃に費やされる時間の見積もり、もうひとつはオープンサンプルの規則に

従ったレート付けである。前述同様に二つのレートの小さいほうが選択される。

・ 複雑な対抗策は、実装によってある程度の変動性が存在することが予測できる最終的

なアプリケーションで生成されるSWコードを多かれ少なかれ要求するものである。

ここでの典型的な例は、故障利用攻撃の対抗策である。そのような場合、オープンサ

ンプルの概念がHW ICの評価に適用されない。このICに基づく最終製品がHW ICガイ

ダンスで推奨されるSW対抗策のすべてを実装しているかを、盲点がないと思われる

ような方法で知ることができないからである。

4.8.9 ガイダンスによるICのファームウェア/暗号ライブラリの評価に対する影響

79 コンポジット評価スキーム(HW IC評価と別になることが多い)内で評価されるHW ICの暗号ライブラリ及び他のサポートルーチンは、固有の正しい最終製品でないという点で少

し特殊であるが、1つ以上の最終製品で使用され、その最終製品が今度はコンポジット評

価を受ける場合がある。

May 2013 Version 2.9 Page 20

Page 21: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

80 「既知の秘密を持つサンプル」の概念は通常、暗号ライブラリが一般にその境界外ではそ

れらの秘密の取り扱いを管理しないため、ここでは適用されない。ただし、エクスポート

されていない暗号ライブラリ内で生成及び維持される秘密の場合は異なる。

81 しかし、「オープンサンプル」の概念は、環境によっては頻繁に適用される場合がある。

典型的な例として、暗号ライブラリの管理下で適用される光攻撃またはSPA-DPA攻撃の対

抗策がある。最終製品でこれらの対抗策をオフに切り替えできない場合、この点において

暗号ライブラリは最終製品と同等であるとは見なされない場合があり、その結果、コンポ

ジット評価スキームの「オープンサンプル」の概念が適用される。これらがHW ICガイダ

ンスで実際に提案された対抗策であるかどうかは、ここでは問題にならない。

May 2013 Version 2.9 Page 21

Page 22: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

4.9 最終的な表

要素 識別 悪用 所要時間

1時間未満 0 0 1日未満 1 3 1週間未満 2 4 1カ月未満 3 6 1カ月を超える 5 8 非現実的 * *

専門知識 素人 0 0 熟練者 2 2 エキスパート 5 4 複数のエキスパート 7 6

TOEの知識 公開 0 0 制限 2 2 秘密 4 3 危機的 6 5 非常に重要なハードウェア設計 9 該当なし

TOEへのアクセス 10サンプル未満 0 0 30サンプル未満 1 2 100サンプル未満 2 4 100サンプルを超える 3 6 非現実的 * *

機器 なし 0 0 標準 1 2 特殊(1) 3 4 特別注文 5 6 複数の特別注文 7 8

オープンサンプル(オープンサンプルへの

アクセスに応じたレート付け)

公開 0 該当なし 制限 2 該当なし 秘密 4 該当なし 危機的 6 該当なし

表10:レート付け要素の最終的な表

82 (1)特殊機器で構成された明らかに異なるテストベンチが攻撃の各段階に必要になる場

合、これは「特別注文」としてレート付けされなければならない。サイドチャネル攻撃及

びフォールト攻撃のテストベンチは通常、類似しすぎており、かつ、十分に異なることは

ないと見なされる。

May 2013 Version 2.9 Page 22

Page 23: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

83 「*」は攻撃者にとって有益な期間内に攻撃パスを悪用できないことを示す。「*」の値は、

いずれも高いレート付けを示す。

4.10 CC v2の場合の範囲

84 スマートカードに関しては、CEMの表A.8(1835段落)の代わりに次表を使用する。

値の範囲* 次の攻撃能力を持つ攻撃者に対

する抵抗力 SOFレート付け

0~15 レート付けなし レート付けなし 16~24 低 基本 25~30 中 中 31以上 高 高

表11:CC v2の脆弱性のレート付け 85 *最終的な攻撃能力=識別+悪用。

4.11 CC v3の場合の範囲

値の範囲* 次の攻撃能力を持つ攻撃者に対するTOEの抵抗力

0~15 レート付けなし 16~20 基本 21~24 基本強化 25~30 中 31以上 高

表12:CC v3の脆弱性のレート付け 87 *最終的な攻撃能力=識別+悪用。

May 2013 Version 2.9 Page 23

Page 24: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

5 攻撃方法の例

88 以下の例は、スマートカード製品の開発、製造、セキュリティ評価、及び配付に関与する

様々な関係者グループ(ハードウェアベンダ、カードベンダ、OSプロバイダ、評価機関、

認証機関、サービスプロバイダ)を代表するセキュリティエキスパートのグループによっ

てまとめられた。

89 このコレクションは、当時(2005年第4四半期)の最新の状況を示している。最新情報は

静的でないため、この文書は同じエキスパートグループのレビューに基づいて、必要に応

じて更新される。

90 TOEを評価する場合は、少なくともこれらの例を考慮する必要がある。これは、どんな場

合でもすべての攻撃を実行しなければならないという意味ではなく、攻撃のこのカタログ

も網羅的なリストとして見なすべきでない。一方、製造者と評価機関は、評価活動の一部

として新しい攻撃及び攻撃の種類を調べることが推奨される。TOEごとに、評価を実施す

る評価機関は、認証機関との合意に基づいて、このカタログから適切な攻撃を選択する。

この選択はTOEの種類によって異なり、追加のテストが必要になる場合もある。

91 この文書では攻撃の概要のみを示す。詳細な説明と例については、認証機関に問い合わせ

ること。 認証機関は、レート付けの参考としての例も提供できる。

5.1 物理的な攻撃

92 マイクロエレクトロニクスツールを利用すると、材料を削除または追加(エッチング、FIBなど)して、ICにアクセスしたり、ICを変更したりすることができる。ツールとその使用

に応じて攻撃者が関心を持つ効果は、シリコン内部のワイヤを追加または切断することに

よって、内部信号を取り出したり、IC内部の接続を操作したりすることである。

93 メモリ技術に応じて、メモリに物理的にアクセスしてビット値の読み取りまたは設定を実

行することもできる。

94 この攻撃はICに対して行われ、通常は組込みソフトウェアに依存しない(つまり、この攻

撃はどの組込みソフトウェアにも適用でき、ソフトウェアの対抗策には依存しない)。

95 主な影響は次の通りである。

・ 暗号鍵などの秘密データへのアクセス(内部信号の取り出しによる)

・ ICのセキュリティ機能を切り離し、別の攻撃を容易にする(DPA、かく乱)

・ 内部信号を固定する

・ 未知の信号を利用しても、何らかの攻撃を実行することができる

96 これらの技法の潜在的使用は多種多様であり、各評価の状況に応じて注意深く検討する必

要がある。

May 2013 Version 2.9 Page 24

Page 25: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

5.2 センサやフィルタの制圧

97 この攻撃には、環境条件を監視したりTOEの正常な動作を脅かす状態から自らを保護した

りするためにICが使用することができる様々な種類のセンサを無効にしたり回避したり

する方法が含まれる。 ハードウェアまたはソフトウェアが、センサからの出力を使用し

て、TOEを保護するために動作することができる。

98 センサやフィルタは、以下の方法によって制圧できる。

・ 切り離し

・ センサのふるまいを変更する

・ 監視対象の条件(電圧など)や監視タイミングのカバレージのずれを見つける

99 攻撃の1段階としてセンサの作動を悪用するために、センサが利用される場合もある。こ

のようなセンサの悪用は、独立した攻撃である。

100 以下のような様々な種類のセンサやフィルタがある。

・ 電圧(高電圧、電圧スパイクなど)

・ 周波数(高周波、周波数スパイクなど)

・ 温度

・ 光(またはその他の放射)

101 主な影響は次の通りである。

102 安全な動作条件の範囲外では、チップの正しい動作を保証できない。このような条件下で

の動作による影響は多種多様である。

例:

・ メモリやレジスタの内容が破損する場合がある

・ プログラムフローが変更される場合がある

・ 動作に障害が発生する(CPU、コプロセッサ、RNGなど)

・ 動作モード及び/またはパラメタの変化(ユーザモードからスーパーバイザモードへの

変化など)

・ その他の動作特性の変化(例えば、リーク動作の変化。これによって、RAMフリーズ、

電子ビームスキャニングなどのその他の攻撃が可能になる)

103 チップが誤った暗号結果を返した場合は、DFA攻撃が可能になる場合がある(4.4節を参照)。

その他の結果については、4.3節のかく乱の一般的な影響で説明している。

5.3 かく乱攻撃

104 かく乱攻撃は、TOEの動作に悪用可能な誤りを発生させるために、ICの正常なふるまいを

変更する。一般に、本来意図されている動作環境(通常は、温度、Vcc、及び外部から供

給されるクロック周波数の観点から特徴付けられる)以外でICを動作させたり、ICの動作

中に1つまたは複数の外部エネルギー源を適用したりすることで、ICのふるまいは変更さ

れる。

May 2013 Version 2.9 Page 25

Page 26: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

これらのエネルギー源は、異なる時間及び/またはIC上の異なる場所で適用できる。

105 一般に、この攻撃は、鍵や平文の復元に利用できる誤りを発生させることで暗号操作を弱

めたり、認証チェックやライフサイクル状態のチェックなどのチェック結果を回避または

変更したり、プログラムフローを変更したりすることを目的としている。

106 4.3節では、意味のある誤りを誘発する方法そのものに関するのに対して、4.4節では、こ

のようにして誘発された誤りを利用して暗号操作から鍵を抽出する方法について説明す

る。

107 かく乱は、ハードウェアTOE(IC)、またはソフトウェア/コンポジットTOE(IC上で実行中

のOSまたはアプリケーション)のいずれかに対して適用できる。

108 主な影響は次の通りである。

109 攻撃者に対して、ソフトウェアアプリケーションを実行中のICに対して典型的な外部効果

には、以下のようなものがある。

・ 読み込み動作中にメモリから読み込まれた値を変更する。メモリに保持されている値

は変更されないが、出力先(CPUやコプロセッサなど)に届く値が変更される。この

値は、データまたはアドレス情報に関係する場合がある。

・ 揮発性メモリに保存されている値を変更する。変更された値は新しい値で上書きされ

るまで有効であるため、処理結果を制御するために使用することができる。

・ 生成される乱数の特性を変更する(例えば、RNGの出力を強制的にすべて1にする)。

乱数生成器への攻撃の詳細については、「RNG 128への攻撃」を参照。

・ プログラムフローを変更する。プログラムフローが変更されると、次のような様々な

影響が観測される。

・ 命令をスキップする

・ 命令を別の(始めの)ものに置き換える

・ テストを反転する

・ ジャンプを生成する

・ 計算誤りを生成する

110 通信の誤りを発生させてICから返される最終データを変更することが比較的簡単である

ことに注意する。しかし通常、この種類の誤りは攻撃者にとっては役に立たない。このよ

うな誤りは、通信媒体において自然に発生する可能性があるものと同じ種類の単なる誤り

であるからである。このような誤りは、セキュリティに影響する動作(暗号計算やアクセ

ス制御の判断など)を実行しているICのふるまいに影響を与えない。

111 かく乱技法の範囲は幅広く、通常は技法ごとに様々なパラメタがある。かく乱の組み合わ

せがこのように広範囲で複雑であるため、通常は、どの種類のかく乱が観測可能な現象を

引き起こすかを調査した後に、かく乱のパラメタ(例えば、電源、位置、タイミングの小

さな変化)と、ソフトウェアのどの部分を攻撃するかの両面から、その技法を改良するこ

とによって、かく乱を進める。

May 2013 Version 2.9 Page 26

Page 27: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

例えば、かく乱によってレジスタ内の単一ビットの値を変更できることが分かった場合、

TOE内のソフトウェアがセキュリティ決定のために単一ビットのフラグを使用すれば、こ

のかく乱は非常に有用であることがある。 かく乱の効果に正確性と確実性が必要なのか、

または確実性の低い変更(10~100回の試行で1回変更)でもTOEの攻撃に使用できるかど

うかは、アプリケーションの状況(つまり、TOEが本来意図される動作環境でどのように

使用されるか)によって決まる可能性がある。

5.4 DFAによる鍵の取得

112 DFAは、Differential Fault Analysis(故障差分解析)の略語である。攻撃者は、DFAを利用

して、誤りなしの計算と誤りのある計算を比較することによって、秘密情報の取得を試行

する。DFAは、非侵襲的技法と侵襲的技法によって実行できる。

113 このクラスの攻撃は、次のステージに分けられる。

・ 適切な単一または複数の故障注入方法を探す

・ 攻撃を開始する(暗号操作を正しいパラメタで1回実行し、誤ったパラメタで1回実行

する)

・ 結果を取得して適切なデータセットを作成し、そのデータから鍵を計算する

114 暗号操作中に特殊な物理条件を適用することによって、計算結果に単一の誤り(1ビット、

1byte)を引き起こすことができる。

115 この攻撃は、非侵襲的方法または侵襲的方法で実行できる。非侵襲的方法(電源グリッチ)

は物理的な侵襲を避ける。侵襲的方法では、攻撃者は、TOEの一部に光を当てることがで

きるように、TOEの物理的な準備をする必要がある。

116 主な影響は次の通りである。

117 DFAは暗号鍵システムを破ることができ、例えば、異常な物理環境下でデバイスを動作さ

せることによって、DES鍵、3DES鍵、及びRSA鍵を取得できる。攻撃者は、誤りのある暗

号出力を悪用するために、適切なタイミングで適切な場所に誤りを差し込む必要がある。

118 通常、鍵とコードはEEPROM内にあるため、システム全体を侵襲せずに無作為にビットを

改ざんして希望どおりに誤りのある結果を得るのは困難な場合もあるが、コードの改ざん

によって結果を得ることもできる。誤りを注入するのに最適な場所とタイミングを決定す

るために、電力消費量を解析して暗号計算がいつ起こるかを判断するような他の技法が役

に立つ場合もある。

5.5 サイドチャネル攻撃-秘密データの非侵襲的取得

1 サイドチャネル攻撃は、具体的な、つまり、物理的なアルゴリズムの実装内の意図的でな

いチャネルを通じて漏えいした秘密情報を標的にする。これらのチャネルは、タイミング

特性、電力消費量、または電磁放射などの物理的効果にリンクしている。

119 SPAとDPAは、それぞれ�「単純電力解析」と「差分電力解析」を意味し、電子コンポー

ネントの電力消費の特性変化を通して漏れた情報を悪用することをねらっている。ただし、

TOEを侵襲することは全くない。

May 2013 Version 2.9 Page 27

Page 28: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

測定方法の様々なレベルがあるが、デバイスの電力消費は、本質的にはディジタルサンプ

リングオシロスコープと、デバイスと直列に取り付けた抵抗を使用して簡単に測定できる。

120 ICの動作中は、電流が流れる他の伝導体と同じように、個々の要素から電磁波放射が発生

する。このようにして、処理されるデータによってこの電流が変化するにつれて、TOEによって電磁放射が引き起こされる。電磁波解析(EMA)攻撃は、この種の情報漏えいを標

的にする。この攻撃は、SEMA(単純電磁波解析)またはDEMA(差分電磁波解析)と呼

ばれる場合がある。この攻撃では、IC全体からの放射を使用する場合(チップ-EMA)も

あれば、ダイの特定の領域(重要なコンポーネントが配置されている領域)からの放射に

的を絞る場合(ローカル-EMA)もある。

121 電磁データ(特に、ダイの特定の領域から)は、電力トレースのデータとは異なる場合が

あることが実験的に証明されており、電力解析から保護されているICでも、EMAに対して

は脆弱である可能性がある。

122 以下の一貫性のために、SPA及びDPAは、電力消費量の測定に基づく攻撃だけを意味する

のでなく、特に明記しない限り、電磁攻撃に類するものを含むものと理解することができ

る。

123 1次DPAに対抗するブール値のマスキングのような対抗策を含む実装は、高次DPAに対して

脆弱である可能性がある。この攻撃では、攻撃者が、共通鍵部分に応じて変化する中間状

態に関する仮説を使用して、TOEの計算ごとに複数のデータ点の相関を取ることができる

必要がある。一般に、特に識別フェーズ中では、高次DPAの労力が1次DPAよりも高い。原

因の1つとして、高次DPAは所定の対抗策に合わせる必要があることがあげられる。

124 この攻撃の結果は、他の攻撃(一般的なかく乱やDFAなど)を始めるための特徴的なきっ

かけとなるような単純な場合もあれば、暗号操作自体で使用される共通鍵のように複雑な

場合もある。攻撃の目的に応じて、取得した信号を直接解釈する方法から、統計的な手法

によって信号の複雑な解析を行う方法まで、幅広い方法が必要となる可能性がある。

125 主な影響は次の通りである。

126 単独、または複合的な攻撃の一部のいずれにしても、原則として任意の暗号アルゴリズム

に適用できることが、サイドチャネル攻撃の本質的な特性である。さらに、SPAは、次の

攻撃を始めるための手段としての役割を果たす場合もある。例えば、妨害される必要があ

るEEPROMへの重要な書き込み動作を検出するために、SPAを利用することができる。ま

た、SPA解析を、タイミング攻撃の一部(PINの取得など)として実行したり、プログラ

ムフローによって条件ジャンプのどちらの分岐が選択されたかを推定するために実行し

たりすることもできる。最後に、SPA攻撃を、次に続く電源異常や光攻撃のための適切な

きっかけを決定するために使用したり、物理的なプローブ攻撃に適した時間ウィンドウを

特定するための補助として使用したりできる。EMAは、チップの物理的レイアウトのDESコプロセッサをローカライズするために展開される場合があり、次には他の攻撃を開始す

るために使用される可能性がある。

May 2013 Version 2.9 Page 28

Page 29: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

127 DPA攻撃は、鍵を完全に取得するまで実施する必要はない。不完全なDPA結果を考慮した

適切な鍵検索方策があれば、DPAによって共通鍵の一部だけを取得し、残りの部分を総当

たり方法で取得すれば十分である可能性がある。

5.6 テスト機能の悪用

128 この攻撃パスは、ICのテストモードに入って、後続の攻撃の土台を提供することを目的と

している。

129 攻撃者は、テスト機能の保護を回避できる場合は、意図された攻撃に適切なテストインタ

フェース及びテスト機能を使用できる。後続の攻撃はメモリ内容の開示や侵襲に至る可能

性があるが、これはテストモードの機能に依存するため、個別的に検討する。

130 成功する攻撃の典型的な影響は、次の通りである。

・ 攻撃者は、テスト機能を使用して不揮発性メモリの内容を読み出すことができる。テ

スト機能の実装によって、取得したユーザデータの有用性に影響を与える可能性があ

る。

・ 攻撃者は、テスト機能を使用してライフサイクルデータまたは誤りカウンタを再設定

できる。これによって、攻撃者は、それ以外ならばライフサイクルの状態によって阻

止される場合でも、同じデバイス上で解析を継続できる。

5.7 RNGへの攻撃

131 RNGへの攻撃は、一般に、RNGの出力を予測できるようにする(例えば、出力エントロピ

ーを減らす)ことを目的としている。

・ RNG出力の過去の値(指定された既知の可能性がある現在の値に関係する)

・ RNG出力の将来の値(既知の可能性がある過去及び現在の値に関係する)

・ 以下の結果になる、特定のふるまいをするように出力を強制する。

・ 既知の値(これによって出力の予測が可能になる)

・ 未知の固定値(エントロピーを限界の0まで減らす)

・ 1つのRNGの異なる実行または複数のRNG(クローン)の実行で未知の値を繰り

返す。

132 ここで考えているRNGは、次の種類のいずれかである2。

・ 真正のRNG(TRNG)。本質的にランダムな物理プロセスを何らかの方法でサンプリン

グすることによって、出力が生成される。

・ 擬似RNG(PRNG)。任意の種類のアルゴリズム処理によって出力が生成される(一般

に、このアルゴリズムは状態に基づいており、初期状態(シード)がTRNGによって

生成される場合がある)。

2 スマートカードのコンテキストでは、環境の測定に基づく RNG は適切とは見なされない。

May 2013 Version 2.9 Page 29

Page 30: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

・ ハイブリッドRNG(HRNG)。TRNGとPRNGから構成され、様々な状態更新スキームを

持つ。

133 適用可能な攻撃方法は、RNGのタイプに応じて異なる。

134 真正RNGは、以下によって攻撃される可能性がある3。

・ 動作条件(電圧、周波数、温度、光など)の永久的または一時的な影響

・ 信号漏えい(外部電気インタフェース上の信号など)の非侵襲的悪用

・ 電気回路の物理的動作(動作の停止、ラインレベルの強制、ふるまいの変更及び/また

はクローン、エントロピーソースの切り離し)

・ 内部信号の傍受(内部状態を危殆化する)

135 擬似RNGは、以下によって攻撃される可能性がある。

・ 決定性の状態遷移と出力関数への直接(暗号)攻撃(例えば、RNGの以前の既知の出

力に基づく)

・ 一部のサイドチャネル情報(すなわち、外部電気インタフェースでの漏えい)を利用

した、状態遷移の計算処理への間接攻撃

・ 処理の実行パスへの攻撃(結果の変更)

・ シードへの攻撃(リシードの妨害、強制的にシードを既知または未知の固定値(ただ

し、再現可能)にする、シード値の危殆化)

・ RNGの利用の限界を超えて出力させる(RNGが値を繰り返すように強制したり、十分

な出力を生成し攻撃者が方程式を解き、その解に基づいて出力を予測できるようにし

たりする)

136 ハイブリッドRNGへの攻撃は一般に、TRNGへの攻撃とPRNGへの攻撃を組み合わせたも

のになる。

137 すべてのRNG設計で、上記の攻撃に対抗するためのテスト手順が要求されることが予測で

きる。上記の解析では、テスト手順への攻撃は、ソフトウェアに対する一般的な攻撃シナ

リオによって十分にカバーされるため考慮していない。RNGの出力値を明らかにするため

に、手順が、SPA/DFAのような攻撃の対象になる可能性もある。

138 主な影響は次の通りである。

139 RNGへの攻撃が成功すると、RNGの乱数性に依存するチップのセキュリティメカニズムが

破られる。このメカニズムには、DPA/SPAの対抗策、センサのテスト、アクティブシール

ドの完全性チェック、バス及び/またはメモリの暗号、ならびにスクランブル化などがある。

アプリケーションソフトウェアは、このような攻撃によって間接的に影響を受ける。例え

ば、センサ及び関連するテストが攻撃者により無効にされていると、さらなる攻撃の可能

性が生じる。

140 ソフトウェア開発者は、RNGをテストするためにハードウェアプラットフォームの機能を

頼りにすることができ、その機能を使用したり、そのような機能に基づいて独自に追加の

テストを実装及び実行したりできる。

3 ここでは、真正 RNG に対する直接攻撃(つまり、値の予測)は、どの攻撃者にも実行不可能であることを前提

としている。

May 2013 Version 2.9 Page 30

Page 31: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

ソフトウェア開発者は、RNG出力の繰り返しに対するテストを実装することもできるが、

そのようなテストのカバレージと実行可能性は、その実装にかかっており、それが問題に

なる場合がある。RNGの異なるインスタンスへのRNG出力のクローン作成攻撃はテストに

よって反撃できないため、その他のメカニズムを適切に設計する必要がある。

141 TRNGの場合は、十分なテストを実行する必要がある(チッププラットフォーム自体によ

るテスト、またはソフトウェア開発者によるテスト)。[AIS31]は、テストメカニズムの有

効性の評価方法論の例である。PRNGの場合は、シードとアルゴリズムの完全性と秘密性

を保護するための特別な作業が必要である。この作業は、一般的なソフトウェアとデータ

の保護の側面に関係するため、ここでは、これ以上説明しない。

5.8 不正な形式のJava Cardアプリケーション

142 この論理攻撃は、不正な形式のアプリケーション、つまり、不正なbyteコード命令シーケ

ンスで構成されていたり、有効なbyteコードパラメタを持っていなかったりする悪意のあ

るアプリケーションを実行することである。

143 この例は、Java Cardにのみ該当する(ただし、他のオペレーティングシステムにも同等の攻

撃がある可能性はある)。この攻撃は、認証バイパスなどの他の攻撃と組み合わされていな

い場合、既知のローディング鍵を持つJava Card(これらは、オープンモードサンプルと見な

すことができる)に適用する必要がある。さらに、このカードにbyteコードベリファイアが

内蔵されている場合は、この検査装置が無効になっていなければならない。その他に特別な

構成は必要ない。

144 不正な形式のアプリケーションは、Javaの規則に違反するbyteコードシーケンスを実行す

る。不正な形式のアプリケーションは通常、標準的なアプリケーションのbyteコードを手

動で変更することによって作成される。つまり、このような不正な形式のアプリケーショ

ンは、正規のCAPファイルジェネレータの出力ではない。その結果、ほとんどのJava Cardプラットフォームは、アプリケーションの実行中に規則を強制しない。

145 主な影響は次の通りである。

146 最も好都合な攻撃が行われた場合、攻撃者は情報を取得(メモリのダンプなど)したり、

通常は特定の権限が必要な機能を実行したり、カードを完全にコントロール可能なコンテ

キスト(JCREコンテキスト)に切り替えたりすることもできる。

5.9 ソフトウェア攻撃

147 この文書中のほとんどの攻撃例では、攻撃の全部または一部にハードウェア攻撃の段階を必

要とする。しかし、ソフトウェアのみを対象に実行できる攻撃も多数あることも明らかであ

る。この節では、このような攻撃の一部について検討する。 多くの場合、ソフトウェア攻

撃はソースコードの解析から始まる。

148 一般に、ほとんどのソフトウェア攻撃は、TOEの設計または実装における誤り(バグ)に起

因する。このような場合、一般に、この誤りの結果、ADVファミリーの1つ(または複数)

の要件(例えば、ADV_IMP.1.2E:評価者は、提示される最も抽象度の低いTSF表現がTOEセキュリティ機能要件の正確かつ完全な具体化であることを決定しなければならない)が満

たされないことになる。

May 2013 Version 2.9 Page 31

Page 32: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

したがって、この種類の誤りがあると、TOEの評価は不合格となる(または、通常は、この

誤りを修正するためにTOEの変更が必要になる)。

149 それ以外にも、設計仕様がTOEのセキュリティ対策方針を満たすには不十分である場合が

ある(例えば、プロトコル仕様自体に重大な脆弱性が含まれている場合)。この場合も、

TOEの評価は不合格となる。

150 したがって、この節では、ソフトウェアの誤りを発見するために使用できるいくつかの攻

撃段階を列挙するが、攻撃能力の例は示さない。誤りが発見された場合、TOEが評価に合

格するためには、それを修正しなければならないからである。

151 以下の説明では、まず、様々な種類の攻撃に関係する場合がある「情報収集」攻撃段階に

ついて検討する。ソフトウェアの脆弱性を悪用する可能性のある5つの攻撃技法を紹介す

る。

・ コマンドの編集

・ 直接プロトコル攻撃

・ 中間者攻撃

・ リプレイ攻撃

・ バッファオーバーフロー

152 これらの攻撃は論理的な特性を持ち、そのテスト環境はPCに接続されたスマートカード

リーダーで構成される。このPCでは、通信ソフトウェア、プロトコルアナライザ、及び

通信を変更するためのいくつかの開発ツールが実行される。このツールセットは、標準

的な機器と見なされる。ツールは、インターネット上でフリーウェアとして入手でき、

攻撃者のニーズに合わせて非常に簡単に変更できる。

153 このような攻撃を実行するには、次の手段が必要である。

・ メッセージシーケンスを読み出す手段(リーダー、トラフィックアナライザ)

・ メッセージを作成する手段(外部APIの情報、パターン発生器)

・ 検出されずにメッセージに割り込む手段(プロトコル依存)

154 ツールは標準的なもので、コマンドもISO標準であることが多く、公開されている知識な

ので、テスト環境のセットアップと攻撃の識別は非常に簡単である。コマンドセットが固

有のものである場合は、通信を解釈する必要があるので、必要な専門知識は若干高度にな

る。ただし、ほとんどの場合、これは比較的単純であると予想され、この種類の�「無名

によるセキュリティ」は、攻撃に対する有効な防御とは見なされない。

5.9.1 情報収集

5.9.1.1 はじめに

155 通信プロトコルは、その特性のために情報漏えいが発生しやすい。この望ましくない影響

は、通信プロトコルが情報を渡すように設計されているという事実の結果である。この種

類の攻撃は、開発者が意図していない方法で通信プロトコルを使用しようとする。そのた

めに、まず情報を収集した後、その通信を変更して秘密データやその他の資源を取得する。

May 2013 Version 2.9 Page 32

Page 33: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

156 攻撃段階は通常、非侵襲的技法であり、スマートカードがサポートする通信コマンドに関

する情報を収集したり、メッセージシーケンスからの情報を使用して他の攻撃を可能にし

たりすることを目的としている。この情報が、設計文書には含まれていない情報(例えば、

証拠資料として提出されていない、コマンドに対する応答)であると想定されていること

に注意する。この情報によって、攻撃者は、相互作用を変更したり、ソフトウェア実装の

弱点を利用して情報(ユーザデータや鍵など)を開示したりできる。この攻撃段階は通常、

秘密データの取得に至る完全な攻撃パスではないが、特殊なケースでは完全な攻撃パスに

なる場合もある。

157 この攻撃段階の結果、TOEの動作に関する情報が収集され、その情報には秘密データの開

示も含まれる可能性がある(このような方法での秘密データの暴露は一般に、TOEの評価

を不合格にするのに十分な脆弱性と見なされる4)。収集された情報は、この文書で説明さ

れている他のメカニズムの1つにより、TOEから秘密データを取得するための攻撃を開始

することに使用できるかどうかを確認するために解析される。攻撃者は、通信中にスマー

トカードから得られる応答を解析することによって、攻撃が成功したことを知る。

5.9.1.2 攻撃段階の説明

メッセージシーケンスの観察

158 メッセージシーケンスの観察によって、次の結果が得られる。

・ 攻撃の準備のために、未知のプロトコルに関する情報(例えば、インタフェースの仕

様が公開されていない場合)を取得する。

・ 攻撃の準備のために、未知の製品内部構造に関する情報(通常、ソフトウェアのデー

タ構造など)を取得する。

・ インポートやエクスポートの動作中に、情報、鍵、またはセキュリティ属性を開示す

る。

・ 製品の動作やユーザのふるまいを追跡する(例えば、リプレイ攻撃を可能にするため)。

コマンドの検索

159 ISO 7816 T=1などの典型的なプロトコルを使用したスマートカードが通信可能な値の総数

は、216(つまり、65536個の異なるコマンド)になる。このセットの中に、ISOは有効なコ

マンドとしてサブセットを定義している。そして開発者はこのISOのセットからサブセッ

トを定義し、これらのコマンドをカードに対する有効なコマンドとして証拠資料として提

出する。

4評価の範囲と環境によっては、そのような情報の暴露が容認される場合もある。例えば、セキュアなパーソナラ

イゼーション環境の中だけで使用するプロトコルにおいてである。

May 2013 Version 2.9 Page 33

Page 34: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

160 T=1のテスト計画には、次のテストを含めるべきである。

・ ISOで定義されているセット以外のすべての値を試して、カードが応答するかどうか

(間違ったふるまい)をチェックする「総当たり」の手法。

・ ISOで定義されているセットの中で、開発者が定義したセット以外のすべての値を試

して、応答をチェックする「総当たり」のアプローチ(証拠資料として提出されてい

ないコマンドの検索)。

・ 開発者が証拠資料として提出したコマンドをすべて試して、応答をチェックする。

・ 様々な順番でコマンドを送信して、通信に影響を与える。

・ システムまたは製品からのメッセージに割り込む。

161 証拠資料として提出されていないコマンドを利用した攻撃と、コマンドの編集は密接に関

係しているが、別々の攻撃である。証拠資料として提出されていないコマンドまたは未定

義のコマンドを見つけることは、総当たりタイプの直接的な攻撃であるが、その場合に攻

撃者は、ISOが定義したコマンドセットを単に実行して、応答するはずがない1つ以上のコ

マンドにカードが応答するかどうかを調べる。

162 証拠資料が提出されていないコマンドの検索は、高度な標準化と自動化が行われているた

め、1日を超えることはないはずである。クラス、命令、パラメタ1、及びパラメタ2のす

べてのバリエーションを試して、その応答を記録したら、攻撃者は、興味深い攻撃開始ポ

イントがあるかどうか解析する。興味深い応答が特定されたら、攻撃者は、その脆弱性を

悪用するスクリプトを作成する。これは、ソースコードをチェックすることによって行う

こともできる。

163 証拠資料が提出されていないコマンドが攻撃ポイントになるかどうかは、ソフトウェアの

品質(実行ドメインの分離)と発見されたコマンドの種類による。

5.9.2 コマンドの編集

164 コマンドの編集は、攻撃者が、通信シーケンス中にコマンドを変更しようとして、カード

が予期せぬ応答を返すかどうかを調べようとする攻撃段階である(これらのコマンドは、

インタフェース仕様内のものであったり、メッセージシーケンスの観察や上記のコマンド

検索によって発見されたものであったりする場合がある)。これらの攻撃段階によって、

脆弱性を発見し悪用できる可能性がある(例えば、以前観察されたメッセージを編集して、

長すぎるパラメタを与えると、バッファオーバーフロー攻撃ができる)。ソフトウェアの

リバースエンジニアリングに役立つタイミングの差が明らかになる可能性もある。

開発者が定義したサブセット

ISO/EMV定義のコマンドセット

すべての可能な値(65536)

May 2013 Version 2.9 Page 34

Page 35: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

165 APIに関連付けられたセキュリティメカニズムとメッセージの種類によって、メッセージ

(相互認証、セキュアチャネル、MAC、暗号化、セッション鍵など)の偽造は簡単にも複

雑にもなる場合がある。ただし、前述の通り、この種類の攻撃が見つかった場合は、通常

はTOEの評価が不合格になる。

5.9.3 直接プロトコル攻撃

166 典型的なプロトコル攻撃は、スマートカードが現在の状態で予期していないコマンドを送信

しようとすることである。例:スマートカード用のISO 7186-3プロトコルとISO 14443プロト

コルには、通信障害に対応するためのコマンドが1つ含まれている。本当の通信を開始せず

に、このコマンドを送信することによって、攻撃者は、初期化されていないバッファや、最

後に書き込みがあったバッファを受信できる。この例は、以下の図に示される。

167 TOEが実際にメモリ内容をダンプするかどうかは、I/Oバッファのポインタと長さが正しく

初期化されているかどうかによる。この例で示したメモリには、秘密データ(例えば、計

算したばかりのDESセッション鍵)が残っている可能性がある。したがって、この攻撃に

よって、攻撃者がTOEから秘密データを取得できる可能性がある。

5.9.4 中間者攻撃

168 この攻撃では、正当な通信を実行中の2つのエンティティ間の通信経路に攻撃者が潜んで

いる。攻撃者は、どちらの側の当事者に対しても、相手側の(正当な)当事者のふりをす

る。公開されている文献に出ている中間者攻撃のいくつかの応用は、次の論文に記載され

ている。

・ An Example of a Man-in-the-middle Attack Against Server Authenticated SSL-sessions, Mattias Eriksson

T=1の例:正当なふるまい

カード

応答

応答の繰り返し

端末 コマンド

再送信

T=1の例:セキュリティリスク(不適切なふるまい)

カード 端末 再送信

RAMの内容

May 2013 Version 2.9 Page 35

Page 36: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

・ Man-in-the-Middle in Tunnelled Authentication Protocols, N. Asokan, Valtteri Niemi, Kaisa Nyberg, Nokia Research Center, Finland

・ Why Cryptosystems Fail, Ross Anderson

5.9.5 リプレイ攻撃 169 リプレイ攻撃が可能なのは、メカニズムで、コマンドが本当に現在のメッセージシーケン

スの一部かどうかチェックされていない場合、または完全なメッセージシーケンスが以前

に使用されていないかがチェックされていない場合である(一般に、セキュアなプロトコ

ルでは、設計によりこの種類の攻撃を防止しているはずである5)。攻撃者は、プロトコル

アナライザを使用して、パケットがスマートカードとリーダ(またはホスト)の間を流れ

るときに、そのパケットを監視またはコピーする。デジタル署名や認証コードのような興

味深い情報を見つけるために、パケットは、取得、フィルタリング、及び解析される。こ

のようなパケットが抽出されたら、それらのパケットが再送信(リプレイ)されることに

よって、攻撃者に、許可されずに資源にアクセスできる可能性が与えられる。

170 この図は、攻撃者が、正当なトランザクションリクエストをコピーして変更し、同じ(ま

たは少し変更した)バージョンのメッセージを使用して第2のリクエストを送信する状況

を示している。一般に、この種の攻撃を利用すると、攻撃者はユーザの資産への不許可の

アクセス(例えば、銀行預金の払い戻し、保護されたシステムリソースへのアクセス)が

可能になる。

171 銀行預金の払い戻しが成功した場合などは、この攻撃が完全な攻撃パスになる可能性があ

る。システムリソースにアクセスした場合は、アクセスしたリソースの特性に応じて、部

分的な攻撃パスになる場合もある(例えば、攻撃者が普通のユーザとして通信できるよう

なってから、権限の昇格を試みる場合)。

172 リプレイ攻撃には、適切な完全性保護付きのシーケンス番号を使用して、有効な記録済み

のメッセージの利用をより困難にすることによって対抗できる場合がある。

5.9.6 認証やアクセス制御のバイパス 173 この種類の攻撃は、スマートカード上に存在するデータに許可されていないアクセスを行

い、処理対象データオブジェクトまたはオペレーティングシステムの現在のライフサイク

ル状態に適合しない操作を実行することを目的としている。特に、カードに格納されてい

るパーソナライゼーションデータの許可されていない読み取りや変更、さらには(不許可の)

製品の初期化やパーソナライゼーションが、このような攻撃シナリオの対象となる場合があ

る。この種類の攻撃(完全なプログラムシーケンスである場合もある)は、ソフトウェア実

5 プロトコルがセキュアに設計されていても、その後の攻撃段階(かく乱など)を利用して、それ以外の場合はリ

プレイされたコマンドを検出したり拒否したりするチェックが回避されたら、リプレイ攻撃を使用できる可能性

がある。

正当なトランザクション リクエスト

正当なトランザクション

不当なトランザクション

正当なトランザクションの

コピー

変更されたトランザクションリクエストのコピー

May 2013 Version 2.9 Page 36

Page 37: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

装の弱点を利用し、オペレーティングシステム及びその処理データを論理的または物理的に

攻撃することによって実行される。使用されるツールは、プロトコル攻撃(例えば、中間者

攻撃、リプレイ攻撃、コマンド編集、未定義のコマンドの使用やオペレーティングシステム

の現在のライフサイクル状態では許可されないコマンドの使用のいずれか)である。さらに、

プログラムフロー、ステータス情報(オブジェクト及びオペレーティングシステムのライフ

サイクル状態)、及びオペレーティングシステムが処理するオブジェクトへのアクセス規則

を操作する物理的攻撃または論理的攻撃も考慮する必要がある。

5.9.6.1 攻撃の記述

174 この種類の攻撃は、スマートカード上に存在するデータに許可されていないアクセスを行

い、処理対象データオブジェクトまたはオペレーティングシステムの現在のライフサイク

ル状態に適合しない操作を実行することを目的としている。例として、このような攻撃は、

カードまたはターゲット上に存在するパーソナルデータの読み取りや変更を行い、さらに

(許可されていない)製品の初期化またはパーソナライゼーションを行うことを目的とし

ている。

175 スマートカード上に格納されているデータへの許可されていないアクセスは、次のような

様々な技法によって取得できる。

・ 通信の相手側になりすます(「中間者攻撃」として知られている)

・ タイミングの差を利用する(取得コマンドやリプレイコマンドによる)

・ コマンドのバリエーションを試行する(有効なコマンドを編集したり、

・ 未定義のコマンドを見つけたりする)

・ アクセス規則自体を操作する

・ プログラムの実行中にアクセス規則のリクエスト及び評価を回避または操作する

176 オペレーティングシステムまたはデータオブジェクトの現在のライフサイクル状態では

許可されないコマンドの実行も、次のような様々な技法によって取得できる。

・ 現在のライフサイクル状態自体を操作する

・ プログラムの実行中に現在のライフサイクル状態のリクエスト及び評価を回避また

は操作する

・ コマンドのバリエーションを試行する(有効なコマンドを編集したり、未定義のコマ

ンドを見つけたりする)

5.9.6.2 攻撃の影響

177 攻撃の結果はそれぞれ、オペレーティングシステム、またはオペレーティングシステムに

よって処理されるデータオブジェクトの現在のライフサイクル状態に適合しない操作が

実行される可能性による、スマートカード上に存在するデータへの許可されていないアク

セスである。特に、このような攻撃によって、カードに格納されている秘密データが開示

されたり、さらには(不許可の)製品が初期化またはパーソナライズされたりする可能性

がある。攻撃者は、(その後の)通信中にスマートカードから得られる応答を解析するこ

とによって、攻撃が成功したことを知る。

178 一般に、記述された攻撃シナリオは、このオペレーティングシステム、オペレーティング

システム上にセットアップされているアプリケーション、及びオペレーティングシステム

によって処理される(アプリケーション)データに組み込まれている対象セキュリティ構

造を操作することを目的としている。データオブジェクト及びコマンドに対する統合アク

May 2013 Version 2.9 Page 37

Page 38: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

セス制御が影響を受ける。

179 リプレイ攻撃は長い間存在してきた。何年も前は、リプレイ攻撃の目的はパスワードを盗

むことであった。現在のパスワードの暗号化強化を考えると、この種類の攻撃の焦点は、

デジタル署名や鍵を盗むことに移っている。

180 コマンド編集攻撃は、証拠書類が提出されていないコマンドを検出したり、有効なコマン

ドをTOEの通信メカニズムを破綻させるような方法で使用したりすることを目的として

いる。攻撃者は、TOEが想定している長さよりも長いコマンドを送信することによって、

不適切な限界チェックを見つけようとする場合がある。予期せぬ値を持つコマンドを送信

して、スマートカードのメモリ内容を強制的にダンプさせようとする場合もある。

181 ライフサイクル状態の情報やアクセス規則自体を操作したり、アクセス規則のリクエスト

や評価を操作したりすることは、オペレーティングシステムに実装されているアクセス制

御と、このプラットフォームで実行されるアプリケーションに対する直接攻撃と考えるこ

とができる。特に、アクセス制御が変更されたり、セキュアデータへの許可されていない

アクセスや、許可されていないコマンドの実行ができたりするようにアクセス制御が完全

に無効にされる。

5.9.6.3 攻撃の特徴

182 ライフサイクル状態の情報やアクセス規則を操作するには、スマートカード、そのオペレー

ティングシステム、及びアプリケーションに物理的な攻撃を行う必要がある。ライフサイク

ル状態の情報とアクセス規則のリクエスト及び評価を回避ならびに操作することは、論理的

または物理的な手段によって達成できる対象プログラムフロー操作に基づく。ライフサイク

ル状態の情報とアクセス規則、及びプログラムの実行中のそれらのリクエストや評価を保護

するための積極的な対抗策の1つは、完全性属性を付加して、プログラムの実行中にこの属

性を適切にチェックすることである。これらの攻撃の特徴に関する詳細と効果的な対抗策に

ついては、「5.1 物理的な攻撃」及び「5.3 かく乱攻撃」を参照のこと。

183 中間者攻撃、リプレイ攻撃、コマンド編集のような論理的な特性を持つ攻撃の詳細につい

ては、「5.9 ソフトウェア攻撃」を参照のこと。

5.9.7 バッファオーバーフローまたはスタックオーバーフロー

184 この攻撃は、オープンプラットフォームに適用される。

185 この文書では、オープンプラットフォームを、複数のアプリケーションを実行及びダウン

ロードできる機能を持つスマートカードのオペレーティングシステムと定義する。

186 オープンプラットフォームは、アプリケーションに一連のサービス、特に外部のアプリケー

ション(許可されていないアクセスや予期せぬ変更)から秘密データを保護するためのサー

ビスを提供する。

187 この攻撃は、悪意のあるアプリケーションの実行によって生じるバッファオーバーフロー

またはスタックオーバーフローを利用して行われる場合がある。

188 オーバーフローは、プラットフォームによってチェックされない場合、現在のスタック内

の内容が上書きされるなどの様々な影響を及ぼす。

189 ここで攻撃者が期待する影響は、悪意のあるアプリケーションによって現在の実行コンテ

キストが変更されて、システム権限に切り替わることである。

May 2013 Version 2.9 Page 38

Page 39: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

190 このような権限を取得すると、このアプリケーションは実質的に、あらゆる動作を実行

できるようになり、秘密データを開示または変更することができる(例えば、別のアプ

リケーションのPINの変更または開示)。

May 2013 Version 2.9 Page 39

Page 40: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

5.10 アプレット分離

5.10.1 マルチアプリケーションプラットフォームのセキュリティリスク

191 マルチアプリケーションプラットフォームは、同時に複数のアプリケーションを実行する

ために構築したハードウェアとソフトウェアのセットを記述する。

192 マルチアプリケーションの環境で保護される必要がある場合がある資源は、以下の通りで

ある。

・ ロードされたアプリケーションデータ(鍵を含む)。

・ ロードされたアプリケーションコード。

・ 下層のプラットフォームデータ。

193 アプレット分離は、これらの資源に到達するための、様々な種類の攻撃技法の対象である。

5.10.2 攻撃の一部

194 アプリケーションの分離を確実にするために適用可能な技術の既存のセットがある。

195 これらの技術は通常、規格に指定され、スマートカードデバイスに組み込むことができる。

196 攻撃の全体を実行する場合、攻撃者はこれらの技術の1つまたは組み合わせを破ることを

余儀なくされることがある。ここで攻撃の一部という用語は、攻撃の全体の実行時に組み

合わせる必要がある攻撃を説明するために使用される。

5.10.2.1 GlobalPlatformの攻撃の一部

5.10.2.1.1 GlobalPlatformの原理

197 GP規格は、アプリケーションの相互運用性及び管理の枠組みの定義である。この枠組みは

GP仕様書で指定されており、その主要コンポーネントは以下の通りである。

・ オープンGlobalPlatform環境(OPEN) OPENは、コマンドディスパッチ、(オプションの)複数論理チャネル管理、アプリ

ケーションとカードライフサイクルの管理する役割を果たす。

・ セキュリティドメイン(SD) セキュリティドメインは、カード上のスマートカード主体を意味する。これによって、

様々な種類の暗号サービス、セキュアメッセージング、及びアプリケーションパーソ

ナリゼーションなどに関連するアプリケーションの一般的なセキュリティサービス

が提供される。

・ カード保有者検証方法 特に、これによって、すべてのアプリケーションで使用される一意のユーザPIN番号

の可能性が与えられる。

5.10.2.2 攻撃の一部の例の記述

198 「GPへの攻撃」の目的は、攻撃者がアプリケーションのTOEへのロードを不正に、つまり、

ロードするための鍵の値を知らずに実行できるようにすることである。

May 2013 Version 2.9 Page 40

Page 41: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

199 この攻撃は、GlobalPlatformの相互認証プロセス及び後続のセキュアメッセージングコマン

ドに関与する暗号演算に対して実行されない。

200 この攻撃は、コンテンツ管理権限を持つセキュリティドメインのコード実行に対して行わ

れる。攻撃はここで、かく乱攻撃に対するコード実行フローの頑強性の潜在的な脆弱性を

悪用する。ここでの意図は、どのセキュアチャネルもオープンにされていないコンテンツ

管理APDUコマンド(INSTALL [for load], LOAD,など)を強制的に実行すること

である。

5.10.3 オンカード及びオフカードのバイトコードベリファイアの攻撃の一部

5.10.3.1 オンカード及びオフカードのbyteコードベリファイアの原理

201 これらの2種類のbyteコードベリファイアは異なるふるまいを持つ。

・ オンカードベリファイアは、CAPファイルの構造検証及び型検証を実行できる時点で、

アプレットインストールフェーズ(リンク動作)中にそのチェックを行う。

・ オフカード検査装置は、カードにロードされたアプリケーションが実際にオフカード

によってチェックされたことを保証する必要があるため、様々な組織的な問題を誘発

する。オフカード検査装置は、CAPファイルの構造解析及び型検証(byteコードの実

行をシミュレートする)を実行する。

5.10.3.2 攻撃の一部の例の記述

202 基本的な型混乱攻撃はオブジェクトの参照を、別のオブジェクトの参照によって変更する。

例えば、byte配列後にあるメモリをダンプするために、byte配列のアドレスをshort配列に

割り当てることができる。型混乱に基づく攻撃の例として、以下の2つがある。

・ オンカードによって検出されない型混乱を作成し、メモリ内容の一部のダンプ及び変

更ができるようにする。

・ 型混乱を作成するために、トランザクションメカニズムを悪用する正しい形式のCAPファイルを使用する。

5.10.4 防御的仮想マシンの攻撃の一部

5.10.4.1 防御的仮想マシンの原理

5.10.4.1.1 準防御的仮想マシン

203 準防御的仮想マシンは、特定のbyteコード実行シーケンスを無効にすることによって、型

混乱を防止する。オフカードとオンカードのbyteコードベリファイアは両方とも、準防御

的仮想マシンと見なされる。

May 2013 Version 2.9 Page 41

Page 42: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

5.10.4.1.2 防御的仮想マシン

204 防御的仮想マシン6 は、APDU実行(型検証や構造検証など)中にbyteコードを動的に解

析することができ、型混乱を防止するためのオフカードまたはオンカードのbyteコード解

析を必要としない。 5.10.4.2 攻撃の一部の例の記述

205 防御的仮想マシンに対する攻撃の目標は、型を混乱させることができるように仮想マシン

を欺くことである。そのような攻撃は、防御的仮想マシンが部分的に実装されている場合

だけに可能になることがある。

206 不正な順序のbyteコードを含んでいる不正な形式のアプレットがターゲットにロードされ

ると、防御チェックがない、または不完全である場合に、型混乱が引き起こされる。その

後、この型混乱は、JCRE及び攻撃者の範囲外にある範囲の永続データと一時データを読

み取るために使用される可能性がある。

207 単一に対し完結した型混乱攻撃は、永続メモリ及び一時メモリの読み書きを実行できる単

一攻撃アプレットにおいて、型混乱攻撃自体、仮想マシンのメタデータ、ならびにそのア

プリケーションを使用する。 5.10.5 ファイアウォールの攻撃の一部

5.10.5.1 ファイアウォールの原理

208 Java Cardのファイアウォールは、オブジェクトの参照へのアクセスをコンテキストによっ

て制限する。同じコンテキスト内で作成されたオブジェクトだけしか参照できない。オブ

ジェクトのコンテキスト外の資源へのアクセスは、Shareable Interface Objectメカニズムに

よりJava Cardファイアウォールを通じて可能である。静的メンバーはファイアウォール制

御から除外され、それらのアクセシビリティはコンテキストに依存しない。 5.10.5.2 攻撃の一部の記述

209 Java Card環境の悪意のあるアプレットは、コンテキスト切り替えメカニズムを攻撃するこ

とで、Java Cardファイアウォールによって課せられた制限を破るために使用される場合が

ある。これらの悪意のあるアプレットは正しい形式のものであり、byteコード検証を通る。

この攻撃では、悪意のあるアプレットがbyteコード検証によって検出できないため、不正

な形式のアプレット攻撃を開始しやすい可能性がある。その一方で、この攻撃は、TOEのファイアウォールに欠陥がある場合だけしか成功しない。

5.10.6 MULTOSの攻撃の一部

5.10.6.1 MULTOSの原理

210 MULTOSは、以下の対抗策を実装している。

1. 命令、基本要素、及びAPDUコマンドは、アドレス操作を許可しない。

2. ファイアウォール:アプレット分離、コードスペース及びデータスペースの分離(例

えば、コードからデータへのジャンプはできない)。

6 Java Card システム保護プロファイルのバージョン 2.6 にある防御的仮想マシンに関する定義はない。

May 2013 Version 2.9 Page 42

Page 43: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

211 (例えば、参照場所内の要素を削除することによってアドレスを改ざんするために)Java Cardに反するコンポーネントを操作することはできない。

1. MULTOSアプリケーション抽象マシンは、独自のメモリスペースを各アプリケーショ

ンに提供する。

2. ロードされたアプリケーションは暗号化することができる。

5.10.6.2 攻撃の一部の例の記述

212 この攻撃は複合攻撃である。その目的は、無効なサイズ(大きいもの)のデータを1ブロッ

ク読み出し、ファイアウォールをバイパスするためにフォールトインジェクションを実行す

ることである。

213 ファイアウォールは、アプリケーションが別のアプリケーションのスペースにアクセスで

きないことを保証する。攻撃者が無効なブロック長のデータを1ブロック読み出そうとす

る命令を実行しようとすると、ファイアウォールは、現在のアプリケーションがその他の

アプリケーションスペースにアクセスしようとしていることを検出し、そこでエラーを返

す。評価者は、このチェックをバイパスするためにフォールトインジェクションを実行す

る必要があり、そこでメモリの一部のダンプに成功する。

5.10.7 攻撃の全体パス

214 攻撃の全体パスは攻撃の一部を組み合わせて、秘密に関わる資源(例えば、PINや鍵)へ

の不正なアクセスをする。

215 この攻撃は、以下の組み合わせである。

1. 物理的攻撃やソフトウェア攻撃によって、メモリをダンプして資産及び/または秘密に

関わるコードを見つける。

2. GlobalPlatformに対する攻撃の一部によって、悪意のあるアプレットをロードする。

3. byteコードベリファイアに対する攻撃、または防御的仮想マシンに対する攻撃を通じ

て、悪意のあるアプレットを用いてステップ2で特定したオブジェクトを操作する型

混乱。攻撃者は、悪意のあるアプレットで、別の範囲にあるオブジェクトのメモリア

ドレスを不正に操作することができる。この記述では、これは型混乱攻撃を介して達

成する。

4. 物理的かく乱を用いたファイアウォールへの攻撃により、オブジェクトに対して

getKeyメソッドを実行するか、異なる範囲のオブジェクトに対して任意コードを実行

する。

攻撃者は、物理的かく乱を用いてCard/Multosファイアウォールの制限をバイパスする

と同時に、正当な範囲外のオブジェクトを操作する。

216 ステップ1及びステップ2は、攻撃を調整するために使用する。前章で説明した攻撃の一部

では悪意のある単一のアプレットがあらゆる動作を実行できるのに対し、より現実的な例

では、悪意のあるアプレットがその独自のオブジェクトだけしか処理できないことから、

ステップ3及び4をここで詳しく説明する。それが、ファイアウォール制限をバイパスする

ために、ここでかく乱を使用する理由である。

May 2013 Version 2.9 Page 43

Page 44: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

May 2013 Version 2.9 Page 44

Page 45: サポート文書 必須技術文書 - IPAV2.9 2013年5月(サイドチャネル攻撃の章の再構成、アプレット分離の章の追加) V2.8 2012年4月(関連する評価作業負荷の序文を強調表示)

CCDB-2013-05-002 スマートカードへの攻撃能力の適用

6 参考文献

[AIS31] Functionality classes and evaluation methodology for physical random number generator, Version 1, 2001-09-25 and the associated technical document: “A proposal for: Functionality classes and evaluation methodology for true (physical) random number generator”, Version 3.1, 2001-09-25, W. Killmann (T-Systems), W. Schindler (BSI)

[CC] Common Criteria for Information Technology Security Evaluation, Version 2.3, August

2005. Common Criteria for Information Technology Security Evaluation, Version 3.1, Revision 2,

September 2007. [CEM] Common Methodology for Information Technology Security Evaluation (CEM), Version 2.3,

August 2005. Common Methodology for Information Technology Security Evaluation (CEM), Version 3.1,

Revision 2, September 2007. [CC-IC] The Application of CC to Integrated Circuits, Version 3.0, February 2009, Joint

Interpretation Library Version 3.0, Rev.1, March 2009, CC Supporting Document CCDB-2009-03-001. [COMPO] Composite product evaluation for Smartcards and similar devices Version 1.0, September

2007, Joint Interpretation Library Version 1.0, Rev.1, September 2007, CC Supporting Document, CCDB-2007-09-001.

May 2013 Version 2.9 Page 45