您当前的位置:   首页 > 新闻中心
传输层安全性(TLS)密码套件与密钥安全性
发布时间:2020-12-17 11:15:31   阅读次数:

传输层安全性(TLS)密码套件与密钥安全性(图1)

几乎每个Internet连接的安全性都取决于SSL / TLS加密。确定这些连接的保护级别的是密码套件的选择。那么,什么是密码套件?


什么是密码套件?

密码套件是一组指令,可通过传输层安全性(TLS),通常仍称为安全套接字层(SSL),实现安全的网络连接。在后台,这些密码套件提供了保护客户端和服务器之间的通信所需的一组算法和协议。


要启动HTTPS连接,两方-Web服务器和客户端-执行SSL握手。握手过程是一个相当复杂的过程,在此过程中,两方同意使用相互密码套件。然后,使用密码套件来协商安全的HTTPS连接。


为什么需要密码套件?

如前所述,SSL握手是一个复杂的过程,因为它利用各种加密功能来实现HTTPS连接。在握手期间,客户端和Web服务器将使用:

  • 一个密钥交换算法,以确定键如何对称将被交换

  • 一个认证或数字签名算法,这就决定如何服务器身份验证和客户端身份验证(如果需要)将实施

  • 批量加密密码,其被用来加密数据

  • 散列/ MAC功能,其确定数据完整性检查将如何进行


连接的各个点都需要使用这些密码来执行身份验证、密钥生成和交换,以及校验和以确保完整性。为了确定使用哪种特定算法,客户端和Web服务器首先确定要使用的密码套件。


由于服务器、操作系统和浏览器的多样性,因此需要密码套件。需要有一种方法来容纳所有这些组合,因此密码套件非常有用,可以确保兼容性。


它是如何工作的?

在连接握手期间,当客户端和服务器交换信息时,Web服务器和浏览器将比较其支持的密码套件的优先级列表,查看它们是否兼容,并确定要使用的密码套件。


使用哪种密码套件的决定取决于Web服务器。约定的密码套件是以下各项的组合:

  • 密钥交换算法,例如RSA,DH,ECDH,DHE,ECDHE或PSK

  • 认证/数字签名算法,例如RSA,ECDSA或DSA

  • 批量加密算法,例如AES,CHACHA20,Camellia或ARIA

  • 消息验证码算法,例如SHA-256和POLY1305


回到密码套件范例,让我们来看一下密码套件提供的信息。

传输层安全性(TLS)密码套件与密钥安全性(图2)

从左到右,ECDHE确定在握手期间将通过短暂的椭圆曲线Diffie Hellman(ECDHE)交换密钥。ECDSA或椭圆曲线数字签名算法是认证算法。AES128-GCM是批量加密算法:AES以128位密钥大小运行Galois计数器模式。最后,SHA-256是哈希算法。


为什么密码套件很重要?

密码套件对于确保HTTPS连接的安全性,兼容性和性能非常重要。就像配方描述了制作完美配方所需的成分一样,密码套件也规定了使用哪种算法来建立安全可靠的连接。


如前所述,最终决定使用哪个密码套件的是Web服务器。因此,Web服务器上密码套件的优先级列表非常重要。对于任何管理员来说,选择要在任何Web服务器上列出的正确密码都是一项至关重要的工作,这在很大程度上取决于连接到服务器的用户类型以及他们使用的技术。


用户还负责确保安全连接。由于浏览器供应商在发现漏洞后会更新其受支持密码套件的列表,因此用户必须安装最新的浏览器修补程序,以减少在服务器端弃用弱密码套件时遇到兼容性问题的可能性。


TLS 1.2中支持的密码套件

在讨论存在多少种不同的密码套件之前,让我们记住,出于各种安全原因,不赞成使用TLS 1.2之前的所有TLS协议(即TLS 1.0和TLS 1.1)。当前,唯一可接受的TLS协议是TLS 1.2和TLS 1.3。


从TLS 1.2开始,该协议支持37种不同的密码套件。如果这个数字看起来很大,请想象TLS 1.2已经存在了将近十年,在此期间出现了许多不同的系统。另外,每个密码套件都包含四种不同的算法,最终您会获得多达40种不同的密码组合。


建议在TLS 1.2中所有受支持的密码套件中,使用具有短暂Diffie-Hellman算法的套件。因此,建议的密码套件归结为以下内容:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA

  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA

  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305


识别弱密码

随着TLS 1.3的引入,许多事情发生了变化,以提高协议的安全性。首先,不推荐使用不安全的旧密码,包括:

  • RC4

  • DSA

  • MD5

  • SHA-1

  • 弱椭圆曲线

  • RSA密钥交换

  • 静态Diffie-Hellman(DH,ECDH)

  • 分组密码(CBC)

  • 非AEAD密码


