Appearance
第07章 网络安全基础与加密原理
前面我们学会了"数据怎么走过去"(TCP/IP)、"网站怎么安全对话"(HTTPS 初探)。 这一章,我们拆开 HTTPS 的外壳,看看"安全"到底是怎么造出来的——从一把钥匙,到一张身份证。
本章目标
学完本章,你应该能够理解:
- 为什么互联网需要加密
- 明文通信存在什么风险
- 对称加密和非对称加密的区别
- HTTPS 为什么安全
- 数字证书和 CA 的作用
- VPN、代理与加密之间的关系
1. 为什么互联网需要安全通信
先回顾互联网的"交通模型":
用户
↓
网络
↓
服务器看起来是"两点一线",但实际上,你的数据从手机到服务器,会经过很多中间节点:
- 家庭路由器:你家的"小区大门"。
- 运营商网络:你所在城市的"主干道"和"邮局"。
- 中间交换设备:跨省跨国的"中转枢纽"。
- 数据中心:服务器所在的"专业小区"。
这意味着:你的数据包会在很多双"眼睛"经过的地方穿梭。
如果数据没有任何保护,就像**"寄出一张没有信封的明信片"**——路上任何经手的人,理论上都能瞟一眼上面写了什么。
所以网络安全要守住三个核心目标:
机密性(Confidentiality)
别人不能看到内容。 就像明信片装进信封,只有收件人拆得开。
完整性(Integrity)
别人不能偷偷修改内容。 就像快递封条完好,你收到时和寄出时一模一样,没被调包。
身份认证(Authentication)
确认对方是真的。 就像你确认站在门口的快递员,确实是这家公司的,而不是冒充的。
生活比喻:
- 机密性 = 你写的情书,只有收信人看得懂。
- 完整性 = 信送到时封口没被人拆过、字没被改。
- 身份认证 = 收信人确实是你要找的那个人,不是骗子顶替。
2. 什么是明文通信
明文,就是"原原本本、谁都能看懂"的内容。
前面第 06 章讲过,普通 HTTP 就是明文通信。当你登录一个只用了 HTTP 的网站:
用户:我要登录
发送:用户名 + 密码
↓
密码 123456(明文)
↓
网络
↓
服务器在"用户 → 网络 → 服务器"这条路上,以下几类角色理论上可能看到你的密码:
- WiFi 管理者:你连的那个公共热点管理员。
- 恶意节点:被黑客控制的中转设备。
- 被攻击的网络设备:本来该正常转发,却被植入了窃听程序。
这就是为什么公共 WiFi 要格外小心——你不知道这条"道路"上,有没有人正贴着窗户偷看。
一句话记住:
HTTP = 明信片(谁经手谁都能读) HTTPS = 加密信封(途中只有密文,拆不开)
3. 什么是加密
先澄清一个误区:加密不是"把数据藏起来",而是"把数据变成别人看不懂的样子"。
加密的基本流程:
明文(看得懂)
↓
加密算法 + 密钥
↓
密文(看不懂)只有拥有正确密钥的人,才能把密文还原成明文。
ASCII 演示:
原文: HELLO
↓(加密)
密文: X7#K9@
↓(解密,需要正确密钥)
原文: HELLO密码学的核心,其实就是两样东西:
- 算法:怎么打乱数据的一套公开规则(像"密码锁的构造原理")。
- 密钥:打开这把锁的具体密码(像"那串只有你知道的密码")。
算法可以公开,但密钥必须保密——锁的原理大家都懂,没钥匙照样打不开。
4. 对称加密
对称加密:加密和解密,用的是同一把密钥。
生活比喻:两个人各配了一把相同的钥匙,都能开同一把锁。你把信锁进盒子,朋友用同款钥匙打开。
流程:
发送方:明文 → 用密钥加密 → 密文
接收方:密文 → 用密钥解密 → 明文优点:
- 快:算法效率高,适合加密大量数据(比如一整个视频、一整页网页)。
- 简单:只管理一把钥匙。
缺点:
- 密钥怎么安全送给对方? 这是致命难题——如果两把相同的钥匙要通过网络寄给对方,而寄的过程中被截获,那加密就形同虚设。
为什么互联网不能只靠对称加密? 因为"怎么把同一把密钥 safely 交给对方"本身就是一个没解决的问题。你总不能把钥匙也明文发过去吧?
常见算法:AES(目前最主流的对称加密标准之一)。本章不深入数学,你只要知道"它快、它用同一把钥匙"即可。
5. 非对称加密
为了解决"密钥怎么送"的难题,出现了非对称加密——它有两把不同的钥匙。
重点章节,务必理解:
- 公钥(Public Key):可以公开给任何人,谁都能拿它来加密。
- 私钥(Private Key):只有主人自己持有,绝对保密,用来解密。
生活比喻——邮箱:
- 公开地址(公钥):就像你公布的小区门牌号,谁都能往这个地址寄信。
- 只有主人有的钥匙(私钥):只有你能打开自己信箱取信。
流程:
任何人:拿到服务器的公钥
↓
用公钥加密信息
↓
发往服务器
↓
服务器用私钥解密(只有它能解)ASCII:
客户端
↓ 获取服务器公钥
↓ 用公钥加密信息
↓ 发送密文
服务器 ← 用私钥解密关键点:
- 公钥可以大大方方公开,泄露了也不怕(别人最多用它给你加密,解不开)。
- 私钥必须像命根子一样保护好,一旦泄露,别人就能冒充你、读你的信。
常见算法:RSA、ECC(椭圆曲线,更短密钥、更高效率)。不深入数学细节。
6. 对称加密与非对称加密为什么组合使用
很多人会问:"那互联网到底用哪种?"答案是:不二选一,而是组合。
原因很现实:
- 非对称加密:安全(公钥随便发),但慢,不适合加密大量数据。
- 对称加密:快,适合海量数据,但密钥难安全传递。
于是 HTTPS 的聪明做法是:
第一步:用非对称加密,安全地"商量"出一把临时对称密钥
↓
第二步:双方都用这把对称密钥,开始高速加密通信ASCII:
客户端
↓ 非对称加密交换密钥
↓ 建立起安全通道
↓ AES 对称加密高速传输数据
服务器一句话:用非对称加密解决"怎么安全交换钥匙",用对称加密解决"之后怎么快速传数据"。各取所长。
7. HTTPS 工作原理
把上面几节拼起来,看打开一个 HTTPS 网站时发生了什么:
- 浏览器访问网站(输入 https:// 开头的地址)。
- 服务器发送数字证书(里面含它的公钥和身份信息)。
- 浏览器验证证书(确认这证书是可信机构发的、且确实属于这个网站)。
- 建立加密连接(双方用非对称方式协商出对称会话密钥)。
- 开始安全通信(之后全部用对称加密高速传输)。
ASCII:
浏览器
↓ 你好,我要访问网站
服务器
↓ 返回我的数字证书(含公钥)
浏览器
↓ 验证证书身份
↓ 建立加密通道
↓ 开始安全访问网页地址栏那个小锁是什么意思? 它代表:当前连接通过了证书验证、数据是加密传输的。没有锁(或锁上有叉),就意味着你正用明文或不可信连接访问,要警惕。
8. 什么是数字证书
数字证书就是网站的"身份证"。
它里面记着:
- 网站名称(比如 example.com)。
- 公钥(别人用来给你加密的那把公开钥匙)。
- 有效时间(什么时候过期)。
- 签发机构(谁发的这个证)。
生活比喻:就像你的身份证——上面有你的名字、照片、有效期,还有发证机关公章。
为什么需要"第三方证明"? 因为光自己说"我是 example.com"没用,谁都可以印一张假证。必须由一个大家都认的权威机构来"盖章认证",别人才能信。
9. 什么是 CA 机构
CA = Certificate Authority(证书颁发机构)。
它的作用就一件事:核实网站身份,然后给它签发数字证书。
生活比喻:CA 就像公安局出入境制证中心——你提交材料,它核实"你确实是你",然后发给你一张带公章、全国通用的身份证。浏览器出厂时就预存了一批受信任 CA 的"公章样本",所以看到这些 CA 签的证,就认。
常见 CA:
- Let's Encrypt:免费、自动化,很多网站用它。
- DigiCert:老牌商业 CA,大机构常用。
(本章不展开商业细节,你只需记住:CA 是"发证机关",浏览器信任它。)
10. 什么是中间人攻击(MITM)
重点:这是加密要防的核心威胁。
"中间人攻击"就是——攻击者悄悄插到你和网站中间,假装是网站、也假装是你。
正常情况:
用户
↓
网站(真实)被攻击时:
用户
↓
攻击者(冒充网站)
↓
网站(真实)攻击者夹在中间,可能:
- 偷看:读取你发的账号密码。
- 修改:把你要访问的银行页面换成假的。
- 假冒:骗你说"我就是那个网站"。
HTTPS 怎么防住它? 靠第 8、9 节的机制——攻击者即使截获了流量,没有网站的私钥就解不开;更要紧的是,浏览器会验证证书:如果攻击者拿不出真实网站的有效证书,浏览器立刻报警"证书不受信任"。
特别强调:没有证书验证,光"加密"也可能会被騙。加密只解决"别人看不懂",但身份认证才能解决"对方到底是不是真的"。两者缺一不可。
11. VPN、代理与加密有什么关系
这是本章目标和前面几章的汇合点。
先说清楚两个概念:
- 普通代理:只改变你的访问路径(让你的请求先经过另一台服务器再出去),但它不 automatically 给你加密。
- VPN:在你和远程网络之间,建立一条加密隧道,整段流量都被加密保护。
关键认知:代理 ≠ 自动安全。 一个没加密的代理,只是把"谁来看你的流量"从运营商换成了代理服务器而已。
那各方到底能看到什么?按前面课程的逻辑拆解:
运营商(你的网络提供商)
通常能看到:
- 你连接的时间
- 流量大小(传了多少数据)
- 目标服务器地址(取决于是否加密;用 HTTPS 时,它知道你连了哪个网站,但看不出具体页面内容)
代理服务器
可能看到:
- 你的连接来源
- 你请求的目标
- 未加密的内容(如果你的流量本身没加密,代理一眼就能读)
HTTPS 保护的是什么?
保护**"用户到网站之间"这一段的网页数据**——让途中的运营商、路由器、代理都只能看到密文。
最重要的一句话:
不要把 "能访问" 等同于 "安全"。
能打开网页,只说明路径通了;数据有没有被加密、有没有被冒充,是另一回事。加密(HTTPS)和通道(VPN/代理)是两件事,别混为一谈。
12. 为什么理解加密对普通人重要
这些不是程序员专利,而是你每天都在用的东西背后:
- 登录银行:靠 HTTPS + 证书,确保你的账号密码不被沿途窃取。
- 使用微信:消息端到端加密,别人截获也读不懂。
- 使用邮箱:邮件传输靠 TLS 加密。
- 使用 ChatGPT:对话走 HTTPS,内容受保护。
- 使用 VPN:靠加密隧道保护整段流量。
- 使用云服务:你存的文件在传输和存储时都经加密。
- 使用 NAS:远程访问自家存储,同样依赖加密通道防止被偷看。
一句话:现代互联网的安全,底层全建立在密码学之上。懂了加密,你才真正明白"为什么在网吧输密码会危险""为什么小锁图标很重要""为什么免费代理未必安全"。
本章总结
把安全这条线串起来:
身份认证(确认对方是真的)
↓
数字证书(网站的身份证)
↓
HTTPS / TLS(用证书建立加密)
↓
加密通信(数据变密文)
↓
安全访问(放心用网)四类概念一句话区分:
- HTTP = 通信(明文,像明信片)
- HTTPS = 安全通信(加密 + 身份认证,像密封信封)
- VPN = 安全传输通道(整段流量加密隧道)
- 代理 = 访问路径控制(改道,但不一定加密)
下一章预告
👉 前往 第08章 VPN、代理与科学上网原理
下一章标题:第08章 VPN、代理与科学上网原理
预告内容:
- 什么是代理服务器
- 什么是 VPN
- VPN 与代理的区别
- Shadowsocks 原理
- V2Ray / Xray 原理
- 节点是什么
- 为什么 VPN 会失效
- 自建 VPS 为什么更稳定
- 运营商、防火墙、代理之间的关系