CN113014377B - 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 - Google Patents
一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 Download PDFInfo
- Publication number
- CN113014377B CN113014377B CN202110137133.3A CN202110137133A CN113014377B CN 113014377 B CN113014377 B CN 113014377B CN 202110137133 A CN202110137133 A CN 202110137133A CN 113014377 B CN113014377 B CN 113014377B
- Authority
- CN
- China
- Prior art keywords
- box
- verification
- passed
- block cipher
- bijective
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002085 persistent effect Effects 0.000 title claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 26
- 230000036541 health Effects 0.000 claims abstract description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005802 health problem Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 6
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000000306 component Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- 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
本发明公开了一种利用分组密码S盒双射特性的持久故障攻击防护方法和装置。该方法包括以下步骤:1)在加密开始前读取设备存储介质中的S盒,并对S盒中的表项进行逐个异或,以校验S盒的健康性;2)根据1)中的校验结果,若通过校验则继续进行加密,若未通过校验则不再进行加密并发出警报。该方法利用分组密码S盒的双射特性,从根源上避免了持久性故障造成的密文分布统计偏差,能够实现对持久故障攻击的有效防护。
Description
技术领域
本发明涉及信息安全分组密码防护领域,特别涉及一种利用S盒的双射特性的持久故障攻击防护方法和装置。适用于分组密码算法的硬件实现和嵌入式软件实现。
背景技术
密码体制主要分为对称密码体制与非对称密码体制,其中对称密码体制包括流密码与分组密码。分组密码较于其他密码体制拥有密钥短、速度快、易于标准化等优势,被广泛应用于计算机网络和通信领域。其中,NIST在2001年发布的AES(Advanced EncryptionStandard)是如今使用最为广泛的分组密码。
分组密码算法的常见结构有Feistel结构、SPN结构等,分组密码算法中密码变换函数的设计通常遵循混淆和扩散的安全性原则,并通过多轮迭代操作使其能够抵抗现有的所有传统密码分析方法,这些方法包括且不限于差分分析、线性分析、积分攻击和插值攻击等。在分组密码算法中,S盒是其核心部件,其非线性特性是保障分组密码安全性的基石,若没有非线性特征,那整个加密算法就只是一个线性方程,没有安全性可言。分组密码的S盒多是符合双射特性的,以AES为例,其输出与输出是一一映射的,对于每一个8比特的输入都有唯一对应的8比特输出。
故障攻击是上世纪末提出的攻击方法,聚焦于在实际设备中运行的密码算法,以外部时钟、电压、激光等侵入/半侵入式的方法对算法运行的控制部件、中间值存储介质等施加故障,造成比特翻转或指令跳过,进而通过故障在密文中反映出的信息恢复加密过程的中间值或密钥信息,常见的故障攻击手段有DFA(差分故障攻击)、SFA(统计故障攻击)、IFA(无效故障攻击)等。故障依据其存在时间可以分为瞬时故障(transient fault)、永久故障(permanent fault)和持久故障(persistent fault),其中,传统的故障攻击方法多是针对于瞬时故障。
PFA(持久故障攻击)是张帆等人在2018年首次提出的依赖于持久性故障的攻击方法(见附图1),持久性故障是指在设备中持久存在但设备重启后会消失的故障。该攻击方法的主要思想是在分组密码的查表实现中修改S盒某一确定表项的值,这一操作修改了S盒的双射特性,会使得S盒的输出不再均匀,出现严重的统计偏差。具体来讲,分组密码的每一轮运算中,对于S盒的输出,被修改表项的原值不会再出现,而修改值则会以约两倍的频率出现,在密钥不变的情况下,这一统计偏差同样会反映在密文中(见附图2),根据这些信息结合算法的其他线性部件,攻击者便可以恢复出对应的轮密钥。为了易于理解,我们这里使用一个简化的AES轮函数来进行说明,去除掉其线性部分,只保留S盒和轮密钥加两部分,令p代表S盒的某一表项的输入值,v、v*分别代表该表项输出的原本值和被n修改值,k代表对应位置的密钥字节,那么对应的密文c、c*便可以表示为:
传统的防护故障攻击的手段主要是基于冗余计算的检测方法,即对同一明文加密两次检查密文是否一致,具体来讲,令P、C分别代表正常部分的明文和密文,P*、C*代表冗余部分的明文密文,E代表加密过程,D代表解密过程,则有:
C=E(P)=E(D(C)) C*=E(P*)=E(D(C*))
若加密结束后,有C=C*,则通过检测,否则不通过检测并作出相应反应。这些反应可以是不输出或是输出随机数、全0等无意义值。这种防护方法有以下弊端:首先,其代价过高,若顺序执行,则其时间代价为普通加密的两倍;若并行执行,空间代价为直接加密的两倍;此外现实实现中多数产品为了防护瞬时故障攻击的同时尽可能节约成本,在实现中往往使用两次计算共用一个S盒的策略,显然,这种策略完全不具备防护PFA的能力;其次,即便是这些措施检测到了故障发生并作出反应,体现在具体的实现上,也只是计算过程中使用了被修改表项的密文不被输出或是输出随机数,但该统计偏差依然存在,被修改值的出现频率依然明显低于其他值(见附图3),只需要增加密文数量,仍然可以成功恢复出密钥。所以传统的基于冗余计算的检测方法不能有效地防护持久故障攻击。
发明内容
本发明提出了一种利用分组密码S盒双射特性的持久故障攻击防护方法和装置,使得攻击者注入持久性故障后不能获取有意义的密文,以此来达到防护持久故障攻击的效果。
本发明的一种利用分组密码S盒双射特性的持久故障攻击防护方法,包括以下步骤:
利用分组密码S盒的双射特性,在加密开始前对算法的S盒进行校验以检验其健康性;
若校验通过则继续进行加密,无持久故障攻击风险;若校验不通过,则存在持续故障攻击风险,不进行加密操作并发出警报。
对于一个分组密码的查表实现,其S盒在设备供电后会存储在相应的存储介质内,如FPGA中的寄存器、智能卡中的SRAM等,持久故障攻击的攻击模型是在加密开始前对S盒的某一表项进行故障注入,攻击者无法做到精确地掌控注入时间,所以在加密开始前进行校验这一操作不会被攻击者所跳过,可以保障校验机制的有效性。
进一步地,具体的校验策略如下:
利用S盒的双射特性,在加密开始前对S盒进行校验,校验方式为将S盒的表项逐个异或,观察异或结果;
异或结果为0时认为校验通过,否则认为S盒出现了健康性问题,校验不通过。
以8位S盒为例,由于S盒的双射特性,即对于每一个8位的输入,S盒都有一个与之对应的8位的输出,所以其256个表项对应0~255这256个不同的值,这些8位值从比特角度看从全0到全1均匀分布,故将它们逐个异或后会得到全0,若S盒的某一表项被注入了故障,则最终的异或结果就不再是0;而在多故障的条件下要跳过这一检验所需的条件是极为苛刻的,最简单的情形下仍需要对S盒的两个或其他偶数个表项施以同样的故障效果,如对第1个表项翻转第1比特的情况下对第2个表项同样翻转第1比特,准确做到这一点在实际的故障注入中几乎是不可能的,而持久故障攻击所给出的故障模型是对S盒的某一表项注入故障使其变为另一随机值,多表项的故障依赖于扩大光斑的粗糙注入,显然不符合该跳过条件,故该校验策略能够有效地检测S盒是否被注入故障。
基于同一发明构思,本发明还提供一种利用分组密码S盒双射特性的持久故障攻击防护装置,其包括:
S盒校验模块,用于利用分组密码S盒的双射特性,在加密开始前对算法的S盒进行校验以检验其健康性;
校验结果处理模块,用于在校验通过时继续进行加密,在校验不通过时不进行加密操作并发出警报。
和现有技术相比,本发明具有如下优势:
1.本发明首次提出了针对持久故障攻击的有效防护方法,传统的防护故障攻击的方法如冗余计算等往往只考虑在算法执行时检测故障注入并作出反应,在足够的加密次数后攻击者依然能够得到有明显统计偏差的数据,进而恢复密钥,并不能有效防护持久故障攻击;而本发明所提出的防护方法,由于在加密开始前对S盒进行校验的机制,避免了对S盒的持久故障注入导致的S盒输出统计偏差,使得攻击者不能获取任何有效信息,真正意义上成功防护持久故障攻击,此外,本方法在实现成本和执行效率上也要远优于基于冗余计算的检测方法。
2.本发明提出的校验方法是针对持久故障攻击利用S盒双射特性的攻击方法提出的,所以其性能远由于hash等通用S盒校验方法,只需255次异或运算,可在一个时钟周期内完成;
3.本发明对实现平台无要求,对软硬件实现无限制,适用于各种场景下的分组密码查表实现的防护。
附图说明
图1是PFA流程图。
图2是无防护下密文的统计偏差。
图3是冗余检测防护下密文的统计偏差。
图4是本发明的利用分组密码S盒双射特性的持久故障攻击防护方法的步骤流程图。
图5是本发明的利用分组密码S盒双射特性的持久故障攻击防护装置的模块组成图。
具体实施方式
下面结合一个范例对本发明做进一步详细的说明,但不以任何方式限制本发明的范围。
本发明的一个实施例提供一种利用分组密码S盒双射特性的持久故障攻击防护方法,其步骤如图4所示。在本实施例中,以AES-128作为分组密码,以其S盒作为待校验的S盒。若攻击者对AES的S盒的第一个表项0x61注入故障,使其变为0x63,即该表项小端的第二位发生了翻转,从0变成了1。那么,若在AES加密开始前对S盒进行校验,即执行sbox[0]⊕sbox[1]⊕sbox[2]⊕sbox[3]⊕…⊕sbox[255],可以得到结果为2,不等于0,由此我们判定S盒被注入了故障,因此不再继续执行后续的加密。而在多故障的场景下,若攻击者对随机两个表项注入故障,我们这里假设使得表项61变为63且表项71变为74,则得到的最终异或结果为5,同样不能通过校验。
本发明的另一个实施例提供一种利用分组密码S盒双射特性的持久故障攻击防护装置,如图5所示,其包括:
S盒校验模块,用于利用分组密码S盒的双射特性,在加密开始前对算法的S盒进行校验以检验其健康性;
校验结果处理模块,用于在校验通过时继续进行加密,在校验不通过时不进行加密操作并发出警报。
本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上详细说明的具体的实施方式仅仅是为了更好了理解本发明使用的,本发明不局限于此,本领域一般技术人员可以根据本发明的公开内容,针对多种算法采用其他多种实施方式来实施本发明,比如对PRESENT等轻量级算法以及其他存在持久故障攻击风险的分组密码算法在FPGA、ARM等平台的软硬件实现;凡是采用本发明的设计结构和思路的,在不脱离权利要求范围的变换和替代,都属于本发明的保护范围。
Claims (4)
1.一种利用分组密码S盒双射特性的持久故障攻击防护方法,其特征在于,包括以下步骤:
利用分组密码S盒的双射特性,在加密开始前对S盒进行校验以检验其健康性;
若校验通过则继续进行加密,若校验不通过则存在持续故障攻击风险,不进行加密操作并发出警报;
利用S盒的双射特性,在加密开始前对S盒进行校验,校验方式为将S盒的表项逐个异或,观察异或结果;
所述异或结果为0时认为校验通过,否则认为S盒出现了健康性问题,校验不通过。
2.一种利用分组密码S盒双射特性的持久故障攻击防护装置,其特征在于,包括:
S盒校验模块,用于利用分组密码S盒的双射特性,在加密开始前对算法的S盒进行校验以检验其健康性;
校验结果处理模块,用于在校验通过时继续进行加密,在校验不通过时不进行加密操作并发出警报;
所述S盒校验模块对S盒进行校验的校验方式为:将S盒的表项逐个异或,观察异或结果;
所述异或结果为0时认为校验通过,否则认为S盒出现了健康性问题,校验不通过。
3.一种电子装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1所述方法的指令。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137133.3A CN113014377B (zh) | 2021-02-01 | 2021-02-01 | 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137133.3A CN113014377B (zh) | 2021-02-01 | 2021-02-01 | 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014377A CN113014377A (zh) | 2021-06-22 |
CN113014377B true CN113014377B (zh) | 2022-07-22 |
Family
ID=76384787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110137133.3A Active CN113014377B (zh) | 2021-02-01 | 2021-02-01 | 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014377B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070560B (zh) * | 2022-01-13 | 2022-06-24 | 浙江大学 | 一种针对分组密码的代数持久性故障分析方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055120A (zh) * | 2017-12-27 | 2018-05-18 | 东华大学 | 一种检测aes-otr算法抵御差分故障攻击的方法 |
WO2018113014A1 (zh) * | 2016-12-22 | 2018-06-28 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729241B (zh) * | 2008-10-23 | 2012-01-25 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
US10142099B2 (en) * | 2013-01-11 | 2018-11-27 | Qualcomm Incorporated | Method and apparatus for a computable, large, variable and secure substitution box |
CN105610568A (zh) * | 2014-11-21 | 2016-05-25 | 南方电网科学研究院有限责任公司 | 一种分组密码算法的故障检测方法和装置 |
CN104410490B (zh) * | 2014-12-16 | 2017-08-11 | 桂林电子科技大学 | 非线性挤压保护密码s盒的方法 |
EP3054620A1 (en) * | 2015-02-05 | 2016-08-10 | Gemalto Sa | System and method for performing block cipher cryptography by implementing a mixer function that includes a substitution-box and a linear transformation using a lookup-table |
CN110401627B (zh) * | 2019-01-31 | 2020-07-10 | 中国科学院软件研究所 | 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统 |
-
2021
- 2021-02-01 CN CN202110137133.3A patent/CN113014377B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018113014A1 (zh) * | 2016-12-22 | 2018-06-28 | 深圳国微技术有限公司 | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 |
CN108055120A (zh) * | 2017-12-27 | 2018-05-18 | 东华大学 | 一种检测aes-otr算法抵御差分故障攻击的方法 |
Non-Patent Citations (2)
Title |
---|
A genetic algorithm for constructing bijective substitution boxes with high nonlinearity;YongWang;《Information Sciences》;20200630;全文 * |
基于随机故障注入的SM4差分故障攻击方法;荣雪芳等;《计算机工程》;20160715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113014377A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mukhopadhyay | An improved fault based attack of the advanced encryption standard | |
Saha et al. | A diagonal fault attack on the advanced encryption standard | |
Elbaz et al. | Tec-tree: A low-cost, parallelizable tree for efficient defense against memory replay attacks | |
Courtois et al. | Algebraic and slide attacks on KeeLoq | |
Dunkelman et al. | A practical-time attack on the A5/3 cryptosystem used in third generation GSM telephony | |
Rivain | Differential fault analysis on DES middle rounds | |
AU2005263805B2 (en) | Method and device for carrying out a cryptographic calculation | |
EP3035585B1 (en) | S-box selection in white-box cryptographic implementation | |
JP6782864B2 (ja) | ブロック暗号を演算するデバイス及び方法 | |
EP2367316B1 (en) | Method and circuitry for detecting a fault attack | |
CN109726565B (zh) | 在抗泄漏原语中使用白盒 | |
Dassance et al. | Combined fault and side-channel attacks on the AES key schedule | |
US9544132B2 (en) | Cryptographic method for protecting a key hardware register against fault attacks | |
Aldaya et al. | AES T-Box tampering attack | |
Clavier et al. | Complete SCARE of AES-like block ciphers by chosen plaintext collision power analysis | |
Pan et al. | One fault is all it needs: Breaking higher-order masking with persistent fault analysis | |
Lepoint et al. | Another nail in the coffin of white-box AES implementations | |
US8958556B2 (en) | Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component | |
CN113014377B (zh) | 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置 | |
EP3364593B1 (en) | Masking storage transfer to protect against attacks | |
AlTawy et al. | Fault analysis of Kuznyechik | |
Clavier et al. | Complete reverse-engineering of AES-like block ciphers by SCARE and FIRE attacks | |
Saha et al. | White-box cryptography based data encryption-decryption scheme for iot environment | |
Liu et al. | Linear fault analysis of block ciphers | |
Anand et al. | Differential fault attack on Rocca |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210720 Address after: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Applicant after: Institute of Software, Chinese Academy of Sciences Applicant after: China South Power Grid International Co.,Ltd. Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Applicant before: Institute of Software, Chinese Academy of Sciences |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |