密码学基础与密码改造概述
1.1 密码学基本概念
说到密码学,很多人第一反应就是「加密解密」。其实说白了,密码学就是一套保护信息机密性、完整性和真实性的技术体系。你想想看,数据在网络上传输,就像明信片一样,谁都能看到。加密就是给这张明信片装进一个密封信封,只有持有钥匙的人才能拆开。
- 机密性 —— 只有授权方才能看懂内容
- 完整性 —— 数据没有被篡改
- 真实性 —— 确认对方身份,不是冒牌货
密码学里几个基础概念,我得先理清楚。对称加密,加解密用的同一把钥匙。效率高,但密钥分发是个头疼的问题。非对称加密,公钥加密私钥解密,完美解决了密钥传递问题,但速度慢。还有哈希函数,它不是加密,而是给数据算一个固定长度的指纹,一丁点改动指纹就会变。
我记得刚入行那会儿,有个项目用了MD5做密码存储。我当时就觉得不对劲,MD5已经被证明有碰撞风险了。后来跟组长沟通,才换成了bcrypt。嗯,这里要注意,哈希和加密是两回事,千万别混用。
| 技术方向 | 核心用途 | 典型算法 | 我的提醒 |
|---|---|---|---|
| 对称加密 | 数据保护、传输加密 | AES、SM4 | 密钥分发是最大的坑 |
| 非对称加密 | 密钥交换、数字签名 | RSA、SM2 | 计算开销大,别大量加密 |
| 哈希函数 | 完整性校验、密码存储 | SHA-256、SM3 | 别用MD5/SHA-1,有碰撞 |
| 数字签名 | 身份认证、抗抵赖 | ECDSA、SM2 | 签名和加密是两个流程 |
1.2 密码改造的背景
为什么要做密码改造?说白了,旧密码体系撑不住了。我遇到过好几个场景,比如老系统还在用3DES,算法早就被列入禁用名单了。还有密钥管理,密钥竟然硬编码在配置文件中,一查一个准。
密码改造的主要驱动因素有三条:
- 算法老化 —— 像MD5、SHA-1、DES这些,已经被证明不安全
- 合规驱动 —— 国家密码法、等保2.0要求使用国密算法
- 风险规避 —— 量子计算逼近,RSA、ECC面临挑战
我之前参与一个政务系统改造,原系统用的就是MD5做签名。审计报告出来后,限期三个月全部迁移到SM3。那段时间,光改代码就改了一周,还要保证接口兼容,真心累。但改造完回头看,其实换算法没那么难,难的是决心和流程。
1.3 密码改造的目标
密码改造不是为改而改。它的目标非常清晰:提升整体密码安全水位。我个人归纳为三大目标:
- 安全加固 —— 替换弱算法,强化密钥生命周期管理
- 合规达标 —— 满足国密、等保、行业监管要求
- 运维可控 —— 统一密码策略,降低管理复杂度
你想想看,一个系统如果密钥轮换周期是一年,那风险敞口就很大。改造的目标之一就是建立自动轮换机制。我建议在改造前,先做一份密码资产清单,看看用了哪些算法、哪些密钥,不然就是无头苍蝇。
- 所有业务使用推荐的密码算法
- 密钥从生成到销毁都有审计
- 系统能快速响应密码漏洞预警
其实密码改造很多企业都在做,但常犯一个错误:只改算法不改密钥体系。就像换了锁芯,钥匙还在门垫底下。所以,改造时要把密钥管理、证书管理、审计日志一并升级。我参与的一个金融项目,改造后运维反而更轻松了,因为自动化工具减少了人为失误。