[发明专利]面向AES算法的抗功耗攻击方法及电路实现有效
| 申请号: | 201410172447.7 | 申请日: | 2014-04-25 |
| 公开(公告)号: | CN103916236B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 单伟伟;孙华芳;伏星源 | 申请(专利权)人: | 东南大学 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06 |
| 代理公司: | 江苏永衡昭辉律师事务所32250 | 代理人: | 王斌 |
| 地址: | 210096*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 aes 算法 功耗 攻击 方法 电路 实现 | ||
技术领域
本发明涉及集成电路硬件实现和信息安全技术领域,尤其是一种面向高级加密算法(Advanced Encryption Standard,AES)硬件电路的抗功耗攻击方法。
背景技术
随着互联网技术与信息科技的快速发展,信息加密技术在很多领域都有非常重要的应用。以密码设备为代表的信息安全产品已经渗入到国家安全和人民生活的方方面面。各种基于AES、RSA等算法的密码芯片得到了广泛地研究和开发。
随着信息技术的发展,密码芯片也面临着越来越多的安全风险,近几年旁路攻击(Side-Channel Attack,SCA,又叫做“侧信道攻击”)作为一种新的密码攻击方法,对密码算法电路提出了严峻挑战。其中功耗分析攻击(Power Analysis Attack)是较为常见和非常有效的旁路攻击手段。功耗分析攻击的实施者首先大量获取加密算法电路在加密过程中泄露的电流或者电压等功耗信息,然后根据明文(或者密文)以及建立的数学模型(数学模型会对密钥进行假设猜测),得到大量中间数据,攻击者通过对比分析中间数据和功耗信息,采用统计处理分析方法,即可破解得到正确密钥信息。功耗分析攻击不需要影响或者破坏加密设备,是一种非入侵式的攻击手段。同时功耗分析攻击实施较为简单,攻击效率非常高,是密码算法电路安全性的一个重要威胁。
在采集到大量实际功耗后,功耗攻击得以成功的关键在于建立准确的功耗数学模型。汉明距离模型的基本思想是计算数字电路在某个特定时段内电路中0→1转换和1→0转换的总数,然后利用转换的总数来刻画电路在该时间段内的功耗。
在信息论中,汉明距离指的是两个位宽等长的数据之间对应位置上数值不同的位的个数。比如两个4比特数据A(1010)和B(1001),对应第3位和第4位数据不同,那么这两个数据的汉明距离为2,可以表示成:
HD(A,B)=HD(1010,1001)=2;
在CMOS数字电路中,汉明距离模型是指计算数字电路在某一个时刻,所有电路发生“1”->“0”或者“0”->“1”的总数,根据转换的总数刻画此时电路的能量消耗。在汉明距离模型中,通常认为电路发生“1”->“0”变化与发生“0”->“1”变化引起的功耗相等,“0”->“0”变化与“1”->“1”变化所引起的功耗相同而且可以忽略。对于数字电路,功耗主要来自于电路的状态转换,而并不依赖于数据本身,并且翻转的器件越多,其功耗越大。因此使用汉明距离模型能够较好的刻画数字电路的能量消耗。在某一时刻,如果能够计算得到电路翻转前的数据D0和翻转后的数据D1,得到数据翻转的个数,从而算出数据的汉明距离,就可以和真实的功耗值建立联系。建立汉明距离模型时,需要知道数据变化前后的数值。汉明距离模型一般用于对寄存器的功耗进行描述。
AES分组密码算法输入明文为128bit,算法包括初始异或操作,中间9轮操作,第10轮的轮末操作;算法每一轮都需要一个128bit子密钥,算法每一轮的中间数据结果保存在128bit的寄存器中。AES密码算法电路在基于相关系数的差分功耗攻击中,中间数据会泄露汉明距离,从而被用来当作假设功耗值用在攻击分析中。
攻击者一般选取中间数据存储的寄存器为攻击点,攻击者首先猜测密钥,进一步猜测相邻两轮的中间值,计算汉明距离,作为寄存器变化所产生的功耗模型,然后采集实际功耗,将功耗模型与实际功耗(或仿真功耗)进行统计分析,得到正确的密钥。
发明内容
发明目的:目前AES密码算法电路在基于相关系数的差分功耗攻击中,中间数据寄存器会泄露汉明距离,从而被用来当作假设功耗值用在攻击分析中。
原始AES分组加密算法,一共由3部分构成,包括初始的与密钥异或,中间9次循环的轮操作,第10轮末变换。AES的初始密钥为128比特,每一轮需要一个128比特子密钥ki(i=0,…,10),一共十一个子密钥,子密钥由初始密钥经过扩展得到。
AES算法9次循环的轮操作包括1)S盒替换,2)行移位,3)列混合,4)密钥异或四个操作,第十轮的操作为1)S盒替换,2)行移位,3)密钥异或,没有列混合操作。其中S盒替换为16个并行S盒操作,每一个S盒的输入输出为8比特。AES每一轮加密结束都有有128比特的中间数据,记做Dn(n=0,…,10),存储在寄存器中,第十轮的结果即为密文输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410172447.7/2.html,转载请声明来源钻瓜专利网。





