TLS 加密套件的学习与了解

发布时间 2024-01-05 06:50:32作者: 济南小老虎

TLS 加密套件的学习与了解


加密套件

什么是加密套件?
  加密套件是用于在SSL / TLS握手期间协商安全设置的算法的组合。
    在ClientHello和ServerHello消息交换之后,客户端发送优先级列表的密码支持套件。
    然后,服务器使用从列表中选择的密码套件进行响应。

TLS算法组合:
在TLS中,5类算法组合在一起,称为一个CipherSuite:

认证算法
加密算法
消息认证码算法 简称MAC
密钥交换算法
密钥衍生算法

比较常见的算法组合是 
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 和  
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 
都是ECDHE 做密钥交换,使用RSA做认证,SHA256做PRF算法。
一个使用AES128-CBC做加密算法,用HMAC做MAC。
一个使用AES128-GCM做加密算法,MAC由于GCM作为一种AEAD模式并不需要。

这里是一个加密套件的例子:

TLS _ECDHE_ RSA _ WITH_AES_128_GCM _ SHA256
  TLS是协议。从ECDHE开始,在握手期间,密钥将通过临时ECDHE进行交换。RSA是认证算法。AES_128_GCM是批量加密算法。SHA-256是散列算法。
  大多数浏览器和服务器都有各自支持的密码套件列表,两者将在握手过程中进行优先顺序比较,以确定使用的安全设置。
  最后作为TLS 1.3最终版本,这一切都会改变。虽然以前SSL / TLS通过TLS 1.2版本是使用上诉描述的加密套件模板,但1.3版本的加密套件将会有所改变,因为它们仅用于协商加密和HMAC算法。
  因为1.3加密套件的结构与之前的版本不同,所以它们与旧的TLS版本不能进行互换。
  密码是算法,用于加密和解密。它们可以是对称的或不对称的,这取决于它们支持的加密类型。
  加密套件是用于在SSL / TLS握手期间协商安全设置的密码的命名组合。在握手期间,客户端和服务器交换密码套件的优先级列表,并决定两者最佳支持的套件。
  在TLS 1.3中,加密套件的结构将改变。

来源: https://blog.csdn.net/gx11251143/article/details/104360375

加密套件的进化