Page 450 - 《软件学报》2026年第1期
P. 450

李迪 等: 复杂应用场景下侧信道分析的可移植性研究综述                                                      447


                 案更加困难, 因为不同设备之间轨迹的泄露区间和采样点的信噪比的差异过大. 攻击者需要深入了解目标设备的
                 硬件特征, 分析与建模设备之间的异同点, 通过一系列复杂的泄露分析、预处理策略找到并提取共性部分. 此外,
                 异构设备的广泛应用要求研究者考虑不同制造商芯片之间可能存在的标准化差异, 以应对不同场景.
                  2.4   用于可移植性分析的公开数据集
                    公开数据集有利于促进研究领域的发展, 它能够为研究者提供一个公平、统一的对比基准. 用于评估可移植
                 性攻击场景下通常需要提供多组数据集, 以便于体现差异对比. 下面, 本节将介绍现有公开的可移植性分析的数据
                 集, 并详细阐述构建可移植性数据集的常见策略, 以便于研究者能够更好研究这类场景.
                    1) ASCAD  数据集  [21]
                    该数据集常用于评估         DL-SCA  模型的攻击性能, 它包含在时钟频率为             4 MHz  的  ATMega 8518  目标板上
                 AES  掩码实现的功耗轨迹. 其内部提供了密钥固定版本与密钥随机版本的数据集, 这两个数据集分别命名为
                 ASCAD 和 f  ASCAD . 每个版本中的数据集提供了软件模拟的时钟抖动版本. 即数据集根据偏移参数对轨迹在                          x 轴
                                r
                 上移动进行样本抖动, 这些偏移参数分别为              0、50  和  100. 因此, 该数据集常用于分析不同时钟抖动对策参数之间
                 的可移植性场景. 为了便于描述, 本文按照密钥状态和偏移参数进行命名, 例如密钥固定版本且偏移参数为                                 50  的
                                  f
                 数据集命名为     ASCAD desy50 . 该数据集可通过以下链接获取: https://github.com/ANSSI-FR/ASCAD.
                    2) CHES CTF 2018  数据集  [60]
                    该数据集是     CHES CTF 2018  竞赛中发布的公开数据集, 包含        4  组基于掩码实现的      AES  加密功耗轨迹. 每组
                 数据由   10 000  条轨迹组成, 分别采集自    4  个不同的  STM32  硬件平台, 每个平台均提供独立的功耗轨迹. 该数据集
                 可用于评估“相同设备、不同副本”场景下的可移植攻击性能. 该数据集可通过以下链接获取: https://www.dropbox.-
                 com/s/lpw1k3so99krmmq/ches_ctf.h5?dl=0.
                    3) CPDA  数据集  [47]
                    该数据集主要是测试跨设备建模类攻击              (cross-device-profiled-attack, CDPA) 在设备、采样设置、实现差异因
                 素上的可移植性表现, 所以本文将其命名为              CDPA  数据集, 它的具体参数如下.
                    ● 不同设备: 该数据集包含在        XMEGA   和  SAKURA  两类目标板上运行      AES-128  加密时采集的功耗轨迹. 其
                 中  XMEGA  采用  C  语言实现的软件算法, 通过在微控制器与接地之间插入电阻测量功耗, 采样率为                          125 MS/s
                 (mega samples per second, 即每秒百万采样点数). SAKURA  中算法为硬件实现, 通过监测         FPGA  核心电压获取功
                 耗轨迹, 采样率为     500 MS/s.
                    ● 不同采样设置: 提供了在        XMEGA  目标板上运行     AES-128  加密时使用   Langer LF-U5  近场探针采集的电磁
                 轨迹, 采样使用    Teledyne LeCroy Waverunner 610zi 示波器完成, 采样率为  250 MS/s. 每次探针位置尽量保持一致,
                 但可能存在人为误差.
                    ● 不同实现差异: 通过向原始        ASCAD  数据集添加人工对策/噪声来模拟不同的实现方式, 添加的对策/噪声包
                 括高斯噪声、去同步化、时钟抖动.
                    该数据集可通过以下链接获取: https://github.com/CDPA-SCA/Cross-Device-Profiled-Attack/tree/main.
                    4) SoftPower 数据集  [61]
                    该数据集基于      ChipWhisperer 平台采集, 包含在  XMEGA (8  位  RISC) 和  ARM STM32 (32  位  Cortex-M4) 两种
                 微控制器上运行      AES-128  加密时的功耗轨迹. 数据集设置了随机延迟、指令重写、优化级别和代码混淆这                          4  种
                 差异因素, 为分析软件实现差异的可移植性提供了重要支持. 其中随机延迟策略是通过随机移动功耗轨迹的样本
                 来模拟. 指令重写策略是在汇编代码级别进行修改, 并通过逆向工程工具                       Ghidra 对  ELF  文件进行调整. 而优化级
                 别差异是基于交叉编译器分别设置             Os、O1、O2  和  O3  这  4  种优化级别生成. 代码混淆策略则借助         Tigress 工具
                 实现  3  种不同的混淆方案. 该数据集为分析不同软件实现间的差异对功耗轨迹的影响提供了丰富的实验基础. 该
                 数据集可通过以下链接获取: https://github.com/UCdasec/SoftPower.
                    5) AES_PTv2  数据集  [55]
                    该数据集包含      3  个不同的  AES  软件实现: 未加保护的     AES-128 (ECB  模式)、基于弱掩码方案的       AES-128  和
   445   446   447   448   449   450   451   452   453   454   455