Delen via


Registerinstellingen voor Transport Layer Security (TLS)

In dit artikel worden de ondersteunde registerinstellingsinformatie uitgelegd voor de Windows-implementatie van het TLS-protocol (Transport Layer Security) en het SSL-protocol (Secure Sockets Layer) via de Schannel Security Support Provider (SSP). De registersubsleutels en vermeldingen die in dit artikel worden behandeld, helpen u bij het beheren en oplossen van problemen met de Schannel-SSP, met name de TLS- en SSL-protocollen.

Caution

Deze informatie wordt verstrekt als referentie om te gebruiken wanneer u problemen wilt oplossen of controleert of de vereiste instellingen worden toegepast. U wordt aangeraden het register niet rechtstreeks te bewerken, tenzij er geen ander alternatief is. Wijzigingen in het register worden niet gevalideerd door de Register-editor of door het Windows-besturingssysteem voordat ze worden toegepast. Als gevolg hiervan kunnen onjuiste waarden worden opgeslagen en kan dit leiden tot onherstelbare fouten in het systeem. Gebruik, indien mogelijk, in plaats van het register rechtstreeks te bewerken Groepsbeleid of andere Windows-hulpprogramma's zoals de Microsoft Management Console (MMC). Als u het register moet bewerken, moet u uiterst voorzichtig zijn.

Logboekregistratie van schannel

Er zijn acht logniveaus voor Schannel-gebeurtenissen die zijn opgeslagen in het systeemgebeurtenislogboek en kunnen worden weergegeven met de Logboekviewer. Dit registerpad wordt opgeslagen onder HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL de EventLogging-sleutel , waarbij een DWORD-waarde is ingesteld op 1.

Decimaal of hexadecimaal Logboekgebeurtenissen van Schannel
0 Geen gebeurtenissen
1 Fout gebeurtenissen
2 Waarschuwingsevenementen
3 Fout- en waarschuwingsevenementen
4 Informatieve gebeurtenissen en geslaagde gebeurtenissen
5 Fout-, informatieve en geslaagde gebeurtenissen
6 Waarschuwings-, informatieve en geslaagde gebeurtenissen
7 Fout-, waarschuwings-, informatieve en geslaagde gebeurtenissen

Note

U moet uw apparaat opnieuw opstarten nadat u het logboekregistratieniveau hebt gewijzigd.

CertificateMappingMethods

Wanneer voor een servertoepassing clientverificatie is vereist, probeert Schannel automatisch het certificaat dat door de clientcomputer wordt geleverd toe te wijzen aan een gebruikersaccount. U kunt gebruikers verifiëren die zich aanmelden met een clientcertificaat door toewijzingen te maken die de certificaatgegevens koppelen aan een Windows-gebruikersaccount.

Nadat u een certificaattoewijzing hebt gemaakt en ingeschakeld, koppelt uw servertoepassing een gebruiker automatisch aan het juiste Windows-gebruikersaccount telkens wanneer een cliënt zijn certificaat toont.

In de meeste gevallen wordt een certificaat op twee manieren toegewezen aan een gebruikersaccount:

  • Eén certificaat wordt toegewezen aan één gebruikersaccount (een-op-een-toewijzing).
  • Meerdere certificaten worden toegewezen aan één gebruikersaccount (veel-op-één-toewijzing).

De Schannel-provider maakt gebruik van vier methoden voor certificaattoewijzing.

  1. Kerberos-toewijzing voor gebruikers (S4U) (standaard ingeschakeld)
  2. Toewijzing van gebruikersprincipele naam
  3. Een-op-een-koppeling (ook wel onderwerp-/verlenerkoppeling genoemd)
  4. Veel-op-een-toewijzing

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Vermeldingsnaam DWORD Standaard ingeschakeld
Subject/Issuer 0x000000001 No
Issuer 0x000000002 No
UPN 0x000000004 No
S4U2Self 0x000000008 Yes
S4U2Self Expliciet 0x000000010 Yes

Ciphers

TLS/SSL-coderingen moeten worden beheerd door de volgorde van de coderingssuite te configureren. Zie Tls Cipher Suite-volgorde configureren voor meer informatie.

