CN101639885B - 一种密码芯片抗旁路攻击的安全制备方法 - Google Patents

一种密码芯片抗旁路攻击的安全制备方法 Download PDF

Info

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
Application number
CN2009103061059A
Other languages
English (en)
Other versions
CN101639885A (zh
Inventor
张涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN2009103061059A priority Critical patent/CN101639885B/zh
Publication of CN101639885A publication Critical patent/CN101639885A/zh
Application granted granted Critical
Publication of CN101639885B publication Critical patent/CN101639885B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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进行异或运算以掩盖其初始值,即
Figure G200910306105920090826D000021
该运算生成一个新的掩码密钥FK,固定掩码参数:p个固定掩码的参数为
使用固定掩码可以对初始密钥Key进行保护,确保初始密钥的安全性;此外,为了防止在密码芯片的运算过程中,攻击者对旁路泄漏的信号进行采样和攻击,在密码芯片运算中引入随机掩码技术,降低旁路泄漏和密钥的相关性。
2、在密码算法运算过程中,产生一个或多个随机数Randi(0<i<q),即随机掩码,在每次密码运算过程中,随机掩码的值均不同。
3、引入测试失效点:测量失效点是一些特殊的状态,该状态在密码算法的运算过程中要么不存在,要么不产生计算,因此,这些特殊状态的泄漏信息是不存在或不产生的。
Rand1=Fp;Rand2=Rand2;...;Rand(q-1)=Rand(q-1)
Figure G200910306105920090826D000023
以上q个状态点的异或结果为
Figure G200910306105920090826D000024
在密码运算过程中,对应的状态序列<FK,Rand1,Rand2,...Randq>,由于该状态序列中至少包含一个测试失效点,即固定掩码FRi,并且FRi在密码算法的运算阶段是不被计算的,因此不会产生旁路泄漏,攻击者无法获取FRi的旁路泄漏信息。
计算修正参数M:为了保证运算结果正确性,需要用随机掩码Randi(0<i<q)和固定掩码FRi(0<i<p)异或后的参数
Figure G200910306105920090826D000026
来修正加解密计算结果。
为进一步减少旁路攻击的风险,对掩码进行动态的更新,使攻击所获得的旁路采样信息失效,从而达到更好的防御的目的。
固定掩码通过以下步骤定时更新:
1、定时更新参数设置:在密码芯片内部设置更新计数器,其初始值为i=0,门限值为T=N,密码芯片执行一次密码运算,初始值i=i+1;当i=N时,将固定掩码FRi(i>0)更新为FRi
2、计算新掩码密钥FK’:新的掩码密钥为
Figure G200910306105920090826D000027
用FK’替代原有的FK进行加解密运算;
3、计算固定掩码参数:
Figure G200910306105920090826D000028
通过以上分析可知,在旁路信息泄露发生条件下,通过固定掩码的更新,使得已泄漏信息失效,使密码***具有强壮的“自愈”能力。
本发明的有益效果:本发明的一种密码芯片抗旁路攻击的安全制备方法,用固定掩码与随机掩码相结合,引入测试失效点,在密码算法的运算阶段不被计算,因此不会产生旁路泄漏,攻击者无法获取有效旁路泄漏信息;同时,通过对固定掩码定时更新使得已泄露的旁路信息失效,无需频繁更换密钥,该制备方法设计简单、易于实现,并且能防御多种复杂旁路攻击和具有较强的“自愈”能力,特别适用于密码芯片的安全防护。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
在密码芯片初始化阶段,密码芯片内部产生一个或多个随机数FRi(0<i<p),本实施例中令p=3,该随机数产生后就固定不变,称为固定掩码,用固定掩码FRi对初始密钥Key进行异或运算以掩盖其初始值,即
Figure G200910306105920090826D000031
该运算生成一个新的掩码密钥FK,令Key=8,FR1=3,FR2=9,FR3=5,则可以得到
Figure G200910306105920090826D000032
p个固定掩码的参数为
Figure G200910306105920090826D000033
本实施例中固定掩码的参数
Figure G200910306105920090826D000034
在密码算法运算过程中,产生一个或多个随机数Randi(0<i<q),即随机掩码,引入测试失效点:Rand1=Fp;Rand2=Rand2;...;Rand(q-1)=Rand(q-1)
Figure G200910306105920090826D000035
以上q个状态点的异或结果为
Figure G200910306105920090826D000036
令q=4,Rand1=F3=15;Rand2=10;Rand3=13;则
Figure G200910306105920090826D000038
在密码运算
Figure G200910306105920090826D000039
过程中,对应的状态序列<FK,Rand1,Rand2,...Randq>,本实施例中
Figure G200910306105920090826D0000310
对应状态:<
Figure G200910306105920090826D0000311
Rand1,Rand2,...Rand4>也即<FK,
Figure G200910306105920090826D0000312
>,由于该状态序列中至少包含一个测试失效点,即固定掩码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。
2、计算新掩码密钥FK’:新的掩码密钥为
Figure G200910306105920090826D0000314
用FK’替代原有的FK进行加解密运算;
3、计算固定掩码参数:
Figure G200910306105920090826D000041
本例中F3=23。
通过以上分析可知,在旁路信息泄露发生条件下,通过固定掩码的更新,使得已泄漏信息失效,使密码***具有强壮的“自愈”能力。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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=F⊕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 ' 。
CN2009103061059A 2009-08-26 2009-08-26 一种密码芯片抗旁路攻击的安全制备方法 Expired - Fee Related CN101639885B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183945A (zh) * 2007-12-20 2008-05-21 上海交通大学 基于旁路算子的椭圆曲线抗旁路攻击方法
CN101197668A (zh) * 2007-12-06 2008-06-11 上海交通大学 基于随机化带符号标量乘法的椭圆曲线抗旁路攻击方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
Cohney et al. Pseudorandom black swans: Cache attacks on CTR_DRBG
CN105940439B (zh) 使用排列应对对密码算法的旁通道攻击的对策
CN108352981B (zh) 被布置用于计算目标块加密的密码设备
Ronen et al. Pseudo constant time implementations of TLS are only pseudo secure
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
Kim et al. Dynamic ransomware protection using deterministic random bit generator
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
Ambrose et al. Side channel attacks in embedded systems: A tale of hostilities and deterrence
CN107070633B (zh) 一种抗高阶功耗分析的aes掩码加密方法
Sepúlveda et al. Beyond cache attacks: Exploiting the bus-based communication structure for powerful on-chip microarchitectural attacks
US20190042711A1 (en) Dynamic functional obfuscation
CN102932147B (zh) 基于隐马尔科夫模型的椭圆曲线密码计时攻击方法
US9135834B2 (en) Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation
Domnitser et al. A predictive model for cache-based side channels in multicore and multithreaded microprocessors
Atici et al. Cache-timing attacks without a profiling phase
Shin Multibyte microarchitectural data sampling and its application to session key extraction attacks
Wiener Applying software protection to white-box cryptography
Saraswat et al. Remote cache-timing attacks against aes
Nishinaga et al. Implementation of µNaCl on 32-bit ARM Cortex-M0
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
Huang et al. Cache-collision side-channel analysis and attacks against AES-GCM

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