Параметры реестра протокола TLS

применимо к: Windows server 2022, Windows server 2019, Windows Server 2016, Windows 10 и более ранних версий, как отмечалось.

в этой статье объясняются поддерживаемые сведения о параметрах реестра для Windows реализации протокола TLS и протокола SSL (SSL) с помощью поставщика поддержки безопасности (SSP) Schannel. Подразделы и записи реестра, описанные в этом разделе, помогут вам администрировать и устранять неполадки SSP, в частности протоколы TLS и SSL.

Внимание!

Эти сведения предоставляются в виде справочника для использования при устранении неполадок или проверки правильности применения нужных параметров. Рекомендуется не изменять реестр напрямую, если есть другие возможности. Изменения в реестре не проверяются редактором реестра или операционной системой Windows перед их применением. В результате могут сохраниться неверные значения, что приведет к неустранимым ошибкам в системе. по возможности вместо непосредственного изменения реестра используйте групповая политика или другие средства Windows, такие как консоль управления (mmc). Если отредактировать реестр все же необходимо, соблюдайте крайнюю осторожность.

CertificateMappingMethods

Эта запись не существует в реестре по умолчанию. Значение по умолчанию — что поддерживаются все четыре метода сопоставления сертификатов, перечисленные ниже.

Если серверное приложение требует проверки подлинности клиента, Schannel автоматически пытается сопоставить сертификат, предоставленный клиентским компьютером, с учетной записью пользователя. Вы можете проверять подлинность пользователей, выполняющих вход с сертификатом клиента, создавая сопоставления, связывающие данные сведения с учетной записью пользователя Windows. После создания и включения сопоставления сертификатов каждый раз, когда клиент предоставляет сертификат клиента, серверное приложение автоматически сопоставляет этого пользователя с соответствующей учетной записью Windows.

В большинстве случаев сертификат сопоставляется с учетной записью пользователя одним из двух следующих способов.

  • Один сертификат сопоставляется с одной учетной записью пользователя (сопоставление "один к одному").
  • Несколько сертификатов сопоставляются с одной учетной записью пользователя (сопоставление "многие к одному").

По умолчанию поставщик Schannel будет использовать следующие четыре метода сопоставления сертификатов, перечисленные в порядке приоритета.

  1. Сопоставление сертификатов "служба для пользователя" (S4U) Kerberos.
  2. Сопоставление имени участника-пользователя.
  3. Сопоставление "один к одному" (также называемое сопоставлением "субъект/поставщик").
  4. Сопоставление "многие к одному".

Применимые версии: как определено в списке применимо к в начале этого раздела.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Ciphers

Для управления шифрами TLS/SSL следует настроить порядок набора шифров. Дополнительные сведения см. в разделе Настройка порядка комплектов шифров TLS.

Дополнительные сведения о порядке наборов шифров по умолчанию, которые используются в SSP поставщика услуг SChannel, см. в разделе комплекты шифров в TLS/SSL (Schannel SSP).

CipherSuites

Настройка комплектов шифров TLS/SSL должна выполняться с помощью групповой политики, MDM или PowerShell. Дополнительные сведения см. в разделе Настройка порядка комплектов шифров TLS .

Дополнительные сведения о порядке наборов шифров по умолчанию, которые используются в SSP поставщика услуг SChannel, см. в разделе комплекты шифров в TLS/SSL (Schannel SSP).

ClientCacheTime

Эта запись определяет время в миллисекундах, через которое в операционной системе истекает срок действия записей кэша на стороне клиента. Значение 0 отключает кэширование безопасного подключения. Эта запись не существует в реестре по умолчанию.

При первом подключении клиента к серверу через Schannel SSP выполняется полное подтверждение TLS/SSL. После завершения главная копия секрета, комплект шифров и сертификаты хранятся в кэше сеанса на соответствующем клиенте и сервере.

начиная с Windows Server 2008 и Windows Vista, время кэширования клиента по умолчанию составляет 10 часов.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

EnableOcspStaplingForSni

ассоциация Online Certificate Status Protocol (OCSP) позволяет веб-серверу, например службы IIS (IIS), предоставлять текущее состояние отзыва сертификата сервера при отправке сертификата сервера клиенту во время подтверждения TLS. Эта функция сокращает нагрузку на серверы OCSP, так как веб-сервер может кэшировать текущее состояние OCSP сертификата сервера и отправлять его нескольким веб-клиентам. Без этой функции каждый веб-клиент попытается получить текущее состояние OCSP сертификата сервера с сервера OCSP. При этом будет выдаваться высокая нагрузка на этот сервер OCSP.

Помимо служб IIS, веб-службы с http.sys могут также использовать преимущества этого параметра, в том числе службы федерации Active Directory (AD FS) (AD FS) и прокси-службу веб – приложения (WAP).

По умолчанию поддержка OCSP включена для веб-сайтов IIS, имеющих простую привязку SSL/TLS. Однако эта поддержка не включена по умолчанию, если веб-сайт IIS использует один или оба следующих типа привязок SSL/TLS:

  • Требовать указание имени сервера
  • Использовать централизованное хранилище сертификатов

В этом случае ответ приветствия сервера во время подтверждения TLS не будет включать в себя состояние сшивания OCSP по умолчанию. такое поведение повышает производительность. реализация сшивания Windows OCSP масштабируется до сотен сертификатов сервера. Так как SNI и CCS позволяют IIS масштабироваться на тысячи веб-сайтов, которые могут иметь тысячи сертификатов сервера, установка этого поведения по умолчанию может привести к проблемам с производительностью.

применимые версии: все версии, начинающиеся с Windows Server 2012 и Windows 8.

Путь реестра: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]

Добавьте следующий ключ:

"EnableOcspStaplingForSni" = DWORD: 00000001

Чтобы отключить, присвойте параметру DWORD значение 0:

"EnableOcspStaplingForSni" = DWORD: 00000000

Примечание

Включение этого раздела реестра может повлиять на производительность.

FIPSAlgorithmPolicy

Эта запись определяет соответствие требованиям Федерального стандарта обработки информации (FIPS). Значение по умолчанию — 0.

применимые версии: все версии, начинающиеся с Windows Server 2012 и Windows 8.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\LSA

комплекты шифров Windows Server FIPS: см. раздел поддерживаемые комплекты шифров и протоколы в поставщике общих служб Schannel.

Хэш-коды

Алгоритмы хэширования TLS/SSL должны контролироваться путем настройки порядка набора шифров. Дополнительные сведения см. в разделе Настройка порядка комплектов шифров TLS .

IssuerCacheSize

Эта запись определяет размер кэша издателя и используется при сопоставлении издателя. ПОСТАВЩИК удостоверений SChannel пытается сопоставлять всех издателей в цепочке сертификатов клиента, а не только непосредственного издателя сертификата клиента. Если издатели не сопоставляются с учетной записью, что является типичным случаем, сервер может попытаться повторно сопоставлять одно и то же имя издателя несколько раз в секунду.

Чтобы избежать этого, сервер имеет негативный кэш, и если имя издателя не соответствует учетной записи, оно добавляется в кэш, и Schannel SSP не будет пытаться снова сопоставить это имя издателя, пока не истечет срок действия записи кэша. Эта запись реестра указывает размер кэша. Эта запись не существует в реестре по умолчанию. Значение по умолчанию — 100.

применимые версии: все версии, начиная с Windows Server 2008 и Windows Vista.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

IssuerCacheTime

Эта запись определяет продолжительность интервала времени ожидания кэша в миллисекундах. ПОСТАВЩИК удостоверений SChannel пытается сопоставлять всех издателей в цепочке сертификатов клиента, а не только непосредственного издателя сертификата клиента. Если издатели не сопоставляются с учетной записью, что является типичным случаем, сервер может попытаться повторно сопоставлять одно и то же имя издателя несколько раз в секунду.

Чтобы избежать этого, сервер имеет отрицательный кэш, поэтому если имя издателя не сопоставляется с учетной записью, оно добавляется в кэш, и поставщик ключей SChannel не будет пытаться повторно сопоставлять имя издателя до истечения срока действия записи кэша. Этот кэш сохраняется для повышения производительности, чтобы система не продолжала попытки сопоставить тех же издателей. Эта запись не существует в реестре по умолчанию. Значение по умолчанию — 10 минут.

применимые версии: все версии, начиная с Windows Server 2008 и Windows Vista.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

KeyExchangeAlgorithm — размеры ключей RSA клиента

Эта запись управляет размером ключа RSA клиента.

Для управления использованием алгоритмов обмена ключами необходимо настроить порядок набора шифров.

добавлено в Windows 10, версии 1507 и Windows Server 2016.

Путь реестра: Хклм\систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\кэйексчанжеалгорисмс\пккс

Чтобы указать минимальный поддерживаемый диапазон длины ключа RSA для клиента TLS, создайте запись клиентминкэйбитленгс . Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на нужную длину в битах. Если не настроено, 1024 бит будет минимальным.

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

Размеры ключей KeyExchangeAlgorithm-Diffie-Hellman

Эта запись контролирует размеры ключей Diffie-Hellman.

Для управления использованием алгоритмов обмена ключами необходимо настроить порядок набора шифров.

добавлено в Windows 10, версии 1507 и Windows Server 2016.

Путь реестра: Хклм\систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\кэйексчанжеалгорисмс\диффие-Хеллман

