次の方法で共有


プライマリ更新トークン (PRT) について

プライマリ更新トークン (PRT) は、サポートされているバージョンの Windows、iOS、Android での Microsoft Entra 認証の重要な成果物です。 この記事では、Windows 10 以降のデバイスで PRT を発行、使用、保護する方法について説明します。これにより、セキュリティが強化され、アプリケーション間でシングル サインオン (SSO) が有効になります。

この記事では、Microsoft Entra ID で使用できるさまざまなデバイスの状態と、Windows でのシングル サインオンのしくみを既に理解していることを前提としています。 Microsoft Entra ID のデバイスの詳細については、「Microsoft Entra ID でのデバイス管理とは」を参照してください。

主要な用語とコンポーネント

PRT の要求と使用においては、次の Windows コンポーネントが重要な役割を果たします。

  • クラウド認証プロバイダー (CloudAP): CloudAP は、Windows サインイン用の最新の認証プロバイダーであり、Windows 10 以降のデバイスにログインしているユーザーを検証します。 ID プロバイダーは、CloudAP が提供するプラグイン フレームワークを利用して、その ID プロバイダーの資格情報を使った Windows への認証を有効にすることができます。
  • Web アカウント マネージャー (WAM): WAM は、Windows 10 以降のデバイスでの既定のトークン ブローカーです。 また ID プロバイダーは、WAM が提供するプラグイン フレームワークを利用して、その ID プロバイダーを利用しているアプリケーションへの SSO を有効にすることができます。
  • Microsoft Entra CloudAP プラグイン: CloudAP フレームワーク上に構築される Microsoft Entra 固有のプラグインであり、Windows サインイン中に Microsoft Entra ID を使用してユーザーの資格情報を検証します。
  • Microsoft Entra WAM プラグイン: WAM フレームワーク上に構築される Microsoft Entra 固有のプラグインであり、Microsoft Entra ID を認証に利用するアプリケーションへの SSO を有効にします。
  • Dsreg: Windows 10 以降の Microsoft Entra 固有のコンポーネントであり、すべてのデバイス状態のデバイス登録プロセスを処理します。
  • トラステッド プラットフォーム モジュール (TPM): TPM はデバイスに組み込まれるハードウェア コンポーネントであり、ユーザーとデバイスをシークレットにするためのハードウェア ベースのセキュリティ機能を提供します。 詳細については、「トラステッド プラットフォーム モジュール技術概要」の記事を参照してください。

PRT には何が含まれますか?

PRT には、ほとんどの Microsoft Entra ID 更新トークンで検出された要求が含まれています。 さらに、PRT に含まれるデバイス固有の要求がいくつか存在します。 制限事項は次のとおりです。

  • デバイス ID: PRT は特定のデバイス上のユーザーに発行されます。 デバイス ID 要求 deviceID は、PRT がユーザーに発行されたデバイスを判別します。 この要求は、PRT 経由で取得したトークンに対して後から発行されます。 デバイス ID 要求は、デバイスの状態またはコンプライアンスに基づいて条件付きアクセスの認可を決定するために使用されます。
  • セッション キー: セッション キーは、Microsoft Entra 認証サービスによって生成され、PRT の一部として発行される暗号化対称キーです。 セッション キーは、他のアプリケーション用のトークンを取得するために PRT が使用されるときに、所有の証明として機能します。 セッション キーは、30 日を超える場合は、Windows 10 以降の Microsoft Entra 参加済みデバイスまたは Microsoft Entra ハイブリッド参加済みデバイスで回されます。

PRT の内容を見ることはできますか?

PRT は Microsoft Entra から送信される不透明な BLOB であり、その内容はどのクライアント コンポーネントにも知られることはありません。 PRT の内容を見ることはできません。

PRT はどのようにして発行されますか?

デバイス登録は、Microsoft Entra ID でのデバイス ベース認証の前提条件です。 PRT は登録済みデバイス上のユーザーにのみ発行されます。 デバイス登録の詳細については、「Windows Hello for Business とデバイスの登録」の記事を参照してください。 デバイス登録中、dsreg コンポーネントによって暗号化キーの組が 2 セット生成されます。

  • デバイス キー (dkpub/dkpriv)
  • トランスポート キー (tkpub/tkpriv)

