Windows 11+TPM 1.2で制限される機能

対象プロダクト:Windows 11
カテゴリー:機能

TPM(Trusted Platform Module)とは

TPMは端的に言えばハードウェア上にOpenSSLエンジンがハードコーディングされたセキュリティチップです。

最近では物理的なTPMモジュールだけではなく、CPUにファームウェア(Intel CPU の場合 PTT と呼ばれる)としても実装されています。

TPMの仕組み

TPMは暗号化アルゴリズム、ハッシュ関数、鍵生成器、乱数生成器(RNG)を有しており、外部ソースに依存することなく自身の乱数生成器を用いて鍵ペア(秘密鍵・公開鍵)を生成する事ができます。

OSやアプリケーション側はTPMチップ内の暗号化APIを用いて鍵ペアを生成したり、データの暗号化や複合化、検証等を実施します。殆どの処理はTPMモジュール側で実行され、OSではAPIを用いた処理を実行するのみであるため従来よりもソフトウェア側の処理はシンプルになります。

なお、TPMのAPIを使用した操作はPowerShellのコマンドからも実行できます。

PowerShellから実施可能なTPM関連コマンド
コマンド 説明
Clear-Tpm TPMをデフォルトの状態にリセットします。
ConvertTo-TpmOwnerAuth 指定された文字列からTPM所有者認証値を作成します。
Disable-TpmAutoProvisioning TPM自動プロビジョニングを無効にします。
Enable-TpmAutoProvisioning TPM自動プロビジョニングを有効にします。
Get-Tpm TPMに関する情報を含むオブジェクトを取得します。
Get-TpmEndorsementKeyInfo TPMの承認キーと証明書に関する情報を取得します。
Get-TpmSupportedFeature TPMが指定された機能をサポートしているかどうかを確認します。
Import-TpmOwnerAuth TPM所有者認証値をレジストリにインポートします。
Initialize-Tpm TPMのプロビジョニングプロセスの一部を実行します。
Set-TpmOwnerAuth TPM所有者許可値を変更します。
Unblock-Tpm TPMロックアウトをリセットします。

参考 TrustedPlatformModule

TPM 1.2 環境で Get-Tpm コマンドを実行時の例)

PS C:\WINDOWS\system32> Get-Tpm


TpmPresent                : True
TpmReady                  : True
TpmEnabled                : True
TpmActivated              : True
TpmOwned                  : True
RestartPending            : False
ManufacturerId            : 1229346816
ManufacturerIdTxt         : IFX
ManufacturerVersion       : 4.40
ManufacturerVersionFull20 : TPM 1.2 ではサポートされません
ManagedAuthLevel          : Delegated
OwnerAuth                 :
OwnerClearDisabled        : True
AutoProvisioning          : Enabled
LockedOut                 : False
LockoutHealTime           : TPM 1.2 ではサポートされません
LockoutCount              : TPM 1.2 ではサポートされません
LockoutMax                : TPM 1.2 ではサポートされません
SelfTest                  : {128, 0, 1, 255}

Windows 11でMicrosoftがTPMを必須にしたかった理由

TPMではハードウェア(TPMチップ)内のメモリに秘密鍵が保存されるため、従来のソフトウェア上で作成するSSL証明書のように秘密鍵が漏洩したり不正に変更される心配がありません。

また、これによりOSはTPMチップ内の鍵を脆弱なシステムメモリにコピーせずに読み込んで使用できるため、例えばマルウェア等の攻撃に対して安全になります。

加えて、ビデオエンコーダーに代表されるようにそれまでソフトウェア的に実行していたものをハードウェア上に実装することで処理の高速化や機能の統一化も図れます。開発コストやパフォーマンスへの影響を抑えてよりセキュアなOSにするためには、OS上のさまざまな認証や暗号化、改竄検証の処理をTPMに統合することが理想であり、今後多くの機能にTPMが用いられて行く事が予想されます。

その足がかりとして、まずWindowsをTPM機能必須にする必要があったのです。

具体的にどのような機能でTPMが使われている?

TPMはセキュリティチップと言われるようにOSのセキュリティ機能に使われます。

TPMではハードウェア的に鍵ペア(秘密鍵・公開鍵)の生成や暗号化・復号化、ハッシュ値の計算、デジタル署名機能が備わっているため、OS全体の完全性(改竄検知)や機密性(暗号化)の機能を実装でき、主にディスクの暗号化(BitLocker)やログイン認証(Windows Hello)等に用いられています。

