(57)【要約】【課題】電力指紋(PFP)により判定されるターゲット・システムの実行の完全無欠性を高めるための手順を提供する。【解決手段】この手順は、総合的な深部防御セキュリティの検出局面にPFPを組み入れることと、PFPでイネーブルするノードのネットワークを配備し、信頼性のないデバイスを予め定義した入力で実行し、特定の状態シーケンスおよびソフトウエア実行を強制することと、モジュール識別情報を同期シグナリングに埋め込むことと、互いに異なるボード素子からの信号を合成することと、PFP性能を高めるように不正ソフトウエアシグネチャを用いることと、自動的な特徴分析および信号抽出を行うことと、確実なシグネチャ更新を提供することと、サイドチャネル攻撃に対して保護を備えることと、埋め込まれたプラットフォームにおけるリアルタイムな完全無欠性評価を、これらの動的な電力消費の監視および信頼性ある符号からのシグネチャとの比較、すなわち内部実行状態に関する最多の情報を担うトレース・セクションに集中することによりそのプラットフォームの事前特徴分析を含むシグネチャとの比較を行うことと、ディジタル・プロセッサにおけるソフトウエアの許された実行からの偏差を検出するようにビット遷移のシーケンスでPFPを用いることとを含む。【選択図】図３
2014501957.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ処理するプラットフォームにおけるルーチンの実行の完全無欠性評価をリアルタイムで実行する方法において、
このルーチンの実行中にサンプリングによりプロセッサの電力消費をトレースすることによりこのルーチンの実行を監視することと、
プラットフォーム特徴分析手法であって、
前記プロセッサにおける状態遷移への最大依存性を表すトレースのセクションを検出することと、
最多の情報を担う特徴を選択するように前記セクションを用いることと
をさらに含むプラットフォーム特徴分析手法を用いることと、
前記セクションに含まれる前記ルーチンの選択された特徴の特徴分析からそのルーチンの一組の信頼性ある電力指紋を得ることと、
前記信頼性ある電力指紋からなるシグネチャからの距離の確率分布に基づき特定の誤りアラーム率についての閾値を設定することと、
信頼性のない符号から得られるトレースから抽出された特徴と前記信頼性ある指紋のライブラリとを比較することと、
前記指紋と抽出された特徴との間の距離を算定することと、
その距離が前記閾値を超え多場合に例外であることを報告することと
を含む前記評価をリアルタイムで実行する方法。
【請求項２】
モジュール識別情報を前記ルーチンに埋め込むことによりそのルーチンの実行を前記トレースと同期させることをさらに含む請求項1記載の方法。
【請求項３】
前記モジュール識別情報が前記ルーチンの実行前にIOレジスタに書き込まれた二値の識別符号である請求項２の記載の方法。
【請求項４】
前記モジュール識別情報が独特の電力消費パターンを生じる命令のシーケンスである請求項2の記載の方法。
【請求項５】
電力消費のトレースが複数のプロセッサ回路からの信号を合成する請求項1の記載の方法。
【請求項６】
前記ライブラリの指紋のシグネチャに周知の不正ソフトウエア（malware）を追加することにより前記例外の質を高めることをさらに含む請求項1の記載の方法。
【請求項７】
コンピュータ処理するプラットフォームにおけるルーチンの実行の完全無欠性評価をリアルタイムで実行するシステムにおいて、
このルーチンの実行中にサンプリングによりプロセッサの電力消費をトレースすることによりこのルーチンの実行を監視する手段と、
プラットフォーム特徴分析手法であって、
前記プロセッサにおける状態遷移への最大依存性を表すトレースのセクションを検出する手段と、
最多の情報を担う特徴を選択するように前記セクションを用いる手段と
をさらに含むプラットフォーム特徴分析手法を用いる手段と、
前記セクションに含まれる前記ルーチンの選択された特徴の特徴分析からそのルーチンの一組の信頼性ある電力指紋を得る手段と、
前記信頼性ある電力指紋からなるシグネチャからの距離の確率分布に基づき特定の誤りアラーム率についての閾値を設定する手段と、
信頼性のない符号から得られるトレースから抽出された特徴と前記信頼性ある指紋のライブラリとを比較する手段と、
前記指紋と抽出された特徴との間の距離を算定する手段と、
その距離が前記閾値を超え多場合に例外であることを報告する手段と
を含む前記評価をリアルタイムで実行するシステム。
【請求項８】
前記ルーチンに埋め込まれたモジュール識別情報をさらに含む請求項７記載のシステム。
【請求項９】
前記モジュール識別情報がそのルーチンの実行前にIOレジスタに書き込まれている二値の識別符号である請求項8の記載のシステム。
【請求項１０】
前記モジュール識別情報が独特の電力消費パターンを生じる命令のシーケンスである請求項8の記載のシステム。
【請求項１１】
前記電力消費のトレースのための手段が複数のプロセッサ回路からの信号を合成する請求項7記載のシステム。
【請求項１２】
前記ライブラリの指紋シグネチャに周知の不正ソフトウエア（malware）を追加することにより前記例外の質を高める手段をさらに含む請求項7記載のシステム。
【請求項１３】
ディジタル・プロセッサにおけるソフトウエアの許可された実行からの偏差を検出する方法において、
既知の環境での前記ソフトウエアの少なくとも1つのルーチンの実行中にそのプロセッサの電力消費を観測することと、
前記少なくとも1つのルーチンの電力消費を特徴づけるビット遷移のシーケンスを算定することと、
前記電力消費の特徴を前記ソフトウエアの実行の観測結果との比較のための指紋として用いることと
を含む、前記偏差を検出する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は電力指紋技術に関し、より詳しくはセキュリティを改善するための技術として、またコンピュータ処理およびコンピュータベースのシステムに用いられるソフトウエアの信頼性を監視するための技術として、電力指紋を使用することに関する。
【背景技術】
【０００２】
CMOSディジタル回路においては、ビット遷移の度ごとに、ゲートにおける短い短絡に起因する過渡的な電流およびその回路の出力における寄生キャパシタンスの充電および放電がある。プロセッサにおいては、これら過渡電流の強度、したがって、特定のクロック・サイクルにおいて消費されるトータル電力は、そのサイクルで生じるビット遷移の総数によって決まる。ビット遷移の数はそれらのアドレスおよびパラメータに加え、実行される特定の命令シーケンスによって決まる。電力指紋は、異常検出のためのプロセッサ電力消費のきめ細かな測定および信頼性あるシグネチャ（実行中のビット遷移の特定シーケンスから生じるパターン）との比較に基づく重要なサイバーシステムに対する信頼性評価および侵入検出の解決策である。電力指紋の基本的な手法は、信頼性あるソフトウエアの実行の特徴分析を行い、電力シグネチャを抽出し、同一の符号が実行中かどうかを判定するため試験トレースを比較するための基準にそれら電力シグネチャを使用することである。
【０００３】
図１に示すように、電力指紋(PFP)モニタは全てのパターン認識システムに共通な三つの主要素：感知110、特徴抽出120および検出/分類130から構成される。感知は市販の電流プローブおよび高性能オシロスコープを用いて達成されるディジタル・ハードウエアの電流ドレイン瞬時値を測定することを含む。特徴抽出はPFPの重要な側面であり、与えられたソフトウエア・ルーチンの実行を独自に識別する電力消費の統計的および時間的特性の識別を含む。これはプロセッサのアーキテクチャおよびソフトウエアの構造の深い理解を必要とする挑戦的なタスクである。しかし、これはシグネチャの性能を高めて決定法を改善するある特性を有するソフトウエアを作成することにより容易化できる。理想的には、シグネチャは符号における各実行パスから抽出される。これができない場合には、OSカーネル・モジュールおよびコア・アプリケーションのような幾つかの重要なセクションのみを特徴分析しかつ監視する。
【０００４】
一般的な電力指紋手法では、感知器110はプロセッサ・ボード上で電力ピンのできるだけ近くに配置する。この感知器はそのプロセッサの電流ドレインの瞬時値を捕捉する。この感知器は市販の電流プローブ、シャント抵抗器または電流ミラーで構成できる。この感知器からの信号はプロセッサの主クロック速度より高い速度でディジタル化しなくてはならない。このプロセッサが動作周波数を上げるため内部位相同期ループを有しているならば、これが実効クロック周波数になる。実効クロック周波数×3.5の周波数を用いて満足な結果が得られた。しかし、これは下限を表すものではない。幾つかのメカニズムがサンプリング要求を減少させるために使用できる。
【０００５】
電流ドレイン瞬時値を電力トレースの形にディジタル化したあと、互いに異なる信号処理手法をそれらトレースからの識別力ある特徴の抽出のために適用する。これらの特徴を抽出したあと、信頼性あるソフトウエアからのトレース140を用いて事前にトレーニングを施した監視分級器または検出器130に加える。この検出器はそのソフトウエア実行が許可ずみのソフトウエアに対応するかどうかを最終的に判定する。従来技術による一般的な電力指紋手法の図解を図１に示す。
【０００６】
特定の電力トレースからの特徴が許可ずみの実行に対応するかどうかの判定は注意深く設計された検出器によって行う。この検出器は、入力電力トレースを許可ずみの符号からの全ての蓄積シグネチャ140と比較する。観測されたトレースがこれら蓄積されたシグネチャのいずれとも一致しないときは、侵入が生じていると判定する。各特徴についての差異は小さいが、特徴の数が多いので、侵入ありとの判断の信頼性は高く、恣意的にセットされる。
【０００７】
しかしながら、現在の技法および手順は、コンピュータ・システムの実行の信頼性のため電力指紋に依存する安全策以上の結果を出すことを求める当業者により開発され使用されるテクノロジーおよび慣行と歩調を合わせるように高度化されかつ改善されなくてはならない。
【０００８】
【非特許文献１】J.T.Tou and Gonzalez,”PatternRecognition Principles”,Addison-Wesley  Publishing  Company，1974（パターン認識の原理）。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、本発明の目的は電力指紋（PFP）で決まる対象システムの実行信頼性評価を高めるための手順を提供することである。
【課題を解決するための手段】
【００１０】
そのために、PFPを包括的な深層防御のセキュリティの検出段階に組み込み、PFPが可能化するノードのネットワークを配備し、信頼性の低いデバイスを予め定めた入力で特定の状態シーケンスと特定のソフトウエア実行を強制的に行わせ、モジュール識別情報を同期信号に埋め込み、互いに異なるボード・エレメントからの信号を合成し、PFPパフォーマンスを高めるためにマルウエアシグネチャを使用し、自動的な特徴分析および信号抽出を行い、確実なシグネチャ更新を提供し、サイドチャネル攻撃に対して保護し、動的電力消費を監視するとともにそれを信頼性ある符号からのシグネチャと比較することによりプラットフォームに埋め込まれたリアルタイム信頼性評価を行い、そのプラットフォームの電力消費を前もって特徴分析し内部実行状態についての最多の情報を搬送するトレース・セクションに集中し、商用の埋め込みプラットフォームにおける許可された実行からの偏差を検出するためにPFPの能力を改善する。
【００１１】
この発明の一つの側面は、コンピュータ処理プラットフォームにおけるルーチンの実行をリアルタイムで信頼性評価する方法である。この方法は、プロセッサの電力消費を追跡しそのルーチンの実行中にそのプロセッサをサンプリングすることによるそのルーチンの実行監視により達成される。プラットフォーム特徴分析手法はトレースのセクションの検出、すなわち、そのプロセッサの状態遷移に最大に依存することを示すセクションの検出を行う。これらのセクションを最多の情報を搬送する特徴を選択するために使用する。このプラットフォーム特徴分析は、プラットフォームに適用でき、このプラットフォーム上を走る全てのルーチンに対して用いることができる。次のステップは、そのプラットフォーム特徴分析において識別されたセクションに含まれるルーチンの選択された特徴の分析結果からそのルーチンの信頼性のある一組の電力指紋を得ることである。これによって、信頼性ある指紋で構成されるシグネチャからの距離の確率分布に基づき特定の偽のアラーム率の閾値を算出する。次に、信頼性のある指紋のライブラリを信頼性のない符号の実行からのトレースから抽出された特徴と比較する。そのライブラリにおける指紋とその信頼性のない符号の実行から抽出された特徴との距離がそれによって決まる。その距離が閾値を超えている場合は、例外が報告される。
【００１２】
電力指紋(PFP)に基づく信頼性評価および侵入検出システムの動作、有効性、使い勝手および性能を改善するための様々な手順を説明する。これら互いに異なる手続きは下記を含む。
・同期信号へのモジュール識別情報の埋め込み
・互いに異なるボード素子からの信号を合成することによる改善されたPFP監視
・PFPのパフォーマンスを高めるマルウェアシグネチャを用いて既存のバッテリ監視テクノロジーを一般化
・自動的特徴分析およびシグネチャ抽出
・確実なシグネチャ更新
・信頼性侵害への応答および多層構造のセキュリティ
・サイドチャネル攻撃からの保護策
【００１３】
また、次のことを行う方法および装置を説明する。
・不正ソフトウエア（malware）の動特性および振舞を監視するための分布式PFPモニタネットワーク
・サプライチェーン信頼性分析へのPFPの適用
・ディジタル権管理および実行制限された賃貸借契約
・PFPに基づく故障予測
【発明を実施するための最良の形態】
【００１４】
本発明の上述の、およびそれ以外の目的、側面および利点は図面を参照して次に詳述する本発明の好ましい実施例の説明からよりよく理解されよう。
【００１５】
電力指紋化（PFP）は外部モニタがサイバーシステムの実行信頼性を評価できるようにするための技術である。PFPはプロセッサの動的な電力消費が担う実行状態情報に依存する。この情報と信頼性ある基準からの予め特徴分析したシグネチャとを用いて、PFPは対象システムにおける実行信頼性を判定できる。PFPの実際的な応用のためには、特定の装置を用意し有効な監視解決策を提供するための特定の手順に従うことが必要である。ここで、PFP監視解決策の動作、有効性、利便性および性能を改善するための種々の手順を説明する。
【００１６】
PFPをスマートフォンおよびそれ以外の埋込デバイスにおけるソフトウエア改変の検出に適用すること
サイバー・セキュリティは国家安全保障の重要な要素になってきている。マイクロプロセッサは現代生活の殆どすべての局面において普遍的に存在する。情報技術分野における技術開発は、それらを保護するために必要なセキュリティ解決策より早い速度で進展している。サイバー攻撃の脅威は、重要なインフラおよび国家安全保障への潜在的な壊滅的結果をもたらすものとして常に存在する。サイバー・インフラは重要になってきており、サイバー空間を新しい戦闘領域としてあらゆる種類の脅威から防御する必要のある重要な要素になっているほどである。
【００１７】
動的な電力消費を監視しそれを信頼性ある符号からのシグネチャと比較しスマートフォンおよびそれ以外の埋込みプラットフォームにおけるリアルタイムの信頼性評価を行うための技術を説明する。この方法およびテクノロジ−は電力指紋化の一般的な概念から来るものであり、複雑な商用デバイスにおける一般的な応用の高度化をもたらす。参考資料および事例として用い得る概括的な手法の好ましい実施例を次に述べる。しかし、これらの手法は一般的であり、任意のサイバー・プラットフォームにも適合させることができる。
【００１８】
この手法の一部として、プロセッサの内部実行状態に関する最多の情報を担うトレースのセクションに分類の努力を集中させ、パフォーマンスを損なう冗長なまたは極端な雑音を含む特徴を無視することにより、この手法のパフォーマンスを向上させるように特定のプラットフォームおよびプロセッサ消費電力を予め特徴分析する手法も説明する。
【００１９】
ねらいは、 スマートフォン、埋込みシステムおよび一般の情報システムにおける無許可のソフトウエア改変を検出する信頼性の高い技術を定義するように一般的な電力指紋化（PFP）を高度化することである。一般的な先行技術の手法を図１に示す。
【００２０】
一般的なPFP方法は、信頼性ある符号の実行中に電力消費からきめ細かい測定結果を集めることから始まる。前記感知器110はプロセッサの動的電力消費または電流ドレイン瞬時値の直接または間接メートル表記値を集める必要がある。この感知器110は、市販の電流計、ホール効果センサー、圧電性/磁気歪み複合磁界センサー、Rogowskiコイル、広帯域電流計または簡単な低抵抗精密分路抵抗器により実現できる。これら感知器は選択された特定の特徴抽出技術により設定された要求に合致する必要がある。
【００２１】
その感知器の物理的な位置は、この手法の成功のための重要な要素である。理想的な位置210を図２でプロセッサ205のＶＤＤ信号の位置に示す。この位置が実現できないかまたは過剰な電力供給雑音をもたらす場合は、次善の位置として位置220を用いる。感知器をこの次善の位置220に配置した場合は、寄生容量および減結合キャパシタ215付きのインダクタンスを伴う銅のトレースが電流トレースに影響を与える低域（LP）RLCフィルターを形成する。PFPにとっては市販のネットワーク分析器または他のシステム認識技術を用いてLPフィルターの伝達関数H を識別することによりこのハードウエア効果を前もって特徴分析することは有益である。内在するLPフィルターの影響はトレースを逆伝達関数Hinvを有する他のフィルターを通すことにより最小化できる。この逆伝達関数のフィルターはディジタル的に実現するのが好ましい。Hの直接反転は不安定なフィルターとなるので、Hinvの安定した最も近い近似値を選択することが必要である。
【００２２】
図２において、ＶＤＤ 225は異なるソースにより与えることができる。簡単なプロセッサに対しては、電圧調整器から直接来る。より複雑なプラットフォームに対して、電力および周辺管理システムから来るようにすることも可能である。このシステムは複雑な回路を有し、要求された異なる電圧レベルを与え、リセットを行い、割込み処理および他の周辺管理を行うような幅広いサービスを提供する。電力マネージャーは異なる信号をまとめ、PFPの観点からの干渉を加え、電力信号を隠す傾向のある複雑なシステムである。電力管理回路を有するシステムに対しては、余計な干渉を避け信号抽出を容易にするために電力管理システムの後ろに電流感知器を用意するのが望ましい。最良のシナリオとしては、PFPの一体化を容易にすするために電力感知器を他のサービスの電力管理システムに含めるやり方であろう。
【００２３】
ボードに多くのプロセッサがある場合は、図３に示すように、同一の原則を各プロセッサ繰り返すことができる。ここで、第n番目のプロセッサ206は、好ましくは、キャパシタ216で減結合した後、位置211または次善の位置221で監視する。この場合、検出器は両感知器からのトレースを合成し考慮するよう設計されなくてはならない。同一のパッケージにおけるマルチコア・プロセッサに対して、同一の原則が多くのプロセッサに適用される。しかし、位置と実行性はプロセッサのアーキテクチャ、各レールにより電力供給されるコアの数、減結合の要求により決まる。
【００２４】
感知器の位置が定まると、次のステップは信頼性ある符号を特徴分析することである。このプロセスは、制御された環境においてターゲットとなる信頼性ある符号(ターゲット・ソフトウエアおよび実行中に用いられるセットされた入力の分離、トレースの同期化を容易にする特定のマーカーの挿入)を繰り返し実行することにより達成できる。これらマーカーはそれぞれ異なった性質を有しトリガーおよび同期を容易にする。潜在的なマーカーは（ピンの電源レベルを変化させるような）物理信号を含むかまたは公知の電力消費シーケンスを生じる特定の命令シーケンスを含む。物理的なトリガー信号410は図４に示す。トリガーのための命令挿入のコンセプトは、図５に記載する。この場合、余分なアッセンブリ命令515は、トレースにおける公知のパターン510、通常、特定の符号510がいつ実行されるかを示す短時間の電流の強い変化を生じる。
【００２５】
ターゲット・アプリケーション610がLinuxデバイス・ドライバ・パラダイムを実働化するプラットフォームのユーザー・スペースまたは物理信号への間接的アクセスを有する任意の他のオペレーティング・システムで実行されているときは、図６に示すように、その間接的アクセスにより引き起こされる実行およびタイミングの内在的な不確かさを説明することが必要である。この場合、トリガー命令515は物理メモリ640への直接アクセスを持たないユーザー・スペース610、すなわちカーネル・スペース620にあるデバイス・ドライバ631による物理信号650の生成に必要なレジスタ632のみにアクセスできるユーザ・スペース610において実行される。実行およびタイミングの不確かさは、ファイル・アクセスがプロセスをカーネル620が他のプロセスの動作をスケジュールする期間中適切な同期シグナリングを待たせる(ブロック実行)必要があるために、存在する。
【００２６】
マーカー630は、最終的な符号に留まる必要がなくても、もしそこに留まれば動作時間評価のプロセスは容易になる。マーカーが配備バージョンに留められた場合には、これらマーカーに使用された施設またはサービスが配備されたプラットフォーム（例えば、そのマーカーがLED640を点灯させることになっている場合、このLED640は配備されたプラットフォーム上にある必要がある）に確実に留められる必要がある。
【００２７】
特徴分析中は配備される正確な符号を用いることが重要である。これには、同一レベルの最適化等でソフトウエアを作るための正確な同一のツールを用いることも含まれる。
【００２８】
性能を高めるために、特徴分析を反復的で相互依存性のあるプロセス、すなわちそのプロセスの期間中にソースコード構造およびそれぞれのマーカーを生成して互いに異なる実行例を通じて最小の変差の最強のシグネチャを生成するようにする。
【００２９】
信頼性ある符号の実行から生じる幾つかのトレースは、それらを平均化しどのような物理システムにも内在するランダム雑音の影響を減らすように集める必要が生じ得る。特徴分析プロセスは図７に示す。マーカーを符号に挿入710した後、信頼性あるソフトウエアを実行し、結果としての電力トレースを捕捉する720。これは、必要があれば予め定義した入力735を用いて、全ての重要な実行パス730に対して行う。ランダム・パラメータに起因する変化を、PCA（主要成分分析）740により除去する。識別力ある特徴を抽出し750、統計分析、すなわち平均化およびクラスタリング760を一組の許可されたシグネチャ770の発生のために行う。
【００３０】
シグネチャは互いに異なる信号ドメインから抽出し多次元にすることができる。さらに、多重シグネチャを一つの符号の識別のために用いることができる。
【００３１】
トレース処理および特徴抽出
蓄積されたシグネチャと比較されるべき試験トレースを準備するプロセスは、前処理および特徴抽出として知られている。トレース前処理は、選択された識別力ある特徴を抽出するようにそれらトレースを条件付けする一般的なタスク、例えば、それらトレースを適切な領域に変換しまたは特定のマーカーを参照してそれらトレースを目合わせするなどの一般的タスクを含む。トレース前処理の例を図８に示す。この図において、ビーグル・ボード（BeagleBoard）の中の試験ソフトウエアのOMPA3プロセッサによる実行からの時間領域トレースを電力スペクトラム密度の計算により周波数領域にまず変換する。
【００３２】
基本的な前処理の別の例では、基本的な実行および代替(−１ビット変化)トレースの目合わせを図９に示すとおり行ったのち、相関検出器に送る。この例では、Nサンプルの各トレースは多次元ユークリッド空間における点とみなされる。
【００３３】
特徴抽出は感知器に通され、信頼性判定のために用いられる最終試験統計(新しいトレースからの)を計算するプロセスである。このプロセスは各選択された特徴について特有である。例えば、基本的な時間領域相関分析においては、前処理は特定のプラットフォーム電力消費パターンのための粗同期化および補償を含み、一方、特徴抽出は相関ファクターまたはユークリッド距離の計算により蓄積されたシグネチャとの比較を含む。特徴抽出の例を図10に示す。この図10において、信頼性ある符号および改善された符号の図8のPSDと同様にビーグル・ボードのOMPA3プロセッサにおける実行に対応する試験トレースのPSDエラーをdB目盛で示す。この差異ベクトルを用いて、検出器に通過ずみの最終試験統計または識別力ある特徴を平均二乗誤差またはそれ以外の距離またはエラーメトリック（metric）で表示する。
【００３４】
検出器設計
シグネチャが抽出され、識別力ある特徴が選択されると、PFPプロセスの次のステップは最終統合評価のための最適な検出器を設計することである。これら検出器は、試験トレースが監視動作中における侵入とみなされるべきかどうかについての最終判断をする。検出器設計および通常の監視動作のプロセスは、非常に類似している。検出器設計においては、信頼されたソフトウエアの実行からの試験トレースを捕捉し、選択された識別力ある特徴の抽出のため処理を行い、蓄積されたシグネチャと比較する。幾つかのトレースを集めて処理し、それらのトレースの統計サンプルを性能期待値を生じる閾値の識別のために用いる。検出器設計のプロセスを図11に示す。ランダムまたは予め定義された入力1110を、信頼性あるソフトウエア1120に供給し、新しい実行試験トレースをその実行から捕捉する。これらの結果は、目合わせされ、同期をとられ1130、それらトレースは前処理され条件分析される1140。比較のため、許可されたシグネチャ770を用い、選択された識別力ある特徴を抽出し、距離メトリック（metric）を発生させる1150。次に、統計的分析および分布適合を結果として得られた数値に対して行う1160。最後に、ネイマン・ピアソン（Neyman-Pearson）基準を性能期待値に合致する閾値の決定のために適用する1170。
【００３５】
最適の検出器を作る通常の手法は、偽のアラームの与えられた確率に対する検出確率を最大化するためのネイマン・ピアソン基準の適用を含む。基本的な仮説試験理論から生じたこの基準を想起させるものとして、許容値および最終決定における誤りのコストの推算値に基づいて偽アラームの確率を設定する。信頼性ある符号からの識別力ある特徴の確率分布の推算値を用いて、距離閾値は正確な検出の確率を最大化しながら、偽のアラーム確率の期待値を生じるよう計算する。このプロセスの例を図12に示す。この図において、距離閾値1220を偽のアラーム1230の確率の期待値を生じる確率分布1210に対して計算する様子を示す。
【００３６】
しかしながら、重要なことは、選択された識別力ある特徴の性質に依存する改善された結果を与えることができる異なる技術があることである。検出器設計および機械訓練のための他の技術はニューロネット、ワークサポート・ベクトル・マシーンズおよび隠れマルコフ・モデル（Hidden Markov Models）を含む。
【００３７】
監視動作
一旦、信頼性ある符号の実行からシグネチャが抽出されると、識別力ある特徴が選択され、最適な検出器が設計され、PFPモニタが試験ソフトウエアの信頼性を評価できる状態になる。前述のとおり、通常の信頼性評価のプロセスは検出器設計プロセスと非常に類似している。通常動作中、モニタはまた必要な前処理の後、電力トトレースからの選択された識別力ある特徴を抽出する。しかし、検出器設計の場合と同様に、幾つかのトレースからの統計を集計する代わりに、適切な検出器を通しそれぞれの閾値と比較し試験符号実行の完全無欠状態を判定する。この検出器は試験トレースを全ての既知のシグネチャと比較し、許可された符号が実行されたことを判定するのに十分な単一試験統計がない場合は、侵入と報告する。このプロセスを図13に示す。目標のソフトウエアを通常動作中または試験信号1320の捕捉のため予め定義される入力を用いて実行する1310。これらの試験トレースは目合わせのうえ同期化され1330、次に、前処理され条件付けされる1340。次に、検出器1350は抽出した特徴を距離決定のために、予め定めた閾値1220を用いて周知のシグネチャ1370と比較し1350、信頼性評価判定1360を行う。
【００３８】
サンプル結果
スマートフォンおよびそれ以外の埋め込みプラットフォームに関するPFPプロセスを例示するために、アンドロイド・プラットフォームを動作させARMプロセッサ（OMAP 720MHz）を有するビーグル・ボード リビジョンC4を用いたこの技術の基準の実働化について説明する。ビーグル・ボード1410は、電流プローブ1430を接続するため電力をコア電力レールに供給するための主なトレース1420を切断し、これにより僅かに変更される。捕捉システムは、市販のリアルタイム・オシロスコープ1440および電流プローブ1430を用いて実現される。このオシロスコープは2.5GSpsのサンプリング・レートになるよう作られており、トリガー1450により開始される各トレースにおいて全体で30Kのサンプルを集め得る。セットアップを図14に示す。
【００３９】
基本的な試験アプリはプロセスを実行するとともに実行可能性を示すために開発された。この基本的なアプリは、デバイス・スクリーンにおいて昇順数字を表示する簡単なカウンターから成っている。このアプリの動作は、リスト1に記載してあり、試験箱を示すスクリーンを準備する開始ルーチン付きの通常のアンドロイドJavaアプリケーションから成り、カウンターとして用いられる整数の変数をセットする。また、カウンターの値を増加させそれをスクリーンに表示する所謂ディスプレイ・カウンターと呼ばれるルーチンがある。このルーチンは１秒毎に呼び出される反復タスクとして構成されている。
リスト１  Android試験アプリケーション疑似符号
2014501957.tif 000003
【００４０】
臨界増加値ルーチンはネイティブ(native)C符号で実働化し、伝統的なJavaの実現ではなくアンドロイドのNDKtoolセットにより外部ライブラリとして含まれている。
【００４１】
ここでは下記リスト２に示す臨界増加値ルーチンを特徴分析かつ監視するだけである。
リスト 2   Cにおける監視されたネイティブルーチンの疑似符号
2014501957.tif 000004
【００４２】
シグネチャ抽出は信頼性ある符号の実行による数個のトレースのPSDを単に平均化することにより周波数領域において実行される。トレースの位相情報は無視する。二百のトレースからなるPSDはシグネチャを生じるよう平均化される。
【００４３】
識別力ある特徴はシグネチャと試験トレースのPSDとの間の平均二乗誤差（dBs目盛）により周波数領域で抽出される。直近の三つの試験トレースのPSDをMSEの計算の前に平均化する。PSDの最初の200MHzのみをMSEの計算に用いる。
【００４４】
シグネチャ抽出のプロセスは単次元の識別力ある特性を生じる。
【００４５】
検出器設計は、１％の偽のアラーム,PFA,の目標確率を用い上述のノイマン・ピアソン基準を用いて行った。トレースのサンプル統計は信頼性ある符号の実行からの200個のトレースのサンプルから抽出する。
【００４６】
サンプル分布はトレーニングサンプル分布平均値および偏差値に等しい平均および偏差値を有するRayleigh分布に適合していた。この分布を用いて、逆確率分布を目標PFA 1％を生じる閾値の発見のために計算する。
【００４７】
信頼性ある符号から実行偏差を検出する能力をテストするために、このアプリケーションの僅かに改変したバージョンを用いて前に設計してあったモニタをここで試験する。リスト3に示すこの改変後のアプリは、特定の条件が満たされるまで侵入が非活性状態に留まる隠れ攻撃をエミュレートするように設計されている。この侵入は、カウンターの値が特定の値(条件)になるときにのみファイルに書込を行う非常に簡単な改変である。
リスト3  改変された重要なネイティブルーチンの疑似符号
2014501957.tif 000005
【００４８】
重要なことは、改変の中で行われるファイル書込みは実行中(すなわち、カウンターが1のとき)にのみ生じることである。ルーチンが呼び出される残りの時間は、条件が満たされずそれ以上のファイルは書込まれない。ルーチンが呼び出される時間の大部分については、論理的観点からの唯一の変更は与えられた条件の追加的な評価である。
【００４９】
動作結果
元々の未改変のルーチンバージョンが実行されているときにモニタを動作させて生じる結果を図15に示す。
【００５０】
試験期間中には閾値1510を超えたのは数例であったことがわかる。この結果は偽アラームの確率の設計値に呼応している。
【００５１】
アプリの改変されたバージョンによりモニタを動作させた結果を図16に示す。許可された実行として誤分類される例はなく、改変されたアプリの一つ一つの実行に侵入閾値1610としてフラグを立ててある。改変の条件づけられた実行により、これらの結果に用いられた実行例中の一回のみ、実際に書込まれたファイルであった。それ以外の残りの時間には、条件のみをチェックしその条件に合致しない場合は、通常の実行を再開した。
【００５２】
プラットフォーム特徴分析および最低感度の評価
電力消費の精細な測定は、識別力ある情報はほとんどないものの重大な雑音および不確実性をシグネチャに加え得る冗長情報を導く。時間領域で見ると、この点は図17に示すとおりになる。ここでは、二つの実行相互間分散1710の大きいトレース（ダイメンション）のセクションに焦点を当て、1710に比較してほとんど変移のないトレースのセクション1720は考慮から外すことにする。一方、ランダム・パラメータをとる特定のソフトウエア・ルーチンを特徴分析するとき、これらランダム・パラメータの効果はシグネチャに雑音を導入することであり、その結果性能は低下し偽アラームの確率を高める。この場合、雑音を加えるものを無視しながら、目標のソフトウエアの実行の期間中一定に留まるディメンジョン（例えば、1720）に焦点を当てる。すなわち、大きな分散(例えば、1710)を示すディメンジョンを考慮外とする。
【００５３】
PFPの性能の改善のためには、大部分の情報を搬送する特徴のみに集中して特徴分析を行って分析対象の特徴の数を減らす必要がある。これは、トレーニングの一部として、与えられたプラットフォーム対して大部分の情報を搬送する特徴を事前に特徴分析し、冗長情報を削除したのちに検出器に送ることにより達成できる。
【００５４】
技術背景
慣用のパターン認識システムにおいては、特定の基準（PFPの場合は、識別力ある情報PFPを最大化する必要がある）を最大にするサブセットを選択するプロセスは、最適特徴選択として知られている。クラスタリング・システムにおいては、リニア変換手段により最も有用なものからより少ないディメンジョンを有する変換空間にトレース，x，を投影することにより通常達成される。
【００５５】
この変換はy＝Wxと記述される。ここで、Ｗは試験トレースに適用されたときに特定の基準を最大化する下位の次元を有する変換されたトレースを生じる注意深く設計されたリニア変換マトリックスである。最適な変換を識別するための互いに異なる基準がある。識別力ある情報について特徴選択を最適化しようとしているのであるから、情報理論手法に従うことは自然である。この最適化は以前に実行されていて、前記のパターン認識の文献、例えば、J.T.Tou and C.Gonzalez，”Pattern Recognition
Principles”, Addison-Wesley Publishing Company 1974における幾つかのソースにおいて見出すことができる。
【００５６】
主要構成部分分析
トレースのエントロピー（情報）を最適化する適切なWを算定する周知のアプローチは、主要構成部分分析（PCA）として知られている。互いに異なる階級の共分散マトリックス,Ｃiが正常に分布しており、Ci＝Cであると仮定する。その場合、固有ベクトルは考慮対象のトレースにとっての情報搬送者とみなされる。これらベクトルの幾つかは他より分類の面でより多くの識別力ある情報を搬送する。それらの情報は性能を犠牲にすることなく安全に除去できる。最適特徴ベクトルがこれら固有ベクトルに結びついており、対応の固有値に従って降順で固有ベクトルを集めることにより変換マトリックスWを生成するのに使われることは驚くまでもない。PFPにおいては、各クロック当り一つの点があればよいので、変換マトリックスWは最大固有値に関連した共分散マトリクスの固有ベクトルによって与えられる。
【００５７】
リニア変換は最も情報に富む観点からの低次元性の変換スペースに試験トレースを投影したものと解釈される。PCAは特定の対象物に応じて互いに異なる方法で適用できる。クラスタリングの観点からは、最小固有値に関連した固有ベクトルを用いてWを構成することが好ましい。すなわち、変換後のスペースでより強固なクラスターを生じるからである。一方、互いに異なる実行からのトレースを用いると、最大の固有値に関連した固有ベクトルを使用することが可能である。このような方法を適用すると、PCAは階級間で最大の共分散を与える特徴を選択する。共分散マトリックスが同一であると仮定すると、これら固有ベクトルはPCAに用いられた特定のトレース相互間の最大の識別力ある情報を含む特徴を代表する。
【００５８】
リニア識別分析（LDA）
PCAはトレースエントロピーを最適化する分散について昇順または降順で特徴サブセットを選択する。しかしながら、分布相互間の距離を最大化する最適な一組の特徴を選択するための階級間の特定の差異は考慮されない。リニア識別分析(LDA)は分布相互間の偏移、すなわち確率分布相互間の距離の測定値である偏移を最大化する。発散は情報理論における条件付きエントロピーの概念と密接に関連している。
【００５９】
最適化基準として互いに異なる階級および発散からの特定の情報を用いて、LDAはそれらの間の最大分離を生じる独特の観点からトレースを投影させる最適情報マトリックスを識別する。これは、変換ベクトルWが両分布間の最適超平面（hyper−plane）に垂直であるからである。
【００６０】
トレースが正常に分布していると仮定すると極限発散を生じる変換マトリックスはゼロでない固有値に関連しているC-1δδT
の固有ベクトルのみによって与えられる[TOU]が示し得る。このベクトルは  W0＝C-1（μ1―μ0）によって与えられる。ここで、W0は両階級を分離するための最適な投影を与え、一方、μ0およびμ1は二つのトレーニング用階級に対するそれぞれのセントロイド（centroid）である。LDAはM識別階級に拡張できる。この場合、ゼロでない固有値に関連したM-１固有ベクトルがある。
【００６１】
プラットフォーム電力消費の特徴分析
前述のとおり、実行偏差が生じているか否かを判定するのに試験トレースの全てのサンプルが平等に重要であるわけではない。オーバー・サンプリング比が大きいことおよび電力トレースの性質の影響のため、トレースのあるセクションの搬送する識別力ある情報は他のセクションの搬送する同種の情報よりも多い。PFPにとっては、最も多量の情報を搬送するディメンジョンを強調しながら冗長性を除くことによりトレースの次元性を減らすリニア変換を識別することが狙いである。
【００６２】
このアイデアは最適変換マトリックスを用いたトレースのリニア.プロジェクション(projection)の利用により次元性を減らすように識別力ある特徴を変換することである。時間領域では、全クロック・サイクル1810に対応するトレース・セクションを図18に示すとおり変換空間における単一点1820にまで減らす。また、分級器は変換された空間で動作するように設計されており、これにより、通常の監視動作中に考慮する必要のある次元の数を減少できる。
【００６３】
特徴分析は実験室の制御された条件の下で１プラットフォーム当り１回行った。前述のとおり、最適の変換マトリクスを識別するには二つの一般的な手法、すなわちPCAおよびLDAがある。
【００６４】
PCAを用いたプラットフォームの特徴分析
PCAを用いて変換マトリックスを作るには、ランダム・クロックサイクル中にプロセッサの電力消費を観測する必要がある。トレースは、プロセッサ実行の動的な振舞により最も強く影響されるトレースのセクションを明確に示すように各クロック・サイクルについてトレースを目合わせしてある。トレースが一旦目合わせされると、トレース上の最大分散を示す変換ベクトルを識別するのにPCAを用いる。
【００６５】
PCAによるプラットフォーム特徴分析の実施は、相対的に簡単であり、パイプライン内容の制御が困難な複雑なプラットフォームによく適している。
【００６６】
LDAを用いたプラットフォームの特徴分析
LDAを用いたプラットフォーム電力消費特徴分析には、二つの注意深く作られたルーチンの開発が必要である。これらのルーチンは、特定のクロック・サイクル中に予め定めた差異を示す二組のトレースを作るための正しいシーケンスの特定のアドレスおよびパラメータを有する特定の命令を実行しなくてはならない。両ルーチンの実行からの訓練用トレースは二つのクラス、すなわち、LDAが最適の変換ベクトルになる最適の識別用超平面を見つける二つのクラスを提供する。
【００６７】
特別な特徴分析ルーチンの目的は、各実行段階(捕捉、実行ほか)中に特定のクロック・サイクルに既知の変化があるようにパイプラインを正しくロードするための注意深く作られた命令シーケンスを実行することである。これらの変化は相対的に小さくあるべきであり、望ましくはそれぞれのレジスタにおける数個のビット変化によりそうあるべきである。この特徴分析ルーチンは独自なものではなく、特徴分析されているプラットフォームのアーキテクチュア、命令等に依存するようなプラットフォーム独自のものである。互いに異なるプロセッサは互いに異なるシーケンスを必要とする。
【００６８】
一旦、両シーケンスの実行からのトレースが捕捉され，同期がとられると、最適の変換ベクトルWを見つけるためにLDAが用いられる。二つの既知の階級が利用できるのであるから、LDAを用いたプラットフォーム特徴分析は最良のパフォーマンスをもたらすことが期待される。しかしながら、その実働化は、PCAよりも複雑である。
【００６９】
プラットフォーム電力消費特性分析基準実働化の結果
この基準実働化のために、IEEE802.15.4用の評価および開発プラットフォームとして意図されたPICDEMZ
Demonstration Kitに使用されるものと類似のMicrochip Technology Inc.製PIC18LF4620 8-bitマイクロ・コントローラを有するマザーボードを使用する。これはメモリ管理ユニットなしのよく知られた埋め込みマイクロ・コントローラである。
【００７０】
プロセッサ・マザーボードは電力消費特徴分析の性能を高めるために若干改変してある。ボードから計６個の減結合キャパシタを累積6マイクロF除去した。これらのキャパシタの機能はディジタル・プロセッサに起因する強い電流ピークにより電源にかかるストレスを緩和することである。電流感知器をプロセッサ電源ピンの近傍に配置するかまたは等価的に形成されるLPフィルターの影響が信号処理により打ち消されることにより減結合キャパシタの除去が不必要になることは重要である。
【００７１】
トレース収集はTektronix TDS 649Cリアルタイム・オシロスコープ1910およびTektronix TC-6 電流プローブ1920を用いて行う。この電流プローブはマザーボード上の電圧調整器を通して正しく接続する。オシロスコープは500MS/sおよび10mVに構成されている。トリガーはLED１1930により駆動され、後縁40Mvレベルに構成され、前トリガー・サンプルは保持されない。L＝30,000の全サンプルを各トリガー事象後に集める。測定セットアップは図19に示す。トレースは捕捉され、後分析のためのGPIBによりホスト・コンピュータに転送される。
【００７２】
サンプル・ルーチンは、1)プラットフォーム特徴分析を実行するための訓練用ルーチンを与えること、および2)この手法の性能を測定するための基準変化を与えること、の二重の目的をもってこの実験用に開発した。ルーチンの評価使用の説明から始めて、比較のためのベースライン・パフォーマンスを与える。試験ルーチンはリスト4に示し、このルーチンは不定ループで実行される。このルーチンにおいて、レジスタWは異なる命令を用いて00から0fまでトグルされる。このルーチンにおける実際のロジックは電力指紋のパフォーマンスに影響を与えない。このルーチンは、起こり得るビット遷移の数を制御することを容易にするように選択した。しかしながら、結果は実行されている特定のソフトウエアに依存しない。したがって、このルーチンは代表例をもたらす。
リスト４
2014501957.tif 000006
2014501957.tif 000007
【００７３】
リスト4に示すようなルーチンは基本実行を表わす。ターゲット符号に先立ちボード上にLEDを用いたトリガーを設ける。このトリガーはトレース捕捉をオシロスコープに同期させるために用いる。トリガーとターゲット符号との間にNOP命令を、トリガーの影響からターゲット・トレースを分離するためのバッファとして含める。一旦内部ループ内に入ると、レジスタWは00から0fに切り替えられ、これにより各命令毎にそのレジスタに4ビット遷移が生じる。代替のまたは変更された符号は1ビット少ない遷移になる。ライン15において、変数jの内容を0fから07に変更する。これにより、ターゲット符号がライン35において実行されているとき、パラメータKがレジスタWにロードされ、そのレジスタWが00から07になり、そのレジスタへの命令に対して3ビット遷移のみが生ずる。この変更された符号とレジスタWに0fをロードする基本実行との間には1ビットの差異があり、それ以外は命令、パラメータ、アドレスなど全ては同一に保持される。この1ビット変化が実際には二つのクロック・サイクルに影響を与え、一つの命令に対する遷移が一つ減る。ターゲット符号を追跡していくとループの繰り返しの前のNOP命令のストリングがある。
【００７４】
通常のトレースの詳細を図20に示す。この図において、ターゲット符号の一つの実行サイクルをフルに捕捉している。電力トレースへのトリガーの影響は二つの方形波2010および2020としてはっきり見ることができる。個々の命令サイクルも同様に知覚できる。それらは125サンプル毎に繰返す4つのスパイクのグループとして識別できる。プロセッサのドキュメントからのタイミング情報を用い、ターゲット符号の実行に対応するトレースのセクションを算定できる。図20では、このセクションを10命令サイクルにまたがる実線2030として強調して示してある。これは各々が実行に1バスサイクルを要する10のアッセンブリ命令からなる実際の符号と一致する。
【００７５】
幾つかのトレースはベースの各々から捕捉され、代替命令および各実行からのトレースは平均化され1ビット少ないビット遷移の効果を示す両実行の結果が得られる。平均化されたトレースを図21に示す。この図は基本符号の実行に対応する10個のクロック・サイクルを示し、各実行からのトレースを目合わせしてある。しかし、サンプル・インデックス650の周りには、二つのトレース間に小さい差異が見られる。この差異(2110)は図21の上部により詳しく示してある。両シナリオから、トレースはオーバー・サンプリングにより互いに相関しており、トレースの或るセクションのみが有用な識別力ある情報を搬送していることが明白である。
【００７６】
比較のために、プラットフォームの事前特徴分析なしに時間領域における分類手法の結果をここに述べる。ここでは、基本的な最小距離分類法を用いる。この手法において、捕捉された長さL＝1250（トレース符号の長さ）のトレースの各々はL-次元のユークリッド空間における点を表す。このユークリッド距離は基本実行中心から入力試験トレースの各々までである。分類目的のため、基本実行中心および試験トレースは、1250ディメンジョンの多次元ユークリッド空間の単一点すなわちベクトルを表す。これら試験トレースは基本実行中心を得るための訓練用のものとは異なる。これは互いに異なるシナリオ間を正確に区別するための最小距離分級法の評価におけるバイアスを避けるためである。
【００７７】
両ルーチンからの実行からの試験トレースは図22に示したユークリッド距離分布を有する。この簡単な例において、電力指紋の性能はあまり思わしくない。すなわち、分布が実質的に互いに重なり合っていて分布相互間に殆ど差異がない。基本シナリオと代替のシナリオとの間の電力消費の差がごく小さいことを考えれば、この低性能は予想されるところである。
【００７８】
プラットフォーム特徴分析の最初の結果はPCA適用から得られる。このプロセスは、リスト4に示したルーチンのターゲット符号の実行に対応する全てのクロックサイクルを用いる。トレースの実行一巡に対応するトレースを単一クロックサイクル実行に対応する互いに異なるセクションに分割する。次に、サブセクションを互いに目合わせし、最大分散を示す固有ベクトルに対応する変換ベクトルWを見出すためにPCAを用いる。ここで、上述のとおり、1クロック・サイクルに対してオーバー・サンプリングされたトレースを用い、1点に縮小する。
【００７９】
PCAを用いてプラットフォーム特徴分析を実行した後、評価ルーチンからの試験トレースをプラットフォームの事前特徴分析の性能改善を実証するために再び処理する。変換された試験トレースから新PCA変換されたスペースにおけるシグネチャまでの最小距離分布を図23に示す。
【００８０】
明確な分離が分布相互間に見られる。これは図22に示す改良前の分類の性能に比べて明らかな改良を表わす。
【００８１】
LDAを用いたプラットフォーム特徴分析の結果
LDAの適用を要する訓練トレースを得るために、基本的なルーチンと僅かに改変したバージョンとを実行した。これら二つのトレース、すなわちリスト4の符号である基本実行とリスト5の改変バージョンの二つのトレースとを比較することにより特別なプラットフォーム特性分析を得る。すなわち、実行における変化を基本実行に比較して各実行段階における1ビット少ない遷移を生ずるように慎重に選択する。この改変バージョンにおいて、ライン36における命令を動作符号0001  10daのxorwfから動作符号0001  00daのiorwfに変更する（オプションのarguments  dおよびaを目的地およびRAMアクセスビットをそれぞれ制御し、両ケースにおいて同一の値に保持する）。実行中、動作符号の差異のために、1ビット少ないビット遷移を生ずる。命令のパラメータはアクセスRAMのアドレス0x01にあるjからアドレス0x00にあるiに変更された。この変化のために実行時に1ビット少ないビット遷移をもたらす。さらに、jおよびiの内容はまた1ビット異なる。これはパラメータの分析時、命令の実行時、および結果の書込時に1ビット少ないビット遷移になって現れる。
リスト5  プラットフォーム特徴分析のための改変されたルーチン
2014501957.tif 000008
【００８２】
プラットフォーム特徴分析は、リスト５のライン36の実行に対応するトレースのみを用いる。これらトレースの平均（各実行について、基本実行および１ビット少ないビット遷移）を図24に示す。
【００８３】
これらのトレースを用いて、最も情報に富むという観点からトレースを投影する最適識別超平面およびリニア変換を特定するためのLDAを使用する。評価ルーチンからの試験トレースをプラットフォーム事前特徴分析の性能改善を実施するために再び処理する。変換された試験トレースから新しいLDA変換スペースの中のシグネチャまでの最小距離分布を図25に示す。
【００８４】
ソフトウエア制御される無線プラットフォームおよびその他の埋め込みシステムにおける許可ずみのソフトウエアの実行からの変移の検出
プロセッサの動的な電力消費は、それが期待された実行に対応するものかまたは変移に起因するものかの判定のためにモニタできる。
【００８５】
プラットフォームついての説明
電力指紋（PFP）のこの目的のための使用を説明するためのターゲット・プラットフォームの例はソフトウエア制御された無線である。すなわち、無線の振舞の特定の構成をソフトウエアにより制御するシステムである。意図されたプラットフォームのブロック・ダイアグラムを図26に示す。
【００８６】
このプラットフォームにおいては、RFトランシーバ2610の動作および構成をプロセッサ2620によって制御している。アプリケーション2626は最上層を表しプロセッサの所期の機能を実働化する。RFトランシーバ2610と効率的に相互作用するために、ハードウエアと主なアプリケーションとの相互作用の複雑さを要約する一組のアプリケーション・プログラム・インターフェース（APIs）2624が設けてある。これらのAPIsは、必要なドライバおよびプロトコル・スタック実働化2622と協働して、特定のトランシーバに対するボード・サポート・パッケージを提供する。プロトコルスタック2622は伝送すべきデータを予め定めたフォーマットにまとめ、必要なヘッダーを追加し、意図されたレシーバが情報を抽出できるようにする。また、遠隔デバイスから受けた情報を抽出してアプリケーション層2626に送ることも司る。暗号化モジュール2612はRFトランシーバーの中またはプロトコルスタックの一部としてソフトウエアで実働化できる。図26はこのトランシーバーの一部を示す。暗号化モジュール2612の位置はこの手法において実際的な差異を与えない。RFトランシーバ2610のMAC2614およびPHY2616層は媒体アクセスおよび情報の物理的送受信を司る。
【００８７】
上述した手法はアプリケーション・ソフトウエア2624の実行、特に、暗号化モジュール2612の動作に影響を与えるAPIcalls2624の実行を特徴分析する。この手法において、APIcallの結果として実行された特定の符号は暗号化の使用の有無および使用した暗号化のタイプを決定するために使用される。例えば、アプリケーションが暗号化された送信の特定の種類を求める場合は、この手法は暗号化を行う符号の実行をアサートする。悪意のあるまたは事故的な改変の場合は、この手法はその改変の信頼性あるインディケータを提供する。
【００８８】
シグネチャの抽出
権限を与えられた符号aのi番目の実行中に捕捉された長さLのトレースは
2014501957.tif 000009
により表される。
【００８９】
他のボード・コンポーネントからの潜在的な低周波数干渉を避けるため基本的な乗算器なしの広域フィルターをトレース・サンプル相互間の差異を計算することにより導入する。
2014501957.tif 000010
【００９０】
許可された符号の実行から捕捉されたいくつかのトレースをシグネチャ、すなわちターゲット指紋の生成に用いる。N個のトレースをターゲットシグネチャの生成のために平均化して、個々のトレースの中のランダム・ノイズの影響を減らす。
2014501957.tif 000011
【００９１】
特徴抽出
識別力ある特徴を抽出するプロセスは、ターゲットシグネチャに対して簡単な時間領域相関をとることからなる。しかしながら、相関をとることはシグネチャおよびトレースのj>0部分セクション、すなわち各々が長さw=floor{L}のセクションについて実行する。この部分相関は全トレース相関を通じた電力トレースの拡散潜在差異を避けるために行う。
【００９２】
トレースのセクションｊの互いに異なるサンプル相互間の遅れについての相互相関，０＜ｋ＜ｗ，は次式によって与えられる。
2014501957.tif 000012
ここでは  
2014501957.tif 000013
および  σｓ  は、ｓaにおける対応するセクションのサンプル平均値および標準偏差であり、  
2014501957.tif 000014
およびσｄは、ｄｂ（ｉ）対応するセクションのサンプル平均値および標準偏差である。
【００９３】
あらゆるクロック・ドリフトに対して補償を行うように、異なる遅れに対する最大相関値を用意する。この行為はここでのトレースの次元性を各トレースに対してのｊ個のピーク相関のシーケンスに減らす。
2014501957.tif 000015
理想的な条件下でｂ＝ａであれば、各セクションｊについて
2014501957.tif 000016
である。電力消費特性からの偏差は減少した相関計数に反映される。トレースの評価のために用いられる実際の識別力ある特徴または試験統計は、その特定のトレースに対する最小ピーク相関値である。
2014501957.tif 000017
ランダム変数ｘｂ（ｉ）  は符号ｂのその瞬間iのシグネチャからの最大変移を示す。Xbを用いて、システムから先験的に集めることのできる統計情報に依存する互いに異なる基準を用いる適切な検出器を設計できる。
【００９４】
完全無欠性侵害および多層化されたセキュリティへの応答
PFPはサイバーシステムにおける実行変移の検出のための効果的な手法である。しかし、完全解決のためには、PFPモニタが期待された実行からの変移を検出したときに完全無欠性侵害を扱う方針を構築しておくことが必要である。
【００９５】
コンピュータセキュリティには三つの明確に定義された局面がある。
・防止。システムを破壊し、情報を開示する等の攻撃者の攻撃が実行されないように抑止し、妨げ、防止するためのメカニズムを含む。
・検出。完全かつ絶対的な防止は実行できないので、システムの完全無欠性を常時監視することが必要である。
・応答。攻撃がなされた場合にそれに反応する方針の設定。
【００９６】
PFPを総合的な深層防御セキュリティ手法に一体化するアーキテクチャを次に述べる。この手法において、PFPは多くの互いに異なる技術を補完して潜在的な攻撃を抑止する「検出」局面に強固な解決を与える。互いに異なる有効な攻撃への適切な反応を「応答」局面で定義し、セキュリティ方針に従って次に述べる。
【００９７】
システムセキュリティを達成するにはプロセッサが必要であり、それは分離されたメカニズムまたはテクノロジーズでないが、ここでは、PFPが信頼性評価および侵入検出のための継続的または継続的監視のための慣用のセキュリティメカニズムを補完することができる領域に集中して説明する。PFPの役割の説明の前にセキュリティプロセスには下記の段階が含まれることを述べる必要がある。
・設計。確かな設計手法に従い、セキュリティの執行を容易にし、攻撃の受けやすさを減らし、アクセス制御を強制的に行う等のためのシステムを設計すること。典型的な例では、セキュリティ機能をそれ以外の機能から隔離し、アクセス制御を内在的に執行できるようにシステムを設計することである。
・開発。攻撃の受けやすさを抑えた保守可能な製品を生産する最良の開発実施に従うこと。
・配備。許可されたモジュールのみの配備を確実にすること。これには厳格な認証手続きおよび履行拒絶なしの手法が必要になる。
・運用。厳重なアクセス管理およびその他のセキュリティポリシー執行によりセキュリティの高い環境を維持すること。
・監視。システム、PFP、アンチウイルスおよびネットワーク侵入検出システムの完全無欠性を常時評価すること。
・応答。攻撃が実行されたときは次にとるべき方針および手続きを明確にしておくこと。方針はシステムの重要性を考慮して策定し、厳格に執行するべきである。
【００９８】
ここでは、PFPモニタを総合的なセキュリティソリューション、すなわち一つの階層の攻撃の受けやすさを次の階層でカバーする補完的総合セキュリティメカニズムを含むセキュリティソリューションに一体化させるためのアーキテクチュアについて述べる。互いに異なる層に含まれる手法およびテクノロジーは休止中のデータの暗号化、認証の厳格化、アクセス管理、変更しにくいこと、ファイアーウオール、サンドボックス、バーチャル化、および物理的保護を含む。このアーキテクチュアにより、PFPにより検出される完全無欠性侵害に反応するセキュリティ方針を画定し執行するメカニズムを運用する。
【００９９】
このアーキテクチュアは、多層化したセキュリティソリューション、すなわち侵入者が全ての防御メカニズムをかいくぐったことをPFPモニタが検出することによる最終防衛線を提供するセキュリティソリューションを画定する。図27は深層防衛手法における互いに異なる層2700を示す。互いに異なる層は、敵対者を遅くし、気付かれることなく防御層を突破することをより困難にするように意図されている。外側の層には、インターネット・ファイアーウオール、装置の物理的保護、パスワードおよびセキュリティポリシー(すなわち、社会的な技術者攻撃を防ぐため)などの防御メカニズムがある。内側の層はホスト2750内の互いに異なる防御に対応する。それらはアクセス管理2740および休止中のデータの暗号化で始まる。それら内側の層はアプリケーション2760およびオペレーティング・システムを保護するよう意図された互いに異なるセキュリティメカニズムに続く。コア2780には、もっとも基本的なカーネルおよび安全動作のための制御がある。
【０１００】
PFPは互いに異なる層の完全無欠性を効率的に監視できる。コアレベル2780では、PFPは全ての他のメカニズムが依存する核の完全無欠性および安全動作を評価する。この監視動作は、重要なユーザーレベル・アプリケーション2760ばかりでなく、オペレーティング・システム2770のコア・アプリケーションの完全無欠性の監視にも拡張できる。PFPは図28に示すとおり、アンチウイルス・モジュールおよび暗号化モジュールなどプロセッサスコープにある全てのモジュールの完全無欠性を監視できる。
【０１０１】
サイバー・セキュリティのための深層防御手法にPFPを統合することにより、問題のインシデントをそれらインシデントが目的を成し遂げ損害を引き起こす前に処理することが可能になる。
【０１０２】
暗号化モジュールやアンチウイルスモジュールなどほかのセキュリティモジュールの実行からの電力シグネチャは、ランタイム中に抽出され評価される。PFPの側面から見て、中核モジュールおよびアンチウイルス・プログラムからのシグネチャは同一の手法を用い同様に抽出される。
【０１０３】
PFPはその実行状態を監視することにより他のデバイスの監視に拡張できることは重要である。これはファイアウォール、ディジタル・セキュリティ・ロックなど異なるセキュリティ層の実働化に用い得るデバイスを含む。
【０１０４】
PFPによるサイバー防御の最終段階は監視および評価動作により検出し互いに異なる異常を処理するための適切な方針を算定することである。起こってしまった侵入への適切な反応は各プラットフォームおよびアプリケーションに特有の幾つかのファクターに左右されるので、PFPモニタで検出された互いに異なる侵入への応答は一般化できない。したがって、互いに異なるシステムに適合できる互いに異なるセキュリティポリシーを受け入れて執行するアーキテクチュアに従い、一方、基本の動作原理と構成とを維持していくことが必要である。
【０１０５】
不正ソフトウエアの動特性および振舞を監視するための分布式PFPモニタネットワーク
ここでは、不正ソフトウエアの広がりを監視し、ターゲット攻撃を検出し、悪意のある敵対者の潜在的な意図を発見するために、互いに異なる地理的または論理的領域にまたがって配備されるPFP能力を有するノードの広範なネットワークの動作について述べる。この手法は特定の論理的または地理的な領域への内密の遠隔攻撃を発見するのに適用できる。
【０１０６】
この手法の適用のためにPFPを用いる主な利点の一つは、敵対者自身が監視動作の標的であることを敵対者が検出できないようにし、彼ら自身に内密の偽りの感じを与えないようにし（彼らが検出されていないことを信じながら）、騙して彼らに行為を行わせることがないようにし、意図および能力を開示しないようにすることを秘かに行うことである。このPFPの適用は秘密情報収集の強力なツールである。
【０１０７】
動作
内密の監視は、PFPのlootprintが低いこと、メモリへの影響がほとんどないこと、およびターゲット・システムから見えないことなどのお蔭で達成できる。PFPノードの分散されたネットワークは、下記のステップを用いて実現される。
1．代表的なノードをPFPでイネーブルする(ノードをPFPモニタに結合し、ターゲット・コンポーネントから信頼性ある信号を抽出する)。このモニタはラックに配置することができ、ターゲットノードが密壺として動作するだけである。
2．PFPでイネーブルするノードのネットワークを対象の地理的または論理的領域に配備する。
3．図29に示すとおり、完全無欠性の侵害および侵入について各ノードを監視する。
4．記録および分析のために完全無欠性監視の結果を中央位置に周期的に送る。
5．完全無欠性の侵害があった場合、その報告には次の事項を含める、
(a)その侵害を受けた電力トレースのコピー
(b)その侵害の前に実行された改変なしのモジュール実行のシーケンス
(c)その侵害の後に実行されたモジュール実行のシーケンス
【０１０８】
このPFPの適用を図30に示す。この図は互いに異なる地理的ネットワークにおけるPFPの蜜壺を示す。しかしながら、ネットワーク分離は同一のネットワークの互いに異なるセクションの場合のように論理的な分離でもよく、また互いに異なる政府機関または会社の部署の場合のように社会的/政策的な分離でもよい。
【０１０９】
蜜壺同士の間および集中配置した分析位置相互間のリンクは図30では点線で示してあるが、別のネットワーク（例えば、専用の無線リンク）として実現してもよく、また、公衆交換網(PSTN)またはインターネットなどの広領域ネットワークを用いて実現してもよい。いずれの場合においても、トレースの起源および完全無欠性の証明（高保証認証）を司る厳格な履行拒絶なしのメカニズムが完全無欠性の維持のために配置されなくてはならない。
【０１１０】
PFPのサプライチェーン信頼性分析への応用
外部の信頼性のないファウンドリおよび製造業者にデバイス製造および生産をアウトソースすることは潜在的なセキュリティ破損および偽造への扉を開くことになる。信頼性ある供給業者であっても、重要なシステムの運用および機能に支障を及ぼすことを試みる外部関係者のリスクが潜在的にある。
【０１１１】
PFPは、システムのライフサイクルを通じてサプライチェーンの中の信頼性のないリンクにより導入されたソフトウエア、ファームウエアおよびハードウエアの無許可の変更ほかの改変を検出するためのメカニズムである。新たな出荷品および信頼性のないデバイスのPFPを用いた完全無欠性の評価は、図31に示すステップを必要とする。入力ベクトル発生器3110は管理された環境3120の下でターゲット・デバイスの実行のために必要な入力を供給する。この過程で電力トレースが集められる3130。電力消費の個々の特性のパラメータは，特徴抽出3150の実行の前に補償する3140。結果としての特徴を、蓄積された基準シグネチャ3170と比較し3160、この比較により最終的な評価結果が得られる。
【０１１２】
PFPを用いたディジタル・デバイスの完全無欠性を検出することは、破壊的なプロセスではなく、評価対象のデバイスからのごく限られた協力を要するだけである。さらに、電力消費の精細な測定は、そのデバイスの内部の実行状態に重要な可視性を与え、これにより改変の検出漏れを極端に困難にする。例えば、PFPはある条件下だけで活性化する改変（論理および時限爆弾としてまた知られる）を余分の機能の部分的活性化または条件チェック中の実行フローのおかげで検出できる。余分なまたは欠けた機能を検出するためのPFPの能力は、PFP挿入の目的または意図に依存したものではない。
【０１１３】
PFPのもう一つの利点は、悪意の活動がトリガーされなくてもPFPで検証された特定の実行パスが信頼できるということである。言い換えると、PFPがシグネチャから重要な変化を検出しない場合は、その特定の実行パスでは変更または余分な機能が生じていないことを意味する。
【０１１４】
PFPでサプライチェーン信頼性分析を実行する際のキーエレメントは、管理された環境3120の下で信頼性のないデバイスを実行することである。この管理された環境は特定の状態シーケンスを強制する予め定義した入力3110を含み、プログラム可能なデバイスについては、その特定のソフトウエアが実行される。あるシステムについては、特定のコンポーネントの実行を制御し隔離するためのサポート足場作りが必要になろう。特定の入力ベクトルはデバイスまたはソフトウエア・モジュールの機能に依存し、デバイスの動作のための重要な実行パスを働かすことが期待される。シグネチャを抽出するために用いる同じ入力ベクトルは完全無欠性の評価のために用いる必要がある。
【０１１５】
製造中の僅かなプロセス変動のため、互いに異なるデバイスは互いに異なる電力消費特性を示すであろう。電力消費のこれらの変動には誤評価を避けるために特徴抽出3150前に補償3140を施す必要がある。この補償は適応フィルター、すなわちタップを電力消費トレースの特定の特性に合致するよう動的に変更できる適応フィルタによって行う。この適応フィルターはモニタ実行中のデバイス・レジスタ中のビット遷移から生じる電力消費にPFPモニタが集中することを可能にし、かつ製造中の変動によりトレースに生じる差異を除去することを可能とする。
【０１１６】
PFPを用いた効果的なサプライチェーン信頼性分析のための最も重要な局面は基準シグネチャ3170の利用可能性にある。図32に示すとおり、それらシグネチャには互いに異なる潜在的なソースがある。最良の基準は同一の信頼性ある実働化(金の標準)3230によって与えられる。しかし、そのような信頼性ある実働化は利用できない場合が多い。これらの場合には、基準シグネチャはエラーおよび信頼性の度合いが変化する代替の方法を用いて抽出することができる。例えば、二つの比較的簡単な代替基準ソースとして、デバイスの過去に施した実働化（時間テストを経ているもの）3250および別の供給業者3260からの代替の実働化を挙げることができる。これらの場合には、シグネチャを代替実働化の実行により抽出でき、これにより別の供給業者による二つの同一の改変の可能性を減らすことができる。前者の手法からのシグネチャは過去のバージョンに存在する未特定の改変を見逃し得る。後者の手法においては、攻撃者が検出を避けるため互いに異なる供給業者からの両バージョンに同一の改変を作ることがあり得る。
【０１１７】
シグネチャを得るためにCADモデル3240を使用することにはより多くの努力が必要であるが、外部ファウンドリに依存することなく社内で実行できる。CADモデルを用いてシグネチャを抽出するためには、決定入力ベクトルを用いてデバイスの実行をシミュレートすることが必要である。このシミュレータはレジスタ移送レベルへの電力消費から見て正確である必要がある。
【０１１８】
ディジタル権マネジメントおよび実行制限付き賃貸借契約
PFFのもう一つの新規な応用は、ディジタル権の行使および実行の数に基づくライセンスを可能とする実行例限定付き賃貸借契約の作成である。
【０１１９】
この手法は保護されたソフトウエアの実行からのシグネチャの抽出により実現され、許可されたモジュールのただ一回の実行を強制するため電力指紋を運転時間に監視する。例えば、ソフトウエア・システムはより高いライセンス層に留保されているモジュールのサブセットを有する一組の機能モジュールのみを含むようにライセンスすることができる。全てのモジュールからの指紋はリリース前に抽出する。実行時点でPFPモニタが互いに異なるモジュールの実行を許可されたリースと照合する。盗まれたパスワードまたは保護不全の結果として、ライセンスされていないモジュールが実行されたときは、PFPモニタは代理人に侵害を通知する。さらに、保護されたソフトウエアに対する信頼性ある実行例制限リース手法を可能にすることができる。この場合、PFPモニタはライセンスされたソフトウエアが実行された回数を数え、そのリースが期間満了になったときに代理人に通知する。
【０１２０】
同様の手法をライセンスされたメディアコンテンツについてとることができる。PFPモニタを用いてPFPによる周知のメディア・プレイヤーに関する特定のファイルの複製を検出できることである。この場合、保護されたメディア・データはPFP特徴分析中に予め定めた入力に置換される。同一のメディアが特定のプレイヤーで再生されるならば、電力シグネチャは一致する。したがって、PFPは無許可の許諾メディアの複製を検出するために用い得る。
【０１２１】
PFPに基づく故障予測
ハードウエア・コンポーネントは不可避的な老朽化プロセスにさらされ、このプロセスは厳しい環境における動作または継続的な環境ストレスのもとで加速される。この老朽化はプラットフォームの電力消費特性に反映される。PFPはソフトウエアの正しい実行の監視のみならずハードウエア・プラットフォームの完全無欠性の監視にも使用できる。PFPモニタはハードウエアの電力消費特性を継続的に追跡し特定のシステムまたはエレメントが交換を要するということを示しながら、故障を事前に予測することができる。
【０１２２】
PFPによる電力消費特性の追跡は適応フィルターを用いて実現できる。シグネチャが抽出されるときまたは環境条件により電力消費の差異を補償する必要がある。同一の追跡メカニズムを、ハードウエアの状態の監視およびデバイスの実験室試験で捕捉された所定のパターンと電力消費特性との比較に使用できる。故障時の特徴を特定するプロセスを図36に示す。このプロセスにおいて、加速した老朽化3610は、ターゲット・デバイスを突然の温度変化にさらすことにより達成できる。特徴分析プロセスは、試験ルーチンの実行中に、トレース捕捉3620が後続する加速老朽化１ラウンドという具合に間欠的に行う。トレースは後続の分析のために集められ、このプロセスはデバイスが故障するまで繰り返される。一旦、そのデバイスが故障すると、その組のトレースを故障3630前に示される特定の特徴の判定のために調べる。これらの特徴を、統計的多様性の把握のため、また、包括的な特徴3640の分離のために、他の類似のデバイスから抽出する。
【０１２３】
モジュール識別情報を同期信号に埋め込むこと
PFPには、正しい評価を行うために、実行されるソフトウエアとの適切な同期化が必要である。PFPは二つの同期化の二つのレベル、すなわちクロックサイクル・レベルおよびルーチンレベルの二つのレベルがある。前者はクロックサイクル・レートで生ずる単純な、またはプラットフォームではクロック信号そのものの探索から生じる、電力消費の明確なサイクルを追跡することにより容易に達成できる。後者の同期化は達成するのがより困難であり、そのプロセスはルーチンそのものにPFPモニタに特定のルーチンの実行を通知するトリガーまたは確認子を埋め込むことにより容易化される。
【０１２４】
ここでは、実行されるノードの識別符号をトリガリングおよびシグナリングメカニズムの中に埋め込むメカニズムを説明する。このメカニズムは特定のルーチンのどれが実行されようとしているかをPFPモニタに伝えることを容易にするだけでなく、より正確な例外検出および振舞シグネチャ抽出に対する強固な同期シグナリングを提供する。
【０１２５】
識別符号の究極の目的はPFPの同期化およびトリガリングに挿入された特徴分析対象の互いに異なるモジュールに対する識別符号を与えることである。PFPの同期化および識別シグナリングの達成には二つの主な手法がある。すなわち、１）図33に示すとおり、互いに隣接する物理信号を生成し得ること、および２）図34に示すとおり、電力消費それ自身に信号を埋め込むこと、の二つである。前者については、二値の識別符号をルーチン3322の実行前に物理IOレジスタ3324に書き込む。次に、このレジスタをPFPモニタ3340に送信し3335、このモニタ3340が感知器3310からの電力トレース3315を並列または直列に捕捉する。符号およびレジスタの長さは監視を要するルーチンの数に依存する。最も簡単な意味で、LEDのような単一ビットレジスターはターゲット・ルーチンの実行に信号を送るために用いる。分離した物理シグナリングの場合は、トリガーは図33に示すとおり、シグナリングレジスタに二値数として符号化される。
【０１２６】
第二の手法は、識別力ある電力消費パターンを生じる注意深く作られた命令シーケンス3422を挿入することにより同期信号を電力消費そのものに埋め込むことを要する。この手法を図34に示す。同期化ルーチン上の命令は、コードワード、アドレス、およびパラメータのビットが特定数のビット遷移、すなわち電力消費をドライブし、感知器から来る正しいトレース3415の組を捕捉するよう特定のシーケンスが実行されようとしていることをPFPモニタ3340に知らせるビット遷移を生ずるように選ぶ。より多くのビット遷移はより高い電流ドレインを生じる。シーケンスを形成するときはパイプラインの長さおよび特性を考慮に入れる必要がある。前述の手法と同様に、命令(符号)のシーケンスの長さは識別を要する重要なルーチンの数に左右される。互いに異なる識別電力消費パターンを作ることにより、シーケンスそれ自身は互いに異なるモジュールの識別のために用いる異なるシグネチャ符号を生じるように選ぶ。
【０１２７】
効果的なPFPには同期シグナリングは必要な要素である。すなわち、これにより、もっとも重要な符号のセクションに評価努力を集中することが可能になるからである。識別符号をこのシグナリングに埋め込むことは評価プロセスを容易にするが必要な要件ではない。これは次の理由から来る。すなわち、単一のトリガーはPFPモニタがトレースの正しい組を捕捉すること可能にし、特定のルーチンが実行されたか、また信頼性ある一致が得られなかったかを判定するのに分類技術が使用できるからである（異常）。
【０１２８】
互いに異なるボード・エレメントからの信号を合成することにより改善されたPFP監視
システムの互いに異なるエレメントからの信号はPFPモニタで使用でき、改善された性能および信頼性を達成するために合成できる。多くの信号のソースにはPFPの性能を高めるだけの目的で導入された多重プロセッサ、共用プロセッサ、周辺機器など特定目的の素子（例えば、トリガー用のIOレジスタ）がある。
【０１２９】
PFPにおいて互いに異なるソースからの信号を合成するには三つの方法がある。主な手法の一つは、互いに異なるプロセッサやディジタル回路からの電力消費トレースをマルチプロセッサおよび多重コアボードに関する完全無欠性の評価の実行のために捕捉することを含む。もう一つの手法は完全無欠性評価中に用いられるべき余分なコンテクスト情報の収集のためシステム(電力消費または他のサイドチャネルおよび直接チャネル)の他の素子を監視することである。この余分なコンテクスト情報は同期化を改善し振舞の特徴分析を容易にするために用いることができる。このコンテクスト情報は、通常のシステム動作の製品として生成し、または設計時に意識的に導入する（例えば、トリガー用のIOレジスタなど）。複数の信号を合成するPFPモニタの構成の例を図35図に示す。
【０１３０】
追加の信号を、サポートIOレジスタから、互いに異なるエレメントの電力消費から、または電磁波などの他のサイドチャネルから捕捉することができる。互いに異なるソースからの信号の合成には互いに異なる特徴をサポートできる特別に設計された検出器が必要となる。特定の合成メカニズムはシステム機能およびサポートプラットフォームに依存する。例えば、マルチコアプロセッサでは、各コアからの電力トレースはターゲット・ルーチンに対応するトレースの検出のために走査する。他の例では、ソフトウエア定義された無線において、電力増幅器(PA)の活性化を電力消費の監視により検出する。PAの活性化は送信されるべきデータの準備に関わるルーチンに対するトリガー・メカニズムとして使用できる（この場合、ルーチンはトリガーが生じる前に実行することに要注意）。
【０１３１】
PFP性能を高めるために不正ソフトウエアシグネチャを使用すること
PFPの主な用途が異常検出であるとしても、評価の性能の改善のため周知の不正ソフトウエアから得られる情報を用いることには利点がある。不正ソフトウエアの新しい傾向が特定されると、そのPFPシグネチャを抽出しそれを周知のシグネチャのライブラリに加えることができる。これらの不正ソフトウエアシグネチャは、慣用のアンチウイルス・ソフトウエアと類似のインストールずみの不正ソフトウエアの慣用のシグネチャによる検出を提供することによりPFP完全無欠性評価の性能の改善に用いることができる。正しくない評価を避けるため各シグネチャ（ホワイトリストおよびブラックリスト）の個々の性質についてモニタに知らせておく必要がある。不正ソフトウエアシグネチャは実行における振舞パターンからも抽出できる。例えば、消耗攻撃などある種の不正ソフトウエアはPFPを用いて容易に識別できる明確な実行パターンを有する。
【０１３２】
不正ソフトウエアからシグネチャを抽出するプロセスは信頼性あるソフトウエアからシグネチャを抽出するプロセス、すなわちターゲット・モジュールを管理された環境下で繰り返し実行し互いに異なる信号処理手法を最良の識別力ある特性を有する特徴を選択するようにするプロセスと類似している。不正ソフトウェア特徴分析は、その不正ソフトウエアが一旦識別され、分離され、管理環境下で実行されると、容易になるという認識が重要である。
【０１３３】
自動的な特徴分析およびシグネチャ抽出
新しいソフトウエア・システムまたは既存システムの新しいバージョンを効果的に特徴分析するためには、信頼性ある基準を自動的に特徴分析するツールを有すること、および特定のソフトウエアの実行を独自に識別するPFPシグネチャを抽出することが必要である。ある意味で、このプロセスは、管理された条件下での特定のモジュール実行を必要とするので、自動化した試験に類似している。しかしながら、自動化した試験と異なり、PFP特徴分析は幾つかの互いに異なるモジュールの実行例を観察することと関係するだけであり、何らかの要求または特性を評価しようとするものではない。
【０１３４】
ここの説明の主な目的は複雑なシステムおよびソフトウエア・アーキテクチュアの特徴分析を容易化するとともに、実際的な複雑性を備えるサイバーシステムの現実的な実働化からシグネチャを抽出するための手法を説明することである。この自動的手法なしには、電力指紋で用いられるべき複雑なシステム（すなわち、商用システム）から独特のシグネチャを特徴分析し抽出するには長い時間がかかりすぎるであろう。
【０１３５】
主な目標は、ソフトウエア試験に通常用いられるものと類似の足場を使用すること、および多様な統計分析および指紋を形成する最良の識別力ある特徴の特定のための信号処理を使用することにより、互いに異なるモジュールの特徴分析のプロセスを自動化することである。このプロセスは新しいソフトウエア・スタックの特徴分析が必要となったときに始まる。このプロセスのために必要なツールとしては、重要モジュール記述子、特徴抽出のための信号処理ツール、検出器設計ツール、モジュール実行（足場試験に類似の）のための足場、入力ベクトル発生器、報告発生器、および信号のパッケージ化などが挙げられる。この手法の理解を容易にするために、互いに異なるサブシステムの詳細およびそれらサブシステムの相互関係を概括的に説明するプロセスの概念図を図37に示す。
・記述子は重要なモジュールに関する必要な情報、すなわち独自の識別子、依存性、入力分析(異なる入力階級のブレークダウン)、実行モード（動的にリンクした、優先順位、カーネル・モジュール等）などの情報を含む。
・記述子からの情報をターゲット・モジュールの隔離された実行の制御のための足場を実働化するために用いる。この足場は、システムがモジュールの実行の制御のための入力として決定値を入れることを可能とする。
・機能性および互いに異なる入力タイプについての記述子の情報を入力ベクトルの適切な組を決めるために用いる。
・実行ずみのパスを特定するように範囲分析を実行し、システムに対する保護のレベルのメトリックを生じる。
・一旦、システムがロードされると、オペレータは（自動システムでよい）足場からのサポートを受けつつ互いに異なるモジュールを実行し、適切な入力ベクトルを生ずる。モジュールが実行されている間、PFPモニタ電力消費の測定値を捕捉する。
・次に、このモニタにより捕捉された電力トレースを識別力ある特徴の抽出のための互いに異なる信号処理技術を用いて処理する。互いに異なる領域の各々について互いに異なる技術を用いて抽出されるべき予め定めた一組の特徴がある。
・幾つかのトレースを捕捉しそれぞれの特徴を分析した後、アプリケーションの特定の要求に基づき例外からの通常の行為を識別するための最適の検出器の設計のための統計的分析を行う。
・次に、シグネチャおよび検出器を、ターゲット・システムの完全無欠性を評価するモニタとともに配備するようパッケージ化する。
【０１３６】
次に上述の手法を適切に実働化するために必要な詳細な説明を述べる。
【０１３７】
記述子
ここでの記述子は特徴分析される特定のモジュールについてのメタ情報を含む。それらは個々のモジュールの実行を隔離するための足場を生成し互いに異なる実行パスを実行するための制御された環境をもたらすために使用される。
【０１３８】
それら記述子は、拡張Markup言語（XML）のように人間および機械により容易に読めるマークアップ言語で提供されることが期待されている。しかし、内容、言語および構造は特徴分析プロセスの自動化のために使用される特定のツールに依存し、機密情報となり得る。
【０１３９】
PFP特徴分析のモジュール記述子に含める必要のある最小限情報は下記を含む。
・各モジュールを記述するための独自の識別子。この独自の記述子は人間が読めるものであり、問題のモジュールの位置の特定のために必要な情報を提供する。人間が読める部分の要素は会社、製品、階級、モジュールおよびバージョンを含む。
・依存性。モジュールに必要なソフトウエアおよびハードウエア依存性。
・状態依存性。モジュールの振舞に影響を与え、一貫した決定的実行をもたらすように制御する必要のある内部状態のエレメント。
・インターフェース分析。互いに異なる実行パスを行うための互いに異なる入力階級および必要な入力階級の詳細。
・実行モード。配備時にどのようなモードでモジュールが実行されるか、すなわち、静的にリンクしたモジュールについて、動的にリンクしモジュールについて、核または保護されたモードについて、モジュールを実行するときにプロセッサが採用する動作モードについて、および優先権レベルについて説明する。
【０１４０】
入力ベクトル発生器
入力ベクトル発生器の機能は、ソフトウエア試験における対応機能に類似しており、互いに異なる実行パスを含む特定の状態シーケンスにコンポーネントを強制的に入れるように適切な入力を与えることである。しかし、試験の場合とは異なり、PFP入力ベクトルの目的は実働化エラーを発見することではなく、互いに異なる実行パスを実行することだけである。
【０１４１】
ターゲット・システムの性質によっては、評価の進行中（すなわち、完全無欠性の監視の進行中）の利用に備えて入力ベクトルを蓄積し、シグネチャとともに分配することも必要であろう。入力ベクトルを維持するかどうかの決定は選択された特徴の性質およびランダム入力に起因するトレースを除去できるかどうかに左右される。
【０１４２】
入力ベクトルは、サーチベース（ランダムサーチ、ヒルクライミングサーチ、遺伝子アルゴリズムなどを利用したサーチ）、部分スキャン、リニアプログラミング、ランダム手法および疑似ランダム手法など互いに異なる手法を用いて発生できる。
【０１４３】
しかしながら、効果的な試験ベクトルの実際の識別には、ターゲット・モジュールの特定の機能性、その入力領域およびそのモジュール構造に関して利用できる情報に依存する体験的な手法がある。モジュール（実行パスが存在するものおよびそれらを実行するために必要な状態シーケンス）の実行構造についての特定の知見が適切な時間内に意味のある入力ベクトルの検出に必要である場合もある。さらに、専門家による人間分析の直接入力が、意味のある効果的な試験ベクトルの識別発のための自動的な道具へのガイダンスを与えるため必要になる場合もあり得る。
【０１４４】
これは比較的リスクを伴う手法である。有効な実行状態、すなわち未分析の実行状態に達するからである。その利点は探索スペースを数個の状態にまで減らせることである。大部分の重要なシステムに対しては、実行スペースは相対的に小さく、期待された実行状態はサブセットである。
【０１４５】
範囲報告
入力ベクトル発生器からの情報を用いて、特定の入力ベクトルの横切った実行パスに基づく報告を発生することができる。ターゲット・モジュールからの構造的な情報を用いてPFP範囲（coverage）メトリックをモジュール内に存在するパスのパーセントとして計算することが可能になる。この報告はPFPについての期待された範囲だけを表示するのみである。この報告は実際に受入れ可能なPFP信号を生じた実行パスの数を識別することにより終了する必要がまだある。
【０１４６】
報告は、PFPを用いて監視できる特定のモジュールについての情報をユーザにもたらすために、終わりに行う。
【０１４７】
足場作り
記述子およびソフトウエアのスタックにより、足場作りのプロセスは、重要なモジュール実行を隔離し、互いに異なる部分を実行する。これは、自動試験の足場作りのプロセスに類似している。足場作りの目的は、全システムが実行中の電力トレースを収集するように配置された時に見出されるものと類似の管理された環境でターゲット・モジュールを実行することである。モジュールは入力に依存する互いに異なる実行パスを持つことが期待されているので、足場は互いに異なる入力の使用を容易にする必要がある。
【０１４８】
物理的な入力が必要な場合については、必要な入力をもたらすための適切な物理インターフェースを設ける足場が必要になる。
【０１４９】
これは部分的なマニュアル・プロセスであり、ターゲット・モジュールの特性によって決まる。幸いにも、足場に必要なエレメントの大部分は、若干の追加的な作業を要するだけで自動テスト（例えば、ユニット試験、集積化試験およびシステム試験）のための慣用の足場と機能が重なる。
【０１５０】
重要なことは、足場組みを非ソフトウエアで実現するためには、最終的な実施形態は異なるものの、同様なものを必要とすることでる。これらの場合においては、モジュールは、独立して実行できるセクションにより制限される。高度の集積化システムにおいては、これは問題になり得る。
【０１５１】
信号処理および特徴抽出
互いに異なるモジュールの実行に対応する電力トレースと、電力／電流瞬時値測定器により捕捉された個々の実行パスとにより、ターゲット・モジュールの実行を独自に識別する識別力ある特徴を抽出する必要がある。実際のシグネチャの識別に必要な手法と信号分析との正確な組みはターゲット・モジュールの特性に左右される。
【０１５２】
ターゲット・モジュールの特徴分析に必要な総時間長を減らすために互いに異なる多数の信号抽出および信号処理手法をパラレルに実行するフレームワークを次に述べる。
【０１５３】
与えられた問題に対する最適の識別力ある特徴の決定のための周知の効果的な手法はない。しかし、最良の識別力ある特徴の選択を可能にする評価の手法がいくつかある。抽出された一組の識別力ある特徴は試行錯誤手法と経験の組み合わせにより決定される。これらの特徴には、時間領域相関、ユークリッド距離、cyclostatic分析、周波数分析などがある。最良の識別力ある特徴を選択するプロセスは組の中の全ての互いに異なる特徴を計算することと、それらを階級内分散に基づきランク付けすることとを含む。マハラノビス（Mahalanobis）距離はそのような特徴の評価のためのサンプルメトリックである。
【０１５４】
次に述べる特徴選択と検出器設計のプロセスは、特徴抽出結果の統計的特性が最適の検出閾値の決定に必要な分析を決めるので、互いに密接に関連している。
【０１５５】
統計分析および検出器設計
統計分析はターゲット・モジュールの独立の実行中に捕捉された電力トレースから得られた互いに異なる特徴に基づいて行う。この統計分析の目的は最良の識別力品質を有する特徴を選択し閾値レベルまたは領域、すなわち観測された一組の特徴がターゲット・モジュール（検出器）を発生したとみなされる領域を決定することである。
【０１５６】
異常検出手法であるPFPにおいて、偽アラーム確率PFAはシステムの性能を決定する重要な動作上の尺度である。PFAはターゲット・モジュールの通常の受入可能な領域内の実行例が受入可能な領域を逸脱した確率として定義され、異常として分類される。PFP検出器は、ターゲット・モジュールの正しい識別の確率を最大にしながら、PFAを最小にするよう設計される必要がある。これは古典的な仮説吟味の試験問題であり、ネイマン・ピアソン基準を閾値の検出に適用することができる。しかし、これ以外にも適用できる幾つかの他の手法がある。
【０１５７】
十分なサンプルが与えられると、任意のPFAをPFPで実現できる。しかし、実用的なシステムでは、これは実行不可能であり、有限の実用的なPFAレベルを決定しなくてはならない。許容されるPFAは特定のモジュールおよび動作の期待される用途の性質によって決まる。
【０１５８】
理想的には、同一の実行の中の互いに異なる例からのシグネチャをプラットフォームの特徴分析の期間中に計算した最低感度の距離の範囲に収めることである。望ましい特徴が達成されないときには、PFPに正確な評価をさせるためのいくつかの手法がある。一つの簡単な手法は、雑音を取り除くために幾つかのトレースを平均化することである。
【０１５９】
シグネチャのパッケージ化および暗号化
ターゲット・モジュールが特徴分析されると、生じたシグネチャ、特徴抽出技術および閾値をデバイスとともに配備するようパッケージ化する。このパッケージ化および配送のメカニズムはデバイスおよび用途によって決まる。選択された特徴を用いて抽出されたシグネチャ全体を蓄積しモニタに供給する必要がある。例えば、簡単な時間領域相関の場合は、ベクトル全体を記憶する必要がある。
【０１６０】
休止中または移動中のシグネチャの保護のために、潜在的な攻撃者にモニタの探しているシグネチャの正確な基準を与えないように、それら信号の暗号化が必要である。この暗号化は、私的または公的なキー暗号化のための多様なメカニズムにより実行できる。しかし、重要なことは、仮に潜在的攻撃者がシグネチャを入手したとしても、悪意を持って実行している間、信号を完璧に一致させることは困難であるということである。
【０１６１】
確実なシグネチャ更新
PFPを用いて配備された監視対象のシステムを更新するときは、実効的な完全無欠性評価を維持するために、信頼性ある確実な方法でPFPシグネチャも更新する必要がある。評価の信頼性が適切なシグネチャ管理に依存しているので、これは重要なステップである。この更新処理のセキュリティを確保するには、シグネチャの完全無欠性および真正さを検証することが必要である。このセクションでは、PFPシグネチャのセキュリティ確保を伴う更新に必要なメカニズムを述べる。
【０１６２】
広く配備されたPFPモニタに対しては、他のソフトウエア更新に合わせてシグネチャを分配しなければならない。集中配備されたPFPモニタに対しては、更新は、ソフトウエアの更新と切り離して行うことができる。PFPシグネチャ更新における主な課題は、真正化（すなわち、送り手が許可された者であることおよびシグネチャそれ自体が正しくいかなる方法によっても改変されていないことを確実にすること）である。この課題は、シグネチャが物理的媒体または信頼性あるネットワークを用いて分配することができ、および守秘性の高いシグネチャの移送を予期した準備ができている場合には、集中配備のPFPモニタの場合ほどには困難ではない。
【０１６３】
シグネチャ交換が物理的手段または代替的な信頼性あるネットワークではできないような広域配備のPFPモニタの場合には、シグネチャ更新は実際のソフトウエア更新に併せて行う必要がある。この場合、PFPシステムについての豊富な知識を持っている攻撃者により利用される幾つかの攻撃されやすい点がある。選択された特徴を用いて抽出された完全なシグネチャは蓄積されモニタに与えられる必要がある。例えば、簡単な時間領域相関において、完全なベクトルが蓄積される必要がある。
【０１６４】
休止中または移動中の信号を保護するため、それら信号を暗号化しモニタが探している信号の正確な基準を潜在的な攻撃者に与えないようにすることが必要である。この暗号化は、私的または公的なキー暗号化のための多様なメカニズムを用いて実行できる。重要なことは、例え潜在的な攻撃者がそれら信号を入手したとしても、悪意のある行為をしながら信号を完全に一致させることは困難であるということである。
【０１６５】
高セキュリティのシグネチャ更新処理および動作
ソフトウエア更新のプログラミングおよび分配に通常用いられる確実な内容分配のための周知のアプローチはPFP信号更新に応用できる。高セキュリティのシグネチャ更新は二つの互いに異なった観点、すなわち真正シグネチャ発生器およびPFPモニタから見ることができる。シグネチャ発生サイドからみると、シグネチャとともに実効的な真正情報を与えかつ回転キースキームでシグネチャ片を暗号化する必要がある。
【０１６６】
高セキュリティのシグネチャ更新を可能にするために適用できる他の技術には下記のものが含まれる。
・サンプル・バッファおよびシグネチャエレメントの両方のスクランブル化
・公的またはシンメトリック・キー暗号化
・各シグネチャの更新後にそのインデックスを更新する既知のシーケンス（PNシーケンス）に従ってシグネチャおよびトレースをディスクランブル化する暗号化キーの変更
【０１６７】
サイドチャネル攻撃に対する保護
PFPは悪意のあるサイドチャネル攻撃に利用できる完全無欠性評価のために同一の原則を用いる。したがって、潜在的敵対者によるサイドチャネル攻撃を防ぐためにPFPインフラの利用をできないようにするため、それらへのアクセスを制限し、センサーにより与えられるトレースを保護する必要がある。これは、電力トレースを無線接続を用いて送信するときに重要である。ここでは、サイドチャネル攻撃において乱用される電力トレースへの無許可のアクセスを防止するためのメカニズムについて述べる。
【０１６８】
動作
トレース・アクセスの保護はPFPセンサーと PFPモニタとの間で共用のキーを用いてトレースを暗号化またはスクランブルすることにより実現できる。この観点から、PFPのための二つの基本的な動作モード、すなわち、埋込みモニタ（センサーおよびディジタイザー）および外部モニタの二つのモードがある。
【０１６９】
埋込み動作においては、トレースを強いプライベートキー（シンメトリキー暗号化）で暗号化またはスクランブルする。この暗号化ステップを実行することは、電力トレースを外部処理のためにワイアレス送信する際に重要である。この暗号化プロセスを図38に示す。プロセッサ3810のアナログ出力を感知器3850により監視し、アナログ−ディジタル変換器3830により変換し、暗号器3850に供給する。暗号器3850はビットサンプルのブロック暗号化またはスクランブル化（キーが置換される置換暗号化）のような幾つかの方法でサイドチャンネル攻撃者に対して適切な情報を秘匿することができる。
【０１７０】
外部モニタに対しては、トレースへのアクセスを形成する物理的接続を、パスワードを必要とするディジタル・スイッチによりイネーブルする。この場合、外部モニタへの接点はプラットフォーム上の電力管理チップにより構成する。この電力管理チップは電圧調整器ほどに簡単であるが、最近のスマートフォンに用いてある多くの市販のプロセッサに対しては、電力管理チップはずっと複雑になる。適切なモニタを接続すると、PFPでイネーブルされた電力管理手段が一旦接続された外部モニタからのパスワードを読み、電源電流を外部感知器を通して経路変更し、これにより、その外部モニタがその際の電流ドレインまたは電力消費を捕捉できるようにする。このプロセスの図解を図39に示す。
【０１７１】
本明細書で説明した問題解決法はここでのターゲット・システムに対するサイドチャネル攻撃を攻撃者が行えないようにするためのものではないということが重要である。これらの解決法はサイドチャネル攻撃のためのPFP監視施設の利用を防止するように意図されている。これらの対策を施すことによって、潜在的な攻撃者がPFP監視付きのボードにそれなしのボードと同じ改変を加えざるを得ないようにするのである。
【０１７２】
この発明を好ましい実施例について述べてきたが、当業者はこの発明の真意および添付の特許請求の範囲を逸脱することなく変形を加えてこの発明を実施できることを認識するであろう。
【図面の簡単な説明】
【０１７３】
【図１】電力指紋利用の概括的なブロック図。
【図２】PFPモニタのための理想的な感知器位置を示す図。
【図３】マルチプロセッサ・ボードの理想的な感知器位置を示す図。
【図４】物理信号でトリガーを行う例を示す図。
【図５】同期およびトリガーのためのPFP命令挿入を示す概略図。
【図６】Linuxデバイス・ドライバ・パラダイムにおける物理リソースへの間接的アセスを示す概略図。
【図７】信頼性ある符号の特徴分析プロセスを示すフローチャート。
【図８】電力スペクトラム密度の計算によるトレースの前処理の例を示すグラフ。
【図９】時間領域におけるトレースのサンプル前処理を示すグラフ。
【図１０】蓄積されたシグネチャに対する試験トレース実行からのPSD差を示すグラフ。
【図１１】検出器の設計プロセスを示すフローチャート。
【図１２】検出器設計と閾値選択とに用いる信頼性ある符号実行からのサンプル確率分布を示すグラフ。
【図１３】PFP完全無欠性評価動作処理を示すフローチャート。
【図１４】アンドロイド・プラットフォームに対するサンプル実施例セットアップを示す概略図。
【図１５】オリジナルな未改変のルーチンの実行により生じるサンプル分布を表すグラフ。
【図１６】改変ルーチンの実行により生じるサンプル分布を表すグラフ。
【図１７】互いに異なる識別力ある情報レベルを含む追跡の異なるセクションを示すサンプルトレースの詳細なグラフ。
【図１８】最多の情報を含むようリニア・プロジェクションを用いたプラットフォーム特徴分析を示す概略図。
【図１９】PFPを用いたプラットフォーム・パワー消費の特徴分析および監視のための基準測定セットアップを示す概略図。
【図２０】最小電力消費変化を検出する能力を評価するためのベースライン符号実行からのサンプル・トレースを示すグラフ。
【図２１】各点がn次元ユークリッド空間を表すベースライン符号実行からの平均シグネチャを示すグラフ。
【図２２】ベースライン符号の実行から抽出された平均シグネチャからのユークリッド距離の分布を示すグラフ。
【図２３】PCAを用いて得た変形ずみの空間におけるベースラインシグネチャからのユークリッド距離の分布を示すグラフ。
【図２４】LDAに対するプロファイリング命令からのトレースの中心を示すグラフ。
【図２５】LDAを用いて得た変形ずみの空間におけるベースラインシグネチャからのユークリッド距離の分布を示すグラフ。
【図２６】許可ずみのソフトウェア実行からの偏差の検出のための例示ターゲットプラットフォームの概略的ブロック図。
【図２７】サイバーセキュリティのための深部防御（defense-in-depth）アプローチにおいて互いに異なる層を示す概略図。
【図２８】層構成の深部防御ソリューションの中のPFPモニタリング範囲を示す概略図。
【図２９】監視および情報収集のためのPFP蜜壺ノードを示す概略図。
【図３０】PFP蜜壺ネットワークを示す概略図。
【図３１】PFPを用いた供給チェーンの信頼性ある分析のフロー図。
【図３２】PFPを用いたサプライチェーンの信頼性ある分析のための基準シグネチャの潜在的なソースを示す概略図。
【図３３】同期および識別信号をPFPモニタに供給するようにしたIOレジスタの利用を示す図。
【図３４】PFP同期および識別信号の電力トレースへの埋め込みを示す図。
【図３５】PFP完全無欠性評価のための複数の信号を合成するためのサンプル・セットアップを示す図。
【図３６】PFPに対するデバイスの機能停止を排除する特徴を抽出するプロセスのフローチャート。
【図３７】自動的特徴分析と特徴抽出のために相互作用する互いに異なるシステム・エレメント相互間の関係を示す概略図。
【図３８】サイドチャネル攻撃を埋め込みPFPモニタの利用から阻止する構造の概略図。
【図３９】サイドチャネル攻撃を外部PFPモニタの利用から阻止する構造の図。
【符号の説明】
【０１７４】
110  電流感知器      
120  特徴抽出
130  検出/分類
140  許可された指紋
205，206  プロセッサ
210  理想的な位置
215  キャパシタ
225  プロセッサ
220  感知器
221  次善の位置
216  減結合キャパシタ
410  物理的トリガー信号
510  特定の符号
515  トリガー命令
610  ユーザ空間アプリケーション
620  核空間
640  物理的メモリ
650  物理的信号
630  ドライバー−ファイルインタフェース
631  デバイス・ドライバ
632  レジスタ
710  マーカーをターゲット符号に挿入
720  信頼性あるソフトウエアの実行および電力トレースの捕捉
730  全ての重要な実行パスを実行する
735  必要ならば予め定義した入力
740  PCA分析
750  識別力ある特徴の抽出
760  統計分析、平均化およびクラスタリング
770  許可されたシグネチャ
1110  ランダムまたは予め定義された入力
1120  信頼性あるソフトウエアを実行して新たな試験トレースを捕捉
1130  目合せと同期
1140  前処理と条件付け
1150  特徴抽出および蓄積されたシグネチャからの距離
1160  統計分析および分布に適したトレース・サンプル
1170  ネイマン・ピアソン基準
1310  通常動作中または予め定義した入力を用いたターゲット・ソフトウエアの実行
1320  試験トレースの捕捉
1330  目合せおよび同期
1340  前処理および条件付け
1350  特徴抽出および蓄積されたシグネチャからの距離
1360  予め定義した閾値に基づく完全無欠性判定
1370  許可されたシグネチャ
1410  ビーグル・ボード
1420  主なトレース
1430  電流プローブ
1450  物理的なトリガー
1460  信号
1710  重要な識別性ある情報
1720  識別性のほとんどない情報
1810  完全なクロック・サイクル  
1820  １点
1910  TektronixTDS649Cリアルタイム・オシロスコープ
1920  TektronixTC-6電流プローブ
1930  LED
2010，2020  方形のレベル
2030  実線
2110  平均化された信号トレース
2610  RFトランシーバ
2620  プロセッサ
2616  PHY層
2612  暗号作成モジュール
2614  MAC層
2622  プロトコル・スタック
2624  アプリケーション・プログラム・インターフェース
2626  アプリケーション層
2700  互いに異なる層
2750  ホストセキュリティ
2760  アプリケーションセキュリティ
2780  コア
3110  予め定義された入力（入力ベクター発生）
3120  管理された環境での実行
3130  トレース収集
3140  個々の電力消費パラメータの補償
3150  特徴抽出
3160  シグネチャ比較
3170  基準シグネチャ
3180  完全無欠性評価結果
3220  信頼性のない製造者
3210  PFPモニタ
3230  金の標準
3240  CADモデル
3250  前のデバイス
3260  代替の実働化
3310  感知器
3320  プロセッサ
3340  PFPモニタ
3315  電力トレース
3324  IOレジスタ
3335  トリガー
3322  ターゲット・ルーチン
3410  感知器
3440  PPFモニタ
3415  埋め込まれた同期信号を有する電力トレース
3422  ターゲット・ルーチン
3610  加速されたデバイス老朽化
3620  デバイス故障前に電力トレースを捕捉
3630  特徴選択
3640  統計的特徴抽出
3820  感知器
3830  アナログ−ディジタル変換器
3840  バッファ
3850  暗号化器
【図５】
2014501957.tif 000018
【図２２】
2014501957.tif 000019
【図２７】
2014501957.tif 000020
【図２８】
2014501957.tif 000021
【図２９】
2014501957.tif 000022
【図３０】
2014501957.tif 000023
【図３７】
2014501957.tif 000024
【図１】
2014501957.tif 000025
【図２】
2014501957.tif 000026
【図３】
2014501957.tif 000027
【図４】
2014501957.tif 000028
【図６】
2014501957.tif 000029
【図７】
2014501957.tif 000030
【図８】
2014501957.tif 000031
【図９】
2014501957.tif 000032
【図１０】
2014501957.tif 000033
【図１１】
2014501957.tif 000034
【図１２】
2014501957.tif 000035
【図１３】
2014501957.tif 000036
【図１４】
2014501957.tif 000037
【図１５】
2014501957.tif 000038
【図１６】
2014501957.tif 000039
【図１７】
2014501957.tif 000040
【図１８】
2014501957.tif 000041
【図１９】
2014501957.tif 000042
【図２０】
2014501957.tif 000043
【図２１】
2014501957.tif 000044
【図２３】
2014501957.tif 000045
【図２４】
2014501957.tif 000046
【図２５】
2014501957.tif 000047
【図２６】
2014501957.tif 000048
【図３１】
2014501957.tif 000049
【図３２】
2014501957.tif 000050
【図３３】
2014501957.tif 000051
【図３４】
2014501957.tif 000052
【図３５】
2014501957.tif 000053
【図３６】
2014501957.tif 000054
【図３８】
2014501957.tif 000055
【図３９】
2014501957.tif 000056
【国際調査報告】
2014501957.tif 000057
2014501957.tif 000058
2014501957.tif 000059