Page 421 - 《软件学报》2026年第2期
P. 421

900                                                        软件学报  2026  年第  37  卷第  2  期


                 波形中各段位置分别进行不规则操作序列判定.
                    (2) 在简单能量/电磁分析环节, 检测人员在对私有算法密码芯片进行检测后, 需要将检测结果反馈给厂商, 由
                 厂商对疑似存在的泄露位置进行实际泄露判定.
                    (3) 差分能量/电磁分析环节采用非特定型            TVLA-1  和非特定型    TVLA-2  两种方法对私有算法密码芯片进行
                 检测, 而传统检测框架中只针对公钥密码采用上述两种方法, 对于分组密码采用非特定型                            TVLA-1  方法.
                    (4) 对于差分能量/电磁分析环节, 由于检测人员无法知道算法中间过程, 针对私有分组密码算法芯片的检测
                 不包含特定型     TVLA  分析方法.

                                           表 1 传统检测框架和私有算法检测框架比较

                     检测环节                  传统密码芯片检测框架                         私有算法密码芯片检测框架
                     计时分析      基于平均去噪的计时分析方法                           基于平均去噪的计时分析方法
                                                                       采用视觉观察法、交叉关联法分别检测是否存
                               采用交叉关联法检测是否存在密钥相关的不规则指令操
                 简单能量/电磁分析                                             在不规则指令操作序列
                               作序列
                                                                       检测结果交由厂商确认泄露是否与密钥相关
                               分组密码采用特定型TVLA和非特定型TVLA-1两种方法
                 差分能量/电磁分析                                             非特定型TVLA-1方法和TVLA-2方法
                               公钥密码采用非特定型TVLA-1方法和TVLA-2方法

                    与传统非入侵式攻击检测方法相比, 本检测框架在简单能量/电磁分析环节增加了泄露位置反馈步骤, 有效避
                 免了检测过程中产生的误判, 更加适用于私有算法密码芯片检测. 对于差分能量/电磁分析, 本框架提出双重检测
                 方法, 分别从随机明文和随机密钥两个方面对私有算法密码芯片进行检测, 覆盖不同的侧信息泄露来源, 从多角度
                 保障算法安全. 本框架中所使用的非入侵式攻击检测方法不要求恢复完整密钥, 只要存在明显敏感信息泄露, 即可
                 说明所测芯片存在安全隐患, 可能受到非入侵式攻击的威胁, 无法通过检测. 检测框架只提供客观的密码芯片检测
                 结果, 对于检测到的信息泄露, 需要进一步执行安全性评估.
                  2.2   私有密码算法的计时分析
                    计时分析根据密码算法执行不同运算所消耗时间的差异来恢复密钥等关键信息. 其差异可能来源于缓存架构
                 带来的时间差异, 缓存未命中比缓存命中花费更多的时间来执行; 执行不同的数学运算带来的时间差异, 有些密码
                 算法根据密钥执行不同操作, 这些操作本身需要不同的时间来进行运算; CPU                       的分支预测    [20] 功能带来的时间差异,
                 CPU  为错误预测的分支付出的代价可用于密码分析等.
                    目前, 计时分析已成为密码设备安全性的重要威胁之一, 因此对私有算法密码芯片开展计时分析检测是十分
                 必要的. 在私有算法密码芯片非入侵式攻击检测框架中, 我们采用基于平均去噪的计时分析检测方法. 平均去噪是
                 通过对同一测量对象重复采集若干次相加后取平均值来进行噪声消除的方法. 基于平均去噪的计时分析, 就是利
                 用这一原理, 通过     PC  端与芯片通信来获取算法的执行时间, 然后对时间信息去噪后再进行分析. 该方法的实施过
                 程可简单总结为以下两部分.
                    (1) 设置芯片算法的明文       (或密钥) 为固定值, 选取几个不同的密钥           (或明文), 通过  PC  端与芯片通信获取芯片
                 使用几个不同密钥       (或明文) 进行若干次算法加密的时间, 对使用每个密钥                (或明文) 进行算法加密得到的多次时
                 间值进行平均去噪.
                    (2) 根据去噪后的时间计算芯片使用不同密钥              (或明文) 执行算法的时间差异, 若存在某一时间差异大于芯片
                 的一个   CPU  时钟周期, 则说明存在时间信息泄露, 测试不通过. 否则, 测试通过, 进入简单能量/电磁攻击测试.
                  2.3   私有密码算法的简单能量/电磁分析
                    对于某些添加了缓解计时攻击技术的密码芯片, 虽然在时间上无法检测出信息泄露, 但从能量/电磁信号的变
                 化中, 依然可能获取密钥等关键信息. 能量/电磁分析包括简单能量/电磁分析和差分能量/电磁分析. 为了便于描述,
                 下文讨论的均为能量分析, 电磁分析与之同理, 不做赘述.
                    简单能量分析根据密码算法运行时产生的能耗变化, 通过视觉观察或其他简单分析方法, 对指令执行模式进
   416   417   418   419   420   421   422   423   424   425   426