一、信创终端上的登录改造,为什么比想象中难
很多团队在百度搜索"信创终端双因素登录方案"时,真正想确认的其实不是某一款硬件的参数表,而是三个非常具体的问题:这台飞腾或鲲鹏芯片、跑国产操作系统的终端,插上 Key 之后系统能不能识别;登录界面能不能弹出第二因子的 PIN 输入框;一旦出问题,是硬件、中间件还是操作系统的责任。这三个问题背后,恰恰是信创终端身份鉴别最容易被低估的复杂度。
在 x86 加 Windows 的传统环境里,智能卡登录是一条被打磨了二十年的成熟路径:操作系统内置了智能卡基础组件,中间件厂商只需要按规范提供相应的加密服务提供程序或 PKCS#11 模块,上层登录组件几乎不需要改动。但到了信创终端,这条链路上的几乎每一环都要重新验证。
第一环是芯片指令集。国产终端常见的 CPU 架构包括 ARM64(鲲鹏、飞腾)、LoongArch(龙芯)、MIPS 以及 SW64 等。中间件、动态库、PAM 模块都必须以对应架构重新编译,不能简单地把 x86 架构的二进制文件拷贝过去。更麻烦的是,部分中间件依赖的第三方库(如智能卡资源管理器、USB 访问库、密码算法库)在国产操作系统上的版本可能与上游不一致,导致符号版本与二进制接口不兼容。
第二环是操作系统与内核版本。国产操作系统多基于 Linux 内核定制,内核版本跨度大,且部分发行版启用了较严格的内核模块签名校验与安全启动机制。如果中间件包含内核态驱动(一些老型号 USB 令牌会实现自定义内核模块),就必须完成内核模块签名,否则加载会被直接拒绝。
第三环是密码算法合规。信创项目通常伴随商用密码应用安全性评估要求,身份鉴别环节使用国际算法(RSA、SHA 系列)往往难以通过测评,必须使用 SM2 做签名鉴别、SM3 做摘要、SM4 做传输保护。而绝大多数国外智能卡中间件生态是围绕 RSA 加 PKCS#11 建立的,对国密算法的支持要么没有,要么是通过应用层旁路实现,无法做到私钥不出硬件。
第四环是登录模块的接入点。国产终端的图形登录界面各不相同,锁屏、屏保、切换用户、提权、远程登录这些子场景分别由不同的 PAM 服务文件控制。要覆盖完整,必须逐个子场景配置与测试,只配一个图形登录是远远不够的。
最后一环是运维侧的现实压力。信创替换往往是批量推进:一个单位上千台终端,一个厂区数百台工控机。Key 的发放、证书灌注、PIN 初始化、丢失补发、离职回收,如果靠人工一台台操作,项目一定卡在最后一公里。
把这几环串起来可以看到,信创终端的国密 Key 登录不是一个"装个驱动"的问题,而是一条从硬件、中间件、PAM、目录服务到运维流程的完整工程链。
二、先理清:一次终端登录到底要经过几层
在动手之前,先把链路画清楚,后面排查问题时才能快速定位。一次典型的信创终端国密 Key 登录,纵向可以分为六层。
第一层,物理与设备层。Key 插入 USB 接口,USB 子系统识别设备,设备节点出现在系统设备目录下。多数现代 Key 走免驱协议路径,不产生传统串口设备。设备规则负责把设备节点权限放给登录进程,否则会出现"管理员能看见、普通登录进程看不见"的经典故障。
第二层,中间件与接口层。登录进程通过中间件访问 Key。国密场景下走的是 SKF 接口,中间件以动态库形式提供,负责设备枚举、应用与容器管理、密钥与证书读写、签名运算调用。
第三层,PAM 模块层。PAM 是可插拔认证模块框架,一个认证模块被插入到图形登录、锁屏、提权等服务栈中,负责在认证阶段与中间件对话,完成"读证书、取挑战、调用 Key 内签名、返回签名值"这套动作。
第四层,账号映射层。签名值被送回认证模块后,需要回答"这把 Key 对应哪个系统账号"。常见做法是从证书中取出某个字段,映射到系统用户名或目录服务中的账号。
第五层,服务端验签与策略层。在联网场景下,映射结果与签名值被送到认证服务端做验签、查证书吊销状态、查账号状态、匹配终端策略;单机离线场景下则由本地缓存的凭据与策略文件完成判定。
第六层,会话与审计层。认证通过后建立会话,同时写入审计日志:谁、在哪台终端、什么时间、用了哪把 Key、结果如何。拔 Key 锁屏策略也在这一层实现,由守护进程监听设备移除事件并触发锁屏。
理解这六层之后,任何一个登录失败,都可以先判断是哪一层断的,而不是盲目重装驱动。
三、两套接口的分野:PKCS#11 与国密 SKF
这是信创终端适配中最容易踩坑、也最容易被一句"我们支持国密"糊弄过去的地方。
PKCS#11 是国际上通用的密码令牌接口标准,其设计假设是令牌内部有 RSA 私钥,可以对一段数据做私钥运算。它的抽象模型是插槽、令牌、对象三级,通过句柄操作密钥对象。RSA 签名的典型流程是:应用侧先把原文做摘要、按标准填充成待签名块,然后把这块数据送进令牌做私钥运算。也就是说,摘要与填充在应用侧完成,令牌只做模幂运算。
国密 SKF 接口(对应智能密码钥匙密码应用接口规范)的设计则不同。它围绕国密算法体系定义,抽象模型是设备、应用、容器三级,容器内可以存放加密密钥对、签名密钥对以及证书。SKF 的签名接口传入的通常是原始数据或摘要值,由 Key 内部完成摘要计算与签名运算:SM3 摘要与 SM2 签名在 Key 内完成,私钥全程不出安全芯片边界。
这个差异带来三个工程后果。
其一,算法标识不同。SM2 签名涉及椭圆曲线参数、用户标识参与的可辨别标识计算、摘要算法绑定,这些在 PKCS#11 的标准机制列表里没有对应项。硬塞进 PKCS#11 的机制枚举,只能靠厂商自定义扩展值,跨厂商不通用。
其二,密钥不可导出性的约束不同。SM2 私钥必须在 Key 内生成、在 Key 内使用、永不以明文形式导出。SKF 接口从设计上就只暴露签名、解密这类运算接口,不提供取私钥明文的接口,这与合规要求天然契合。而 PKCS#11 在属性允许时可以导出私钥,在密评中反而是一个需要额外举证的风险点。
其三,证书与容器的绑定关系不同。SKF 的容器里有明确的签名证书与加密证书槽位,读取证书是标准动作;PKCS#11 里证书只是一个对象,需要靠属性过滤器自行查找。
对信创终端而言,结论很明确:登录链路应当直接基于 SKF 接口构建,而不是走"PKCS#11 兼容层加国密扩展"。后者虽然能在部分中间件上跑通,但一旦涉及密评举证,会因为算法调用路径不可控、私钥运算存在旁路等问题被质疑。
以安当UKey为例,其提供的中间件同时暴露 SKF 标准接口与上层封装(接口服务与 C 动态库),在信创终端上建议优先走 SKF 原生路径,由认证模块直接调用动态库完成签名,链路最短、可举证性最好。
四、PAM 体系如何接入硬件介质
PAM 是国产操作系统上做登录扩展的标准方式。理解三个概念,配置就不会乱。
服务文件。PAM 配置目录下的每个文件对应一个服务,图形登录、锁屏、提权、用户切换、远程登录服务各有一个。不同国产桌面环境的文件名可能不同,实施前需要先确认,不能照抄通用发行版的配置。
模块类型。PAM 栈中有鉴别、账号有效性检查、口令修改、会话建立与清理四类。国密 Key 登录主要工作在鉴别与会话两类:鉴别阶段做双因素校验,会话阶段创建会话环境、注册拔 Key 监听。
控制标志。包括 required、requisite、sufficient、optional 等。这是最需要谨慎的地方。双因素的正确语义是"口令并且 Key 都通过",因此两个模块都应当是 required 或 requisite,而不是 sufficient。如果误配成 sufficient,会出现 Key 通过就放行、口令被跳过,或者口令通过就放行、Key 形同虚设的严重问题,这在等保测评中是典型的不符合项。
一个典型的配置片段(示意,模块名与参数以实际中间件为准):
# 图形登录服务的 PAM 配置片段(示意) auth required pam_env.so auth required pam_ukey.so skf_path=/usr/local/lib/libukey_skf.so \ ca_file=/etc/ukey/ca.crt \ match=cert_serial \ fallback_otp=yes \ timeout=30 auth substack system-auth account required pam_unix.so session required pam_ukey_session.so session required pam_unix.so这里有几个参数值得说明。match 指定账号映射方式,本例用证书序列号;fallback_otp 表示当 Key 不可用(遗失、损坏)时允许用户使用应急一次性口令登录,这是生产环境必备的逃生通道;timeout 控制等待用户插 Key 与输 PIN 的最长时间,设置过短会导致用户还没输完就判定失败。
配置 PAM 时有几条工程纪律。
第一,改之前先保留一个已登录的管理员终端不关闭。PAM 配错最直接的后果是全员无法登录,保留一个活跃会话是必备的自救手段。
第二,逐服务灰度。先在提权场景上验证模块能正常工作,再改图形登录,最后改锁屏。
第三,保留口令通道。在系统稳定前不要把口令认证项删除,应该是口令与 Key 并存,而不是直接替换。
第四,注意授权服务与屏保。很多团队只配了登录,没配授权服务的 PAM 栈,导致 Key 登录后弹窗提权只需点一下确认,形成明显的绕过路径。
五、完整登录链路拆解
把前面的层串起来,一次成功的信创终端国密 Key 登录,时序如下。
第一步,设备探测与会话建立。用户插入 Key,设备规则把设备权限放给登录进程(关键是权限位、所属组与归属用户的设置)。认证模块调用 SKF 的枚举接口,列出当前可用设备,打开应用与容器,取得会话句柄。
第二步,读取证书。从容器的签名证书槽位读出证书内容。此时可以先做一次本地校验:证书是否在有效期内、颁发者是否可信(用预置的 CA 证书验证)。这一步能过滤掉大部分拿错 Key 的情况。
第三步,生成挑战。服务端或本地生成一段随机数作为待签名数据。挑战必须是单次有效的,防止重放攻击。常见做法是把随机数与时间戳、终端标识拼接,服务端记录已使用的挑战值。
第四步,Key 内签名。认证模块调用 SKF 签名接口,把挑战送进 Key。Key 内部先要求验证 PIN(若尚未验证),PIN 校验在 Key 内完成,错误次数由 Key 内计数器管理,达到阈值自动锁定。PIN 通过后,Key 在芯片内部完成 SM3 摘要与 SM2 签名,输出签名值。这里要特别强调:PIN 不以明文形式经过主机内存传到服务端,PIN 校验完全在 Key 内完成,这是硬件介质相对软件令牌的核心安全优势。
第五步,服务端验签。签名值连同证书被送到认证服务端。服务端做三件事:用证书中的 SM2 公钥验证签名;用 CA 链验证证书本身的合法性与吊销状态;按映射规则把证书解析成系统账号。
第六步,账号状态与策略判定。检查账号是否被禁用、是否在允许登录的终端列表内、当前时间是否在允许时段内、是否命中异常登录等风险规则。
第七步,建立会话与审计。返回认证成功,会话阶段拉起用户环境,后台守护进程注册该 Key 的在线状态,写入审计日志,并启动拔 Key 监听。
第八步,持续保护。Key 被拔出时,守护进程收到设备移除事件,立即锁屏;重新插入并输 PIN 可解锁。这就是人走拔 Key、拔 Key 即锁屏的行为闭环,也是等保中关于登录超时与锁定策略要求的有力支撑。
六、证书与账号的绑定方式
绑定策略是整个方案里最容易被低估、但直接影响后续运维复杂度的一环。常见的四种做法如下。
方式一,Key 唯一标识直接映射。每把 Key 出厂时内置唯一标识,管理后台把该标识与系统账号做一对一绑定。优点是最简单、不依赖证书体系;缺点是没有密码学强度的标识校验,且 Key 与账号是静态绑定,换 Key 必须改绑定关系。适合小批量、封闭场景。
方式二,证书序列号映射。从证书中取序列号作为账号查找键。优点是证书可换发,序列号变化可追溯到签发记录;缺点是换发证书后需要同步更新映射关系。
方式三,证书主题项映射。把用户名写进证书主题或某个扩展字段,认证时解析主题得到账号。优点是与目录服务天然对齐,支持一人多终端、一终端多人的灵活关系;缺点是需要 CA 签发环节与人事数据打通。
方式四,证书加目录服务属性映射。把证书指纹或公钥写进目录服务的用户条目属性中,认证时用证书去目录里反查用户。这是大中型项目的主流做法,账号生命周期(入职签发、离职吊销)可以实现自动化。
工程上建议:把 Key 出厂唯一标识作为硬件资产管理主键,把证书主题或指纹作为账号认证主键,两者在管理后台建立关联。这样既能追踪这把 Key 发给了谁,又能在换发证书时不破坏账号关系。
绑定的粒度也要提前定:一人一 Key、一机一 Key,还是一人多 Key。信创终端场景通常推荐一人一 Key,禁止多人共用,因为共用会直接摧毁审计的不可抵赖属性。确需共享的值班岗位,应走共享账号治理机制,而不是简单地让多人共插一把 Key。
七、离线登录与本地缓存凭据
信创终端有一大类场景不具备稳定网络条件:外场工控机、野外作业终端、涉密内网单机、生产线设备。这些终端不能因为连不上认证服务端就锁死,因此必须设计离线登录路径。
离线登录的核心问题是:本地如何在不持有任何秘密的前提下,验证一把 Key 确实是合法的?答案是缓存那些可验证但不敏感的数据。
- 缓存 CA 证书(公钥,非敏感),用于本地验证 Key 内证书是否由可信 CA 签发;
- 缓存已授权证书指纹清单(哈希值,非敏感),用于判断这把 Key 是否被允许登录本机;
- 缓存证书吊销清单或增量吊销列表,并附带有效期;
- 缓存账号状态快照,即哪些账号在本机有权登录;
- 缓存策略文件,包括 PIN 重试次数、允许时段、锁定阈值等。
有了这些数据,本机就能独立完成"生成挑战、Key 内 SM2 签名、本地 SM2 验签、查白名单、判定"的完整闭环,全程不需要网络。所有缓存文件应当做完整性保护,例如用 SM3 计算摘要、用 SM4 加密存储,密钥由本机安全存储区或密钥管理系统下发,防止被篡改后放行非法 Key。
离线模式还需要注意三个细节。
其一,缓存有效期。给缓存文件设一个有效窗口,如七天或三十天,超过窗口必须联网同步一次,否则拒绝离线登录。这样即使有人离职后拿着旧 Key 到离线终端上登录,也能在窗口内被拦截。
其二,离线审计补传。离线期间的登录日志先写本地环形缓冲,恢复网络后自动补传到审计中心,保证审计链条不断裂。
其三,应急通道。Key 丢失或损坏时,离线终端不能变成永远打不开的铁盒。常见做法是预生成一批一次性应急口令(管理员签发、单次有效、有过期时间),或配置双人解锁(两名管理员各持一把 Key 同时插入才放行)。
八、国密算法在信创合规中的定位
信创终端的身份鉴别要过商用密码应用安全性评估,算法选型必须经得起追问。三个算法各司其职。
SM2 用于身份鉴别,构成双因素的第二因子。SM2 是基于椭圆曲线的公钥密码算法,支持数字签名、密钥交换与公钥加密。在 Key 登录场景下,用 SM2 私钥对服务端挑战做签名,服务端用证书中的 SM2 公钥验签。因为私钥只在 Key 内生成与使用,签名运算在芯片内完成,这就是双因素中"你所拥有的"这一因子的密码学依据。攻击者即便知道账号口令、甚至已经控制了终端主机,没有物理 Key 与 PIN 也无法完成签名。
SM3 用于完整性保护与摘要。SM3 输出 256 位摘要。在链路中的用途包括:对挑战数据做摘要(在 Key 内完成)、对缓存的策略文件与审计日志做完整性校验、对证书做指纹计算。需要澄清一个常见误解:SM3 不是用来加密的,它的价值在于任何篡改都会导致摘要变化从而被发现。
SM4 用于传输保护。SM4 是分组对称算法,分组与密钥长度均为 128 位。在终端与认证服务端之间的通信中,用 SM4 保护传输数据,避免挑战值、签名结果、账号信息在明文通道上暴露。在国产操作系统上,可以优先走操作系统密码库提供的国密能力,也可以通过中间件提供的密码服务实现。
在密评视角下,鉴别环节的典型要求是:身份鉴别应采用密码技术实现,不得使用不可控的算法;关键密码运算应在合规密码产品内完成;密钥全生命周期受保护。国密 USBKey 作为取得商用密码检测认证的产品,恰好把这些要求都落在了硬件边界内。这也是为什么在信创合规场景里,硬件 Key 的地位难以被纯软件令牌替代。
九、驱动与中间件在国产内核上的适配要点
这一节是实施阶段最容易卡住的地方,逐条列出。
免驱优先。现代国密 Key 多数支持标准设备类协议,国产操作系统内核自带的 USB 与 HID 驱动即可识别,不需要安装内核态驱动。能走免驱就不要装内核驱动,这是规避内核签名问题最简单的办法。
中间件必须提供对应架构的二进制。ARM64、LoongArch、MIPS、SW64 各自需要独立编译与验证。交付时要向厂商索取适配清单,并且要在目标机型的真实内核版本上验证,不能只在通用发行版上验证通过就交付。
内核模块签名。若确实需要内核态驱动,则该模块必须完成签名,否则在启用了模块签名校验的内核上会加载失败。涉及安全启动的环境,还要确认签名证书是否被平台信任链接受。
动态库依赖检查。用依赖检查工具核对中间件动态库的全部依赖,确认所有依赖库在目标系统上存在且版本匹配。常见问题包括 C 运行库版本过低、智能卡资源管理器缺失、密码算法库未安装。
桌面环境与 PAM 服务文件差异。不同国产桌面环境的登录管理器使用的 PAM 服务文件名不同,需要逐个确认。有的环境还需要同时改动授权服务配置,否则提权弹窗会成为绕过点。
权限与强制访问控制。部分国产操作系统启用了强制访问控制策略,认证模块访问 USB 设备、读取配置文件、写审计日志都可能需要策略放行。上线前应在开启安全策略的状态下完整跑一遍,而不是先关掉策略再说。
多用户与并发。终端可能存在快速用户切换、多桌面并存的情况,要验证多会话下 Key 句柄的正确释放,避免出现换用户后 Key 仍被上一个会话占用的问题。
十、批量部署与运维:决定项目能不能收尾
技术跑通只是半程,剩下半程是上千把 Key 的生命周期管理。很多团队在百度搜索"USBKey 批量部署"时,真正想确认的是工厂发货态能不能直接上线、以及丢卡之后要走几步。
批量灌证书。不要一台台手动操作。批量模式通常是:厂商按订单预置密钥对与出厂证书(或导入 CA 签发的证书),同时提供批量工具,由管理员用管理 Key 授权后,批量写入用户证书、初始化 PIN、写入机构标识。批量工具的产出应当是一张"Key 唯一标识—证书序列号—持有人—发放日期"的对照表,直接导入管理后台,作为后续台账的初始数据。
PIN 策略。PIN 是 Key 的最后一道防线,策略应包含:初始 PIN 必须强制首次使用时修改;最小长度(一般场景建议不小于六位,安全要求较高场景取八位);复杂度要求;错误次数上限(常见五次或十次,超限锁定);PIN 有效期与定期修改提醒。注意重试计数器在 Key 内,锁死后只能靠管理员解锁码或管理 Key 解锁。
锁定与解锁。分两层:一是 Key 自身因 PIN 连续错误而锁定,需要用管理员解锁码或管理 Key 解锁(解锁码也要有次数限制,耗尽则 Key 永久锁定,只能补发);二是账号层面因风险策略被锁定,由管理员在后台解锁。两套锁定机制要分别记录日志,因为它们的责任主体不同,前者是用户操作问题,后者可能是安全事件。
丢卡补发。流程应当预先定义:用户报失,管理员在后台吊销该 Key 对应证书并写入吊销列表,该 Key 唯一标识进入黑名单(即使证书未过期也拒绝),发放新 Key 并重新绑定账号,旧 Key 即便找回也不得再启用。吊销列表的下发要考虑离线终端,必须在缓存有效期内同步到位。
离职回收。与人事系统联动是关键。员工离职时自动触发证书吊销、账号禁用、Key 加入黑名单、物理回收登记四个动作,避免人走了 Key 还在流通。
台账与盘点。维护 Key 的资产台账,状态分为在库、已发、已挂失、已报废,定期盘点。信创项目验收时,台账的完整性往往是检查项之一。
十一、兼容性检查清单
下面是上线前建议逐项打勾的清单。
| 检查项 | 说明 | 常见风险 |
|---|---|---|
| CPU 架构支持 | 各架构需有独立编译产物 | 二进制直接拷贝导致无法加载 |
| 操作系统版本 | 国产操作系统具体版本加内核小版本 | 通用发行版验证通过、目标版本失败 |
| 免驱能力 | 是否走标准设备类协议,是否需要内核模块 | 内核模块未签名导致加载失败 |
| 动态库依赖 | 依赖检查工具核对全部依赖可解析 | C 运行库或资源管理器版本不匹配 |
| PAM 服务覆盖 | 登录、锁屏、屏保、用户切换、提权、远程服务、授权服务 | 只配登录,提权与锁屏成绕过点 |
| 算法合规 | SM2 签名、SM3 摘要、SM4 传输保护 | 实际仍走国际算法,密评不通过 |
| 账号映射 | 唯一标识、证书序列号、主题或目录属性 | 换发证书后映射失效 |
| 离线能力 | 缓存 CA、白名单、策略与有效期 | 断网即锁死设备 |
| 应急通道 | 一次性应急口令或双人解锁 | Key 丢失后终端永久不可用 |
| 审计完整 | 登录、失败、拔 Key、解锁、补发全记录 | 审计缺失导致无法追溯 |
| 并发会话 | 快速用户切换、多桌面并存 | Key 句柄被占用无法释放 |
| 强制访问控制 | 开启安全策略下功能完整 | 关掉策略才可用,上线后暴露风险 |
十二、常见故障排查
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| Key 插入无任何反应 | 设备规则缺失、USB 口供电不足、设备被列入黑名单 | 查看系统设备日志与 USB 枚举结果,检查设备节点权限 |
| 系统能识别设备但中间件枚举不到 | 动态库路径配置错误、架构不匹配、依赖缺失 | 用依赖检查工具核对,确认架构一致 |
| 提示请插入 Key 但 Key 已插入 | 认证模块权限不足、会话句柄被占用 | 检查登录进程所属用户组,排查残留进程 |
| PIN 输入后一直失败 | 输入法或大小写问题、PIN 已锁定、PIN 策略变更 | 先用管理工具确认 Key 是否锁定,再用管理员解锁码解锁 |
| 签名失败 | 容器未打开、证书槽位为空、挑战数据格式错误 | 用中间件自带工具做一次本地签名自测 |
| 验签不通过 | 服务端 CA 与终端证书链不匹配、时间偏差过大 | 核对 CA 证书,检查系统时间同步 |
| 账号映射失败 | 证书字段与映射规则不一致、目录服务未同步 | 打印证书内容,核对映射字段取值 |
| 拔 Key 不锁屏 | 守护进程未启动、设备监听未注册 | 检查守护进程运行状态与日志 |
| 离线终端拒绝登录 | 缓存过期、吊销列表未更新 | 联网同步一次缓存,检查有效期设置 |
| 提权弹窗无需 Key | 授权服务的 PAM 栈未接入 | 补充授权服务相关 PAM 配置 |
| Key 拔不掉或进程占用 | 句柄未释放、多会话冲突 | 检查会话清理逻辑,重启登录服务 |
排查的总原则是自下而上。先确认硬件与设备层(能不能枚举到设备),再确认中间件层(能不能打开容器、能不能本地签名),再确认 PAM 层(模块有没有被调用到),最后才是服务端与策略层。逐层做最小验证,比反复重装中间件要高效得多。
十三、FAQ
Q1:信创终端上能不能沿用国外智能卡中间件的思路来做?
不建议。国外中间件生态围绕 PKCS#11 加 RSA 建立,而国密 Key 的正确用法是 SM2、SM3 加 SKF 接口,且要求私钥不出硬件。套壳实现的方案在功能上可能跑通,但在密评举证时会遇到算法调用路径不可控的问题。
Q2:PKCS#11 和 SKF 能不能共存?
技术上可以在同一台机器上同时安装两套中间件,但登录链路建议只走一条,避免会话句柄冲突与排查困难。有国际算法需求的业务可以单独走 PKCS#11 路径,与登录链路隔离部署。
Q3:操作系统登录必须联网吗?
不必。联网模式下做服务端验签与吊销检查,离线模式下用本地缓存的 CA 证书、白名单与策略完成本地验签。信创场景建议两种模式都支持,并配置缓存有效期。
Q4:一把 Key 能给多个人用吗?
技术上可以,但会摧毁审计的不可抵赖性,在等保与密评中不被认可。应当一人一 Key;确有共享岗位的,走共享账号治理机制配合审计追溯。
Q5:Key 丢了怎么办?
按预定义的补发流程:报失即吊销证书并加入黑名单,发新 Key 并重新绑定,旧 Key 找回也不再启用。应急期间可使用预生成的一次性应急口令或双人解锁进入系统。
Q6:PIN 锁死了一定要补发吗?
不一定。PIN 锁定可以用管理员解锁码解锁;只有解锁码次数也耗尽、或 Key 硬件损坏时才需要补发。管理员解锁码应分级保管,避免单人掌握全部解锁能力。
Q7:拔 Key 锁屏在远程会话里生效吗?
本地会话可以基于设备移除事件触发。远程访问会话中,Key 插在本地客户端,服务端感知不到物理拔插,需要依赖客户端代理上报事件或会话空闲策略来实现等效保护。
Q8:信创终端做国密 Key 登录,性能会有影响吗?
登录是低频动作,SM2 签名在 Key 内的耗时通常在毫秒级,瓶颈主要在 PIN 输入与网络往返,不在算法本身。
Q9:国产操作系统升级内核后中间件失效怎么办?
这是信创环境的常见运维项。建议在操作系统大版本升级前,先在测试机上验证中间件兼容性,并保留旧内核启动项作为回退手段。
方案参考
安当UKey是上海安当技术推出的国密智能密码钥匙产品,可作为信创终端合规登录的硬件载体参考方案。其核心能力如下:
- 国密算法:支持 SM1、SM2、SM3、SM4 国密算法,同时兼容 RSA、AES、ECC、SHA 等国际算法,便于存量系统平滑过渡。
- 接口形态:提供符合国密智能密码钥匙接口规范的 SKF 接口,另提供接口服务与 C 动态库,便于操作系统登录模块与业务系统集成。
- 硬件规格:采用 32 位 RISC 安全芯片,具备 128KB 安全存储空间,私钥在芯片内生成与使用,不可导出。
- 认证方案:支持 Key 唯一标识映射、标识加用户名、签名验签、CA 证书四类认证方案,可按需选择账号绑定粒度。
- 应用方向:覆盖 Web 双因素、客户端与服务端认证、软件授权保护、会话加密、操作系统双因素五个方向。
- 信创适配:面向国产 CPU 与国产操作系统提供适配支持,可配合操作系统登录模块实现终端强身份鉴别与拔 Key 锁屏。
在规划信创终端登录改造时,建议按本文第十一节的兼容性清单逐项验证,优先完成驱动与中间件在目标机型上的小批量试点,验证离线模式与应急通道可用之后,再进入批量部署阶段。