次の方法で共有


Windows でトラステッド プラットフォーム モジュールを使用する方法

Windows オペレーティング システムでは、ハードウェア ベースのセキュリティが多くの機能の内部に深く配置され、プラットフォームのセキュリティが最大化され、使いやすさが向上します。 これらのセキュリティ強化の多くを実現するために、Windows ではトラステッド プラットフォーム モジュール (TPM) を広範に使用しています。 この記事では、TPM の概要、機能について説明し、TPM が Windows に与える利点と、TPM を使用してデバイスで Windows を実行することの累積的なセキュリティ効果について説明します。

TPM の概要

TPM は、コンピューターのセキュリティとプライバシーを強化する暗号化モジュールです。 コンピューター セキュリティに関連する基本的な機能には、暗号化と暗号化解除によるデータの保護、認証資格情報の保護、システムで実行されているソフトウェアの列挙があります。 TPM は、これらのすべてのシナリオを含むさまざまな状況に役立ちます。

これまで、TPM はディスクリート チップをコンピューターのマザーボードにはんだ付けしてきました。 このような実装により、コンピューターの元の機器メーカー (OEM) は、システムの残りの部分とは別に TPM を評価および認定できます。 ディスクリート TPM はまだ一般的な実装ですが、サイズの小さいまたは電力消費が低い統合デバイスでは問題が生じる場合があります。 最近は、TPM 機能を他のプラットフォーム コンポーネントと同じチップセット内に統合し、ディスクリート TPM チップと同じような分離を論理的に提供する新しい TPM 実装も登場しています。

TPM は受動的なデバイスであり、コマンドを受信して応答を返します。 TPM のメリットを最大限に活用するには、OEM はシステムのハードウェアおよびファームウェアと TPM を慎重に統合して、TMP にコマンドを送信し、返される応答に対応する必要があります。 TPM はもともと、プラットフォームの所有者とユーザーにセキュリティとプライバシーの利点を提供するように設計されていましたが、新しいバージョンでは、システム ハードウェア自体にセキュリティとプライバシーの利点を提供できます。 ただし、TPM を高度なシナリオに使用する前に、TPM をプロビジョニングする必要があります。 Windows では TPM が自動的にプロビジョニングされますが、オペレーティング システムが再インストールされた場合は、TPM のすべての機能を使用する前に、TPM を明示的に再プロビジョニングする必要がある場合があります。

Trusted Computing Group (TCG) は、TPM の仕様を公開し管理している非営利組織です。 TCGは、相互運用可能な信頼されたコンピューティング プラットフォームについて、ハードウェアベースの信頼のルートをサポートするために、ベンダーに依存しないグローバルな業界標準を策定、定義、推進しています。 TCGは、国際標準化機構 (ISO) と国際電気標準会議 (IEC) の合同の委員会である JTC 1 が定義する公開仕様書提出プロセスを通じて、TPM 仕様を国際標準 ISO/IEC 11889 としても公開しています。

OEM は、PC、タブレット、携帯電話などの信頼されたコンピューティング プラットフォームに TPM をコンポーネントとして実装します。 トラステッド コンピューティング プラットフォームでは、TPM を使用して、ソフトウェアだけでは実現できないプライバシーとセキュリティのシナリオをサポートします。 たとえば、ソフトウェアだけでは、システムの起動プロセス中にマルウェアが存在するかどうかを確実に報告することはできません。 TPM とプラットフォームの密接な統合により、起動プロセスの透明性が高まり、デバイスを起動するソフトウェアの測定と報告の信頼できる結果に基づいて、デバイスの正常性を評価できるようになります。 トラステッド コンピューティング プラットフォームの一部としての TPM の実装は、信頼のハードウェア ルートを提供します。つまり、信頼された方法で動作します。 たとえば、TPM に格納されているキーに、キーのエクスポートを禁止するプロパティがある場合、そのキー は TPM を本当に残すことはできません

TCG は、さまざまな顧客セグメントの要件に対応する低コストのマスマーケット用セキュリティ ソリューションとして TPM を設計しています。 顧客セグメントや規制機関ごとにセキュリティ要件が異なるように、TPM の実装ごとにセキュリティ プロパティは異なります。 たとえば、公共部門の調達では、TPM のセキュリティ要件を明確に定義する政府もあれば、定義していない政府もあります。

イノベーションのスピードが高まるにつれて、TPM とテクノロジの認定プログラムは一般的に進化し続けています。 TPM を持つことは TPM を持たないよりも明らかに優れていますが、Microsoft の最善のアドバイスは、組織のセキュリティ ニーズを判断し、業界の調達に関連する規制要件を調査することです。 結論を導くには、適用されるシナリオ、保証レベル、コスト、可用性のバランスを考慮する必要があります。

Windows の TPM

Windows のセキュリティ機能と TPM の利点を組み合わせることで、実用的なセキュリティとプライバシーの利点が提供されます。 以降のセクションでは、Windows の主要な TPM 関連のセキュリティ機能から始まり、キー テクノロジが TPM を使用してセキュリティを有効または強化する方法について説明します。

プラットフォーム暗号化プロバイダー

Windows には、Cryptographic API: Next Generation (CNG) と呼ばれる暗号化フレームワークが搭載されています。このフレームワークの基本的な方針は、共通のアプリケーション プログラミング インターフェイス (API) を使って、複数の方法で暗号アルゴリズムを実装することです。 暗号化を利用するアプリケーションは、アルゴリズムの実装方法を知らなくても、さらにはアルゴリズムそのものを理解していなくても、共通 API を使うことができます。

CNG はごく一般的な出発点ですが、TPM によって提供されるいくつかの利点を表しています。 CNG インターフェイスの下で、Windows またはサード パーティは、ソフトウェア ライブラリとして単独で、またはソフトウェアと使用可能なシステム ハードウェアまたは Microsoft 以外のハードウェアの組み合わせで実装された暗号化プロバイダー (つまり、アルゴリズムの実装) を提供します。 ハードウェアを通じて実装された場合、暗号化プロバイダーは CNG のソフトウェア インターフェイスの背後にあるハードウェアと通信します。

Windows 8 で導入されたプラットフォーム暗号化プロバイダーでは、次の特別な TPM プロパティが公開されています。ソフトウェアのみの CNG プロバイダーは、提供できないか、効果的に提供できません。

  • キー保護。 プラットフォーム暗号化プロバイダーは、TPM 内にキーを作成し、その使用を制限できます。 オペレーティング システムは、キーをシステム メモリにコピーせずに TPM のキーを読み込んで使用できます。このキーはマルウェアに対して脆弱です。 プラットフォーム暗号化プロバイダーは、TPM がリムーバブルでないように保護するキーを構成することもできます。 TPM でキーが作成された場合、そのキーは一意であり、その TPM にのみ存在します。 TPM がキーをインポートする場合、プラットフォーム暗号化プロバイダーはその TPM のキーを使用できますが、その TPM はキーのコピーを増やしたり、他の場所でコピーを使用したりするためのソースではありません。 これとは対照的に、キーをコピーから保護するソフトウェア ソリューションは、リバース エンジニアリング攻撃の対象となることがあります。その結果、ソリューションがどのようにキーを格納しているかが特定されたり、キーがメモリ内で使われている間にコピーが作成されたりする可能性があります。

  • 辞書攻撃の保護。 TPM で保護されるキーは、PIN などの認証値を要求する場合があります。 辞書攻撃からの保護により、TPM は、大量の推測値を送信して PIN を特定しようとする攻撃を防ぐことができます。 推測回数が多くなりすぎた場合、TPM は、一定期間が経過するまでそれ以上の推測は許容されないというエラーを返します。 ソフトウェア ソリューションでも同様の機能が提供される場合がありますが、特にシステムの再起動、システム クロックの変更、または失敗した推測数をカウントするハード ディスク上のファイルがロールバックされた場合、同じレベルの保護を提供することはできません。 また、辞書攻撃の保護では、PIN などの認証値を短くして覚えやすくすることを許容しながら、ソフトウェア ソリューションで使われる複雑な値と同等の保護を実現します。

これらの TPM 機能により、プラットフォーム暗号化プロバイダーには、ソフトウェア ベースのソリューションにはない明確な利点がもたらされます。 これらの利点を実際に確認する実用的な方法は、Windows デバイスで証明書を使用する場合です。 プラットフォームに TPM が搭載されている場合、Windows は、プラットフォーム暗号化プロバイダーを使って証明書記憶域を提供できます。 証明書テンプレートでは、証明書に関連付けられたキーを保護するために、TPM でプラットフォーム暗号化プロバイダーを使うように指定できます。 一部のコンピューターに TPM がない可能性がある混合環境では、証明書テンプレートは、標準の Windows ソフトウェア プロバイダーよりもプラットフォーム暗号化プロバイダーを好む可能性があります。 証明書がエクスポートできないように構成されている場合、証明書の秘密キーは制限され、TPM からエクスポートすることはできません。 証明書に PIN が必要な場合、PIN は TPM のディクショナリ攻撃保護を自動的に取得します。

仮想スマート カード

Warning

Windows Hello for Business および FIDO2 セキュリティ キーは、Windows 用の最新の 2 要素認証方法です。 仮想スマート カードを使用しているお客様は、Windows Hello for Business または FIDO2 に移行することをお勧めします。 新しい Windows インストールの場合は、Windows Hello for Business または FIDO2 セキュリティ キーをお勧めします。

スマート カードは、通常、1 つの証明書と対応する秘密キーを格納する物理デバイスです。 ユーザーは、内蔵または USB 接続のカード リーダーにスマート カードを挿入し、PIN を入力してロックを解除します。 その後、Windows はカードの証明書にアクセスし、認証に秘密キーを使用するか、BitLocker で保護されたデータ ボリュームのロックを解除できます。 スマート カードがよく使われる理由は、2 要素認証を利用できるためです。2 要素認証では、ユーザーが所有しているもの (つまりスマート カード) と、ユーザーが知っている情報 (スマート カードの PIN など) の両方が要求されます。 ただし、スマート カードは、スマート カードとスマート カード リーダーの両方の購入と展開を必要とするため、コストがかかる場合があります。

Windows では、仮想スマート カード機能を利用することで、常に挿入された状態のスマート カードを TPM で模倣できます。 TPM は ユーザーが持っているもの になりますが、引き続き PIN が必要です。 物理スマート カードでは、カードをロックしてリセットを要求する前の PIN 試行の数が制限されますが、仮想スマート カードは TPM の辞書攻撃保護に依存して、PIN の推測が多すぎるのを防ぎます。

TPM ベースの仮想スマート カードの場合、TPM は証明書秘密キーの使用とストレージを保護するため、使用中の場合や他の場所で保存して使用するときにコピーできないようにします。 別の物理スマート カードではなく、システムの一部であるコンポーネントを使用すると、総所有コストを削減できます。 自宅に残されたカードやカードは適用されず、スマート カードベースの多要素認証の利点は維持されます。 PIN だけでロックを解除できる仮想スマート カードは、ユーザーにとって簡単に使用できるものとなっています。 仮想スマート カードでは、Windows へのサインインやリソース アクセスの認証など、物理スマート カードでサポートされるシナリオと同じシナリオがサポートされます。

Windows Hello for Business

Windows Hello for Business は、パスワードの代わりとなる認証方法を提供します。パスワードは忘れやすいだけでなく、破られやすいという問題があります。 さらに、認証用のユーザー名/パスワード ソリューションでは、多くの場合、複数のデバイスとサービスで同じ資格情報の組み合わせを再利用します。 これらの資格情報が侵害された場合、複数の場所で侵害されます。 Windows Hello for Business は、各デバイスでプロビジョニングされた情報 (つまり暗号化キー) と追加情報を組み合わせてユーザーを認証します。 TPM が搭載されたシステムでは、TPM によってキーを保護できます。 システムに TPM がない場合は、ソフトウェア ベースの手法によってキーが保護されます。 ユーザーが提供する追加情報には PIN の値があります。または、必要なハードウェアがシステムに存在すれば、指紋や顔認証などの生体認証情報を使うこともできます。 プライバシーを保護するために、生体認証情報はプロビジョニングされたデバイスでのみ使用され、プロビジョニングされたキーにアクセスします。デバイス間で共有されることはありません。

新しい認証テクノロジを導入するには、そのテクノロジを ID プロバイダーと組織に展開して利用する必要があります。 Windows Hello for Business を使用すると、ユーザーは既存の Microsoft アカウント、Active Directory アカウント、Microsoft Entra アカウント、または 高速 ID Online V2.0 認証をサポートする Microsoft 以外の ID プロバイダー サービスまたは証明書利用者サービスで認証できます。

ID プロバイダーは、クライアント デバイスの資格情報のプロビジョニングを柔軟な方法で行うことができます。 たとえば、組織では、資格情報が TPM によって保護されていることがわかるように、TPM が搭載されたデバイスだけをプロビジョニングできます。 TPM と TPM を偽装するマルウェアを見分けるには、次の TPM 機能が必要になります (図 1 を参照)。

  • 保証キー。 TPM の製造元は、"保証キー" と呼ばれる特別なキーを TPM 内に作成できます。 製造元によって署名された保証キー証明書は、製造元が作成した TPM に保証キーが存在することを示しています。 ソリューションでは、保証キーを含む TPM と共に証明書を使用して、(マルウェアが TPM のように動作するのではなく) 特定の TPM 製造元の TPM が実際に関与していることを確認できます。

  • 構成証明 ID キー。 プライバシーを保護するために、ほとんどの TPM シナリオでは、実際の保証キーを直接使用しません。 代わりに使われるのが構成証明識別キーです。ID 証明機関 (CA) は、保証キーとその証明書を使って、1 つ以上の構成証明識別キーが本物の TPM に実際に存在することを証明します。 ID CA は構成証明識別キー証明書を発行します。 通常、TPM を一意に識別する保証キー証明書は 1 つであり、同じ保証キー証明書が 1 つ以上の ID CA で確認されます。一方、構成証明識別キー証明書は、他のシナリオで共有される情報を制限するためにいくつでも作成できます。

TPM 機能。 図 1: TPM 暗号化キーの管理

Windows Hello for Business では、ID CA の役割を Microsoft が担うことができます。 各デバイス、ユーザー、ID プロバイダーに対して、Microsoft サービスで構成証明識別キー証明書を発行できます。これにより、プライバシーが確実に保護されると共に、Windows Hello for Business の資格情報をプロビジョニングする前に、デバイスの TPM 要件が満たされていることを ID プロバイダーで確認できます。

BitLocker ドライブ暗号化

BitLocker は、保存データを保護するボリューム全体の暗号化を提供します。 最も一般的なデバイス構成では、ハード ドライブを複数のボリュームに分割します。 オペレーティング システムとユーザー データは、機密情報を保持する 1 つのボリュームに配置します。その他のボリュームには、ブート コンポーネント、システム情報、回復ツールなどの公共の情報を格納します (これらの他のボリュームは、ユーザーに表示する必要がないほど頻繁に使用されません)。保護を強化せずに、オペレーティング システムとユーザー データを含むボリュームが暗号化されていない場合、別のオペレーティング システムを起動し、目的のオペレーティング システムによるファイルアクセス許可の適用を簡単にバイパスしてユーザー データを読み取ることができます。