Чтобы указать минимальный поддерживаемый диапазон битов Diffie-Helman ключа для клиента TLS, создайте запись клиентминкэйбитленгс . Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на нужную длину в битах. Если не настроено, 1024 бит будет минимальным.

Чтобы указать максимальный поддерживаемый диапазон Diffie-Helman разрядной длины ключа для клиента TLS, создайте запись клиентмакскэйбитленгс . Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на нужную длину в битах. Если не настроено, максимальное значение не применяется.

Чтобы указать битовую длину ключа Diffie-Helman по умолчанию для сервера TLS, создайте запись серверминкэйбитленгс . Эта запись не существует в реестре по умолчанию. После создания записи измените значение DWORD на нужную длину в битах. Если не настроено, по умолчанию будет 2048 бит.

MaximumCacheSize

Эта запись определяет максимальное число элементов кэша. Установка для MaximumCacheSize значения 0 отключает кэш сеанса на стороне сервера и запрещает переподключение. Если для MaximumCacheSize задать значение больше установленного по умолчанию, Lsass.exe будет потреблять дополнительный объем памяти. Каждый элемент кэша сеанса обычно требует от 2 до 4 КБ памяти. Эта запись не существует в реестре по умолчанию. Значение по умолчанию — 20000.

применимые версии: все версии, начиная с Windows Server 2008 и Windows Vista.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Обмен сообщениями — синтаксический анализ фрагментов

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

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

Максимально допустимый размер можно увеличить до 2 ^ 24 – 1 байт. Предоставление клиенту или серверу возможности читать и хранить большие объемы непроверенных данных в сети не является хорошей идеей и будет потреблять дополнительную память для каждого контекста безопасности.

добавлено в Windows 7 и Windows Server 2008 R2: обновление, которое включает Internet Explorer в Windows XP, Windows Vista или Windows Server 2008 для анализа фрагментированных сообщений подтверждения TLS/SSL.

Путь реестра: Хклм\систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\мессагинг

Чтобы указать максимально допустимый размер фрагментированных сообщений подтверждения TLS, которые будет принимать клиент TLS, создайте запись мессажелимитклиент . После создания записи измените значение DWORD на нужную длину в битах. Если параметр не настроен, значение по умолчанию будет 0x8000 байт.

Чтобы указать максимально допустимый размер фрагментированных сообщений подтверждения TLS, которые будут приниматься сервером TLS при отсутствии проверки подлинности клиента, создайте запись мессажелимитсервер . После создания записи измените значение DWORD на нужную длину в битах. Если не настроено, значение по умолчанию будет 0x4000 байтов.

Чтобы указать максимально допустимый размер фрагментированных сообщений подтверждения TLS, которые будут приниматься сервером TLS при проверке подлинности клиента, создайте запись мессажелимитсерверклиентаус . После создания записи измените значение DWORD на нужную длину в битах. Если параметр не настроен, значение по умолчанию будет 0x8000 байт.

SendTrustedIssuerList

Эта запись управляет флагом, который используется при отправке списка доверенных издателей. В случае серверов, которые доверяют сотням центров сертификации для проверки подлинности клиента, существует слишком много издателей, чтобы сервер мог отправлять их все на клиентский компьютер при запросе проверки подлинности клиента. В этом случае можно задать этот раздел реестра, и вместо отправки неполного списка Schannel SSP не будет отправлять клиенту никакой список.

Если список доверенных издателей не отправляется, это может повлиять на то, что клиент посылает в ответ на запрос сертификата клиента. Например, получив запрос на проверку подлинности клиента, Internet Explorer отображает только сертификаты клиента, по цепочке связанные с одним из центров сертификации, отправленных сервером. Если сервер не передает список, Internet Explorer отображает все сертификаты клиента, установленные на клиенте.

Это поведение может быть нежелательно. Например, если среды PKI включают перекрестный сертификат, сертификаты клиента и сервера не будут иметь одинакового корневого ЦС. Таким образом, Internet Explorer не может выбрать сертификат, который повязывается к одному из центров сертификации сервера. Если сервер настроен не отправлять список доверенных издателей, Internet Explorer будет отправлять все сертификаты.

Эта запись не существует в реестре по умолчанию.

Поведение отправки списка доверенных издателей по умолчанию

Версия Windows Поведение по умолчанию
Windows Server 2012 и Windows 8 и более поздних версий FALSE
Windows Server 2008 R2 и Windows 7 и более ранних версий TRUE

применимые версии: все версии, начиная с Windows Server 2008 и Windows Vista.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

ServerCacheTime

Эта запись определяет время в миллисекундах, через которое в операционной системе истекает срок действия записей кэша на стороне сервера. Значение 0 отключает кэш сеанса на стороне сервера и запрещает переподключение. Если для ServerCacheTime задать значение больше установленного по умолчанию, Lsass.exe будет потреблять дополнительный объем памяти. Каждый элемент кэша сеанса обычно требует от 2 до 4 КБ памяти. Эта запись не существует в реестре по умолчанию.

