一种防止基于功耗分析的des算法攻击的方法及测试电路的制作方法

文档序号:7869947阅读:267来源:国知局
专利名称:一种防止基于功耗分析的des算法攻击的方法及测试电路的制作方法
技术领域
本发明涉及一种防止基于功耗分析的DES算法攻击的方法及测试电路,具体是一种防止基于功耗分析对DES算法进行攻击的方法及电路,能够利用非对称掩码加密运算防止对DES算法芯片的功耗攻击,属于集成电路安全技术领域。
背景技术
美国国家安全局(NIST)于1977年公布由IBM的计算机密码学研究项目组研制的一种加密算法,批准它作为非机要部门的数据加密标准,简称DES。DES算法是迄今为止世界上最为广泛使用和流行的一种对称密码算法。虽然DES现在已被新的加密标准AES替代,但是国内很多加密芯片仍然在使用DES算法,它对现代对称加密算法的发展和应用起了奠基性的作用。实现的DES算法进行物理攻击以获取其中的密钥,常见的物理攻击方法包括时间分析攻击法,电磁辐射法和功耗攻击法,其中功耗攻击法是最有效的攻击方法。1999年,Kocher提出简单功耗攻击(SPA, Simple Power Analysis)和差分功耗攻击(DPA, Differential Power Analysis)方法。并利用这种方法成功地对DES加密的智能卡进行了攻击。集成电路的制造使用了大量的CMOS (Complementary Metal OxideSemiconductor互补金属氧化物半导体)管,这导致了加密不同的密钥所消耗的功耗不同。这样,在程序运行过程中,功耗的变化会反映出所使用密钥的内容,这就是基于功耗分析而进行攻击的基础。 简单功耗分析是在DES算法芯片进行加密和解密过程中,直接测量芯片的功耗状况,在固定的时刻进行采样以获得足够多的样本值。通过对加密和解密所消耗的功耗进行分析,把这些功耗与相应的密钥对应起来,从而达到攻击的目的。差分功耗分析是通过统计分析和纠错技术从采集的功耗信息中抽取出密钥相关的信息。通常情况下,简单功耗分析需要知道目标代码的应用细节。因此,只有在保证一定信噪比的情况下,简单功耗分析才能有效。而差分功耗分析对信噪比的要求要小得多,但需要得到大量的不同样本的功耗值,以及对所对应的样本进行统计分析才能得到相应的密钥。对DES芯片进行功耗攻击方法通常是首先,选择DES执行过程的某个中间值,这个中间值要被密钥操作,在大部分攻击场景中,一般选取明文或者密文作为这个中间值;然后,测量DES加密过程的实际功耗,若采集D次加密过程,每次加密采集T个功耗点,则获得一个DXT的功耗矩阵,记为矩阵T ;并计算假设的中间值,假设密钥k有K种可能,对于每一次加密计算出中间值,可获得一个DXK的矩阵V ;然后将中间值映射为模拟功耗值,并采用功耗模型(汉明距离或者汉明重量模型),计算得出一个DXK的矩阵,记为H矩阵;再计算模拟功耗矩阵与实际功耗矩阵之间的相关性,得出一个KXT的矩阵,记为Z矩阵,其每一行分别对应一种猜测的密钥,每一列对应在该时刻模拟功耗与实际功耗之间的相关系数,计算公式如式I所示;最后利用Z矩阵按行绘制出曲线(密钥一相关性曲线),出现峰值的曲线即对应功耗攻击结果。
权利要求
1.一种防止基于功耗分析的DES算法攻击的方法,其特征在于包括如下步骤 在首个子密钥K1未对数据进行操作之前,加密算法流程保持和DES流程相同,在第一轮子密钥K1对明文进行异或后引入掩码X ; 随后的第2至第15轮的加密过程,操作方式类似,仅异或的随机数数值不相同; 最后在第16轮加密过程输出前异或上掩码X,经过IP逆置换并加上掩码X4还原真实的密文信息。
2.如权利要求1所述的防止基于功耗分析的DES算法攻击的方法,其特征在于所述掩码X为随机数,掩码X广X4均为由X计算得出的随机数,计算方法为=X1=P (X),X2=EP (X1),Xf Χ,ΦΧ. X4=IP ([X3,X3]),其中P O表示P盒置换,EP O表示E盒置换,IP O表示IP置换,[Χ3, Χ3]表示用两个掩码X3首尾拼接成的变量,因而掩码X为32bit,掩码X1为32bit,掩码X2为48bit,掩码X3为32bit,掩码X4为64bit。
3.一种防止基于功耗分析的DES算法攻击的测试电路,其特征在于主要由示波器,PC机,差分探头,电源,子板和母板构成;示波器通过接在串联于母板与电源之间的电阻两端的差分探头,实时地记录母板运行加密运算时产生的电流,将电流值换算成相应的功耗值后,通过网线将功耗数据传输至PC机;PC机除了接收和处理功耗数据外,还要向母板发送激励;其中,FPGA作为母板,分别烧录了原始DES算法和本文改进的DES算法的镜像文件;此外,利用集成了 UART接口的一个微处理器作为子板,为母板和PC机提供了接口,方便PC与FPGA间激励矢量的传输。
全文摘要
本发明公开了一种防止基于功耗分析的DES算法攻击的方法及测试电路,在首个子密钥K1未对数据进行操作之前,算法流程保持和原始DES流程相同,在第一轮子密钥K1对明文进行异或后引入掩码X;随后的第2至第15轮的加密过程,操作方式类似,仅异或的随机数数值不相同,旨在保持算法中间处理过程功能的正确性;最后在第16轮输出前异或上掩码X,经过IP逆置换(FP)并加上掩码X4还原真实的密文信息。由于DES的首轮和末轮添加的掩码值及位置均异于其他轮,即非对掩加密,使得对其采用汉明距离模型时无法消去掩码的作用,从而达到对DES算法的功耗攻击的防护,保证DES密钥安全的目的。
文档编号H04L9/06GK103067155SQ20121057875
公开日2013年4月24日 申请日期2012年12月27日 优先权日2012年12月27日
发明者刘波, 孙华芳, 时龙兴, 李 杰, 金海坤, 郭银涛, 吕宇翔, 单伟伟 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1