Windows 8 中的 TLS 密码套件

只能针对支持密码套件的 TLS 版本协商密码套件。 在 TLS 握手中,始终首选受支持的最高 TLS 版本。 例如,仅当客户端和服务器都不支持 TLS 1.2、1.1 和 1.0 或 SSL 3.0 时,才能使用 SSL_CK_RC4_128_WITH_MD5,因为它仅支持 SSL 2.0。

密码套件的可用性应通过以下两种方式之一进行控制:

  • 配置优先级列表时,默认优先级顺序将被覆盖。 不在优先级列表中的密码套件将不会被使用。
  • 应用程序传递 SCH_USE_STRONG_CRYPTO 时允许:当应用程序使用 SCH_USE_STRONG_CRYPTO 标志时,Microsoft Schannel 提供程序将筛选掉已知的弱密码套件。 在 Windows 8 中,将筛选掉 RC4 密码套件。

重要

HTTP/2 Web 服务因与 HTTP/2 不兼容的密码套件而失败。 若要确保 Web 服务能够通过 HTTP/2 客户端和浏览器正常运行,请参阅如何部署自定义密码套件排序

增加椭圆曲线后,FIPS 合规性变得更加复杂,使此表先前版本中启用了 FIPS 模式的列具有误导性。 例如,使用 NIST 椭圆曲线时,诸如 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 的密码套件仅符合 FIPS 标准。 若要了解在 FIPS 模式下将启用椭圆曲线和密码套件的哪些组合,请参阅 TLS 实现的选择、配置和使用指南中的第 3.3.1 节。

windows 7、Windows 8 和 Windows Server 2012 通过 Windows 更新中的 3042058 更新进行了更新,其作用是更改优先级顺序。 有关详细信息,请参阅 Microsoft 安全公告 3042058。 默认情况下,Microsoft Schannel 提供程序按此优先级顺序启用以下密码套件:

密码套件字符串 由 SCH_USE_STRONG_CRYPTO 允许 TLS/SSL 协议版本
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384 TLS 1.2、TLS 1.1、TLS 1.0
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2
TLS_RSA_WITH_AES_256_GCM_SHA384 TLS 1.2
TLS_RSA_WITH_AES_128_GCM_SHA256 TLS 1.2
TLS_RSA_WITH_AES_256_CBC_SHA256 TLS 1.2
TLS_RSA_WITH_AES_128_CBC_SHA256 TLS 1.2
TLS_RSA_WITH_AES_256_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0
TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384 TLS 1.2、TLS 1.1、TLS 1.0
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 TLS 1.2
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 TLS 1.2
TLS_DHE_DSS_WITH_AES_256_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0
TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0
TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_WITH_RC4_128_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_WITH_RC4_128_MD5 TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_WITH_NULL_SHA256 仅在应用程序显式请求时使用。 TLS 1.2
TLS_RSA_WITH_NULL_SHA 仅在应用程序显式请求时使用。 TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
SSL_CK_RC4_128_WITH_MD5 仅在应用程序显式请求时使用。 SSL 2.0
SSL_CK_DES_192_EDE3_CBC_WITH_MD5 仅在应用程序显式请求时使用。 SSL 2.0

Microsoft Schannel 提供程序支持以下密码套件,但这些密码套件在默认情况下未启用:

密码套件字符串 由 SCH_USE_STRONG_CRYPTO 允许 TLS/SSL 协议版本
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521 TLS 1.2
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521 TLS 1.2
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521 TLS 1.2、TLS 1.1、TLS 1.0
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521 TLS 1.2、TLS 1.1、TLS 1.0
TLS_RSA_WITH_DES_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_EXPORT_WITH_RC4_40_MD5 TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_RSA_WITH_NULL_MD5 TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_DHE_DSS_WITH_DES_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0
SSL_CK_DES_64_CBC_WITH_MD5 SSL 2.0
SSL_CK_RC4_128_EXPORT40_WITH_MD5 SSL 2.0

若要添加密码套件,请使用“计算机配置 > 管理模板 > 网络 > SSL 配置设置”下的组策略设置“SSL 密码套件顺序”,为要启用的所有密码套件配置优先级列表。