为什么要用混合加密系统?
基于 非对称加密技术 解决了密钥配送问题,但是非对称加密有两个问题:
- 非对称加密 处理速度不如 对称加密;
- 无法抵御 中间人攻击;(指攻击者与通讯的两端分别建立独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制)
采用混合加密系统,就能完美解决问题1,但无法解决问题2,需要用到证书(证书不是本文的重点)。
当然,混合加密系统,还有如下好处:
- 高效性与性能优化
- 对称加密处理数据:对称加密(如AES)计算速度快,适合加密大量数据(如文件、通信内容)。
- 非对称加密管理密钥:非对称加密(如RSA、ECC)用于安全交换对称密钥,避免了对称加密的密钥分发问题。
- 资源消耗低:仅在密钥交换阶段使用计算密集的非对称加密,后续通信由高效的对称加密完成,节省计算资源。
- 安全的密钥分发
- 解决密钥交换难题:对称加密的密钥通过非对称加密传输(如用接收方的公钥加密),确保即使通信被监听,攻击者也无法获取密钥。
- 前向保密(Forward Secrecy):若使用临时密钥(如Diffie-Hellman的临时密钥对),即使长期私钥泄露,历史会话仍无法解密。
- 灵活性与兼容性
- 适应不同场景:可灵活选择对称和非对称算法(如AES+ECC或ChaCha20+RSA),满足不同协议(TLS、PGP)的需求。
- 支持多重功能:非对称加密还可用于数字签名、身份认证等,与对称加密无缝结合。
- 增强的安全性
- 双重防护:攻击者需同时破解对称密钥和非对称私钥,难度极高。
- 动态密钥管理:每次会话生成唯一的对称密钥(会话密钥),减少长期密钥泄露风险。
- 扩展性与易用性
- 大规模部署:公钥基础设施(PKI)支持多用户环境,非对称加密的公钥可公开分发,无需预共享密钥。
- 移动设备友好:对称加密的低计算需求适合手机、IoT设备等资源受限的环境。
- 前向保密(Perfect Forward Secrecy, PFS)
- 通过临时密钥交换机制(如ECDHE),即使服务器私钥未来被泄露,过去的会话仍无法被解密,显著提升长期安全性。
总结:
混合密码系统结合了对称加密和非对称加密两者的优势,在安全性、效率和实用性之间实现了平衡。
实际应用示例:
- HTTPS/TLS:客户端生成随机对称密钥,用服务器的公钥加密后传输,后续通信使用对称加密。
- PGP/GPG:用接收方的公钥加密对称会话密钥,再使用该会话密钥加密邮件内容。
- SSH:非对称加密验证身份后,协商对称密钥用于数据传输。
加密流程
- 生成随机数做对称密钥;
- 用对称密钥加密提高速度;
- 用公钥加密保护对称密钥;
解密流程
- 用私钥解密对称密钥;
- 用对称密钥解密密文;