1. 加密套件
加密套件描述了一次会话建立过程中要使用的加密算法、消息认证码算法、密钥交换算法;加密套件的名字和具体的实现有关,常见的有:
TLS 1.3 引入了一些新的密码套件,简化了选择:
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
这些密码套件适用于 TLS 1.2 及以下版本:
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_PSK_WITH_AES_128_CBC_SHA
TLS_PSK_WITH_AES_256_CBC_SHA
TLS_PSK_WITH_AES_128_GCM_SHA256
TLS_PSK_WITH_AES_256_GCM_SHA384
TLS_DHE_PSK_WITH_AES_128_CBC_SHA
TLS_DHE_PSK_WITH_AES_256_CBC_SHA
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
2.密钥交换算法
密钥交换算法用于在通信双方之间安全的协商会话密钥,常见的密钥交换算法有DHE、ECDHE,PSK,DHE和EC
3. 前向安全
前向安全是一种安全特性,确保即使长期密钥(如服务器私钥)被泄漏,之前的会话密钥也不会被破解。这意味着过去的通信内容仍然是安全的,即使攻击者获得了长期的密钥。前向安全通常使用临时密钥交换算法实现。
4. PSK和DHE结合
在协商过程中,双方先基于DHE生成临时密钥,在使用密钥派生函数(KDF),将临时密钥和PSK 结合,生成最终的会话密钥;在这个过程中,PSK可以
验证双方的身份。