# IBM 4758
## 概要
IBM 4758は、2000年代初頭を代表する商用暗号プロセッサ(HSM)である。*Security Engineering* 第3版第18章によれば、商用製品として初めてFIPS 140-1 level 4(米政府が定めた最高水準の耐タンパ性評価)を取得した点、その設計と歴史に関する豊富な文献が存在する点、著者Ross Andersonとその学生たちが2000〜2005年に集中的に攻撃・残存脆弱性の研究対象とした点、後継の現行フラッグシップ製品4765が発見されたバグの修正以外は大きく変わっていない点の4つの理由で重要とされる。設計は4本のジグザグ導電パターンをウレタンシートにドープした改ざん検知メッシュを、金属シールドと化学的に類似した封止材で覆う多層構造を持ち、アルミシールドと電源フィルタで電磁シールドも施している。著者らの研究チームはハードウェア自体の攻撃には成功しなかったが、上位のバンキング用暗号API「CCA」にはPINや鍵を漏洩させる複数の悪用可能な欠陥が発見された。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.3)
第20章(Advanced Cryptographic Engineering)によれば、4758はハードウェア自体は破られなかったものの、APIレベルでは複数回破られている。銀行がDESの鍵探索耐性の弱さを補うために導入した2キー3重DES(左鍵で暗号化・右鍵で復号・左鍵で再暗号化し、左右を同じ鍵にすれば単一DESに後方互換できる)に対応する際、4758は左鍵と右鍵を別々に暗号化して型を分けたが、両半分が正しく対になっていることを検証していなかった。このため単一DES鍵の「左半分」と別の単一DES鍵の「右半分」を組み合わせて偽の3重DES鍵を作り、他の鍵を輸出できてしまった。単一DES鍵の探索自体は2002年時点でもそれなりの手間を要したが、鍵のチェック値(ゼロ文字列を暗号化したハッシュ)を使った時間・メモリトレードオフ攻撃(約2^40個の鍵とハッシュの対を事前計算し、HSMに鍵を生成させてハッシュが表に現れるまで約2^16回試行する、所要時間約1時間)と組み合わせることで、実用的な攻撃が成立した。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 20 Advanced Cryptographic Engineering]] ch.20 §20.5.2)
## 関連
- ソース: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]](§18.3) / [[@2020__Wiley__Security Engineering 3e - Chapter 20 Advanced Cryptographic Engineering]](§20.5.2)
- 概念: [[耐タンパ性]] / [[HSM APIセキュリティ]]
- 実体: [[IBM]]
## 出典
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 18, §18.3.
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 20, §20.5.2.