news 2026/6/7 4:10:36

HTTPS加密原理:安全上网的秘密武器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTTPS加密原理:安全上网的秘密武器

HTTPS 加密原理是现代互联网安全上网的核心支柱,它让你的浏览器和网站之间通信变得保密、防篡改、可信。下面用通俗 + 准确的方式完整说明它的原理。

1. HTTPS 到底比 HTTP 多做了什么?

对比项HTTPHTTPS
协议明文传输加密传输
端口80443
底层协议TCPTCP +TLS/SSL
主要保护保密性 + 完整性 + 身份认证
是否防窃听否(WiFi、运营商、路由器都可见)
是否防篡改是(通过 MAC 或 AEAD)
是否防冒充是(证书 + 公钥验证)

HTTPS =HTTP over TLS(或者以前叫 HTTP over SSL)

2. HTTPS 依赖的三大加密手段(混合加密)

HTTPS 实际上同时使用了三种加密技术,各司其职:

加密类型代表算法特点在 HTTPS 中的作用
非对称加密RSA, ECDHE, X25519公钥加密、私钥解密(或反之)安全交换密钥、验证服务器身份
对称加密AES-GCM, ChaCha20-Poly1305同一把密钥加解密,速度非常快真正加密所有应用数据(HTTP 请求/响应)
摘要算法 / HMACSHA-256, SHA-384单向散列 + 带密钥验证保证数据完整性、防篡改

核心思想:用慢但安全的非对称加密来协商一把快且安全的对称密钥,后续全部用对称加密传输数据。

3. TLS 握手过程(最核心的部分)

现代主流是TLS 1.3(2018年标准化,目前2025-2026年占比已非常高),它比 TLS 1.2 更快、更安全。

TLS 1.3 握手流程(1-RTT 主流情况)
  1. ClientHello(客户端 → 服务器,明文)

    • 我支持的 TLS 版本(通常只说 TLS 1.3)
    • 我支持的密码套件列表(cipher suites)
    • Client Random(32字节随机数)
    • Key Share(提前发送客户端的公钥份额,例如 x25519 或 secp256r1)
    • 支持的扩展(SNI、支持的签名算法等)
  2. ServerHello+ Certificate + Finished(服务器 → 客户端,明文 + 部分加密)

    • 选定密码套件
    • Server Random(32字节随机数)
    • Key Share(服务器的公钥份额)
    • 服务器证书(包含域名、公钥,由CA签名)
    • 服务器用私钥签名(证明自己拥有证书私钥)
    • 服务器立即计算出会话密钥,发送Finished消息(用新密钥加密,证明密钥正确)
  3. 客户端验证 & Finished

    • 验证证书链(是否由可信 CA 签发、域名是否匹配、是否过期、是否被吊销)
    • 用服务器公钥验证签名
    • 计算相同的会话密钥
    • 发送Finished消息(加密)
  4. 握手结束,之后所有数据都用对称加密(AES-GCM / ChaCha20 等)

TLS 1.3 的关键优化

  • 1-RTT(1个来回)就能开始发加密数据(TLS 1.2 要 2-RTT)
  • 前向安全性(PFS)成为强制(几乎都用 ECDHE)
  • 删除了不安全的特性(RSA 密钥交换、MD5/SHA-1 等)

4. 为什么能保证“安全”?逐一拆解三大目标

安全目标怎么实现攻击者能做到什么?
保密性对称加密(AES-GCM/ChaCha20)看不到明文内容
完整性AEAD 模式(GCM/ChaCha20-Poly1305)自带认证改一个比特就会被发现
身份认证服务器证书 + CA 签名 + 公钥验证签名冒充服务器会被浏览器拒绝(证书不匹配)
前向安全每次连接用临时 Diffie-Hellman(ECDHE)即使私钥以后泄露,历史会话也解不了