有効であり機能している TPM がデバイスにある場合、秘密キーはデバイスの TPM にバインドされます。一方、公開キーはデバイス登録プロセスの間に Microsoft Entra ID に送信されます。 これらのキーは、PRT 要求中にデバイスの状態を検証するために使用されます。

PRT は Windows 10 以降のデバイス上でのユーザー認証中に発行され、2 つのシナリオがあります。

  • Microsoft Entra 参加済みまたはMicrosoft Entra ハイブリッド参加済み: PRT は、ユーザーが自分の組織の資格情報を使用してサインインするとき、Windows ログオン中に発行されます。 PRT は、パスワードや Windows Hello for Business など、Windows 10 以降でサポートされているすべての資格情報と共に発行されます。 このシナリオでは、Microsoft Entra CloudAP プラグインが PRT のプライマリ機関です。
  • Microsoft Entra 登録済みデバイス: PRT は、ユーザーが自分の Windows 10 以降のデバイスにセカンダリの職場アカウントを追加するときに発行されます。 ユーザーは 2 つの異なる方法で Windows 10 以降にアカウントを追加できます。
    • アプリ (Outlook など) にサインインした後で、 [組織がデバイスを管理できるようにする] プロンプトからアカウントを追加する
    • [設定]>[アカウント]>[Access Work or School](職場または学校にアクセスする)>[接続] からアカウントを追加する

Microsoft Entra 登録済みデバイスのシナリオでは、この Microsoft Entra アカウントで Windows ログオンが発生しないため、Microsoft Entra WAM プラグインが PRT のプライマリ機関です。

Microsoft 以外の ID プロバイダーは、Windows 10 以降のデバイスで PRT 発行を有効にするために、WS-Trust プロトコルをサポートする必要があります。 WS-Trust がないと、Microsoft Entra ハイブリッド参加済みデバイスまたは Microsoft Entra 参加済みデバイスのユーザーに PRT を発行することはできません。 AD FS では、usernamemixed エンドポイントのみが必要です。 AD FS では、smartcard/certificate が Windows サインイン中に使用される場合は、certificatemixed エンドポイントが必要です。 adfs/services/trust/2005/windowstransportadfs/services/trust/13/windowstransport はどちらも、イントラネットに接続するエンドポイントとしてのみ有効にする必要があります。Web アプリケーション プロキシを介してエクストラネットに接続するエンドポイントとしては公開しないでください

MICROSOFT Entra 条件付きアクセス ポリシーは、PRT の発行時には評価されません。

Microsoft Entra PRT の発行と更新については、Microsoft 以外の資格情報プロバイダーはサポートされていません。

PRT の有効期間はどれくらいですか?

発行された PRT は 14 日間有効であり、ユーザーがデバイスをアクティブに使用している限り継続的に更新されます。

PRT はどのように使用されますか?

Windows で、PRT は 2 つの主要コンポーネントによって使用されます。

  • Microsoft Entra CloudAP プラグイン:Windows サインイン時に、Microsoft Entra CloudAP プラグインは、ユーザーが入力した資格情報を使用して Microsoft Entra ID に PRT を要求します。 また、PRT をキャッシュして、ユーザーがインターネット接続にアクセスできないときのキャッシュ サインインを有効にします。
  • Microsoft Entra WAM プラグイン: ユーザーがアプリケーションにアクセスしようとすると、Microsoft Entra WAM プラグインは PRT を使用して、Windows 10 以降で SSO を有効にします。 Microsoft Entra WAM プラグインは、トークン要求に WAM を使用するアプリケーションに対して、PRT を使用して更新トークンおよびアクセス トークンを要求します。 また、ブラウザーの要求に PRT を挿入して、ブラウザー上で SSO を有効にします。 Windows 10 以降のブラウザー SSO は Microsoft Edge (ネイティブ)、Chrome (Windows 10 アカウント経由) または Mozilla Firefox v 91 以上 (Firefox Windows SSO 設定) でサポートされています。

    ユーザーが同じ Microsoft Entra テナントの 2 つのアカウントでブラウザー アプリケーションにサインインしている場合、プライマリ アカウントの PRT が提供するデバイス認証は、2 つ目のアカウントにも自動的に適用されます。 その結果、2 番目のアカウントも、テナントのデバイスベースの条件付きアクセス ポリシーに適合します。

