ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

安当UKey:国密双因素改造路径、密评取证对照与信创终端适配清单

2026/9/3 16:00:11 拓冰建站 浏览量
安当UKey:国密双因素改造路径、密评取证对照与信创终端适配清单 一、先定位项目到底卡在哪一步国密UKey智能密码钥匙的技术原理并不复杂——安全芯片内生成密钥对、私钥不可导出、用SM2私钥对服务端下发的挑战值签名、服务端用公钥验签。这一段在方案宣讲里十分钟就能讲完真正把项目拖住的从来不是原理而是后面三件事。第一件是存量系统怎么改。企业的认证链路往往不是一套办公门户走表单登录运维通道走RADIUS老旧业务系统只有用户名口令还有若干自研系统连改代码的人都找不到。同一个UKey在这些系统里的接入方式可能完全不同改造工作量差异能达到一个数量级。第二件是测评现场拿不出证据。很多团队系统其实已经跑通了国密双因素但到了密码应用安全性评估密评或等保测评现场被问到密钥在哪里生成“用什么密码模块保护”“挑战值的随机性怎么保证”“这条链路用了哪些算法时只能靠口头描述拿不出可核验的材料。测评结论写的是部分符合甚至不符合”整改周期被拉到几个月。第三件是国产终端上跑不起来。Windows上验证通过的方案换到麒麟、统信终端可能卡在驱动加载、中间件识别、登录框架集成、浏览器国密套件协商中的任意一环。而这类问题往往要到试点铺开阶段才暴露此时再改架构成本极高。本文就按这三件事组织改造路径、取证对照、适配清单。不讲概念只讲怎么落地、怎么验证、怎么备材料。以安当UKey为例其硬件支持SM1/SM2/SM3/SM4国密算法并兼容RSA/AES/ECC/SHA国际算法提供四套由轻到重的认证方案与RESTful API、C动态库两种集成形态下面讨论的改造路径以这种能力组合为前提展开。二、改造前的现状盘点四类起点与四种难度动手改之前先把存量摸清楚。按认证现状企业通常落在下面四类中的某一类也可能是混合态。起点类型典型现状改造难度主要风险A 类纯口令用户名口令部分配短信验证码中无第二因子基础设施需从零建账号绑定关系B 类软证书浏览器证书、文件证书、本地私钥文件中高私钥可复制测评环节几乎必被判不符合C 类国际算法硬件已有RSA令牌或国际算法USBKey中算法需整体替换存量密钥要迁移或并行过渡D 类国密已用未管已发国密Key但分散管理、无统一证书体系低到中证书生命周期无中心管控吊销与更新是空白判断难度的关键不是有没有第二因子而是三件事能不能改业务系统代码、有没有统一的账号源、密钥由谁产生和保管。这三项决定了改造是以月计还是以季度计。盘点建议产出一张表每一行是一个待改造系统列包含系统名称、认证方式现状、用户群规模、是否有源码可改、可对接的协议或接口、优先级按数据敏感度与暴露面排、改造方式预判标准对接配置定制网关前置兜底。这张表既是工作量估算的依据也是后面测评时覆盖率说明的附件材料。需要提醒的是总会有少量系统接不进来。经验做法是不要追求百分之百直连而是明确接不进来的系统怎么处理——是通过网关前置代理兜底还是走特批豁免豁免清单由谁审批、多久复核一次。没有这套机制覆盖率数字会长期停留在看起来不错但实际漏洞百出的状态。三、五阶段改造路径3.1 阶段一盘点与分级分级的目的是避免所有系统都上最重的方案。建议按三个维度打分数据敏感度高中低、暴露面互联网可达内网隔离网、用户群性质特权账号普通员工外部协作者。三个维度都高的强制上SM2签名验签或CA证书方案只有一项高的用UserNameKeyID这类轻量绑定都不高的可以先只做账号与KeyID绑定留后续升级通道。分级结果直接决定采购数量与证书服务费也决定推广阻力——让全员一开始就走最重的流程项目很容易在第一波抱怨中被叫停。3.2 阶段二算法与介质替换这一阶段的核心是把国际算法软介质换成国密算法硬件介质。对照关系如下环节常见存量实现国密改造目标说明身份鉴别RSA 签名 / 用户名口令SM2 签名验签私钥在芯片内产生验签用公钥是测评关注重点完整性校验SHA-1 / MD5SM3摘要算法替换涉及签名前摘要与日志完整性会话与数据加密AES / 3DESSM4对称算法替换注意分组模式与初始向量规范使用密钥载体文件证书 / 软证书 / 浏览器证书智能密码钥匙内密钥容器介质从可复制变为不可导出测评结论差异巨大传输通道国际套件国密套件需客户端中间件与服务端同步支持不兼容时要有降级策略这里最容易低估的是密钥产生位置这一项。同样宣称用了SM2密钥由软件库产生和由通过认证的密码模块产生在测评中是完全不同的结论。因此改造时必须把密钥的产生、存储、使用边界写清楚并落到密钥管理平台上——由密钥管理系统统一签发、更新、吊销证书在哪里签发、何时过期、是否被吊销都有中心可管。3.3 阶段三证书与密钥体系设计国密UKey提供四套由轻到重的认证方案改造时按分级结果选择方案原理安全强度适用改造成本KeyID 绑定读取Key硬件标识与账号绑定低终端绑定、低敏系统最低UserName KeyID账号与Key双绑定中常规办公系统低签名验签服务端下发挑战Key内SM2签名服务端验签高高敏系统、特权账号中CA 证书基于证书的双向认证与证书状态校验最高政务、金融、关基高四套方案不是互斥的常见做法是按应用敏感度分级混用普通办公用轻量绑定财务、核心运维、审批签名用签名验签对外服务或强合规场景用CA证书。选了证书方案就要同步设计生命周期证书由谁签发、有效期多长、到期前如何提醒与批量更新、Key丢失后如何吊销、吊销状态如何下发到各验签点。这一块如果没有中心管控最常见的翻车方式是证书集中过期导致集体无法登录而它往往发生在项目上线一年后、原班人马已经换过一轮的时候。3.4 阶段四业务侧集成改造业务系统的改造点通常有七处逐项核对可以避免遗漏登录页改造增加插入Key并按Key认证的入口与状态提示挑战值接口服务端新增挑战下发接口挑战值必须由密码模块产生客户端调用通过中间件或动态库调用Key完成签名注意PIN输入在Key侧完成校验验签接口服务端调用签名验签能力完成校验校验成功后立即作废挑战会话绑定认证成功后把会话与Key标识绑定作为后续敏感操作的复验依据失败处理PIN错误次数、账号锁定、挑战过期都要有明确行为审计埋点认证成功与失败、签名事件、Key绑定与解绑、证书吊销都要留痕。服务端挑战-应答的核心流程可以抽象成下面这段伪代码# 步骤一下发挑战登录页请求认证时 challenge random_bytes_from_crypto_module(16) # 由密码模块产生16字节以上 session_id new_session() store(session_id, { challenge: challenge, issued_at: now(), used: false, bound_user: null }) # 步骤二客户端在 Key 内签名由中间件/动态库完成PIN 在 Key 内校验 # 待签数据建议显式拼接避免字段歧义与跨会话重放 to_sign SM3( user_id | challenge | server_id | issued_at ) signature UKEY_INTERNAL_SIGN(container, to_sign) # 私钥不出芯片 # 步骤三服务端验签 rec load(session_id) if rec is null: reject(会话不存在) if rec.used: reject(挑战已消费) if now() - rec.issued_at 60s: reject(挑战已过期) if rec.challenge ! challenge: reject(挑战不匹配) ok SM2_VERIFY(public_key_of(user_id), SM3( user_id | challenge | server_id | rec.issued_at ), signature) if not ok: reject(验签失败) rec.used true bind_session(session_id, user_id, key_id) audit_log(user_id, key_id, UKEY_LOGIN_OK, src_ip, session_id)集成形态上有两条路RESTful API 适合现代Web后端与需要跨语言调用的场景接口数量多、覆盖细业务侧按标准接口调用即可不必理解底层密码接口C语言动态库适合传统C/S客户端、工控软件、需要离线本地调用的场景把授权与签名逻辑直接编进客户端。以安当UKey为例两种形态都提供这让新系统走接口、老客户端走动态库的混合改造成为可能不必为了统一形态去重写老客户端。3.5 阶段五验证与取证验证不能只做能不能登录。至少要覆盖四类功能验证登录、绑定、解绑、补办、吊销全链路走通、非功能验证并发与时延、拔Key锁屏、断网离线认证、国产终端实测、安全验证挑战重放、跨会话复用、PIN爆破锁定、验签失败的错误码是否泄露信息、以及取证验证每一项测评条款对应什么材料、现场能不能当场调出来。第四类最容易被忽略也最直接影响测评结论。四、SM2 挑战-应答改造里最容易做错的六个细节原理讲完说六个一线项目里反复踩的坑。第一挑战值的随机性来源。用普通随机函数生成挑战值是常见错误。挑战值必须由合规随机数发生器产生长度建议十六字节以上且服务端要记录已下发但未消费的挑战集合。如果挑战可预测攻击者可以预先诱导用户对某个已知值签名从而完成重放。第二待签数据必须自解释。只把裸的挑战值送进Key签名是不够的。正确的做法是把用户标识、挑战值、服务端标识、时间戳按固定顺序拼接后再做SM3摘要再签名。这样即使挑战值被截获也无法在别的账号、别的系统、别的会话里复用。第三验签前先查状态验签后立刻作废。顺序不能反先确认挑战存在、未使用、未过期再做密码运算验签通过后立即标记为已消费并绑定会话。只比对签名值而不做消费标记等于给重放留了一个窗口。第四PIN 锁定要有两层。Key内的PIN错误计数是硬件级保护服务端还要有账号级失败锁定。两者不可互相替代只有硬件锁定攻击者可以换Key继续猜账号口令只有账号锁定Key丢失后被离线暴力试探PIN的风险仍在。第五失败原因要区分记录、但不要对外暴露。审计里要写清是挑战过期“验签失败还是PIN锁定”因为失败记录对安全分析最有价值但返回给用户的提示应当统一为认证失败避免成为信息探测的入口。第六时间参数要显式约定。挑战有效期建议控制在六十秒以内过长会放大重放窗口过短会让性能较差的终端频繁失败。有效期、时钟来源、两端允许的偏差都应在设计文档里写明测评时会被问到。补充一点关于SM2签名本身的工程注意签名过程依赖芯片内产生的随机数kk的质量直接决定私钥是否可被推算。因此必须使用符合标准的密码模块产生k绝不能为了省一次随机数调用而复用k或改用伪随机实现——这是密码实现里最经典的致命错误之一。五、密评与等保取证对照这一节是全文最可以直接拿去用的部分。测评现场要求的不是我们做了而是拿出证据。下表按常见测评关注点列出证据材料与取证方法。测评关注点应提交的证据材料取证方法常见不合格原因身份鉴别使用密码技术认证链路算法说明、抓包或日志中SM2签名值样例、验签代码片段现场演示一次完整登录同步抓取认证报文并展示签名值实际走的是口令加短信国密只在部分页面使用密钥在密码模块内产生密码模块认证证书、密钥生成接口调用记录、芯片技术说明现场在终端上生成一对密钥演示私钥无法导出私钥由软件库产生后写入Key测评判为软件实现私钥不可导出厂商技术说明、导出接口不存在或无权限的实测记录尝试调用导出接口展示返回失败使用文件证书或软证书冒充硬件介质挑战值随机性随机数来源说明、密码模块随机数检测报告连续采集多组挑战值做基本统计检验挑战值由普通随机函数生成或由客户端生成防重放机制挑战一次性消费的实现说明与日志截获一次签名值后重放展示被拒绝只验签不标记消费重放成功摘要算法合规算法清单、代码中SM3调用点展示签名前的摘要调用与日志中的摘要值仍在使用SHA-1或MD5做摘要密钥全生命周期管理密钥管理平台的生成、存储、更新、归档、注销、销毁记录在密钥管理后台演示一次完整的签发到吊销证书分散签发无吊销列表无更新计划密码模块安全等级商用密码产品认证证书、GM/T 0028 相关等级说明展示证书与产品型号一致性证书型号与实发设备不一致或证书已过期传输通道保护国密套件协商成功的握手记录抓取握手报文展示套件与证书只在登录页用国密后续通信回落国际套件审计完整性审计字段清单、成功与失败事件样例、防篡改说明走一次登录成功—超时—重认证—越权失败—登出核对审计只记录成功不记录失败或日志可被应用账号删除等保2.0 双因素条款双因素策略配置截图、覆盖系统清单与覆盖率说明逐系统抽查确认第二因子真实生效存在开关式实现配置里可一键关闭登录失败与超时退出失败锁定策略、会话超时配置与实测记录连续错误登录后展示锁定静置后展示超时登出只做前端跳转服务端会话仍有效配套的证据包建议按下面目录准备测评时可直接整体提交密码应用方案总体描述、算法与密钥清单、部署拓扑密码产品认证证书复印件含型号、有效期与信创适配认证认证链路算法说明每一步用什么算法、在哪台设备上执行密钥产生与保护说明产生位置、存储形态、使用边界、销毁方式随机数来源与检测说明防重放设计说明与测试记录审计字段字典与样例导出双因素策略配置说明与覆盖系统清单登录失败锁定、超时退出、会话管理的配置与实测记录证书生命周期管理流程签发、更新、吊销、补办与演练记录国密套件协商测试记录与不兼容时的降级策略说明终端适配测试报告含国产操作系统与处理器型号密码应用安全性评估自查表逐条款自评与证据索引。这套材料的价值不止于过测评它同时是内部的安全基线文档。很多团队反馈把证据包整理一遍之后才发现自己以为已经做了的某些控制项其实从未真正生效。六、信创终端适配验证清单原理在Windows上跑通不等于在国产终端上能用。下面按层给出验证项每一项都建议在试点阶段实测并留截图或日志作为证据。层次验证项验证方法判定标准硬件识别Key插入后系统能否识别为标准设备在目标终端上插入并查看设备列表无需手工安装私有驱动即可识别驱动与中间件中间件在目标内核版本上能否加载并常驻安装后重启检查服务状态与日志重启后自动可用无报错登录框架操作系统登录环节能否调起Key认证在锁屏界面实测插Key加PIN登录登录流程完整失败有明确提示浏览器与国密浏览器能否完成国密套件协商用目标浏览器访问登录页并抓握手协商成功页面无证书告警老旧客户端C/S客户端通过动态库调用是否正常在目标终端上启动客户端并做一次签名签名成功时延可接受拔Key行为拔出Key后终端与会话的响应登录后拔Key观察锁屏与会话状态按策略锁屏或登出行为可配置离线场景断网状态下能否完成本地认证物理拔网线后重复登录与签名本地可认证联网后审计补传批量部署中间件能否静默安装与集中升级通过终端管理平台下发安装批量成功率达标可回滚外设兼容与指纹仪等其他外设并存是否冲突同时接入并交替使用无资源冲突识别稳定运维监控中间件健康状态能否被集中监控模拟中间件异常检查告警异常可发现、可定位、可自愈国产终端适配有两处特别容易出问题。一是内核版本碎片同一发行版的不同小版本USB设备节点与权限规则可能有差异需要在真实型号清单上逐一验证而不是在厂商的推荐配置上验证。二是浏览器国密套件的协商服务端配置了国密套件不代表客户端浏览器支持如果不支持是拒绝连接还是降级到国际套件这个决策必须在改造方案里明确写下来因为它直接影响测评结论。适配验证完成后建议把通过验证的操作系统版本、内核版本、浏览器版本、中间件版本固化成一张兼容矩阵作为后续终端采购与系统升级的约束条件。很多上线半年后突然出现的某某终端不能登录根因都是某次系统升级跳出了这张矩阵。七、分角色落地清单改造是跨部门工程责任不清是项目延期的主要原因。按角色拆分如下。安全团队负责分级标准制定、认证策略配置、挑战有效期与锁定阈值设定、防重放与防爆破验证、审计字段定义与日志接入安全分析平台、测评条款逐条自查。IT 运维负责终端中间件批量部署与升级、Key的发放与回收、补办与临时授权流程、兼容矩阵维护、拔Key锁屏等终端策略配置、值班与故障处置。合规团队负责证据包归集与版本管理、测评机构对接、整改项跟踪、覆盖率说明与豁免清单审批。业务系统负责人负责提供改造接口人与代码权限、配合联调、确认改造后业务流程尤其是超时重认证与敏感操作复验不受损。四个角色里最容易缺位的是业务系统负责人。改造清单上写着某系统对接到了排期才发现该系统没有源码、原开发商已失联这类问题必须在盘点阶段就暴露出来而不是在联调阶段。八、常见打回原因与整改方向结合一线项目测评或内审中被打回的高频原因有六类。其一国密只覆盖登录页。登录用了SM2登录后会话令牌的签发与校验、敏感数据的存储仍在用国际算法。整改方向是梳理全链路算法清单而不只看认证那一步。其二密钥产生位置不合规。整改方向是把密钥产生与保护迁移到通过认证的密码模块与密钥管理平台并保留生成与调用记录。其三防重放缺失。整改方向是补上挑战一次性消费与会话绑定并补一次重放测试记录。其四审计不完整或可删。整改方向是补齐失败事件记录、结构化字段与外部日志平台实时外送并确认审计记录防篡改。其五证书无生命周期管理。整改方向是接入中心化签发与吊销并做一次到期批量更新演练。其六覆盖率说不清。整改方向是产出覆盖系统清单、未覆盖清单及补偿控制措施并由合规团队定期复核。九、常见问题 FAQ问一已经有软证书了换成UKey值不值区别在于私钥是否可复制。软证书的私钥是文件可被拷贝、可被离线使用、被拖库即泄露UKey的私钥在芯片内产生且不可导出所有运算在芯片内完成。在需要过密评的场景这个差异直接决定测评结论。问二改造是不是一定要改业务系统代码取决于系统与认证平台的对接方式。走标准协议或已有网关代理的通常配置即可只有表单登录且无标准接口的自研系统才需要在登录页与认证接口上做少量改造或通过网关前置兜底。问三RESTful API 与 C 动态库怎么选新系统、跨语言、Web 后端选接口形态集成快、升级解耦传统C/S客户端、工控软件、需要本地离线调用的选动态库形态。两者并存是常态不必强行统一。问四Key丢了怎么办关键是要有三层兜底服务端吊销Key标识与证书加入失效名单、补办流程重新签发与绑定原Key即刻失效、临时授权给一段有限期的应急凭据且全程留痕。没有这三层丢Key就等于业务停摆。问五离线环境能用吗能。签名验签在芯片内完成不依赖网络只有需要在线校验证书状态时才依赖网络此时应使用本地缓存的吊销列表并设置合理的缓存有效期恢复网络后自动更新与补传审计。问六PIN 锁定阈值设多少合适常见做法是五到十次具体看误锁容忍度。更稳妥的是双层Key内硬件锁定防离线爆破服务端账号锁定防在线猜测两者独立计数。同时要把解锁流程写进运维手册避免用户被锁后只能等管理员。问七密码模块的安全等级怎么理解按 GM/T 0028 的等级划分等级越高对物理防护、身份鉴别、运行环境的要求越严。选型时应确认产品明示的等级与认证证书一致并在方案中写明该等级是否满足本系统的保护要求。问八信创终端适配要准备多长时间取决于终端型号数量。建议按型号清单 × 验证项排期每个型号走完整套清单。只在一两台推荐配置上验证是后期事故的主要来源。方案参考安当UKey智能密码钥匙是上海安当技术推出的国密安全芯片硬件认证产品可作为国密双因素改造与密评取证的参考对象。结合本文的改造路径与取证清单其能力对应关系如下硬件与算法32位RISC安全芯片、128KB安全存储支持 SM1/SM2/SM3/SM4 国密算法并兼容 RSA/AES/ECC/SHA 国际算法便于存量国际算法系统并行过渡。私钥保护密钥在芯片内生成、私钥不可导出所有签名与解密运算在芯片内完成对应本文密钥产生位置与私钥不可导出两项测评取证点。四套认证方案KeyID 绑定 → UserNameKeyID → 签名验签 → CA证书可按应用敏感度分级部署避免一刀切带来的推广阻力。五大应用方向Web双因素、C/S认证、软件授权保护、会话加密、操作系统双因素覆盖本文盘点表中的多数系统类型。集成形态RESTful API约2300个接口与 C 动态库并行适配新系统走接口、老客户端走动态库的混合改造路线。密钥底座协同与密钥管理系统配合把证书的签发、更新、吊销与密钥全生命周期纳入中心管控对应本文证据包中的密钥管理与生命周期两项。信创适配支持麒麟、统信、鲲鹏、龙芯等国产环境并取得相应适配认证可按第六节的兼容矩阵方式固化版本约束。建议的落地顺序是先按第二节做现状盘点并产出系统清单按第三节的五阶段路径排期按第四节的六个细节做实现自查再按第五节逐条准备证据包并完成一次模拟测评最后按第六节的清单在真实终端型号上完成适配验证并形成兼容矩阵。