メインコンテンツへスキップ

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.2TPM 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 によるセキュアブートは、起動プロセスの各段階でコードの完全性を検証し、改ざんされたコンポーネントの実行を阻止します。

セキュアブートの検証フロー

UEFI
ファームウェア検証
TPM
PCR に測定値記録
ブートローダー
署名検証
OS カーネル
整合性チェック
BitLocker
鍵の封印解除

BitLocker との連携

Windows の BitLocker ドライブ暗号化は、TPM と密接に連携して動作します。暗号化キーは TPM 内に「封印 (シール)」され、起動プロセスの測定値 (PCR: Platform Configuration Register) が正常な場合にのみ解放されます。つまり、ハードディスクを別の PC に接続しても、TPM の封印条件が満たされないため復号できません。HSM がサーバーサイドの鍵管理を担うのに対し、TPM はクライアント端末の鍵管理を担う相補的な関係にあります。

fTPM と dTPM

TPM の実装形態には、ファームウェア TPM (fTPM) とディスクリート TPM (dTPM) の 2 種類があります。

fTPM (ファームウェア TPM)
  • CPU 内の信頼実行環境で動作
  • 追加チップ不要でコスト低
  • AMD PSP / Intel PTT が代表例
  • CPU の脆弱性の影響を受けうる
dTPM (ディスクリート TPM)
  • 独立した専用チップ
  • 物理的に隔離され耐タンパー性が高い
  • サーバーや高セキュリティ端末向け
  • コストが高く基板スペースを占有

一般的なビジネス用途では fTPM で十分ですが、軍事・金融・医療など高度なセキュリティが求められる環境では dTPM が推奨されます。FIDO/WebAuthn の認証器としても TPM は活用されており、生体認証と組み合わせたパスワードレス認証の基盤技術となっています。生体認証のリスクパスキー移行の課題もあわせて参照してください。ハードウェアセキュリティの技術書 (Amazon)で実装の詳細を学ぶことも有益です。

関連用語

この記事は役に立ちましたか?

Xはてブ