密钥套件

加密套件

一、定义

Cipher Suite,加密套件,即密码套件。是TLS/SSL网络协议中的一个概念。指在ssl通信中,服务器和客户端所使用的加密算法的组合

二、使用流程

在ssl握手初期,客户端将自身支持的加密套件列表发送给服务器,服务器根据自己的配置从中尽可能的选出一个套件,作为之后所要使用的加密方式。

三、例子

如下为客户端发送给服务器的一组密码套件:

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256                          (0xc02f)

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384                          (0xc030)

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384                          (0xc028)

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA                             (0xc014)

TLS_RSA_WITH_AES_256_GCM_SHA384                                 (0x9d)

TLS_RSA_WITH_AES_256_CBC_SHA256                                 (0x3d)

TLS_RSA_WITH_AES_256_CBC_SHA                                    (0x35)

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA                               (0x84)

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256                           (0xc027)

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA                              (0xc013)

TLS_RSA_WITH_AES_128_GCM_SHA256                                 (0x9c)

TLS_RSA_WITH_AES_128_CBC_SHA256                                 (0x3c)

TLS_RSA_WITH_AES_128_CBC_SHA                                    (0x2f)

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA                               (0x41)

TLS_RSA_WITH_3DES_EDE_CBC_SHA                                   (0xa)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA                             (0xc012)

每一条表示一个密码套件。以第一条为例解读内容:

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256                          (0xc02f)
  • TLS:表示基于TLS协议。
  • ECDHE:TLS/SSL 的 Handshake 阶段使用ECDHE 交换对称密钥。
  • RSA:TLS/SSL 的 Authentication 使用RSA 验证证书签名。
  • AES_128_GCM:TLS/SSL 的 Encryption 使用AES in GCM,长度128。
  • HA256:Hasning 使用SHA256,常见到有SHA384, SHA512。
  • 0xc02f:加密套件的标识。每个加密套件是有唯一数字作为标识的。用openssl来表示的话就是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

参考文献

https://www.trustasia.com/jmtjssl 加密套件

https://baike.baidu.com/item/%E5%AF%86%E7%A0%81%E5%A5%97%E4%BB%B6/22657345?fr=aladdin 密码套件

https://blog.csdn.net/hxg117/article/details/90665260 HTTPS 密码套件组成部分

猜你喜欢

转载自blog.csdn.net/u013617791/article/details/105619693