Freigeben über


Verwenden von Sicherheitspaketen

Die Security Support Provider Interface (SSPI) kann mit den folgenden Sicherheitspaketen verwendet werden:

Die Protokolle Kerberos und NTLM werden als Sicherheitspakete vom Secur32.dll Security Support Provider (SSP) implementiert, der mit dem Betriebssystem bereitgestellt wird. Standardmäßig wird die Unterstützung für 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 kann ein Paket 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 ein weiterer instance des Kerberos- oder NTLM-Pakets von einem 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. Es ist jedoch keinem anderen Prozess als der LSA der Zugriff auf Sitzungsschlüssel oder Tickets im Anmeldeinformationscache gestattet.

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 Abrufen einer authentifizierten Verbindung bereitstellt.

Die Methoden in SSPI sind generische Routinen, die Entwickler verwenden können, ohne die Details eines bestimmten Sicherheitsprotokolls zu kennen. Wenn beispielsweise eine Client/Server-Verbindung authentifiziert wird:

  1. Die Anwendung auf der Clientseite der Verbindung sendet Anmeldeinformationen an den Server mithilfe der SSPI-Funktion InitializeSecurityContext (Allgemein).
  2. Die Anwendung auf der Serverseite der Verbindung antwortet mit der SSPI-Funktion AcceptSecurityContext (Allgemein).
  3. Nachdem die Verbindung authentifiziert wurde, verwendet die LSA auf dem Server Informationen vom Client, um ein Zugriffstoken zu erstellen.
  4. 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/Server-Verbindung 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 hinter den Kulissen bei der Implementierung eines Kerberos-Protokolls stattfinden, finden Sie unter Microsoft Kerberos.

Alle verteilten Dienste verwenden SSPI für den Zugriff auf das Kerberos-Protokoll. Eine partielle Liste der Möglichkeiten, wie das Kerberos-Protokoll für die Authentifizierung verwendet wird, umfasst:

  • Drucken von Spoolerdiensten
  • CIFS/SMB-Remotezugriff auf Dateien
  • LDAP-Abfragen für Active Directory
  • Verwaltung und Empfehlungen für verteilte Dateisysteme
  • IPsec-Authentifizierung der Host-zu-Host-Sicherheitsautorität
  • Reservierungsanforderungen für die Netzwerkqualität des Diensts
  • Intranetauthentifizierung bei Internetinformationsdiensten
  • Remoteserver- oder Arbeitsstationsverwaltung mithilfe authentifizierter RPC
  • Zertifikatanforderungen an Zertifikatdienste für Domänenbenutzer und -computer

NTLM-Sicherheitspaket

Das NTLM-Sicherheitspaket basiert auf dem NTLM-Authentifizierungsprotokoll.