Zie Cipher Suites in TLS/SSL (Schannel SSP) voor meer informatie over standaardorders voor coderingssuites die worden gebruikt door de Schannel-SSP.

CipherSuites

Het configureren van TLS/SSL-coderingssuites moet worden uitgevoerd met behulp van groepsbeleid, MDM of PowerShell. Zie Tls Cipher Suite-volgorde configureren voor meer informatie.

Zie Cipher Suites in TLS/SSL (Schannel SSP) voor meer informatie over standaardorders voor coderingssuites die worden gebruikt door de Schannel-SSP.

ClientCacheTime

Deze vermelding bepaalt de levensduur van het TLS-sessie cache-item van de client in milliseconden. Vanaf Windows Server 2008 en Windows Vista is de standaardwaarde 10 uur. Een waarde van 0 schakelt caching van TLS-sessies op de client uit.

De eerste keer dat een client verbinding maakt met een server via de Schannel-SSP, wordt een volledige TLS/SSL-handshake uitgevoerd. Wanneer u klaar bent, worden het hoofdgeheim, de coderingssuite en de certificaten opgeslagen in de sessiecache op de respectieve client en server.

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

EnableOcspStaplingForSni

Online Certificate Status Protocol (OCSP) koppelen stelt een webserver, zoals Internet Information Services (IIS), in staat om de huidige intrekkingsstatus van een servercertificaat op te geven wanneer het servercertificaat tijdens de TLS-handshake naar een client wordt verzonden. Deze functie vermindert de belasting op OCSP-servers omdat de webserver de huidige OCSP-status van het servercertificaat in de cache kan opslaan en naar meerdere webclients kan verzenden. Zonder deze functie probeert elke webclient de huidige OCSP-status van het servercertificaat op te halen van de OCSP-server. Dit genereert een hoge belasting op die OCSP-server.

Naast IIS kunnen webservices via http.sys ook profiteren van deze instelling, waaronder Active Directory Federation Services (AD FS) en Web Application Proxy (WAP).

OCSP-ondersteuning is standaard ingeschakeld voor IIS-websites met een eenvoudige beveiligde binding (SSL/TLS). Deze ondersteuning is echter niet standaard ingeschakeld als de IIS-website gebruikmaakt van een van de volgende typen SSL/TLS-bindingen:

  • Servernaamindicatie vereisen
  • Gecentraliseerd certificaatarchief gebruiken

In dit geval bevat de server hello-respons tijdens de TLS-handshake standaard geen OCSP-gestapelde status. Dit gedrag verbetert de prestaties: de Windows OCSP-stapeling schaalt naar honderden servercertificaten. Servernaamindicatie (SNI) en Central Certificate Store (CCS) kunnen IIS echter schalen naar duizenden websites die mogelijk duizenden servercertificaten hebben, waardoor OCSP-koppeling voor CCS-bindingen prestatieproblemen kan veroorzaken.

Registerpad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Voeg de volgende sleutel toe:

"EnableOcspStaplingForSni"=dword:00000001

Als u wilt uitschakelen, stelt u de DWORD-waarde in op 0:

"EnableOcspStaplingForSni"=dword:00000000

Note

Het inschakelen van deze registersleutel heeft mogelijk invloed op de prestaties.

Hashes

TLS/SSL-hashalgoritmen moeten worden beheerd door de volgorde van de coderingssuite te configureren. Zie Order voor TLS-coderingssuite configureren voor meer informatie.

IssuerCacheSize

Deze vermelding bepaalt de grootte van de uitgevercache en wordt gebruikt met uitgevertoewijzing. De Schannel-SSP probeert alle uitgevers in de certificaatketen van de client toe te wijzen, niet alleen de directe uitgever van het clientcertificaat. Wanneer uitgevers niet aan een account koppelen, wat gebruikelijk is, kan de server proberen herhaaldelijk dezelfde uitgeversnaam toe te wijzen, honderden keren per seconde.

Om dit te voorkomen, heeft de server een negatieve cache, dus als de naam van een verlener niet wordt toegewezen aan een account, wordt deze toegevoegd aan de cache en probeert de Schannel-SSP de naam van de verlener pas opnieuw toe te wijzen als de cachevermelding is verlopen. Deze registervermelding geeft de cachegrootte op. Deze vermelding bestaat niet standaard in het register. De standaardwaarde is 100.

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

