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

一、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. 生成会话密钥

    math 复制代码
    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),定期更新证书。
相关推荐
攻城狮在此19 小时前
ARP配置(IP与MAC地址绑定,静态绑定)
网络
吉哥机顶盒刷机19 小时前
IPTV抓包工具合集:Wireshark、parse_cap_channels_v2、IPTV全能工具箱
网络·测试工具·wireshark
志栋智能20 小时前
预算有限?超自动化安全运维的普惠解决方案
运维·网络·人工智能·安全·自动化
久绊A20 小时前
网络割接验证测试
网络
yy_xzz20 小时前
【Linux开发】03 TCP 网络编程中的数据边界问题与解决方案
linux·网络·tcp/ip
曹牧20 小时前
HTTP 401
网络·网络协议·http
yy_xzz21 小时前
【Linux开发】 02 Linux TCP 网络编程——迭代、回声服务器
linux·服务器·网络
天天讯通21 小时前
职场使用web电话呼叫,网络问题怎么解决
网络
Johnstons21 小时前
多节点网络流量对比分析:优化网络性能的关键策略
运维·网络·网络流量监控·网络流量分析
半路_出家ren21 小时前
Nginx基础学习
运维·网络·网络协议·学习·nginx·网络安全