【论文精读】Multi-Leak Deep-Learning Side-Channel Analysis
ABSTRACT
通过利用深度学习模型分析侧信道测量,攻击者能够推导出密码算法的密钥。
然而,当跟踪为特定的攻击点具有多个泄漏间隔时,大多数现有工作都直接在这些跟踪上训练神经网络,而没有对每个泄漏间隔进行适当的预处理。
在本文中,我们首先将多个泄漏轨迹划分为泄漏区间,并分别在不同的区间上训练模型。然后,我们将这些神经网络连接起来,建立最终的网络,称为多输入模型。我们在从AES-128的STM32F3微控制器实现捕获的迹线上测试了所提出的多输入模型,并显示出比以前的单输入攻击改进了2倍。
I. INTRODUCTION
II. MULTI-LEAKAGE AND MULTI-INPUT MODEL

为了组合来自多个攻击点的信息,我们提出了一个多输入模型。因为每个攻击点对应不同的泄漏函数。在多输入模型中只有一个输出,需要统一多个攻击点的泄漏函数V F_leak。以下描述了统一不同攻击点的泄漏函数的方法,以及一个攻击点可能存在多个泄漏的原因。
以第一轮AES为例,研究了不同攻击点泄漏函数之间的关系。我们使用V F_ leak2的泄漏函数代替其他泄漏函数作为多输入模型的标签。
通过用V F_leak2替换V F_leak1,SBox的一对一非线性变换不会影响网络模型的分类。ShiftRows的泄漏函数只是简单地移动V F_leak 2而不更改它,因此可以使用V F_leake 2而不是V F_leack 3。MixColumns中一个子密钥的泄漏函数VF_leak4是通过XOR运算从VF_leak2的四个不同子密钥获得的,并且VF_leak 2用作MixColumn泄漏函数的一部分,因此可以使用VF_leake 2代替VF_leaka4(例如,当AddRoundKey用作特定攻击点时,密钥可以用作模型的标签)。多个节点的泄漏函数统一为V F_leak 2。这是建立多输入模型的第一步,如下所述。

C.多输入模型的构建本
工作中使用的基本架构是具有多个输入层的CNN,如图3所示。多个输入被合并并连接到一个由32个神经元组成的协同进化。然后,提取的特征在经过三步MaxPooling层之后通过Flatten层进行扩展。然后,将两个致密层连接到扁平层,每个致密层包含128个神经元。


浙公网安备 33010602011771号