IssuerCacheTime

Deze vermelding bepaalt de lengte van het time-outinterval van de cache in milliseconden. De Schannel-SSP probeert alle uitgevers in de certificaatketen van de client toe te wijzen, niet alleen de directe uitgever van het clientcertificaat. In het geval dat de uitgevers niet aan een account worden gekoppeld, wat doorgaans het geval is, kan de server proberen dezelfde naam van de uitgever honderden keren per seconde herhaaldelijk toe te wijzen.

Om dit te voorkomen, heeft de server een negatieve cache, dus als de naam van een verlener niet wordt toegewezen aan een account, wordt deze toegevoegd aan de cache en probeert de Schannel-SSP de naam van de verlener pas opnieuw toe te wijzen als de cachevermelding is verlopen. Deze cache wordt om prestatieredenen bewaard, zodat het systeem niet steeds blijft proberen om dezelfde uitgevers in kaart te brengen. Deze vermelding bestaat niet standaard in het register. De standaardwaarde is 10 minuten.

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

KeyExchangeAlgorithm-sleutelgrootten

Deze volgende vermeldingen bestaan mogelijk niet standaard in het register en moeten handmatig worden gemaakt. Het gebruik van sleuteluitwisselingsalgoritmen moet worden beheerd door de volgorde van de coderingssuite te configureren. Zie Coderingssuites in TLS/SSL (Schannel SSP) voor meer informatie over cryptografische algoritmen van TLS/SSL.

Toegevoegd in Windows 10, versie 1507 en Windows Server 2016.

Registerpad: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman

Als u een minimaal ondersteund bereik van Diffie-Hellman sleutelbitlengte voor de TLS-client wilt opgeven, maakt u een ClientMinKeyBitLength vermelding. Nadat u de vermelding hebt gemaakt, wijzigt u de DWORD-waarde in de gewenste bitlengte. Als deze niet is geconfigureerd, is 1024 bits het minimum.

Note

Geconfigureerde elliptische curven bepalen de cryptografische sterkte van de ECDHE-sleuteluitwisseling. Zie Transport Layer Security (TLS) beheren voor meer informatie.

MaximumCacheSize

Met deze vermelding bepaalt u het maximum aantal TLS-sessies dat in de cache moet worden opgeslagen. Door MaximumCacheSize op 0 in te stellen, wordt de sessiecache aan de serverzijde uitgeschakeld om te voorkomen dat de sessie wordt hervat. Het verhogen van MaximumCacheSize boven de standaardwaarden zorgt ervoor dat Lsass.exe extra geheugen verbruikt. Voor elk sessiecache-element is doorgaans 2 kB tot 4 kB geheugen vereist. Deze vermelding bestaat niet standaard in het register. De standaardwaarde is 20.000 elementen.

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Berichten - fragmentparseren

Met deze vermelding bepaalt u de maximaal toegestane grootte van een TLS-handshake-bericht dat wordt geaccepteerd. Berichten die groter zijn dan de toegestane grootte, worden niet geaccepteerd en de TLS-handshake mislukt. Deze vermeldingen bestaan niet standaard in het register.

Wanneer u de waarde 0x0instelt, worden gefragmenteerde berichten niet verwerkt en mislukt de TLS-handshake. Hierdoor zijn TLS-clients of -servers op de huidige computer niet compatibel met de TLS-RFC's.

De maximaal toegestane grootte kan worden verhoogd tot 2^16 bytes. Een client of server toestaan om grote hoeveelheden niet-geverifieerde gegevens van het netwerk te lezen en op te slaan, is geen goed idee en verbruikt extra geheugen voor elke beveiligingscontext.

Toegevoegd in Windows 7 en Windows Server 2008 R2: Een update waarmee Internet Explorer in Windows XP, in Windows Vista of in Windows Server 2008 gefragmenteerde TLS/SSL-handshake-berichten kan parseren, is beschikbaar.

Registerpad: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Messaging

