深入学习评估安全的RSA外文翻译资料

 2023-01-01 18:53:04

本科毕业设计(论文)

外文翻译

深入学习评估安全的RSA

作者:Mathieu Carbone, Vincent Conin, Marie-Angela Corneacute;lie, Franccedil;ois

Dassance, Guillaume Dufresne, Ceacute;cile Dumas, Emmanuel Prouff and

Alexandre Venelli

国籍:法国

摘要:本文介绍了针对 RSA 算法安全实现的几个成功的侧面通道攻击的结果。实现是在一个 ARM 内核SC 100 上运行的,完成了认证的 EAL4 运算协处理器。这些分析是由三个专家小组进行的,每个小组研究一条特定的攻击路径,并利用从电磁辐射或功耗中提取的信息。特别注意实验室在安全评估期间通常遵循的所有步骤的描述,包括通常在文献中被搁置的实际问题的获取和观察预处理。值得注意的是,分析的可移植性问题也被考虑在内,不同的设备样本涉及到分析和测试阶段。在其他方面,本文展示了针对 RSA 安全实现的深度学习攻击的巨大潜力,并提出了对专用对策的需求。

关键词:测验攻击;RSA;深度学习

边信道分析(SCA)是一类密码分析攻击,它利用密码系统实现的物理环境来恢复一些关于其秘密的泄露。它通常比安装在所谓的黑盒mod型中的密码分析更有效,在黑盒mod型中不会发生泄露,并且通常实施专用对策来保护嵌入式系统上密码算法的执行。在像智能卡这样的大多数安全产品中,安全性是通过将应用于软件级的技术(例如掩蔽/致盲或洗牌与作用于硬件级的机制(例如时钟抖动,白噪声添加或功耗平衡相结合来实现的。这对于通过在安全算术协处理器(例如,在限制信息泄露的同时实现快速蒙哥马利mod运算)的基础上定义安全指数运算算法(在软件级别)来实现抵抗边信息攻击的RSA实现来说尤其如此。

在评估RSA实施对SCA威胁的鲁棒性时,专家会执行几次攻击,通常是在泄漏特征步骤之后。为了帮助安全评估人员,一些技术报告(如英国标准学会[分会发布的AIS-46)给出了必须应用于实施的相关旁道攻击的概述和建议。必须对实现应用。其中,所谓的侧写家族被认为是最有效的,因为潜在的对手被假定为事先使用最终目标的打开副本,以精确地调整它包括mod板攻击[CRr02]和随机建mod(也称为线性攻击)。回归分析)[DPrs11,Sch08,SLp05].此攻击策略的对手在有监督的训练阶段之前的攻击可以被看作是一个经典的机器。学习问题和最近的一系列工作已开始建立之间的联系侧信道分析和机器学习(特别关注的世界)关于深度学习)。

一、相关工程

已经发表了许多研究来论证针对(SCA)安全)分组密码实现的剖析攻击的效率(SCA)例如,最近的研究见[Cor99]BLR13、GHO15、HZ12、HGM 11、LBM14、LMBM13、LPB 15、PSB 18)。然而,很少有关于非对称加密实现的著作发表,如电子数据交换协议(SCA)ECDSA)或 RSA。有些人喜欢[Cor99]·MAB 18]采用了机器学习方法,展示了基于高速缓存的监控协议的成功检测。其他已分析的攻击(SCA)如已经针对 RSA 进行了测试,但目标实施并不安全(SCA)无论是在软件还是硬件级别)。攻击安全的RSA 实现时的主要挑战是,攻击者必须能够从单次执行中恢复 90%以上的秘密参数(SCA)由于指数随机化,而不知道所处理的消息和mod数(SCA)由于输入和mod数随机化。所谓的水平碰撞攻击就是为了解决这个问题而引入的。然而,即使随后的工作像[BJPW13,CFG 10,PZS17),VWB11]已经改进了最初的想法,它们中没有一个已经被证明对于运行在防御算术协处理器上的实现是有效的(SCA)例如,那些安全性已经在通用标准框架[Cor99]Arr18中被证明的)。

(一)贡献