TLS 1.3中支持密码套件

此外,TLS 1.3密码套件现在比各自的TLS 1.2套件要短得多。密码套件未列出证书的类型(RSA或ECDSA)和密钥交换机制(DHE或ECDHE)。因此,确定加密参数所需的协商数量已从四个减少到两个。TLS 1.3中的密码套件如下所示:

传输层安全性(TLS)密码套件与密钥安全性(图3)

客户端知道该临时密钥交换过程将使用临时Diffie-Hellman算法,并开始了握手,它可以在“客户端问候”消息中发送其部分密钥共享。这样做的好处是将TLS 1.3握手缩短到了一次往返,在该往返中,服务器以两方所需的所有信息进行响应,以获取双方的会话密钥并开始安全地通信。


将在TLS 1.3支持的密码套件现在已经下降到了五个主要有以下几种:

  • TLS_AES_256_GCM_SHA384

  • TLS_CHACHA20_POLY1305_SHA256

  • TLS_AES_128_GCM_SHA256

  • TLS_AES_128_CCM_8_SHA256

  • TLS_AES_128_CCM_SHA256


选择密码套件

TLS 1.3密码套件不能与较早的TLS版本互操作,因为它们的结构不同。这意味着站点管理员将需要以一种允许与两种版本的受支持密码套件TLS 1.2和TLS 1.3兼容的方式配置其Web服务器。选择仅支持TLS 1.3并不是明智的解决方案,因为许多公司仍依赖TLS 1.2。


Mozilla建议使用TLS协议的Web服务器使用三种不同的密码套件配置。

  • 现代的:此配置适用于支持TLS 1.3且无需向后兼容的现代客户端。现代配置提供了极高的安全性。

  • 中级:对于不需要与旧客户端(例如Windows XP或旧版本的OpenSSL)兼容的通用服务器,建议使用此配置。它具有高度的安全性,并且与过去五年(或更多年)中发布的几乎所有客户端兼容。

  • 较旧:非常老的客户端或库(例如Internet Explorer 8(Windows XP),Java 6或OpenSSL 0.9.8)访问的服务应作为最后的手段使用。


Thales HSMs

硬件安全模块 (HSM)(国内名称:加密机) 是专为保护加密密钥生命周期而设计的专用加密处理器。硬件安全模块通过在可靠且防篡改的设备中安全地管理、处理和保存加密密钥,已成为世界上具有最高安全意识的组织来保护加密基础设施的最信赖的起点。因为 HSM 能为广泛的应用程序提供保护加密密钥和配置加密、解密、身份认证和数码签名服务,所以企业购买硬件安全模块以为交易、身份资料和应用程序提供保护。


Thales的HSM通过大量的操作经验开发新功能并加以运用,在硬件、软件和操作上都实施了最佳实践,使安全 HSM 的部署变得尽量简单。Thales HSM符合严格的设计要求,且必须通过严格的产品验证测试,然后通过实际应用测试验证每台设备的安全性和完整性,Thales HSM拥有FIPS 140-2 Level 3和CC EAL4+全球最高安全标准的检测认证。


Thales的Luna HSM支持最广泛的加密算法,包括:

  • 完整的Suite B支持

  • 非对称算法:RSA,DSA,Diffie-Hellman,椭圆曲线密码术(ECDSA、ECDH、Ed25519、ECIES),具有已命名的,用户定义的和Brainpool曲线,KCDSA等

  • 对称算法:AES,AES-GCM,三重DES,DES,ARIA,SEED,RC2,RC4,RC5,CAST等

  • 哈希/消息摘要/ HMAC:SHA-1,SHA-2,SM3等

  • 密钥派生:SP800-108计数器模式

  • Key Wrapping:SP800-38F

  • 随机数生成:设计为使用基于硬件的真实噪声源以及符合NIST 800-90A的CTR-DRBG,从而符合AIS 20/31至DRG.4

  • 数字钱包加密:BIP32

  • 用于订户身份验证的5G加密机制:Milenage,Tuak和Comp128

  • 支持SM2、SM3、SM4算法


结论

密码套件是在SSL / TLS握手期间用来确定HTTPS连接的安全设置的密码的组合。在Web服务器和客户端中选择和维护适当的密码套件,对于确保HTTPS通信的安全性、性能和兼容性很重要。


维护受支持的密码套件是证书生命周期管理的重要功能,并采用最高安全等级的HSM实现密钥生命周期管理,以确保您的证书是最新的行业最佳实践。关键的第一步就是要获得IT环境中所有证书和连接的完全可见性,然后是连续监视、自动续订和供应。


揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609