数安商用密码

密评首次通过的完整方法论——从评审官视角看整改清单

我们服务过清远市中级人民法院、广东省交通厅、广州市政法委等密评项目,首次通过率 100%。这篇文章整理出评审官最常驳回的 7 类问题,每条对应具体的整改动作——不是引用标准条文,而是告诉你评审官现场会怎么查、怎么答。

为什么密评总是在同几个问题上卡

根据我们参与过的项目和与评审机构的交流,密评整改被打回的问题高度集中,前三名占了约 70% 的整改工单:

  1. 密码算法不规范——用了 MD5、SHA-1、RSA-1024 等不被认可的算法
  2. 密钥管理缺失或混乱——没有密钥生命周期管理,密钥硬编码在代码里
  3. 审计日志不完整——有日志但缺关键字段,或日志可被篡改

其余 30% 分散在身份认证强度不足、证书管理不规范、数据传输未加密、密码模块无访问控制等方向。

⚠️
一个常见误区:很多团队在密评前两周才开始准备材料,把整改和文档准备混在一起做。正确做法是在系统建设阶段就对照密评标准设计,材料是实施过程的自然输出,不是事后补写的。

7 类高频问题与整改动作

问题一:密码算法不合规

评审官会扫描代码仓库、配置文件、抓包报文,查找以下关键词:MD5SHA1DESRSA-1024RC4

用 MD5 做密码哈希——即使加盐也不符合要求,必须换 SM3 或 SHA-256
用 RSA-1024 做证书签名——需升级到 RSA-2048 或换用 SM2
数据库字段用 DES 加密——必须换 SM4 或 AES-256
整改后:全部业务系统通过密码服务平台统一调用 SM2/SM3/SM4,单一接入点便于评审

整改动作:不要逐系统改,接入密码服务平台统一出口,现有系统调用 API 即可,改造量最小,评审时展示一个平台即可。

问题二:密钥管理混乱

这是被打回次数最多的一项。评审官的检查路径:

  1. 要求展示密钥存储位置——如果回答「在配置文件里」就已经失分
  2. 询问密钥轮换机制——如果没有定期轮换策略,直接标注不合格
  3. 要求展示密钥生成日志——如果无法提供,审计项失分
💡
密评对密钥管理的核心要求:密钥必须在硬件设备中生成,不能以明文形式存储,必须有完整的生命周期记录(生成、分发、使用、备份、更新、销毁)。

整改动作:部署 KMS,根密钥由 HSM 保护,主密钥和数据密钥分层加密。密评时展示密钥生成日志、轮换策略配置截图,评审官基本满意。

问题三:审计日志不完整

很多系统有日志,但缺少以下关键字段,导致审计项不合格:

必须字段常见缺失情况
操作主体(谁)只记 IP,未记用户 ID 或真实姓名
操作时间(精确到秒)时间戳格式不统一,跨系统对不上
操作对象(对什么)记了「查询数据库」但未记具体表名
操作结果(结果如何)只记成功,失败未记
日志完整性保护日志文件无签名,可被篡改

整改动作:日志字段按上表补全,日志写入后用 SM3 计算摘要并存独立存储,证明不可篡改。评审时提供一周的完整日志样本。

问题四:证书管理不规范

常见问题是使用自签名证书,或证书有效期过长(超过 2 年),或证书链不完整。

整改动作:使用国密 CA 签发的 SM2 证书,证书有效期设为 1 年,配置自动续期提醒。密评评审时提供证书链和 CA 资质证明。

问题五:身份认证强度不足

等保三级要求登录采用双因素认证。很多系统只有密码,或者「密码 + 短信验证码」被认为强度不足(短信可被截获)。

整改动作:核心系统引入无密码认证(MPC 联合签名),或部署基于国密的动态令牌。评审时展示认证流程和密码学依据。

问题六:数据传输未加密

HTTP 明文传输、内网系统间 API 调用未加密是最容易被抓到的问题。评审官会在测试环境抓包验证。

整改动作:全部接口切换 HTTPS,内部 API 调用配置双向 TLS 或在应用层用 SM4 加密。重点关注数据库连接是否加密。

问题七:密码模块无访问控制

密码服务模块对内网所有系统开放,没有访问白名单,任何内网 IP 都能调用签名接口。这在评审中属于高风险项。

整改动作:密码服务平台配置调用方 IP 白名单和 API Key 认证,调用日志按调用方分类,每次调用均记录。

密评材料准备清单

材料准备不充分是第二轮被打回的主因。以下是评审通常需要的文档,建议在实施阶段同步准备:

1
密码应用方案说明
每个系统使用了哪些密码算法、密钥长度、在哪个层面加密、由谁提供密码服务。一张架构图 + 逐系统说明表。
2
密钥管理说明
密钥层级结构、生成方式(HSM 或软件)、存储位置、轮换策略、备份机制。附密钥生命周期流程图。
3
密码模块资质证明
密码服务平台或 HSM 的国密局检测报告/认证证书。注意证书有效期,过期需更新。
4
审计日志样本
提供连续 7 天的完整审计日志,包含身份认证、数据访问、密码操作三类。日志需有完整性保护说明。
5
测试报告
密码算法正确性测试、性能测试(TPS)、密钥轮换功能测试的报告。由系统自测完成,评审时备查。

时间安排建议

基于我们的项目经验,密评改造到首次评审通过,合理的时间安排如下:

阶段工作内容建议时长
自查对照密评标准逐条自查,形成整改清单3–5 天
改造密码算法替换、密钥管理部署、日志补全2–4 周
材料准备同步整理各类说明文档,不要等改造完再准备改造期间并行
内部预演模拟评审官提问,补充材料漏洞2–3 天
正式评审提交材料,现场答疑1 天
关键原则:材料要和系统实际情况完全一致。评审官会做现场验证,纸面写得好但系统对不上,比材料不完整更严重。我们在清远法院项目中,把材料准备和系统改造完全并行,改造完成当天材料同步就绪,评审一次通过。

最后:一个反直觉的建议

很多团队把密评当做一个「考试」来准备,临时抱佛脚。但实际上,密评更接近「审计」——评审官不只是看你准备的材料,还会看系统实际的状态是否和材料一致。

真正有效的做法是:把密码应用规范内化到系统建设流程里,密评时展示的是系统的真实状态,材料是系统的准确描述,而不是反过来。

这也是我们在所有项目里坚持的原则:先做对,再写清楚,而不是先写漂亮再做对。