教学目标
📖 课前导入
你在网上银行转账时,输入的密码如何确保不被人偷看?浏览器地址栏的🔒小锁到底意味着什么?
答案就是加密技术——即使数据被截获,攻击者也只能看到一堆乱码。加密是HTTPS、VPN、SSH等一切安全通信的基石。
🎯 本课目标:理解对称/非对称加密的原理与区别,掌握HTTPS混合加密握手过程,了解数字签名和数字证书的作用,认识VPN的类型和应用场景,能用命令查看网站证书信息。
📚 一、加密基础概念
明文
Hello World
+ 密钥
→ 加密 →
密文
7g$kP@!xQ2
+ 密钥
→ 解密 →
明文
Hello World
明文(Plaintext)
原始的、可读的数据。如你输入的密码"abc123"。
密文(Ciphertext)
加密后不可读的数据。如"7g$kP@"。没有密钥无法还原。
密钥(Key)
加密/解密的"钥匙"。密钥越长越安全(128位、256位等)。
安全核心原则
加密算法可以公开(AES、RSA都是公开的),安全性完全取决于密钥的保密性。这就是Kerckhoffs原则——不要依赖算法保密,要依赖密钥保密。
📚 二、对称加密与非对称加密 ⭐核心
🔑 对称加密——一把钥匙
加密和解密使用同一把密钥。
优点:速度极快,适合加密大量数据(视频流、文件传输)
缺点:密钥分发问题——怎么安全地把密钥给对方?当面交换?
发送方 —— 同一把密钥K —— 接收方
像一把锁配一把钥匙,双方各拿一把
常用算法:
AES-256 ✅(现代标准)、DES(56位,已破解)、3DES(过渡方案)
🔐 非对称加密——一对钥匙
使用一对密钥:公钥加密,私钥解密。
优点:公钥可以公开发给任何人,解决密钥分发问题
缺点:速度慢(比对称加密慢100~1000倍),不适合大数据
公钥🔓(公开给所有人) + 私钥🔑(只有自己保密)
像信箱:谁都能投信(公钥),只有主人能开箱(私钥)
常用算法:
RSA-2048(经典)、ECC ✅(更短密钥同等安全)
| 对比项 | 对称加密 | 非对称加密 |
|---|---|---|
| 密钥数量 | 1把(共享) | 2把(公钥+私钥) |
| 速度 | 极快 | 慢(100~1000倍) |
| 密钥分发 | 困难(需要安全通道) | 简单(公钥可公开) |
| 适用场景 | 大量数据加密 | 密钥交换、数字签名 |
| 代表算法 | AES、3DES | RSA、ECC |
实际应用:HTTPS混合加密握手 ⭐
HTTPS使用混合加密——用非对称加密安全交换对称密钥,然后用对称密钥加密数据。兼顾安全和性能。
// TLS 1.2 握手简化流程:
1. 客户端 → 服务器: ClientHello(支持的加密算法列表)
2. 服务器 → 客户端: ServerHello + 数字证书(含公钥)
3. 客户端验证证书 → 生成随机对称密钥
4. 客户端 → 服务器: 用公钥加密对称密钥发送
5. 服务器用私钥解密 → 得到对称密钥
6. 双方用对称密钥(AES)加密所有后续通信 🔒
📚 三、数字签名与数字证书
✍️ 数字签名
用发送方的私钥对数据哈希值加密,接收方用发送方公钥验证。
身份认证:确认数据确实来自发送方
完整性:数据未被篡改(哈希值匹配)
不可否认:发送方不能否认发送过
注意:数字签名不加密数据,签名后数据仍可读。
📜 数字证书(X.509)
由CA(证书颁发机构)签发,把公钥和身份绑定在一起。
包含:域名、公钥、CA签名、有效期、颁发者
解决:"这个公钥真的属于baidu.com吗?"
常见CA:DigiCert、Let's Encrypt(免费)、GlobalSign
浏览器地址栏的🔒 = 证书有效且受信任
哈希函数——数据的"指纹"
将任意长度数据转为固定长度哈希值。即使改一个字节,哈希值完全不同(雪崩效应)。
SHA-256("Hello") = 185f8db3...
SHA-256("Hello.") = a9955f3f... ← 只加了一个点,完全不同
📚 四、VPN虚拟专用网络
什么是VPN?
VPN(Virtual Private Network)通过加密技术在公共网络上建立一条安全的"隧道"。数据在隧道中是加密的,外部无法窃听。
类比:在公共马路上建了一条不透明的管道,只有管道两端的人能看到里面的货物。
🏠 远程访问VPN
员工在家/出差通过VPN客户端连接公司内网,像在办公室一样访问内部系统。
场景:居家办公、出差访问OA/ERP
🏢 站点到站点VPN(Site-to-Site)
总部和分公司路由器之间建立VPN隧道,两端员工互相访问对方网络。
场景:分支机构互联,替代昂贵的专线
🌐 站点到站点VPN示意图
数据在两个路由器之间通过IPSec加密隧道传输,即使经过公网也无法被窃听。
| VPN协议 | 工作层 | 特点 | 典型场景 |
|---|---|---|---|
| IPSec | 网络层 | 安全性强,配置复杂 | 站点到站点VPN |
| SSL/TLS VPN | 传输层 | 浏览器即可使用,部署简单 | 远程访问VPN |
| WireGuard | 网络层 | 新一代,代码精简,性能极高 | 个人/企业VPN |
| L2TP/IPSec | 数据链路层 | 兼容性好,需配合IPSec加密 | 移动设备VPN |
加密技术与HTTPS握手过程
动画演示对称/非对称加密原理、HTTPS TLS握手的完整流程、数字证书验证链,以及VPN隧道建立过程
动画演示对称/非对称加密原理、HTTPS TLS握手的完整流程、数字证书验证链,以及VPN隧道建立过程
✅ 课堂小测
随堂测验
第 1/7 题对称加密和非对称加密的核心区别是什么?
📋 本课小结
对称加密:同一密钥,速度快,密钥分发难。AES-256是现代标准。
非对称加密:公钥/私钥对,解决密钥分发但速度慢。RSA/ECC用于密钥交换。
HTTPS混合加密:非对称交换对称密钥 → 对称加密数据。兼顾安全与性能。
数字签名/证书:签名保证身份+完整性;证书=CA把公钥和身份绑定。
VPN:在公网上建加密隧道。IPSec=站点对站点,SSL VPN=远程访问。
🤔 课后思考与实践
动手实验
- 在浏览器中打开任意HTTPS网站,点击🔒锁图标查看证书信息:颁发者、有效期、加密算法。
- 用
certutil -hashfile 文件名 SHA256计算一个文件的SHA-256哈希值,修改文件一个字节后再次计算对比。 - 尝试访问一个证书过期的网站,观察浏览器的安全警告页面。
思考题
- 如果没有CA机构,HTTPS的安全性会有什么问题?(提示:中间人可以伪造公钥)
- 为什么说"加密算法可以公开,安全性取决于密钥"?这和直觉矛盾吗?
- VPN和HTTPS都能加密通信,它们的应用场景有什么区别?