5. 常见问题快速解答

  • 为什么需要 CA?
    防止中间人自己签发假证书。只有被操作系统/浏览器信任的根证书才能签发有效域名证书。

  • 0-RTT(Session Resumption)是怎么回事?
    TLS 1.3 支持“0-RTT”模式:用之前保存的会话票据(Ticket)直接加密发数据。速度最快,但有重放风险(一般只用于 GET 请求)。

  • TLS 1.2 还安全吗?
    如果强制用 ECDHE + AES-GCM + SHA-256 其实还算安全,但已逐渐被淘汰(不支持前向安全套件、握手更慢)。

  • 中间人攻击为什么很难成功?
    除非中间人能:

    • 安装自己的根证书到用户设备(企业环境可能做到,个人基本不可能)
    • 或者攻破某个大 CA(历史上发生过几次,但代价极大)

总结一句话

HTTPS 的加密原理本质是:
*通过非对称加密 + 数字证书完成身份验证和密钥协商 → 得到一个每次连接都不一样的对称会话密钥 → 用它高速加密所有后续的 HTTP 数据*。

这就是为什么你能在咖啡店 WiFi 上安全登录银行、购物、发私密消息的原因。

想深入哪个部分?

  • TLS 1.3 vs 1.2 的详细对比
  • 密码套件(cipher suite)到底是什么
  • Wireshark 抓包看真实握手
  • 证书链验证细节
  • 前向安全性(PFS)原理
  • 0-RTT 的风险与使用场景

随时告诉我~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 21:12:10

从S锁/X锁到Next-Key Lock:MySQL锁机制硬核拆解

从 S 锁 / X 锁 到 Next-Key Lock:MySQL InnoDB 锁机制硬核拆解 MySQL 的 InnoDB 引擎锁机制是面试和生产中高频考点,尤其是幻读如何被解决、Next-Key Lock 到底锁了什么、加锁规则如何判断等。下面从基础到进阶,一层层拆解。 1. 锁的分类总…

作者头像 李华
网站建设 2026/5/28 6:49:57

PPML 估计 + 一般均衡求解?ge_gravity2 一套 Stata 命令全搞定

温馨提示:若页面不能正常显示数学公式和代码,请阅读原文获得更好的阅读体验。 丁闪闪 (lianxhcn163.com) 曾咏新 厦门大学 (zengyongxinhpe163.com) 提要:本文系统整理了金融大语言模型 (LLM) 研究的核心资源,包括 12 个主流金融数…

作者头像 李华
网站建设 2026/5/28 23:17:11

leetcode 930. Binary Subarrays With Sum 和相同的二元子数组

Problem: 930. Binary Subarrays With Sum 和相同的二元子数组 前缀和,哈希表记录每个和所在的索引i,对goal0分开讨论的,使用前缀和- goal,拿到s prefixSum[i1] - goal;,数可能的子数组个数,并累加 Code …

作者头像 李华
网站建设 2026/6/5 11:09:40

探秘AI教材写作!这些工具能让你的教材生成过程低查重率

在编写教材的过程中,总是能精准触及“慢节奏”带来的种种问题。尽管已经准备好了框架和资料,却总是在内容写作上卡住——一段话反复推敲半个小时,还是觉得表达不够准确;章节间的过渡连接,更是绞尽脑汁也想不出合适的词…

作者头像 李华
网站建设 2026/5/28 16:54:13

四光吊舱多光谱融合技术解析

四光吊舱的多光谱融合,核心在于将可见光、热成像等不同波段的传感器数据进行协同处理和智能分析。这不仅能让你“看见”,更能让你“看透”复杂场景。多光谱融合模块的技术要点这项技术主要围绕硬件集成、算法处理和环境适应三个层面展开,下表…

作者头像 李华
网站建设 2026/6/4 14:16:30

AI写教材就选它!专业工具打造低查重优质教材,提升效率!

许多教材编写者常常感到遗憾:尽管他们精心撰写了教材的正文,但却因为缺少配套资源,导致整体的教学效果大打折扣。课后练习的题型设计需要有层次感,然而常常缺乏新颖的创意;想要制作直观的教学课件,却又没有…

作者头像 李华