接続間のセキュリティ コンテキストの維持

Note

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

ドメイン コントローラーのトラフィックを減らし、パフォーマンスを向上させるために、Microsoft Digest のクライアント側は、サーバーでの認証が成功した後に受信した情報をキャッシュします。 クライアント アプリケーションは、確立された セキュリティ コンテキスト へのハンドルのみをキャッシュする必要があります。 次の表では、セキュリティ パッケージによってキャッシュされる情報について説明します。

Information 説明
サーバー名 ユーザーのセキュリティ コンテキストが正常に作成されたサーバー。
領域/ドメイン 成功した認証で使用されるドメイン名。
Nonce 成功した認証に関連付けられているサーバー nonce。
Nonce count クライアントがサーバーへの要求に nonce を含める回数。 これは、再生検出に使用されます。
不透明な値 認証が成功した後に不透明ディレクティブに対して返される値。 この値には、ユーザーのセキュリティ コンテキストへの参照が含まれています。

クライアントがサーバーにメッセージを送信する場合、サーバーはクライアントに既存のセキュリティ コンテキストがあるかどうかを判断する必要があります。 これを行うために、サーバーは各クライアント要求を AcceptSecurityContext (General) 関数に渡します。 この関数は、要求 (存在する場合) から不透明なディレクティブの値を抽出し、それを使用してクライアントのセキュリティ コンテキストを検索します。 セキュリティ コンテキストが見つかった場合、コンテキストのハンドルがサーバーに返されます。 関連情報については、「 後続の要求の認証」を参照してください。

スプーフィング攻撃とリプレイ攻撃を検出する手段として、クライアントは、セキュリティ コンテキストを使用してメッセージに署名する MakeSignature 関数を呼び出します。 MakeSignature 関数を使用してメッセージが保護されている場合、サーバーはキャッシュされたコンテキストと共に VerifySignature 関数を使用して、メッセージの配信元と整合性を確認します。 詳細については、「 メッセージの保護」を参照してください。