CN104410491A - 一种抗密钥加载模板攻击的防护方法 - Google Patents
一种抗密钥加载模板攻击的防护方法 Download PDFInfo
- Publication number
- CN104410491A CN104410491A CN201410427432.0A CN201410427432A CN104410491A CN 104410491 A CN104410491 A CN 104410491A CN 201410427432 A CN201410427432 A CN 201410427432A CN 104410491 A CN104410491 A CN 104410491A
- Authority
- CN
- China
- Prior art keywords
- key
- template
- attack
- secret key
- chip
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出一种抵御针对安全芯片中密钥加载进行模板攻击的防护方法。该方法在密钥加载过程中,对密钥分段随机加载,让攻击者不能确定当前加载的密钥段,破坏模板攻击的模板构建和模板匹配过程,打破构建的模板与真实运算密钥之间的相关性,使模板匹配失败,从而达到防护模板攻击的目的。
Description
技术领域
本发明提出涉及一种抗密钥加载模板攻击的防护方法,适用于安全芯片设计领域。
背景技术
自从Paul Kocher开创性地提出功耗攻击以来,侧信道攻击作为一种实用的攻击方法,对相当多的密码设备表现出了极高的攻击效率。许多侧信道攻击方法被相继提出,包括简单功耗攻击(SPA)、简单电磁攻击(EMA)等。功耗和电磁信息中泄露的密钥信息相对于噪声比较微弱,这时可以利用DPA在内的统计技术实施攻击,于是出现了差分功耗攻击(DPA)、差分电磁攻击(DEMA)等。DPA的统计分析依赖于对同一密钥、不同操作数据的大量功耗曲线样本进行。然而诸多研究表明,由于DPA等侧信道攻击方法没有充分利用每个样本里面所包含的全部有用信息,从而需要采集大量样本。如果攻击者只需要采集较少的功耗曲线样本就能展开有效攻击,必然能提高攻击效率,模板攻击正是这样一种侧信道攻击方法。
模板攻击方法最早由Rohatgi等人在2002年的密码硬件与嵌入式系统国际会议(Cryptographic Hardware and Embedded Systems.CHES2002)上提出。模板攻击的关键是攻击者能够利用与被攻击密码设备相同的实验设备进行编程和实验,从而构建出相关侧信道信号的模板信息,如果定义在功耗上即是特定操作和特定密钥的在特定时间点的均值功耗以及精确的多元噪声模型。完成模板构建后,攻击者利用构建的模板用假设检验和最大似然估计等方法对实际的功耗曲线进行匹配,匹配度最高的即是正确的密钥。从信息论的角度,模板攻击是曲线样本数量有限情况下最强有力的攻击方式。
在模板攻击技术成熟之前,主流的侧信道攻击主要是SPA/DPA/CPA,这些攻击主要针对密钥运算过程展开。针对这些攻击采用的常用的防护手段如掩码等,只解决密码运算过程中的侧信道安全,并没有解决密码运算之外的密钥加载过程安全。模板攻击技术不单单能够针对密码运算过程,包括对密码运算之前的密钥加载也能进行攻击。智能卡等安全芯片的密钥加载是指CPU从存储器中将密钥读取到芯片内部的安全算法模块或安全算法协处理器的密钥寄存器中,然后可以启动安全算法运算。针对这个密钥加载过程的模板攻击就是利用了不同密钥数据从存储器读出或写入到安全算法内部寄存器的功耗差异构建模板,然后利用此模板对实际芯片密钥加载过程的功耗曲线进行匹配,有可能直接获取实际芯片的密钥信息,或获取密钥的汉明重量信息,以降低穷尽搜索难度从而获取密钥。
发明内容
在智能卡等安全芯片内部的安全算法模块中,密钥的位数往往超过CPU的数据位宽,因此从存储器往安全算法协处理器加载密钥通常需要多次加载。例如,如果某安全算法协处理器的密钥是1024位,而该CPU的数据位宽是32位,则该CPU需要执行32次数据搬运操作才能将密钥完整地加载到密钥算法模块的寄存器中。攻击者进行模板构建时,必须要清楚地知道当前是加载的哪一段密钥,利用实际功耗曲线进行模板匹配时,也必须用对应功耗曲线与对应模板进行匹配。如果在密钥加载时破坏密钥加载的固定顺序,攻击者在构建模板时就无法知晓当前是在构建哪段密钥加载的模板,利用实际功耗曲线进行匹配时,也无从知晓当前采用的密钥加载功耗曲线应该与哪个已构建模板在进行匹配。在这种条件下,必然大大增加匹配出正确的密钥的难度。
本发明公开的一种抵抗对密钥加载进行模板攻击的防护方法,当芯片从存储器或其它寄存器往密码算法模块或密码算法协处理器加载密钥时,将需要加载的密钥分为N段,芯片分M次将密钥取出按照随机的顺序写入到密码算法模块或密码算法协处理器中,M≥N。当M=N时,芯片每次按照随机的顺序加载密钥的一个段;当M>N时,芯片随机加载N段密钥的过程中,随机从存储器中读出M-N个无效段,加载到芯片内部的不影响运算结果的其他非密钥寄存器中。
打乱分段密钥加载顺序可以但不限于采用从芯片内部获取随机数,根据随机数的值决定当前加载顺序。
对密钥分段加载可以但不限于将密钥按照CPU位宽进行分段,例如32位CPU可以将128位密钥分为4段进行加载。也可以将128位密钥分为更多的子段进行加载,例如分8段,每段16位。划分的段数越多,模板的构建和匹配就越困难,安全性越高。
密钥的分段加载可以但不限于采用随机加载非真实密钥的段来隐臧真实加载的密钥段。例如,128位的密钥,分4段随机加载,每段32位。加载1次真实32位密钥后,可以从存储器读取无关数据加载到芯片内的无关寄存器1次或多次,再接着加载其他段的密钥。通过这种隐藏技术,可以进一步加强模板构建和匹配的难度,达到提高抗模板攻击防护能力的目的。
附图说明
图1为不带密钥加载模板攻击防护的AES工作流程
图2为带密钥加载模板攻击防护的AES工作流程
具体实施方式
以32位CPU安全芯片对对AES算法的128位密钥加载过程为例,描述本发明的一种具体实施方式:
未加模板攻击防护的AES执行流程如附图1所示:芯片按照由低位到高位的固定顺序将128位密钥分4次加载到AES内部密钥寄存器,每次加载32位,具体步骤见附图1中101到104。这样的设计必然容易受到模板攻击。
本发明提出的密钥加载方式如附图2所示:芯片开始加载密钥之前先读取随机数,见附图2步骤201。根据当前读取的随机数决定4次加载密钥到内部寄存器的顺序,见附图2中步骤202到205。分4次加载最多可能有24种加载的顺序,软件设计人员可预先分配随机数值与对应加载顺序的关系。例如,当取回的随机数为0,则按照先加载key[95:64],然后加载key[31:0],再加载key[127:96],最后加载[63:32];如果取回的随机数为8,则先加载key[31:0],然后加载key[127:96],再加载[63:32],最后加载[95:64]。
以上所述,仅为本发明的一种实现实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种抵抗对密钥加载进行模板攻击的防护方法,其特征在于:当芯片从存储器或其它寄存器往密码算法模块或密码算法协处理器加载密钥时,将需要加载的密钥分为N段,芯片分M次将密钥取出按照随机的顺序写入到密码算法模块或密码算法协处理器中,M≥N。
2.根据权利要求2所述的方法,其特征在于:当M=N时,芯片每次按照随机的顺序加载密钥的一个段;当M>N时,芯片随机加载N段密钥的过程中,随机从存储器中读出M-N个无效段,加载到芯片内部的不影响运算结果的其他非密钥寄存器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410427432.0A CN104410491A (zh) | 2014-08-27 | 2014-08-27 | 一种抗密钥加载模板攻击的防护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410427432.0A CN104410491A (zh) | 2014-08-27 | 2014-08-27 | 一种抗密钥加载模板攻击的防护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104410491A true CN104410491A (zh) | 2015-03-11 |
Family
ID=52648089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410427432.0A Pending CN104410491A (zh) | 2014-08-27 | 2014-08-27 | 一种抗密钥加载模板攻击的防护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104410491A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908634A (zh) * | 2019-11-13 | 2020-03-24 | 北京中电华大电子设计有限责任公司 | 一种随机序列产生装置及其控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007088796A1 (en) * | 2006-01-31 | 2007-08-09 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN103647643A (zh) * | 2013-11-29 | 2014-03-19 | 大唐微电子技术有限公司 | 一种智能卡及密钥传输的方法 |
-
2014
- 2014-08-27 CN CN201410427432.0A patent/CN104410491A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007088796A1 (en) * | 2006-01-31 | 2007-08-09 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN103532973A (zh) * | 2013-10-25 | 2014-01-22 | 东南大学 | 面向des算法电路的差分功耗攻击测试方法 |
CN103647643A (zh) * | 2013-11-29 | 2014-03-19 | 大唐微电子技术有限公司 | 一种智能卡及密钥传输的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908634A (zh) * | 2019-11-13 | 2020-03-24 | 北京中电华大电子设计有限责任公司 | 一种随机序列产生装置及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9977897B2 (en) | System and method for detecting stack pivot programming exploit | |
Bogdanov et al. | Differential cache-collision timing attacks on AES with applications to embedded CPUs | |
CN103577323B (zh) | 基于动态关键指令序列胎记的软件抄袭检测方法 | |
EP2207087A1 (en) | Method for protecting a cryptographic device against SPA, DPA and timing attacks | |
CN103560877B (zh) | 攻击密钥的方法及装置 | |
ATE548819T1 (de) | Symmetrisches kryptographisches rechenverfahren und vorrichtung zur verlustminimierung bei chipkarten und anderen verschlüsselungssystemen | |
US10291391B2 (en) | Method for enhanced security of computational device with multiple cores | |
CN102571331A (zh) | 一种用于防御能量分析攻击的密码算法实现保护方法 | |
EP3040901A1 (en) | System and method for aligning time-series data over a large range of time indices | |
CN105975837A (zh) | 生物特征识别装置和方法以及生物特征模板注册方法 | |
CN104583961A (zh) | 基于软件的侧信道攻击防止 | |
CN102970131A (zh) | 一种防止对分组算法进行功耗攻击的电路结构 | |
Tayyab et al. | Cryptographic based secure model on dataset for deep learning algorithms | |
CN106357378B (zh) | 用于sm2签名的密钥检测方法及其系统 | |
CN106100823A (zh) | 保护密码装置 | |
CN107798248B (zh) | 防止差分故障分析的软件保护 | |
CN104410491A (zh) | 一种抗密钥加载模板攻击的防护方法 | |
CN102110206A (zh) | 防御攻击的方法和具有攻击防御功能的装置 | |
KR101981621B1 (ko) | 공개키 암호 알고리즘의 키 비트 변수 램덤화를 위한 장치 및 방법 | |
Lee et al. | Single-trace attack using one-shot learning with Siamese network in non-profiled setting | |
Jeong et al. | Neural network stealing via meltdown | |
CN105721150B (zh) | 一种多变量二次方程的掩码加密方法 | |
Qu | Hardware security and trust: A new battlefield of information | |
EP3642820A1 (en) | Computing device processing expanded data | |
Rahaman et al. | Side channel attack prevention for AES smart card |
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: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Applicant after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Applicant before: Beijing CEC Huada Electronic Design Co., Ltd. |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150311 |