PRT はどのように更新されますか?

PRT は、次の 2 つの異なる方法で更新されます。

  • Microsoft Entra CloudAP プラグインによる 4 時間ごとの更新 : CloudAP プラグインは、Windows サインイン中、4 時間ごとに PRT を更新します。 その時点でユーザーがインターネットに接続していない場合でも、デバイスがインターネットに接続されて新たに Windows にサインインすると、CloudAP プラグインが PRT を更新します。
  • アプリのトークン要求時の Microsoft Entra WAM プラグインによる更新 WAM プラグインは、Windows 10 以降のデバイスでアプリケーションに対するサイレント トークン要求を可能にすることで、SSO を実現します。 WAM プラグインは、これらのトークン要求中に 2 つの異なる方法で PRT を更新できます。
    • アプリが WAM に対してサイレントにアクセス トークンを要求するが、そのアプリ用の更新トークンが存在しない場合。 この場合、WAM は PRT を使用してアプリのトークンを要求し、応答で新しい PRT を再取得します。
    • アプリが WAM にアクセス トークンを要求するが、PRT が無効であるか、Microsoft Entra ID が追加の認証 (たとえば、Microsoft Entra の多要素認証) を要求している場合。 このシナリオでは、WAM は対話型ログオンを開始し、再認証または追加認証の提供をユーザーに要求し、認証が成功したら新しい PRT が発行されます。

AD FS 環境では、PRT を更新する際にドメイン コントローラーへの直接的な接続は不要です。 PRT の更新には、WS-Trust プロトコルを使用して、プロキシ上で /adfs/services/trust/2005/usernamemixed/adfs/services/trust/2005/usernamemixed および /adfs/services/trust/13/usernamemixed エンドポイントのみが有効になっていれば十分です。

Windows トランスポート エンドポイントは、パスワードが変更された場合にのみパスワード認証に必要であり、PRT の更新には必要ありません。

MICROSOFT Entra 条件付きアクセス ポリシーは、PRT が更新されるときに評価されません。

重要な考慮事項

  • Microsoft Entra に参加済みおよび Microsoft Entra ハイブリッド参加済みのデバイスでは、CloudAP プラグインが PRT のプライマリ機関となります。 WAM ベースのトークン要求中に PRT が更新された場合、PRT は CloudAP プラグインに返送され、受け入れ前に Microsoft Entra ID での PRT の有効性が検証されます。

Android プラットフォーム:

  • PRT は 90 日間有効で、デバイスが使用されている限り継続的に更新されます。 ただし、デバイスが使用されていない場合は 14 日間のみ有効です。
  • PRT はネイティブ アプリの認証中にのみ発行および更新されます。 PRT はブラウザー セッション中は更新も発行もされません。
  • デバイス登録 (Workplace Join) の必要なしに PRT を取得し、SSO を有効にすることもできます。
  • デバイス登録なしで取得された PRT は、デバイスの状態やコンプライアンスに基づく条件付きアクセスの認証条件を満たすことができません。

PRT はどのように保護されますか?

PRT は、ユーザーがサインインしたデバイスにバインドすることによって保護されます。 Microsoft Entra ID と Windows 10 以降では、次の方法によって PRT 保護を有効にします。

  • 初回サインイン中: 初回サインイン中、暗号化形式でデバイス登録中に生成されたデバイス キーを使用して要求に署名することによって PRT が発行されます。 TPM が有効に動作しているデバイスでは、デバイス キーは TPM によってセキュリティで保護され、悪意のあるアクセスを防ぎます。 対応するデバイス キーの署名を検証できない場合、PRT は発行されません。
  • トークンの要求および更新中: PRT が発行されると、Microsoft Entra ID は暗号化されたセッション キーもデバイスに発行します。 それは生成されたパブリック トランスポート キー (tkpub) を使用して暗号化され、デバイス登録の一環として Microsoft Entra ID に送信されます。 このセッション キーは、TPM によってセキュリティで保護されたプライベート トランスポート キー (tkpriv) によってのみ復号化できます。 セッション キーは、Microsoft Entra ID に送信されるすべての要求に対しての所有証明 (POP) キーです。 セッション キーも TPM によって保護され、他の OS コンポーネントからアクセスできません。 トークン要求または PRT 更新要求は、TPM を使用してこのセッション キーによって安全に署名されるため、改ざんできません。 Microsoft Entra では、対応するセッション キーによって署名されていないデバイスからの要求が無効になります。

