当前位置: 首页 > news >正文

超详细图解:HTTPS 中的 SSL/TLS 完整握手过程(面试必背)

超详细图解:HTTPS 中的 SSL/TLS 完整握手过程(面试必背)

    • 摘要
    • 一、HTTPS 与 SSL/TLS 的关系
    • 二、SSL/TLS 握手:核心作用
    • 三、SSL/TLS 握手:标准流程(TLS 1.2 完整版)
      • 3.1 握手流程图
      • 3.2 逐步骤详细解释(7步必背)
      • 1. Client Hello(客户端问候)
      • 2. Server Hello(服务器问候)
      • 3. Certificate(发送服务器证书)
      • 4. Server Hello Done(服务器问候结束)
      • 5. Client Key Exchange(客户端密钥交换)
      • 6. 双方生成会话密钥(最关键一步)
      • 7. 加密握手完成,开始通信
    • 四、SSL/TLS 握手:最核心原理(一句话总结)
    • 五、SSL/TLS 握手:高频面试问题
      • 1. 为什么要先用非对称加密,再用对称加密?
      • 2. 数字证书有什么用?
      • 3. 会话密钥有什么特点?
    • 六、总结
      • 关键点速记

🌺The Begin🌺点点关注,收藏不迷路🌺

摘要

SSL/TLS 握手是HTTPS 最核心的原理,它决定了浏览器与服务器如何安全建立加密连接。整个握手过程的目标只有三个:协商加密算法、验证服务器身份、安全生成会话密钥

本文用标准流程图 + 逐步骤通俗解释,把最复杂的 TLS 1.2 握手过程讲得清清楚楚,适用于考试、面试、工作理解。


一、HTTPS 与 SSL/TLS 的关系

先明确最基础的概念:

  • HTTP:明文传输,不安全
  • HTTPS = HTTP + SSL/TLS:加密传输,安全
  • SSL:旧版协议(已弃用)
  • TLS:新版安全协议(现在使用的都是 TLS)

二、SSL/TLS 握手:核心作用

  1. 客户端验证服务器身份(防止钓鱼网站)
  2. 双方协商加密套件(用什么算法加密)
  3. 交换并生成会话密钥(后续加密通信使用)
  4. 建立加密通道(之后所有数据都是密文)

三、SSL/TLS 握手:标准流程(TLS 1.2 完整版)

3.1 握手流程图

1. Client Hello

2. Server Hello

3. 证书 Certificate

4. Server Hello Done

5. 密钥交换 Client Key Exchange

6. 加密握手完成

7. 加密握手完成

客户端

服务器

开始加密通信

3.2 逐步骤详细解释(7步必背)

1. Client Hello(客户端问候)

  • 客户端发送:
    • 支持的TLS 版本
    • 支持的加密套件列表
    • 客户端随机数(Client Random)
  • 目的:告诉服务器“我支持哪些加密方式”。

2. Server Hello(服务器问候)

  • 服务器回复:
    • 选定的TLS 版本
    • 选定的加密套件
    • 服务器随机数(Server Random)
  • 目的:确定双方共同支持的加密方案。

3. Certificate(发送服务器证书)

  • 服务器发送数字证书(包含:公钥、域名、CA签名)
  • 客户端验证证书是否合法(是否过期、是否被篡改、是否匹配域名)
  • 目的:证明服务器身份,防止伪装

4. Server Hello Done(服务器问候结束)

  • 服务器告诉客户端:“我的信息发完了”

5. Client Key Exchange(客户端密钥交换)

  • 客户端生成预主密钥(Pre-Master Secret)
  • 使用服务器公钥加密后发送给服务器
  • 只有服务器的私钥能解密

6. 双方生成会话密钥(最关键一步)

客户端和服务器同时使用三个材料计算出相同的会话密钥

  1. 客户端随机数
  2. 服务器随机数
  3. 预主密钥

这个会话密钥对称密钥,后续所有数据都用它加密。

