Page 424 - 《软件学报》2026年第2期
P. 424
魏淙洺 等: 私有算法密码芯片非入侵式攻击检测框架 903
间值为 0 或者具有很小汉明重量的波形, 而非特定型 TVLA 只要求选取随机明文. 然而, 对于私有密码算法, 密码
算法细节不公开, 检测人员无法获得算法实现过程, 因此不能使用算法中间值进行特定型 TVLA 分析. 本文采用
非特定型 TVLA 方法, 该方法只对明文和密钥有要求, 不受算法过程的影响, 适用于私有密码算法. 此外, 考虑到
明文和密钥均可能带来能量信息泄露, 我们采用了 TVLA-1 和 TVLA-2 两种非特定型方法对私有密码算法进行双
重检测. 具体方法如下.
(1) TVLA-1 (test vector leakage assessment-type 1) 方法: 在固定密钥的情况下, 分别使用固定明文和随机明文
进行一定次数的加密, 得到对应的两组能量波形. 用获得的两组能量波形进行 t-test, 根据两者统计特性的异同判
断波形中是否存在明文导致的信息泄露. 判别过程详见本文第 1.4 节.
(2) TVLA-2 (test vector leakage assessment-type 2) 方法: 在固定明文的情况下, 分别使用固定密钥和随机密钥
进行一定次数的加密, 得到对应的两组能量波形, 用获得的两组能量波形进行 t-test. 该方法旨在检测密钥导致的
能量信息差异, 与第 1 种方法所检验的泄露来源不同, 但具体实施过程类似.
本文提出的框架中, 差分能量/电磁分析的泄露测试流程如图 9 所示, 该流程包括 6 个步骤.
开始
固定密钥, 使用固定、随机明文
采集多条能量/电磁信号波形
执行静态/动态对齐, 计算 SNR
SNR 是否 否
足够高?
是
执行 TVLA-1 分析
是否存在 是
明显泄露?
否
固定明文, 使用固定、随机
密钥采集多条能量/电磁信号波形
执行静态/动态对齐
执行 TVLA-2 分析
是否存在 是
明显泄露?
否
通过 失败
图 9 私有算法差分能量/电磁分析测试流程
(1) 分别以固定明文和随机明文作为输入, 使用固定密钥多次执行算法, 采集得到固定明文和随机明文的两组
能量波形;
(2) 对波形执行静态/动态对齐, 以便在分析计算时, 可以在同一点比较不同的波形. 计算信噪比 SNR, 若 SNR
足够高, 则执行下一步骤, 否则重新执行本步骤;
(3) 使用对齐后的两组波形, 采用 TVLA-1 方法进行分析, 若分析结果显示存在明显信息泄露, 则测试失败, 否
则继续执行下一步骤;
(4) 以固定明文作为输入, 分别使用固定密钥和随机密钥多次执行算法, 采集得到固定密钥和随机密钥的两组

