logo资料库

能量分析攻击(不是同名书籍,是能量分析攻击相关文章).pdf

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
ABSTRACT
因此图2.2可以这样解释,Pdata服从二项分布,Pel.noise服从正态分布,因此叠
当被处理数据较多时,汉明重量的取值也更多,二项分布就越近似于正态分布,因此当操作数比特较多时,P
当考虑能量迹上相邻点的相关性时,就需要通过多元高斯分布来对能量迹进行建模。多元高斯分布是高斯分布向高
fx=12πnC∙exp−12∙x−mT∙C−1
其中,x=x1,x2⋯xnT ,m=m1,m2⋯mn
通过多元高斯分布,我们可以很好地描述能量迹的统计特征,但是当能量迹的点数增加时,C的计算量随着点数的
在比较H和T矩阵各列之间的关系时,可以使用其他的方法代替相关系数,如均值差、均值距和广义极大似然检验
本文主要介绍了能量分析攻击的基本原理和方法,并给出了一个利用CPA攻击AES软件实现的具体示例。下一
目前由于时间和研究深度关系,还有许多地方有待完善和进一步深入研究。具体体现在以下几个方面:
1.能量分析攻击与其他侧信道攻击方法联合使用。侧信道攻击中,不同的攻击方法基于不同的侧信道信息泄漏模
2.能量分析攻击与传统密码分析方法相结合。虽然能量分析攻击绕开了繁 琐的数学推导,但是当其与某些传统
3.算法级和电路级综合防御方案设计。本文主要是在算法级上对公钥密码 算法的抗能量分析攻击进行了研究,
4.能量分析攻击的量化评估标准研究。目前国内外对于能量分析攻击防御 措施的有效性,缺乏完整的定量评估
结束语
致 谢
— — — — — — — — — — — — — — — — — — — — — — — — — — 装 订 线 — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — 摘 要 侧信道攻击是一种新型的密码分析方法,通过采集密码设备在实际运行过程 中所泄漏的侧信道信息,从密码算法的实现载体上完成密钥破译。它突破了传统 的密码分析思想,对密码设备的实际安全产生了巨大威胁。其中,能量分析攻击 是侧信道攻击中最有效的一种攻击手段,它能以较低的代价高效地完成密钥破译。 因此,对密码设备实行能量分析攻击的研究具有重要意义。 本文主要介绍了密码算法基础和能量分析攻击的基本原理和实现方法。首先 介绍各种密码算法,着重介绍了高级加密标准(AES)的原理和算法流程。接着阐 述了这样一个事实:密码设备的瞬时能量消耗依赖于设备所处理的数据和设备所 执行的操作,说明了能量分析攻击的可行性。然后介绍了各种能量仿真模型及其 适用场合和能量分析攻击的数学原理和实现方法,着重介绍了 SPA,DPA 以及 CPA 攻击的原理和方法。并通过一个具体实例介绍了 CPA 攻击的过程以及攻击结果。 通过使用不同的能量仿真模型建模,比较了不同能量模型的优劣,为寻找更高效 的能量分析攻击方法指出了方向。 最后给出了今后能量分析攻击的深入研究方向,展望了将来密码攻击的发展 方向,并做出了团队今后的工作规划。 关键词:密码算法;高级加密标准;能量分析攻击;能量仿真模型
ABSTRACT Side channel attack is a new method of cryptanalysis. By collecting the information of the side channel that the cryptographic device leaks during the actual operation, the key is deciphered from the realization carrier of the cryptographic algorithm. It breaks through the traditional idea of cryptanalysis and poses a great threat to the actual security of cryptographic devices. Among them, energy analysis attack is the most effective attack method in side channel attack, and it can accomplish key decode efficiently at low cost. Therefore, it is of great significance to carry out the energy analysis attack on cryptographic devices. This paper mainly introduces the basic principles and implementation methods of introduce various cryptographic algorithm basis and energy analysis attack. First the cryptographic algorithms, focusing on the principles and algorithm flow of Advanced Encryption Standard (AES). It follows the fact that the instantaneous energy consumption of a cryptographic device depends on the data processed by the device and the operations performed by the device, illustrating the feasibility of an energy analysis attack. Then introduces various energy simulation models and their applicable occasions and mathematical principles and implementation methods of energy analysis attacks, focusing on the principles and methods of SPA, DPA and CPA attacks. Through a specific example, the process of CPA attack and the attack result are introduced. By using different energy simulation model modeling, the advantages and disadvantages of different energy models are compared, and the direction is pointed out for finding more efficient energy analysis attack methods. Finally, the in-depth research direction of future energy analysis attacks is given, and the development direction of password attack in the future is prospected, and the future work plan of the team is made. Key words:Cryptographic algorithm ; Advanced encryption standard ; Energy analysis attack ; Energy simulation model
目 录 第一章 绪论……………………………………………………………1 1.1 研究内容及背景………………………………………………………………1 1.2 能量分析攻击…………………………………………………………………2 1.3 本文主要研究内容……………………………………………………………3 第二章 密码算法与攻击预备知识……………………………………4 2.1 密码算法简介…………………………………………………………………4 2.2 能量仿真与能量模型…………………………………………………………5 2.3 能量迹的统计特征……………………………………………………………6 第三章 能量分析攻击基本原理………………………………………9 3.1 简单能量分析攻击(SPA)……………………………………………………9 3.2 差分能量分析攻击(DPA)……………………………………………………10 3.3 基于相关系数的能量分析攻击(CPA)………………………………………10 第四章 能量分析攻击实例……………………………………………11 4.1 基于 CPA 攻击软件实现 AES…………………………………………………11 4.2 相关系数的替代方法…………………………………………………………12 第五章 未来工作展望…………………………………………………13 结束语……………………………………………………………………14 致谢………………………………………………………………………15 参考文献…………………………………………………………………16 附录………………………………………………………………………17
专业与创新教育研究报告 第一章 绪论 1.1 研究内容及背景 随着因特网的飞速发展,信息技术被广泛的应用于政治、军事、经济、外交 和科研等诸多领域,极大地影响着人们的生活、学习和工作。它给人们的日常生 活带来了诸多便利,但同时信息安全隐患也随之突显。如何确保敏感信息在操作 过程中,不被非法盗用、暴露、伪造和篡改,已经引起人们越来越多的关注。在 信息高度发达的今天,信息已经成为国家的重要战略资源,因此,信息安全成为 非常重要的研究课题。 密码算法作为确保信息安全的核心方法,其实质上是一个数学函数,将输入 的明文与密钥映射成一个密文输出。公钥密码算法的安全性依赖于数学上的某些 特定困难问题难解性,其严谨的逻辑结构和高计算复杂度,使得传统密码分析方 法很难实现密码破译。同时随着集成电路技术的发展,芯片成为密码算法实现的 重要载体,其内部具有良好的封闭性,这使得经典的密码分析方法在分析密码硬 件设备应用安全性时更加困难。 传统意义上的密码芯片安全,主要从密码算法和协议的复杂度上考虑,忽略 了现实中使用密码算法时所受到的硬件环境方面的影响。1996 年,Kocher 提出了 一种全新的攻击方法——侧信道攻击(Side Channel Attack,SCA)。他指出密码芯片 在实现密码算法的过程中,会泄露与密钥相关的各种侧信道信息,如时间、能量、 电磁等。攻击者获取这些信息,然后利用各种分析方法逐步解析出一些与密钥相 关的敏感信息,甚至直接获取密钥。根据不同的侧信道信息泄漏模型,可以将攻 击方法归纳为以下几类:时间攻击(Timing Attack),能量分析攻击 (Power Analysis Attack)、电磁辐射攻击(Electromagnetic Attack)、故障攻击(Fault Attack)、缓存攻击 (Cache Attack)等。时间攻击是通过采集密码芯片运算过程中的执行时间,结合密 码算法的具体实现方式,进而发现执行时间与密钥之间的关联性,从而完成密码 算法的破译。能量分析攻击利用设备在执行密码算法时所泄漏的能量消耗信息, 对算法的相关密钥操作进行推测,从而完成密钥破译。电磁辐射攻击是指攻击者 利用电子探测设备对密码设备运行时产生的电磁辐射进行收集,通过分析这些辐 射与底层计算之间的关系,猜测出密钥信息。故障攻击是攻击者根据密码设备运 行时出现的错误行为或错误输出,来分析其密钥信息。缓存攻击主要是利用 CPU 和主存之间 Cache 访问命中和失效时,时间和能量消耗的差异来进行相关密钥恢 复。 相对于传统的数学分析方法,侧信道攻击极大的缩小了密钥搜索空间,数学 上无法破解的难题,在实际应用中能以较小的代价完成对基于该数学难题的密码 芯片破译。在众多的侧信道攻击方法中,能量分析攻击最具威胁性且易于实施, - 1 -
专业与创新教育研究报告 因此,能量分析攻击方法受到了学术界和工业界的广泛关注。 1.2 能量分析攻击 1.2.1 密码设备攻击 近年来,多种对密码设备的攻击已广为人知。所有这些攻击的目标都是为了 获得密码设备中的密钥。但是,用来实现这一目标的技术则种类繁多。 就其花费、时间、所需要的仪器以及专业知识而言,对密码设备的各种攻击 大相径庭。因此,对这些攻击进行分类的方法也有多种。本质上,此分类方法基 于两个准则。第一个分类准则是攻击为主动抑或被动。 主动攻击是把密码设备中的密码芯片部分抽取出来,进行修改、探测、部分 毁坏,或使用在一些非正常的环境中。 被动攻击用于对密码设备在通信过程中的信息进行截取,然后对这些信息进 行分析,从而得出一些有用信息。 对面向密码设备的攻击进行分类的第二个准则是攻击本身所利用的“接口”。 密码设备通常具有多个物理接口和逻辑接口。这些接口中的一部分可以很容易访 问,而对另外一部分接口的访问则只能通过特定的设备。基于攻击所使用的接口, 可以将攻击分为入侵式攻击、半入侵式攻击和非入侵式攻击。所有这些攻击既可 以是被动攻击,也可以是主动攻击。 入侵式攻击是能够对密码设备实施的最强大的一类攻击。在这类攻击中,攻 击者能够对密码设备所进行的处理基本上没有限制。 半入侵式攻击同样需要对密码设备进行拆解。但是,与入侵式攻击不同,半 入侵式攻击和芯片表面没有任何直接的电子接触,即保持芯片钝化膜的完好无损。 非入侵式攻击是指,在攻击过程中被攻击的密码设备本质上和其正常工作时 的状态没有任何区别,也就是说,这种攻击仅仅利用了设备上可被直接访问的接 口。设备自身永远不会发生改变,因而实施这种攻击之后不会遗留下任何痕迹 侧信道攻击即是被动型非入侵式攻击,不同于传统密码算法的纯粹数学分析, 侧信道攻击同时考虑算法的实现。它以数学统计分析为重要依托手段,比单纯的 数学破译密码算法简单,比物理攻击密码设备破坏性小、成本低。在已经发现并 被证实的多种侧信道攻击方法中,能量分析攻击是目前应用最广、威胁最大的攻 击手段。 能量分析攻击的基本思想是通过分析密码设备的能量消耗获得其密钥。本质 上,能量分析攻击利用了两类能量消耗依赖性:数据依赖性和操作依赖性。它基 于这样一个事实:密码设备的瞬时能量消耗依赖于设备所处理的数据和设备所执 行的操作。 操作依赖性是指密码设备对同一数据执行不同操作时,其能量消耗不同。比 如,密钥为“1"时,设备在执行乘法和平方操作时,其能量消耗明显不同。数据依 - 2 -
专业与创新教育研究报告 赖性是指当密码设备执行相同操作时,不同操作数产生的能量消耗也不相同, 能 量分析攻击(特别是差分能量分析攻击)更多的是利用数据依赖性。图 3.3 给出了 AES 密码算法在执行密码加载操作时,密钥位为“0”和“1’’时的平均能量迹差分图。 1.2.2 简单能量分析攻击(SPA) SPA 主要是指攻击者通过分析密码设备执行密码操作时的能量消耗,直接从 获取的能量曲线中推导出密钥的技术。在极端情况下,攻击者仅仅只需要一条能 量消耗曲线就可以完成密钥破译。但是,通常实施 SPA 攻击需要对密码设备中算 法的具体实现过程有详细的认识。 1.2.3 差分能量分析攻击(DPA) DPA 是目前应用最广的能量分析攻击方法,利用操作数与能量消耗变化之间的 关系进行。它对采集到的能量消耗曲线进行统计分析,减少噪声影响,放大信号 差别。DPA 攻击基于对密码芯片大量能量消耗轨迹的采集和分析,主要包括数据采 集和数据分析两部分。通过使用统计分析和误差修正技术对采集到的能量消耗波 形进行处理,可以在数分钟或者数天内高效地完成对密钥的破译。 与 SPA 相比,DPA 攻击无须知道关于密码设备的详细知识,只需知道设备执行 何种密码算法就可以了。DPA 攻击存在一种一般性的攻击策略,该策略由 5 大步 骤构成:选择中间值、采集能量消耗曲线、计算假设中问值、将假设中间值映射 为假设能量消耗、比较假设能量消耗值和能量消耗曲线。 在上述第五个步骤中,可以利用相关系数来确定假设能量消耗值和真实能量 消耗曲线之间的关系,这种方法也称为基于相关系数的能量分析攻击(CPA)。 1.3 本文主要研究内容 本文主要介绍能量分析攻击的基本原理和方法,并给出了一个利用 CPA 攻击 的具体示例,该示例基于一个 8051 兼容微控制器,它执行 AES 算法的一种软件实 现。然后给出今后工作的规划与展望。 - 3 -
专业与创新教育研究报告 第二章 密码算法与攻击预备知识 2.1 密码算法简介 密码算法是用于加密和解密的数学函数,密码算法是密码协议的基础。现行 的密码算法主要包括序列密码、分组密码、公钥密码、散列函数等,用于保证信 息的安全,提供鉴别、完整性、抗抵赖等服务。假设我们想通过网络发送消息 P (P 通常是明文数据包),使用密码算法隐藏 P 的内容可将 P 转化成密文,这个转 化过程就叫做加密。与明文 P 相对应的密文 C 的得到依靠一个附加的参数 K,称为 密钥。密文 C 的接收方为恢复明文,需要另一个密钥 K’完成反方向的运算,这个 反向的过程称为解密。 2.1.1 密码算法的分类 密码算法可以分为对称密码算法和非对称密码算法。 对称密码算法有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出 来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫 秘密密钥算法或单密钥算法,它要求发送者和接收者在安全通信之前,商定一个 密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行 加/解密。只要通信需要保密,密钥就必须保密。对称算法可分为两类。一次只对 明文中的单个比特(有时对字节)运算的算法称为序列算法或序列密码。另一类 算法是对明文的一组比特并行运算,这些比特组称为分组,相应的算法称为分组 算法或分组密码。 非对称密码算法(也叫公开密钥算法)是这样设计的:用作加密的密钥不同于 用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的 长时间内)。之所以叫做公开密钥算法,是因为加密密钥能够公开,即陌生者能用 加密密钥加密信息,但只有用相应的解密密钥才能解密信息。在这些系统中,加 密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。私人密 钥有时也叫秘密密钥。为了避免与对称算法混淆,此处不用秘密密钥这个名字。 2.1.2 高级加密标准(AES)简介 高级加密标准(AES)是著名的对称加密算法。AES 是一个分组密码算法,它 加密的对象是一些具有固定长度的消息分组。AES 的分组长度为 128 比特,而密钥 长度则可以为 128 比特、192 比特或 256 比特。相应地,我们将 AES 的这些不同版 本分别称为 AES-128,AES-192 和 AES-256。在本文中 AES 特指 AES-128。 大多数 AES 计算是在一个特别的有限域完成的。 AES 加密过程是在一个 4×4 的字节矩阵上运作,这个矩阵又称为“状态(state)”, 其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个字节)。加 - 4 -
专业与创新教育研究报告 密时,各轮 AES 加密循环(除最后一轮外)均包含 4 个步骤: 1. AddRoundKey — 矩阵中的每一个字节都与该次轮秘钥(round key)做 XOR 运算;每个子密钥由密钥生成方案产生。 2. SubBytes — 通过非线性的替换函数,用查找表的方式把每个字节替换成对 应的字节。 3. ShiftRows — 将矩阵中的每个横列进行循环式移位。 4. MixColumns — 为了充分混合矩阵中各个直行的操作。这个步骤使用线性转 换来混合每列的四个字节。 最后一个加密循环中省略 MixColumns 步骤,而以另一个 AddRoundKey 取代。 2.2 能量仿真与能量模型 在能量分析攻击中,通常必须要将操作数映射为能量消耗值,这是一种对设 备的能量仿真。有必要指出的是,能量消耗的绝对值在能量分析攻击中并无意义。 对于攻击者而言,重要的仅仅是多次仿真所获得能量消耗之间的差别。本节将讨 论攻击中用于将数据值映射为能量消耗值的不同技术 2.2.1 汉明距离模型 如果被攻击的设备是微控制器,该微控制器很可能与很多广泛使用的微控制 器采用了相同或相似的方法设计和制造。这样,它就会包含寄存器、数据总线、 内存和算术逻辑单元(ALU)、一些通用接口等。这些部件往往具有一些被熟知的 属性,如数据总线往往很长,而且连接到很多部件。因此,数据总线的电容负载 往往很大,从而对微控制器的能量产生较大的影响。一般而言,数据总线上不会 出现毛刺,因为数据总线一般由时序元件直接驱动。此外,一般可以假设总线的 各条导线的电容负载基本相等。 基于以上观点,很明显,汉明距离模型很适合用于刻画数据总线的能量消耗, 攻击者可以在不拥有设备网表的情况下,将这种总线上传输的数据映射为能量消 耗,即总线上的数据由v0变为v1时所消耗的能量正比于HDv0,v1 =HWv0⨁v1 。 其中 HD 为汉明距离,HW 为汉明重量,汉明重量等于逻辑值为“1”的比特个数。 对于其他类型的总线,如数据总线,上述结论仍然成立。 除了总线的能量消耗,汉明距离模型还可以很好地刻画密码算法硬件实现中 寄存器的能量消耗值。寄存器由时钟信号触发,因此,在每个时钟周期内,他们 的数值仅能改变一次。攻击者可以根据计算连续时钟周期内寄存器中储存数值的 汉明距离来对寄存器的能量消耗进行仿真。 2.2.2 汉明重量模型 汉明重量模型比汉明距离模型更简单。在攻击者对密码设备网表一无所知, 或者仅仅知道网表的一部分,但不知道该部分连续处理的数值的情况下,通常可 - 5 -
分享到:
收藏