信頼Windowsモジュールを使用する方法

このWindowsオペレーティング システムは、オペレーティング システムの既存のセキュリティ機能のほとんどを改善し、Device Guard や Windows Hello for Business などの画期的な新しいセキュリティ機能を追加します。 以前のバージョンの Windows に比べて、ハードウェア ベースのセキュリティがオペレーティング システムの奥深くに組み込まれ、プラットフォーム セキュリティの最大化と使いやすさの向上が同時に実現されています。 これらのセキュリティ強化の多くを実現するために、Windowsプラットフォーム モジュール (TPM) を広範囲に使用します。 この記事では、TPM の概要、動作方法、および TPM が Windows に与える利点、および TPM を含む PC で 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 では、組織のセキュリティ ニーズを特定し、業界の調達業務に関連付けられている規制要件を調査することをお勧めします。 結論を導くには、適用されるシナリオ、保証レベル、コスト、可用性のバランスを考慮する必要があります。

TPM in Windows

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

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

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

CNG はごく一般的な出発点ですが、TPM によって提供されるいくつかの利点を表しています。 CNG インターフェイスの下層には、Windows またはサード パーティが暗号化プロバイダー (つまりアルゴリズムの実装) を提供します。この暗号化プロバイダーは、単独のソフトウェア ライブラリとして実装される場合もあれば、利用可能なシステム ハードウェアまたはサード パーティ ハードウェアとソフトウェアの組み合わせとして実装される場合もあります。 ハードウェアを通じて実装された場合、暗号化プロバイダーは 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 を要求する場合は、TPM による辞書攻撃からの保護が自動的に PIN に適用されます。

仮想スマート カード

スマート カードは安全性の高い物理デバイスで、通常は 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 は、デバイスを 1 台ずつプロビジョニングし、各デバイスでプロビジョニングされた情報 (暗号化キー) と追加情報を結び付けて、ユーザーを認証します。 TPM が搭載されたシステムでは、TPM によってキーを保護できます。 システムに TPM が搭載されていない場合は、ソフトウェア ベースの手法でキーを保護します。 ユーザーが提供する追加情報には PIN の値があります。または、必要なハードウェアがシステムに存在すれば、指紋や顔認証などの生体認証情報を使うこともできます。 プライバシーを保護するため、生体認証情報は、プロビジョニングされたデバイスでプロビジョニングされたキーにアクセスするときにのみ使われ、デバイス間で共有されることはありません。

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

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

保証キー。 TPM の製造元は、"保証キー"** と呼ばれる特別なキーを TPM 内に作成できます。 製造元によって署名された保証キー証明書は、製造元が作成した TPM に保証キーが存在すると述べています。 ソリューションでは、保証キーを持つ TPM でこの証明書を使うことで、本当に特定の TPM 製造元からの TPM に関連するシナリオであること (TPM を偽装するマルウェアでないこと) を確認できます。

構成証明識別キー。 プライバシーを保護するため、ほとんどの 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 は、連携して次の機能を提供するように慎重に設計されています。

ハードウェアの Root of Trust for Measurement。 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 ドメイン サービス (DS) に格納ADできます。

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

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

デバイスの暗号化

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

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

メジャー ブート

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

Windows のブート プロセスは段階的に実行され、多くの場合、サード パーティのドライバーがベンダー固有のハードウェアと通信したり、マルウェア対策ソリューションを実装したりする処理が含まれます。 メジャー ブートは、ソフトウェアについて、Windows カーネル、起動時マルウェア対策ドライバー、ブート ドライバーの測定値を TPM に記録します。 構成設定については、マルウェア対策ドライバーで使われる署名データや、Windows セキュリティ機能に関する構成データ (たとえば BitLocker がオンかオフか) など、セキュリティ関連の情報がメジャー ブートによって記録されます。

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

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

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

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

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

TPM を使用してブート ソフトウェアと構成の証拠を作成するプロセス。

図 2: TPM を使ってブート ソフトウェアと構成の証明を作成するプロセス

正常性構成証明

一部Windowsは、セキュリティ ソリューションがリモート構成証明シナリオを実装するのに役立ちます。 Microsoft では、さまざまな製造元から TPM 用の構成証明識別キー証明書を作成できる正常性構成証明サービスを提供しています。このサービスを使うと、メジャー ブート情報を解析して、BitLocker がオンかオフかなどを示すシンプル セキュリティ アサーションを抽出することもできます。 このシンプル セキュリティ アサーションは、デバイスの正常性を評価するために使用できます。

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

Credential Guard

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

Microsoft Hyper-V が仮想マシン (VM) を互いに分離するのと同様に、Credential Guard は仮想化を使って資格情報をハッシュ化するプロセスを分離し、オペレーティング システム カーネルからアクセスできないメモリ領域に配置します。 この分離されたメモリ領域は、ブート プロセスで初期化されて保護されるため、より広範囲のオペレーティング システム環境に存在するコンポーネントから改ざんすることはできません。 Credential Guard は、TPM を使って TPM 測定のキーを保護します。したがって、これらのキーにアクセスできるのは、ブート プロセス中の分離領域が初期化されるステップの間に限られます。通常のオペレーティング システム カーネルでこれらのキーを利用することはできません。 Windows カーネル内のローカル セキュリティ機関のコードでは、分離されたメモリ領域とやり取りするときに資格情報を渡し、1 回限りの認証トークンを応答として受け取ります。

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

まとめ

TPM は、ハードウェア ベースのセキュリティ上の利点をユーザーにWindows。 TPM を含むハードウェアにインストールすると、Window は大幅に強化されたセキュリティ上の利点を提供します。 次の表は、TPM の主要機能の主な利点をまとめたものです。

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

前述の機能の中には、追加のハードウェア要件 (仮想化のサポートなど) が含Windowsがあります。 Microsoft と他の業界関係者は、TPM に関連する国際標準の改善を進め、TPM を使ってユーザーに実際的な利点をもたらす応用事例をさらに多く提供できるように努めています。 Microsoft では、IoT Core と呼ばれるモノのインターネット (IoT) Windowsの TPM 機能のバージョンで、ほとんどの TPM 機能Windows含まれています。 安全でない場所に物理的に展開され、管理のために Azure IoT Hub などのクラウド サービスに接続される IoT デバイスでは、TPM を革新的な方法で利用して、新たに生じるセキュリティ要件に対処することができます。