TPM
本文约需 2 分钟阅读
TPM (Trusted Platform Module) とは、暗号鍵の生成・保管、デバイスの 完全性検証、セキュアブートの支援などを行うハードウェアベースの セキュリティチップです。ソフトウェアだけでは防ぎきれない攻撃 (ブートキットやファームウェア改ざん) に対して、ハードウェアレベルの 信頼の起点 (Root of Trust) を提供します。暗号化の鍵を OS やアプリケーションから隔離された専用チップに格納することで、 マルウェアによる鍵の窃取を物理的に困難にする設計思想が根底にあります。
TPM 1.2 と TPM 2.0 の違い
TPM 規格は TCG (Trusted Computing Group) が策定しており、 現在は TPM 2.0 が主流です。TPM 1.2 から 2.0 への移行は単なる バージョンアップではなく、アーキテクチャの根本的な刷新でした。
| 項目 | TPM 1.2 | TPM 2.0 |
|---|---|---|
| 暗号アルゴリズム | RSA + SHA-1 固定 | RSA, ECC, AES, SHA-256 等 (拡張可能) |
| 鍵階層 | 単一の SRK (Storage Root Key) | 複数の階層 (Platform, Storage, Endorsement) |
| PCR バンク | SHA-1 のみ | 複数ハッシュアルゴリズムを並行運用 |
| 認証方式 | HMAC のみ | HMAC + ポリシーベース認証 |
TPM 1.2 が SHA-1 に固定されていた点は、SHA-1 の脆弱性が実証された 現在では致命的な制約です。TPM 2.0 はアルゴリズムの差し替えが可能な 設計になっており、将来の暗号アルゴリズムの陳腐化にも対応できます。
Windows 11 と TPM 2.0 必須化
Microsoft が Windows 11 のシステム要件に TPM 2.0 を必須としたことは、 大きな議論を呼びました。この決定の背景には、ファームウェアレベルの 攻撃の増加があります。ブートキットやルートキットは OS 起動前に 動作するため、OS レベルのセキュリティソフトでは検知できません。 TPM 2.0 によるセキュアブートは、起動プロセスの各段階で コードの完全性を検証し、改ざんされたコンポーネントの実行を阻止します。
セキュアブートの検証フロー
ファームウェア検証
PCR に測定値記録
署名検証
整合性チェック
鍵の封印解除
BitLocker との連携
Windows の BitLocker ドライブ暗号化は、TPM と密接に連携して動作します。 暗号化キーは TPM 内に「封印 (シール)」され、起動プロセスの測定値 (PCR: Platform Configuration Register) が正常な場合にのみ解放されます。 つまり、ハードディスクを別の PC に接続しても、TPM の封印条件が 満たされないため復号できません。HSM がサーバーサイドの 鍵管理を担うのに対し、TPM はクライアント端末の鍵管理を担う 相補的な関係にあります。
fTPM と dTPM
TPM の実装形態には、ファームウェア TPM (fTPM) とディスクリート TPM (dTPM) の 2 種類があります。
- CPU 内の信頼実行環境で動作
- 追加チップ不要でコスト低
- AMD PSP / Intel PTT が代表例
- CPU の脆弱性の影響を受けうる
- 独立した専用チップ
- 物理的に隔離され耐タンパー性が高い
- サーバーや高セキュリティ端末向け
- コストが高く基板スペースを占有
一般的なビジネス用途では fTPM で十分ですが、軍事・金融・医療など 高度なセキュリティが求められる環境では dTPM が推奨されます。FIDO/WebAuthn の 認証器としても TPM は活用されており、生体認証と 組み合わせたパスワードレス認証の基盤技術となっています。生体認証のリスクやパスキー移行の課題も あわせて参照してください。ハードウェアセキュリティの技術書 (Amazon)で実装の詳細を学ぶことも有益です。
这篇文章对您有帮助吗?