最も一般的な構成として、BitLocker でオペレーティング システム ボリュームを暗号化すると、電源の入っていないコンピューターやハード ディスクが紛失または盗難に遭った場合でも、ボリューム上のデータの機密性を保つことができます。 コンピューターの電源が入り、正常に起動し、Windows サインイン プロンプトに進むと、ユーザーが資格情報でサインインし、オペレーティング システムが通常のファイルアクセス許可を適用できるようにする唯一のパスになります。 ただし、ブート プロセスに関する何かが変更された場合、たとえば、別のオペレーティング システムが USB デバイスから起動され、オペレーティング システムボリュームとユーザー データを読み取ることができず、アクセスできません。 TPM とシステム ファームウェアは、互いに連携してシステムの起動時の測定値を記録します。これには、ハード ドライブと USB ドライブのどちらから起動したかなど、読み込まれたソフトウェアと構成の詳細が含まれます。 BitLocker は TPM を利用して、想定どおりに起動が行われた場合にのみキーの使用を許可します。 システム ファームウェアと TPM は、連携して次の機能を提供するように慎重に設計されています。

  • 測定のための信頼のハードウェア ルート。 TPM では、ソフトウェアから TPM に対して、ソフトウェアや構成情報の測定値を記録するコマンドを送信することができます。 この情報は、大量のデータを統計的に一意な小さいハッシュ値に変換するハッシュ アルゴリズムを使って計算できます。 システム ハードウェアには、Core Root of Trust for Measurement (CRTM) という暗黙的に信頼されるコンポーネントがあります。 CRTM は、次に読み込まれるソフトウェア コンポーネントを無条件でハッシュ化し、TPM にコマンドを送信して測定値を記録します。 このプロセスは後続のコンポーネントでも継続されます。後続のコンポーネントがシステム ファームウェアでもオペレーティング システム ローダーでも、そこから読み込まれるソフトウェア コンポーネントはすべて実行前に測定されます。 各コンポーネントの測定値は実行前に TPM に送信されるため、コンポーネントは TPM から測定を消去できません。 (ただし、測定値はシステムを再起動すると消去されます)。この結果、TPM には、システムの起動プロセスのステップごとに、ブート ソフトウェアと構成情報の測定値が保持されます。 ブート ソフトウェアまたは構成に変更があると、そのステップと以降のステップの TPM 測定値に相違が生じます。 システム ファームウェアは無条件に測定チェーンを開始するため、TPM 測定に対してハードウェア ベースの信頼の基点が提供されます。 スタートアップ プロセスのいずれかの時点で、読み込まれたすべてのソフトウェアと構成情報の記録値は減少し、測定チェーンは停止します。 TPM では、測定値を保持するプラットフォーム構成レジスタが特定の値を持つ場合にのみ使用できるキーを作成することが可能です。

  • ブート測定値が正確な場合にのみ使用されるキー。 BitLocker は、ブート測定値が想定値と一致する場合にのみ使用できるキーを TPM 内に作成します。 この想定値は、システム ハード ドライブのオペレーティング システム ボリュームから Windows ブート マネージャーが実行されるときに、スタートアップ プロセスのステップに対して計算されます。 暗号化されずにブート ボリュームに格納される Windows ブート マネージャーでは、オペレーティング システム ボリュームからメモリに読み取られたデータを暗号化解除し、暗号化されたオペレーティング システム ボリュームを使ってスタートアップを続行するために、TPM キーを使用する必要があります。 別のオペレーティング システムが起動されている場合、または構成が変更された場合、TPM 内の測定値は異なります。TPM では Windows ブート マネージャーがキーを使用できなくなります。また、オペレーティング システム上のデータを暗号化解除できないため、スタートアップ プロセスを正常に続行できません。 別のオペレーティング システムまたは別のデバイスでシステムを起動しようとすると、TPM のソフトウェアまたは構成の測定値が間違っており、TPM はオペレーティング システム ボリュームの暗号化を解除するために必要なキーの使用を許可しません。 フェイルセーフとして、測定値が予期せず変更された場合は、BitLocker 回復キーを使うことでいつでもボリューム データにアクセスできます。 組織は、回復キーを Active Directory Domain Services (AD DS) に格納するように BitLocker を構成できます。

