Microsoft Digest を使用した初期認証

Note

Windows 11 22H2 以降、Microsoft は wDigest とも呼ばれる Microsoft Digest を非推奨にしています。 Microsoft は、サポートされているバージョンの Windows で Microsoft Digest を引き続きサポートします。 今後のバージョンの Windows には、Microsoft Digest の機能が制限され、最終的には Windows で Microsoft Digest がサポートされなくなります。

初期認証は、サーバーがクライアントからチャレンジ応答を受信したときに行われます。 チャレンジ応答の認証には、通常、少なくとも 2 つのサーバーが必要です。

  • 送信元サーバーは、クライアントから要求を受け取り、チャレンジを発行した後、認証する必要があるクライアントからチャレンジ応答を受け取ります。
  • 認証サーバー — 送信元サーバーから承認情報を受け取り、認証を実行します。 このサーバーは通常、複数の送信元サーバーをサポートするドメイン コントローラーです。

送信元サーバーがダイジェスト チャレンジ応答を含む Authorization ヘッダーを含む要求を受信すると、認証は次のように続行されます。

  • 元のサーバーの ID は、チャレンジの nonce でエンコードされたサーバーに対してチェックされます。
  • nonce でエンコードされたタイム スタンプがチェックされます。 nonce の有効期限が切れ、ユーザー名/パスワード情報が有効な場合、元のサーバーは、古いディレクティブが "true" に設定された新しいダイジェスト チャレンジを発行して認証を終了します。 これは、nonce のみが "stale" であり、クライアントが前の応答で使用したパスワードを使用して新しいチャレンジに応答できることを示します。 クライアントが古いチャレンジのチャレンジ応答を送信した後に新しいチャレンジを受け取った場合、クライアントは新しいチャレンジ応答を生成する必要があります。
  • 再生検出が適用されると、nc ディレクティブ (nonce count) が、サーバーによって管理されている nonce セッション データベースに対してチェックされます。
  • 認証サーバーが識別され、クライアントの承認情報が送信されます。
  • 認証サーバーは、nonce でエンコードされたサーバーの ID を、発信元サーバーの ID と照合します。
  • 認証サーバー (ドメイン コントローラー) は、ユーザーのパスワードを取得します。
  • 認証サーバーは、認証情報、パスワード、および発信元サーバー ID を使用して、チャレンジ応答の応答ディレクティブでクライアントが指定する必要がある値を計算します。 認証サーバーは、計算された値とクライアントの応答を比較して、認証の成功または失敗を判断します。

認証が成功すると、ユーザーの セキュリティ コンテキスト とダイジェスト セッション キー が元のサーバーに返されます。 認証が失敗した場合、送信元サーバーはエラー応答を生成する必要があります。 認証が成功すると、元のサーバーは要求されたリソースをクライアントに返します。

認証サーバーによって返されるダイジェスト セッション キーは、将来の要求の認証に使用するために、送信元サーバーによってキャッシュされます。 詳細については、「 Microsoft Digest を使用した後続の要求の認証」を参照してください。