Изменения TLS (Schannel SSP) в Windows 10 и Windows Server 2016

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016 и Windows 10

Изменения набора шифров

Windows 10 версии 1511 и Windows Server 2016 добавьте поддержку настройки порядка комплектов шифров с помощью мобильных 裝置管理 (MDM).

Сведения об изменениях порядка приоритета набора шифров см. в разделе "Комплекты шифров" в Schannel.

Добавлена поддержка следующих наборов шифров:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (RFC 5289) в Windows 10 версии 1507 и Windows Server 2016
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (RFC 5289) в Windows 10 версии 1507 и Windows Server 2016

Изменение DisabledByDefault для следующих наборов шифров:

  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (RFC 5246) в Windows 10 версии 1703
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (RFC 5246) в Windows 10 версии 1703
  • TLS_DHE_DSS_WITH_AES_256_CBC_SHA (RFC 5246) в Windows 10 версии 1703
  • TLS_DHE_DSS_WITH_AES_128_CBC_SHA (RFC 5246) в Windows 10 версии 1703
  • TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (RFC 5246) в Windows 10 версии 1703
  • TLS_RSA_WITH_RC4_128_SHA в Windows 10 версии 1709
  • TLS_RSA_WITH_RC4_128_MD5 в Windows 10 версии 1709

Начиная с Windows 10 версии 1507 и Windows Server 2016 сертификаты SHA 512 поддерживаются по умолчанию.

Изменения ключа RSA

Windows 10 версии 1507 и Windows Server 2016 добавлены параметры конфигурации реестра для размеров ключей RSA клиента.

Дополнительные сведения см. в разделе "Размеры ключей KeyExchangeAlgorithm".

Diffie-Hellman изменения ключей

Windows 10 версии 1507 и Windows Server 2016 добавьте параметры конфигурации реестра для Diffie-Hellman размеров ключей.

Дополнительные сведения см. в разделе "Размеры ключей KeyExchangeAlgorithm".

SCH_USE_STRONG_CRYPTO изменения параметров

В Windows 10 версии 1507 и Windows Server 2016 SCH_USE_STRONG_CRYPTO теперь отключает null, MD5, DES и экспорт шифров.

Изменения эллиптической кривой

Windows 10 версии 1507 и Windows Server 2016 добавьте конфигурацию نهج المجموعة для эллиптических кривых в разделе "Параметры конфигурации администрирования > конфигурации > компьютера" с > сетевыми параметрами SSL. Список порядка кривых ECC указывает порядок, в котором предпочтительны эллиптические кривые, а также включает поддерживаемые кривые, которые не включены.

Добавлена поддержка следующих эллиптических кривых:

  • BrainpoolP256r1 (RFC 7027) в Windows 10 версии 1507 и Windows Server 2016
  • BrainpoolP384r1 (RFC 7027) в Windows 10 версии 1507 и Windows Server 2016
  • BrainpoolP512r1 (RFC 7027) в Windows 10 версии 1507 и Windows Server 2016
  • Curve25519 (RFC draft-ietf-tls-curve25519) в Windows 10 версии 1607 и Windows Server 2016

Поддержка уровня отправки для SealMessage & UnsealMessage

Windows 10 версии 1507 и Windows Server 2016 добавьте поддержку SealMessage/UnsealMessage на уровне отправки.

DTLS 1.2

Windows 10 версии 1607 и Windows Server 2016 добавьте поддержку DTLS 1.2 (RFC 6347).

пул потоков HTTP.SYS

Windows 10 версии 1607 и Windows Server 2016 добавьте конфигурацию реестра размера пула потоков, используемого для обработки подтверждения TLS для HTTP.SYS.

Путь реестра:

HKLM\SYSTEM\CurrentControlSet\Control\LSA

Чтобы указать максимальный размер пула потоков на ядро ЦП, создайте запись MaxAsyncWorkerThreadsPerCpu . Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на нужный размер. Если значение не настроено, максимальное число потоков составляет 2 потока на ядро ЦП.

Поддержка следующего согласования протоколов (NPN)

Начиная с Windows 10 версии 1703, дальнейшие протоколы согласования (NPN) удалены и больше не поддерживаются.

