什么?就是一. SSL 和 TLS

常见的网络安全协议,用来在互联网上建立安全的加密通信通道。就是SSL 和 TLS 都

1. SSL(Secure Sockets Layer,安全套接层)

  • 是最早由 Netscape 公司在 1990 年代中期提出的加密协议。
  • 主要作用是在客户端(浏览器)与服务器之间建立安全的数据传输通道,保证数据不会被窃听或篡改。
  • 由于存在某些安全漏洞,现在已经逐渐被淘汰

2. TLS(Transport Layer Security,传输层安全)

  • 是 SSL 的后续版本,由 IETF(互联网工程任务组)标准化。
  • 相比 SSL,TLS 改进了安全性和性能,目前几乎所有现代安全传输都使用 TLS
  • 常见的 HTTPS 通信,其实就是 HTTP + TLS 的结合。

主要功能:

  • 加密:保证通信内容在传输过程中不被第三方窃听。
  • 完整性校验:确保数据在传输过程中未被篡改。
  • 身份认证钓鱼网站)。就是:经过证书机制确认通信双方的身份(例如,确认你访问的确实是某个网站而不

3. 历史演进

  1. SSL 1.0:最早的内部版本,未公开。
  2. SSL 2.0(1995):首个公开版,但存在严重漏洞。
  3. SSL 3.0(1996):改进版,但在 2014 年被发现 POODLE 攻击漏洞,如今已废弃。
  4. TLS 1.0(1999):IETF 基于 SSL 3.0 制定的标准,实质上是 SSL 的升级和标准化。
  5. TLS 1.1 / 1.2 / 1.3:不断增强安全性与性能,目前推荐TLS 1.2/1.3

TLS 1.3 是目前(截至 2024)最新的 TLS 协议版本,相比 TLS 1.2 在 安全性、性能 上都有很大提升。

二. 为什么有的说 SSL,有的说 TLS?

  • 技能上严格区分:现代安全标准和协议都叫TLS;如果要求合规、严谨表达,就应该说 TLS。
  • 习惯和历史遗留:很多人习惯说“SSL 证书”、“SSL 连接”,其实这些主要已经是 TLS 的意思。
  • 兼容性:有些文档或平台里仍然提到“SSL/TLS”,为了兼容所有人理解。

实际情况:

  • 现在人们习惯说“SSL 证书”,其实绝大多数情况下指的都是基于 TLS 的证书
  • 最新的协议是TLS 1.3,比 TLS 1.2 更快、更安全。

三. mbedTLS 和 wolfSSL 的区别?

它们都是实现 TLS/SSL 协议的开源加密库,不是协议本身。

  • mbedTLS(原 PolarSSL):
    由 ARM 社区维护,设计目标是轻量、可移植、适合嵌入式体系和资源受限设备。
    提供 TLS/SSL 协议实现,以及各种密码算法(AES、SHA、RSA、ECC 等)。
  • wolfSSL
    类似地,也是一个面向嵌入式、物联网领域的轻量级 TLS/SSL 库。强调体积小、速度快、协助现代协议(比如 TLS 1.3)和硬件加速。

换句话说,mbed TLSwolfSSL都是软件工具包,依据它们你可以在设备或应用中“跑” TLS/SSL 协议,而不用自己重新实现。



四. TLS 1.3 与 TLS 1.2 的关键区别

1. 握手过程更快

  • TLS 1.2:至少需要 2 个往返(2 RTT)才能建立安全连接。
  • TLS 1.3:只需 1 RTT,甚至可以支持0-RTT(在特定场景下发送早期信息),大大缩短了延迟。

2. 加密算法更安全

  • 移除了许多过时或弱的算法(比如 RSA 密钥交换、SHA-1、3DES 等)。
  • 默认只保留现代的、安全性更高的算法,如:
    • 密钥交换:基于椭圆曲线 Diffie–Hellman (ECDHE)
    • 加密套件:AES-GCM、ChaCha20-Poly1305
    • 哈希函数:SHA-256 / SHA-384

3. 前向安全(Forward Secrecy)强制化

  • TLS 1.2 可以用 RSA 密钥交换(不具前向安全性)。
  • TLS 1.3 强制启用 (EC)DHE,实现会话密钥的前向安全。

4. 协议更简化

  • 移除了很多复杂功能和冗余消息,比如 ChangeCipherSpec。
  • 用更简化的握手流程减少了攻击面。

5. 0-RTT 资料

  • TLS 1.3 协助客户端在第一次握手时就发送“早期数据”(通常为 GET 请求等)。
  • 缺点:0-RTT 数据容易被重放攻击,所以适合幂等操作。

6. 已协助 TLS 1.3 的主流库 / 软件

(这些库和应用都拥护 TLS 1.3,但必须现代版本)

  • OpenSSL:从 OpenSSL 1.1.1(2018)开始承受 TLS 1.3。
  • GnuTLS:从 3.6 版本开始支持。
  • BoringSSL(Google 出品):全面支持 TLS 1.3。
  • LibreSSL:2.9.1 起支持基本的 TLS 1.3。
  • NSS(Mozilla):已帮助 TLS 1.3。
  • WolfSSL:支持 TLS 1.3。

应用层面

  • 主流 Web 服务器:Nginx、Apache、Caddy 等(要依赖上述库的版本)。
  • 浏览器:Chrome、Firefox、Safari、Edge 早已默认拥护 TLS 1.3。
  • 操作系统层面:新版本的 Linux、Windows 10/11、macOS 都承受 TLS 1.3。

⭐️ 五. ​总结

  • 早期的安全通信协议,已过时。就是SSL
  • TLS 是 SSL 的继任者和现在唯一安全的选择。
  • mbed TLS 和 wolfSSL 是实现 TLS(或者说 SSL/TLS)协议的轻量级库。
  • 现实中说“SSL”通常是习惯代称,真正使用的都是TLS
posted on 2025-10-11 19:22  lxjshuju  阅读(3)  评论(0)    收藏  举报