TLS renegotiation strict server mode
The `AllowInsecureRenegoClients` DWORD value determines whether Schannel, when acting in the local server role, accepts TLS clients that do not support secure renegotiation as defined by RFC 5746.
since 0.9.8.11
Purpose
Show registry keys (1)
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\AllowInsecureRenegoClients
The AllowInsecureRenegoClients DWORD value determines whether Schannel, when acting in the local server role, accepts TLS clients that do not support secure renegotiation as defined by RFC 5746.
A value of 0 enables strict server mode. Schannel then accepts only clients that support secure TLS renegotiation. This restriction applies both when establishing a TLS session and when renegotiating an existing session. Connections from incompatible clients are terminated.
This setting does not disable TLS renegotiation altogether. Instead, it requires any renegotiation to be cryptographically bound to the existing TLS connection.
Notes
Security
Strict mode protects server-side Schannel connections against insecure TLS/SSL renegotiation associated with CVE-2009-3555. In that vulnerability, an attacker in a man-in-the-middle position could prepend data to a protected connection, potentially causing the server to treat the injected data as originating from the authenticated client.
The setting does not prevent every form of man-in-the-middle attack. The underlying vulnerability also does not, by itself, allow an attacker to decrypt or arbitrarily modify the encrypted traffic. This protection specifically ensures that a renegotiation is securely associated with the original connection.
Possible side effects
Legacy or otherwise incompatible TLS clients might be unable to connect to services that use Schannel in the server role on this computer. Rejection is not limited to a later renegotiation attempt; it can prevent the initial TLS session from being established.
Notes
Despite the word Clients in its name, this value controls how the local Schannel server role handles connecting clients. The separate AllowInsecureRenegoServers value controls how the local client role handles servers.
The setting applies to applications and services that use the Windows Schannel Security Support Provider. It does not govern third-party TLS implementations.
Microsoft documentation
Microsoft Support: MS10-049—Vulnerabilities in SChannel could allow remote code execution
Microsoft Learn: TLS/SSL overview (Schannel SSP)