第 1 篇:TLS 安全的基础——你必须知道的密码学常识

发布时间:2026/9/6 3:30:02

第 1 篇:TLS 安全的基础——你必须知道的密码学常识
第 1 篇TLS 安全的基础——你必须知道的密码学常识标签#网络安全#密码学#TLS#HTTPS为什么你的网站需要 HTTPSChrome 对所有 HTTP 网站强制标注「不安全」已经好几年TLS 1.0/1.1 早已被所有主流浏览器禁用2026 年 TLS 1.3 是绝对的主流——Cloudflare、Akamai 的数据显示 TLS 1.3 占比超过 60%很多网站甚至超过 90%。但真正理解 HTTPS 在保护什么的人并不多。这一篇我们聊最底层的事HTTPS 的密码学基石。不写数学公式只讲每个开发者都必须理解的 6 个核心概念。密码学的六大构件TLS 本身并不神秘——它只是把一些基础的密码学构件巧妙地组合在一起。理解这些构件你就理解了 TLS 的一半。1. 散列函数Hash——数据的「指纹」想象一个魔法盒子无论你丢进去的是 1 KB 的文本还是 10 GB 的视频它都吐出一个固定长度的字符串——这就是散列值digest。密码学散列有三个铁律✅相同的输入永远产生相同的输出确定性✅不同的输入几乎不可能产生相同的输出抗碰撞✅不可逆——你无法从散列值反推原文抗原像冷知识因为「生日悖论」这个概率论现象散列函数的实际强度大约只有输出长度的一半。256 位的 SHA-256抗碰撞强度等价于 128 位安全。MD5 和 SHA-1 已经死了2017 年 Google 用 SHAttered 攻击公开了完整的 SHA-1 碰撞任何还在用 SHA-1 做数字签名或证书的系统都该立刻升级。常用算法SHA-256 / SHA-384 / SHA-3。2. 消息认证码MAC / HMAC——带钥匙的指纹散列有个致命弱点它防篡改的前提是散列值和数据分开传输。如果攻击者同时改数据 改散列你就完全察觉不到。HMAC 的解法在计算散列时混入一个只有你和服务器知道的密钥。没有密钥攻击者就算改了数据也伪造不出合法的 MAC 值。方案能否检测篡改前提单纯散列❌ 不能假设散列能被独立验证HMAC✅ 能双方共享密钥血泪教训加密 ≠ 完整性。加密只能让 Mallory「看不懂」消息但她完全可以「盲改」密文诱使接收方解密出她想要的内容。所以加密和 MAC 必须一起用——这就是后面要讲的 AEAD。3. 分组密码——固定大小的加密盒子分组密码一次加密一整块数据通常是 128 位 16 字节。AES是绝对的业界标准支持 128/192/256 位密钥。但分组密码直接拿来用有两个坑数据不够 16 字节怎么办需要填充paddingTLS 的做法是在最后一字节写上「填充长度 N」倒数 N 字节都填上值 N。确定性陷阱相同的明文块总是产生相同的密文块——攻击者一眼就能看出明文的模式这就是著名的「企鹅图」漏洞。解决第二个坑要用「分组密码模式」模式安全性说明ECB电码本❌ 别用一块一加密相同明文 → 相同密文CBC密码块链接⚠️ TLS 1.0~1.2 主力用前一块密文做「扰动」需要随机 IVGCM伽罗瓦计数器✅ 现代首选同时提供加密 完整性性能也好ChaCha20-Poly1305✅ 移动端首选流密码 认证软件实现快冷知识现代 TLS 默认用的AEAD已验证加密模式——GCM 或 ChaCha20-Poly1305——把加密和完整性验证「打包」成一个原语彻底消除了「先加密再 MAC」还是「先 MAC 再加密」的工程歧义。ChaCha20-Poly1305 在没有硬件 AES 加速的移动设备上特别受欢迎。4. 对称加密 vs 非对称加密这是理解 TLS「为什么这么设计」的关键。对称加密非对称加密密钥数量1 把双方共享一对公钥 私钥速度⚡ 极快GB/s 级 慢 100~1000 倍典型算法AES-GCM、ChaCha20RSA、ECDSA、ECDHE适合场景加密大量数据身份验证、密钥协商、签名对称加密的问题是密钥管理N 个人两两通信需要 N×(N-1)/2 把密钥——1000 人就接近 50 万把根本管不过来。TLS 的天才之处在于「混搭」用非对称加密ECDHE安全地协商出一个临时的对称密钥后续所有数据都用对称加密AES-GCM 或 ChaCha20-Poly1305高速传输。两全其美。5. 数字签名——电子世界的「手写签名」HMAC 依赖「双方事先共享密钥」但第一次通信怎么建立信任答案就是数字签名。签名方: digest SHA-256(消息) signature 用私钥加密(digest) 验证方: digest_claimed 用公钥解密(signature) digest_actual SHA-256(消息) 验证通过 ⟺ digest_claimed digest_actual证书里 CA 给你盖的章、代码签名里软件作者盖的章本质都是这个流程。冷知识RSA 既能加密也能签名但 ECDSA 只能签名——它依赖其他机制完成加密。如今越来越多的证书改用ECDSA而非 RSA因为 ECDSA 签名短64 字节 vs 256 字节、验签快特别适合移动端。6. 随机数——安全性的命脉TLS 的所有安全性归根结底都依赖随机数的质量。因为密钥本质上就是一个「非常长的随机数」。计算机是很笨的你让它rand()它输出的「随机数」对密码学来说根本不够随机。真正的随机性只能从物理世界采集键盘按键间隔鼠标移动轨迹硬盘寻道抖动麦克风 / 摄像头噪声这些统称为熵entropy。系统收集熵后用PRNG伪随机数生成器扩展出大量「看似随机、实际可重现」的数用于密码学的 PRNG 还要满足不可预测性。真实翻车案例2006 年 Debian OpenSSL开发者清理代码时误删了随机数种子调用整个发行版的 SSH 密钥空间从 2^128 缩小到 2^15攻击者几小时就能穷举。嵌入式设备熵不足路由器、摄像头启动后没有键盘鼠标可用熵极少如果不妥善处理生成的密钥强度会大打折扣。威胁模型你的对手是谁不理解攻击者能做什么就不知道 TLS 在保护你什么。被动攻击——「窃听者 Eve」能力只能看不能改典型场景公共 Wi-Fi 嗅探、运营商流量镜像、政府的「上游监听」2013 斯诺登事件揭露 GCHQ 曾记录英国几乎全部互联网流量TLS 的作用让 Eve 看到的只有密文关键洞察TLS 不能隐藏你的 IP 和域名SNI 曾经是明文的ECHEncrypted Client Hello现在能解决但它能让密文在 10 年后仍是密文——前提是用了前向保密。主动攻击——「捣乱者 Mallory」能力可以修改、丢弃、注入消息典型场景中间人攻击MITM、DNS 劫持、BGP 路由劫持、ARP 欺骗TLS 的作用通过身份验证证书完整性MAC/AEAD让 Mallory 无法伪装主动攻击威力大但难规模化——每个目标都要单独投入。所以它主要用于高价值目标如 NSA 的QuantumInsert项目对特定浏览器发起漏洞利用。攻击类型难度规模TLS 防御手段被动窃听低极大加密 前向保密主动 MITM高较小证书 证书透明度 HSTS给开发者的三条建议① 不要自己设计加密协议密码学是一门专业到反直觉的学科。「稍微改一下 RSA 的填充方式」「在握手里加一个 nonce」——听起来无害几乎必然会引入致命漏洞。规则用标准协议TLS 1.2/1.3、用成熟库OpenSSL、BoringSSL、Go crypto/tls、Python cryptography绝不直接调算法。② 启用前向保密Forward SecrecyRSA 密钥交换有一个致命缺陷服务器私钥一旦泄露攻击者可以解密所有历史流量——只要他当时记下了密文。前向保密通过「每会话一个临时密钥」解决这个常用算法是ECDHE椭圆曲线 Diffie-Hellman 临时密钥。TLS 1.3 已经强制前向保密——任何静态密钥交换都被删除。真实教训斯诺登使用的 Lavabit 邮件服务不支持前向保密FBI 拿到服务器 RSA 私钥后直接解密了他所有历史邮件。这个事故直接推动了整个行业向前向保密迁移。配置检查# Nginx 推荐配置已启用前向保密 TLS 1.3 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305; ssl_prefer_server_ciphers on;③ 128 位安全是底线「位数」就是攻击者要执行的操作次数。128 位意味着 2^128 次操作——目前的计算机宇宙寿命内也跑不完。强度对称密钥RSA / DH椭圆曲线适用场景80 位AES-801024160❌ 已淘汰112 位AES-1282048224✅ 当前最低推荐128 位AES-1283072256✅✅ 大多数场景足够256 位AES-25615360512长期保密、量子防御大多数场景128 位AES-128、EC-256、RSA-3072足够需要 10~30 年保密上 256 位担心未来量子计算机威胁关注 ML-KEMKyber等后量子算法浏览器和主流 CA 已经在灰度部署。延伸阅读Bulletproof TLS and PKI — Ivan Ristić业界公认的 TLS 圣经NIST SP 800-57 — 密钥管理的「圣经」keylength.com — 各家推荐密钥长度的对照表《Understanding Cryptography》 — Christof Paar Jan Pelzl密码学入门首选