Общий ключ (PSK)

Windows 10 версии 1607 и Windows Server 2016 добавлена поддержка алгоритма обмена ключами PSK (RFC 4279).

Добавлена поддержка следующих наборов шифров PSK:

  • TLS_PSK_WITH_AES_128_CBC_SHA256 (RFC 5487) в Windows 10 версии 1607 и Windows Server 2016
  • TLS_PSK_WITH_AES_256_CBC_SHA384(RFC 5487) в Windows 10 версии 1607 и Windows Server 2016
  • TLS_PSK_WITH_NULL_SHA256 (RFC 5487) в Windows 10 версии 1607 и Windows Server 2016
  • TLS_PSK_WITH_NULL_SHA384 (RFC 5487) в Windows 10 версии 1607 и Windows Server 2016
  • TLS_PSK_WITH_AES_128_GCM_SHA256 (RFC 5487) в Windows 10 версии 1607 и Windows Server 2016
  • TLS_PSK_WITH_AES_256_GCM_SHA384 (RFC 5487) в Windows 10 версии 1607 и Windows Server 2016

Возобновление сеанса без улучшения производительности на стороне сервера Server-Side

Windows 10 версии 1507 и Windows Server 2016 обеспечивают более 30 % возобновлений сеансов в секунду с билетами на сеанс по сравнению с Windows Server 2012.

Расширение хэша сеанса и расширенного главного секрета

Windows 10 версии 1507 и Windows Server 2016 добавьте поддержку RFC 7627: хэш сеансов tls и расширение расширенного главного секрета.

В связи с этим изменением Windows 10 и Windows Server 2016 требуются обновления сторонних поставщиков SSL CNG для поддержки NCRYPT_SSL_INTERFACE_VERSION_3 и описания этого нового интерфейса.

Поддержка SSL

Начиная с Windows 10 версии 1607 и Windows Server 2016, по умолчанию клиент TLS и сервер SSL 3.0 отключены. Это означает, что если приложение или служба не запрашивает SSL 3.0 через SSPI, клиент никогда не будет предлагать или принимать SSL 3.0, а сервер никогда не будет выбирать SSL 3.0.

Начиная с Windows 10 версии 1607 и Windows Server 2016, ssl 2.0 удален и больше не поддерживается.

Изменения в соответствии с требованиями TLS Windows к TLS 1.2 для подключений с несоответствующим клиентам TLS

В TLS 1.2 клиент использует расширение "signature_algorithms" , чтобы указать серверу, какие пары алгоритмов подписи и хэша могут использоваться в цифровых подписях (т. е. сертификатов сервера и обмена ключами сервера). Для ПРОТОКОЛА TLS 1.2 RFC также требуется, чтобы сообщение сертификата сервера учитывало расширение "signature_algorithms":

"Если клиент предоставил расширение "signature_algorithms", то все сертификаты, предоставленные сервером, должны быть подписаны парой алгоритмов хэш-подписи, которая отображается в этом расширении".

На практике некоторые сторонние клиенты TLS не соответствуют протоколу TLS 1.2 RFC и не включают все пары сигнатур и хэш-алгоритмов, которые они готовы принять в расширении "signature_algorithms", или вообще опустить расширение (последний указывает на сервер, что клиент поддерживает только SHA1 с RSA, DSA или ECDSA).

Сервер TLS часто имеет только один сертификат, настроенный для каждой конечной точки. Это означает, что сервер не всегда может предоставлять сертификат, соответствующий требованиям клиента.

До Windows 10 и Windows Server 2016 стек TLS Windows строго соответствует требованиям TLS 1.2 RFC, что приводит к сбоям подключения с несоответствующим клиентам TLS RFC и проблемами взаимодействия. В Windows 10 и Windows Server 2016 ограничения ослабляются, а сервер может отправлять сертификат, который не соответствует протоколу TLS 1.2 RFC, если это единственный вариант сервера. Затем клиент может продолжить или завершить подтверждение.

При проверке сертификатов сервера и клиента стек TLS Windows строго соответствует стандарту TLS 1.2 RFC и разрешает только согласованные алгоритмы подписи и хэша в сертификатах сервера и клиента.