Derick
650 words
3 minutes
SSL和TLS

SSL(安全套接字层)和 TLS(传输层安全)是为了在网络上提供安全通信而设计的加密协议。TLS 是 SSL 的后继者,解决了 SSL 中存在的漏洞。

为了理解它们的区别,让我们来看看使用这些协议发送数据的工作流程:

𝟭) 初始化通信#

SSL 和 TLS:在数据可以发送之前,必须首先建立连接。在这个阶段,两种协议的工作方式非常相似。客户端和服务器建立连接,通常在端口 443 上进行网络流量(HTTPS 的默认端口)。

𝟮) ClientHello 和 ServerHello 消息#

在建立连接后,客户端和服务器需要就安全设置达成一致。 SSL:客户端发送支持的密码套件列表和其他设置。然后,服务器发送响应,选择 SSL 版本、密码套件和其他设置。 TLS:除了支持的密码套件和其他设置外,客户端还可以发送 Diffie-Hellman(DH)或椭圆曲线 Diffie-Hellman(ECDH)的 “key share”(如果支持)。然后,服务器发送响应,选择 TLS 版本、密码套件和其他设置。

𝟯) 服务器证书#

SSL 和 TLS:在 “ClientHello” 和 “ServerHello” 消息通信后,服务器将其数字证书发送给客户端。

𝟰) 密钥交换#

在这个阶段,两种协议有显著的不同。

  • SSL:主要使用 RSA 进行密钥交换。
  • TLS:使用其他机制,如 DH 和 ECDH。

𝟱) 客户端证书(可选)#

SSL 和 TLS:在交换密钥后,如果服务器需要验证客户端的身份,可以请求客户端证书。

𝟲) 客户端和服务器完成消息#

SSL 和 TLS:一旦认证阶段完成,就会发送 “Finished” 消息。这两种协议在这里的唯一区别是,消息背后的加密计算可能会有所不同。

𝟳) 加密数据传输#

已经建立了连接,达成了设置协议,完成了认证 — 数据传输终于可以开始了。 SSL:使用较旧的加密算法,其中一些是易受攻击的。 TLS:使用更新和更强大的加密算法。

𝟴) 终止#

SSL 和 TLS:在数据传输完成后,客户端和服务器可以发送警报消息以终止连接。

虽然 SSL 和 TLS 协议有许多相似之处,但 TLS 已经克服了 SSL 带来的漏洞。TLS 中使用的精细数字握手、密钥交换机制和加密方法,使得加密更强大,安全性更高,可扩展性更好。

Untitled.png

Citations: [1] https://www.keyfactor.com/blog/ssl-vs-tls-what-are-the-differences/ [2] https://www.ssl2buy.com/wiki/ssl-vs-tls [3] https://aws.amazon.com/compare/the-difference-between-ssl-and-tls/ [4] https://security.stackexchange.com/questions/5126/whats-the-difference-between-ssl-tls-and-https [5] https://www.reddit.com/r/cryptography/comments/alas4q/tls_vs_ssl_difference/?rdt=58024

SSL和TLS
https://blog.ithuo.net/posts/ssl-and-tls/
Author
Derick
Published at
2022-12-30