相关新闻

【保姆级教程】Codex 是什么?从下载安装到用 CC Switch 一键切换到 DeepSeek

【保姆级教程】Codex 是什么?从下载安装到用 CC Switch 一键切换到 DeepSeek

2026/9/6 3:30:02

【保姆级教程】Codex 是什么?从下载安装到用 CC Switch 一键切换到 DeepSeek(Windows / macOS) 适合人群:想用 OpenAI Codex 做 AI 编程,但没有 ChatGPT 账号、注册受海外手机号限制,或嫌官方 API 太贵的开…

用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战

用Skill给AI安排岗位:30+技能归并成8个角色的AI团队实战

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战

Scout Bowie:基于Sleeper API的梦幻体育选秀与阵容优化实战

2026/9/6 3:20:01

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

WrenAI实战:从语义模型到自然语言查数的完整指南

WrenAI实战:从语义模型到自然语言查数的完整指南

2026/9/6 4:30:04

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

基于asp的义工活动网站[ASP]-计算机毕业设计源码+LW文档

基于asp的义工活动网站[ASP]-计算机毕业设计源码+LW文档

2026/9/6 4:30:04

摘要‌:随着社会的进步和公民意识的提升,义工活动在社会发展中扮演着越来越重要的角色。为了提高义工活动的组织效率、方便义工参与活动以及加强社会对义工活动的认知与支持,设计并开发一个基于ASP的义工活动网站具有重要的现实意义。本文详细…