TPM を使用する Windows の機能

  • メジャー ブート
  • BitLocker
  • デバイスの暗号化
  • Windows Defender アプリケーションコントロール (Device Guard)
  • Windows Defender System Guard (DRTM)
  • Credential Guard
  • デバイス正常性構成証明
  • Windows Hello/Windows Hello for Business
  • UEFI セキュア ブート
  • TPM プラットフォームの暗号化プロバイダー、キー記憶域プロバイダー
  • 仮想スマート カード
  • 証明書ストア
  • Autopilot
  • SecureBIO

TPMチップを用いることで、ハードウェア側でOSやデバイスの保護(暗号化・改竄検知)が行えるようになりますが、万能というわけではありません。TPMではランサムウェアやマルウェアによる攻撃には無力であり、ユーザーにとってそれらが依然として脅威であることに変わりはありません。むしろシステム側がより安全にシステムを保護できるようになる(脆弱性の影響を受けにくくなる)という点のメリットが大きいのではないでしょうか。

TPM 1.2と2.0の違い

なぜMicrosoftはWindows 11でTPM 2.0を必須にしたのでしょうか?1.2ではダメなのでしょうか?そこで、バージョン1.2と2.0の違いについて簡単に比較してみましょう。

1.2と2.0の最も大きな違いは暗号アルゴリズム・ハッシュ関数の種類と複数階層のサポートです。

参考階層にはプラットフォームの製造元が使用することを目的としたプラットフォーム階層、OSやアプリケーションにより使用されることを目的としたストレージ階層承認階層Null階層があります。

TPM 1.2

TPMバージョン1.2で対応している公開鍵認証の暗号アルゴリズムはRSA(RSA-2048)のみ、ハッシュ関数もすでに脆弱であることが知られているSHA-1のみの対応です。

参考安全性の低い SHA-1 証明書はすでに使用されなくなっていることをご存じの方もいるでしょう。Windows 11 がその SHA-1 しか使えない TPM 1.2 をサポートしないというのも確かに頷けます。消去法的に「TPM 1.2 は無い」と判断したのでしょう。

また、TPM 1.2 が対応している階層はストレージ階層(SH)のみです。

TPM 2.0

TPMバージョン2.0はRSAに加えて、AES(Advanced Encryption Standard)ECDSA(Elliptic Curve Digital Signature Algorithm)等の暗号アルゴリズムがサポートされています。ハッシュ関数もより強力なSHA-256(SHA-2)に対応しています。

階層もTPM 2.0ではストレージ階層に加え、プラットフォーム階層(PH)、承認階層(EH)、Null階層にも対応しています。

2.0は1.2に対して信頼性が高いだけではなく暗号化とデータ保護の処理がより高速になるという利点もあります。

Windowsの機能面の違い

具体的なバージョン1.2と2.0の機能面の違い(1.2の制限)として、Windows Defender System Guard、AutoPilot、デバイスの暗号化、SecureBIO などのいくつかの追加機能や高度な機能は、TPMバージョン2.0でのみ利用可能です。TPM 1.2ではこれらの機能を使用できません。

TPM 2.0 が必須となる Windows の主な機能

  • Windows Defender System Guard
  • AutoPilot
  • デバイスの暗号化
  • SecureBIO

参考 TPM の推奨事項

例えばデバイスの暗号化であればシステム情報より利用可能であるかが確認できます。TPMなし、TPM 1.2のいずれの環境もエラーになっていることが確認できます。

TPMなし環境
TPM 1.2環境

特にTPM 1.2環境の場合は「デバイスの自動暗号化が失敗した理由: ハードウェア セキュリティ テスト インターフェイスにエラーが発生しました。デバイスはモダン スタンバイではありません, 許可されていない DMA 対応バス/デバイスが検出されました」というエラー表示になりました。デバイスがモダン スタンバイではないことが原因となっていますが、このモダン スタンバイまたはコネクト スタンバイの証明書を使用するためにはTPM 2.0が必要なのです。

ちなみにデバイスの暗号化を有効化するには UEFI、セキュア ブート、許可されたダイレクト メモリ アクセス (DMA) デバイスなども必須要件となっています。

BitLocker 自動デバイス暗号化のハードウェア要件
BitLocker 自動デバイス暗号化は、次の場合に有効になります。
デバイスに TPM (トラステッド プラットフォーム モジュール) (TPM 1.2 または TPM 2.0) が含まれている場合。
UEFI セキュア ブートが有効になっている場合。 詳細については、「セキュア ブート」を参照してください。
プラットフォームのセキュア ブートが有効になっている場合。
ダイレクト メモリ アクセス (DMA) による保護が有効になっている場合。