BitLocker とそのデータ保護機能にとって、デバイスのハードウェア特性は重要な意味を持っています。 1 つの考慮事項は、システムがサインイン画面にあるときに、デバイスが攻撃ベクトルを提供するかどうかです。 たとえば、Windows デバイスに直接メモリ アクセスを許可するポートがあり、ハードウェアを接続してメモリを読み取ることができるようにしている場合、攻撃者は Windows サインイン画面でオペレーティング システム ボリュームの復号化キーをメモリから読み取ることができます。 このリスクを軽減するために、組織では、TPM キーで正しいソフトウェア測定値と認証値の両方が要求されるように BitLocker を構成できます。 この場合、システムのスタートアップ プロセスは Windows ブート マネージャーで停止し、ユーザーは TPM キーの認証値を入力するか、認証値が格納された USB デバイスを挿入するように求められます。 このプロセスは、脆弱性となり得るメモリに BitLocker によってキーが自動的に読み込まれることを防ぎますが、ユーザー エクスペリエンスは望ましいものではありません。

新しいハードウェアと Windows は連携して、ポートを介した直接メモリ アクセスを無効にし、攻撃ベクトルを減らします。 これにより組織では、スタートアップ プロセスでユーザーに追加の認証情報の入力を要求することなく、より多くのシステムを展開できます。 適切なハードウェアを使用すると、BitLocker を "TPM 専用" 構成で使用できるため、起動時に PIN キーや USB キーを入力することなく、ユーザーにシングル サインオン エクスペリエンスを提供できます。

デバイスの暗号化

デバイスの暗号化は、BitLocker のコンシューマー向けのバージョンであり、基盤となるテクノロジは同じです。 お客様が Microsoft アカウントでログオンし、システムがモダン スタンバイ ハードウェア要件を満たしている場合、Windows では BitLocker ドライブ暗号化が自動的に有効になります。 回復キーは Microsoft クラウドにバックアップされ、ユーザーの Microsoft アカウントを通じてアクセスできます。 モダン スタンバイ ハードウェア要件は、ハードウェアがデバイス暗号化の展開に適していることを Windows に通知し、単純なコンシューマー エクスペリエンスに対して "TPM 専用" 構成を使用できるようにします。 また、モダン スタンバイ ハードウェアは、測定値が変化してユーザーに回復キーを求める状況が発生する可能性を抑えるように設計されています。

ソフトウェアの測定値については、デバイスの暗号化では、ソフトウェア コンポーネント自体の正確なハッシュではなく、ソフトウェア コンポーネントを提供する機関の測定値が利用されます (OEM や Microsoft などの製造元によるコード署名に基づきます)。 これにより、結果の測定値を変えずにコンポーネントのサービス提供を許可できます。 構成の測定値については、起動時に記録される多数の構成設定ではなく、ブート セキュリティ ポリシーに基づいた値が使われます。 この値も頻繁に変更されるものではありません。 結果として、適切なハードウェアでは、ユーザーにとって使い勝手のよい形でデバイスの暗号化が有効になり、データの保護が実現されます。

メジャー ブート

メジャー ブートは、Windows オペレーティング システムの初期化中、オペレーティング システムがソフトウェア コンポーネントと構成情報の一連の測定値を TPM に記録する手段として、Windows 8 で導入されました。 以前のバージョンの Windows では、測定チェーンは Windows ブート マネージャー コンポーネント自体で停止し、TPM の測定値は Windows の起動状態を理解するのに役立ちきなくなりました。

Windows ブート プロセスは段階的に実行され、多くの場合、ベンダー固有のハードウェアと通信したり、マルウェア対策ソリューションを実装したりするために、Microsoft 以外のドライバーが関与します。 ソフトウェアの場合、測定ブートは、Windows カーネルの測定値、マルウェア対策ドライバー Early-Launch、TPM のブート ドライバーを記録します。 構成設定では、マルウェア対策ドライバーが使用する署名データや Windows セキュリティ機能に関する構成データ (BitLocker がオンかオフかなど) などのセキュリティ関連の情報が測定ブートによって記録されます。

