耐タンパ性

**耐タンパ性**（たいたんぱせい、英: Tamper Resistance）は、ハードウェアデバイス、ソフトウェアアプリケーション、およびそれらを構成するファームウェアに対する未承認の物理的・論理的介入を阻止するためのセキュリティにおける概念である。

独立行政法人情報処理推進機構（IPA）の定義によれば、耐タンパ性とは「暗号処理や署名処理を行うソフトウェアやハードウェアに対する外部からの解読攻撃に対する耐性」を指す。これは、情報システムの正当性を保証する電子署名や暗号技術が、それ自体を処理する実行環境の堅牢性に依存しているという事実を明確に示している。

スマートカード、ハードウェアセキュリティモジュール（HSM）、生体認証デバイスなどで広く実装されている。歴史的には単なる筐体による保護や改ざんの証拠を残すことから始まったが、現在では能動的に物理的侵入をリアルタイムで検知し、内部の機密情報を自己破壊するシステムへと進化している。米国国立標準技術研究所（NIST）およびISO/IECの枠組みにおいて、耐タンパ性はハードウェアまたはソフトウェアを無許可の変更やアクセス試行から保護するセキュリティ機能として位置づけられている。

特筆すべきは、NISTIR 8202において耐タンパ性がデータへの変更を技術的に困難にするか、経済的に高コストにするか、あるいはその両方をもたらすプロセスと規定されている点である。この定義が示唆する極めて重要な洞察は、耐タンパ性が絶対的かつ非現実的な完全無欠の防壁を目指すものではなく、遅延の最大化と攻撃コストの増大を目的とした経済的・確率的な防御モデルであるという事実である。攻撃者がリバースエンジニアリング、物理的破壊、または論理的解析に費やす時間とリソースが、標的となる情報（暗号鍵、知的財産、アルゴリズム）から得られる利益を上回るようにシステムを設計することが、耐タンパ性工学の基本思想を形成している。NIST SP 800-53（連邦情報システムおよび組織のためのセキュリティおよびプライバシー管理策）においても、組織は情報システムに対する改ざん保護プログラムの実装が要求されている。また、ISO/IEC 27001等の情報セキュリティマネジメントシステムとのマッピングにおいても、同様に情報セキュリティ要件の一環として組み込まれるべき中核的な管理策である。

## 物理的耐タンパ性
物理的耐タンパ性は、デバイスの筐体や半導体チップそのものに対する直接的な物理的アクセス（筐体の分解、化学的切削、環境的ストレスなど）を防御、検知、および対応するための物理的なセキュリティ層である。このメカニズムは、暗号デバイスオーセンティケータにおいては、認証要素（パスワードや生体認証）によってのみアクセス可能な独自の秘密鍵をカプセル化するために必須となっている。これらのデバイスは、ISO/IEC 30107-1等の基準に基づく提示攻撃に対する耐性も併せ持つことが求められるが、基盤となるのは鍵を物理的に守るハードウェア層である。

### FIPS 140-3に基づくモデル
暗号モジュールのセキュリティ要件を定める主要な国際的な標準規格であるFIPS 140-3（Federal Information Processing Standards Publication 140-3）は、ISO/IEC 19790:2012およびISO/IEC 24759:2017の枠組みに基づいて、物理的セキュリティを要求される保護レベルに応じて4つの段階に分類している。FIPS 140-2から進化したこの基準は、セキュリティレベルの引き上げによって、攻撃者がモジュールを侵害するために必要な労力を段階的に、かつ幾何級数的に増加させることを意図している。この労力とは、単なる物理的力学だけでなく、攻撃を実行するために必要な時間、特定の攻撃手法・ツールの開発時間、および専門技術の蓄積によって定義される。

レベル2において要請される改ざんの証拠（Tamper Evidence）のテストは、NISTのCryptographic Module Validation Program (CMVP) の実装ガイダンスに従い、極めて厳格に運用されている。モジュールに貼付される改ざん検知ラベルやシールにおいて、証拠を残さずにシールを剥がし再度貼り付けることが可能であれば、そのモジュールは直ちに要件不適合となる。

レベル3における改ざん検知と対応（Tamper Detection & Response）は、材料科学、接着剤、溶剤、および物理学における最先端の技術を統合することによって実現される複雑なエンジニアリングである。侵入が検知されると、モジュールは自立的に自己防御プロセスを起動し、内部の機密データを無意味なデータで上書きするゼロ化をトリガーする。

さらにNISTは、ハッシュベース電子署名の実装等において、高度なステート管理を担保するため、FIPS 140-3のレベル3以上の物理的セキュリティを満たすハードウェアモジュール内でのみ動作を許可し、ソフトウェア単独の実装を排除している。

### ゼロ化
侵入が検知された場合のアラーム信号は、集積回路（IC）のセキュリティモードをトリガーし、決定的な防御措置を実行する。これは機密情報を保持するメモリ領域のすべてのビットをゼロに書き換えるか、IC自体の動作を永久に無効化し、第三者による動作解析を完全に防ぐというプロセスである。