参考 BitLocker 自動デバイス暗号化のハードウェア要件

許可されていない DMA 対応バス/デバイスが検出されました」に関しては以下のように説明されています。さらにレジストリ操作による許可リストへのバスまたはデバイスの追加作業が必要のようですね。

許可されていない DMA 対応バス/デバイスが検出されました
デバイスの暗号化サポートでのこのシステム情報の状態は、DMA が脅威にさらされる可能性のある DMA 対応の外部バスまたはデバイスが Windows で少なくとも 1 つ検出されたことを意味します。
この問題を解決するには、IHV に問い合わせて、このデバイスに外部 DMA ポートがないかどうかを確認します。 バスまたはデバイスに内部 DMA しかないことが IHV によって確認された場合、OEM はこれを許可リストに追加できます。

許可されていない DMA 対応バス/デバイスが具体的に何であるのかは不明ですが、それをクリアしたらTPM 1.2でもデバイス暗号化が使えるのか、気になるところですね。

なお、TPM 2.0 では UEFI 起動が必須となります。そのため、Windows 11では UEFI も必須条件となっています。

他のTPMモジュールと交換するとどうなる?

上述したようにTPMモジュール側で鍵を持っているため、もしBitLocker等を使用している場合、TPMモジュールを交換(ファームウェアTPMの場合CPU交換)すると復号化が行えなくなります。そのため、交換前にそれらの機能を無効化しておく必要があります。

特に自作PCユーザーはCPUを交換することがよくあるため、特に注意が必要です。

TPM をクリアする前に実行する注意事項
  • TPM をクリアすると、データが失われる可能性があります。 このような損失から保護するには、次の注意事項を確認してください。
  • TPM をクリアすると、TPM に関連付けられているすべての作成されたキーと、仮想スマート カードやサインイン PIN など、それらのキーによって保護されたデータが失われる原因となります。 TPM によって保護または暗号化されているデータに対して、バックアップと回復の方法があることを確認してください。
  • 仕事や学校の PC など自らが所有していないデバイスでは、IT 管理者による指示のない限り、TPM をクリアしないでください。
  • TPM 操作を一時的に中断する必要があり、Windows 10 バージョン 1507 または 1511、または Windows 11 で TPM 1.2 を使用している場合は、TPM をオフにできます。 詳細については、この記事で後述する「TPM をオフにする」を参照してください。
  • 必ずオペレーティング システムの機能 (TPM.msc など) を使用して、TPM をクリアします。 TPM を UEFI から直接クリアしないでください。
  • TPM セキュリティ ハードウェアは、コンピューターの物理的な部分であるため、TPM をクリアする前に、コンピューターに付属のマニュアルまたは手順を読むか、製造元の Web サイトを検索することをお勧めします。

参考 TPM のトラブルシューティング

完全に自己責任にはなりますが、TPM 1.2搭載世代の中古PCを安く購入して Windows 11 のサブマシンにするというのもありかもしれません。

参考として、Dell Optiplex で TMP 2.0 にアップグレード可能なマシンは以下になります。

  • OptiPlex 3040
  • OptiPlex 3046
  • OptiPlex 3050
  • OptiPlex 3050 All-In-One
  • OptiPlex 3060
  • OptiPlex 3240 All-in-One
  • OptiPlex 5040
  • OptiPlex 5050
  • OptiPlex 5055 Ryzen APU
  • OptiPlex 5060
  • OptiPlex 5250 All-In-One
  • OptiPlex 5260 All-In-One
  • OptiPlex 7040
  • OptiPlex 7050
  • OptiPlex 7060
  • OptiPlex 7440 All-In-One
  • OptiPlex 7450 All-In-One
  • OptiPlex 7460 All-In-One
  • OptiPlex 7760 All-In-One
  • OptiPlex XE3

安心保証付き・パソコン工房の中古パソコン

公開日時:2022年05月02日 21:18:44
最終更新日時:2022年11月24日 15:04:31

なお、Windows Server VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金、リモートデスクトップ(RDS SAL)、Microsoft Office SAL料金を比較していますので、是非参考にしてみてください。

Windows技術情報の一覧に戻る

「機能」に関する他の技術情報

このページのトップに戻る