применимые версии: все версии, начиная с Windows Server 2008 и Windows Vista.

Путь в реестре: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Время кэша сервера по умолчанию: 10 часов

Параметры версии протокола TLS, DTLS и SSL

Поставщик служб шифрования SChannel реализует версии протоколов TLS, DTLS и SSL. разные выпуски Windows поддерживают разные версии протокола. Набор (D) версий TLS и SSL, доступный для всей системы, может быть ограничен (но не развернут) вызывающими методами SSPI, указывающими либо SCH_CREDENTIALS , либо SCHANNEL_CRED структуру в вызове AcquireCredentialsHandle . Рекомендуется, чтобы вызывающие методы SSPI использовали системные значения по умолчанию, а не ограничения версии протокола установления.

Поддерживаемая (D) версия протокола TLS или SSL может находиться в одном из следующих состояний:

  • Включено: если только вызывающий метод SSPI явно не отключается от этой версии протокола, используя структуру SCH_CREDENTIALS , то для использования этого протокола поставщик услуг Schannel может согласовать эту версию с поддерживающим одноранговым узлом.
  • По умолчанию отключено. Если только вызывающий метод SSPI явно не запрашивает эту версию протокола с помощью нерекомендуемой структуры SCHANNEL_CRED , то поставщик услуг SChannel не будет согласовывать эту версию протокола.
  • Отключено. поставщик общих служб SChannel не будет согласовывать эту версию протокола независимо от параметров, которые может указывать вызывающий интерфейс SSPI.

Системный администратор может переопределить параметры по умолчанию (D) TLS и версии протокола SSL, создав значения реестра DWORD "Enabled" и "DisabledByDefault". Эти значения реестра настраиваются отдельно для клиентов протокола и ролей сервера в подразделах реестра с именами в следующем формате:

<>< Основной номер версии SSL/TLS/DTLS > . < дополнительный номер версии >< клиент\сервер>

Эти подразделы, относящиеся к конкретной версии, можно создать в следующем пути реестра:

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

Например, ниже приведены некоторые допустимые пути реестра с подразделами, зависящими от версии.

HKLM Систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\протоколс\ссл 3.0 \ Client

HKLM Систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\протоколс\тлс 1.2 \ Server

HKLM Систем\куррентконтролсет\контрол\секуритипровидерс\счаннел\протоколс\дтлс 1.2 \ Client

Чтобы переопределить системное значение по умолчанию и установить поддерживаемую версию (D) протокола TLS или SSL в состояние Enabled , создайте значение реестра DWORD с именем "Enabled" (включено) с ненулевым значением и параметром реестра DWORD с именем "DisabledByDefault" с нулевым значением в соответствующем подразделе для конкретной версии.

В следующем примере показано, как установить клиент TLS 1,0 в состояние Enabled :

TLS 1.0 client enabled

Чтобы переопределить системное значение по умолчанию и установить поддерживаемую версию (D) протокола TLS или SSL в состояние disabled по умолчанию , создайте значения реестра DWORD с именами "Enabled" и "DisabledByDefault" с ненулевым значением в соответствующем подразделе для конкретной версии. В следующем примере показан сервер TLS 1,0, установленный в состояние disabled по умолчанию :

TLS 1.0 server disabled by default

Чтобы переопределить системное значение по умолчанию и установить поддерживаемую версию (D) протокола TLS или SSL в состояние disabled , создайте параметр реестра DWORD с именем "Enabled" и нулевым значением в соответствующем подразделе для конкретной версии.

В следующем примере показано отключение DTLS 1,2 в реестре:

DTLS 1.2 disabled

Переключение версии (D) TLS или протокола SSL в состояние Disabled (по умолчанию или отключено ) может привести к сбою вызовов AcquireCredentialsHandle из-за отсутствия включенных в систему версий протокола и одновременно с учетом определенных вызывающих методов SSPI. Кроме того, уменьшение набора включенных (D) версий TLS и SSL может привести к нарушению взаимодействия с удаленными одноранговыми узлами.

После изменения параметров версии протокола (D) TLS или SSL они вступают в силу при соединениях, установленных с помощью дескрипторов учетных данных, открытых последующими вызовами AcquireCredentialsHandle . Четырехмерного Клиентские и серверные приложения и службы TLS и SSL обычно используют дескрипторы учетных данных для нескольких подключений, по соображениям производительности. Чтобы эти приложения могли повторно получить свои дескрипторы учетных данных, может потребоваться перезапуск приложения или службы.

Обратите внимание, что эти параметры реестра применяются только к поставщику служб шифрования SChannel и не влияют на реализации сторонних (D) протоколов TLS и SSL, которые могут быть установлены в системе.