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) 以固定明文作为输入, 分别使用固定密钥和随机密钥多次执行算法, 采集得到固定密钥和随机密钥的两组
   419   420   421   422   423   424   425   426   427   428   429