免费发布信息
当前位置:APP交易 > 热点资讯 > 资产交易 >  利用深度学习技术突破加密实现(一)

利用深度学习技术突破加密实现(一)

发表时间:2021-04-25 16:04:06  来源:红帽社区  浏览:次   【】【】【
红帽社区是一个垂直网络安全社区,融合“红帽先锋”正能量精神,每日分享最新安全资讯,提供安全问答、靶场、众测、漏洞库等功能,是网络安全爱好者学习、交流的优质社区。

摘要:模板攻击是最常见且功能最强大的概要化侧信道攻击。它依赖于有关受攻击设备噪声的现实假设:数据的概率密度函数是多元高斯分布。为了松化这个假设,最近的一项研究主要是通过应用机器学习技术来研究新的性能分析方法。与模板攻击相比,获得的结果是相称的,在某些特定情况下更好。在这项工作中,我们建议通过应用基于深度学习的更复杂的概要分析技术来继续最近的研究。我们的实验结果证实了在针对不受保护的和受保护的加密实现时产生的新攻击的压倒性优势。

关键字:深度学习,机器学习,边信道攻击,模板攻击,无保护的AES实现,屏蔽的AES实现。


介绍

侧信道攻击

侧信道攻击(SCA)如今已广为人知,大多数安全嵌入式系统的设计者都很了解,他们利用从密码算法的物理实现中泄漏的信息,由于这种泄漏(例如,功率消耗或电磁辐射)取决于内部使用的秘密密钥,所以对手可以执行有效的密钥恢复攻击以揭示这些敏感数据。自从首次公开报道这些威胁以来,人们就致力于研究侧信道攻击和制定相应的对策。

在侧信道攻击攻击中,可以分为两类。

  • 所谓的概要分析SCA是最强大的SCA类型,包括两个步骤。首先,攻击者获取目标设备的副本,并使用它来表征操纵数据和设备行为之间的依赖关系。然后,对目标设备执行密钥恢复攻击。概要分析攻击集包括模板攻击和随机密码分析(aka线性回归分析)。

  • 另一种非概要分析SCA对应的是较弱的攻击者,该攻击者只能访问目标设备上捕获的物理泄漏。为了恢复使用中的秘密密钥,需要进行了一些统计分析,以检测泄漏测量值与该敏感变量之间的依赖性。这套非概要攻击包括差分功率分析(DPA),相关功率分析(CPA)和互信息分析(MIA)。

侧信道攻击对策

目前最新技术已经发布了一些应对侧信道攻击的对策。在SCA对策中,可以分为两类:

  • 屏蔽对策:屏蔽的核心原理是确保将每个敏感变量随机分为至少两个份额,以便对份额的子部分的了解不会提供有关共享变量的信息本身。屏蔽可以通过每个敏感变量使用的随机屏蔽数量来表征。在相关文献中,已经提出了几种可证明是安全的高阶屏蔽方案(例如参考[13],[19]和[44]。)。

  • 隐藏对策:其核心思想是通过在现有逻辑中添加补充逻辑(硬件设置)或使用敏感数据的特定编码(软件设置)使物理实现的活动保持不变。

基于机器学习的攻击

最近的一系列工作研究了基于机器学习(ML)技术的新性能分析攻击,以击败未受保护的和受保护的加密实现。这些贡献主要集中在两种技术上:Support Vector Machine (SVM)和Random Forest (RF)。在几个数据集上的实际结果证明了这些攻击执行成功的密钥恢复的能力。此外,参考资料[23]中的作者已经表明,基于SVM的攻击在应用于高噪声跟踪时性能优于模板攻击。

基于ML的攻击主要利用与模板攻击相同的判别标准(即敏感数据与泄漏的某些统计时刻之间的依赖关系)。这些攻击之间存在两个主要的区别,如下:

  • 模板攻击通过多元高斯分布(又名高斯泄漏假设)来估算数据分布,其分布参数(即均值矢量和协方差矩阵)是在分析阶段进行估算的。这意味着未利用阶次大于2的泄漏分布的统计矩,这会使攻击在某些情况下不理想甚至无效。

  • 基于ML的攻击不假设数据分布,而是直接从原始数据集建立分类。

尽管高斯泄漏在侧信道环境中是一个相当现实的假设,但应用与分布无关的统计技术似乎是一种更为合理的方法。

我们的贡献

在过去的几年中,人们对使用深度学习(DL)技术产生了浓厚的兴趣,该技术已应用于多个信号处理领域,并产生了令人感兴趣的结果。深度学习是机器学习的并行分支,它依赖于算法集,这些算法试图通过使用具有多个处理层的模型架构来对数据中的高级抽象进行建模,这些架构由一系列标量积和称为激活函数的非线性变换组成。最近的一些结果表明,DL技术在图像和自动语音识别方面远远超过了其他现有的机器学习方法。

