CN101639885B - 一种密码芯片抗旁路攻击的安全制备方法 - Google Patents
一种密码芯片抗旁路攻击的安全制备方法 Download PDFInfo
- Publication number
- CN101639885B CN101639885B CN2009103061059A CN200910306105A CN101639885B CN 101639885 B CN101639885 B CN 101639885B CN 2009103061059 A CN2009103061059 A CN 2009103061059A CN 200910306105 A CN200910306105 A CN 200910306105A CN 101639885 B CN101639885 B CN 101639885B
- Authority
- CN
- China
- Prior art keywords
- mask
- rand
- bypass
- key
- cryptographic algorithm
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
一种密码芯片抗旁路攻击的安全制备方法,密码芯片初始化阶段产生的固定掩码FRi(0<i<p)与密码算法运算过程中产生的随机掩码Randi(0<i<q)结合,使密码算法在运算过程中至少包含一个测试失效点,攻击者无法获取该点的旁路信息泄漏值,使之无法进行统计攻击,同时,通过对固定掩码定时更新使得已泄露的旁路信息失效,无需频繁更换密钥,该制备方法设计简单、易于实现,并且能防御多种复杂旁路攻击和具有较强的“自愈”能力,特别适用于密码芯片的安全防护。
Description
技术领域
本发明涉及信息安全领域,尤其是一种密码芯片抗旁路攻击的安全制备方法。
背景技术
通常情况下,密码芯片的安全性是以芯片所使用的密码算法、安全协议的算法复杂度来衡量。但是,当密码算法被应用于物理实现时,算法复杂度就不是唯一的安全性衡量标准,研究表明即使理论安全的密码算法或安全协议,也可能由于物理实现的不当而不安全。
密码芯片的安全性威胁来源于一种新的密码攻击技术枛旁路攻击。在攻击原理上,传统密码攻击是通过分析密码算法数学模型、明文和密文之间的相关性来破解密码系统。然而,旁路攻击则是一种物理攻击方法,攻击者通过分析密码芯片运算过程中泄漏的各种旁路信息来破解密码系统。目前已经被证实的旁路信息有:执行时间、功耗、电磁辐射、错误信息、声音等。
在攻击效率上,旁路攻击的攻击能力较传统数学攻击更为强大。研究表明:对于目前广泛使用的DES/AES密码算法,攻击者利用传统的密码分析技术是很难破解的,然而,对于没有物理保护的DES/AES密码芯片而言,攻击者只需要获取少量的电磁/功耗曲线,就可在几分钟内快速破解DES/AES密码芯片。
为了防止这类旁路密码攻击技术,传统防御方法主要有:增加噪音信号,减少信息的泄漏强度,插入随机时延和使用随机掩码。这些防御方法的核心思想是:降低旁路泄漏信息和内部运算之间的相关性,从而增加密码破解的难度。但是,即使采用以上的防御方法,攻击者也可以通过高级信号处理技术、高阶旁路攻击技术和模板攻击技术来破解密码系统。没有真正有效避免密码芯片旁路信息泄漏的方法。
发明内容
本发明的目的是提供一种防止密码芯片在使用中受到多种复杂旁路攻击的方法,避免旁路信息泄漏造成密码算法被破解。
本发明的具体内容为:一种密码芯片抗旁路攻击的安全制备方法,密码芯片初始化阶段产生的固定掩码FRi(0<i<p)与密码算法运算过程中产生的随机掩码Randi(0<i<q)结合,使密码算法在运算过程中至少包含一个测试失效点,攻击者无法获取该点的旁路信息泄漏值,使之无法进行统计攻击,测试失效点的产生具体包括如下步骤:
1、在密码芯片初始化阶段,密码芯片内部产生一个或多个随机数FRi(0<i<p),该随机数产生后就固定不变,称为固定掩码,用固定掩码FRi对初始密钥Key进行异或运算以掩盖其初始值,即该运算生成一个新的掩码密钥FK,固定掩码参数:p个固定掩码的参数为
使用固定掩码可以对初始密钥Key进行保护,确保初始密钥的安全性;此外,为了防止在密码芯片的运算过程中,攻击者对旁路泄漏的信号进行采样和攻击,在密码芯片运算中引入随机掩码技术,降低旁路泄漏和密钥的相关性。
2、在密码算法运算过程中,产生一个或多个随机数Randi(0<i<q),即随机掩码,在每次密码运算过程中,随机掩码的值均不同。
3、引入测试失效点:测量失效点是一些特殊的状态,该状态在密码算法的运算过程中要么不存在,要么不产生计算,因此,这些特殊状态的泄漏信息是不存在或不产生的。
Rand1=Fp;Rand2=Rand2;...;Rand(q-1)=Rand(q-1);以上q个状态点的异或结果为在密码运算过程中,对应的状态序列<FK,Rand1,Rand2,...Randq>,由于该状态序列中至少包含一个测试失效点,即固定掩码FRi,并且FRi在密码算法的运算阶段是不被计算的,因此不会产生旁路泄漏,攻击者无法获取FRi的旁路泄漏信息。
为进一步减少旁路攻击的风险,对掩码进行动态的更新,使攻击所获得的旁路采样信息失效,从而达到更好的防御的目的。
固定掩码通过以下步骤定时更新:
1、定时更新参数设置:在密码芯片内部设置更新计数器,其初始值为i=0,门限值为T=N,密码芯片执行一次密码运算,初始值i=i+1;当i=N时,将固定掩码FRi(i>0)更新为FRi;
通过以上分析可知,在旁路信息泄露发生条件下,通过固定掩码的更新,使得已泄漏信息失效,使密码系统具有强壮的“自愈”能力。
本发明的有益效果:本发明的一种密码芯片抗旁路攻击的安全制备方法,用固定掩码与随机掩码相结合,引入测试失效点,在密码算法的运算阶段不被计算,因此不会产生旁路泄漏,攻击者无法获取有效旁路泄漏信息;同时,通过对固定掩码定时更新使得已泄露的旁路信息失效,无需频繁更换密钥,该制备方法设计简单、易于实现,并且能防御多种复杂旁路攻击和具有较强的“自愈”能力,特别适用于密码芯片的安全防护。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
在密码芯片初始化阶段,密码芯片内部产生一个或多个随机数FRi(0<i<p),本实施例中令p=3,该随机数产生后就固定不变,称为固定掩码,用固定掩码FRi对初始密钥Key进行异或运算以掩盖其初始值,即该运算生成一个新的掩码密钥FK,令Key=8,FR1=3,FR2=9,FR3=5,则可以得到p个固定掩码的参数为本实施例中固定掩码的参数
在密码算法运算过程中,产生一个或多个随机数Randi(0<i<q),即随机掩码,引入测试失效点:Rand1=Fp;Rand2=Rand2;...;Rand(q-1)=Rand(q-1);以上q个状态点的异或结果为令q=4,Rand1=F3=15;Rand2=10;Rand3=13;则
在密码运算过程中,对应的状态序列<FK,Rand1,Rand2,...Randq>,本实施例中对应状态:<Rand1,Rand2,...Rand4>也即<FK,>,由于该状态序列中至少包含一个测试失效点,即固定掩码FRi,例如FR1,FR2,FR3,并且FRi在密码算法的运算阶段是不被计算的,因此不会产生旁路泄漏,攻击者无法获取FRi的旁路泄漏信息。
为进一步减少旁路攻击的风险,对掩码进行动态的更新, 固定掩码通过以下步骤定时更新:
1、定时更新参数设置:在密码芯片内部设置更新计数器,其初始值为i=0,设定门限值为T=N=3,密码芯片执行一次密码运算,初始值i=i+1;当i=N时,分别将固定掩FR1,FR2,FR3更新FR1=12,FR2=15,FR3=20。
通过以上分析可知,在旁路信息泄露发生条件下,通过固定掩码的更新,使得已泄漏信息失效,使密码系统具有强壮的“自愈”能力。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (1)
1.一种密码芯片抗旁路攻击的安全制备方法,密码算法运算过程中产生随机掩码Randi(0<i<q),其特征在于:密码芯片初始化阶段产生的固定掩码FRi(0<i<p)与密码算法运算过程中产生的随机掩码Randi(0<i<q) 结合,使密码算法在运算过程中至少包含一个测试失效点,攻击者无法获取该点的旁路信息泄漏值,使之无法进行统计攻击,测试失效点的产生具体包括如下步骤:
(1)在密码芯片初始化阶段,密码芯片内部产生一个或多个随机数FRi(0<i<p),该随机数产生后就固定不变,称为固定掩码,用固定掩码FRi对初始密钥Key进行异或运算以掩盖其初始值,即FK=FRi⊕Key,该运算生成一个新的掩码密钥FK,固定掩码参数:p个固定掩码的参数为Fp=FR1⊕…⊕FRp;
(2)在密码算法运算过程中,产生一个或多个随机数Randi(0<i<q),即随机掩码,在每次密码运算过程中,随机掩码的值均不同;
(3)引入测试失效点:Rand1=Fp;Rand2=Rand2;...; Rand(q-1)= Rand(q-1);Randq= Rand2⊕…⊕Rand(q-1),以上q个状态点的异或结果为Rand1⊕…⊕Randq=Fp;在密码运算FK⊕Rand1⊕…⊕Randq过程中,对应的状态序列<FK,Rand1,Rand2,...Randq >,由于该状态序列中至少包含一个测试失效点,即固定掩码FRi,并且FRi在密码算法的运算阶段是不被计算的,因此不会产生旁路泄漏,攻击者无法获取FRi的旁路泄漏信息;
(4)计算修正参数M:为了保证运算结果正确性,需要用随机掩码Randi(0<i<q)和固定掩码FRi(0<i<p)异或后的参数M=Fp ⊕FR1来修正加解密计算结果;
所述固定掩码通过以下步骤定时更新:
(1)定时更新参数设置:在密码芯片内部设置更新计数器,其初始值为i=0,门限值为T=N,密码芯片执行一次密码运算,初始值i=i+1;当i=N时,将固定掩码FRi(i>0)更新为FRi ';
(2)计算新掩码密钥FK':新的掩码密钥为FK'= FR1 '⊕ FK,用FK'替代原有的FK进行加解密运算;
(3)计算固定掩码参数:Fp '= FR1 ' ⊕…⊕FRp ' 。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103061059A CN101639885B (zh) | 2009-08-26 | 2009-08-26 | 一种密码芯片抗旁路攻击的安全制备方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103061059A CN101639885B (zh) | 2009-08-26 | 2009-08-26 | 一种密码芯片抗旁路攻击的安全制备方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101639885A CN101639885A (zh) | 2010-02-03 |
CN101639885B true CN101639885B (zh) | 2012-05-09 |
Family
ID=41614860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009103061059A Expired - Fee Related CN101639885B (zh) | 2009-08-26 | 2009-08-26 | 一种密码芯片抗旁路攻击的安全制备方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101639885B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010028375A1 (de) * | 2010-04-29 | 2011-11-03 | Robert Bosch Gmbh | Schutz vor kryptoanalytischen Seitenkanalattacken |
CN106936561B (zh) * | 2015-12-29 | 2020-06-02 | 航天信息股份有限公司 | 一种侧信道攻击防护能力评估方法和系统 |
CN112287354A (zh) * | 2020-10-29 | 2021-01-29 | 天津津航计算技术研究所 | 一种密码芯片的旁路攻击仿真系统 |
CN113158172B (zh) * | 2021-02-26 | 2022-03-22 | 山东英信计算机技术有限公司 | 一种基于芯片的密码获取方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183945A (zh) * | 2007-12-20 | 2008-05-21 | 上海交通大学 | 基于旁路算子的椭圆曲线抗旁路攻击方法 |
CN101197668A (zh) * | 2007-12-06 | 2008-06-11 | 上海交通大学 | 基于随机化带符号标量乘法的椭圆曲线抗旁路攻击方法 |
-
2009
- 2009-08-26 CN CN2009103061059A patent/CN101639885B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197668A (zh) * | 2007-12-06 | 2008-06-11 | 上海交通大学 | 基于随机化带符号标量乘法的椭圆曲线抗旁路攻击方法 |
CN101183945A (zh) * | 2007-12-20 | 2008-05-21 | 上海交通大学 | 基于旁路算子的椭圆曲线抗旁路攻击方法 |
Non-Patent Citations (3)
Title |
---|
张涛等.一种抗旁路攻击的自愈密码系统设计.《计算机应用研究》.2008,第25卷(第9期),2829-2831. * |
张涛等.一种面向密码芯片的旁路攻击防御方法.《软件学报》.2008,第19卷(第11期),2990-2998. * |
张涛等.插入随机时延的高阶旁路攻击防御方法.《计算机工程》.2008,第34卷(第16期),162-164. * |
Also Published As
Publication number | Publication date |
---|---|
CN101639885A (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Biswas et al. | A survey of timing channels and countermeasures | |
Rivain et al. | Higher-order masking and shuffling for software implementations of block ciphers | |
Cohney et al. | Pseudorandom black swans: Cache attacks on CTR_DRBG | |
US20150222421A1 (en) | Countermeasures against side-channel attacks on cryptographic algorithms | |
Ronen et al. | Pseudo constant time implementations of TLS are only pseudo secure | |
Kim et al. | Dynamic ransomware protection using deterministic random bit generator | |
CN103795527A (zh) | 防止基于功耗分析攻击aes算法的软件掩码防护方案 | |
EP3477889B1 (en) | Using white-box in a leakage-resilient primitive | |
CN101639885B (zh) | 一种密码芯片抗旁路攻击的安全制备方法 | |
WO2013128036A1 (en) | Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations | |
CN107070633B (zh) | 一种抗高阶功耗分析的aes掩码加密方法 | |
Sepúlveda et al. | Beyond cache attacks: Exploiting the bus-based communication structure for powerful on-chip microarchitectural attacks | |
US11061997B2 (en) | Dynamic functional obfuscation | |
CN102932147B (zh) | 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法 | |
Hatzivasilis et al. | Lightweight password hashing scheme for embedded systems | |
Wiener | Applying software protection to white-box cryptography | |
Atici et al. | Cache-timing attacks without a profiling phase | |
Shin | Multibyte microarchitectural data sampling and its application to session key extraction attacks | |
Saraswat et al. | Remote cache-timing attacks against aes | |
Nishinaga et al. | Implementation of µNaCl on 32-bit ARM Cortex-M0 | |
JP5440285B2 (ja) | 鍵共有方式、鍵共有方法及び鍵共有プログラム | |
Iavich et al. | Investigating CRYSTALS-Kyber Vulnerabilities: Attack Analysis and Mitigation | |
Preneel | Modes of Operation of a Block Cipher. | |
Hu et al. | An improved memory integrity protection scheme | |
Zhang et al. | CM-Droid: Secure Container for Android Password Misuse Vulnerability. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120509 Termination date: 20170826 |
|
CF01 | Termination of patent right due to non-payment of annual fee |