Отключить поддержку шифров 3des windows 2003

Michls Tech Blog

a measure to protect your Windows System against Sweet32 attacks is to disable the DES and Triple DES.

To do this, add 2 Registry Keys to the SCHANNEL Section of the registry.

As registry file

or from command line

3 thoughts on “Windows: Disable DES and Triple DES (3DES)”

. Disable TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 1024), 64-bit block cipher 3DES vulnerable to SWEET32 attack .
. References
:: Get OS version:
:: stackoverflow.com/questions/13212033/get-windows-version-in-a-batch-file

:: OS Name to OS version:
:: msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx

:: Windows command comparing
:: stackoverflow.com/questions/9278614/if-greater-than-batch-files

:: Find OS version:
for /f “tokens=4-7 delims=[.] ” %%i in (‘ver’) do (if %%i==Version (set v=%%j.%%k) else (set v=%%i.%%j))
echo %v%

:: Check if OS version is greater than or equal to “6.2” (Win2012 or up)
if %v% GEQ 6.2 (reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168” /f & reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168” /v Enabled /d 0 /t REG_DWORD /f)

:: Check if OS version is less than “6.2” (before Win2012)
if %v% LSS 6.2 (reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168/168” /f & reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168/168” /v Enabled /d 0 /t REG_DWORD /f)

reg query “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\
. End of disabling 3DES cipher .

Ограничение использования определенных криптографических алгоритмов и протоколов в Schannel.dll

В этой статье описывается ограничение использования определенных криптографических алгоритмов и протоколов в Schannel.dll файле. Эта информация также применяется к приложениям независимых поставщиков программного обеспечения (ISV), которые написаны для API шифрования Microsoft (CAPI).

Оригинальная версия продукта: Windows Server 2003
Исходный номер КБ: 245030

Эта статья применима к Windows Server 2003 и более ранним версиям Windows. Ключи реестра, применимые к Windows Server 2008 и более поздним версиям Windows, см. в tLS Registry Settings.

Сводка

Следующие поставщики криптографических служб (CSPs), включенные в Windows NT 4.0 Пакет обновления 6, получили сертификаты для проверки криптографии FIPS-140-1.

  • Поставщик шифрования Microsoft Base (Rsabase.dll)
  • Microsoft Enhanced Cryptographic Provider (Rsaenh.dll) (неэкспортная версия)

Поставщик безопасности Microsoft TLS/SSL, Schannel.dll, использует указанные здесь CSPs для ведения безопасной связи по SSL или TLS в своей поддержке служб internet Explorer и Internet Information Services (IIS).

Вы можете изменить файл Schannel.dll для поддержки Шифра Suite 1 и 2. Однако программа также должна поддерживать Пакет шифров 1 и 2. Наборы шифров 1 и 2 не поддерживаются в IIS 4.0 и 5.0.

В этой статье содержатся необходимые сведения для настройки поставщика безопасности TLS/SSL для Windows NT 4.0 Пакет обновления 6 и более поздних версий. Вы можете использовать реестр Windows для управления использованием определенных наборов шифров SSL 3.0 или TLS 1.0 в отношении криптографических алгоритмов, поддерживаемых базовым поставщиком криптографии или расширенным поставщиком шифрования.

В Windows NT 4.0 Пакет обновления 6 файл Schannel.dll не использует поставщика шифрования Microsoft Base DSS (Dssbase.dll) или расширенного поставщика шифрования Microsoft DS/Diffie-Hellman (Dssenh.dll).

Наборы шифров

SSL 3.0 и TLS 1.0 (RFC2246) с 56-битными пакетами экспортного шифра INTERNET-DRAFT для TLS draft-ietf-tls-56-bit-ciphersuites-00.txtпредоставляют варианты использования различных наборов шифров. Каждый набор шифров определяет алгоритмы обмена ключами, проверки подлинности, шифрования и MAC, которые используются в сеансе SSL/TLS. При использовании RSA в качестве алгоритмов обмена ключами и проверки подлинности термин RSA отображается только один раз в соответствующих определениях набора шифров.

Читайте также:  Прокси сервер для linux установка

Поставщик Windows NT 4.0 Пакет обновления 6 Microsoft TLS/SSL security Provider поддерживает следующий SSL 3.0-определенный cipherSuite при использовании базового поставщика шифрования или расширенного поставщика шифрования:

SSL 3.0 Набор шифров
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA

Ни SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA, ни SSL_RSA_EXPORT1024_WITH_RC4_56_SHA не определены в тексте SSL 3.0. Однако несколько поставщиков SSL 3.0 поддерживают их. Это относится к Корпорации Майкрософт.

Windows NT 4.0 Пакет обновления 6 Поставщик безопасности Microsoft TLS/SSL также поддерживает следующий код cipherSuite с определением TLS 1.0 при использовании базового поставщика шифрования или расширенного поставщика шифрования:

TLS 1.0 Набор шифров
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
TLS_RSA_WITH_DES_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA

Набор шифров, определяемый с помощью первого 0x00, не является частным и используется для открытых интероперабельных коммуникаций. Поэтому поставщик Windows NT 4.0 Пакет обновления 6 Microsoft TLS/SSL Security Provider следует процедурам использования этих наборов шифров, как указано в SSL 3.0 и TLS 1.0, чтобы убедиться в возможности обеспечения связи.

Ключи реестра, определенные для Schannel

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

Любые изменения содержимого ключа CIPHERS или ключа HASHES вступает в силу немедленно, без перезапуска системы.

Ключ SCHANNEL

Начните редактор реестра (Regedt32.exe), а затем найдите следующий ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Подкайка SCHANNEL\Protocols

Чтобы система мог использовать протоколы, которые не будут согласованы по умолчанию (например, TLS 1.1 и TLS 1.2), измените данные значения DWORD значения DisabledByDefault на 0x0 в следующих ключах реестра в ключе Протоколы:

  • SCHANNEL\Protocols\TLS 1.1\Client
  • SCHANNEL\Protocols\TLS 1.1\Server
  • SCHANNEL\Protocols\TLS 1.2\Client
  • SCHANNEL\Protocols\TLS 1.2\Server

Значение DisabledByDefault в ключе реестра в ключе Протоколы не имеет приоритета над значением grbitEnabledProtocols, которое определяется в структуре, содержаной данные учетных данных SCHANNEL_CRED Schannel.

Подкайка SCHANNEL\Ciphers

Ключ реестра шифров под ключом SCHANNEL используется для управления использованием симметричных алгоритмов, таких как DES и RC4. Ниже приводится допустимый ключ реестра под ключом Ciphers.

Создание подкайки шифров SCHANNEL в формате: SCHANNEL\(VALUE)\(VALUE/VALUE)

RC4 128/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 128/128

Этот подкай относится к 128-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . Или измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию. Этот ключ реестра не применяется к экспортируемом серверу, у него нет сертификата SGC.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_WITH_RC4_128_MD5
  • SSL_RSA_WITH_RC4_128_SHA
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_WITH_RC4_128_SHA

Triple DES 168

Подмышка шифров: SCHANNEL\Ciphers\Triple DES 168

Этот ключ реестра относится к 168-битной triple DES, как указано в ANSI X9.52 и Draft FIPS 46-3. Этот ключ реестра не применяется к экспортной версии.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . Или измените данные DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

Для версий Windows, выпускаемой до Windows Vista, ключ должен быть Triple DES 168/168.

RC2 128/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 128/128

Этот ключ реестра относится к 128-битной RC2. Он не применяется к экспортной версии.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

RC4 64/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 64/128

Этот ключ реестра относится к 64-битной RC4. Он не применяется к экспортной версии (но используется в Microsoft Money).

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

RC4 56/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 56/128

Этот ключ реестра относится к 56-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff. В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующее значение:

RC2 56/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 56/128

Этот ключ реестра относится к 56-битной RC2.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

DES 56

Подмышка шифров: SCHANNEL\Ciphers\RC2 56/56

Этот ключ реестра относится к 56-битной des, как указано в FIPS 46-2. Его реализация в Rsabase.dll и Rsaenh.dll проверяется в рамках программы проверки криптографического модуля FIPS 140-1.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

RC4 40/128

Подмышка шифров: SCHANNEL\Ciphers\RC4 40/128

Этот ключ реестра относится к 40-битной RC4.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

RC2 40/128

Подмышка шифров: SCHANNEL\Ciphers\RC2 40/128

Этот ключ реестра относится к 40-битной RC2.

Чтобы разрешить этот алгоритм шифра, измените данные значения DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0. Если не настроить значение Включено, включено значение по умолчанию.

Отключение этого алгоритма фактически отключит следующие значения:

NULL

Подмышка шифров: SCHANNEL\Ciphers\NULL

Этот ключ реестра не означает шифрования. По умолчанию он отключен.

Чтобы отключить шифрование (отключите все алгоритмы шифров), измените значение DWORD значения включенного значения на 0xffffffff . В противном случае измените данные значения DWORD на 0x0.

Hashes

Подмышка шифров: SCHANNEL/Hashes

Ключ реестра hashes под ключом SCHANNEL используется для управления использованием алгоритмов хеширования, таких как SHA-1 и MD5. Ниже приводится допустимый ключ реестра под ключом Hashes.

MD5

Подмышка шифров: SCHANNEL\Hashes\MD5

