SSL/TLS,信息安全的守护者

发布于:2025-08-09 ⋅ 阅读:(12) ⋅ 点赞:(0)

一、SSL/TLS 核心概念

  1. 作用

    • 在传输层(TCP)之上提供安全通信,实现:
      • 加密(防窃听)
      • 身份认证(防伪装)
      • 数据完整性(防篡改)
  2. 版本演进

    • SSL 1.0 → SSL 2.0 → SSL 3.0 → TLS 1.0 → TLS 1.1 → TLS 1.2 → TLS 1.3
    • 现代主要使用 TLS 1.2/1.3

二、核心加密技术

技术类型 作用 常见算法
对称加密 加密实际传输的数据 AES, ChaCha20, DES (已淘汰)
非对称加密 安全交换对称密钥 RSA, ECDH, DH
数字证书 验证服务器身份 X.509 证书 + CA 签名
散列函数 确保数据完整性 SHA-256, SHA-384

三、TLS 握手流程(以 TLS 1.2 为例)

Mermaid 序列图
Client Server 1. 协商加密参数 ClientHello 发送: - TLS 版本 - 随机数 (ClientRandom) - 支持的密码套件 - SNI (域名) ServerHello 返回: - 选定 TLS 版本 - 随机数 (ServerRandom) - 选定密码套件 Certificate 发送服务器证书链 ServerKeyExchange (可选) 若使用DH/ECDH,发送公钥参数 ServerHelloDone 2. 密钥交换与验证 ClientKeyExchange 发送预主密钥 (用服务器公钥加密) CertificateVerify (可选) 若需客户端认证,发送签名 3. 切换加密通信 ChangeCipherSpec 通知:后续消息加密 Finished (加密) ChangeCipherSpec Finished (加密) 4. 安全数据传输 Application Data (加密) Application Data (加密) Client Server

四、关键步骤详解

  1. ClientHello

    • 客户端发送支持的 TLS 版本、随机数 (ClientRandom)、密码套件列表(如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)。
  2. ServerHello + Certificate

    • 服务器选择密码套件,发送随机数 (ServerRandom) 和数字证书(包含公钥)。
  3. 密钥交换

    • RSA 模式:客户端生成预主密钥(PreMasterSecret),用服务器公钥加密后发送。
    • ECDH/DH 模式:双方交换临时公钥,通过算法生成共享密钥。
  4. 生成会话密钥

    MasterSecret = PRF(PreMasterSecret, "master secret", ClientRandom + ServerRandom)
    
    • 会话密钥(加密密钥、MAC 密钥)从 MasterSecret 派生。
  5. Finished 消息

    • 双方发送加密的 Finished 消息,验证握手过程未被篡改。

五、TLS 1.3 优化

  1. 简化握手

    • 合并消息,1-RTT(一次往返)完成握手。
    • 0-RTT 模式(有重放攻击风险)。
  2. 增强安全性

    • 移除不安全算法(RSA 密钥交换、SHA-1、RC4 等)。
    • 所有握手消息加密(ServerHello 后启用)。

六、常见密码套件解析

示例:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

  • ECDHE:密钥交换算法(前向安全)
  • RSA:证书签名算法
  • AES_128_GCM:对称加密算法(128 位 AES-GCM)
  • SHA256:完整性校验算法

七、数字证书验证流程

在这里插入图片描述


八、总结

  • 核心目标:通过非对称加密安全交换对称密钥。
  • 关键安全特性:前向保密(PFS)、身份认证、防重放攻击。
  • 最佳实践:启用 TLS 1.3,使用强密码套件(如 AES-GCM),定期更新证书。

网站公告

今日签到

点亮在社区的每一天
去签到