これらのキーを TPM で保護することで、キーの窃取や PRT のリプレイを試みる悪意のある攻撃者から PRT のセキュリティを強化できます。 そのため、TPM を使用することで、Microsoft Entra 参加済みデバイス、Microsoft Entra hybrid 参加済みデバイス、および Microsoft Entra 登録デバイスの認証情報窃取に対するセキュリティが大幅に向上します。 パフォーマンスと信頼性の観点から、Windows 10 以降のすべての Microsoft Entra デバイス登録シナリオでは、TPM 2.0 の使用が推奨されています。 Windows 10、1903 の更新後、Microsoft Entra ID では、信頼性の問題のため、上記のキーに TPM 1.2 は使用されません。

アプリ トークンとブラウザーの Cookie はどのように保護されますか?

アプリ トークン: アプリが WAM 経由でトークンを要求すると、Microsoft Entra ID は更新トークンとアクセス トークンを発行します。 ただし、WAM はアプリにアクセス トークンのみを返し、更新トークンはユーザーの DPAPI (データ保護 API) キーで暗号化してキャッシュ内に安全に保管します。 WAM は、セッション キーを使用して要求に署名し、さらにアクセス トークンを発行することによって、更新トークンを安全に使用します。 DPAPI キーは、Microsoft Entra 内の Microsoft Entra ID ベースの対称キーによって保護されています。 デバイスが DPAPI キーを使用してユーザー プロファイルを復号する必要がある場合、Microsoft Entra ID は DPAPI キーをセッション キーで暗号化して提供し、CloudAP プラグインが TPM にその復号を要求します。 この機能によって、更新トークンのセキュリティ保護の整合性が確保され、アプリケーションで独自の保護メカニズムが実装されるのを回避します。

ブラウザー Cookie: Windows 10 以降において、Microsoft Entra ID によるブラウザー SSO のサポートは、Internet Explorer および Microsoft Edge ではネイティブに、Google Chrome では Windows 10 アカウント拡張機能を通じて、Mozilla Firefox v91 以降ではブラウザー設定を通じて実現されています。 Cookie だけでなく Cookie が送信されるエンドポイントも保護するようにセキュリティが構築されています。 ブラウザーの Cookie の保護方法は PRT と同じであり、セッション キーを利用して Cookie に署名することによって保護されます。

ユーザーがブラウザーとの対話を開始すると、ブラウザー (または拡張機能) が COM ネイティブ クライアント ホストを呼び出します。 ネイティブ クライアント ホストは、許可されているドメインのいずれかの配下にあるページであることを確認します。 ブラウザーはノンスを含むその他のパラメーターをネイティブ クライアント ホストに送信できますが、ネイティブ クライアント ホストはホスト名の検証を保証します。 ネイティブ クライアント ホストは PRT Cookie を CloudAP プラグインに要求し、プラグインは TPM で保護されたセッション キーを使用して Cookie を作成し、署名します。 PRT Cookie はセッション キーによって署名されるため、改ざんは非常に困難です。 この PRT Cookie は、Microsoft Entra ID で発信元デバイスを検証するための要求ヘッダーに含まれます。 Chrome ブラウザーを使用している場合、ネイティブ クライアント ホストのマニフェストで明示的に定義されている拡張機能のみがそれを呼び出すことができ、任意の拡張機能がこれらの要求を行うことを防ぎます。 Microsoft Entra ID は PRT Cookie を検証すると、ブラウザーに対してセッション Cookie を発行します。 このセッション Cookie には、PRT を使用して発行されたのと同じセッション キーも含まれています。 後続の要求の間、セッション キーが検証されます。このとき、Cookie は事実上デバイスにバインドされ、他の場所からの再生を防ぎます。

