加密基础理论:对称加密与非对称加密、哈希函数与数字签名、密钥管理基础
聊备份加密,得先把底层的加密原理搞清楚。我见过不少团队,加密算法选得挺高级,结果密钥直接硬编码在脚本里——那加密跟没加密其实没啥区别。这一章咱们就把对称加密、非对称加密、哈希函数、数字签名,还有密钥管理这些基础概念过一遍。别嫌枯燥,这些是后面所有合规方案的地基。
对称加密:又快又简单,但密钥怎么传?
对称加密,说白了就是加密和解密用同一把钥匙。你拿钥匙锁上保险柜,别人拿同一把钥匙打开。效率高,适合加密大量数据——备份文件动不动几个TB,用对称加密是主流选择。
我个人的习惯是,在备份场景里首选 AES-256。为什么?因为它是目前业界公认的黄金标准,NIST(美国国家标准与技术研究院)认证过,各种合规审计基本都认它。
| 算法 | 密钥长度 | 典型场景 | 我的评价 |
|---|---|---|---|
| AES | 128 / 192 / 256 bit | 文件加密、磁盘加密、数据库加密 | 首选,合规审计基本都认 |
| DES | 56 bit | 历史遗留系统 | 别用了,早被破解了 |
| 3DES | 112 / 168 bit | 老旧金融系统 | 性能差,逐步淘汰中 |
| SM4 | 128 bit | 国内合规场景 | 国标,过等保时可能需要 |
非对称加密:公钥私钥,天生一对
非对称加密就聪明多了。它有两把钥匙:一把公开(公钥),一把私藏(私钥)。公钥加密的数据,只有私钥能解开;反过来,私钥签名的东西,公钥能验证真伪。
但代价是慢。比对称加密慢几百倍甚至上千倍。所以实际工程里,没人拿非对称加密去加密几个TB的备份文件——那得等到天荒地老。
那非对称加密在备份里干嘛用?两个核心场景:加密对称密钥和数字签名。
举个例子,我在设计一个跨机房备份方案时,就用RSA公钥加密了AES密钥,然后把加密后的密钥和备份文件一起传输。接收方用私钥解开AES密钥,再用AES密钥解密文件。这样既解决了密钥分发问题,又保证了加解密性能。
| 算法 | 密钥长度 | 典型用途 | 注意点 |
|---|---|---|---|
| RSA | 2048 / 4096 bit | 密钥加密、数字签名 | 2048位以下已不安全 |
| ECC(椭圆曲线) | 256 / 384 bit | 移动端、IoT设备 | 同等安全强度下密钥更短 |
| SM2 | 256 bit | 国密合规场景 | 国内等保、密评必备 |
哈希函数:不是加密,但比加密还常用
哈希函数跟加密不一样。加密是可逆的,哈希是不可逆的。你把文件扔进哈希函数,出来一串固定长度的摘要。哪怕文件只改了一个bit,摘要就完全变了样。
在备份场景里,哈希函数主要干三件事:
- 完整性校验:备份完算个哈希,恢复时再算一次,对得上说明文件没坏。
- 去重:计算每个数据块的哈希,哈希相同说明内容相同,只存一份。
- 密码存储:虽然跟备份关系不大,但备份系统的管理密码也得这么存。
常用的哈希算法有SHA-256、SHA-3。MD5和SHA-1就别用了——碰撞攻击已经可行了。我记得有一次做数据完整性审计,客户还在用MD5校验备份文件,我直接建议他们全部换成SHA-256。
数字签名:证明"谁"写了"什么"
数字签名 = 哈希 + 非对称加密。流程是这样的:
- 对文件算哈希,得到摘要。
- 用私钥加密这个摘要,得到签名。
- 把签名和文件一起发出去。
- 接收方用公钥解密签名,得到摘要A。
- 接收方自己算文件的哈希,得到摘要B。
- A == B?说明文件没被改,而且确实是私钥持有者签的。
在备份合规里,数字签名用来做不可否认性——你没法抵赖说"这个备份不是我做的"。这在金融、医疗等强监管行业是刚需。
密钥管理基础:加密的命门
算法再强,密钥泄露了全白搭。密钥管理是加密体系里最容易被忽视、也最容易出问题的一环。
我总结了几条密钥管理的铁律:
- 密钥分层:主密钥加密密钥加密密钥,层层保护。别用一把钥匙开所有锁。
- 密钥轮换:定期换密钥。我建议至少每90天轮换一次备份加密密钥。
- 密钥备份:密钥丢了,数据就永远打不开了。但备份密钥本身也要加密存储。
- 访问控制:谁能用密钥?谁不能?要有严格的权限管理。
- 审计日志:每次密钥使用都要记录,出了问题能追溯。
本章知识体系
下面这张图把本章的核心概念串起来了。你可以看到对称加密、非对称加密、哈希函数各自的位置,以及它们如何组合成数字签名和混合加密方案。