特集

Windows 11で必須になった「TPM 2.0」って何?TPMの役割や確認方法を紹介

TPM(Trusted Platform Module)の活用図

 Microsoftからの発表によってWindows 11の詳細が明らかになったが、中でも注目を集めているのがシステム要件として定義されている「TPM 2.0」への対応だ。ここでは、TPMの概要と有効化する方法について紹介する。

TPMの役割

 2021年6月25日に発表されたWindows 11のシステム要件で、「TPM 2.0」が明記されたことで、大きな注目を集めるようになった。

 Microsoftは、2016年の時点でWindows 10搭載機に対してTPM 2.0の実装の必要性を公表していたが、今年(2021年)後半のWindows 11のリリースを機に、本格的に必須化を目指していると考えられる。

 TPM(Trusted Platform Module)は、デバイス上で様々なセキュリティ機能を提供するためのモジュールだ。

 暗号化用アルゴリズムエンジン、ハッシュエンジン、鍵生成器、乱数生成器、不揮発性メモリ(鍵などを保管)などを備えたモジュールで、TPM内への暗号キーの作成や使用制限をするために利用される。

 簡単に言えば、暗号化で利用する鍵を安全な場所で管理するための仕組みとなる。

 例えば、金庫に鍵をかける場合、金庫と鍵を同じ場所に置いておくと開けられてしまう可能性が高いが、鍵を金庫とは別の場所(つまりTPM)に保管し、鍵を取り出せる人を厳密に管理することで、金庫の中身を保護するわけだ。

 TPMには、1.2と2.0が存在するが、2.0では機能が大幅に強化されており、仕様も大きく異なる。具体的には、暗号化アルゴリズムとして従来のRCAに加えてECCが利用可能になっていたり、鍵を管理するための階層が1.2の1階層から3階層への分けられているたり、用途向けの機能セットとしてPCだけでなく、携帯電話や車載用などのライブラリも用意されている。

 古いPCの場合、1.2の対応となっているケースがあるが、前述したWindows 11での要件には適していない点に注意が必要だ。

TPMの利用例

 身近なTPMの例は、Windowsの「BitLocker」での利用だろう。

 BitLockerは、デバイスのストレージを暗号化することで、データを保護するための機能だ。万が一、デバイスが盗難されたり、内部のストレージデバイスが取り出されたりしても、データの機密性を保つことができる。

 また、ブートのプロセスを監視し、不正な起動な起動を検出した場合に、ストレージの暗号化を解除できないように制限できる。

 例えば、BitLockerでドライブを暗号化したPCをUSBメディアなどの別のOSから起動しようとした場合を考えてみよう。

 通常のブート時は、TPMとシステムファームウェアが互いに連携し、正常な(許可された)システムの起動時の測定値(コンピューターのUEFI/BIOSファームウェアコードと構成、元のブートシーケンス、ブートコンポーネント、BCD構成)を記録している。しかし、USBなど別の媒体からブートしようとすると、正常時に記録されていたこれらの値が変わる。

 これを検知することで、ストレージの暗号化を解除するためのTPM上のBitLocker暗号鍵へのアクセスを禁止し、結果的にブート不可能な状態にすることができる。

 このほか、Credential GuardやWindows Hello for Businessなどでも利用されており、Windowsのセキュリティ機能で広く活用されている。

ディスクリートTPMからファームウェアTPMへ

 TPMとして広く知られているのは、ディスクリート型のTPMだ。ビジネス向けのPCなどで一般的で、マザーボード上にTPMモジュールが装着されているケースとなる。

 こうした製品は、スペック表などにもTPM対応が謳われているため対応の可否が分かりやすいが、コンシューマー向けの製品では、そもそもディスクリート型のTPMモジュールが搭載されるケースは少ない。

ASUS製のディスクリートTPMモジュール「TPM-M R2.0

 自作PCユーザー向けのマザーボードなどでは、TPMモジュール装着用のピンヘッダが用意され、そこに別売りのモジュールを差し込んで利用することもできるが、実際に装着して利用している例は少数派だろう。

 では、コンシューマー向けのPCでは、TPM 2.0必須のWindows 11は使えないのか?というと決してそうではない。

 最近では、チップセットやCPU内のSoCに搭載されたTPM機能をマザーボード上のファームウェアと組み合わせて利用するファームウェアTPM(fTPM)が一般化しており、古いCPUやファームウェアが非対応のマザーボードを使っている場合を除き、ほとんどのケースでTPM 2.0を利用可能になっている。

 このため、メーカーやモデルによって対応状況が異なるケースもあるが、ノートPCやデスクトップPCなど、コンシューマー向け製品であっても標準でTPMが利用可能になっているケースが多い。

 例えば、Intelプラットフォームであればチップセットの仕様表で「Intel PTT(Platform Trust Technology)」に対応しているかどうかを確認すればいい。第6世代Core(Skylake)のIntel 100シリーズのチップセットでもサポートされているので、古いPCでない限りは対応していると考えられる(そのPCでWindows 11が動くかどうかは別の話だが……)。