PRT が MFA 要求を受けるのはいつですか?

特定のシナリオで、PRT が多要素認証要求を受けることがあります。 アプリケーションのトークンを要求するために MFA ベースの PRT が使用されると、MFA 要求がアプリ トークンに転送されます。 この機能は、それが必要なすべてのアプリでの MFA チャレンジを防ぐことによって、シームレスなエクスペリエンスをユーザーに提供します。 PRT は次の方法で MFA 要求を取得できます。

  • Windows Hello for Business を使用してサインイン: Windows Hello for Business は、パスワードを置き換え、暗号化キーを使用して強力な 2 要素認証を提供します。 Windows Hello for Business はデバイス上のユーザーに固有であり、それ自体がプロビジョニングのために MFA を必要とします。 ユーザーが Windows Hello for Business を使用してログインすると、ユーザーの PRT が MFA 要求を取得します。 このシナリオは、スマート カード認証によって AD FS から多要素認証 (MFA) 要求が生成される場合の、スマート カードでサインインするユーザーにも該当します。
    • Windows Hello for Business は多要素認証と見なされ、PRT 自体が更新されると MFA 要求が更新されるため、ユーザーが Windows Hello for Business を使用してサインインすると MFA の期間は継続的に延長されます。
  • WAM 対話型サインイン中の MFA: WAM を通じたトークン要求中に、ユーザーがアプリにアクセスするために MFA を実行する必要がある場合、この対話中に更新される PRT には MFA 要求が刻印されます。
    • この場合、MFA 要求は継続的に更新されないため、MFA 期間はディレクトリで設定された有効期間に基づきます。
    • 以前の既存の PRT と RT がアプリへのアクセスに使用されている場合、PRT と RT は最初の認証の証明と見なされます。 2 番目の証明と刻印された MFA 要求で、新しい RT が必要になります。 このプロセスにより、新しい PRT と RT も発行されます。

Windows 10 以降では、PRT のパーティション分割されたリストを資格情報ごとに保持します。 したがって、Windows Hello for Business、パスワード、またはスマート カードのそれぞれに PRT があります。 このパーティション分割により、使用する資格情報に基づいて MFA 要求が分離され、トークン要求中に混同されないことが保証されます。

Microsoft Entra 参加済みまたは Microsoft Entra hybrid 参加済みのデバイスで、パスワードを使用して Windows 10 以降にサインインする場合、PRT に関連付けられたセッション キーが切り替えられた後、WAM の対話型サインインで多要素認証 (MFA) が求められることがあります。

PRT はどのようにして無効になりますか?

次のシナリオでは、PRT が無効になります。

  • 無効なユーザー: ユーザーが Microsoft Entra ID で削除または無効化された場合、そのユーザーの PRT は無効になり、アプリケーションのトークンを取得するために使用できません。 削除または無効化されたユーザーがデバイスに既にサインインしていた場合、CloudAP が無効状態を認識するまで、そのユーザーはキャッシュ サインインによってログイン可能です。 CloudAP は、ユーザーが無効であると判断すると、それ以降のログオンをブロックします。 無効なユーザーは、資格情報がキャッシュされていない新しいデバイスへのサインインを自動的にブロックされます。
  • 無効なデバイス: Microsoft Entra ID でデバイスが削除または無効化された場合、そのデバイスで取得された PRT は無効になり、他のアプリケーションのトークンを取得するために使用できません。 無効なデバイスにユーザーが既にサインインしている場合、その状態を継続できます。 ただし、デバイス上のすべてのトークンは無効になり、ユーザーはそのデバイスのリソースに対する SSO を失います。
  • パスワードの変更: ユーザーがパスワードを使用して PRT を取得した場合、ユーザーがパスワードを変更すると、Microsoft Entra ID によって PRT が無効になります。 パスワードを変更すると、ユーザーは新しい PRT を取得することになります。 この無効化は、次の 2 とおりの方法で発生します。
    • ユーザーが新しいパスワードで Windows にサインインした場合、CloudAP は古い PRT を破棄し、新しいパスワードに対する PRT を Microsoft Entra ID に要求します。 ユーザーがインターネットに接続していない場合、新しいパスワードを検証できないため、Windows は古いパスワードの入力をユーザーに要求することがあります。
    • ユーザーが古いパスワードを使用してログインしていたか、または Windows へのサインイン後にパスワードを変更した場合、WAM ベースのトークン要求には古い PRT が使用されます。 このシナリオでは、ユーザーは WAM トークンの要求中に再認証を求められ、新しい PRT が発行されます。
  • TPM に関する問題: デバイスの TPM の不具合または故障により、TPM で保護されているキーにアクセスできなくなることがあります。 この場合、暗号キーの所有を証明できないため、デバイスは PRT を取得できず、既存の PRT を使用してトークンを要求することもできません。 その結果、既存の PRT はすべて Microsoft Entra ID. によって無効化されます。 Windows 10 が障害を検出すると、新しい暗号化キーを使用してデバイスを再登録するための復旧フローが開始します。 Microsoft Entra ハイブリッド 参加済みの場合は、初回登録時と同様、ユーザーによる入力なしでサイレントに回復が行われます。 Microsoft Entra 参加済みまたは Microsoft Entra 登録済みデバイスの場合、そのデバイスに対する管理者特権を持つユーザーが復旧を実行する必要があります。 このシナリオでは、復旧フローは、デバイスを正常に復旧できるようユーザーをガイドする Windows プロンプトによって開始されます。