Als u een maximaal toegestane grootte wilt opgeven van gefragmenteerde TLS-handshake-berichten die door de TLS-client worden geaccepteerd, maakt u een MessageLimitClient vermelding. Nadat u de vermelding hebt gemaakt, wijzigt u de DWORD-waarde in de gewenste bitlengte. Als deze niet is geconfigureerd, is de standaardwaarde 0x8000 bytes.

Als u een maximaal toegestane grootte wilt opgeven van gefragmenteerde TLS-handshakeberichten die de TLS-server accepteert wanneer er geen clientverificatie is, maakt u een MessageLimitServer vermelding. Nadat u de vermelding hebt gemaakt, wijzigt u de DWORD-waarde in de gewenste bitlengte. Als deze niet is geconfigureerd, wordt de standaardwaarde 0x4000 bytes.

Als u een maximaal toegestane grootte wilt opgeven van gefragmenteerde TLS-handshakeberichten die de TLS-server accepteert wanneer er clientverificatie is, maakt u een MessageLimitServerClientAuth vermelding. Nadat u de vermelding hebt gemaakt, wijzigt u de DWORD-waarde in de gewenste bitlengte. Als deze niet is geconfigureerd, wordt de standaardwaarde 0x8000 bytes.

SendTrustedIssuerList

TLS-servers kunnen een lijst verzenden met de onderscheiden namen van acceptabele certificaatautoriteiten wanneer zij om clientverificatie vragen. Hiermee kunnen TLS-clients een geschikt TLS-clientcertificaat selecteren. TLS-servers op basis van Schannel verzenden deze lijst met vertrouwde verleners standaard niet, omdat dit de door de server vertrouwde certificeringsinstanties blootstelt aan passieve waarnemers en ook de hoeveelheid gegevens verhoogt die tijdens de TLS-handshake wordt uitgewisseld. Als u deze waarde instelt op 1 , worden op Schannel gebaseerde servers hun lijsten met vertrouwde verleners verzonden.

Het niet verzenden van een lijst met vertrouwde uitgevers kan van invloed zijn op wat de client verstuurt wanneer wordt gevraagd om een clientcertificaat. Wanneer Microsoft Edge bijvoorbeeld een aanvraag voor clientverificatie ontvangt, worden alleen de clientcertificaten weergegeven die zijn gekoppeld aan een van de certificeringsinstanties die door de server worden verzonden. Als de server geen lijst heeft verzonden, worden in Microsoft Edge alle clientcertificaten weergegeven die op de client zijn geïnstalleerd.

Dit gedrag kan wenselijk zijn. Wanneer PKI-omgevingen bijvoorbeeld kruiscertificaten bevatten, hebben de client- en servercertificaten niet dezelfde basis-CA. Daarom kan Microsoft Edge geen certificaat kiezen dat is gekoppeld aan een van de CA's van de server. TLS-clients bieden mogelijk een beschikbaar clientcertificaat wanneer een server de lijst met vertrouwde verleners niet verzendt. Deze vermelding bestaat niet standaard in het register.

Standaardgedrag van lijst met vertrouwde verleners verzenden

Windows-versie Standaardgedrag
Windows Server 2012, Windows 8 en hoger FALSE

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

ServerCacheTime

Met deze vermelding geeft u de levensduur van server-TLS-sessiecacheitems in milliseconden op. De standaardwaarde is 10 uur. Met een waarde van 0 wordt caching van TLS-sessies op de server uitgeschakeld en wordt het hervatten van de sessie voorkomen. Als u ServerCacheTime boven de standaardwaarden verhoogt, wordt Lsass.exe extra geheugen verbruikt. Voor elk sessiecache-element is doorgaans 2 kB tot 4 kB geheugen vereist. Deze vermelding bestaat niet standaard in het register.

Registerpad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Standaardtijd voor servercache: 10 uur

Versie-instellingen voor TLS-, DTLS- en SSL-protocol

SChannel SSP implementeert versies van de TLS-, DTLS- en SSL-protocollen. Verschillende Versies van Windows ondersteunen verschillende protocolversies. De set (D)TLS- en SSL-versies die beschikbaar zijn in het systeem kan worden beperkt (maar niet uitgebreid) door SSPI-bellers die de SCH_CREDENTIALS structuur opgeven in de aanroep AcquireCredentialsHandle . Het wordt aanbevolen dat SSPI-bellers de systeemstandaarden gebruiken in plaats van protocolversiebeperkingen op te leggen.

