fTPMは信頼された実行環境でファームウェアとして動くTPM実装で、AMDはfTPM、IntelはPTT(Platform Trust Technology)と呼びます。dTPMはマザーボードに載る独立したTPMチップです。Windows 11はどちらでもTPM2.0の要件を満たし、普段の使い勝手もほぼ変わりません。違いが出るのは、物理的に攻められたときにどこが弱いかです。この記事では、TPM2.0の役割を押さえたうえで、fTPM・dTPM・PTT・Microsoft Plutonの違い、方式ごとに報告されている脆弱性と不具合、BIOSでの切り替えと「Press Y to reset fTPM」が出たときの判断、Windowsでの確認方法を順に整理します。
まとめ:fTPM・PTT・dTPMの実装の違いとWindows 11への対応
- fTPM(AMD)とIntel PTT:AMD Secure ProcessorやIntelのManagement Engineなどの隔離された実行環境でTPM2.0を動かすファームウェア実装。追加の部品は要らず、近年のPCの多くはこの方式です。
- dTPM:マザーボード上の独立したチップ。単体で評価・認証を受けられる反面、CPUとの間の配線(LPC/SPIバス)を盗聴されるとBitLockerの鍵を抜かれる攻撃が公開されています。
- Microsoft Pluton:CPUに組み込まれたMicrosoft設計のセキュリティプロセッサで、Ryzen 6000以降やCore Ultra 200Vなどに載っています。TPMとして使えるかは搭載世代によって異なり、Intelと2026年以降の新しいAMD/Qualcommプラットフォームでは別のTPM実装を使います。
- どれを選ぶか:一般的な業務PCならfTPM/PTTで足ります。盗難時の物理攻撃まで考えるなら、方式を選ぶよりBitLockerをTPM+PINにするほうが効きます。
- CPUを替えたとき:AMDのマザーボードで「Press Y to reset fTPM」と出たら、BitLockerの回復キーを手元に用意するまでYを押さないでください。
TPM2.0の役割と、1.2から変わった点
TPM(Trusted Platform Module)は、業界団体Trusted Computing Group(TCG)が仕様を定めるセキュリティ機能です。暗号鍵を外へ平文で出さずに生成・保管すること、起動時に読み込んだコードのハッシュ値を記録すること、記録した値に署名して外部へ証明すること、の3つを担います。BitLockerのディスク暗号化、Windows Helloの資格情報の保護、端末の健全性の証明は、いずれもこの機能の上で動いています。
TPM1.2との一番の差は暗号アルゴリズムの幅です。Microsoft LearnのTPMの推奨事項は、1.2ではRSAとSHA-1しか使えないのに対し、2.0ではアルゴリズムを柔軟に選べると説明しています。SHA-256や楕円曲線暗号を使えるため、SHA-1を避ける今の運用には2.0が前提になります。Windows 11のシステム要件も「TPM version 2.0」を求めています。
fTPM・dTPM・Intel PTT・Plutonの違い
TPM2.0は仕様の名前で、どこに実装するかは製品によって違います。Microsoft LearnのTPMの推奨事項は実装を「独立チップ(discrete)」「他の部品と同じパッケージに統合(integrated)」「汎用プロセッサの信頼実行モードで動くファームウェア(firmware)」の3つに分け、Windowsはどれも同じように使い、Microsoftとしてどれが優れているかの立場は取らないと明記しています。
| 方式 | 実装場所 | 主な名称 | 追加部品 | 公開された攻撃の例 |
|---|---|---|---|---|
| dTPM | マザーボード上の独立チップ | Discrete TPM | 要る | LPC/SPIバスの盗聴 |
| fTPM | AMD CPU内のセキュリティプロセッサ | AMD fTPM | 不要 | 電圧フォールト注入(faulTPM) |
| PTT | Intel CPU・チップセット内の実行環境 | Intel PTT | 不要 | タイミング漏えい(TPM-Fail) |
| Pluton | CPUダイ上のセキュリティプロセッサ | Microsoft Pluton | 不要 | 大規模な公開事例は未確認 |
dTPM(ディスクリートTPM)=マザーボード上の独立チップ
dTPMはCPUとは別のパッケージに入ったTPMチップで、LPCやSPIといったバスでCPUとつながります。Microsoft Learnは、独立チップならPCメーカーがTPMをシステムの他の部分と切り離して評価・認証できると説明しています。FIPS 140やCommon Criteriaの認証取得済みチップを指定できるため、調達要件で認証製品を求められる機器ではdTPMが選ばれます。一方で、小型・低消費電力の機器では部品と基板面積の負担が問題になります。弱点は、CPUとの通信が基板上の配線を通る点です(後述)。
AMD fTPMとIntel PTTの実行環境と実装場所
fTPMはAMD CPUに内蔵されたセキュリティプロセッサ(AMD Secure Processor)の上でTPM2.0を動かす実装です。IntelではPTTと呼ばれ、BIOSの項目名もPTTやFirmware TPMになっています。独立したTPMチップとの通信に使うLPC/SPIバスを持たないため、dTPMのその配線を狙う盗聴とは攻撃面が異なります。部品を足さずにTPM2.0を用意できるので、Windows 11の要件が出た2021年以降、多くの自作PCでは「fTPMかPTTを有効にする」だけで要件を満たせました。
AMD fTPMでは、TPMの状態がCPUに結び付く点に注意が必要です。CPUを交換するとfTPMの状態も別物になり、TPMに封印していたBitLockerの鍵が使えなくなります。dTPM自体の鍵はCPU交換だけでは失われませんが、起動構成の変化などでBitLockerの回復キーを求められる場合があるため、交換前のバックアップは必要です。
Microsoft Pluton=CPUに組み込まれたセキュリティプロセッサ
Plutonは、Microsoftが設計しCPUメーカーが製造するセキュリティプロセッサです。Microsoft Learnの解説は「CPUに組み込まれたセキュアな暗号プロセッサ」と定義し、ファームウェアをWindows Updateで更新できる点を特徴に挙げています。搭載プラットフォームとして、AMD Ryzen 6000・7000・8000・9000とRyzen AIシリーズ、Intel Core Ultra 200VシリーズとSeries 3、Qualcomm Snapdragon 8cx Gen 3とSnapdragon Xシリーズが掲載されています。PlutonのTPM機能は搭載世代によって異なります。Microsoft Learnによると、2026年以降に登場するAMD/Qualcommの新しいシリコンではPlutonをTPMとして使わず、Intelも含めてTPM2.0はベンダーのfTPMまたはdTPMが提供します。2025年以前のAMD/QualcommシリコンでPlutonをTPMとして出荷した既存端末は、引き続きサポートされます。
fTPMは危険か:方式ごとに報告された脆弱性と不具合
「fTPMは危険か」への答えは、何を守りたいかで変わります。遠隔攻撃への耐性も、TPMの実装やファームウェアの版、利用するサービスによって異なります。方式の差がとりわけ大きく出るのは、PCが盗まれて時間をかけて分解されるような物理攻撃です。dTPMとfTPMには、それぞれ特定の製品・実装を対象とする攻撃が報告されています。方式名だけで安全性を判断せず、対象製品と修正状況を確認してください。
dTPMのバス盗聴とTPMのみのBitLocker構成への攻撃
BitLockerを「TPMのみ」で使う既定の構成では、起動時にTPMからディスク暗号鍵の元になるVolume Master Key(VMK)がバスを通ってCPUへ渡されます。dTPMはこの通信が基板上の配線に出るため、プローブを当てて読み取れます。LPC接続のdTPMからVMKを抜くSySSの公開ツールや、SPI接続のTPM2.0チップの通信を受動的に監視してVMKを取り出すPico TPM SPIderがGitHubで公開されており、手順と回路が誰でも参照できる状態です。
MicrosoftのBitLockerの対策ガイドは、技能と長時間の物理アクセスを持つ攻撃者を想定する場合、起動前認証をTPM+PINにすること、スタンバイを無効にすること、手元を離れる前にシャットダウンか休止にすることを推奨しています。正しいPINが入力されるまでは鍵が解放されないため、盗難端末を攻撃者が起動してバスを盗聴する攻撃を抑制できます。ただし、正規利用者がPINを入力した起動時まで通信の盗聴を防ぐ仕組みではありません。
faulTPMによるAMD Zen 2/Zen 3の内部状態抽出
2023年4月に公開された論文faulTPMは、AMDのZen 2とZen 3を対象に、電圧フォールト注入でAMD Secure Processorを乗っ取り、fTPMの内部状態をすべて取り出せることを示しました。論文はRyzen 5 3600・5600X・5600Hで攻撃に成功したと報告し、BitLockerの「TPMのみ」の保護は2〜3時間の物理アクセスで破れるとしています。dTPMのバス盗聴が通信の途中を狙うのに対し、faulTPMはTPMの中身そのものを奪う点が深刻です。
同じ論文は、TPM+PINでも単純な実装ならディスクを守れず、BitLockerではPINの複雑さに応じて一定の保護が残ると分析しています。fTPMの状態を奪われた前提では、TPM+PINは「TPMを使わず強いパスフレーズで守る」構成より弱くなる、というのが論文の結論です。Zen 2/Zen 3のノートPCを持ち出す業務で物理攻撃まで想定するなら、英数字を使う拡張PINを検討してください。BitLockerでは事前に「スタートアップの拡張PINを許可する」ポリシーを有効にし、起動前画面で入力できることを確認します。TPMを使わない保護方式は、利用する暗号化製品の対応と管理要件を確認して選びます。
TPM-FailによるIntel PTT・一部dTPMの署名鍵漏えい
2019年に公表されたTPM-Failは、TPMが署名にかける時間のわずかな差から秘密鍵を推定する攻撃です。論文はECDSAとECSchnorrの256ビット秘密鍵を回復できたと報告しており、IntelのファームウェアTPM(PTT)にCVE-2019-11090、STMicroelectronicsのTPMチップにCVE-2019-16863が割り当てられました。ファームウェアとチップの両方で見つかった例で、実装方式よりも「ファームウェアを更新しているか」が効いた事例です。当時のPCでBIOSやIntel MEのファームウェアを更新していないものは、今からでも更新してください。
AMD fTPMで起きた一時的なカクつきと修正版AGESA
2022年には、AMD fTPMを有効にしたWindows 10/11でゲーム中に映像や音声が数秒止まる症状が報告されました。AMDはサポート記事PA-410で、一部のRyzen構成でfTPM関連の処理がマザーボードのSPIフラッシュメモリで長引き、その間システムの応答が一時的に止まると説明しました。修正はBIOS更新で配られ、AMDは修正版BIOSの基盤を「AGESA 1207(1.2.0.7)以降」と指定しています。当面の回避策として、fTPMの代わりにdTPMモジュールを使う方法も挙げていました。
今もカクつきが出るAM4環境では、まずBIOSのAGESAが1.2.0.7以降かを確認してください。fTPMを無効にして回避する方法は、Windows 11ではTPM要件から外れ、BitLockerやWindows Helloにも影響するので勧めません。
BIOSでfTPM/PTTとdTPMを切り替える設定
TPMの有効化と方式の切り替えは、UEFI(BIOS)設定で行います。項目名はマザーボードとBIOSの版で違い、「AMD fTPM」「Intel Platform Trust Technology」「PTT」「Security Device Support」「TPM Device Selection」などの名前で並んでいます。UEFIとは?BIOSとの違いで説明しているセキュアブートの設定と同じ画面に置かれていることが多い項目です。Windows 11へのアップグレード要件はTPM2.0とセキュアブートに対応したUEFIです。セキュアブートの有効化はセキュリティ向上のため推奨されます。
TPM Device SelectionによるFirmware TPM・Discrete TPMの選択
ASUSのマザーボードでは「TPM Device Selection」で方式を選びます。Intel向けボードのASUSのマニュアルには「[Discrete TPM] Disables PTT」「[Firmware TPM] Enables PTT」とあり、Firmware TPMを選ぶとPTTが有効になります。AMD向けボードでは「AMD fTPM configuration」の中に同じ名前の項目があるのが一般的です。
dTPMモジュールを挿していないのにDiscrete TPMを選ぶと、WindowsからTPMが見えなくなります。逆に、BitLockerを使っている状態で方式を切り替えると、それまでのTPMに封印していた鍵が使えなくなり、起動時に回復キーを求められます。切り替え前には、BitLockerの回復キーと重要データをバックアップし、メーカーの移行手順を確認してください。回復キーの保存と保護の一時停止は別の作業です。TPMの変更ではWindows Helloなどの再設定も必要になるため、一時停止だけで移行が完了するとは限りません。
「Press Y to reset fTPM」と表示されたときの判断
AMDのAM4/AM5マザーボードでは、CPUを初めて取り付けたときや別のCPUに交換したときに、起動時にfTPMの確認メッセージが出ます。ASUSのFAQは、fTPMがCPUに内蔵されているため、CPUが変わるとfTPMの状態に違いが生じるのが原因で、これは正常な動作だと説明しています。
- Y(リセット):fTPMを新しいCPUの状態で初期化して起動します。ASUSのBIOSマニュアルは、BitLockerなどで暗号化されたシステムでは回復キーがないと起動できなくなると警告しています。
- N(保持):以前のfTPMの記録を残して起動を続けます。元のCPUに戻す予定がある場合や、一時的に別のCPUを挿しただけの場合に選びます。
判断の手順は単純です。BitLockerやデバイスの暗号化を使っているなら、回復キーをMicrosoftアカウントの回復キーのページや社内の管理基盤で確かめてからYを押します。回復キーが見つからないうちはYを押さないでください。Nで記録を保持しても、新しいCPUでは以前のfTPMを使えず、Windowsを起動できるとは限りません。元のCPUに戻して起動できる場合は、そこで回復キーをバックアップしてください。CPUを恒久的に替えたのにNを選び続けても、新しいCPUのfTPMは使えません。
TPM2.0の確認方法とfTPM/dTPMの見分け方
Windowsで手早く確かめるなら、Windowsキー+Rでtpm.mscを開きます。Microsoftのサポート記事のとおり、「TPMの製造元情報」の「仕様バージョン」が2.0なら要件を満たしています。設定アプリの「Windows セキュリティ」→「デバイス セキュリティ」→「セキュリティ プロセッサの詳細」でも同じ情報を見られます。
スクリプトで確かめるなら、管理者のPowerShellでGet-Tpmを使います。Get-Tpmのリファレンスによると、TPMの有無(TpmPresent)や使える状態か(TpmReady)、製造元の略号(ManufacturerIdTxt)とファームウェアの版(ManufacturerVersion)が返ります。仕様の版はWMIのWin32_TpmクラスのSpecVersionで確認できます。
# TPMの有無・状態・製造元を確認する(管理者のPowerShell)
Get-Tpm | Select-Object TpmPresent, TpmReady, TpmEnabled, ManufacturerIdTxt, ManufacturerVersion
# 対応している仕様の版(SpecVersion)を確認する
Get-CimInstance -Namespace root/cimv2/security/microsofttpm -ClassName Win32_Tpm |
Select-Object SpecVersion, ManufacturerVersion
fTPMかdTPMかを調べる際は、ManufacturerIdTxtの製造元が手掛かりになります。ただし、この値が示すのは製造元であり、実装方式そのものではありません。最終的にはUEFI設定や機種の仕様書も確認してください。Microsoftのリファレンスの出力例は「INTC」(Intel)です。CPUメーカーの略号ならfTPM/PTT、InfineonやNuvoton、STMicroelectronicsなどTPMチップメーカーの略号ならdTPMと推定できます。社内PCをまとめて点検するときは、この値を資産管理ツールに集めておくと、TPM-FailやfaulTPMのような方式依存の脆弱性が出たときに対象機をすぐ絞り込めます。
鍵の封印とPCR:TPM2.0が起動状態を記録する仕組み
TPMの中では、製造時に書き込まれ外に出ないエンドースメントキー(EK)や、保管用の土台になるストレージルートキー(SRK)を根に鍵が枝分かれします。特徴的なのがシーリング(封印)で、鍵を「特定のPCRの値が一致したときだけ取り出せる」条件付きで封じます。BitLockerはこの仕組みでディスク暗号鍵を守り、起動の途中が書き換えられていれば鍵を出しません。
PCR(Platform Configuration Register)は計測値を積み上げるレジスタで、任意の値を直接代入するものではなく、通常の計測では今の値と新しいハッシュをつないで再びハッシュする「extend」で更新します。ただし、PCRの種類や実行条件によってはリセットも可能です。ファームウェア、ブートローダー、OSカーネルが順に記録されるこの流れをMeasured Bootと呼びます。署名を検証して不正なコードの起動を止めるセキュアブートの仕組みが予防、Measured Bootが記録と事後の検証を受け持ちます。記録したPCRの値にTPMの鍵で署名し、外部の検証サーバーへ健全性を示す流れはリモートアテステーションの仕組みで詳しく扱っています。
BIOSを更新したり、セキュアブートの設定を変えたりするとPCRの値が変わり、BitLockerが回復キーを求めることがあります。これはTPMが改ざんと区別できない変化を正しく検知した結果です。BIOS更新の前には、BitLockerを一時停止(Suspend-BitLocker -MountPoint C: -RebootCount 1)する方法があります。ただし、この指定では再起動1回で保護が再開するため、複数回再起動する更新ではメーカーの手順に合わせてください。更新前には回復キーを保存し、更新後には保護が再開したことを確認します。
業務PC・受託開発でTPMの方式を選ぶ判断
調達でTPMの方式を指定する場面は、次の基準で決めれば迷いません。
- 一般的な業務PC:対応するfTPM/PTTで通常の用途を満たせます。PlutonをTPMとして使う場合は、その端末がTPM機能に対応した世代・構成かを確認します。方式よりも、BitLockerの回復キーを管理基盤で預かれているか、BIOSとファームウェアを更新し続けられるかのほうが事故を左右します。
- 持ち出し端末で盗難時の物理攻撃まで想定する場合:方式を変えるよりBitLockerをTPM+PINにします。TPM+PINは、PINを知らない攻撃者が盗難端末を起動して鍵を盗聴する攻撃を抑制します。fTPMのfaulTPMはPINの強さ次第なので、長いPINにします。
- FIPS 140やCommon Criteriaの認証を要件にする機器:認証済みのdTPMチップを指定します。fTPMでは要件を満たせないことがあります。
- サーバーやCPUを差し替える前提の機器:CPUの交換でTPMの状態が変わらないdTPMが運用しやすくなります。
フリート全体で端末の健全性を確かめたいなら、独自の証明基盤を作るより、Microsoft IntuneなどのMDMが持つデバイス正常性の確認から始めるのが堅実です。Windows AutopilotとMicrosoft Entra ID連携で扱う端末展開のうち、自己展開モードと事前プロビジョニングはTPMアテステーションを使い、ユーザー駆動モードは使いません。TPMの無い端末を混ぜる場合は、展開モードを先に決めておきます。端末側の守りが設計どおり効いているかを外から確かめる工程として、一創では脆弱性診断・セキュリティ診断を受託しています。
よくある質問
fTPMを無効にするとどうなりますか?
WindowsからTPMが見えなくなり、Windows 11のTPM2.0要件を満たさなくなります。BitLockerがTPMで鍵を守っている場合は、次回の起動で回復キーを求められ、Windows HelloのPINのようにTPMに鍵を置く機能も使えなくなります。無効にする必要があるときは、先にBitLockerの回復キーを控えてください。
AMD fTPMを有効にするにはどうすればいいですか?
起動時にDeleteキーなどでUEFI(BIOS)設定を開き、Advancedメニューの「AMD fTPM configuration」などの項目で、TPM Device Selectionを「Firmware TPM」にして保存・再起動します。項目名はメーカーとBIOSの版で異なり、古いBIOSでは項目自体が無いこともあるので、その場合はBIOSを更新します。有効にしたらtpm.mscで仕様バージョンが2.0になっているか確認します。
fTPMとdTPMはどちらがよいですか?
一般的なPCならfTPM(IntelならPTT)で問題ありません。Windowsはどの方式も同じように使い、性能差もほぼありません。FIPSなどの認証製品を要件にする機器や、CPUを交換する前提のサーバーではdTPMを選びます。盗難対策が目的なら、方式よりBitLockerをTPM+PINにするほうが効果があります。
BIOSを更新するとfTPMはどうなりますか?
BIOSの更新で起動時の計測値(PCR)が変わるため、BitLockerが回復キーを求めることがあります。更新の前に回復キーを控え、Suspend-BitLockerでBitLockerを一時停止しておくと安全です。
TPMがあればセキュアブートは不要ですか?
不要にはなりません。セキュアブートは署名を検証して不正なコードの起動を止め、TPMは起動の各段階を記録して鍵の封印や証明に使います。役割が違うため、Windows 11の要件もTPM2.0とセキュアブートへの対応を別々に挙げています。