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.
In diesem Artikel werden die unterstützten Registrierungseinstellungsinformationen für die Windows-Implementierung des TLS-Protokolls (Transport Layer Security) und des SSL-Protokolls (Secure Sockets Layer) über den Schannel Security Support Provider (SSP) erläutert. Die in diesem Artikel behandelten Registrierungsunterschlüssel und -einträge unterstützen Sie bei der Verwaltung und Problembehandlung von Schannel SSP, insbesondere der TLS- und SSL-Protokolle.
Achtung
Diese Informationen dienen als Referenz für die Problembehandlung oder die Überprüfung, ob die erforderlichen Einstellungen angewendet werden. Es wird empfohlen, die Registrierung nicht direkt zu bearbeiten, es sei denn, es gibt keine andere Alternative. Änderungen an der Registrierung werden weder vom Registrierungs-Editor noch vom Windows-Betriebssystem überprüft, bevor sie übernommen werden. Daher können falsche Werte gespeichert werden, was zu nicht behebbaren Fehlern im System führen kann. Statt die Registrierung direkt zu bearbeiten, verwenden Sie nach Möglichkeit „Gruppenrichtlinie“ oder andere Windows-Tools wie die Microsoft Management Console (MMC). Wenn Sie die Registrierung bearbeiten müssen, gehen Sie äußerst umsichtig vor.
Schannel-Protokollierung
Es gibt acht Protokollierungsebenen für Schannel-Ereignisse, die im Systemereignisprotokoll gespeichert und mit der Ereignisanzeige angezeigt werden können. Dieser Registrierungspfad wird unter dem EventLogging-Schlüssel gespeichertHKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
, wobei ein DWORD-Wert auf 1 festgelegt ist.
Dezimal oder Hexadezimal | Schannel-Protokollierungsereignisse |
---|---|
0 | Keine Ereignisse |
1 | Fehlerereignisse |
2 | Warnungsereignisse |
3 | Fehler- und Warnungsereignisse |
4 | Informations- und Erfolgsereignisse |
5 | Fehler, Informations- und Erfolgsereignisse |
6 | Warnungs-, Informations- und Erfolgsereignisse |
7 | Fehler-, Warnungs-, Informations- und Erfolgsereignisse |
Hinweis
Sie müssen Ihr Gerät neu starten, nachdem Sie die Protokollierungsebene geändert haben.
CertificateMappingMethods
Wenn für eine Serveranwendung eine Clientauthentifizierung erforderlich ist, versucht Schannel automatisch, das vom Clientcomputer bereitgestellte Zertifikat einem Benutzerkonto zuzuordnen. Sie können Benutzer authentifizieren, die sich mit einem Clientzertifikat anmelden, indem Sie Zuordnungen erstellen, die die Zertifikatsinformationen einem Windows-Benutzerkonto zuordnen.
Nachdem Sie eine Zertifikatzuordung erstellt und aktiviert haben, ordnet Ihre Serveranwendung immer dann, wenn ein Client ein Clientzertifikat vorlegt, diesen Benutzer dem entsprechenden Windows-Benutzerkonto zu.
In den meisten Fällen wird ein Zertifikat einem Benutzerkonto auf eine von zwei Arten zugeordnet:
- Ein einzelnes Zertifikat wird einem einzelnen Benutzerkonto zugeordnet (1:1-Zuordnung).
- Mehrere Zertifikate werden einem Benutzerkonto zugeordnet (n:1-Zuordnung).
Der Schannel-Anbieter verwendet vier Zertifikatzuordnungsmethoden:
- Kerberos-S4U-Zuordnung (Service-for-User) (standardmäßig aktiviert)
- Zuordnung von Benutzerprinzipalnamen
- 1:1-Zuordnung (auch bekannt als Antragsteller/Aussteller- Zuordnung)
- n:1-Zuordnung
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Eintragsname | DWORD | Standardmäßig aktiviert |
---|---|---|
Subject/Issuer (Antragsteller/Aussteller) | 0x000000001 | Nein |
Issuer (Aussteller) | 0x000000002 | Nein |
UPN (Englisch) | 0x000000004 | Nein |
S4U2Selbst | 0x000000008 | Ja |
S4U2Selbstexplizit | 0x000000010 | Ja |
Chiffren
TLS/SSL-Verschlüsselungen sollten durch Konfigurieren der Reihenfolge von Verschlüsselungssammlungen gesteuert werden. Details finden Sie unter Konfigurieren der Reihenfolge von TLS-Verschlüsselungssammlungen.
Informationen zu standardmäßigen Verschlüsselungssammlungsbestellungen, die vom Schannel-SSP verwendet werden, finden Sie unter Verschlüsselungssammlungen in TLS/SSL (Schannel-SSP).
CipherSuites
Das Konfigurieren von TLS/SSL-Verschlüsselungssammlungen sollte mithilfe von Gruppenrichtlinien, MDM oder PowerShell erfolgen. Weitere Informationen finden Sie unter Konfigurieren der TLS-Verschlüsselungssuitereihenfolge .
Informationen zu standardmäßigen Verschlüsselungssammlungsbestellungen, die vom Schannel-SSP verwendet werden, finden Sie unter Verschlüsselungssammlungen in TLS/SSL (Schannel-SSP).
ClientCacheTime
Dieser Eintrag gibt die Lebensdauer von Client-TLS-Sitzungscacheelementen in Millisekunden an. Ab Windows Server 2008 und Windows Vista beträgt die Standardeinstellung 10 Stunden. Der Wert 0 deaktiviert die TLS-Sitzungszwischenspeicherung auf dem Client.
Wenn ein Client zum ersten Mal über den Schannel-SSP eine Verbindung zu einem Server herstellt, wird ein vollständiger TLS/SSL-Handshake durchgeführt. Nach Abschluss werden der geheime Hauptschlüssel, die Verschlüsselungssammlung und Zertifikate im Sitzungscache auf dem jeweiligen Client und Server gespeichert.
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
EnableOcspStaplingForSni
Das Online Certificate Status-Protokoll (OCSP) ermöglicht es einem Webserver, z. B. Internetinformationsdienste (IIS), den aktuellen Sperrstatus eines Serverzertifikats bereitzustellen, wenn er dieses Zertifikat während des TLS-Handshakes an einen Client sendet. Dieses Feature verringert die Last auf OCSP-Servern, weil der Webserver den aktuellen OCSP-Status des Serverzertifikats zwischenspeichern und an mehrere Webclients senden kann. Ohne dieses Feature würde jeder Webclient versuchen, den aktuellen OCSP-Status des Serverzertifikats vom OCSP-Server abzurufen. Dadurch würde eine hohe Last auf diesem OCSP-Server generiert.
Neben IIS können auch Webdienste über „http.sys“ von dieser Einstellung profitieren, darunter Active Directory-Verbunddienste (AD FS) und Webanwendungsproxy (WAP).
Bei IIS-Websites, die eine einfache sichere Bindung (SSL/TLS) haben, ist die OCSP-Unterstützung standardmäßig aktiviert. Diese Unterstützung ist jedoch nicht standardmäßig aktiviert, wenn die IIS-Website eine oder beide der folgenden Arten von SSL/TLS-Bindungen verwendet:
- Servernamensanzeige anfordern
- Zentralisierten Zertifikatspeicher verwenden
In diesem Fall enthält die Server hello-Antwort während des TLS-Handshakes standardmäßig keinen OCSP-Heftstatus. Dieses Verhalten verbessert die Leistung: Die Windows-Implementierung der OCSP-Stapelung wird auf Hunderte von Serverzertifikaten skaliert. Die Servernamenanzeige (Server Name Indication, SNI) und der zentrale Zertifikatspeicher (Central Certificate Store, CCS) ermöglichen ES IIS jedoch, auf Tausende von Websites zu skalieren, die potenziell Tausende von Serverzertifikaten aufweisen. Die Aktivierung der OCSP-Heftung für CCS-Bindungen kann zu Leistungsproblemen führen.
Registrierungspfad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Fügen Sie den folgenden Schlüssel hinzu:
"EnableOcspStaplingForSni"=dword:00000001
Legen Sie zum Deaktivieren den DWORD-Wert auf „0“ fest:
"EnableOcspStaplingForSni"=dword:00000000
Hinweis
Die Aktivierung dieses Registrierungsschlüssels kann die Leistung möglicherweise beeinträchtigen.
Hashes
TLS/SSL-Hashalgorithmen sollten durch Konfigurieren der Reihenfolge von Verschlüsselungssammlungen gesteuert werden. Weitere Informationen finden Sie unter Konfigurieren der Reihenfolge der TLS-Verschlüsselungssammlung .
IssuerCacheSize
Dieser Eintrag steuert die Größe des Ausstellercache und wird mit der Ausstellerzuordnung verwendet. Der Schannel-SSP versucht, alle Aussteller in der Zertifikatkette des Clients zuzuordnen, nicht nur den direkten Aussteller des Clientzertifikats. Wenn die Aussteller keinem Konto zugeordnet werden – was der Normalfall ist –, versucht der Server möglicherweise, denselben Ausstellernamen wiederholt (hunderte Male pro Sekunde) zuzuordnen.
Um dies zu verhindern, verfügt der Server über einen negativen Cache, sodass ein Ausstellername, der keinem Konto zugeordnet wird, dem Cache hinzugefügt wird, und der Schannel-SSP nicht versucht, den Ausstellernamen erneut zuzuordnen, bis der Cacheeintrag abläuft. Dieser Registrierungseintrag gibt die Cachegröße an. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden. Der Standardwert lautet 100.
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
IssuerCacheTime
Dieser Eintrag steuert die Länge des Cache-Timeout-Intervalls in Millisekunden. Der Schannel-SSP versucht, alle Aussteller in der Zertifikatkette des Clients zuzuordnen, nicht nur den direkten Aussteller des Clientzertifikats. Wenn die Aussteller keinem Konto zugeordnet werden – was der Normalfall ist –, versucht der Server möglicherweise, denselben Ausstellernamen wiederholt (hunderte Male pro Sekunde) zuzuordnen.
Um dies zu verhindern, verfügt der Server über einen negativen Cache, sodass ein Ausstellername, der keinem Konto zugeordnet wird, dem Cache hinzugefügt wird, und der Schannel-SSP nicht versucht, den Ausstellernamen erneut zuzuordnen, bis der Cacheeintrag abläuft. Dieser Cache wird aus Leistungsgründen eingerichtet, damit das System nicht laufend versucht, dieselben Aussteller zuzuordnen. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden. Der Standardwert beträgt 10 Minuten.
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
KeyExchangeAlgorithm-Schlüsselgrößen
Diese folgenden Einträge sind in der Registrierung möglicherweise nicht standardmäßig vorhanden und müssen manuell erstellt werden. Die Verwendung von Schlüsselaustauschalgorithmen sollte durch Konfigurieren der Reihenfolge von Verschlüsselungssammlungen gesteuert werden. Weitere Informationen zu den kryptografischen Algorithmen der TLS/SSL-Verschlüsselungssuite finden Sie unter Verschlüsselungssammlungen in TLS/SSL (Schannel SSP).
In Windows 10, Version 1507, und Windows Server 2016 hinzugefügt.
Registrierungspfad: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman
Um einen minimal unterstützten Bereich der Diffie-Hellman-Schlüsselbitlänge für den TLS-Client anzugeben, erstellen Sie einen ClientMinKeyBitLength
Eintrag. Nachdem Sie den Eintrag erstellt haben, ändern Sie den DWORD-Wert in die gewünschte Bitlänge. Wenn nicht konfiguriert, ist 1024 Bit der Mindestwert.
Hinweis
Konfigurierte elliptische Kurven bestimmen die kryptografische Stärke des ECDHE-Schlüsselaustauschs. Weitere Informationen finden Sie unter Verwalten von Transport Layer Security (TLS).
MaximumCacheSize
Dieser Eintrag steuert die maximale Anzahl von TLS-Sitzungen, die zwischengespeichert werden soll. Durch Festlegen von MaximumCacheSize wird 0
der serverseitige Sitzungscache deaktiviert, um die Wiederaufnahme der Sitzung zu verhindern. Das Erhöhen von MaximumCacheSize über den Standardwerten bewirkt, dass Lsass.exe zusätzlichen Arbeitsspeicher verbrauchen. Für jedes Element im Sitzungscache sind normalerweise 2 bis 4 KB Arbeitsspeicher erforderlich. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden. Der Standardwert ist 20.000 Elemente.
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Nachrichten – Fragmentanalyse
Dieser Eintrag steuert die maximal zulässige Größe einer akzeptierten TLS-Handshake-Nachricht. Nachrichten, die größer als die zulässige Größe sind, werden nicht akzeptiert, und der TLS-Handshake schlägt fehl. Diese Einträge sind in der Registrierung standardmäßig nicht enthalten.
Wenn Sie den Wert auf 0x0
" festlegen , werden fragmentierte Nachrichten nicht verarbeitet und bewirkt, dass der TLS-Handshake fehlschlägt. Dadurch sind TLS-Clients oder -Server auf dem aktuellen Computer nicht mit den TLS-RFCs kompatibel.
Die maximal zulässige Größe kann auf bis zu 2^16 Bytes erhöht werden. Ein Client oder Server kann große Mengen nicht überprüfter Daten aus dem Netzwerk lesen und speichern, ist keine gute Idee und verbraucht zusätzlichen Arbeitsspeicher für jeden Sicherheitskontext.
Wurde in Windows 7 und Windows Server 2008 R2 hinzugefügt: Ein Update, das es Internet Explorer unter Windows XP, Windows Vista oder Windows Server 2008 ermöglicht, fragmentierte TLS/SSL-Handshakenachrichten zu analysieren, ist verfügbar.
Registrierungspfad: HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Messaging
Um eine maximal zulässige Zulässige Größe von fragmentierten TLS-Handshake-Nachrichten anzugeben, die der TLS-Client akzeptiert, erstellen Sie einen MessageLimitClient
Eintrag. Nachdem Sie den Eintrag erstellt haben, ändern Sie den DWORD-Wert in die gewünschte Bitlänge. Wenn sie nicht konfiguriert ist, ist 0x8000
der Standardwert Bytes.
Um eine maximale zulässige Größe von fragmentierten TLS-Handshake-Nachrichten anzugeben, die der TLS-Server akzeptiert, wenn keine Clientauthentifizierung vorhanden ist, erstellen Sie einen MessageLimitServer
Eintrag. Nachdem Sie den Eintrag erstellt haben, ändern Sie den DWORD-Wert in die gewünschte Bitlänge. Wenn der DWORD-Wert nicht konfiguriert wurde, lautet der Standardwert gleich 0x4000 Bytes.
Um eine maximal zulässige zulässige Größe von fragmentierten TLS-Handshake-Nachrichten anzugeben, die der TLS-Server akzeptiert, wenn es eine Clientauthentifizierung gibt, erstellen Sie einen MessageLimitServerClientAuth
Eintrag. Nachdem Sie den Eintrag erstellt haben, ändern Sie den DWORD-Wert in die gewünschte Bitlänge. Wenn der DWORD-Wert nicht konfiguriert wurde, lautet der Standardwert gleich 0x8000 Bytes.
SendTrustedIssuerList
TLS-Server senden möglicherweise eine Liste der distinguished Names von akzeptablen Zertifizierungsstellen beim Anfordern der Clientauthentifizierung. Dies kann TLS-Clients dabei helfen, ein entsprechendes TLS-Clientzertifikat auszuwählen. Schannel-basierte TLS-Server senden diese Liste der vertrauenswürdigen Aussteller standardmäßig nicht, da sie die vom Server vertrauenswürdigen Zertifizierungsstellen passiven Beobachtern aussetzt und auch die Menge der im Rahmen des TLS-Handshakes ausgetauschten Daten erhöht. Wenn Sie diesen Wert auf 1 festlegen, senden Schannel-basierte Server ihre Listen vertrauenswürdiger Aussteller.
Das Senden einer Liste vertrauenswürdiger Aussteller kann sich darauf auswirken, was der Client sendet, wenn er nach einem Clientzertifikat gefragt wird. Wenn z. B. Microsoft Edge eine Anforderung für die Clientauthentifizierung empfängt, zeigt der Browser nur Clientzertifikate an, die mit einer der Zertifizierungsstellen verkettet sind, die vom Server gesendet wird. Wenn der Server keine Liste gesendet hat, zeigt Microsoft Edge alle Clientzertifikate an, die auf dem Client installiert sind.
Dieses Verhalten ist möglicherweise wünschenswert. Wenn z. B. PKI-Umgebungen zertifikateübergreifende Zertifikate enthalten, verfügen client- und serverzertifikate nicht über dieselbe Stammzertifizierungsstelle. Aus diesem Grund kann Microsoft Edge kein Zertifikat auswählen, das mit einer der Zertifizierungsstellen des Servers verkettet ist. TLS-Clients bieten möglicherweise ein verfügbares Clientzertifikat an, wenn ein Server die Liste der vertrauenswürdigen Aussteller nicht sendet. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden.
Standardverhalten der Liste „Send Trusted Issuer“ (Vertrauenswürdigen Aussteller senden)
Windows-Version | Standardverhalten |
---|---|
Windows Server 2012, Windows 8 und höher | FALSCH |
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
ServerCacheTime
Dieser Eintrag gibt die Lebensdauer von Server-TLS-Sitzungscacheelementen in Millisekunden an. Der Standardwert ist 10 Stunden. Der Wert 0 deaktiviert die TLS-Sitzungszwischenspeicherung auf dem Server und verhindert die Wiederaufnahme der Sitzung. Das Erhöhen von "ServerCacheTime" über die Standardwerte bewirkt, dass "Lsass.exe" zusätzlichen Arbeitsspeicher beansprucht. Für jedes Element im Sitzungscache sind normalerweise 2 bis 4 KB Arbeitsspeicher erforderlich. Dieser Eintrag ist nicht standardmäßig in der Registrierung vorhanden.
Registrierungspfad: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
Standardzeit im Servercache: 10 Stunden
Einstellungen für die TLS-, DTLS- und SSL-Protokollversion
SChannel SSP implementiert Versionen der Protokolle TLS, DTLS und SSL. Verschiedene Windows-Versionen unterstützen verschiedene Protokollversionen. Die systemweit verfügbaren (D)TLS- und SSL-Versionen können durch SSPI-Aufrufer eingeschränkt (aber nicht erweitert) werden, die im AcquireCredentialsHandle-Aufruf die Struktur SCH_CREDENTIALS angeben. Es wird empfohlen, dass SSPI-Aufrufer die Systemstandardeinstellungen verwenden, statt Einschränkungen bei der Protokollversion aufzuerlegen.
Eine unterstützte (D)TLS- oder SSL-Protokollversion kann es in einem der folgenden Status geben:
- Aktiviert: Sofern der SSPI-Aufrufer diese Protokollversion nicht explizit mithilfe SCH_CREDENTIALS Struktur deaktiviert, kann Schannel SSP diese Protokollversion mit einem unterstützenden Peer aushandeln.
- Deaktiviert: Schannel SSP handelt diese Protokollversion nicht aus, unabhängig von den Einstellungen, die der SSPI-Aufrufer möglicherweise angibt.
Diese Registrierungswerte werden separat für die Protokoll-Client- und -Serverrollen unter den benannten Registrierungsunterschlüsseln im folgenden Format konfiguriert:
<SSL/TLS/DTLS> <major version number>.<minor version number><Client\Server>
Diese versionsspezifischen Unterschlüssel können unter dem folgenden Registrierungspfad erstellt werden:
HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
Hier sind beispielsweise einige gültige Registrierungspfade mit versionsspezifischen Unterschlüsseln:
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
Um einen Systemstandard außer Kraft zu setzen und eine unterstützte (D)TLS- oder SSL-Protokollversion auf den Enabled
Status festzulegen, erstellen Sie einen DWORD-Registrierungswert Enabled
mit dem Eintragswert "1" unter dem entsprechenden versionsspezifischen Unterschlüssel.
Das folgende Beispiel zeigt, dass der TLS 1.0-Client auf den Status Aktiviert festgelegt wurde:
Um einen Systemstandard außer Kraft zu setzen und eine unterstützte (D)TLS- oder SSL-Protokollversion auf den Disabled
Status festzulegen, ändern Sie den DWORD-Registrierungswert von Enabled
"0" unter dem entsprechenden versionsspezifischen Unterschlüssel.
Das folgende Beispiel zeigt, dass DTLS 1.2 in der Registrierung deaktiviert ist:
Das Wechseln einer (D)TLS- oder SSL-Protokollversion in Disabled
den Zustand kann dazu führen , dass AcquireCredentialsHandle-Aufrufe aufgrund der fehlenden systemweiten und gleichzeitig von bestimmten SSPI-Aufrufern aktivierten Protokollversionen fehlschlagen. Darüber hinaus könnte die Reduzierung der Gruppe von Enabled
(D)TLS- und SSL-Versionen die Interoperabilität mit Remote-Peers unterbrechen.
Nachdem die Versionseinstellungen für das (D)TLS- oder SSL-Protokoll geändert wurden, werden sie auf Verbindungen angewendet, die mithilfe von Anmeldeinformationshandles hergestellt werden, die durch nachfolgende AcquireCredentialsHandle-Aufrufe geöffnet werden. (D)TLS- und SSL-Client- und Serveranwendungen und -dienste tendieren aus Leistungsgründen dazu, Anmeldeinformationshandles für mehrere Verbindungen wiederzuverwenden. Um diese Anwendungen zum Erneuten Abrufen der Anmeldeinformationshandles, einer Anwendung oder eines Dienstneustarts zu erhalten, ist möglicherweise erforderlich.
Diese Registrierungseinstellungen gelten nur für Schannel SSP und wirken sich nicht auf (D)TLS- und SSL-Implementierungen von Drittanbietern aus, die möglicherweise auf dem System installiert sind.
Warnung
Der Versuch, Schannel-Registrierungseinstellungen zu erstellen oder anzupassen, die in diesem Artikel nicht explizit beschrieben werden, wird aufgrund potenzieller Risiken und unbeabsichtigter Folgen, die sich aus nicht unterstützten Konfigurationen ergeben können, nicht empfohlen.
Weitere Informationen zum Verwalten der TLS-Verschlüsselungssammlung mit PowerShell finden Sie in der TLS-Befehlsreferenz. Wenn Sie an der Verwaltung von TLS-Einstellungen über Gruppenrichtlinien interessiert sind, lesen Sie Konfigurieren der TLS-Verschlüsselungssammlungsreihenfolge mithilfe von Gruppenrichtlinien.