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

魏淙洺 等: 私有算法密码芯片非入侵式攻击检测框架                                                        897


                    对于计时分析测试, 泄露分析流程如图             2  所示, 该流程包含两个阶段. 第       1  阶段测量多个不同的关键安全参
                 数  (如密钥) 和固定消息     (如明文) 的执行时间; 第     2  阶段测量多个不同消息和固定关键安全参数的执行时间如果
                 执行时间未显示对消息与关键安全参数的依赖性, 则测试通过, 否则测试失败. 实际中可以利用时钟周期                               E  判断执
                 行时间, 对于两个时间值       (或平均时间值)     T 1  和  T 2 , 如果  |T 1 −T 2 | < E, 则测试通过, 否则失败.
                    对于简单能量/电磁分析测试, 泄露分析流程如图                3  所示, 该流程包含两个阶段. 第       1  阶段, 采集能量/电磁信
                 息, 采集的测量值数量根据所需安全能力而定. 第               2  阶段, 使用交叉关联的方法对每个测量值进行分析, 如果无法
                 识别出关键安全参数的不规则指令操作序列, 则测试成功, 否则测试失败.

                              开始

                    使用不同的关键安全参数和固定的
                     文本来测量被测实现的执行时间

                    执行统计分析以便检查执行时间与
                    关键安全参数之间是否存在依赖性                                         开始

                                        是
                          是否存在依赖性?                                  采集指定数量的侧信道测量值
                                否
                      测量不同的文本和一个固定的                                   对于每个侧信道测量值,
                       关键安全参数的执行时间                                使用交叉关联的方法来检索指令序列
                      执行统计分析以便检查执行
                     时间与文本之间是否存在依赖性                                     交叉关联过程是否
                                                                     能发现不规则的指令序列进          否
                                        是                              而推断关键安全参数?
                          是否存在依赖性?
                                否                                             是
                            测试通过                测试失败                       测试失败              测试通过
                    图 2    GM/T 0083-2020  计时分析攻击测试流程          图 3    GM/T 0083-2020  简单能量/电磁攻击测试流程

                    对于差分能量/电磁分析测试, 泄露分析流程如后文图                  4  所示, 该流程包含   4  个步骤. 第一, 采集能量/电磁信
                 息, 采集的测量值数量根据所需安全能力而定; 第二, 对采集的波形进行静态对齐或者动态对齐处理, 并计算信噪
                 比  SNR; 第三, 在信噪比   SNR  满足要求的前提下, 计算密码模块的中间值; 第四, 根据采集的测量值和计算的中间
                 值, 进行  Welch  统计测试, 若统计结果显示无明显泄露, 则通过测试, 否则测试失败.
                  1.2.2    ISO/IEC 17825:2016  标准
                    ISO/IEC 17825:2016 [16] 是第  1  个侧信道攻击方面的国际标准, 该标准按照对称密码体制、非对称密码体制进
                 行分类, 给出相应的计时分析、简单能量/电磁分析、差分能量/电磁分析检测方法. 该标准主要检测方法与                                 GM/T
                 0083-2020  类似, 此外还有针对特定算法的检测技术, 这里暂不讨论.
                  1.3   交叉关联方法

                    交叉关联是指信号在一个时刻的瞬时值与在另一个时刻的瞬时值之间的依赖关系, 是对一个信号的时域描
                 述, 它是找出重复模式的数学工具. 交叉关联方法可运用到简单能量分析中, 通过计算交叉关联分析结果图来可视
                 化单条能量波形中的重复执行模式, 识别出不规则的指令操作序列.
                    使用交叉关联对单条能量波形进行分析, 首先需要选定一个“窗口”长度, 以该长度为单位, 每次在波形上向前
                 滑动一个位置, 计算该窗口片段与其他片段的相关系数. 按照此方式计算得到一个相关系数矩阵, 以                              n×n 黑白点阵
                 的形式对相关系数矩阵进行可视化, 黑白点阵中越白的地方说明交叉关联程度越强, 越黑的地方说明交叉关联程
   413   414   415   416   417   418   419   420   421   422   423