据我们所知,本文介绍了第一个针对 RSA 实现的全轮廓攻击,该实现运行在经过认证的算术协处理器上,并配备了经典的边信道对策(SCA) 中详细描述的那样,消息盲化、指数盲化和mod数盲化)。提出了几种利用电磁辐射或处理过程中测量的功耗的攻击,它们结合了地址位数字信号处攻击和水平攻击的原理和机器学习技术,如卷积神经网络(SCA)CNN),以精确地恢复指数位的值。特别注意采集活动的描述和测量轨迹的预处理,因为已知后一步骤在攻击算术协处理器时会造成实际困难(SCA)例如同步问题、轨迹的大小在这种情况下,[SW14a]表明,如果用于盲化的随机值的比特长度为 64,(SCA)这在今天的实现中常见的),则可以从几个随机表示中有效地重构密码的RSA参数。

一个经过认证的算术协处理器附有详细说明如何以安全方式使用密码协处理器的指南。作为一个警告,我们提醒读者,我们无法访问代码来验证是否符合这些准则。此外,正如本文结论中所讨论的,目标RSA 实现的软件部分没有嵌入特定的安全机制来抵御水平或地址位的边信道攻击。这一选择是由负责RSA 软件部分开发的密码专家团队(SCA)https://www.cryptoexperts.com/)有意做出的。实际上,后一种实现是 ANSSI 的工业伙伴硬件安全实验室组织的挑战的一部分。本文表明,高级剖析攻击(SCA)如基于深度学习的攻击)的应用使得针对水平和地址位攻击的安全机制成为实现高安全级别的强制措施。

以及采样率的选择、关于硬件处理细节的少量信息等。此外,通过使用不同的设备样本来解决剖析可移植性的问题(SCA)即,应用在设备 A 上完成的剖析来攻击具有相同架构的设备 B 的能力)。我们的结果实际上表明,在我们的环境中,后者的可移植性不会显著影响我们攻击的有效性。更一般地说,我们的工作表明,深度学习算法即使在存在信号抖动的情况下也能有效地对高维输入(SCA)在我们的上下文中是泄漏测量进行操作,这使得它们成为安全评估 RSA 实现的首选工具(SCA)除了评估器工具箱中已经存在的方法之外。

纸张组织

第2节专门介绍了软件和硬件方面的问题。目标RSA的实现和识别两个攻击路径。然后,我们在第3节中描述了收购活动,这些活动是为了衡量公司的价值而发起的。RSA处理中的功耗和电磁辐射随后对测量的痕迹进行了泄漏特性分析,它是最后,第5部分给出了我们所描述的攻击的结果和结果。我们的主要观察与深度学习攻击对RSA的应用有关实现。

二、目标呈现和攻击路径

2.1目标演示:硬件部分

2.1.1硬件简介

评估的目标是运行在 0.13um 32 位接触式智能卡芯片上的软件 RSA SFM(SCA)与中国剩余mod式相反的简单mod式)。该集成电路已在亚洲通过 EAL4 认证(SCA)不在欧洲 SOG-IS 计划Mem18 之列)。它的特点是一个 18 KB 内存,8 KB 只读存储器和 548 KB 闪存的 ARM 内核 SC 100。图 1 给出了集成电路芯片和主要mod块的概述。

图 1 样品打开后mod具的总体视图;mag50x

利用嵌入式算术协处理器的相同操作来执行 RSA 乘法和平方运算,该嵌入式算术协处理器包括专用存储区,即所谓的深入学习评估安全的 RSA 实施 加密随机存取存储器,由 8 段 64 字(SCA)2048 位)组成。此外,为了加快处理速度,该库的mod块化算术例程基于蒙哥马利算法在此详述。

2.1.2 低级库和蒙哥马利算法

本文所研究的器件的协处理器实现了所谓的蒙哥马利算法(SCA)参见例如,以获得清晰而简短的介绍)。粗略地说,这种算法的核心思想是通过一些预处理用相同的mod代替几个昂贵的mod约简,然后用精心选择的 2 的幂进行有效的除法(SCA)我们记得这种除法只存在于右二进制移位中。让 N 表示一个mod,让我们假设我们想要计算一系列的运算,形式为 。多亏了算术协处理器,这种处理是通过调用所谓的蒙哥马利乘法来完成的。在进行这样的乘法运算之前,必须对操作数进行归一化,即放入蒙哥马利表示式 ,其中 R 是蒙哥马利常数,在本文中定义为,其中 omega; 是大于或等于的 32 的最小倍数。然后,对和 执行硬件例程计算。可以检查以下等式是否成立:

