TPM
暗号鍵を外部に出さずに保護し、起動環境の改ざん検証を担うセキュリティモジュール。
セキュリティチップ
EK(保証鍵/Endorsement Key)
TPM固有の非対称鍵ペア。秘密側はTPMの中に保持され外部に一切公開されない。製造元が署名したEK証明書が付き、本物のTPMであることを示す。
SRK(ストレージルート鍵/Storage Root Key)
TPMが生成する他の鍵を包む(ラップする)ための親鍵。TPM外部に暗号化して置いた鍵を実質的に何本でも扱えるようにする。
AIK(証明用の鍵/Attestation Identity Key)
EKの代わりに外部へ提示する身分証となる鍵。EKをそのまま公開するとPCが一意に識別されプライバシー上の問題になるため、認証局がEK証明書を使って発行する。
PCR(Platform Configuration Register)
起動時の測定値を積み上げるTPMの特殊なレジスタ(0〜23番)。Extend操作でしか値を進められず、任意の値を直接書き込めない。値は再起動でリセットされる。
測定起動(Measured Boot)
実行する前に次に読み込むコンポーネントを測定(ハッシュ化)してTPMのPCRに記録する起動プロセス。BitLockerの鍵封印の土台になる。
BitLocker
ドライブ全体を暗号化して紛失・盗難・不適切な廃棄によるデータ流出を防ぐWindowsの機能。
BitLockerドライブ暗号化
UEFIセキュアブート
署名検証に通ったブートコンポーネントだけを起動させるUEFIの仕組み。
セキュアブート
BitLocker回復モード
起動環境の変化などで通常の解錠ができず、回復キーの入力を求められる状態。
回復画面
ファームウェア更新
PCのBIOS/UEFIファームウェアを更新する作業。
BIOS更新
UEFI更新
ハードウェア交換
マザーボード交換やドライブの別PCへの移設など、起動環境が変わるハードウェアの変更。
マザーボード交換
ドライブ移設
TPMのクリア
TPMに紐づく鍵と、その鍵で保護されたデータ(仮想スマートカードやサインインPINなど)をすべて失わせる操作。ディスク上のデータそのものは消去しない。
保護の一時停止(サスペンド)
暗号化を保ったままBitLockerの保護を一時的に無効化する操作。既定では再起動で自動再開する。
Windows Hello for Business
デバイスごとにプロビジョニングされた鍵と、PINや生体情報を組み合わせて認証する仕組み。TPMがあれば鍵をTPMが保護する。
TPMの辞書攻撃対策(ロックアウト)
認証値の推測失敗が一定回数に達するとTPMが追加の試行を拒否する仕組み。TPM 2.0ではWindowsが既定で認証失敗32回でロックし、10分ごとに1回分の失敗を忘れるよう構成する。
Windows 11の最小要件
互換性のある64bit CPU、メモリ4GB、ストレージ64GB、DirectX 12以上・WDDM 2.0のグラフィックス、720p以上のディスプレイ、「UEFI、セキュアブート対応」のファームウェア、TPM 2.0を含む、Windows 11の最小システム要件。
TPM 2.0
複数の暗号アルゴリズムに対応し(暗号アジリティ)、ISO/IEC 11889:2015として国際標準化されたTPM仕様。Windows 11の要件で、ネイティブUEFI構成を前提としレガシー/CSMモードでは動作しない。
レガシー/CSM(Compatibility Support Module)モード
UEFIファームウェアが提供する旧BIOS互換モード。TPM 2.0はこのモードでは動作せず、ネイティブUEFI構成が必要になる。
レガシーBIOS
Windows 11 IoT Enterprise
専用機向けに緩和された最小要件(TPM・セキュアブートが任意になりうる)を持つWindows 11のエディション。緩和対象はIoT Enterprise LTSCと非LTSCの24H2以降で、非LTSCの21H2〜23H2はTPM 2.0が必須。IoTなしのWindows 11 Enterprise LTSCは緩和対象外。
Platform Crypto Provider
TPMを利用するCNGキーストレージプロバイダー(KSP)。秘密鍵を安全に保管し、悪意あるソフトウェアからも取り出せないようにする。
CNG(Cryptography API: Next Generation)
暗号プロバイダーとキーストレージプロバイダーを分離したWindowsの暗号API。Platform Crypto ProviderはこのキーストレージプロバイダーのTPM実装。
TBS(TPM Base Services)
アプリケーション横断でTPMアクセスを調停する、RPC経由のAPIを提供する低レベルシステムサービス。鍵保管用途にはより高水準なキーストレージAPIの利用が推奨される。
アプリの秘密情報
業務アプリが扱う接続文字列・APIキーなどの秘密情報。ログオン済みマシンではドライブ暗号化では守れない。
接続文字列
APIキー
Credential Guard
資格情報のハッシュ処理をカーネルからアクセスできない分離メモリ領域で行う機能。TPMを使ってその領域の鍵を測定値で保護する。
デバイスの正常性証明(Device Health Attestation)
TPMの測定起動情報をAIKで解析し、BitLockerやセキュアブートの有効性などを単純な表明に変換して、MDMの条件付きアクセス判断に使うサービス。
仮想スマートカード
TPMを常に挿さっているスマートカードとして振る舞わせる機能。現在はWindows Hello for BusinessやFIDO2セキュリティキーへの移行が推奨されている。
ディスクリートTPM(dTPM)
マザーボード上に実装された独立した専用TPMチップ。OEMがシステム本体とは別に評価・認証できる。
ファームウェアTPM(fTPM)
汎用CPUの信頼実行環境(TEE)上でソフトウェアとして動作するTPM実装。小型・低消費電力のデバイスに向く。
Microsoft Pluton
CPUに統合された、マイクロソフト設計のセキュアな暗号プロセッサ。TPMの機能を提供しつつTPM 2.0仕様の範囲を超えた機能も持ち、ファームウェアをWindows Update経由でも更新できる。
Get-Tpm
TPMの状態(存在・準備状態・ロックアウト等)をまとめて確認するPowerShellコマンドレット。
manage-bde
BitLockerの状態確認・プロテクター管理を行うコマンドラインツール。
データ消去手順
初期化(リセット)・専用消去ツール・物理破壊など、検証可能な形でデータを消す手順。
初期化・消去ツール・物理破壊
TPM固有の保証鍵(EK)を持ち、秘密側は他のコンポーネント・ソフトウェア・プロセス・ユーザーに一切公開されない
他の鍵を包む(ラップする)ための親鍵SRKを持ち、TPM外部の記憶領域に暗号化して置いた鍵を実質的に何本でも扱えるようにする
AIK証明書は認証局がEKとその証明書を使って発行する。EKをそのまま外部提示するとPCを一意に識別できてしまうため、実際のシナリオではAIKを代わりに使う
起動時の測定値を積み上げるPCRを実装し、Extend操作でしか値を進められない一方向の記録を提供する
測定起動は、次に実行するコンポーネントを実行前にハッシュ化してPCRへExtendする。値は再起動でリセットされる
BitLockerは測定起動の値が期待どおりのときだけ鍵を解放する封印(sealing)を使う
ネイティブUEFIの既定ではPCR 0・2・4・11、セキュアブートに対応していれば既定でPCR 7・11に鍵が封印される
セキュアブートの有効状態と信頼する鍵はPCR 7に測定される
PCR 7はセキュアブートの有効状態と信頼する鍵を測るため、ファームウェアやイメージそのもののハッシュであるPCR 0/2/4より値が変わりにくく、更新による回復モード突入の可能性が下がる
ファームウェア更新はPCR 0(コアシステムファームウェアの実行コード)などの測定値を変えるため、PCR 0/2/4に封印している構成では回復モードに入る。PCR 0/2/4など更新で変化する測定値に鍵を封印している構成に限る
マザーボード交換だけでなく、OSディスクだけを別PCへ移設する場合も、封印した鍵は元のPCのTPMの中にあるため実質的に同じ扱いになる。TPMに鍵を封印している構成に限る
TPMをクリアすると封印した鍵そのものが消え、事前に一時停止していなければ回復キーが唯一の復旧手段になる
TPMのクリア・マザーボード交換・ファームウェア更新の前にBitLockerを一時停止しておけば、クリアキー保護が残るためTPMをクリアしても回復キーなしで起動して再封印できる
TPM搭載PCでは、4桁のPINでも安全に成立する根拠として、認証失敗32回でロックアウトする辞書攻撃対策をハードウェア側に置く。TPMのないPCでは鍵がソフトウェア保護になり、この裏付けは得られない
Windows 11の最小要件はTPM 2.0と「UEFI、セキュアブート対応」のシステムファームウェア
要件が求めるのはセキュアブートへの対応であって、有効化そのものではない
TPM 2.0搭載デバイスはBIOSモードをネイティブUEFIのみに構成する必要があり、レガシー/CSMオプションは無効化しなければならない
非LTSCのWindows 11 IoT Enterprise 21H2〜23H2ではTPM 2.0は依然として必須で、任意になるのはIoT Enterprise LTSCと非LTSCの24H2以降のみ
TPMを利用するCNGキーストレージプロバイダーで、秘密鍵を安全に保管して取り出せないようにする
CNGは暗号プロバイダーとキーストレージプロバイダーを分離しており、Platform Crypto ProviderはそのKSPの1つとして実装される
鍵の保管・署名・暗号化の用途にTBSを直接使うことは推奨されない。より高水準で扱いやすいキーストレージAPI(CNGのPlatform Crypto Provider)を使うべき
証明書の秘密鍵や端末固有の鍵をTPMで守りたいとき、CNGのPlatform Crypto Providerが推奨される手段
資格情報のハッシュ処理を行う分離メモリ領域の鍵を、TPMが測定値で保護する
正常性証明サービスはAIKを使って測定起動の情報を解析し、BitLockerやセキュアブートの状態を単純な表明に変換してMDMへ渡す
デバイスごとにプロビジョニングされた鍵をTPMがあればTPMが保護し、なければソフトウェアで保護する
TPMを常に挿さっているスマートカードとして振る舞わせる機能
マイクロソフトは現在、仮想スマートカードの利用者にWindows Hello for BusinessやFIDO2セキュリティキーへの移行を推奨している
TPM 2.0ではロックアウト方針をWindowsが構成し、実装ごとにばらついたTPM 1.2から一貫した辞書攻撃対策になった
複数のTPM実装を切り替えられる機種があるが、Windowsはこの構成をサポートせず、切り替えるとBitLockerが回復モードに入る
PlutonはTPMの機能を提供しつつ、TPM 2.0仕様の範囲を超えたセキュリティ機能も提供するよう設計されている
TpmPresent・TpmReady・LockedOutなどの状態はGet-Tpmでまとめて確認できる
どのPCR検証プロファイルに封印されているかは、manage-bde -protectors -get C: で確認できる
TPMのクリアはTPM内の鍵を失わせるだけでディスク上のデータは1バイトも消えないため、廃棄・譲渡時のデータ消去の代わりにはならない
複数TPM搭載システムでの切り替えなど、TPM側の状態変化そのものも回復モードの引き金になる