メジャー ブートは、TPM 測定値が Windows ソフトウェアと構成設定の起動状態を完全に反映していることを保証します。 セキュリティ設定とその他の保護が正しくセットアップされていれば、それらを信頼して、その後も実行中のオペレーティング システムのセキュリティを維持できます。 その他のシナリオでは、オペレーティング システムの起動状態を使用して、実行中のオペレーティング システムを信頼する必要があるかどうかを判断できます。

TPM 測定は、プライバシーにかかわる機密情報を測定値として記録しないように設計されています。 追加のプライバシー保護として、メジャー ブートは、Windows の初期の起動状態で測定チェーンを停止します。 そのため、一連の測定値には、使用されているアプリケーションや Windows の使用方法に関する詳細は含まれません。 測定情報を外部エンティティと共有して、デバイスが適切なセキュリティ ポリシーを適用しており、マルウェアから始まらなかったことを示すことができます。

TPM のシナリオでは、ブート中に TPM に記録された測定値が次のように使われます。

  • リモート構成証明。 構成証明 ID キーを使用して、TPM で現在の測定値のステートメント (または 見積もり) を生成して暗号化署名できます。 Windows では、さまざまなシナリオで一意の構成証明 ID キーを作成して、別のエバリュエーターが共同作業して同じデバイスを追跡できないようにすることができます。 情報の共有を制限し、プライバシーの保護を強化するために、クォート内の追加情報には暗号でスクランブルがかけられます。 デバイスは、クォートをリモート エンティティに送信することで、そのデバイスのブートとオペレーティング システムの初期化に使われたソフトウェアと構成設定を証明できます。 さらに、構成証明識別キー証明書により、クォートが本物の TPM に由来することを保証できます。 リモート構成証明とは、TPM に測定値を記録し、クォートを生成し、測定値を評価する別のシステムにクォート情報を送信して、デバイスの信頼を確立するプロセスです。 このプロセスを図 2 に示します。

Windows に新しいセキュリティ機能が追加されると、メジャー ブートは、TPM に記録されている測定値にセキュリティ関連の構成情報を追加します。 メジャー ブートにより、システム ファームウェアと Windows の初期化状態を反映したリモート構成証明のシナリオが有効になります。

TPM を使用してブート ソフトウェアと構成の証拠を作成するプロセス。 図 2: TPM を使用してブート ソフトウェアと構成の証拠を作成するために使用されるプロセス

正常性構成証明

一部の Windows の機能強化は、セキュリティ ソリューションがリモート構成証明シナリオを実装するのに役立ちます。 Microsoft は、さまざまな製造元の TPM の構成証明 ID キー証明書を作成し、測定されたブート情報を解析して、BitLocker がオンかオフかなどの単純なセキュリティ アサーションを抽出できる正常性構成証明サービスを提供します。 このシンプル セキュリティ アサーションは、デバイスの正常性を評価するために使用できます。

モバイル デバイス管理 (MDM) ソリューションでは、クォートや詳細な TPM 測定値に関する複雑な処理を行わなくても、Microsoft 正常性構成証明サービスからデバイスに対するシンプル セキュリティ アサーションを受け取ることができます。 MDM ソリューションは、セキュリティ情報に応じて、正常でないデバイスを検疫したり、Microsoft Office 365 などのクラウド サービスへのアクセスをブロックしたりできます。

Credential Guard

Credential Guard は、AD DS を展開した組織の Windows 資格情報を保護するのに役立つ Windows の新機能です。 これまでは、ユーザーの資格情報 (サインイン パスワードなど) がハッシュされ、承認トークンが生成されていました。 ユーザーはトークンを使用して、使用が許可されているリソースにアクセスしました。 トークン モデルの 1 つの弱点は、オペレーティング システム カーネルにアクセスしていたマルウェアがコンピューターのメモリを調べたり、現在使用されているすべてのアクセス トークンを収集したりできることです。 攻撃者は、収集されたトークンを使用して他のマシンにサインインし、さらに多くの資格情報を収集する可能性があります。 この種の攻撃は、"ハッシュを渡す" 攻撃と呼ばれ、1 台のコンピューターに感染して組織全体の多くのマシンに感染させるマルウェア手法です。

