摘要
- 有状态哈希签名密钥同时包含相对静态的秘密材料,以及记录一次性签名索引消耗情况的可变状态。备份通过完整性验证,并不代表它仍掌握最新、唯一的剩余容量。
- 完整签名的释放与状态的持久推进必须成为一个不可分割的动作。扇区、索引区间和时间窗口可以隔离容量,但恢复后不能与仍在线、已故障、被克隆或离线保管的签名器发生重叠。
- HSM自检成功或测试签名有效,只能证明设备能够签名,不能证明所用索引从未暴露。恢复授权需要一份记录排他边界、删除证据和主动作废容量的保管回执。
一次危险的恢复可能看起来无可挑剔:备份顺利解密,校验值一致,硬件安全模块成功导入材料并通过自检,测试消息也得到可验证的签名。传统密钥恢复往往到此结束。但在有状态哈希签名系统中,所有这些结果都没有回答关键问题:这个一次性索引是否已经在故障前离开过系统?
RFC 10033是一份IETF流的资讯类文件,它把这个问题从算法边缘移到运营中心。XMSS与LMS把许多一次性签名(OTS)组合成长期可用的公钥体系。同一个OTS秘密如果用于两个不同消息,暴露的信息可能使伪造在计算上变得可行。因此,密钥安全不只依赖秘密未被窃取,也依赖每个索引只被使用一次。
真实却过期的备份
假设系统在下一个可用索引为30,000时制作备份,之后又对外释放了2,000份签名,并把实时状态推进至32,000。当前状态在事故中丢失后,运维人员恢复旧副本。副本内的秘密是真的,签名也能通过验证;但它会把30,000至31,999重新视作可用。外部世界已经见过这些索引,本地系统却忘了。
这里没有伪造备份,问题是时间上的真实性断裂。校验和能说明文件没有被改动,却不能说明不存在更新版本;备份签名能说明谁制作了副本,却不能关闭仍在另一个机房运行的克隆。RFC 9802也明确提醒:若没有正确协调状态,沿用无状态密钥的复制与恢复方式很可能导致OTS复用。
NIST SP 800-208对其批准的有状态HBS参数采取更严格的边界:密钥和签名在硬件密码模块内生成,私钥材料不可导出。RFC 10033还讨论了超出该NIST配置的操作方案。两者不能混为一谈:RFC描述了某种受控导出流程,并不意味着符合NIST配置的模块可以导出私钥。
静态秘密与可变状态
秘密材料决定系统能否生成有效签名;可变状态决定哪些签名能力还具有排他性。索引计数器看似只是密钥旁边的一小段数据,实际上也是安全边界的一部分。与它同属这一边界的,还有区间预留、签名器身份、响应队列、完整签名日志、虚拟机快照和源设备停用证据。
这使恢复从“完整性”问题变为“排他性”问题。旧副本可以完全正确,却不再具有关于剩余容量的权威。进程分叉、缓存未落盘、虚拟机克隆、双机切换或两组应急人员同时激活同一代备份,都可能让两台有效设备认为同一个OTS索引属于自己。
推进状态与释放签名必须合一
RFC 8391要求XMSS在输出签名前更新私钥状态;RFC 8554对LMS提出相应纪律。RFC 10033进一步用数据库事务来描述理想属性:签名释放和状态推进需要原子性、一致性、隔离性与持久性。
如果系统先持久推进状态,随后在返回签名前崩溃,一个索引会被浪费,但不会复用。如果系统先返回签名,随后丢失状态写入,外部已经消耗该索引,内部却仍把它当作空白。两种损失并不对称。主动烧掉一段不确定容量会缩短密钥寿命;复用它则可能损害整个公钥下所有依赖决定的可信度。
扇区、区间与时间窗口
RFC 10033提出几种划分状态空间的方法。扇区化可以让共同公钥下的独立片段由不同签名器保管。预分配可以给设备互不重叠的索引段。区间预留要求进程先整体占用一段容量;进程崩溃后,未使用的尾部也不再分配。时间窗口把容量限定在特定时期,但逻辑时钟绝不能回拨,过去窗口内未使用的索引也应视为作废。
这些办法改变的是保管单位,而不是“一次且唯一”的规则。转移扇区时,源端必须停止使用,目的端也不能与任何副本、故障设备、离线备份或既有分配重叠。部分转移与后续合并同样需要完整账目。
在NIST不可导出配置之外,RFC还描述了预先生成底层树的恢复方式:用尚未使用的上层OTS密钥为底层树根签名,导出种子、签名、索引和哈希,并不可逆地删除源副本;恢复时导入第一个未使用的种子,重建树并核对哈希,随后从备份介质删除该种子。它的价值在于明确所有权的移动;最难证明的仍然是“删除”,尤其当源设备已经损坏或备份由第三方保管时。
恢复保管回执
RFC 10033没有规定一份通用回执。本文提出它,是为了让应急决定在事后可以复核。
回执至少应包括:公钥、算法与参数;签名器和HSM身份;备份代次与创建时间;恢复状态;已观察到完整签名的最高索引;扇区、区间或时间窗口边界;主动作废的预留容量;源端静默和删除证据;导入包哈希;操作人与批准人;激活与对账时间;以及从日志或依赖系统中发现的重复索引检查结果。
不确定性也必须写入。如果最后一次可靠落盘停在50,000,但响应队列可能已释放至50,127,恢复应越过整个模糊区间。如果无法证明故障源端已停止,其所属扇区应继续隔离。如果某份离线副本无法收回,它就是持续的重叠风险,而不是无害的存档。
回执不是密码学证明。它说明组织为何相信恢复后的签名器独占从未使用的区域,以及为了把不确定性变得安全而牺牲了多少容量。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
