开源之夏-12

在我们讨论的国密安全模块/密码卡语境下:

  • SDF“Security Device Function” 的缩写,
    泛指《GM/T 0018-2023 密码设备应用接口规范》中定义的 安全设备函数接口(俗称 SDF 接口)。
    整套 API 都以 SDF_ 开头,例如 SDF_EncryptSDF_ImportKey 等。

  • HSM“Hardware Security Module” 的缩写,中文叫 硬件安全模块
    它是一个专用的物理设备或密码卡,用来生成、存储、保护密钥,并执行加密、签名、随机数等敏感操作,外部程序通过 SDF 接口或其他 API 与其交互。

用SDF标准去使用HSM的原因? 本项目的意义所在?

硬件密码设备将 实体 <=> 私钥,在物理上锁死(写入芯片的私钥是理论上读不出来的) 同时,将密钥与身份解耦(运维层面的物理安全,使用钥匙的人不知道钥匙长什么样)

没有 HSM,解耦逻辑仍在,但“私钥一旦泄露就等同身份被冒用”的风险显著增加。
此时仍需靠操作系统权限、加密文件、TPM/TEE、口令保护等手段尽量降低风险,
只是物理隔离强度不如 HSM 而已。

于是,当前密码库符合这样的国家规范以后,就可以形成完整的信任链,从而被应用到高安全的场合(政府,银行,etc)

进一步阐释国标这个规范的目的,就是要实现:
“密钥不落机”和“抗侧信道”的硬性要求

在学习过程中,这里记录下我发现的抗测信道攻击的设计:

  • 用中国剩余定理(CRT)对RSA的加速里边用 garner公式,抗侧信道
    声明RSA解密方密钥结构的时候,结构体中存了D_p,D_q,i,这样的内容。使用garner公式实际上还是在用CRT,但是抗侧信道,运算量,占用空间,都更小。

  • SDF_GenerateKeyWithEPK_ECC
    这个函数把外部公钥加密会话密钥的过程放入硬件设备。让专用芯片去抗侧信道攻击。
    “抗侧信道”并不是靠把运算搬进设备就自动满足,而是靠 芯片级实现里一整套针对功耗、电磁、时序、故障注入的对抗设计 来落地。


开源之夏-12
https://43.242.201.154/2025/08/20/开源之夏-12/
Author
Dong
Posted on
August 20, 2025
Licensed under