[tls-传输层安全性]加密的方式

TLS(传输层安全性)Transport Layer Security–主要涉及三个方面:密钥交换、身份验证和数据加密。因此,其加密方式通常是这三方面不同算法的组合。
主要的加密方式可以分为以下几类:

基于 RSA 的密钥交换:
这是最传统和最广泛使用的方式。客户端使用服务器的公钥加密一个预主密钥,然后发送给服务器。服务器用自己的私钥解密,从而双方获得共享的密钥。
缺点:如果服务器的私钥泄露,过去所有被截获的加密流量都可能被解密,不具备“前向安全性”。
基于 Diffie-Hellman (DH) 的密钥交换:
允许双方在不安全的信道上共同协商出一个共享密钥,即使通信被窃听,窃听者也无法计算出这个密钥。
优点:提供“前向安全性”(Forward Secrecy)。即使服务器私钥泄露,过去的通信内容也不会被解密。
这种方式通常与 ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) 结合使用,性能更高。
预共享密钥 (PSK):
通信双方预先配置一个共享的密钥,跳过复杂的公钥加密和密钥协商过程。
优点:效率高,计算开销小。
应用场景:常用于物联网(IoT)等资源受限的设备。
TLS 1.3 中的新方式:
TLS 1.3 淘汰了不安全的加密套件,强制要求使用具有前向安全性的密钥交换算法,如 ECDHE。
它还引入了 0-RTT (零往返时间) 模式,允许在某些情况下客户端发送加密数据而无需等待握手完成,从而加快连接速度。

总的来说,现代网络服务普遍采用提供“前向安全性”的加密方式,例如 ECDHE-RSA 或 ECDHE-ECDSA。