一家股份制银行做国密改造,第一批试点选了网银前置和支付签名两个系统,采购了一批「国密密码机」。上线切换那天晚上,支付系统开始大面积签名超时,监控里刷满告警;连夜回滚后发现,密评机构进场时第一句话问的还不是性能,而是:「这批密码机的商用密码产品认证证书编号,国密局官网上查得到吗?」 一查,证书编号查无此机。改造方案还没跑起来,选型就先翻了车。
这不是个例。银行国密改造(SM2/SM3/SM4 替换 RSA/AES)这几年从外围试点进入核心攻坚,翻车点高度集中在同一个地方——HSM 密码机选型。密码机是整条改造链的信任根,它选错了,后面全栈替换的周期、接口、性能、密评全都要跟着返工。先看现场:
# 现场一:支付系统切国密后签名超时(现象排查,示意)
# 1) 确认报文签名耗时是否劣化
# 从应用日志抓一笔签名耗时,正常应在毫秒级
grep "sign_time" /var/log/pay/pay-svc.log | tail -20
# → 切国密后单笔签名飙到 800ms+,TPS 上不去 → 密码机吞吐/并发不足或接口串行化
# 现场二:密码机型号证书核验(选型最容易被忽略的一步)
# 到国家密码管理局官网「商用密码产品认证目录/证书查询」按产品名称或证书编号检索
# → 查无此机 / 证书编号对不上 → 产品未过型号认证,密评第一关就挂
这篇按报错现场式拆:先从一次典型翻车现场定位三类问题,再逐个给出 HSM 选型的避坑判断标准,最后落到全栈替换的周期规划与验收清单。文中密码机、密码服务平台、终端认证产品落位按安当 HSM/KSP/UKEY/CKMS 写,每条判断都给「怎么验」。
全文结构:
- 一、翻车现场拆解:选型阶段埋的雷,切换当天爆
- 二、HSM 选型四看:别只看算法列表
- 三、选完设备,接好「密码底座三件套」
- 四、全栈替换周期规划:四阶段渐进,别指望一次割接
- 五、验收清单:选型与周期规划各 8 条自查
一、翻车现场拆解:选型阶段埋的雷,切换当天爆
把上面的现场拆开,问题不是「国密不行」,而是选型阶段三个决策做错了:
雷 1:只看了「是不是国密」,没核「是不是认证产品」
商用密码产品不是随便一台能跑 SM2/SM4 的硬件就能合规。按《商用密码管理条例》(2023-07-01 施行)和密评要求,对外提供的密码产品须经商用密码检测认证,密评审查的是「采用的产品/服务是否经认证合格、是否符合国家标准」。
- 判断标准:在国家密码管理局官网的商用密码产品认证目录/证书查询里,按产品型号或证书编号能查到,才算过;
- 翻车点:销售话术只说「支持国密算法」,但设备没走型号认证,或拿的是过期的证书编号;
- 正确姿势:把「型号证书核验」放进招标评分项,签约前让厂商出具证书编号,当场到国密局官网核一遍再盖章。
雷 2:只算了一台机器,没算整条链的接口与吞吐
密码机不是孤岛。它要接证书系统、密钥管理平台、签名验签服务、加密网关、各业务系统,走的是标准接口——PKCS#11 / GM/T 0018(SDF)。选型如果只比「单机支持多少算法」,忽略接口规范性和并发能力,就会像现场一样:应用是改造完了,但密码服务成了瓶颈,签名排队,TPS 上不去。
雷 3:只规划了「买设备」,没规划「替换周期」
国密改造的正确姿势是「双轨并行、渐进替换」,不是「选个黄道吉日全量切换」。存量系统不能推倒重来——核心系统 7×24 小时跑着,RSA 证书还挂在线上、老密文还躺在库里。没有周期规划的替换,就是拿生产环境当试验场。
把三个雷排掉,HSM 选型就变清晰了。下面按「选什么、怎么验、周期怎么排」三步走。
二、HSM 选型四看:别只看算法列表
银行 HSM 选型,核心判断就四件事,每件给验证方法。
一看合规:认证证书 + 密评对位
- 设备必须能查证《商用密码产品认证证书》,并在产品认证目录内;
- 银行系统密评依据 GB/T 39786-2021(等保三级对应密码应用第三级),密码产品需达到 GB/T 37092《密码模块安全技术要求》 相应安全等级——选型时把「设备满足的等级」写进参数表,别等密评进场才发现等级不够。
二看算法与双算法:过渡期必须「国际+国密」双栈
改造不是一天切换完,存量 RSA 证书要到期自然迁移、老客户端还要能访问,所以设备在过渡期必须同时支持国密(SM2/SM3/SM4)与国际算法(RSA/AES):
算法替换对照(银行改造全景)
──────────────────────────────────────────────
RSA/ECC 签名、证书 → SM2(证书签发/报文签名/身份认证)
SHA-1/SHA-256 摘要 → SM3(完整性校验/证书签名)
AES/3DES 对称加密 → SM4(数据加密存储/传输/密钥封装)
- 验证:把「支持 SM2/SM3/SM4 + RSA/AES 双算法」写进需求,测试时用标准工具各签一次、各加密一轮,确认同一台设备双栈可用;
- 若银行有涉外/跨境业务、需兼顾 FIPS 合规,可考虑同时支持国密与 FIPS 140-2/3 认证的设备,一台覆盖两套合规体系(按需选,不是默认项)。
三看接口:PKCS#11 / GM/T 0018(SDF)标准接口
- 选型确认设备提供标准的 PKCS#11 和国密 SDF(GM/T 0018)接口,而不是厂商私有接口——私有接口意味着每个业务系统都要写厂商专属对接代码,改造量成倍放大,且被单一厂商绑定;
- 验证:用 pkcs11-tool 现场列一下 token 与密钥对象,能正常枚举即可确认标准接口可用:
# 验证密码机 PKCS#11 标准接口(示意)
pkcs11-tool --module /usr/lib/xxx/libhsm.so --list-slots
# → 能列出 HSM 密码机槽位即接口可达;进一步可 --list-objects 看密钥对象
四看性能与高可用:峰值吞吐 + 双机/集群
- 按核心交易峰值算密码服务吞吐(加解密/签名验签 TPS),留 1.5-2 倍余量,别按平均值买;
- 密码服务是单点风险,必须双机热备或集群部署,主备切换不中断业务;
- 验证:签售前做一轮峰值压测,让厂商出 TPS 报告,并验证主备切换时间。
四看之外补一句:如果业务要上云(金融云/行业云/混合云),钥匙别散在各朵云里——各云 KMS 各管各的、策略与审计对不上。这种场景用**多云密钥管理(CKMS)**把阿里云/腾讯云/华为云的云上 KMS 统一纳管、密钥统一审计,本地再留一份信任根,云上云下才是一套密钥体系。选型时把「能否纳管多家云 KMS」写进需求,别只验收单云。
选型前先分清:你要的是哪一类密码机
「HSM」是密码机的总称,银行里实际会按用途分成几类,选型先对号入座,别拿着服务器密码机去扛签名验签的活:
| 密码机形态 | 主要干什么 | 典型对接对象 | 银行典型场景 |
|---|---|---|---|
| 服务器密码机 | 通用加解密、密钥管理、数字信封,兼顾签名 | 业务系统、数据库、密钥管理平台 | 数据加密、密钥存储、通用密码服务 |
| 签名验签服务器 | 专注高性能签名/验签,事务处理能力强 | 支付清算、报文中心、CA | 支付报文签名验签、批量签章,追求单笔毫秒级与高 TPS |
| 云密码机/虚拟化密码机 | 把密码能力按租户切分、资源弹性分配 | 云上业务、容器平台 | 上云业务的密码服务,跟 CKMS 配合统一管云上密钥 |
选型误区是把三类混为一谈:拿通用服务器密码机去撑支付签名峰值,或者为所有系统统一采购签名验签服务器造成闲置浪费。正确做法是按业务负载画像分类配机——签名类交易走签名验签服务器、通用加密走服务器密码机、云上租户用云密码机,再由统一密钥管理平台把它们纳管成「一套密码服务」。
过渡期双算法并存的三个坑(选型阶段就要想)
选完设备不是终点,改造期「国际+国密双栈」怎么运转,是选型阶段就要问厂商的:
- 坑一:证书体系怎么双轨。过渡期 RSA 证书与 SM2 证书并存,存量证书自然到期迁移、新发一律 SM2。要问厂商:双根并存还是新建 SM2 根 CA?证书吊销状态(CRL/OCSP)在双轨下能否统一同步?——对应到落地,就是证书/密钥生命周期管理平台(KSP)要把两套证书链都管起来,避免「国密管国密的、RSA 没人管」。
- 坑二:业务侧算法适配谁来做。应用从调 RSA 改成调 SM2,要么改代码、要么靠密码平台做算法转换。问厂商有没有双算法转换能力:平台收到国际算法请求自动转国密调用、反之亦然,业务系统改动最小。选型时把它当成硬指标,能省掉后面成片的改码量。
- 坑三:回滚通道保不保留。国密通道故障时,是否保留 RSA 兜底通道让业务先恢复?选型与方案设计要约定双链路并行的回滚预案,别把国密切换做成没有退路的单行道。
这三个坑在招标前问清楚,落到方案里,比设备到货后再补救省一个量级的成本。
三、选完设备,接好「密码底座三件套」
HSM 只是信任根,改造真正天天打交道的是围着它建的密码底座。银行实践里底座是三件套分工:
| 组件 | 职责 | 落地形态 | 回答的问题 |
|---|---|---|---|
| HSM 密码机 | 根密钥/签名私钥硬件保护,明文不出设备 | 服务器密码机/签名验签服务器,双机集群 | 私钥放哪才保险 |
| KSP 密钥管理平台 | 密钥全生命周期(生成/分发/轮换/归档/销毁)集中管 | 与 HSM 对接,业务通过 API 取用 | 密钥谁来管、多久换、怎么留痕 |
| UKEY / 认证介质 | 柜员/运维/客户端的国密身份载体 | SM2 双证书(签名+加密) | 谁在用、怎么证明是他 |
端到端形态(示意):
业务系统(网银/支付/信贷/核心外围)
│ SM2 签名/验签调用(PKCS#11 / SDF / API)
▼
┌─────────────────────────────────────────┐
│ KSP 密钥管理平台(密钥集中管、审计留痕) │
│ └─ 根密钥/主密钥锁进 ↓ │
│ HSM 国密密码机(双机集群,私钥不出设备) │
└─────────────────────────────────────────┘
▲
UKEY(柜员/运维 国密 SM2 双证书身份介质)
UKEY 这层的验证也简单:运维/柜员持 SM2 双证书介质登录敏感系统,证书一旦吊销该身份当场失效,登录审计能回溯到具体证书——「谁在用」不是靠制度,是靠「介质 + 吊销 + 审计」闭环。
关键认知:HSM 管「钥匙最底层的那把」,KSP 管「上面所有业务钥匙的一生」。只买 HSM 不建 KSP,密钥还是散落在各系统手工台账里;只建 KSP 没有 HSM,主密钥又回到了软件里。两件一起,密评的「密钥管理」维度才站得住。
四、全栈替换周期规划:四阶段渐进,别指望一次割接
改造的周期焦虑,来自「想把全栈一天换完」。正确的周期观是四阶段渐进替换,每阶段有明确的验收,随时可回滚:
阶段一:规划评估(约 1-2 个月)
- 现状摸查:全行哪些系统用了 RSA/AES/SHA,密码设备型号与证书状况,证书到期时间分布;
- 差距分析:对照 JR/T 0255-2022《金融行业信息系统商用密码应用基本要求》与 GB/T 39786 做密评差距摸底,确定改造范围与优先级;
- 产出:改造清单、优先级排序、回滚预案。
避坑:这一阶段最容易「先买设备后做规划」。反过来,先让差距分析结果告诉你要多少吞吐、什么接口、几台设备,再谈采购。
阶段二:密码基础设施重建(约 2-4 个月)
- 部署 HSM(双机集群)、签名验签服务器,新建/对接 SM2 证书体系(根 CA 离线、子 CA 分层);
- 部署 KSP 密钥管理平台,存量密钥资产迁移接入;
- UKEY/认证介质国产化选型与发放。
验收:密码服务连通性测试通过、密钥能集中纳管、双机切换演练成功。这一阶段是后面所有改造的地基,别赶工期。
阶段三:核心系统改造(约 3-6 个月,分批)
按「先外后内、先试点后全面」推进,每批一个小闭环:
批次规划(示例:按改造风险从低到高排)
──────────────────────────────────────────
第 1 批:门户/网银 HTTPS 国密SSL + 登录认证国密 → 对客入口先达标
第 2 批:支付/清算报文 SM2 签名验签 → 核心交易链路
第 3 批:内部系统认证、数据库通信、接口加密 → 内网纵深
第 4 批:存量密文/存量证书自然到期迁移收尾 → 全面覆盖
过渡策略双轨并行:改造期间保留 RSA 兜底通道——新数据用 SM4、存量 RSA 密文读取时解密转存;证书体系走「双证书并存期」,存量 RSA 证书到期自然迁移、新发证书一律 SM2。每批切换前先灰度、可一键回滚,不要在高峰窗口硬切。
避坑:把支付签名这类核心链路放第一批是高风险动作,尽量从对客入口/外围先验证方案与接口,跑顺了再进核心。
存量资产的三种迁移,别一把梭
全栈替换里真正耗时的是存量资产,不是新系统接入。存量资产分三类,各有各的迁法:
| 存量资产 | 迁移难点 | 正确姿势 |
|---|---|---|
| 存量 RSA/AES 密文 | 老数据被老算法加密,切算法后读不出来 | 双轨并行:老数据读取时用老钥解密转存 SM4,业务无感逐步转存,最后清零 |
| 存量 RSA 证书/私钥 | 证书体系整链替换 | 证书双轨并存期,存量证书到期自然迁移、新发一律 SM2,别强制提前吊销引发服务中断 |
| 存量业务代码里的算法调用 | 硬编码的 RSA/SHA 调用点分散 | 借密码平台算法转换能力收敛改造面,或按批次改代码并在测试环境回归 |
每批迁移前先做「存量数据摸底」:哪些库还压着老密文、哪些证书快到期、哪些系统还在硬编码算法。摸底不清就切,多半会在某个深夜发现「有张老表读不出来了」。
迁移节奏的取舍:激进与保守怎么平衡
改造节奏不是越快越好,也不是越慢越稳,而是按系统分级定策略:
| 系统类别 | 推荐节奏 | 原因 |
|---|---|---|
| 对客入口(网银门户、App 登录) | 第一批快速切换 | 合规可见性高,生态成熟,切换影响面相对可控 |
| 核心交易(支付/清算签名验签) | 方案验证充分后再上,配灰度+回滚 | 断一分一秒都是事故,必须双链路兜底 |
| 内网批量/后台系统 | 跟随证书到期与发版窗口自然迁移 | 无强时效,避免为改而改引入风险 |
记住一个原则:切换顺序按「风险由低到高、价值由高到低」排——先用外围系统把方案、接口、密钥流程跑通,再把最核心的链路放进去,每一批都是上一批的「试金石」。
阶段四:密评与运营(持续)
- 新系统上线前密评,存量系统按计划改造后复评;
- 建立密码运维:密钥自动轮换、证书到期预警、KSP/HSM 审计日志归档,随时能出证据链应对监管穿透式检查。
整体周期参考:从规划到核心系统改造完成,一般 6 个月到 1 年,取决于系统规模与存量复杂度;存量全覆盖若含大量历史密文与老证书,周期会更长。别信「三个月全行切完」的承诺——那种方案要么是砍掉了存量兼容,要么是把风险推给了生产。
五、验收清单:选型与周期规划各 8 条自查
HSM 选型验收:
| # | 检查项 | 怎么验证 |
|---|---|---|
| 1 | 商用密码产品认证证书 | 国密局官网按证书编号/型号查证通过 |
| 2 | 满足 GB/T 37092 相应等级 | 核对设备参数表与证书载明等级 |
| 3 | 双算法(SM2/SM3/SM4+RSA/AES) | 标准工具各算法实测一轮通过 |
| 4 | 标准接口 PKCS#11 / SDF(GM/T 0018) | pkcs11-tool 能枚举槽位/对象 |
| 5 | 峰值吞吐达标 | 签售前压测报告,留 1.5-2 倍余量 |
| 6 | 双机/集群高可用 | 主备切换演练,切换不中断业务 |
| 7 | 密钥不出设备 | 尝试导出根密钥/签名私钥 → 被拒绝 |
| 8 | 上云场景钥匙可统一管 | 云上 KMS 已接入 CKMS 统一纳管/审计(如涉及) |
替换周期规划验收:
| # | 检查项 | 怎么验证 |
|---|---|---|
| 1 | 有差距分析报告 | 对照 JR/T 0255-2022/GB/T 39786 输出整改清单 |
| 2 | 优先级排序合理 | 先外围试点、后核心,支付类不在首批 |
| 3 | 密码底座先于应用改造 | 阶段二验收通过才进阶段三 |
| 4 | 双轨并行通道 | RSA 兜底通道可用,回滚演练成功过 |
| 5 | 证书双轨并存期管理 | 存量 RSA 证书到期清单可查、到期自动迁移 |
| 6 | 存量密文迁移策略 | 老密文读取→解密→转存 SM4 路径验证过 |
| 7 | 每批灰度+回滚 | 每批上线有灰度开关与回滚脚本 |
| 8 | 密评证据可出证 | KSP/HSM 审计日志能导出,密钥轮换记录完整 |
银行国密改造的坑,九成埋在选型阶段:型号证书没核、接口不标准、只买设备不做周期规划。把这三件事在招标和开工前解决,后面就是按四阶段渐进走的体力活。记住这个顺序:先核认证证书与标准接口(合规与集成)、再定吞吐与高可用(性能)、用「HSM 管根钥匙 + KSP 管全生命周期」把底座搭稳、最后按「先外后内、双轨并行、批次灰度」推进全栈替换——别跳过前两步直接谈周期。
你们行现在到哪个阶段了——还在选型比参数、刚进密码底座建设,还是已经在分批割接?评论区说说踩过哪个坑,一起排雷。
文章作者:安当加密技术负责人

1708

被折叠的 条评论
为什么被折叠?



