CN111082918B - 一种二维随机加扰的aes抗功耗攻击系统和方法 - Google Patents
一种二维随机加扰的aes抗功耗攻击系统和方法 Download PDFInfo
- Publication number
- CN111082918B CN111082918B CN201911134303.1A CN201911134303A CN111082918B CN 111082918 B CN111082918 B CN 111082918B CN 201911134303 A CN201911134303 A CN 201911134303A CN 111082918 B CN111082918 B CN 111082918B
- Authority
- CN
- China
- Prior art keywords
- stage
- aes
- plaintext
- controller
- shift
- 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
Images
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)
- Storage Device Security (AREA)
Abstract
本发明公开了一种二维随机加扰的AES抗功耗攻击系统,包括AES加密模块,总控制器,移位控制器,序列发生器,前级加扰器和后级加扰器;所述总控制器用于配置功耗和时间加扰,所述移位控制器输出控制信号分别至前级加扰器和后级加扰器;所述序列发生器输出加扰序列至前级加扰器,前级加扰器与AES加密模块和后级加扰器依次连接,总控制器分别与移位控制器和序列发生器连接。本发明还公开了对应的AES抗功耗攻击方法。本发明的加密算法开始执行和结束的时间具有随机性,能够抵御相关性分析中功耗轨迹对齐等手段;加密过程的功耗与随机序列在移位寄存器中循环移位产生的功耗相叠加,有效消除了中间结果数据的汉明距离与功耗之间的相关性,抗攻击效果好。
Description
技术领域
本发明涉及集成电路硬件实现和信息安全技术领域,特别是涉及一种功耗和延迟二维随机加扰的AES抗功耗攻击系统和方法。
背景技术
随着物联网技术的快速发展,信息加密技术的应用愈发广泛。信息加密主要通过软件或硬件实现,基于硬件实现的密码芯片具有速度快,功耗低的优势,因此成为了研究热点。
近年来基于旁路信息的功耗攻击方法不断创新,对密码芯片的安全性提出了更高的要求。功耗攻击是一种非侵入式攻击,攻击者首先获取大量密码设备在加、解密操作时泄露的功耗信息,然后根据明文或者密文与假设密钥值计算得到大量的中间值,将中间值映射为假设功耗值,并与实际功耗进行对比分析,采用数理统计等处理方法计算出相关系数,最终分析出密钥信息。
功耗攻击的关键在于将中间值映射为准确的功耗数学模型。常用的模型包括汉明重量模型和汉明距离模型。对于数字电路,功耗主要来自于电路的状态转换,并且翻转的器件越多,功耗也越大。因此汉明距离模型比汉明重量模型可以更好地刻画功耗值。在某一时刻,如果能够计算得到电路翻转前的数据和翻转后的数据,分析出数据翻转的比特数,从而计算出数据的汉明距离,就可以与真实的功耗值建立联系。而在统计分析过程中,攻击者需要将假设功耗值与实际功耗值在某个特定时间(比如首轮或末轮加密)上进行对齐,才能进行有效的攻击。因此隐藏密码电路的功耗信息以及时间信息对于抗功耗攻击来说至关重要。
传统的AES算法由3部分组成,分别是初试密钥加、9轮相同的轮操作和第10轮变换。中间9轮循环的轮操作包括字节替换、行移位、列混合和密钥加四个操作。第10轮变换包括字节替换、行移位和密钥加三个操作。攻击者可以根据明文以及加密操作推导出第一轮(或最后一轮)加密或者字节替换后的中间值,建立汉明距离模型。通过获取功耗数据,计算出实际功耗与汉明重量数据的相关性。目前AES密码算法电路,在基于相关性系数以及差分功耗攻击中,存在中间值泄露功耗信息的现象,使得加密算法易被攻破。
发明内容
本发明所要解决的技术问题是:
本发明的目的是提供一种基于二维随机加扰的AES抗功耗攻击系统和方法。
本发明为解决上述技术问题采用以下技术方案:
本发明提出一种二维随机加扰的AES抗功耗攻击系统,包括AES加密模块,还包括总控制器,移位控制器,序列发生器,前级加扰器和后级加扰器;所述总控制器用于配置的功耗和时间加扰,并将配置信息送入移位控制器和序列发生器,移位控制器和序列发生器将相应的执行结果反馈给总控制器;所述移位控制器输出控制信号分别至前级加扰器和后级加扰器;所述序列发生器输出加扰序列至前级加扰器,所述前级加扰器与AES加密模块和后级加扰器依次连接,总控制器分别与移位控制器和序列发生器连接。
如前所述的一种二维随机加扰的AES抗功耗攻击系统,进一步地:所述序列发生器用于根据总控制器的配置信息,产生用于功耗和延迟加扰的M比特位宽的伪随机序列,同时将相关信息反馈给总控制器。
如前所述的一种二维随机加扰的AES抗功耗攻击系统,进一步地:所述前级加扰器中包括第一至第三选择器和前级移位器,所述前级移位器宽度为M。
如前所述的一种二维随机加扰的AES抗功耗攻击系统,进一步地:所述后级加扰器中包括第四选择器和后级移位器,所述后级移位器宽度为M。
如前所述的一种二维随机加扰的AES抗功耗攻击系统,进一步地:所述移位控制器包括写控制器和计数器,所述写控制器和计数器之间连接并传递数据。
如前所述的一种二维随机加扰的AES抗功耗攻击系统,进一步地:所述计数器用于根据明文和密文写地址产生相应的计数值,并输出选择信号sel1~sel4分别至第一至第四选择器,控制随机序列输入的条数,控制明文进入加密电路以及控制密文的最后输出。
本发明还提出一种二维随机加扰的AES抗功耗攻击方法,步骤包括:
步骤一、在AES加密模块之前,明文与序列发生器产生的加扰序列存储于前级移位器中,明文在前,加扰序列在后,明文的存储地址由移位控制器产生的随机地址决定;
步骤二、在对应的移位使能信号的控制下,前级移位器中的数据进行移位操作,当明文第一次到达前级移位器的头部时,将明文读出至AES加密模块;
步骤三、执行AES算法的十轮加密操作形成密文;其间,前级移位器中的数据继续进行循环移位,直至密文输出时,移位使能信号无效,移位操作结束;
步骤四、所述密文进入后级加扰器由对应的移位使能信号控制进行移位操作,当密文移至头部输出后,整个加密过程结束。
如前所述的一种二维随机加扰的AES抗功耗攻击方法,进一步地,步骤一所述明文与序列发生器产生的加扰序列存储于前级移位器中的步骤包括:
步骤1.1、输入明文;
步骤1.2、序列发生器产生的数据依次通过第一选择器和第二选择器进入前级移位器,并缓存至明文之后,同时执行移位操作;
步骤1.3、当明文移位至前级移位器的头部并被第三选择器选中输出到AES加密模块之后,进入前级移位器的加扰序列既可以来自序列发生器也可以来自前级移位器,后者对应关闭序列发生器以节省功耗;
步骤1.4、输出密文,前级移位器停止工作并清零。
如前所述的一种二维随机加扰的AES抗功耗攻击方法,进一步地,步骤四中,后级加扰器移位操作中移位的次数由移位控制器随机产生,不加扰时,密文通过第四选择器直接输出。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1)抗攻击效果好,明文和密文写入移位器的地址可随机设定,意味着加密算法开始执行和结束的时间具有随机性,从而使得本发明能够抵御相关性分析中功耗轨迹对齐等手段;加密过程的功耗与随机序列在移位寄存器中循环移位产生的功耗相叠加,有效消除了中间结果数据的汉明距离与功耗之间的相关性,使本发明具有功耗和时间二维加扰特性;
2)本发明可配置成正常工作和功耗加扰模式,具有很强的通用性和扩展性,可以方便地移植到其它AES密码算法实现电路中;
3)本发明性能开销低,主要增加的移位电路对加密电路的性能影响很小。
附图说明
图1为传统AES算法流程图;
图2为采用了本发明方法的AES算法流程图;
图3为移位控制器模块图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
首先简要表述本发明所述的方案的工作原理。
本发明提出了一种功耗和延迟二维随机加扰的AES抗功耗攻击系统和方法,可以通过防止攻击者建立明文和其功耗曲线的对应关系,有效地抵御功耗攻击。本发明在AES加密算法的基础上添加随机功耗和延迟加扰控制器,移位控制器,序列发生器,以及功耗和延迟加扰电路。在AES加密模块之前,明文与随机序列发生器产生的随机序列存储于前级移位器中,明文的初始存储地址由移位控制器产生的随机地址决定,移位器内的数据不断进行移位,当明文首次移位至头部时,明文被读出至加密模块进行加密;在AES算法的十轮加密过程中,前级移位器内的数据不断进行循环移位操作,加密的第十轮操作结束,密文被移至后级移位器进行后一阶段的干扰操作,后级移位结束,密文输出,整个加密过程结束。
图1为传统AES算法流程图,图2为采用了本发明方法的AES算法流程图。如图2所示,在AES加密算法电路的基础上添加总控制器1,移位控制器2,序列发生器3,前级加扰器4和后级加扰器5,总控制器1用于配置功耗和时间的加扰。在AES加密模块之前,明文与序列发生器3产生的加扰序列存储于前级加扰器4中的前级移位器S1中,明文在前,加扰序列在后,明文的存储地址由移位控制器2产生的随机地址决定,同时,前级移位器S1中的数据进行移位操作,当明文第一次到达前级移位器S1的头部时,将明文读出至AES加密模块,执行AES算法的十轮加密操作。其间,前级移位器S1中的数据继续进行循环移位,直至密文输出时,移位操作才结束。在AES加密模块之后,密文进入后级加扰器5进行移位操作,移位的次数由移位控制器2随机产生,当密文移至头部输出后,整个加密过程结束。
总控制器1可根据实际需要配置成正常加密,功耗加扰,以及功耗和时间二维加扰模式,并将配置结果送入移位控制器2和序列发生器3,使其产生相应的控制信号和加扰序列;另一方面,移位控制器2和序列发生器3也将相应的执行结果反馈给总控制器。当配置成功耗加扰或功耗+时间加扰模式时,配置结果被送入移位控制器和序列发生器,使其产生相应的控制信号和加扰序列。正常加密时,对应配置结果不会产生额外的功耗和时间开销。
移位控制器2负责产生对前后两级加扰器中的移位器和选择器进行控制的N比特信号,并将相关信息反馈给总控制器。其主要模块包括写控制器21,产生明文和密文的初始写地址和写使能信号。当配置成加扰模式时,在前后两级移位器的长度范围内分别产生明文和密文的随机写地址;否则,在正常加密状态下,明文和密文写地址被设为缺省值(即不移位)。除此之外,还包括计数器22,它根据明文初始写地址产生相应的计数值,去控制4个选择器的选择端,以便控制随机序列输入的条数,控制明文进入加密电路的时机以及密文最后输出的时机。
移位使能信号可以根据产生的随机地址设定,比如当随机地址偏向选择器3时,可先向移位寄存器中填充数据,再移位;反之,当随机地址偏向选择器2时,可立即生成移位使能信号。
序列发生器3根据总控制器的配置信息,产生用于功耗和延迟加扰的M比特位宽的伪随机序列,同时将相关信息反馈给总控制器。
前级加扰器4中包括3个选择器和长度为L1宽度为M的移位器S1。加扰时,首先选择明文输入;之后,序列发生器产生的数据依次通过选择器P1和P2进入移位器S1,并缓存至明文之后,同时执行移位操作,当明文移位至移位器S1的头部并被选择器P3选中输出到加密模块之后,进入移位器S1的加扰序列可以选择来自序列发生器,也可来选择自移位器S1 输出的反馈信号。一旦整个加密过程结束,密文最终输出,移位器S1停止工作,并清零,为下次加密做好准备。不加扰时,移位器S1可作为单级寄存器使用,耗费很少的功耗和时间开销。
后级加扰器5中包括一个选择器P4和1个长度为L2宽度为M的移位器S2。加扰时,密文通过后级加扰器被随机移位若干次,以改变加密算法的结束时间;不加扰时,密文可通过选择器P4直接输出。
明文经过随机延时后进入加密模块,加密起始时间随机化,密文经过随机延迟才输出,加密结束时间也随机化,同时,随机序列的移位操作与加密算法同时进行,混淆了加密算法的实际功耗信息,从而能够有效应对功耗攻击。
实施例一
在加扰模式下,首先选择明文输入,同时开始移位操作;之后,序列发生器产生的数据依次通过第一选择器P1和第二选择器P2进入移位寄存器,并缓存至明文之后,同时移位操作也开始执行。明文移位至最后一级寄存器后,选择器P3将明文读出至AES加密模块。这之后,前级移位器S1输入端的数据可来自序列发生器3,也可来自前级移位器S1输出的反馈信号(关闭序列发生器,节省额外功耗开销)。在AES算法的10轮操作过程中,前级移位器S1内的数据不断进行循环移位操作,第10轮加密操作结束,密文输出时,移位寄存器S1 停止工作并清零,为下次加密做准备;之后,密文可直接输出或经过后级移位器S2的随机移位操作后输出。
实施例二
在功耗加扰模式下,在加密的同时,移位器的随机序列进行移位操作,从而混淆了加密算法执行时的实际功耗信息;而在功耗+时间加扰模式下,不但加密起始和结束时间具有随机性,而且加密过程的功耗与随机序列在移位过程中产生的功耗叠加为电路总功耗,使得电路在此工作模式下能够抵御相关性分析中功耗轨迹对齐等手段,消除了中间结果数据汉明距离与功耗之间的相关性,具有功耗和时间二维加扰特性。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种二维随机加扰的AES抗功耗攻击系统,包括AES加密模块,其特征在于,还包括总控制器(1),移位控制器(2),序列发生器(3),前级加扰器(4)和后级加扰器(5),所述前级加扰器(4)中包括第一至第三选择器和前级移位器(S1),所述后级加扰器(5)中包括第四选择器和后级移位器(S2);所述总控制器(1)用于配置的功耗和时间加扰,并将配置信息送入移位控制器(2)和序列发生器(3),移位控制器(2)和序列发生器(3)将相应的执行结果反馈给总控制器;所述移位控制器(2)输出控制信号分别至前级加扰器(4)和后级加扰器(5);所述序列发生器(3)输出加扰序列至前级加扰器(4),所述前级加扰器(4)与AES加密模块和后级加扰器(5)依次连接,总控制器(1)分别与移位控制器(2)和序列发生器(3)连接;在AES加密模块之前,明文与序列发生器产生的加扰序列存储于前级加扰器中的前级移位器中,明文在前,加扰序列在后,明文的存储地址由移位控制器产生的随机地址决定,同时,前级移位器中的数据进行移位操作,当明文第一次到达前级移位器的头部时,将明文读出至AES加密模块,执行AES算法的十轮加密操作;其间,前级移位器中的数据继续进行循环移位,直至密文输出时,移位操作才结束;在AES加密模块之后,密文进入后级加扰器进行移位操作,移位的次数由移位控制器随机产生,当密文移至头部输出后,整个加密过程结束。
2.如权利要求1所述的一种二维随机加扰的AES抗功耗攻击系统,其特征在于:所述序列发生器(3)用于根据总控制器(1)的配置信息,产生用于功耗和延迟加扰的M比特位宽的伪随机序列,同时将相关信息反馈给总控制器(1)。
3.如权利要求1所述的一种二维随机加扰的AES抗功耗攻击系统,其特征在于:所述前级移位器(S1)宽度为M。
4.如权利要求1所述的一种二维随机加扰的AES抗功耗攻击系统,其特征在于:所述后级移位器(S2)宽度为M。
5.如权利要求1所述的一种二维随机加扰的AES抗功耗攻击系统,其特征在于,所述移位控制器(2)包括写控制器(21)和计数器(22),所述写控制器(21)和计数器(22)之间连接并传递数据。
6.如权利要求5所述的一种二维随机加扰的AES抗功耗攻击系统,其特征在于,所述计数器(22)用于根据明文和密文写地址产生相应的计数值,并输出选择信号sel1~sel4分别至第一至第四选择器,控制随机序列输入的条数,控制明文进入加密电路以及控制密文的最后输出。
7.一种基于权利要求1所述的二维随机加扰的AES抗功耗攻击系统的抗功耗攻击方法,其特征在于,步骤包括:
步骤一、在AES加密模块之前,明文与序列发生器(3)产生的加扰序列存储于前级移位器(S1)中,明文在前,加扰序列在后,明文的存储地址由移位控制器(2)产生的随机地址决定;
步骤二、前级移位器(S1)中的数据进行移位操作,当明文第一次到达前级移位器(S1)的头部时,将明文读出至AES加密模块;
步骤三、执行AES算法的十轮加密操作形成密文;其间,前级移位器(S1)中的数据继续进行循环移位,直至密文输出时,移位操作结束;
步骤四、所述密文进入后级加扰器(5)进行移位操作,当密文移至头部输出后,整个加密过程结束。
8.如权利要求7所述的方法,其特征在于,步骤一所述明文与序列发生器产生的加扰序列存储于前级移位器中的步骤包括:
步骤1.1、输入明文;
步骤1.2、序列发生器(3)产生的数据依次通过第一选择器和第二选择器进入前级移位器(S1),并缓存至明文之后,同时执行移位操作;
步骤1.3、当明文移位至前级移位器(S1)的头部并被第三选择器选中输出到AES加密模块之后,进入前级移位器(S1)的加扰序列选择反馈信号,所述反馈信号来自序列发生器(3)或来自前级移位器(S1);
步骤1.4、输出密文,前级移位器(S1)停止工作并清零。
9.如权利要求7所述的方法,其特征在于,步骤四中,后级加扰器(5)移位操作中移位的次数由移位控制器(2)随机产生,不加扰时,密文通过第四选择器直接输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134303.1A CN111082918B (zh) | 2019-11-19 | 2019-11-19 | 一种二维随机加扰的aes抗功耗攻击系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134303.1A CN111082918B (zh) | 2019-11-19 | 2019-11-19 | 一种二维随机加扰的aes抗功耗攻击系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111082918A CN111082918A (zh) | 2020-04-28 |
CN111082918B true CN111082918B (zh) | 2023-04-28 |
Family
ID=70311016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911134303.1A Active CN111082918B (zh) | 2019-11-19 | 2019-11-19 | 一种二维随机加扰的aes抗功耗攻击系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111082918B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111600873B (zh) * | 2020-05-13 | 2023-03-10 | 江苏芯盛智能科技有限公司 | 防侧信道攻击方法及相关装置 |
CN117216812B (zh) * | 2023-11-06 | 2024-02-27 | 深圳市纽创信安科技开发有限公司 | 攻击检测电路、芯片与电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483182B (zh) * | 2017-09-21 | 2020-08-21 | 东南大学 | 一种基于乱序执行的面向aes算法的抗功耗攻击方法 |
-
2019
- 2019-11-19 CN CN201911134303.1A patent/CN111082918B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111082918A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743028B2 (en) | Protecting block cipher computation operations from external monitoring attacks | |
US7295671B2 (en) | Advanced encryption standard (AES) hardware cryptographic engine | |
EP1398901B1 (en) | Feistel type encryption method and apparatus protected against DPA attacks | |
US9325494B2 (en) | Method for generating a bit vector | |
CN111082918B (zh) | 一种二维随机加扰的aes抗功耗攻击系统和方法 | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
US20120093308A1 (en) | Apparatus and method for generating random data | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
KR102628010B1 (ko) | 가상 암호화 연산을 수행하는 암호화 회로 | |
Pan et al. | One fault is all it needs: Breaking higher-order masking with persistent fault analysis | |
US10530567B2 (en) | Encryption device and memory device | |
CN107483182B (zh) | 一种基于乱序执行的面向aes算法的抗功耗攻击方法 | |
CN111224770B (zh) | 一种基于门限技术的抗侧信道与故障攻击的综合防护方法 | |
CN114218588A (zh) | 多场景应用的防攻击分组密码加密方法 | |
KR100888614B1 (ko) | 보안 알고리즘 회로 및 데이터 암호화 방법 | |
US8204218B2 (en) | High-efficient encryption and decryption processing method for implementing SMS4 algorithm | |
CN107678731A (zh) | 一种基于fpga的高频异步随机数发生器 | |
CN116073987A (zh) | 一种分组密码模式的可靠性设计方法、密码卡、服务器 | |
CN104158650B (zh) | 基于数据冗余检错机制的aes加/解密电路 | |
EP3531401A1 (en) | Method and circuit for performing a substitution operation | |
Chen et al. | A power analysis attack countermeasure based on random execution | |
CN117390642B (zh) | 一种数据加解密方法、装置、设备和计算机可读存储介质 | |
CN106877999B (zh) | 一种des加解密密钥生成器及密钥生成方法 | |
Ma et al. | A new distinguishing attack on Grain-v1 with 111 initialization rounds | |
JP2018060159A (ja) | 暗号化装置、メモリ装置、ホスト装置、及びメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |