Delen via


Interfacearchitectuur van beveiligingsondersteuningsprovider

In dit naslagonderwerp voor IT-professionals worden de Windows-verificatieprotocollen beschreven die worden gebruikt in de SSPI-architectuur (Security Support Provider Interface).

De Microsoft Security Support Provider Interface (SSPI) vormt de basis voor Windows-verificatie. Toepassingen en infrastructuurservices waarvoor verificatie is vereist, maken gebruik van SSPI om deze te leveren.

SSPI is de implementatie van de Generic Security Service API (GSSAPI) in Windows Server-besturingssystemen. Zie RFC 2743 en RFC 27444 in de RFC-database van IETF voor meer informatie over GSSAPI.

De standaard SSP's (Security Support Providers) die specifieke verificatieprotocollen in Windows aanroepen, worden opgenomen in de SSPI als DLL's. Deze standaard-SSP's worden beschreven in de volgende secties. Extra SSP's kunnen worden opgenomen als ze met de SSPI kunnen werken.

Zoals wordt weergegeven in de volgende afbeelding, biedt de SSPI in Windows een mechanisme dat verificatietokens over het bestaande communicatiekanaal tussen de clientcomputer en de server bevat. Wanneer twee computers of apparaten moeten worden geverifieerd zodat ze veilig kunnen communiceren, worden de aanvragen voor verificatie doorgestuurd naar de SSPI, waarmee het verificatieproces wordt voltooid, ongeacht het netwerkprotocol dat momenteel wordt gebruikt. De SSPI retourneert transparante binaire objecten van grote omvang. Deze worden doorgegeven tussen de toepassingen, waarna ze kunnen worden doorgegeven aan de SSPI-laag. Met de SSPI kan een toepassing dus verschillende beveiligingsmodellen gebruiken die beschikbaar zijn op een computer of netwerk zonder de interface te wijzigen in het beveiligingssysteem.

diagram met de interfacearchitectuur van de provider voor beveiligingsondersteuning

In de volgende secties worden de standaard-SSP's beschreven die communiceren met de SSPI. De SSP's worden op verschillende manieren gebruikt in Windows-besturingssystemen om beveiligde communicatie in een onbeveiligde netwerkomgeving te bevorderen.

Ook opgenomen in dit onderwerp:

selectie van beveiligingsondersteuningsproviders

Kerberos-beveiligingsondersteuningsprovider

Deze SSP maakt alleen gebruik van het Kerberos versie 5-protocol, zoals geïmplementeerd door Microsoft. Dit protocol is gebaseerd op de RFC 4120 en conceptrevisies van de netwerkwerkgroep. Het is een standaardprotocol dat wordt gebruikt met een wachtwoord of een smartcard voor een interactieve aanmelding. Het is ook de voorkeursverificatiemethode voor services in Windows.

Omdat het Kerberos-protocol het standaardverificatieprotocol is sinds Windows 2000, ondersteunen alle domeinservices de Kerberos SSP. Deze services omvatten:

  • Active Directory-query's die gebruikmaken van het Lightweight Directory Access Protocol (LDAP)

  • Extern server- of werkstationbeheer dat gebruikmaakt van de Remote Procedure Call-service

  • Afdrukservices

  • Client-serverauthenticatie

  • Externe bestandstoegang die gebruikmaakt van het SMB-protocol (Server Message Block) (ook wel bekend als Common Internet File System of CIFS)

  • Gedistribueerd bestandssysteembeheer en verwijzingen

  • Intranetverificatie voor Internet Information Services (IIS)

  • Verificatie van beveiligingsinstanties voor Internet Protocol-beveiliging (IPsec)

  • Certificaataanvragen voor Active Directory Certificate Services voor domeingebruikers en -computers

Locatie: %Windir%\System32\kerberos.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, plus Windows Server 2003 en Windows XP.

Aanvullende resources voor het Kerberos-protocol en de Kerberos SSP-

NTLM-beveiligingsondersteuningsprovider

De NTLM Security Support Provider (NTLM SSP) is een binair berichtenprotocol dat wordt gebruikt door de SSPI (Security Support Provider Interface) om NTLM-vraag-antwoordverificatie toe te staan en om integriteits- en vertrouwelijkheidsopties te onderhandelen. NTLM wordt gebruikt waar SSPI-verificatie wordt gebruikt, waaronder voor Server Message Block- of CIFS-verificatie, HTTP Negotiate-verificatie (bijvoorbeeld internetwebverificatie) en de service Remote Procedure Call. De NTLM SSP bevat de verificatieprotocollen NTLM en NTLM versie 2 (NTLMv2).

De ondersteunde Windows-besturingssystemen kunnen de NTLM SSP voor het volgende gebruiken:

  • Client-/serververificatie

  • Afdrukservices

  • Bestandstoegang met behulp van CIFS (SMB)

  • Beveiligde Remote Procedure Call-service / DCOM-service

Locatie: %Windir%\System32\msv1_0.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, plus Windows Server 2003 en Windows XP.

Aanvullende resources voor het NTLM-protocol en de NTLM SSP

Ondersteunende provider voor beveiliging van Digest

Digest-verificatie is een industriestandaard die wordt gebruikt voor LDAP (Lightweight Directory Access Protocol) en webverificatie. Digest-verificatie verzendt referenties via het netwerk als md5-hash of berichtsamenvatting.

Digest SSP (Wdigest.dll) wordt gebruikt voor het volgende:

  • Toegang tot Internet Explorer en Internet Information Services (IIS)

  • LDAP-queries

Locatie: %Windir%\System32\Wdigest.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, plus Windows Server 2003 en Windows XP.

Aanvullende bronnen voor het Digest-protocol en de Digest-SSP

Schannel beveiligingsondersteuningsprovider

Het Beveiligde kanaal (Schannel) wordt gebruikt voor webgebaseerde serververificatie, bijvoorbeeld wanneer een gebruiker toegang probeert te krijgen tot een beveiligde webserver.

Het TLS-protocol, het SSL-protocol, het PCT-protocol (Private Communications Technology) en het DTLS-protocol (Datagram Transport Layer) zijn gebaseerd op cryptografie van openbare sleutels. Schannel biedt al deze protocollen. Alle Schannel-protocollen maken gebruik van een client-/servermodel. De Schannel-SSP maakt gebruik van openbare-sleutelcertificaten om partijen te verifiëren. Bij het verifiëren van partijen selecteert Schannel SSP een protocol in de volgende volgorde van voorkeur:

  • Transport Layer Security (TLS) versie 1.0

  • Tls-versie (Transport Layer Security) versie 1.1

  • Tls-versie (Transport Layer Security) versie 1.2

  • Secure Socket Layer (SSL) versie 2.0

  • Secure Socket Layer (SSL) versie 3.0

  • Private Communications Technology (PCT)

    Opmerking PCT is standaard uitgeschakeld.

Het geselecteerde protocol is het voorkeursverificatieprotocol dat de client en de server kunnen ondersteunen. Als een server bijvoorbeeld alle Schannel-protocollen ondersteunt en de client alleen SSL 3.0 en SSL 2.0 ondersteunt, gebruikt het verificatieproces SSL 3.0.

DTLS wordt gebruikt wanneer deze expliciet wordt aangeroepen door de toepassing. Zie voor meer informatie over DTLS en de andere protocollen die worden gebruikt door de Schannel-provider technische naslaginformatie voor Schannel Security Support Provider.

Locatie: %Windir%\System32\Schannel.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, plus Windows Server 2003 en Windows XP.

Notitie

TLS 1.2 werd geïntroduceerd in deze provider in Windows Server 2008 R2 en Windows 7. DTLS werd geïntroduceerd in deze provider in Windows Server 2012 en Windows 8.

Aanvullende resources voor de TLS- en SSL-protocollen en de Schannel-SSP-

Onderhandelen over beveiligingsondersteuningsprovider

Het Simple and Protected GSS-API Negotiate Mechanism (SPNEGO) vormt de basis voor de Negotiate SSP, die kan worden gebruikt om te onderhandelen over een specifiek verificatieprotocol. Wanneer een toepassing SSPI aanroept om zich aan te melden bij een netwerk, kan er een SSP worden opgegeven om de aanvraag te verwerken. Als de toepassing de negotiate-SSP opgeeft, analyseert deze de aanvraag en kiest de juiste provider om de aanvraag af te handelen, op basis van door de klant geconfigureerd beveiligingsbeleid.

SPNEGO is opgegeven in RFC 2478.

In ondersteunde versies van de Windows-besturingssystemen selecteert de beveiligingsondersteuningsprovider Negotiate tussen het Kerberos-protocol en NTLM. Onderhandelen selecteert standaard het Kerberos-protocol, tenzij dat protocol niet kan worden gebruikt door een van de systemen die betrokken zijn bij de verificatie, of de aanroepende toepassing onvoldoende informatie heeft verstrekt om het Kerberos-protocol te gebruiken.

Locatie: %Windir%\System32\lsasrv.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, plus Windows Server 2003 en Windows XP.

Aanvullende bronnen voor het onderhandelen over SSP

Referentiebeveiligingsondersteuningsprovider

De Credential Security Service Provider (CredSSP) biedt een gebruikerservaring voor eenmalige aanmelding (SSO) bij het starten van nieuwe Terminal Services- en Remote Desktop Services-sessies. Met CredSSP kunnen toepassingen de referenties van gebruikers delegeren vanaf de clientcomputer (met behulp van de SSP aan de clientzijde) naar de doelserver (via de SSP aan de serverzijde), op basis van het beleid van de client. CredSSP-beleidsregels worden geconfigureerd met behulp van Groepsbeleid en de overdracht van referenties is standaard uitgeschakeld.

Locatie: %Windir%\System32\credssp.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp.

Aanvullende resources voor de referentie-SSP-

Onderhandelen over beveiligingsondersteuningsprovider voor extensies

Negotiate Extensions (NegoExts) is een verificatiepakket dat onderhandelt over het gebruik van SSP's, behalve NTLM of het Kerberos-protocol, voor toepassingen en scenario's die zijn geïmplementeerd door Microsoft en andere softwarebedrijven.

Deze uitbreiding voor het onderhandelingspakket biedt de volgende scenario's:

  • Uitgebreide beschikbaarheid van clients binnen een federatief systeem. Documenten kunnen worden geopend op SharePoint-sites en ze kunnen worden bewerkt met behulp van een volledige Microsoft Office-toepassing.

  • Uitgebreide clientondersteuning voor Microsoft Office-services. Gebruikers kunnen zich aanmelden bij Microsoft Office-services en een volledige Microsoft Office-toepassing gebruiken.

  • Gehoste Microsoft Exchange Server en Outlook. Er is geen domeinvertrouwensrelatie tot stand gebracht omdat Exchange Server wordt gehost op het web. Outlook gebruikt de Windows Live-service om gebruikers te verifiëren.

  • Uitgebreide beschikbaarheid van clients tussen clientcomputers en servers. De netwerk- en verificatieonderdelen van het besturingssysteem worden gebruikt.

Het Windows Negotiate-pakket behandelt de NegoExts SSP op dezelfde manier als voor Kerberos en NTLM. NegoExts.dll wordt bij het opstarten in LSA (Local System Authority) geladen. Wanneer een verificatieaanvraag wordt ontvangen, op basis van de bron van de aanvraag, onderhandelt NegoExts tussen de ondersteunde SSP's. Het verzamelt de referenties en het beleid, versleutelt deze en verzendt die informatie naar de juiste SSP, waar het beveiligingstoken wordt gemaakt.

De SSP's die worden ondersteund door NegoExts zijn geen zelfstandige SSP's, zoals Kerberos en NTLM. Daarom wordt in de NegoExts-SSP, wanneer de verificatiemethode om welke reden dan ook mislukt, een verificatiefoutbericht weergegeven of geregistreerd. Er zijn geen heronderhandelings- of terugvalauthenticatiemethoden mogelijk.

Locatie: %Windir%\System32\negoexts.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, met uitzondering van Windows Server 2008 en Windows Vista.

PKU2U-beveiligingsondersteuningsprovider

Het PKU2U-protocol is geïntroduceerd en geïmplementeerd als een SSP in Windows 7 en Windows Server 2008 R2. Deze SSP maakt peer-to-peer-verificatie mogelijk, met name via de media- en bestandsdelingsfunctie homegroup, die is geïntroduceerd in Windows 7. De functie staat delen toe tussen computers die geen lid zijn van een domein.

Locatie: %Windir%\System32\pku2u.dll

Deze provider is standaard opgenomen in versies die zijn aangewezen in de Van toepassing op lijst aan het begin van dit onderwerp, met uitzondering van Windows Server 2008 en Windows Vista.

Aanvullende resources voor het PKU2U-protocol en de PKU2U-SSP

Selectie beveiligingsondersteuningsprovider

De Windows SSPI kan elk van de protocollen gebruiken die worden ondersteund via de geïnstalleerde beveiligingsondersteuningsproviders. Omdat niet alle besturingssystemen dezelfde SSP-pakketten ondersteunen als elke computer waarop Windows Server wordt uitgevoerd, moeten clients en servers onderhandelen over het gebruik van een protocol dat beide ondersteunen. Windows Server geeft de voorkeur aan clientcomputers en toepassingen om het Kerberos-protocol te gebruiken, indien mogelijk een sterk protocol op basis van standaarden, maar het besturingssysteem blijft clientcomputers en clienttoepassingen die het Kerberos-protocol niet ondersteunen, toestaan om te verifiëren.

Voordat verificatie kan plaatsvinden, moeten de twee communicerende computers akkoord gaan met een protocol dat beide kunnen ondersteunen. Elke computer moet over de juiste SSP beschikken om elk protocol te kunnen gebruiken via de SSPI. Voor een clientcomputer en server voor het gebruik van het Kerberos-verificatieprotocol moeten ze bijvoorbeeld zowel Kerberos v5 ondersteunen. Windows Server gebruikt de functie EnumerateSecurityPackages om te bepalen welke SSP's worden ondersteund op een computer en wat de mogelijkheden van deze SSP's zijn.

De selectie van een verificatieprotocol kan op een van de volgende twee manieren worden verwerkt:

  1. protocol voor één verificatie

  2. optie onderhandelen

Protocol voor één verificatie

Wanneer er één acceptabel protocol is opgegeven op de server, moet de clientcomputer het opgegeven protocol ondersteunen of mislukt de communicatie. Wanneer er één acceptabel protocol is opgegeven, vindt de verificatie-uitwisseling als volgt plaats:

  1. De clientcomputer vraagt toegang tot een service aan.

  2. De server reageert op de aanvraag en geeft het protocol op dat wordt gebruikt.

  3. De clientcomputer onderzoekt de inhoud van het antwoord en controleert of het het opgegeven protocol ondersteunt. Als de clientcomputer het opgegeven protocol ondersteunt, wordt de verificatie voortgezet. Als de clientcomputer het protocol niet ondersteunt, mislukt de verificatie, ongeacht of de clientcomputer is gemachtigd voor toegang tot de resource.

Optie onderhandelen

De onderhandelingsoptie kan worden gebruikt om de client en server toe te staan een acceptabel protocol te vinden. Dit is gebaseerd op het Simple and Protected GSS-API Negotiation Mechanism (SPNEGO). Wanneer de verificatie begint met de optie om te onderhandelen over een verificatieprotocol, vindt de SPNEGO-uitwisseling als volgt plaats:

  1. De clientcomputer vraagt toegang tot een service aan.

  2. De server reageert met een lijst met verificatieprotocollen die het kan ondersteunen en een verificatievraag of -antwoord, op basis van het protocol dat de eerste keuze is. De server kan bijvoorbeeld het Kerberos-protocol en NTLM vermelden en een Kerberos-verificatieantwoord verzenden.

  3. De clientcomputer onderzoekt de inhoud van het antwoord en controleert of het een van de opgegeven protocollen ondersteunt.

    • Als de clientcomputer het voorkeursprotocol ondersteunt, wordt de verificatie voortgezet.

    • Als de clientcomputer het voorkeursprotocol niet ondersteunt, maar wel een van de andere protocollen ondersteunt die door de server worden vermeld, laat de clientcomputer de server weten welk verificatieprotocol het ondersteunt en wordt de verificatie voortgezet.

    • Als de clientcomputer geen van de vermelde protocollen ondersteunt, mislukt de verificatie-uitwisseling.

Aanvullende verwijzingen

Windows-verificatiearchitectuur