CN105871536B - 一种基于随机延时的面向aes算法的抗功耗攻击方法 - Google Patents
一种基于随机延时的面向aes算法的抗功耗攻击方法 Download PDFInfo
- Publication number
- CN105871536B CN105871536B CN201610422789.9A CN201610422789A CN105871536B CN 105871536 B CN105871536 B CN 105871536B CN 201610422789 A CN201610422789 A CN 201610422789A CN 105871536 B CN105871536 B CN 105871536B
- Authority
- CN
- China
- Prior art keywords
- wheel
- aes algorithm
- power consumption
- random
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种基于随机延时的面向AES算法的抗功耗攻击方法,在AES算法中添加随机数发生器和随机延时模块,在寄存器与轮操作模块之间提供多条不同延时的路径,并通过随机数发生器产生的随机数来随机选择一条路径,使得轮操作模块产生功耗的时间点在一个时钟周期中趋于随机化。本方法有效降低了AES算法中基于汉明重量的假设功耗和实际功耗轨迹的相关性,可以有效抵抗基于汉明重量模型的功耗攻击。
Description
技术领域
本发明涉及集成电路硬件实现和信息安全技术领域,特别是涉及一种基于随机延时的面向AES算法的抗功耗攻击方法。
背景技术
随着互联网技术与信息科技的快速发展,信息加密技术在很多领域都有非常重要的应用。密码产品可以采用软件或硬件实现,但由于硬件实现比软件实现具有速度更快,功耗更低的优势,基于硬件实现的密码设备已成为研究热点。各种基于DES(Data EncryptionStandard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)等算法的密码芯片得到了广泛的研究和开发。
密码芯片也面临着各种各样的安全风险,近年来以差分功耗攻为代表的旁路攻击,对密码设备的安全性提出了严峻的挑战。功耗攻击是一种非入侵式攻击,攻击者首先大量获取密码设备在加解密操作时泄露的功耗信息,然后根据明文或者密文建立功耗的数学模型,得到大量中间值,将中间值和实际功耗进行对比分析,采用统计处理方法计算出相关系数,从而分析出关键的密钥信息。如何抵抗功耗分析攻击保护算法安全是学术界一个重要的研究点。
对于数字电路,功耗主要来自于电路的转换状态,由于电路中存在寄生电容的影响,所以数据从0翻转到1与从1翻转到0的功耗具有微小的差别,因此电路的功耗与电路计算过程中的某一个二进制中间值的汉明重量存在微弱的相关性,利用这种相关性可以对密钥进行猜测,从而可以攻击出正确的中间值。
然而,现有技术有些实现成本高,对性能和硬件资源开销影响大;有些抗攻击方法存在局限性,难以抵抗弹性对齐等预处理手段;有些实现方案繁琐,需要改变标准单元库或改变现行标准EDA工具流程。
发明内容
发明目的:本发明的目的是提供一种能解决现有技术存在的缺陷的基于随机延时的面向AES算法的抗功耗攻击方法。
技术方案:为达到此目的,本发明采用以下技术方案:
本发明所述的基于随机延时的面向AES算法的抗功耗攻击方法,在AES算法中添加随机数发生器和随机延时模块;AES算法初始阶段的密钥加操作中,明文和初始密钥进行密钥加操作,密钥加操作结果存入寄存器中,随机数发生器发送初始阶段随机数给随机延时模块,随机延时模块根据随机数确定初始阶段延时时间,经过初始阶段延时时间后,将密钥加操作结果送入第1轮轮操作模块;AES算法的第i轮中,1<i≤N,N为AES算法的轮操作的总次数,随机数发生器发送第i轮随机数给随机延时模块,随机延时模块根据第i轮随机数确定第i轮延时时间,经过第i轮延时时间后,将存储在寄存器中的第i-1轮中间值送入第i轮轮操作模块进行轮操作,如果i≠N,则将计算得到的第i轮中间值存入寄存器中,如果i=N,则将计算得到的密文输出。
进一步,所述随机延时模块包括多种不同延时的路径和一个数据选择器,随机数发生器将随机数发送给数据选择器的地址输入端,数据选择器对路径进行选择。
进一步,所述路径中,第j条路径包括2(j-1)个反相器,1≤j≤M,M为路径总数,数据选择器具有M路数据输入端。
进一步,所述AES算法的第i轮中,1<i<N,轮操作模块对第i-1轮中间值依次进行字节替换、行移位、列混合和密钥加这四种操作,得到第i轮中间值。
进一步,所述AES算法的第N轮中,轮操作模块对第N-1轮中间值依次进行字节替换、行移位和密钥加这三种操作,得到密文。
有益效果:与现有技术相比,本发明具有以下有益效果:
1)抗攻击效果好,特别能够抵御弹性对齐等预处理手段;
2)抗攻击成本低,表现为硬件资源开销增加不大,关键路径延时增加不大;
3)兼容性好,表现为无需定制标准单元库,无需改变常规EDA工具流程。
附图说明
图1为传统的无流水线的AES算法流程图;
图2为采用了本发明方法的AES算法的流程图;
图3为对传统AES算法进行基于汉明重量模型的功耗攻击第一个字节所得到的相关性系数矩阵;
图4为对使用本发明方法后的AES算法进行基于汉明重量模型的功耗攻击第一个字节所得到的相关性系数矩阵。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步的介绍。
传统AES算法一共由3部分组成,分别是初始密钥加、9轮相同的轮操作和第10轮末变换。每一轮均需要一个轮密钥来完成密钥加操作,一共十一个子密钥,记为Kn(n=0,…,10)。子密钥由初始密钥经过扩展得到。AES算法中间9次循环的轮操作包括字节替换、行移位、列混合和密钥加四个操作。其中第十轮末变换包括字节替换、行移位和密钥加三个操作。AES每轮结束都会产生一个中间值数据,可以记为Dn(n=0,…,10),存储在寄存器中,其中D10即为密文输出。
如图1所示,以一级流水的AES128算法硬件实现为例,在攻击者可以获得输出的密文以及硬件的功耗轨迹的情况下,攻击者可以针对第九轮的输出值进行攻击。通过对密钥进行猜测,攻击者可以从密文推导出第九轮的输出值,根据第九轮的输出值可以建立汉明重量模型。由于密钥具有128比特字节,因此可以将密钥分为16个字节逐个攻破,具体的步骤如下:
1.根据D10中的第N个字节数据和假设的密钥K10的第N个字节数据可以推导出密钥加操作之前128比特中间值的第N个字节的值。
2.根据密钥加操作之前第N个字节的值,可以推导出行移位运算之前的数据第M个字节的值。N和M之前的映射关系可由行移位的运算规则得出。
3.通过行移位运算之前第M个字节的值经过逆字节变换可以推导出第九轮的输出第M个字节的值。
4.通过第九轮的输出中第M个字节的值建立汉明重量模型,与实际功耗轨迹进行相关性分析。
针对上述基于汉明重量模型的功耗攻击,本发明公开了一种基于随机延时的面向AES算法的抗功耗攻击方法,如图2所示,在AES算法中添加随机数发生器1和随机延时模块2。AES算法初始阶段的密钥加操作中,明文和初始密钥进行密钥加操作,密钥加操作结果存入寄存器中,随机数发生器1发送初始阶段随机数给随机延时模块2,随机延时模块2根据随机数确定初始阶段延时时间,经过初始阶段延时时间后,将密钥加操作结果送入第1轮轮操作模块;AES算法的第i轮中,1<i≤9,随机数发生器1发送第i轮随机数给随机延时模块2,随机延时模块2根据第i轮随机数确定第i轮延时时间,经过第i轮延时时间后,将存储在寄存器中的第i-1轮中间值送入第i轮轮操作模块进行轮操作,然后将计算得到的第i轮中间值存入寄存器中。第10轮轮操作得到的密文则直接输出。
其中,随机延时模块2包括4条不同延时的路径和一个数据选择器21,随机数发生器1将随机数发送给数据选择器21的地址输入端,数据选择器21对路径进行选择。第j条路径包括2(j-1)个反相器,1≤j≤4,数据选择器21具有4路数据输入端。随机延时模块2使得轮操作在每个加密周期中的时间趋于随机化,从而使得与中间值相关的功耗轨迹时间点无法对齐,因此可以极大的削弱中间值汉明重量模型与功耗轨迹间的相关性。
采用本发明方法后,整个AES电路所需的硬件资源增加了47%,关键路径延迟增长了22%,和其他抗汉明重量模型功耗攻击方法相比,对面积开销和性能开销的影响有限。
本具体实施方式基于FPGA平台实现了传统AES128算法和使用本专利提出的随机延时方法改进后的AES128算法,并对以上两种情况进行了基于汉明重量模型的功耗攻击。
1)针对传统AES算法的基于汉明重量模型的攻击
将传统AES128算法通过FPGA实现,设置的初始密钥为’0102030405060708090a0b0c0d0e0f’,其中随后一轮的128比特的子密钥为K10为’13111d7fe3944a17f37a78b4d2b30c5’。本具体实施方式使用FPGA对随机明文进行加密,同时利用示波器采集AES加密时的功耗轨迹共10000条,每条功耗轨迹的点数为N,同时获得10000组相对应的密文数据。由于密钥128位,因此需要将密钥分为16个字节逐个攻破。将10000组密文和假设的密钥可以推导出第九轮的输出值,同时利用汉明重量模型,可以得到一个256列10000行的假设功耗矩阵。其中矩阵的每一列对应一个密钥字节的一个密钥假设。10000条示波器采集的功耗轨迹可以组成一个N列10000行的真实功耗矩阵。将假设功耗矩阵的每一列和真实功耗矩阵的每一列进行相关性分析,可以得到一个256行N列的相关性矩阵,其中每一行对应相关字节的一个密钥假设。图3为使用汉明重量模型攻击第十轮的输入所得到的相关性矩阵图。其中每一条曲线为相关性矩阵的一行,即一个密钥假设,可以发现有一条曲线出现了明显的尖峰,该曲线所对应的密钥假设为19,为正确的密钥假设。
2)针对采用本发明方法改进后的AES算法的基于汉明重量模型的攻击
使用本专利提出的一种随机延时的方法改进了AES算法,并将改进后的AES算法使用FPGA实现,并尝试进行基于汉明重量模型的功耗攻击。本实验使用示波器一共采集了FPGA运行改进后的AES算法的功耗轨迹共30万条。然后使用相同的方法对改进后的AES算法进行攻击,得到相关性系数矩阵如图4所示。
从图4中可以看出正确密钥对应曲线(灰色曲线)已经淹没在了其余255条曲线之中,改进后的AES算法实现,功耗轨迹条数从1万条增加到30万条后,正确密钥依然没有出现尖峰。由此可知,改进后的AES算法有效的抵抗了基于汉明重量的功耗攻击,证明了本专利提出方法的有效性。
Claims (4)
1.一种基于随机延时的面向AES算法的抗功耗攻击方法,其特征在于:在AES算法中添加随机数发生器(1)和随机延时模块(2);AES算法初始阶段的密钥加操作中,明文和初始密钥进行密钥加操作,密钥加操作结果存入寄存器中,随机数发生器(1)发送初始阶段随机数给随机延时模块(2),随机延时模块(2)根据随机数确定初始阶段延时时间,经过初始阶段延时时间后,将密钥加操作结果送入第1轮轮操作模块;AES算法的第i轮中,1<i≤N,N为AES算法的轮操作的总次数,随机数发生器(1)发送第i轮随机数给随机延时模块(2),随机延时模块(2)根据第i轮随机数确定第i轮延时时间,经过第i轮延时时间后,将存储在寄存器中的第i-1轮中间值送入第i轮轮操作模块进行轮操作,如果i≠N,则将计算得到的第i轮中间值存入寄存器中,如果i=N,则将计算得到的密文输出;所述随机延时模块(2)包括多种不同延时的路径和一个数据选择器(21),随机数发生器(1)将随机数发送给数据选择器(21)的地址输入端,数据选择器(21)对路径进行选择。
2.根据权利要求1所述的基于随机延时的面向AES算法的抗功耗攻击方法,其特征在于:所述路径中,第j条路径包括2(j-1)个反相器,1≤j≤M,M为路径总数,数据选择器(21)具有M路数据输入端。
3.根据权利要求1所述的基于随机延时的面向AES算法的抗功耗攻击方法,其特征在于:所述AES算法的第i轮中,1<i<N,轮操作模块对第i-1轮中间值依次进行字节替换、行移位、列混合和密钥加这四种操作,得到第i轮中间值。
4.根据权利要求1所述的基于随机延时的面向AES算法的抗功耗攻击方法,其特征在于:所述AES算法的第N轮中,轮操作模块对第N-1轮中间值依次进行字节替换、行移位和密钥加这三种操作,得到密文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610422789.9A CN105871536B (zh) | 2016-06-14 | 2016-06-14 | 一种基于随机延时的面向aes算法的抗功耗攻击方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610422789.9A CN105871536B (zh) | 2016-06-14 | 2016-06-14 | 一种基于随机延时的面向aes算法的抗功耗攻击方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871536A CN105871536A (zh) | 2016-08-17 |
CN105871536B true CN105871536B (zh) | 2019-01-29 |
Family
ID=56650401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610422789.9A Active CN105871536B (zh) | 2016-06-14 | 2016-06-14 | 一种基于随机延时的面向aes算法的抗功耗攻击方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871536B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108964874B (zh) * | 2017-05-17 | 2020-10-27 | 中国科学技术大学 | 抗路径差异攻击的aes加密方法 |
CN107483182B (zh) * | 2017-09-21 | 2020-08-21 | 东南大学 | 一种基于乱序执行的面向aes算法的抗功耗攻击方法 |
CN109347621B (zh) * | 2018-08-31 | 2020-11-06 | 南京航空航天大学 | 基于随机延时s盒的可防御碰撞攻击的高速aes加密电路 |
CN110059492B (zh) * | 2019-04-01 | 2023-01-31 | 南京航空航天大学 | 一种基于双路互补结构的可检错aes加密电路 |
CN112887222A (zh) * | 2021-01-08 | 2021-06-01 | 珠海格力电器股份有限公司 | 数据上报方法、装置、存储介质及电子设备 |
CN113225180A (zh) * | 2021-04-29 | 2021-08-06 | 北京连山科技股份有限公司 | 一种通信密钥的保护方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
CN102710413A (zh) * | 2012-04-25 | 2012-10-03 | 杭州晟元芯片技术有限公司 | 一种抗dpa/spa攻击的系统和方法 |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN104604136A (zh) * | 2012-09-28 | 2015-05-06 | 英特尔公司 | 自适应功率门控及调节 |
CN105656619A (zh) * | 2016-02-02 | 2016-06-08 | 清华大学无锡应用技术研究院 | 一种aes加密方法和基于及的抗功耗攻击方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949883B2 (en) * | 2004-06-08 | 2011-05-24 | Hrl Laboratories, Llc | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis |
FR2932336B1 (fr) * | 2008-06-06 | 2010-06-18 | Tiempo | Circuit asynchrone insensible aux delais avec circuit d'insertion de delai |
-
2016
- 2016-06-14 CN CN201610422789.9A patent/CN105871536B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
CN102710413A (zh) * | 2012-04-25 | 2012-10-03 | 杭州晟元芯片技术有限公司 | 一种抗dpa/spa攻击的系统和方法 |
CN104604136A (zh) * | 2012-09-28 | 2015-05-06 | 英特尔公司 | 自适应功率门控及调节 |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN105656619A (zh) * | 2016-02-02 | 2016-06-08 | 清华大学无锡应用技术研究院 | 一种aes加密方法和基于及的抗功耗攻击方法 |
Non-Patent Citations (2)
Title |
---|
AES S盒的计算过程;NG皇帝;《百度文库》;20151103;第3页至第11页 |
数据包异步电路的关键技术研究;曾永红;《中国博士学位论文全文数据库信息科技辑》;20090515;正文第65页,第75页,第101页至103页 |
Also Published As
Publication number | Publication date |
---|---|
CN105871536A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871536B (zh) | 一种基于随机延时的面向aes算法的抗功耗攻击方法 | |
CN101834720B (zh) | 加密处理设备 | |
Fuhr et al. | Fault attacks on AES with faulty ciphertexts only | |
Ors et al. | Power-analysis attack on an ASIC AES implementation | |
CN105933108B (zh) | 一种对sm4算法实现破解的方法 | |
CN103916236B (zh) | 面向aes算法的抗功耗攻击方法及电路实现 | |
CN103905182B (zh) | 基于动态改变中间数据存储位置的抗攻击方法及电路实现 | |
CN103067155A (zh) | 一种防止基于功耗分析的des算法攻击的方法及测试电路 | |
Duan et al. | Differential power analysis attack and efficient countermeasures on PRESENT | |
CN106452725B (zh) | 一种基于寄存器掩码的面向aes算法的抗功耗攻击方法 | |
CN104301095A (zh) | Des轮运算方法和电路 | |
CN107204841A (zh) | 一种抵御差分功耗攻击的分组密码多s盒实现的方法 | |
CN107483182A (zh) | 一种基于乱序执行的面向aes算法的抗功耗攻击方法 | |
Wang et al. | New methods of template attack based on fault sensitivity analysis | |
CN109347621A (zh) | 基于随机延时s盒的可防御碰撞攻击的高速aes加密电路 | |
CN103888245A (zh) | 一种智能卡的s盒随机化方法和系统 | |
CN108155984A (zh) | 一种基于能量分析的密码算法簇逆向工程分析方法 | |
CN105897408B (zh) | 一种基于随机延时的面向des算法的抗功耗攻击方法 | |
Hu et al. | Software implementation of aes-128: Side channel attacks based on power traces decomposition | |
CN105897398A (zh) | 一种des加密过程的密钥保护方法及系统 | |
CN102201912A (zh) | 一种自同步扰码生成多项式的盲识别方法 | |
CN105897399B (zh) | 一种基于寄存器掩码的面向des算法的抗功耗攻击方法 | |
CN103618595B (zh) | 一种抗功耗分析的密码算法代换电路 | |
Fei et al. | Two kinds of correlation analysis method attack on implementations of Advanced Encryption Standard software running inside STC89C52 microprocessor | |
CN201039199Y (zh) | 一种抗功耗攻击的字节替换电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 210009 No. 87 Dingjiaqiao, Gulou District, Nanjing City, Jiangsu Province Applicant after: Southeast University Address before: 210096 No. four archway, 2, Jiangsu, Nanjing Applicant before: Southeast University |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |