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

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


                 的非入侵式安全这一问题受到越来越多的重视与关注.
                    目前, 非入侵式安全领域的泄露评估方法研究已取得了一系列成果. 2011                       年, Goodwill 等人  [6] 提出了基于
                 Welch’s t-test 的泄露评估方法, 随后, 在  2013  年这种方法被重命名为       TVLA (test vector leakage assessment), 包含
                 非特定型泄露测试和特定型泄露测试. 此外, TVLA                泄露检测方法还可以扩展到公钥密码算法                 [7] , 如  RSA、
                 ECDSA、ECDH   等算法. 之后, Schneider 等人  [8] 给出了一个评估实验室可以遵循的高效的测试路线图. 2014                年,
                 Bhasin  等人  [9] 提出了基于归一化类间方差     (normalized inter-class variance, NICV) 的泄露检测方法, 该方法的优点
                 为计算速度快, 还可用于评估泄露模型的准确性并选择最佳适用模型. 除了经典的                          Welch’s t-test, 基于  ρ  检验  [10] 、
                            2
                 χ  检验  [11] 、 T  检验  [12] 的泄露检测方法相继被提出, 通过使用不同的假设检验方法, 发挥出不同的统计优势                    [13] .
                  2
                 2021  年, Moos 等人  [14] 首次提出了基于深度学习的泄露评估方法, 该方法适用范围广, 它使评估者可以不必担心泄
                 露的位置、对齐和统计顺序, 高效地完成对不同密码设备的泄露评估.
                    上述泄露评估方法极大提高了非入侵式安全检测的准确性和效率, 然而, 这些方法都是针对公开算法提出的,
                 并未考虑私有算法的情况, 针对私有算法密码芯片的适用性还有待讨论.
                  1.2   非入侵式攻击检测相关标准
                    目前国内外已有多个非入侵式安全相关标准. 国际标准                  ISO/IEC 19790:2012 [15] 规定了加密模块的  4  个安全级
                 别, 其中包括非入侵式安全; ISO/IEC 17825:2016       [16] 规定了非入侵式攻击缓解测试指标, 用于确定是否符合
                 ISO/IEC 19790:2012  中的要求. 国内标准  GM/T 0008-2012 [17] 中, 对非入侵式安全提出了要求; GM/T 0028-2014  [18]
                 中分别给出了     4  个安全等级的密码模块非入侵式安全具体要求; GM/T 0083-2020             [19] 介绍了针对密码模块的非入
                 侵式攻击方法及对应的缓解技术, 并给出了密码模块非入侵式攻击测试方法. 这些标准有力保障了密码设备的非
                 入侵式安全, 但都适用于公开算法, 目前还没有专门针对私有算法制定的非入侵式安全检测标准.
                  1.2.1    GM/T 0083-2020  标准
                    GM/T 0083-2020《密码模块非入侵式攻击缓解技术指南》              [19] 是国家密码管理局于    2020  年发布的一项密码行
                 业标准. 如图   1  所示, 在进行非入侵式攻击测试时应遵循操作顺序, 对于密码模块的每个安全功能, 只有全部通过
                 了计时分析、简单能量/电磁分析、差分能量/电磁分析这                  3  部分测试, 才能认为密码模块通过测试.

                                                     开始

                                                执行一次计时分析

                                                   是否存在与
                                                关键安全参数相关的         是
                                                  执行时间差异?
                                                       否
                                             执行一次简单能量/电磁分析

                                                  是否存在与
                                               关键安全参数相关的          是
                                                   指令模式?
                                                      否
                                             执行一次差分能量/电磁分析


                                                  是否检测到          是
                                                 敏感信息泄露?
                                                      否
                                                   测试通过              测试失败

                                          图 1 GM/T 0083-2020  非入侵式攻击测试框架
   412   413   414   415   416   417   418   419   420   421   422