詳細なフロー

以下の図は、アプリケーションのアクセス トークンを要求するために PRT を発行、更新、および使用する際の基本的な詳細を示しています。 さらに、これらの手順では、前述のセキュリティ メカニズムがこれらの操作中にどのように適用されるかについても説明します。

初回サインイン中の PRT 発行

初回サインイン中の PRT 発行の詳細フロー

Microsoft Entra 参加済みデバイス内では、ユーザーが Windows にサインインする前に、Microsoft Entra PRT の発行 (手順 A から F) が同期的に行われます。 Microsoft Entra ハイブリッド参加済みデバイスでは、オンプレミスの Active Directory がプライマリ機関となります。 そのため、ユーザーは TGT を取得してログインできるようになった時点で、Microsoft Entra ハイブリッド参加済みの Windows にサインインできます。PRT の発行はその後、非同期で行われます。 ログオンでは Microsoft Entra 資格情報が使用されないため、このシナリオは Microsoft Entra 登録済みデバイスには適用されません。

Microsoft Entra ハイブリッド参加済みの Windows 環境では、PRT が非同期で発行されます。 フェデレーション プロバイダーに問題がある場合、PRT の発行に失敗することがあります。 この失敗が生じると、ユーザーがクラウド リソースにアクセスしようとしたとき、サインオンできないことがあります。 フェデレーション プロバイダーでこのシナリオのトラブルシューティングを行う必要があります。

ステップ 説明
A ユーザーがサインイン UI で自分のパスワードを入力します。 LogonUI は認証バッファー内の認証情報を LSA に渡し、LSA はそれを内部で CloudAP に渡します。 CloudAP はこの要求を CloudAP プラグインに転送します。
B CloudAP プラグインは、ユーザーの ID プロバイダーを識別するためにレルム検出要求を開始します。 ユーザーのテナントにフェデレーション プロバイダーのセットアップがある場合、Microsoft Entra ID はフェデレーション プロバイダーの Metadata Exchange (MEX) エンドポイントを返します。 そうでない場合、Microsoft Entra ID はユーザーが管理対象であることを返し、ユーザーを Microsoft Entra ID で認証できることを示します。
C ユーザーがマネージド ユーザーの場合、CloudAP は Microsoft Entra ID からノンスを取得します。 ユーザーがフェデレーション ユーザーの場合、CloudAP プラグインはユーザーの認証情報を使用して、フェデレーション プロバイダーから SAML (Security Assertion Markup Language) トークンを要求します。 ノンスは、SAML トークンが Microsoft Entra ID に送信される前に要求されます。
D CloudAP プラグインは、ユーザーの資格情報、ノンス、ブローカー スコープを含む認証要求を構築し、デバイス キー (dkpriv) を使用してその要求に署名したうえで、Microsoft Entra ID に送信します。 フェデレーション環境では、CloudAP プラグインはユーザーの資格情報の代わりに、フェデレーション プロバイダーから返された SAML トークンを使用します。
E Microsoft Entra ID は、ユーザーの資格情報、nonce、およびデバイスの署名を検証し、デバイスがテナント内で有効であることを確認し、暗号化された PRT を発行します。 Microsoft Entra ID は、PRT と共に、セッション キーと呼ばれる対称キーも発行します。これは、トランスポート キー (tkpub) を使用して Microsoft Entra ID によって暗号化されます。 さらに、セッション キーも PRT に埋め込まれます。 このセッション キーは、PRT を使用した後続の要求に対する所有証明 (PoP) キーとして機能します。
F CloudAP プラグインは、暗号化された PRT とセッション キーを CloudAP に渡します。 トランスポート キー (tkpriv) を使用してセッション キーを復号化し、TPM 自身のキーを使用してそれを再暗号化するよう、CloudAP が TPM に要求します。 CloudAP は、暗号化されたセッション キーをそのキャッシュに PRT と共に保存します。