Intelプラットフォームでは、チップセットの仕様で「Intel PTT(Platform Trust Technology)」をチェック。画面では下のほうにカタカナで「インテル プラットフォーム・トラスト・テクノロジー(インテル PTT)」と書かれている

 一方、AMDプラットフォームは、法人向けのRyzen PROシリーズでfTPM対応でのサポートが公表されているが、コンシューマー向けのRyzenシリーズではfTPMへの対応は明記されていない。

 しかしながら、実際には利用可能になっているケースがあり、実際に筆者が所有しているRyzen 3900XでもfTPMが利用可能だ。

AMDプラットフォームはRyzen PROシリーズが正式対応だが、それ以外のCPUでも利用可能なケースがある

Windows 11「PC正常性チェック」でNGになる理由の1つ

 読者の中には、Windows 11の発表と同時に公開された「PC正常性チェック」アプリを利用してWindows 11へのアップグレードの可否をチェックした際に、「このPCではWindows 11を実行できません」と表示される場合があるだろう。

CPUやメモリ、ストレージなどの要件を満たしていても「実行できません」と表示される

 このツールは、理由が明確に表示されないため不親切だが、おそらく非対応となる理由の1つは「TPM 2.0」だ。もちろん、CPUやストレージなどの要件を満たしてない場合もあるが、マザーボードのファームウェアでfTPMが有効になっていない可能性が高い。

 特に、自作PCユーザーで、ファームウェアのアップデートなどをこまめに実行しているユーザーの場合、このメッセージが表示される確率はアップする。なぜなら、ファームウェアのアップデート時にPTTおよびfTPMが無効になるケースが多いからだ。

 マザーボードによってはPTT/fTPM対応ファームウェアが搭載されていなかったり、対応ファームウェアへのアップデートが必要になる場合があるが、最近のPCであれば起動時のUEFI(BIOS)セットアップ画面からIntel PPTやAMD fTPMを有効化することで利用可能になる。

ASUS製マザーボードのUEFI設定に用意されているIntel PTTの項目。これをEnabled(有効化)すれば、Intel PTTが動作する
こちらはAMD fTPMの有効化画面

 PTT/fTPMが有効になっているかどうかは、次のいずれかの方法で確認できる。

BitLocker

 コントロールパネルのBitLocker設定でシステムドライブのBitLockerの有効化をしようとすると、TPMが無効になっているかどうが分かる。

TPMが有効になっていればシステムドライブでBitLockerを有効化できる

TPMの管理

 上記BitLockerの設定画面から「TPMの管理」リンクをクリックするか、コマンドを指定して実行で「tpm.msc」を実行すると、TPMが実装されているかどうかが分かる。

TPMが有効になっていると設定が表示される

デバイスマネージャー

 デバイスマネージャーの「セキュリティデバイス」に「トラステッドプラットフォームモジュール2.0」が表示されているかを確認。

TPMが有効になっているとトラステッドプラットフォームモジュール2.0が表示される

コマンド

 PowerShellで「Get-Tpm」を実行することで対応を確認できる。

PowerShellでも有効化かどうかを確認できる

 なお、UEFIの設定画面でfTPM設定時にデータを消去することができるが、これには注意が必要だ。不用意に削除すると、TPMに保存されている鍵が消去されてしまう。すでにfTPMが有効になっている場合で、かつBitLockerによる暗号化を設定している場合などは、消去しないように注意しよう。

 さらに、マザーボードによっては警告メッセージが表示されるが、Ryzenの場合、CPUを交換するとTPMのデータも置き換わる(CPUのSoCにTPMが搭載されているため)。Windows 11導入の際に、CPU交換なども考えている場合は、鍵の扱いに注意が必要だ。BitLockerなどはあらかじめ解除してからCPUを交換しないと起動できなくなる可能性がある。

 いずれにせよ、Windows 11登場前までに、一度対応をチェックしておくことをおすすめする。