# 耐タンパ性
## 定義
耐タンパ性(tamper resistance)とは、鍵材料や機密データを物理的に取り出せなくするか、取り出しの試みを検知・記録できるようにするハードウェア設計の性質である。*Security Engineering* 第3版第18章は、その目標を「鍵材料の街頭価値をゼロに近づける(reduce the street value of key material to zero)」ことだとし、実現手段を耐タンパ(装置から鍵を取り出せない)と改ざん検知性(tamper-evidence、取り出せば痕跡が残る)の2方針に分ける。ハードウェアセキュリティモジュール(HSM)は鍵メモリを筐体開放時にゼロ化するspring-loaded switchから、potting(封止)、tamper-sensing membrane(改ざん検知メッシュ)へと段階的に防御を強化してきた。スマートカードのようなセキュアチップは、侵襲的攻撃(invasive、パッシベーション層を貫通)・半侵襲的攻撃(semi-invasive、封止は除去するが層は貫通しない)・非侵襲的攻撃(non-invasive、チップに触れない)という3分類の攻撃に対抗する形で防御が発展した。評価制度としてはFIPS 140(1〜4のレベル)とCommon Criteriaがあり、攻撃者はclever outsiders(class 1)・knowledgeable insiders(class 2)・funded organizations(class 3)に分類される。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.2, §18.3, §18.4, §18.5.3)
## 横断的知見
- **TEE(トラステッド実行環境)と耐タンパ性は「何を信頼すべき範囲から除外するか」を最小化するという同じ設計原則を共有するが、脅威モデルが根本的に異なる**: 第6章のSGX・TrustZoneは、OSやroot権限プロセスからの隔離を、CPUパッケージ自体の物理的な信頼を前提とした上でソフトウェア・アーキテクチャレベルで実現する。これに対し第18章の耐タンパ性は、攻撃者がデバイスを物理的に占有し、封止を削り取り、プローブを当てるという「パッケージそのものへの信頼を疑う」脅威モデルを前提に、化学的・機械的な防御を積み重ねる。同じ書籍内でも、章によって「何が脅威か」の前提が異なることは、TEEの未解決の問い(Meltdown・Spectreがエンクレーブの保護の限界を露呈させた)が、第18章の光学的故障誘発・電力解析といった物理攻撃とは別の攻撃面(マイクロアーキテクチャ的サイドチャネル)から生じていることからも裏付けられる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 6 Access Control]] ch.6 §6.3.1, §6.3.2, [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.5.3)
- **耐タンパ性の議論は、信頼計算基盤(TCB)の境界が設計者の意図しないところまで広がりうることを具体的に示す**: 第18章は、Flashチップのウェアレベリング処理を行うコントローラが「否応なく信頼計算基盤の一部になる(become part of your trusted computing base)」と指摘する(2005年のSergei Skorobogatovによるフラッシュメモリのデータ抽出の文脈)。これは第6章・第11章が論じる「TCBの分割を誤ると肥大化する」という抽象的な問題に対し、「サプライヤーが提供するファームウェアそのものが気づかぬうちにTCBの一部になる」という具体的な失敗モードを一つ加える。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.3)
- **物理的な耐タンパ性を突破できなくても、HSMのトランザクションAPI自体を悪用すれば同じ鍵材料が漏洩する**: 第18章はHSMを物理的に(改ざん検知メッシュ・封止・電磁シールドで)守る側の設計を扱うのに対し、第20章はIBM 4758のようなFIPS 140-1 level 4認証済みのHSMが、ハードウェアへの物理的攻撃には一度も屈しなかった一方で、2キー3重DESの鍵型を検証しないAPI設計上の欠陥(後方互換性攻撃)や、小数化テーブルを使った差分プロトコル解析によって鍵とPINを漏洩させ続けてきたことを示す。両者を突き合わせると、耐タンパ性は「鍵材料の街頭価値をゼロに近づける」という第18章の目標を物理層では達成しても、その上で動くAPIの複雑さ(featuritis)という別の攻撃対象領域を残すことがわかる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.3, [[@2020__Wiley__Security Engineering 3e - Chapter 20 Advanced Cryptographic Engineering]] ch.20 §20.5〜§20.5.2)
- **第18章が「次章に譲る」と繰り返し明言していた非侵襲的サイドチャネル攻撃(DPA・タイミング解析・光学的解析)は、第19章では耐タンパ性の物理的防御とは独立した、非侵襲(non-invasive、デバイスに触れない)という第3の攻撃分類として整理される**: 第18章はセキュアチップへの攻撃を侵襲的(パッシベーション層を貫通)・半侵襲的(封止は除去するが層は貫通しない)・非侵襲的(チップに触れない)の3分類で整理していたが、非侵襲的攻撃の技術的中身(差分電力解析・タイミング解析・電磁解析)自体は第19章まで示されていなかった。第19章を読むと、非侵襲的サイドチャネルはHSMの改ざん検知メッシュ・封止・電磁シールドといった第18章の防御を一切迂回する——攻撃者はデバイスに触れる必要すらなく、消費電流や処理時間を外部から観測するだけでよい。したがって耐タンパ性の3防御層(改ざん検知・封止・シールド)は、非侵襲的サイドチャネルに対してはマスキング・ブラインディング・ランダム化クロッキングといった、第18章とは異なる対抗策(暗号アルゴリズムの実装レベルでの対策)を別途必要とすることが明確になる。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.4, [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]] ch.19 §19.4.1, §19.4.2)
- **ペイTVスマートカードは、耐タンパ性という物理的防御と、DRMという商業的な鍵管理設計とが同一の脅威モデルの下で結合した実例である**: 第24章は、ペイTV放送局の条件付きアクセスシステムが「バルク暗号化はコモディティ化した専用チップに、鍵管理は交換可能な低コストのスマートカードに」役割分担させる設計を採用した経緯を、業務上の合理性(鍵が漏洩したらカードだけ交換すればよい)として説明する。これは第18章がHSM・スマートカードについて論じる耐タンパ設計の目的(「鍵材料の街頭価値をゼロに近づける」)と全く同じ発想であり、第18章がSky-TV等のペイTV業界における継続的なマイクロプロービング攻撃・カード再発行の軍拡競争として詳述する物理的ないたちごっこの、ビジネス上の必然性を第24章が裏づける形になっている。加えて第24章は、ソフトウェア難読化(RASP)の評価についても「lemons market is therefore to be expected(レモン市場が生まれるのは必然だ)」と明言しており、これは第18章がFIPS 140-3以前の評価制度について指摘する非対称情報問題と同型の観察を、ハードウェアの耐タンパ性評価だけでなくソフトウェア難読化評価にも一般化できることを示す。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 24 Copyright and DRM]] ch.24 §24.2.4.1, §24.3.3, [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.5.3)
- **第28章は、本ページが「評価制度としてはFIPS 140とCommon Criteriaがある」と一言で片づけていたCommon Criteriaの内部力学を、AVA_VAN.5をめぐる政治的対立という具体的な形で明らかにする**: 第18章はスマートカード・HSMの評価にFIPS 140とCommon Criteriaが使われることを述べるにとどまるが、第28章§28.2.7.1は、スマートカード業界がプロテクションプロファイルを通じてHSMベンダーに「開発環境全体をTop Secretの情報機関並みにエアギャップ化せよ」という評価要件(AVA_VAN.5)を要求してきた経緯を詳述する。エアギャップ自体は有能な敵対者を止めない(イランのStuxnet、米国のSnowdenの例)にもかかわらず、GitHubなどクラウド開発ツールに依存する通常のIT企業には現実的な不便を強いる――これは技術的な耐タンパ性要求ではなく、HSMやエンクレーブが自分たちの市場に食い込むのを防ぐための、スマートカード業界による意図的な市場操作である。本ページが指摘してきた「評価制度が非対称情報によりレモン市場化する」という観察に対し、第28章はさらに一歩進んで、評価要件そのものが業界ロビイングによって恣意的に高く設定されうることを示す。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 28 Assurance and Sustainability]] ch.28 §28.2.7.1, [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.6.4)
- **第28章のTrust-e事例(Ben Edelmanの研究)は、本ページが指摘する「評価のレモン市場化」がハードウェアの耐タンパ性・ソフトウェア難読化(RASP)にとどまらず、およそあらゆる第三者認証制度に共通する現象であることを裏づける**: 本ページは第24章のRASP評価について「lemons market is therefore to be expected」という指摘を引いているが、第28章は全く異なる領域(消費者向けウェブサイト認証Trust-e)で、認証済みサイトのほうが未認証サイトよりもマルウェアを仕込もうとする可能性が高いという逆選択の実証研究を報告する。任意かつ安価な認証には弱いベンダーほど群がり優良ブランドは取得しないという構造は、耐タンパ性評価(FIPS 140・Common Criteria)にも共通しうる示唆であり、詳細な理論的整理は [[セキュリティ評価制度]] を参照。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 28 Assurance and Sustainability]] ch.28 §28.2.8, [[セキュリティ評価制度]])
## 未解決の問い
- HSM市場の大半がAzure・AWS・Googleのような少数のクラウド事業者に集中しつつあるという本章の指摘(2020年時点)が、耐タンパ性の実装品質や攻撃対象としての魅力度にどう影響したかは、本章の範囲(2020年執筆時点の予測)を超えており、後続ソースでの検証が必要。
- FIPS 140-3(ISO 19790/24759準拠)への移行が2019年に発効し、2021年にFIPS 140-2の試験が終了するとされるが、この移行が実際の評価の質(レモン市場化の緩和)にどう影響したかは本章では未検証。
- 耐タンパ性とTEEという2つの「隔離」戦略を、量子コンピュータの実用化のような将来の脅威に対してどう組み合わせるべきかは、本章・第6章のいずれにも記述がない。
## 関連
- ソース: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]](§18.2〜§18.7) / [[@2020__Wiley__Security Engineering 3e - Chapter 6 Access Control]](§6.3.1, §6.3.2) / [[@2020__Wiley__Security Engineering 3e - Chapter 20 Advanced Cryptographic Engineering]](§20.5〜§20.5.2) / [[@2020__Wiley__Security Engineering 3e - Chapter 19 Side Channels]](§19.4.1, §19.4.2) / [[@2020__Wiley__Security Engineering 3e - Chapter 24 Copyright and DRM]](§24.2.4.1, §24.3.3) / [[@2020__Wiley__Security Engineering 3e - Chapter 28 Assurance and Sustainability]](§28.2.7.1, §28.2.8)
- 概念: [[トラステッド実行環境(TEE)]](同じ「信頼範囲の最小化」を異なる脅威モデルで実現する系譜) / [[信頼計算基盤(TCB)]](TCB境界の具体的な失敗モード) / [[物理複製困難関数(PUF)]](耐タンパ性の一実装技術) / [[HSM APIセキュリティ]](物理的な耐タンパ性を迂回するAPI層の攻撃) / [[サイドチャネル攻撃]](非侵襲的攻撃の技術的詳細) / [[DRM(デジタル著作権管理)]](耐タンパ性を商業的な鍵管理設計に応用する分野) / [[セキュリティ評価制度]](Common Criteria・FIPS 140の評価制度そのものの力学)
- 実体: [[IBM 4758]](代表的なHSM) / [[Sergei Skorobogatov]](本章の攻撃技術の多くを開発した研究者)
## 出典
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 18, §18.2-§18.7.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 6, §6.3.1, §6.3.2.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 20, §20.5〜§20.5.2.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 19, §19.4.1, §19.4.2.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 24, §24.2.4.1, §24.3.3.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 28, §28.2.7.1, §28.2.8.