後続のログオンでの PRT 更新

後続のログオンでの PRT 更新

ステップ 説明
A ユーザーがサインイン UI で自分のパスワードを入力します。 LogonUI は認証バッファー内の認証情報を LSA に渡し、LSA はそれを内部で CloudAP に渡します。 CloudAP はこの要求を CloudAP プラグインに転送します。
B ユーザーが以前にこのセッションにサインインしたことがある場合、Windows はキャッシュ サインインを開始し、資格情報を検証してユーザーをログインさせます。 4 時間ごとに、CloudAP プラグインは PRT の更新を非同期的に開始します。
C CloudAP プラグインは、ユーザーの ID プロバイダーを識別するためにレルム検出要求を開始します。 ユーザーのテナントにフェデレーション プロバイダーのセットアップがある場合、Microsoft Entra ID はフェデレーション プロバイダーの MEX (Metadata Exchange) エンドポイントを返します。 そうでない場合、Microsoft Entra ID はユーザーが管理対象であることを返し、ユーザーを Microsoft Entra ID で認証できることを示します。
D ユーザーがフェデレーションされている場合、CloudAP プラグインはユーザーの認証情報を使用して SAML トークンをフェデレーション プロバイダーから要求します。 ノンスは、SAML トークンが Microsoft Entra ID に送信される前に要求されます。 ユーザーが管理対象の場合、CloudAP は直接、Microsoft Entra ID からノンスを取得します。
E CloudAP プラグインは、ユーザーの資格情報、ノンス、既存の PRT を使用して認証要求を構築し、セッション キーを使用して要求に署名し、それを Microsoft Entra ID に送信します。 フェデレーション環境では、CloudAP プラグインはユーザーの資格情報の代わりに、フェデレーション プロバイダーから返された SAML トークンを使用します。
F Microsoft Entra ID は、PRT に埋め込まれたセッション キーと比較することによってセッション キーの署名を検証し、ノンスを検証し、デバイスがテナント内で有効であることを確認したうえで、新しい PRT を発行します。 前述のように、PRT はやはり、トランスポート キー (tkpub) によって暗号化されたセッション キーを伴います。
G CloudAP プラグインは、暗号化された PRT とセッション キーを CloudAP に渡します。 CloudAP は TPM に要求して、トランスポート キー (tkpriv) を使用してセッション キーを復号化し、TPM 自身のキーを使用してそれを再暗号化します。 CloudAP は、暗号化されたセッション キーをそのキャッシュに PRT と共に保存します。

usernamemixed エンドポイントが外部で有効になっている場合、VPN 接続を必要とせずに、PRT を外部で更新できます。

アプリ トークン要求中の PRT 使用状況

アプリ トークン要求中の PRT 使用状況