Microsoft Hyper-V が仮想マシン (VM) を相互に分離する方法と同様に、Credential Guard は仮想化を使用して、オペレーティング システム カーネルがアクセスできないメモリ領域で資格情報をハッシュするプロセスを分離します。 この分離メモリ領域は、起動プロセス中に初期化および保護されるため、大規模なオペレーティング システム環境のコンポーネントが改ざんされないようにします。 Credential Guard は TPM を使用して TPM 測定値を使用してそのキーを保護するため、個別のリージョンが初期化された場合、ブート プロセスのステップ中にのみアクセスできます。通常のオペレーティング システム カーネルでは使用できません。 Windows カーネル内のローカル セキュリティ機関のコードでは、分離されたメモリ領域とやり取りするときに資格情報を渡し、1 回限りの認証トークンを応答として受け取ります。

結果として得られるソリューションは、オペレーティング システム カーネルでマルウェアが実行されている場合でも、承認トークンを実際に生成する分離メモリ領域内のシークレットにアクセスできないため、多層防御を提供します。 このソリューションではキー ロガーの問題は解決されません。このようなロガーキャプチャのパスワードは、実際には通常の Windows カーネルを通過しますが、認証用のスマート カードなどの他のソリューションと組み合わせると、Credential Guard によって Windows での資格情報の保護が大幅に強化されます。

まとめ

TPM は、ハードウェア ベースのセキュリティ上の利点を Windows に追加します。 TPM を含むハードウェアにインストールすると、Window によってセキュリティ上の利点が大幅に向上します。 次の表は、TPM の主な機能の主な利点をまとめたものです。

機能 TPM が搭載されたシステムで使う場合の利点
プラットフォーム暗号化プロバイダー - マシンが侵害された場合、証明書に関連付けられている秘密キーをデバイスからコピーすることはできません。
- TPM のディクショナリ攻撃メカニズムは、PIN 値を保護して証明書を使用します。
仮想スマート カード 物理スマート カードやカード リーダーを展開せずに、物理スマート カードと同様のセキュリティを実現します。
Windows Hello for Business - デバイスにプロビジョニングされた資格情報を他の場所にコピーすることはできません。
- 資格情報がプロビジョニングされる前に、デバイスの TPM を確認します。
BitLocker ドライブ暗号化 企業が保存データを保護しながら、セキュリティ要件をさまざまなデバイス ハードウェアとバランスを取るために、複数のオプションを使用できます。
デバイスの暗号化 Microsoft アカウントと適切なハードウェアを使用すると、コンシューマーのデバイスは保存データ保護の恩恵をシームレスに受けることができます。
メジャー ブート 信頼のハードウェア ルートには、リモート構成証明中にマルウェアを検出するのに役立つブート測定値が含まれています。
正常性構成証明 MDM ソリューションは、Office 365 などのリソースやクラウド サービスへのアクセスを許可する前に、リモート構成証明を簡単に実行し、クライアントの正常性を評価できます。
Credential Guard マルウェアが 1 台のコンピューターに管理者権限を持っている場合でも、組織内の追加のマシンを侵害することが大幅に困難になるように、多層防御が強化されます。

前述の機能の中には、より多くのハードウェア要件 (仮想化のサポートなど) がありますが、TPM は Windows セキュリティの基礎です。 Microsoft やその他の業界関係者は、TPM に関連するグローバル標準を引き続き改善し、それを使用して顧客に具体的な利点を提供するより多くのアプリケーションを見つけます。 Microsoft では、Windows IoT Core と呼ばれるモノのインターネット (IoT) 用の Windows のバージョンで、ほとんどの TPM 機能のサポートが含まれています。 安全でない場所に物理的に展開され、管理のために Azure IoT Hub などのクラウド サービスに接続される IoT デバイスでは、TPM を革新的な方法で利用して、新たに生じるセキュリティ要件に対処することができます。