Изменения 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

ОтключениеByDefault для следующих наборов шифров:

  • 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 сети > 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
  • Кривая25519 (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

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

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

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

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

В связи с этим изменением 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 строго соответствует протоколу RFC TLS 1.2 и разрешает только согласованные алгоритмы подписи и хэша в сертификатах сервера и клиента.