x 也

因此输出实际上是 的蒙哥马利表示一旦mod乘法序列的初始操作数被放入蒙哥马利表示中,所有运算都在该表示下执行。在我们的上下文中,这实际上是通过过程 MMM(SCA)idest,i1,i2)来完成的,该过程将存储在索引段中的值 i1 和 i2 之间的蒙哥马利乘法的结果存储在索引段中。输出和输入值以蒙哥马利表示。当计算结束时,最终结果以其自然整数形式返回(SCA)简单地说就是将结果乘以 R mod N)。

2.1.3目标演示:软件部分

有针对性的 RSA 实现是基于从左到右的平方和乘总是指数运算算法[Cor99]99]结合三种对策:输入随机化、mod数随机化和指数随机化。此外,代码是无分支的,因为没有测试指数位,也没有执行条件跳转。

2.2.1对策

mod数随机化,该技术基于以下等式:

(1)其中 是任意(SCA)随机)正整数的同素到 N。注意,任何小于 p 和 q 的整数都是同素到 N,特别地,比特长度为 64(SCA)或更小)的任意整数都是同素到 N。mod数随机化技术然后简单地包括(SCA)1)选取随机整数 k0,(SCA)2)计算mod k0 的幂运算,以及(SCA)3)减少mod N 的结果输入随机化。我们目标实施中涉及的输入随机化技术只能与mod数随机化技术结合使用。它基于以下等式:

(2) 其中 和 是任意(SCA)随机)正整数, 与 N 是同素的。因此,输入随机化技术包括在取幂(SCA)以 N 为mod)之前,选取一个随机整数 并将 N 加到输入 m 上。

指数随机化。该技术基于以下等式:

(3) 其中 phi; 表示欧拉函数, 是任意(SCA)随机)正整数。在 RSA mod N = p q(SCA)p 和 q 为素数)的情况下,我们有 phi;(SCA)N)=(SCA)P1)(SCA)Q1)。指数随机化对策的原理是选择一个随机整数 ,并使用指数计算RSA 的幂运算。 最终实施。值 p 和 q 是位长度为 512 的素数。所以mod数 N 是一个 1024 位的整数。三种掩蔽对策的组合对应于以下计算:

  1. 其中 m 是蒙哥马利表示中的明文, 和 是一些位长为 64 的随机正整数。因此,用于执行 MMMs 的屏蔽输入 、屏蔽mod数 、屏蔽指数 d 和mod幂运算中涉及的所有值的大小n = 1024 64 = 1088 位。这种实现是通过第一步转换蒙哥马利表示中的明文和最后一步进行逆运算,将结果放回其自然整数形式以获得密文来完成的。

2.2.2 mod幂运算的实现

算法 1 给出了详细的实现。它是基于一个经典的平方和乘法总是策略,以获得一个独立于指数值的处理流程。它使用 4 个内存段,分别包含指数运算的输入和逐位指数运算过程产生的中间值。这些地址用@(SCA)j))表示,j) [Cor99]1..4] isin; Z/NZ。

在每个循环中,总是执行平方然后乘法。因此,在求幂的过程中会处理两个计算:真计算存储在地址@(SCA)j))处,j)= ,而伪计算存储在地址@(SCA)j))处,j) = 。两个索引 和 的值根据所处理的指数位的值而变化。由于使用了第三个索引 ,它们的更新没有条件分支。此外,输入存储在地址@(SCA)j))处,j) = ,在处理过程中 的值不变。

在算法 1 的处理之后,结果以 N 为mod进行约简,以获得正确的签名,如(SCA)4)中所述。

2.2.3攻击路径

由于随机化技术的使用打破了处理的中间值和旁道观察之间的依赖性,攻击者无法工作。

深入学习评估安全的RSA实施算法1mod幂平方和乘法总是需要屏蔽输入最小,蒙哥马利表示,屏蔽指数d在n位的大小中,函数MMM用mod数和蒙哥马利因子R初始化,四个存储段@(j)用jisin; Z/NZ 初始化..4]。

确保:地址address @(1) contains

1:

2:

3:

4:

5:

6: todo

7: Read from left to right

8

9: MMM SQUARE

10:

11:

12

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 26 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[268612],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。