Een ondersteunde (D)TLS- of SSL-protocolversie kan bestaan in een van de volgende statussen:

  • Ingeschakeld: Tenzij de SSPI-aanroeper deze protocolversie expliciet uitschakelt met behulp van SCH_CREDENTIALS structuur, kan Schannel SSP onderhandelen over deze protocolversie met een ondersteunende peer.
  • Uitgeschakeld: Schannel SSP onderhandelt niet over deze protocolversie, ongeacht de instellingen die de SSPI-aanroeper kan opgeven.

Deze registerwaarden worden afzonderlijk geconfigureerd voor de protocolclient- en serverfuncties onder de registersubsleutels met de volgende indeling:

<SSL/TLS/DTLS> <major version number>.<minor version number><Client\Server>

Deze versiespecifieke subsleutels kunnen worden gemaakt onder het volgende registerpad:

  • HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

Hier volgen bijvoorbeeld enkele geldige registerpaden met versiespecifieke subsleutels:

  • HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client

  • HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server

  • HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\DTLS 1.2\Client

Als u een systeemstandaard wilt overschrijven en een ondersteunde (D)TLS- of SSL-protocolversie wilt instellen op de Enabled status, maakt u een DWORD-registerwaarde Enabled met de vermeldingswaarde 1 onder de bijbehorende versiespecifieke subsleutel.

In het volgende voorbeeld ziet u dat de TLS 1.0-client is ingesteld op de status Ingeschakeld :

Schermopname van het instellen van TLS 1.0 client-side om in de Windows Server-registerinstellingen in te schakelen.

Als u een systeemstandaard wilt overschrijven en een ondersteunde (D)TLS- of SSL-protocolversie wilt instellen op de Disabled status, wijzigt u de DWORD-registerwaarde van Enabled0 onder de bijbehorende versiespecifieke subsleutel.

In het volgende voorbeeld ziet u DTLS 1.2 uitgeschakeld in het register:

Schermopname van de windows Server-registerinstelling voor DTLS 1.2 ingesteld op standaard uitgeschakeld.

Het overschakelen van een (D)TLS- of SSL-protocolversie naar Disabled status kan ertoe leiden dat AcquireCredentialsHandle-aanroepen mislukken vanwege het ontbreken van protocolversies die systeembreed zijn ingeschakeld en tegelijkertijd worden toegestaan door bepaalde SSPI-bellers. Bovendien kan het verminderen van de set Enabled (D)TLS- en SSL-versies de interoperabiliteit met externe peers verstoren.

Zodra de (D)TLS- of SSL-protocolversie-instellingen zijn gewijzigd, worden deze van kracht op verbindingen die zijn gemaakt met behulp van referentie-ingangen die worden geopend door volgende AcquireCredentialsHandle-aanroepen . (D)TLS- en SSL-client- en servertoepassingen en -services hergebruiken vaak referentiehandvatten voor meerdere verbindingen om prestatieverschillen te optimaliseren. Om ervoor te zorgen dat deze toepassingen hun referenties opnieuw kunnen verkrijgen, moet mogelijk een toepassing of service opnieuw worden opgestart.

Deze registerinstellingen zijn alleen van toepassing op Schannel-SSP en hebben geen invloed op eventuele D)TLS- en SSL-implementaties van derden die mogelijk op het systeem zijn geïnstalleerd.

Warning

Het maken of aanpassen van Schannel-registerinstellingen die niet expliciet in dit artikel worden beschreven, wordt niet aanbevolen vanwege mogelijke risico's en onbedoelde gevolgen die kunnen ontstaan door niet-ondersteunde configuraties.

Zie de naslaginformatie over TLS-opdrachten voor meer informatie over het beheren van de TLS-coderingssuite met behulp van PowerShell. Als u TLS-instellingen wilt beheren via Groepsbeleid, raadpleegt u De volgorde van TLS-coderingssuites configureren met behulp van Groepsbeleid.