Verwenden von Sicherheitspaketen
Die Security Support Provider Interface (SSPI) kann mit den folgenden Sicherheitspaketenverwendet werden:
Die Kerberos- und NTLM-Protokolle werden als Sicherheitspakete des Secur32.dll-Sicherheitsunterstützungsanbieters (Security Support Provider, SSP) implementiert, der mit dem Betriebssystem bereitgestellt wird. Standardmäßig wird die Unterstützung für die Kerberos- und NTLM-Authentifizierung von der lokalen Sicherheitsautorität (LSA) auf einem Computer geladen, wenn das System gestartet wird. In Windows Server- oder Windows-Domänen können beide Pakete verwendet werden, um Netzwerkanmeldungen und Client-/Serververbindungen zu authentifizieren. Welche verwendet wird, hängt von den Funktionen des Computers auf der anderen Seite der Verbindung ab. Das Kerberos-Protokoll wird immer bevorzugt, sofern verfügbar.
Nachdem ein Sicherheitskontext für einen interaktiven Benutzer eingerichtet wurde, kann eine andere Instanz des Kerberos- oder NTLM-Pakets durch einen Prozess geladen werden, der im Sicherheitskontext des Benutzers ausgeführt wird, um das Austauschen, Signieren, Überprüfen, Verschlüsseln und Entschlüsseln von Nachrichten zu unterstützen. Allerdings wird kein anderer Prozess als der LSA jemals Zugriff auf Sitzungsschlüssel oder Tickets im Cache für Anmeldeinformationen gewährt.
Systemdienste und Anwendungen auf Transportebene greifen über SSPI auf einen SSP zu, der Funktionen zum Aufzählen der auf einem System verfügbaren Sicherheitspakete, zum Auswählen eines Pakets und zum Verwenden dieses Pakets zum Abrufen einer authentifizierten Verbindung bereitstellt.
Die Methoden in SSPI sind generische Routinen, die Entwickler verwenden können, ohne die Details eines bestimmten Sicherheitsprotokollszu kennen. Wenn beispielsweise eine Client-/Serververbindung authentifiziert wird:
- Die Anwendung auf der Clientseite der Verbindung sendet Anmeldeinformationen mithilfe der SSPI-Funktion InitializeSecurityContext (Allgemein)an den Server.
- Die Anwendung auf der Serverseite der Verbindung antwortet mit der SSPI-Funktion AcceptSecurityContext (Allgemein).
- Nachdem die Verbindung authentifiziert wurde, verwendet das LSA auf dem Server Informationen vom Client, um ein Zugriffstokenzu erstellen.
- Der Server kann dann die SSPI-Funktion ImpersonateSecurityContext aufrufen, um das Zugriffstoken an einen Identitätswechselthread für den Dienst anzufügen.
Kerberos-Sicherheitspaket
Das Kerberos-Sicherheitspaket basiert auf dem Kerberos-Authentifizierungsprotokoll.
Wenn das Kerberos-Protokoll zum Authentifizieren einer Client-/Serververbindung verwendet wird, generiert InitializeSecurityContext (Kerberos) eine GSSAPI-Nachricht, die eine KRB-AP-REQ-Nachricht _ vom Client _ enthält. AcceptSecurityContext (Kerberos) generiert dann eine GSSAPI-Nachricht, die eine _ KRB-AP-REP-Nachricht _ vom Server enthält.
Hintergrundinformationen zu den Schritten, die im Hintergrund bei der Implementierung eines Kerberos-Protokolls erfolgen, finden Sie unter Microsoft Kerberos.
Alle verteilten Dienste verwenden SSPI für den Zugriff auf das Kerberos-Protokoll. Eine partielle Liste der Methoden, mit denen das Kerberos-Protokoll für die Authentifizierung verwendet wird, umfasst Folgendes:
- Druckspoolerdienste
- CIFS/SMB-Remotedateizugriff
- LDAP-Abfragen an Active Directory
- Verteilte Dateisystemverwaltung und Empfehlungen
- IPsec-Authentifizierung zwischen Host- und Hostsicherheitsstellen
- Reservierungsanforderungen für netzwerk Quality of Service
- Intranetauthentifizierung bei Internetinformationsdienste
- Remoteserver- oder Arbeitsstationsverwaltung mithilfe eines authentifizierten RPC
- Zertifikatanforderungen an Zertifikatdienste für Domänenbenutzer und Computer
NTLM-Sicherheitspaket
Das NTLM-Sicherheitspaket basiert auf dem NTLM-Authentifizierungsprotokoll.