ステップ 説明
A Microsoft Outlook などのアプリケーションは、WAM へのトークン要求を開始します。 WAM はさらに、トークン要求の処理を Microsoft Entra WAM プラグインに依頼します。
B アプリケーションの更新トークンが既に利用可能な場合、Microsoft Entra WAM プラグインはそれを使用してアクセス トークンを要求します。 デバイス バインディングの証明を提供するために、WAM プラグインはセッション キーを使用して要求に署名します。 Microsoft Entra ID はセッション キーを検証し、アプリのアクセス トークンと新しい更新トークンを、セッション キーによって暗号化して発行します。 WAM プラグインはトークンの復号化を CloudAP プラグインに要求し、次に CloudAP プラグインがセッション キーを使用した復号化を TPM に要求します。その結果、WAM プラグインは両方のトークンを取得します。 次に、WAM プラグインはアクセス トークンのみをアプリケーションに提供する一方で、更新トークンを DPAPI で再暗号化してそれ自身のキャッシュに保存します
C アプリケーションの更新トークンがまだ利用できない場合、Microsoft Entra WAM プラグインは PRT を使用してアクセス トークンを要求します。 所有の証明を提供するために、WAM プラグインはセッション キーを使用して、PRT が含まれている要求に署名します。 Microsoft Entra ID は、PRT に埋め込まれたセッション キーと比較することによってセッション キーの署名を検証し、デバイスが有効であることを確認し、アプリケーションのアクセス トークンと更新トークンを発行します。 さらに、Microsoft Entra ID は (更新サイクルに基づいて) 新しい PRT を発行でき、それらはすべてセッション キーによって暗号化されます。
D WAM プラグインはトークンの復号化を CloudAP プラグインに要求し、次に CloudAP プラグインがセッション キーを使用した復号化を TPM に要求します。その結果、WAM プラグインは両方のトークンを取得します。 次に、WAM プラグインはアクセス トークンのみをアプリケーションに提供する一方で、更新トークンを DPAPI で再暗号化してそれ自身のキャッシュに保存します。 WAM プラグインはこのアプリケーションに対して、今後は更新トークンを使用します。 WAM プラグインはさらに、新しい PRT を CloudAP プラグインに返します。CloudAP プラグインは、自身のキャッシュ内でそれを更新する前に、Microsoft Entra ID で PRT を検証します。 これ以降、CloudAP プラグインは新しい PRT を使用します。
E WAM は新しく発行されたアクセス トークンを WAM に提供し、次に WAM がそれを呼び出し元のアプリケーションに返します

PRT を使用したブラウザー SSO

PRT を使用したブラウザー SSO

ステップ 説明
A ユーザーは自分の資格情報を使用して Windows にログインし、PRT を取得します。 ユーザーがブラウザーを開くと、ブラウザー (または拡張機能) がレジストリから URL を読み込みます。
B ユーザーが Microsoft Entra ログイン URL を開くと、ブラウザーまたは拡張機能がその URL を、レジストリから取得したものと比較検証します。 一致する場合、ブラウザーはトークンを取得するためにネイティブ クライアント ホストを呼び出します。
C ネイティブ クライアント ホストは、URL が Microsoft ID プロバイダー (Microsoft アカウントまたは Microsoft Entra ID) に属していることを検証し、URL から送信された nonce を抽出し、CloudAP プラグインの呼び出しを実行して PRT Cookie を取得します。
D CloudAP プラグインは PRT Cookie を作成し、TPM にバインドされたセッション キーを使用してそれに署名し、ネイティブ クライアント ホストに返送します。
E ネイティブ クライアント ホストはこの PRT Cookie をブラウザーに返します。ブラウザーはそれを x-ms-RefreshTokenCredential という要求ヘッダーの一部として含め、Microsoft Entra ID からトークンを要求します。
F Microsoft Entra ID は PRT Cookie のセッション キー署名を検証し、nonce を検証し、デバイスがテナント内で有効であることを確認し、Web ページの ID トークンと、ブラウザーの暗号化されたセッション Cookie を発行します。

前の手順で説明されているブラウザー SSO フローは、Microsoft Edge の InPrivate、Google Chrome のシークレット モード (Microsoft Accounts 拡張機能の使用時)、Mozilla Firefox v 91 以上のプライベート モードなどのプライベート モードのセッションには該当しません

次のステップ

PRT 関連の問題のトラブルシューティングについては、Windows 10 以降または Windows Server 2016 以降が稼働する Microsoft Entra ハイブリッド参加済みデバイスのトラブルシューティングに関する記事を参照してください。