文献综述借助gpt辅助

文献综述借助gpt辅助

2026/9/6 4:30:04

第一步喂给ai提示词题目[XXXX]我后边要写一下我论文的文献综述,目录如下,你先储存一下:一、研究背景与目的二、文献梳理与分析三、研究现状总结与评述四、参考文献叫ai记住第二步我们先写“二、文献梳理与分析部分”,请基于我稍后…

RFID智能钥匙柜产品介绍 + 核心控制代码方案

RFID智能钥匙柜产品介绍 + 核心控制代码方案

2026/9/6 4:30:04

一、产品简介 聚澜智能钥匙柜是一款软硬件一体化物联网钥匙管控设备,依托RFID 射频识别、生物识别、云端管理平台、电磁锁控技术,彻底替代传统纸质登记钥匙管理模式,实现钥匙借还全自动、权限分级管控、存取全程留痕可追溯聚澜智能。 柜体采…

软件项目版本封存指南:从代码标记到最终发布的完整流程

软件项目版本封存指南:从代码标记到最终发布的完整流程

2026/9/6 4:30:04

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026年AI UI设计工具深度对比:Figma、Motiff妙多等四款实测

2026年AI UI设计工具深度对比:Figma、Motiff妙多等四款实测

2026/9/6 4:20:04

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/6 1:19:56

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/6 1:19:56

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

远程协作的工作台整理

远程协作的工作台整理

2026/9/3 6:56:24

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/5 23:14:13

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…