[发明专利]防止基于功耗分析攻击AES算法的软件掩码防护方案在审
申请号: | 201410075270.9 | 申请日: | 2014-03-03 |
公开(公告)号: | CN103795527A | 公开(公告)日: | 2014-05-14 |
发明(设计)人: | 徐佩;姬晨;刘自强;张瑜;李思遥;傅鹂;向宏;陈京浩 | 申请(专利权)人: | 重庆大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 重庆大学专利中心 50201 | 代理人: | 郭吉安 |
地址: | 400044 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 防止 基于 功耗 分析 攻击 aes 算法 软件 掩码 防护 方案 | ||
技术领域
本发明涉及一种防止基于功耗分析攻击AES算法的软件掩码防护方案,具体是一种防止基于功耗分析攻击AES算法的软件掩码防护方案,能够利用非对称随机掩码矩阵防止对智能卡中软件实现的AES算法的功耗攻击,提高防护效率,属于信息安全领域。
背景技术
高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是由美国联邦政府采用的一种加密算法,该标准用来替代原有的DES,是迄今为止世界上最为广泛使用和流行的一种对称加密算法。虽然国内很多加密芯片仍然在使用DES算法,但随着智能CPU卡的逐渐普及,越来越多的加密芯片必将选择安全等级更高的AES算法来保护智能卡的安全。
侧信道攻击(side channel attack 简称SCA),又称旁路攻击:针对加密电子设备在运行过程中的时间消耗、功率消耗或电磁辐射之类的侧信道信息泄露而对加密设备进行攻击的方法被称为侧信道攻击。这类新型攻击的有效性远高于密码分析的数学方法,因此给密码设备带来了严重的威胁。对边信道攻击的学术研究起于1996-1999年。传统的分组密码分析技术局限于算法的数学结构,其攻击效果往往不佳。国内外密码学界都在加强及预算法实现的分析方法研究,边信道分析技术作为一种新的密码分析方法迅速成为研究热点。对于智能卡密码设备而言,功耗攻击是最有效的攻击方法。
1998年和1999年:P.Kocher等人提出了功耗分析的思想,即简单功耗攻击(SPA,Simple Power Analysis)和差分功耗攻击(DPA,Different Power Analysis)方法,2004年,相关系数功耗攻击(CPA,Correlation Power Analysis)方法的提出使其迅速成为主流功耗分析方法,利用这种方法对采用对称加密算法的智能卡进行攻击的案例也频繁出现。
现有的智能卡无论其内部加密算法是由硬件系统还是软件系统实现,最终一定是运行在硬件上的,而密码设备的电路部分基本都是由CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)电路构成的,因此加密过程中采用不同的密钥所消耗的功耗也不同。功耗的变化能间接反映出所采用密钥的内容,功耗分析便是基于此进行攻击的。
差分功耗攻击:功耗攻击的一种,攻击者无须了解关于被攻击设备的详细内容,通过分析加密密钥与功耗数据之间的相关性,利用统计分析方法寻找与密钥相关的有用信息,从而完成攻击;相关系数功耗攻击可以看作是对差分功耗分析方法的优化与改进,它利用功耗模型首先求出假设功耗,然后计算假设功耗和实测功耗之间的相关系数,通过比较相关系数来确定密钥。
对采用AES加密算法的智能卡芯片的功耗攻击流程通常是:第一,首先选择AES算法中一个与密钥相关联的中间值;第二,测量加密或解密时设备的功耗,此时明文或密文通常需要是已知的;第三,计算假设的中间值,该中间值由第一步中与密钥相关的函数关系所计算得到,该中间值可映射为一个中间值矩阵;第四,利用功耗模型(汉明距离或汉明重量模型)计算得到假设中间值矩阵对应的功耗矩阵;第五,将映射得到的功耗矩阵与实际功耗相比较,根据相关性计算方法可计算得到相关系数最高的功耗值,据此可对应找出可能性最大的密钥值,从而完成攻击。
目前针对软件实现的密码系统的功耗攻击防护方法主要采用以下所述的几种措施:
1)算法级防护。在不改变算法执行结果的情况下,改变算法执行流程;使其具有一定的随机性,干扰旁路信息的获取。最具代表性的方法为掩码防护,其核心思想是在数据运行的过程中为数据掩上一个掩码(异或上一个与计算无关的值),并在得到最后的结果前去除该掩码;由于掩码数据和密码计算本身无关,可以是任何一个值,因此掩码数据本身拥有不可预知性;虽然掩码防护的安全性较高,然而对于软件实现的密码算法,一次加密用于生成全部随机掩码的时间甚至超过加密所用的全部时间,大大降低了加密效率。
2)逻辑级防护。改变密码电路中逻辑单元的设计,使运算时数据产生的功耗不具有区分性。最具代表性的方法为双轨逻辑,其核心思想是利用冗余的编码技术,重新设计了电路的逻辑单元,使不同数据的编码产生相同的功耗;该设计虽然可达到很好的安全防护效果,然而对于软件实现的密码算法,对于表存储空间的需求会翻倍,大大降低了加密效率。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410075270.9/2.html,转载请声明来源钻瓜专利网。