在这项工作中,我们建议在侧信道环境中应用DL技术。实际上,我们强调了DL构建准确配置文件的能力,从而导致有效且成功的边信道密钥恢复攻击。我们的实验表明,针对无保护或屏蔽的加密实现,我们提出的基于DL的攻击比基于ML的攻击和模板攻击更有效。

机器学习技术概述

为了建立有效的模式识别和特征提取算法,已经开发并使用了机器学习技术。机器学习技术主要根据学习方法分为三类:无监督,半监督和监督。在本文中,我们专注于有监督和无监督的学习技术。

  • 无监督学习主要在无法提供概要分析信息(即训练数据集)时使用。因此,目的是在不进行任何预先配置或数据建模的情况下确保有效的数据分区。无监督学习技术的两个经典示例是聚类(例如K均值)和降维(例如主成分分析(PCA))。这些技术已广泛用于边信道上下文中,以执行成功的密钥恢复或物理泄漏的某些预处理。

  • 监督学习是指涉及训练数据集1(也称为标记数据集)以建立模型的技术。一旦执行了学习,就会执行监督学习算法,该算法针对新的输入输入返回根据先前学习的模型最准确的输出。典型的监督学习技术包括neural networks,neural networks和support vector machines 。

在以下各节中,我们将对一些监督学习技术及其在侧信道分析中的应用进行概述。它们全部都将由向量X(i)=(x1,...,xn)∈R^n及其对应的标签yi∈R组成的训练数据集作为输入(例如,被操纵的敏感数据的分数或值)。学习步骤之后,他们的目标是将新向量X与正确的标签y关联。

感知器

感知器是最简单的神经网络模型。它是一种线性分类器,使用学习算法对其权重进行调整,以使如图1所示的所谓损失函数最小化。我们在下文中将详细介绍感知器如何执行分类:

  • 首先,将输入向量X =(x1,...,xn)∈R^n表示为感知器的入口。

  • 然后,X的分量在感知器连接的权重wi∈R上求和。

  • 最后,通过将先前计算的和传递给表示为f的激活函数来计算感知器的输出。

在训练阶段,根据配置数据集(X^(i),yi)学习并调整初始为零或较小随机值的感知器权重。通过例如 应用延迟下降算法,目标是找到/学习最佳连接权重,以将感知器输出尽可能地靠近正确的标签/分数(例如,将yi和相应感知器的输出之间的平方差的平方和最小化) 。


多层感知器

多层感知器(MLP)只是一种组合感知器的特定方法,以便为更复杂的数据集构建分类器[8]。如图2所示,信息从左向右传播,并且该模型中层的每个单元(感知器)都连接到上一层的每个单元。这称为完全连接的网络。每个神经元都属于一个层,层数是一个参数,用户必须仔细选择。


MLP由三种不同类型的层组成:

  • 输入层:在传统模型中,该层只是输入数据和网络其余部分之间的中间层。因此,属于该层的神经元的输出仅仅是输入向量本身。

  • 隐藏层:该层旨在在模型中引入一些非线性,以便MLP能够拟合非线性可分离数据集。实际上,如果必须学习的数据是线性可分离的,则不需要任何隐藏层。根据必须适应的数据模型的非线性和复杂性,可以增加隐藏层上神经元的数量,甚至这些层的数量。但是,一个隐藏层足以解决许多自然问题。

    关于隐藏层上神经元的数量,已经证明,如果必须学习的模型接近线性模型,则使用大量神经元会导致过度拟合。这意味着该算法能够正确学习权重,从而与训练数据集完美契合,而这些权重并不代表整个数据。另一方面,可能会发生相反的情况:对于复杂的数据集,在隐藏层上使用过少的神经元可能会导致梯度最小化方法无法返回准确的解决方案。

  • 输出层:这是网络的最后一层。该层上节点的输出直接映射到用户打算预测的类。

训练多层感知器需要为每一层学习加权参数,以使损失函数最小。为此,可以应用所谓的反向传播。它包括一层又一层地计算损失函数相对于权重的导数,然后使用以下公式修改相应的权重:


其中E是损失函数,wi,j表示索引(i,j)的两个神经元之间的连接权重。

在最近的一些工作中,已将MLP应用于成功执行侧信道密钥恢复。例如,在参考[21]中,作者提出了一种基于神经网络的旁通道攻击,以打破DPA竞赛V4的掩蔽AES实现参考[55]。实际上,参考资料[21]的作者假设对手在配置阶段可以访问掩码值。在这种假设下,所提出的攻击首先在于通过应用神经网络掩码恢复来识别掩码。然后,执行第二次基于神经网络的攻击,以单次跟踪恢复密钥。尽管这项工作的结果非常有趣,但是在现实世界中并不总是能够满足所考虑的假设。


责任编辑:
声明:本平台发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。

德品

1377 678 6470