Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das von RFC 2617 angegebene DigestZugriffsprotokoll wird vom Microsoft Digest Security Support Provider (SSP) implementiert. Die Implementierung besteht aus einer Reihe von Microsoft Security Support Provider Interface (SSPI)-Sicherheitskontextfunktionen, die Client-/Serveranwendungen aufrufen:
- Richten Sie einen Sicherheitskontext für den Nachrichtenaustausch ein.
- Abrufen von Datenobjekten, die vom Digest-SSP erforderlich sind, z. B. Anmeldeinformationen und Kontexthandles.
- Zugriff auf Nachrichten Integritätsmechanismen und Vertraulichkeitsmechanismen.
Die Digestzugriffsauthentifizierung findet in gekoppelten Anforderungs-/Antworttransaktionen statt, wobei Anforderungen, die auf dem Client stammen, und antworten, die auf dem Server stammen. Eine erfolgreiche Digestzugriffsauthentifizierung erfordert zwei Anforderungs-/Antwortpaare.
Wenn der Digest-SSP für die HTTP-Authentifizierung verwendet wird, wird keine Verbindung zwischen dem ersten und dem zweiten Anforderungs-/Antwortpaar hergestellt. Mit anderen Worten, der Server wartet nicht auf die zweite Anforderung, nachdem sie die erste Antwort gesendet hat.
Die folgende Abbildung zeigt die Schritte, die auf dem HTTP-Pfad von einem Client und Server ausgeführt werden, um eine Authentifizierung mithilfe des Digest-SSP abzuschließen. Der SASL-Mechanismus verwendet die gegenseitige Authentifizierung, sodass Authentifizierungsdaten an den letzten ASC-Serveraufruf an den Client zurückgesendet werden, der überprüft, ob der Client mit dem richtigen Server kommuniziert.
Der Prozess beginnt mit dem Client, der eine zugriffsgeschützte Ressource vom Server anfordert, indem http-Anforderung 1 gesendet wird.
Der Server empfängt HTTP-Anforderung 1 und bestimmt, dass für die Ressource Authentifizierungsinformationen erforderlich sind, die nicht in der Anforderung enthalten waren. Der Server generiert eine Herausforderung für den Client wie folgt:
- Der Server ruft seine Anmeldeinformationen ab, indem die funktion AcquireCredentialsHandle aufgerufen wird.
- Der Server generiert die Digest-Abfrage, indem die AcceptSecurityContext (General)-Funktion aufgerufen wird.
- Der Server sendet einen WWW-Authenticate Header als Antwort auf die Anforderung des Clients (siehe HTTP-Antwort 1). Der Header enthält die Digest-Abfrage und eine undurchsichtige Direktive, die einen Verweis auf einen teilweisen Sicherheitskontext enthält, für den Client eingerichtet wurde. Der Header wird mit einem Statuscode 401 gesendet, der angibt, dass die Clientanforderung einen nicht autorisierten Zugriffsfehler generiert hat. Weitere Informationen zur Digest-Herausforderung finden Sie unter Inhalt einer Digest-Herausforderung und Generieren der Digest-Herausforderung.
- Der Client empfängt HTTP Response 1, extrahiert die vom Server gesendete Digest-Abfrage und generiert eine Digest-Abfrageantwort wie folgt:
- Die Anmeldeinformationen des Benutzers werden entweder durch Aufrufen der AcquireCredentialsHandle-Funktion oder durch interaktive Aufforderung des Benutzers zur Eingabe von Anmeldeinformationen abgerufen.
- Die Abfrage- und Anmeldeinformationen werden an die InitializeSecurityContext (General) Funktion übergeben, die die Digest-Abfrageantwort generiert.
- Der Client sendet einen Autorisierungsheader, der die Antwort auf die Abfrage an den Server enthält (siehe HTTP-Anforderung 2). Weitere Informationen zur Digest-Abfrageantwort finden Sie unter Inhalt einer Digest-Abfrageantwort und Generieren der Digest-Abfrageantwort.
- Der Server empfängt HTTP-Anforderung 2, extrahiert die vom Client gesendete Abfrageantwort und authentifiziert die Informationen durch Aufrufen der AcceptSecurityContext (General) Funktion. Ausführliche Informationen zum Authentifizierungsprozess finden Sie unter Anfängliche Authentifizierung mithilfe von Microsoft Digest.
- Der Server sendet HTTP Response 2 zurück an den Client als zweite und letzte Antwort, die vom Digest Access-Protokoll benötigt wird. Wenn die Authentifizierung erfolgreich ist, enthält diese Antwort die angeforderte Ressource.
Verwandte Themen