2. 常见密钥类型:对称密钥、非对称密钥、会话密钥、主密钥归纳总结
说实话,干审计和渗透这些年,我最怕遇到一种情况:审了半天密钥体系,发现团队连「手里拿的是什么钥匙」都没搞清。密钥类型搞混,越权穿透就是迟早的事。今天咱们就把四种最核心的密钥类型掰开揉碎讲清楚。
2.1 对称密钥
对称密钥,说白了就是一把钥匙开一把锁。加密和解密用同一个密钥。你想想看,A想给B发密文,双方得提前商量好同一个密钥。一旦有人拿到这把钥匙,整个通信就裸奔了。
- 常见算法:AES、DES、3DES、SM4
- 优点:加解密速度快,适合大数据量
- 致命弱点:密钥分发难。你怎么安全地把密钥送给对方?
2.2 非对称密钥
非对称密钥就好比一把公锁和一把私锁。公钥到处发,私钥自己藏。别人用你的公钥加密,只有你能用私钥解开。反过来,你用私钥签名,别人用你的公钥验证身份。
- 常见算法:RSA、ECC(椭圆曲线)、SM2
- 优点:解决了密钥分发问题
- 缺点:慢。加解密大数据量时简直要命
2.3 会话密钥
为什么需要会话密钥?我举个例子:你每次打开HTTPS网站,浏览器和服务器都会临时生成一个对称密钥,只在当前会话里用。用完就扔。这就是会话密钥——临时、一次性、用完即焚。
- 典型场景:TLS握手、SSH连接、VPN通道
- 生成方式:通常用非对称密钥协商出对称会话密钥(混合加密)。
- 生命周期:一次会话存活期间有效,会话结束立即销毁。
我个人习惯把会话密钥比作「临时密码」。你去健身房用储物柜,前台给你一张临时手环,走的时候退还。攻击者就算偷到手环,也只能在你运动期间开你的柜子,事后就没用了。
2.4 主密钥
主密钥是密钥体系里的“根”。它长期存在,用来派生其他密钥。比如在HSM(硬件安全模块)里,主密钥存储在芯片中,从不离开设备。其他工作密钥都由主密钥派生出来。
- 典型场景:
- TLS中利用主密钥派生出会话密钥和MAC密钥
- 数据库加密中,主密钥用来加密表级密钥或列级密钥
- KMS(密钥管理系统)里的根密钥
- 保护要求:必须物理隔离,不能网络传输,定期轮换(但频率低)。
重点理解:主密钥≠万能钥匙。它只用来派生子密钥,不直接加密业务数据。一旦主密钥泄露,所有派生密钥都不可信——整条链就崩了。
2.5 四种密钥对比
| 类型 | 加解密方 | 生命周期 | 典型算法 | 常见风险 |
|---|---|---|---|---|
| 对称密钥 | 双方相同 | 长期或一次会话 | AES, SM4 | 密钥分发泄露、硬编码 |
| 非对称密钥 | 公/私钥对 | 长期 | RSA, ECC, SM2 | 私钥未保护、证书伪造 |
| 会话密钥 | 双方相同(临时) | 单次会话 | AES(由协商协议派生) | 生成不够随机、会话复用攻击 |
| 主密钥 | 仅需保护方持有 | 长期(轮换频率低) | 由HSM/KMS内部实现 | 物理泄露、派生链路设计不当 |
2.6 密钥关系与生命周期思维导图
下面这张图我手绘了四种密钥的核心关系。信息流:主密钥派生会话密钥和对称密钥;非对称密钥参与会话密钥的协商;所有密钥最终都会进入销毁阶段。审计时盯着这张图,一眼就能看出哪条链可能有越权风险。
2.7 审计视角的检查清单
以上四种密钥类型,在实际渗透中每一环都可能成为越权穿透的突破口。我习惯在审计时拿着下面这份清单逐项过:
- 主密钥在哪?是否存放在HSM或专用安全区域?有没有人能通过程序调出主密钥明文?
- 非对称私钥的访问控制怎么做?有没有私钥密码保护?是否定期轮换?
- 会话密钥的生成是否使用了安全的随机数生成器?我看到过项目直接拿时间戳当会话密钥,简直胡来。
- 对称密钥的分发是否有加密保护?是不是通过非对称密钥来封装传输的?
- 销毁路径是否可追溯?密钥生命周期结束后有没有被立即覆写或丢弃?
记住一句话:密钥本身没有好坏之分,看你怎么用。主密钥丢了一个国家级的系统都可能崩;对称密钥硬编码,内网渗透五分钟就拿下。这四种类型你只要理清它们的「血缘关系」,审计报告里一针见血指出漏洞就简单多了。
好了,这次先聊到这。后面我们会逐个深入,用真实的越权穿透案例演示每种密钥在实际环境里是怎么被攻破的。不过今天先把底子打好,不然后面看到「会话密钥复用」这种坑,你都不知道它属于哪一类。