[转帖]How to Restrict the Use of Certain Cryptographic _MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3440 | 回复: 0   主题: [转帖]How to Restrict the Use of Certain Cryptographic         上一篇   下一篇 
914472526
注册用户
等级:列兵
经验:87
发帖:13
精华:0
注册:2012-3-8
状态:离线
发送短消息息给914472526 加好友    发送短消息息给914472526 发消息
发表于: IP:您无权察看 2018-5-8 14:17:49 | [全部帖] [楼主帖] 楼主

This article describes how to restrict the use of certain cryptographic algorithms and protocols in the Schannel.dll file.

The following Crypto Service Providers (CSPs) included with Windows NT 4.0 Service Pack 6 have been awarded the certificates forFIPS-140-1 crypto validation(http://csrc.nist.gov/cryptval/140-1/1401val.htm):

Microsoft Base Cryptographic Provider (Rsabase.dll)

Microsoft Enhanced Cryptographic Provider (Rsaenh.dll) [non-export version]

Microsoft TLS/SSL Security Provider, the Schannel.dll file, uses the CSPs listed above to conduct secure communications over SSL or TLS in its support for Microsoft Internet Explorer and Internet Information Server (IIS).

You can modify the Schannel.dll file to support Cipher Suite 1 and 2, but the program must also support Cipher Suite 1 and 2. Cipher Suite 1 and 2 are not supported in IIS 4.0 and 5.0.

This article provides the necessary information to configure the Windows NT 4.0 Service Pack 6 and later TLS/SSL Security Provider. You can use the Windows registry to control the use of specific SSL 3.0 or TLS 1.0 cipher suites respect to the cryptographic algorithms supported by Microsoft Base or Enhanced Cryptographic Provider.

NOTE: In Windows NT 4.0 Service Pack 6, the Schannel.dll file does not use the Microsoft Base DSS Cryptographic Provider (Dssbase.dll) or the Microsoft DS/Diffie-Hellman Enhanced Cryptographic Provider (Dssenh.dll).

Cipher Suites

Both SSL 3.0 (http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt(http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt)), and TLS 1.0 (RFC2246) with INTERNET-DRAFT "56-bit Export Cipher Suites For TLS draft-ietf-tls-56-bit-ciphersuites-00.txt" provide options to use different cipher suites. Each cipher suite determines the key exchange, authentication, encryption, and MAC algorithms used within a SSL/TLS session. Note that when you use RSA as both key exchange and authentication algorithms, the term RSA appears only once in the corresponding cipher suite definitions.

The Windows NT 4.0 Service Pack 6 Microsoft TLS/SSL Security Provider supports the following "CipherSuite" defined in SSL 3.0 when you use the Microsoft Base or Enhanced Cryptographic Provider:

SSL_RSA_EXPORT_WITH_RC4_40_MD5{ 0x00,0x03 }SSL_RSA_WITH_RC4_128_MD5{ 0x00,0x04 }SSL_RSA_WITH_RC4_128_SHA{ 0x00,0x05 }SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5{ 0x00,0x06 }SSL_RSA_WITH_DES_CBC_SHA{ 0x00,0x09 }SSL_RSA_WITH_3DES_EDE_CBC_SHA{ 0x00,0x0A }SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA{ 0x00,0x62 }SSL_RSA_EXPORT1024_WITH_RC4_56_SHA{ 0x00,0x64 }

NOTE: Neither SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA nor SSL_RSA_EXPORT1024_WITH_RC4_56_SHA is defined in SSL 3.0 text. However, a number of SSL 3.0 vendors, including Microsoft, support them.

Windows NT 4.0 Service Pack 6 Microsoft TLS/SSL Security Provider also supports the following "CipherSuite" defined in TLS 1.0 when using Microsoft Base or Enhanced Cryptographic Provider:

TLS_RSA_EXPORT_WITH_RC4_40_MD5{ 0x00,0x03 }TLS_RSA_WITH_RC4_128_MD5{ 0x00,0x04 }TLS_RSA_WITH_RC4_128_SHA{ 0x00,0x05 }TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5{ 0x00,0x06 }TLS_RSA_WITH_DES_CBC_SHA{ 0x00,0x09 }TLS_RSA_WITH_3DES_EDE_CBC_SHA{ 0x00,0x0A }TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA{ 0x00,0x62 }TLS_RSA_EXPORT1024_WITH_RC4_56_SHA{ 0x00,0x64 }

NOTE: A cipher suite defined with the first byte "0x00" is non-private and is used for open interoperable communications. As such, the Windows NT 4.0 Service Pack 6 Microsoft TLS/SSL Security Provider follows the procedures for using these cipher suites as specified in SSL 3.0 and TLS 1.0 specifications to ensure interoperability.

Schannel Specific Registry Keys

This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs.

SCHANNEL Key

Start Registry Editor (Regedt32.exe), and locate the following key in the registry.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

SCHANNEL\Protocols SubKey

To enable the use of the protocols that will not be negotiated by default (such as TLS 1.1 or TLS 1.2), change the DWORD value data of the DisabledByDefault value to 0x0 in each of the following registry keys under the Protocols key:

SCHANNEL\Protocols\TLS 1.1\Client

SCHANNEL\Protocols\TLS 1.1\Server

SCHANNEL\Protocols\TLS 1.2\Client

SCHANNEL\Protocols\TLS 1.2\Server

WARNING: The DisabledByDefault value in the registry keys under the Protocols key does not take precedence over the grbitEnabledProtocols value that is defined in the SCHANNEL_CRED structure that contains the data for an Schannel credential.

SCHANNEL\Ciphers Subkey

The Ciphers registry key under the SCHANNEL key is used to control the use of symmetric algorithms such as DES or RC4. The following are valid registry keys under theCipherskey.

SCHANNEL\Ciphers\RC4 128/128 Subkey:

RC4 128/128

This subkey refers to 128-bit RC4.

To allow this cipher algorithm, change the DWORD value data of the Enabled value to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled. This registry key does not apply to an exportable server that does not possess an SGC certificate.

Disabling this algorithm effectively disallows:

SSL_RSA_WITH_RC4_128_MD5

SSL_RSA_WITH_RC4_128_SHA

TLS_RSA_WITH_RC4_128_MD5

TLS_RSA_WITH_RC4_128_SHA

SCHANNEL\Ciphers\Triple DES 168/168 Subkey:

Triple DES 168

This registry key refers to 168-bit Triple DES as specified in ANSI X9.52 and Draft FIPS 46-3. This registry key does not apply to the export version.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD data to0x0. If you do not configure theEnabledvalue, the default is enabled.

Disabling this algorithm effectively disallows: SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

SCHANNEL\Ciphers\RC2 128/128 Subkey:

RC2 128/128

This registry key refers to 128-bit RC2. It does not apply to the export version.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

SCHANNEL\Ciphers\RC4 64/128 Subkey:

RC4 64/128

This registry key refers to 64-bit RC4. It does not apply to the export version (but is used in Microsoft Money).

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

SCHANNEL\Ciphers\RC4 56/128 Subkey:

RC4 56/128

this registry key refers to 56-bit RC4.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

Disabling this algorithm effectively disallows: TLS_RSA_EXPORT1024_WITH_RC4_56_SHASCHANNEL\Ciphers\RC2 56/128 Subkey:

RC2 56/128

This registry key refers to 56-bit RC2.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

SCHANNEL\Ciphers\RC2 56/56 Subkey:

DES 56

This registry key refers to 56-bit DES as specified in FIPS 46-2. Its implementation in the Rsabase.dll and Rsaenh.dll files has been validated under the FIPS 140-1 Cryptographic Module Validation Program.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

Disabling this algorithm effectively disallows: SSL_RSA_WITH_DES_CBC_SHA TLS_RSA_WITH_DES_CBC_SHASCHANNEL\Ciphers\RC4 40/128 Subkey:

RC4 40/128

This refers to 40-bit RC4.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

Disabling this algorithm effectively disallows: SSL_RSA_EXPORT_WITH_RC4_40_MD5 TLS_RSA_EXPORT_WITH_RC4_40_MD5SCHANNEL\Ciphers\RC2 40/128 Subkey:

RC2 40/128

This registry key refers to 40-bit RC2.

To allow this cipher algorithm, change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0. If you do not configure theEnabledvalue, the default is enabled.

Disabling this algorithm effectively disallows: SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5SCHANNEL\Ciphers\NULL Subkey:

NULL

This registry key means no encryption. It is turned off by default.

To turn off encryption (disallow all cipher algorithms), change the DWORD value data of theEnabledvalue to0xffffffff, otherwise change the DWORD value data to0x0.

SCHANNEL/Hashes Subkey

TheHashesregistry key under theSCHANNELkey is used to control the use of hashing algorithms such as SHA-1 or MD5. The following are valid registry keys under theHasheskey.

SCHANNEL\Hashes\MD5 Subkey:

MD5

To allow this hashing algorithm, change the DWORD value data of theEnabledvalue to the default value0xffffffff, otherwise change the DWORD value data to0x0.

Disabling this algorithm effectively disallows:

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_MD5SCHANNEL\Hashes\SHA Subkey:

SHA

This registry key refers to Secure Hash Algorithm (SHA-1), as specified in FIPS 180-1. Its implementation in the Rsabase.dll and Rsaenh.dll files has been validated under the FIPS 140-1 Cryptographic Module Validation Program.

To allow this hashing algorithm, change the DWORD value data of theEnabledvalue to the default value0xffffffff, otherwise change the DWORD value data to0x0.

Disabling this algorithm effectively disallows: 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

SCHANNEL/KeyExchange Algorithms Subkey

TheKeyExchangeAlgorithmsregistry key under theSCHANNELkey is used to control the use of key exchange algorithms such as RSA. The following are valid registry keys under theKeyExchangeAlgorithmskey.

SCHANNEL\KeyExchangeAlgorithms\PKCS Subkey:

PKCS

This registry key refers to the RSA as the key exchange and authentication algorithms.

To allow RSA, change the DWORD value data of theEnabledvalue to the default value0xffffffff, otherwise change the DWORD data to0x0.

Disabling RSA effectively disallows all RSA-based SSL and TLS cipher suites supported by the Windows NT4 SP6 Microsoft TLS/SSL Security Provider.

FIPS 140-1 Cipher Suites

You may want to use only those SSL 3.0 or TLS 1.0 cipher suites that correspond to FIPS 46-3 or FIPS 46-2 and FIPS 180-1 algorithms provided by the Microsoft Base or Enhanced Cryptographic Provider.

In this article, we refer to them as FIPS 140-1 cipher suites. Specifically, they are: 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

To use only FIPS 140-1 cipher suites as defined above, supported by Windows NT 4.0 Service Pack 6 Microsoft TLS/SSL Security Provider with Microsoft Base or Enhanced Cryptographic Provider, configure the DWORD value data of theEnabledvalue in the following registry keys to0x0: 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\MD5and configure the DWORD value data of theEnabledvalue in the following registry keys to0xffffffff: SCHANNEL\Ciphers\DES 56/56 SCHANNEL\Ciphers\Triple DES 168/168" [not applicable in export version] SCHANNEL\Hashes\SHA SCHANNEL\KeyExchangeAlgorithms\PKCSMaster Secret Computation Using FIPS 140-1 Cipher SuitesThe procedures for using the above FIPS 140-1 cipher suites in SSL 3.0 are different from those for using (the above) FIPS 140-1 cipher suites in TLS 1.0.

In SSL 3.0, the following is the definition master_secret computation:

In TLS 1.0, the following is the definition master_secret computation:

where:

Selecting the Option to Use Only FIPS 140-1 Cipher Suites in TLS 1.0:

Because of the above difference, customers may want to prohibit the use of SSL 3.0, even though the allowable set of cipher suites has been limited to only the subset of FIPS 140-1 cipher suites. In that case, change the DWORD value data of theEnabledvalue to0x0in each of the following registry keys under theProtocolskey: SCHANNEL\Protocols\SSL 3.0\Client SCHANNEL\Protocols\SSL 3.0\ServerWARNING: TheEnabledvalue data in these registry keys under theProtocolskey take precedence over thegrbitEnabledProtocolsvalue defined in the SCHANNEL_CRED structure containing the data for an Schannel credential. The defaultEnabledvalue data is0xffffffff.

Example Registry Files

Two examples of registry file content for purposes of configuration, Export.reg and Non-export.reg, are provided in this section of the article.

In a computer running Windows NT 4.0 Service Pack 6 with the exportable Rasbase.dll and Schannel.dll files, run Export.reg to ensure that only TLS 1.0 FIPS cipher suites are used by the computer.

In a computer running Windows NT 4.0 Service Pack 6 that includes the non-exportable Rasenh.dll and Schannel.dll files, run Non-export.reg to ensure that only TLS 1.0 FIPS cipher suites are used by the computer.

For the Schannel.dll file to recognize any changes under theSCHANNELregistry key, you must restart the computer.

To return the registry settings to default, delete theSCHANNELregistry key and everything under it. If these registry keys are not present, the Schannel.dll rebuilds the keys when you restart the computer.


该贴被huang.wang编辑于2018-5-8 14:43:50




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论