Чтобы разрешить этот алгоритм хаширования, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные значения DWORD на 0x0.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_EXPORT_WITH_RC4_40_MD5
  • SSL_RSA_WITH_RC4_128_MD5
  • SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
  • TLS_RSA_EXPORT_WITH_RC4_40_MD5
  • TLS_RSA_WITH_RC4_128_MD5
  • TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5

SHA

Подмышка шифров: SCHANNEL\Hashes\SHA

Этот ключ реестра относится к безопасному алгоритму хаша (SHA-1), как указано в FIPS 180-1. Его реализация в Rsabase.dll и Rsaenh.dll проверяется в рамках программы проверки криптографического модуля FIPS 140-1.

Чтобы разрешить этот алгоритм хаширования, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные значения DWORD на 0x0.

Отключение этого алгоритма фактически отключит следующие значения:

  • SSL_RSA_WITH_RC4_128_SHA
  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_RC4_56_SHA
  • TLS_RSA_WITH_RC4_128_SHA
  • TLS_RSA_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_RC4_56_SHA

KeyExchangeAlgorithms

Подмышка шифров: SCHANNEL/KeyExchangeAlgorithms

Ключ реестра KeyExchangeAlgorithms под ключом SCHANNEL используется для управления использованием ключевых алгоритмов обмена, таких как RSA. Ниже приводится допустимый ключ реестра в ключе KeyExchangeAlgorithms.

PKCS

Подмышка шифров: SCHANNEL\KeyExchangeAlgorithms\PKCS

Этот ключ реестра относится к RSA как к алгоритмам обмена ключами и проверки подлинности.

Чтобы разрешить RSA, измените данные значения DWORD значения Включено на значение по умолчанию 0xffffffff. В противном случае измените данные DWORD на 0x0.

Отключение RSA фактически отключит все шифры SSL и TLS на основе RSA, поддерживаемые поставщиком безопасности Windows NT4 SP6 Microsoft TLS/SSL.

Наборы шифров FIPS 140-1

Возможно, вам нужно использовать только те наборы шифров SSL 3.0 или TLS 1.0, которые соответствуют алгоритмам FIPS 46-3 или FIPS 46-2 и FIPS 180-1, предоставленным поставщиком шифрования Microsoft Base или Enhanced Cryptographic.

В этой статье мы называем их шифрами FIPS 140-1. В частности, они являются следующими:

  • SSL_RSA_WITH_DES_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_DES_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA

Чтобы использовать только наборы шифров FIPS 140-1, как определено здесь и поддерживается Windows NT 4.0 Пакет обновления 6 Поставщик безопасности Microsoft TLS/SSL с базовым криптографическим поставщиком или расширенным криптографическим поставщиком, настройте данные значения DWORD значения Включено в следующих ключах реестра для 0x0:

  • SCHANNEL\Ciphers\RC4 128/128
  • SCHANNEL\Ciphers\RC2 128/128
  • SCHANNEL\Ciphers\RC4 64/128
  • SCHANNEL\Ciphers\RC4 56/128
  • SCHANNEL\Ciphers\RC2 56/128
  • SCHANNEL\Ciphers\RC4 40/128
  • SCHANNEL\Ciphers\RC2 40/128
  • SCHANNEL\Ciphers\NULL
  • SCHANNEL\Hashes\MD5

И настройте данные значения DWORD значения Включено в следующих ключах реестра для 0xffffffff:

  • SCHANNEL\Ciphers\DES 56/56
  • SCHANNEL\Ciphers\Triple DES 168/168 (не применяется в экспортной версии)
  • SCHANNEL\Hashes\SHA
  • SCHANNEL\KeyExchangeAlgorithms\PKCS

Master secret computation by using FIPS 140-1 cipher suites

Процедуры использования шифров FIPS 140-1 в SSL 3.0 отличаются от процедур использования шифров FIPS 140-1 в TLS 1.0.

В SSL 3.0 ниже приводится определение master_secret вычислений:

В TLS 1.0 ниже приводится определение master_secret вычислений:

Выбор варианта использования только шифров fiPS 140-1 в TLS 1.0:

Из-за этой разницы клиентам может потребоваться запретить использование SSL 3.0, даже если разрешенный набор наборов шифров ограничен только подмножество шифров fips 140-1 suites. В этом случае измените значение DWORD значения включенного значения на 0x0 в следующих ключах реестра в ключе Протоколы:

  • SCHANNEL\Protocols\SSL 3.0\Client
  • SCHANNEL\Protocols\SSL 3.0\Server

Данные включенного значения в этих ключах реестра в ключе Протоколы имеют приоритет над значением grbitEnabledProtocols, которое определяется в структуре, содержаной данные для учетных данных SCHANNEL_CRED Schannel. По умолчанию включено значение 0xffffffff.

Читайте также:  Error code 2203 windows installer
Оцените статью