第9章:网络安全(Network Security)
一、导读
9.1 本章学习目标
网络安全是互联网的核心挑战。本章讲解密码学基础、安全协议、以及网络安全实践。
本章的核心学习目标包括:
- 掌握密码学基础:对称加密、公钥加密、数字签名、哈希
- 理解 SSL/TLS:安全传输层协议
- 掌握 IPsec:网络层安全
- 理解防火墙和 IDS:网络安全设备
- 了解常见攻击:DDoS、中间人攻击、钓鱼
9.2 为什么网络安全如此重要
网络安全关系到个人隐私、企业数据、国家安全。理解网络安全的基本原理,对于开发安全应用、保护数据至关重要。
二、核心概念详解
2.1 密码学基础
2.1.1 对称加密
加密和解密使用相同的密钥。
- DES:56 位密钥,已不安全
- AES:128/192/256 位密钥,目前安全
明文 → 加密(密钥K)→ 密文 → 解密(密钥K)→ 明文优点:速度快
缺点:密钥分发困难
2.1.2 公钥加密
加密和解密使用不同的密钥:公钥加密,私钥解密。
- RSA:基于大数分解
- ECC:基于椭圆曲线
明文 → 加密(公钥)→ 密文 → 解密(私钥)→ 明文优点:解决密钥分发问题
缺点:速度慢
2.1.3 数字签名
发送方用私钥签名,接收方用公钥验证。
消息 → 哈希 → 签名(私钥)→ 验证(公钥)→ 哈希比对功能:身份认证、不可否认性
2.1.4 哈希函数
将任意长度的消息映射为固定长度的摘要。
- MD5:128 位,已不安全
- SHA-1:160 位,已不安全
- SHA-256:256 位,目前安全
特性:单向性、抗碰撞
2.2 SSL/TLS
SSL/TLS 为应用层提供安全传输。
2.2.1 TLS 握手过程
客户端发送 ClientHello(支持的密码套件)
服务器发送 ServerHello(选择的密码套件)、证书
客户端验证证书,生成预主密钥,用服务器公钥加密
服务器用私钥解密,得到预主密钥
双方根据预主密钥生成会话密钥
后续通信使用会话密钥加密
2.2.2 TLS 记录协议
将数据分片、压缩、计算 MAC、加密后发送。
2.3 IPsec
IPsec 在网络层提供安全服务。
2.3.1 AH(认证头)
提供数据源认证和完整性保护,不提供加密。
2.3.2 ESP(封装安全载荷)
提供加密、认证和完整性保护。
2.3.3 工作模式
- 传输模式:只加密载荷
- 隧道模式:加密整个 IP 包
2.4 防火墙
防火墙控制网络之间的访问。
2.4.1 包过滤防火墙
根据 IP 地址、端口号、协议过滤分组。
2.4.2 状态检测防火墙
跟踪连接状态,只允许合法的分组通过。
2.4.3 应用层防火墙
深度检查应用层协议,阻止恶意内容。
2.5 IDS(入侵检测系统)
IDS 监控网络流量,检测可疑活动。
- 基于签名:匹配已知攻击模式
- 基于异常:检测偏离正常行为的活动
三、重要知识点
3.1 证书和 PKI
证书将公钥与身份绑定,由 CA(证书颁发机构)签发。
证书内容:
- 主体公钥
- 主体信息
- 颁发者
- 有效期
- 签名3.2 常见网络攻击
| 攻击类型 | 描述 | 防御 |
|---|---|---|
| DDoS | 分布式拒绝服务 | 流量清洗、CDN |
| 中间人攻击 | 截获并篡改通信 | TLS、证书验证 |
| 钓鱼 | 伪装成可信实体 | 用户教育、SPF/DKIM |
| SQL 注入 | 注入恶意 SQL | 参数化查询 |
| XSS | 注入恶意脚本 | 输入过滤、输出编码 |
3.3 WiFi 安全
- WEP:已不安全
- WPA:使用 TKIP
- WPA2:使用 AES-CCMP,目前安全
- WPA3:最新标准,更安全
四、常见误区与难点
4.1 误区一:"HTTPS 就是安全的"
HTTPS 只保证传输安全,如果服务器被入侵、证书被伪造,仍然不安全。
4.2 误区二:"密码越长越安全"
密码的安全性取决于熵(随机性),不仅仅是长度。
4.3 难点:理解 TLS 握手过程
TLS 握手涉及多个密码学概念,需要理解公钥加密、数字签名、密钥交换等。
五、实践应用
5.1 使用 openssl 生成证书
# 生成私钥
openssl genrsa -out key.pem 2048
# 生成证书请求
openssl req -new -key key.pem -out csr.pem
# 自签名证书
openssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem5.2 使用 curl 测试 HTTPS
# 查看证书信息
curl -vI https://www.google.com
# 忽略证书验证(测试用)
curl -k https://self-signed.example.com5.3 使用 nmap 扫描端口
# 扫描开放端口
nmap target_ip
# 扫描特定端口
nmap -p 80,443 target_ip六、本章小结
第9章讲解了网络安全:
对称加密 速度快,但密钥分发困难
公钥加密 解决密钥分发问题,但速度慢
数字签名 提供身份认证和不可否认性
TLS 为应用层提供安全传输
IPsec 在网络层提供安全服务
防火墙和 IDS 保护网络安全
后续章节将讲解网络管理。