7. 加密握手完成,开始通信

  • 客户端发送:加密的“握手完成”
  • 服务器发送:加密的“握手完成”
  • SSL/TLS 握手结束
  • 之后传输的所有 HTTP 数据都是加密的

四、SSL/TLS 握手:最核心原理(一句话总结)

  1. 非对称加密(公钥/私钥)只用于握手阶段
  2. 对称加密(会话密钥)用于真正的数据传输
  3. 既保证密钥传输安全,又保证数据传输速度快

五、SSL/TLS 握手:高频面试问题

1. 为什么要先用非对称加密,再用对称加密?

  • 非对称加密安全但慢
  • 对称加密快但不安全
  • 结合后:既安全又快

2. 数字证书有什么用?

  • 验证服务器身份
  • 防止钓鱼网站、中间人攻击

3. 会话密钥有什么特点?

  • 临时生成
  • 每次连接都不一样
  • 对称加密,速度快

六、总结

SSL/TLS 握手是 HTTPS 的安全基础,整个流程可以简化记忆为:

1. 客户端问好 → 2. 服务器问好 → 3. 发证书 → 4. 交换密钥 → 5. 生成会话密钥 → 6. 加密通信

它保证了互联网数据传输防窃听、防篡改、防伪装


关键点速记

  1. TLS 握手 = 建立加密通道的过程
  2. 随机数 + 预主密钥 = 会话密钥
  3. 公钥加密,私钥解密
  4. 证书用于验证服务器身份
  5. 握手成功后才会传输加密网页数据


🌺The End🌺点点关注,收藏不迷路🌺
http://www.jsqmd.com/news/615072/

相关文章:

  • 下拉框赋值没有点value,造成下拉框的item变成一个数组并且多出额外的值
  • Phi-3-mini-4k-instruct-gguf快速上手:VS Code远程开发+Jupyter Notebook联调
  • 万字拆解 LLM 运行机制:Token、上下文与采样参数壤
  • 算法优化中的多线程数据一致性问题的技术9
  • 仿生鱼应用与商业前景解析
  • 袁永福 电子病历,医疗信息化际
  • 破解音乐格式枷锁:ncmdumpGUI全方位解决方案指南
  • GLM-. 全面支持与 Gemini CLI 集成:HagiCode 的多模型进化之路衫
  • 如何永久保存微信聊天记录:WeChatMsg本地数据备份完整指南
  • Servlet-JAVA【笔记】
  • Redis持久化:从AOF到RDB,如何实现数据不丢失?吠
  • 手把手教你学Simulink——基于Simulink的坡道起步防溜坡电机转矩控制
  • 深度解析DHCP中继代理:作用、工作原理与标准配置方法
  • 算法性能测试的统计建模与误差估计的技术9
  • 电子电路中的“心脏”:电源铝
  • IC660ELD100A输入输出模块
  • Phi-3-mini-4k-instruct-gguf惊艳效果:用同一提示词生成不同风格(正式/活泼/简洁)对比展示
  • 海洋危机催生高薪生态新产业
  • 2025届学术党必备的十大AI科研平台横评
  • Docker 容器中运行 AI CLI 工具:用户隔离与持久化卷实战指南暗
  • MogFace人脸检测模型-WebUI多场景:新能源汽车座舱DMS驾驶员状态监测
  • 智能自动点击革新:解放双手的高效Windows自动化解决方案
  • 打卡信奥刷题(3077)用C++实现信奥题 P7023 [NWRRC 2017] Equal Numbers
  • Kazumi开源番剧播放器功能使用指南
  • 打卡信奥刷题(3078)用C++实现信奥题 P7033 [NWRRC 2016] CodeCoder vs TopForces
  • Jenkins 学习总结腋
  • 容器化网络与Kubernetes网络深度解析
  • 探索图腾柱无桥PFC的奇妙世界
  • 3步解决浏览器Markdown阅读难题:从乱码到专业渲染的蜕变之路
  • 3大突破!Kazumi跨设备进度同步带来无缝追番体验