### アクティブシールド
筐体レベルの保護を突破した攻撃者は、最終的にICのシリコンダイそのものへの侵入を試みる。セキュリティクリティカルなIC上の資産は、集束イオンビーム（FIB）を用いた回路の意図的な切削や、マイクロプロービングによる電気信号の直接抽出という重大な脅威に晒されている。これらの非侵襲的あるいは半侵襲的な物理攻撃は、現代のハードウェアセキュリティにおける最大の課題の一つである。

これに対抗する中核的なICレベルの物理的耐タンパ技術が「**アクティブシールド**」である。アクティブシールドは、ICの最上層のメタルレイヤーに配置されるメッシュ状の配線ネットワークであり、デジタルフェンスとして機能する。攻撃者が内部にアクセスするためにシールド層を物理的に貫通・切断しようとすると、電気的特性の変化がセンシング回路によってリアルタイムで検知される。現代の最先端FIBシステムは、微細なナノスケールICのミリングにおいて深い切削を達成しており、斜め方向からミリングを行うことでシールドを回避する技術が確立されている。

このような高度なバイパス攻撃に対抗するため、最新の技術ではシールドを単なる導線としてではなく、センサとして機能する一連のキャパシタとして活用する。入力キャパシタとフィードバックキャパシタ間のキャパシタンス値のGainの変動を高精度で検知し、即座にアラーム信号を発令する。さらに、多数の入力キャパシタの読み取り順序を擬似ランダムに切り替えることで、攻撃者がシールドのクロックや動作周期に同期させて電気的バイパス経路を構築することを事実上不可能にしている。

### [[サイドチャネル攻撃]]への対策

電力消費や電磁波の放射パターンを観測して暗号鍵を推測するサイドチャネル攻撃への耐性も重要である。既存の対策はシリコン面積や消費電力にオーバーヘッドをもたらすことが多いが、最新のブレイクスルーとしてアクティブシールド自体にノイズ生成モジュールを統合し、電磁波を隠蔽するEO-Shield（Electromagnetic Obfuscation Shield）などの複合的アプローチが開発されている。

## プラットフォーム・レジリエンス
耐タンパ性という概念は、単一のアプリケーションソフトウェアや半導体チップの保護から、システム全体のプラットフォーム・レジリエンスへと適用範囲を拡大させている。NIST SP 800-193（Platform Firmware Resiliency Guidelines）で規定されている。

現代の複雑なコンピュータシステムやIoTデバイスは、ネットワークコントローラ、グラフィックスプロセッサ、ストレージドライブ上のファームウェア、ベースボード管理コントローラ（BMC）など、多数の独立したコンポーネントがファームウェアを実行している。これらが攻撃を受けて改変・破壊された場合、システムは恒久的に動作不能に陥る可能性がある。NIST SP 800-193は、以下の3つのコア原則（レジリエンスの三本柱）に基づいてファームウェア全体の耐タンパ性とレジリエンスを定義している。

* 保護 : 認証されていないコードの実行および未承認の変更を完全に防ぐ。システムのすべてのファームウェアアップデートが電子署名などを用いて厳密に認証され、信頼の起点（Root of Trust）に基づいて検証される。
* 検知 : 不正な改ざんや異常が実際に発生した際、システム起動時や運用中にそれを確実かつ速やかに検知するメカニズムの実装。
* 回復 : 攻撃が成功し、ファームウェアが破損・改変された場合でも、システムを迅速かつ安全に既知の信頼できる状態に自動的に復旧させる機能。古い脆弱なバージョンへの不正なダウングレードを防ぐための強固なバージョン管理チェックメカニズムも内包されている。

このようなファームウェアとハードウェアの耐タンパ性は、インターネットに常時接続されるIoT機器やコネクテッドカーなどにおいて、人命のリスクを左右する極めてクリティカルな要件となっている。遠隔地から不正なコマンドが送信される脅威などに対し、クロック機能の耐タンパ性強化や、製品出荷時における不要な物理的インターフェースの完全な無効化・除去が不可欠とされている。

## ソフトウェアの耐タンパ性
物理的なアクセスが保護されていない環境において実行されるソフトウェアアプリケーションは、リバースエンジニアリングやデバッガを用いた動的プログラム解析といった脅威に晒されている。ソフトウェア耐タンパ性とは、コンパイル後のプログラムコードそのものの構造や論理を数学的・構造的に変換し、アルゴリズムの解析を困難にするとともに、暗号鍵などの機密データがメモリ上で平文として露呈することを防ぐ技術体系である。

### 制御フロー平坦化
論理的耐タンパ性の中核を成すソフトウェア難読化である。その中でも、特に強力なのが「制御フロー平坦化（Control Flow Flattening: CFF）」である。CFFは、プログラムの実行経路を意図的に非線形かつ複雑に再構築し、静的プログラム解析および動的解析を著しく阻害するアーキテクチャであり、モバイルアプリケーションにおけるリバースエンジニアリング対策として重要視されている。

基本的なCFFアルゴリズムは、関数やメソッドの本体を分岐を含まない基本ブロックに分割し、階層構造を解体してフラットなレベルに並列に配置する。次に、状態管理ルーチンであるディスパッチャを導入し、すべての基本ブロックを巨大なswitch文の中にカプセル化する。各基本ブロックの処理が終了すると、直接次の処理を呼び出すのではなく、ディスパッチャを経由して状態変数を評価し、次のブロックへとジャンプさせる。これにより、元のプログラムと比較して複雑度が最大で5倍に膨れ上がるという実証事例も報告されており、本来のビジネスロジックを汲み取ることは極めて困難となる。

### 複合的防御レイヤーの追加
現代の商用のアプリケーション要塞化プラットフォーム等は、単純な平坦化だけでは不十分とし、複数の技術を複合的に適用している。

* ダミーブロックと不透明述語の挿入 : 実行時には決して到達しないダミーの基本ブロックを大量に挿入し、実行時にのみ真偽が確定する不透明述語を用いて解析者を混乱させる。
* ポインタを通じた間接参照 : ブロック間の遷移をポインタを通じた間接的な操作に変換し、コンパイラや解析ツールのデータフロー解析能力を無力化する。
* 動的改ざん検知と自己防衛 : デバッガの接続やメモリの書き換えをプログラム自身が検知し、防御する機能を積層させる。

### ハードウェアセキュリティモジュール（HSM）

通常、暗号鍵の保護には物理的耐タンパ性を備えるハードウェアセキュリティモジュール（HSM）が使用される。HSMは、物理的隔離、強固なエンクロージャ、および侵入時のゼロ化機能によるハードウェアベースの保護を提供する。HSMを用いるとき、攻撃者が内部の実行状態やメモリについてブラックボックスであることが前提とされている。専用の物理ハードウェアが必要であり、デバイス単位での導入・運用コストが高いが、セキュリティレベルは極めて高く、FIPS 140-3 Level 3/4等に基づく物理攻撃への耐性が証明されている。

### ホワイトボックス暗号
暗号鍵の保護に対するソフトウェア的アプローチが**ホワイトボックス暗号**（WBC）である。WBCは、ソフトウェアが実行される環境自体が完全に攻撃者の制御下にあるという悲観的な状況を前提として設計された暗号実装技術である。ソフトウェアライブラリとして配布可能であり、クラウドやモバイルデバイスへの即時展開が容易で低コストである。専用のハードウェアに依存できないモバイル環境等においては、WBCはHSMの代替としての役割を担っている。

一方、高度なリバースエンジニアリングやソフトウェア起因のサイドチャネル攻撃により鍵が漏洩するリスクが残存する。これらの脆弱性を緩和するため、ダミーシャッフリングによる代数攻撃への耐性向上や、マスクベースの防御におけるエントロピーの最適化が研究されている。また、NISTの軽量暗号プロジェクトの成果を応用し、ハードウェアとソフトウェアの双方でサイドチャネル攻撃への耐性を統合する研究も進展している。現実の実装ではWBCの弱点を補うため、クラウド上の鍵管理サービスと連携させた多層防御プロトコルが提唱されている。

## 次世代の耐タンパ性技術

### 物理的複製困難関数
最も有望な技術の一つが「物理的複製困難関数（ Physically Unclonable Functions:PUF）」である。PUFは、半導体の製造プロセスにおける微小な物理的ばらつきを利用し、デバイス固有のデジタル指紋として機能する。チャレンジを与えた時にのみ鍵が動的に生成されるため、メモリをダンプする侵襲的攻撃を根本的に無効化する強力なプラットフォームとなる。

### Beyond-CMOS技術の応用
従来のCMOS技術に依存した物理的耐タンパ性メカニズムは限界に近づきつつあり、ポストシリコン技術およびシステムアーキテクチャレベルでの革新的なパラダイムシフトが進行している。Beyond-CMOSと呼ばれるスピントロニクス技術や負容量電界効果トランジスタ（NCFET）などの技術を導入することで、サイドチャネル攻撃に対する固有の耐性を提供することが期待されている。

### 分散型トラスト
暗号鍵と認証プロセスをネットワーク上に分散させるアーキテクチャも進化している。閾値暗号とブロックチェーン技術を組み合わせ、複数のデバイス間で単一の秘密鍵を分割保持することで、単一障害点（SPOF）を排除し、システム全体のセキュリティを維持するアプローチである。これは分散型サイバーフィジカルシステムにおいて改ざん耐性をネットワークレベルで獲得する上で有効である。

## 関連項目

* NIST
* ハードウェアセキュリティモジュール（HSM）
* Trusted Platform Module
* サイドチャネル攻撃

## 外部サイト

* FIPS 140-3 Security Requirements for Cryptographic Modules

## 脚注