安全芯片中抵御模板攻击的密钥装载方法技术

技术编号:14275568 阅读:66 留言:0更新日期:2016-12-24 17:11
本发明专利技术公开了一种安全芯片中抵御模板攻击的密钥装载方法,定义一种密钥数据的变换规则,密钥数据通过该规则进行变换,变换后的密钥数据具有所有字节互不相同的特点,密钥数据后续的存储与传输都在变换后的数据上进行;在密钥存储时,将长度为n个字节的变换后的密钥按字节存储至真实密钥地址,并将另外256-n个字节的非密钥数据存储至混淆密钥地址;当密钥从密钥区读取传输时,以随机的方式按字节读取所有密钥区的数据,将真实密钥地址的密钥字节传输至正确的目的地址,将混淆密钥地址的非密钥数据传输至无关的目的地址。本发明专利技术具有更高的安全性,即使模板攻击能对芯片传输的数据进行完美的解析,仍然很难得到任何的密钥信息。

【技术实现步骤摘要】

本专利技术涉及芯片安全领域,特别是涉及一种安全芯片中抵御模板攻击的密钥装载方法
技术介绍
任何实际的密码设备在运行时都会散发出各种形式的信息,如功耗,电磁辐射,声音,运行时间等。这些信息可以被收集与分析并以此恢复出密码设备的秘密信息,这样的攻击就叫做旁路攻击。旁路攻击是针对密码算法的硬件实现的,而不是针对某个算法本身的。因此即使某个密码算法在数学上,在理论上被证明是安全的,它在实际应用中仍然有可能会以旁路攻击的方式被攻破。事实证明,密码算法的常规的实现方法通常无法抵抗旁路攻击。其中,Paul Kocher等人于1998年提出了功耗分析,而Suresh Charl等人在2002年的密码硬件与嵌入式系统国际会议上最早提出了模板攻击,随后,Dakshi Agrawal等人也在CHES 2005上发表文章提出将模板攻击方式与功耗分析相结合的攻击方法,即基于模板的DPA(差分功耗分析)。模板攻击的可怕之处在于,它可以完全避开密码运算本身而对密钥数据的载入展开分析,使得该攻击与密码本身的安全性完全无关。在模板攻击中,攻击者先对一个可以自由配置的密码设备,进行建模。通常以字节为单位,对于所有的可能密钥值进行配置,并获取其传输时的功耗信息,将其功耗信息中的均值,协方差等统计相关信息进行记录完成
模板建立。而在攻击时,将其密钥传输的过程中的功耗信息与先前建立的模板进行匹配,就可以确定具体的密钥值。由于密钥数据的传输过程中,不同的字节数据的功耗特征确实有一定区别并可以在统计规律中被区分,因此模板攻击对于密钥载入过程的攻击十分有效,也成为了现今旁路攻击方向的研究热点。而对于秘密数据的传输,传统的直接拷贝方式可以很轻易地被模板攻击所突破,因此,也有一些针对模板攻击的防御方式,比如在拷贝过程中增加随机因素,使得数据以随机的顺序被拷贝。在该数据传输方法中,增加了一个随机序列的输入,给定了一个长度大小一定的随机序列rndSeq之后,源地址的数据以随机的顺序拷贝到目的地址。这样在其每次传输过程都不相同且无法预测,就无法在攻击时获得大量功耗的统计信息。然而,在模板攻击的效率和精度不断提升的现在,这样的方法的安全性仍然不够,因为攻击者在建模时只要将所有的密钥数据设成相同的数值就能进行准确的建模了。而在攻击时,由于理想状况下,一次数据传输拷贝过程获得的功耗信息就有可能泄露所有的传输数据信息,因此攻击者虽然无法得到正确的顺序,但是可以得到全部的数据,只要进行一定次数的
穷举就能完成攻击与破解。因此,这类纯粹加入随机因素的防御方法虽然有一定安全性,但仍有风险。
技术实现思路
本专利技术要解决的技术问题是提供一种安全芯片中抵御模板攻击的密钥装载方法,具有更高的安全性,即使模板攻击能对芯片传输的数据进行完美的解析,仍然很难得到任何的密钥信息。为解决上述技术问题,本专利技术的安全芯片中抵御模板攻击的密钥装载方法,包括以下步骤:步骤1,定义一种密钥数据的变换规则,密钥数据通过该规则进行变换,变换后的密钥数据具有所有字节互不相同的特点,密钥数据后续的存储与传输都在变换后的数据上进行;步骤2,在密钥存储时,将长度为n个字节的变换后的密钥按字节存储至真实密钥地址,并将另外256-n个字节的非密钥数据存储至混淆密钥地址;真实密钥地址和混淆密钥地址的并集称为密钥区;步骤3:当密钥从密钥区读取传输时,以随机的方式按字节读取所有密钥区的数据,将真实密钥地址的密钥字节传输至正确的目的地址,将混淆密钥地址的非密钥数据传输至无关的目的地址;其中,k<n≤256,0<k≤210,k为变换前的密钥长度,n为变换后的密钥长度。步骤1中所述的密钥数据的变换规则,是一种任意的规则,并满足以下条件:a、对于任意两个变换前不完全相同的密钥,其变换后的数据也不完全相同;b、根据变换后的密钥能计算出原密钥。步骤2中所述的另外256-n个字节指得是,与变换后的密钥的任意一个字节都不相等的所有可能字节值。由于变换后的密钥是互不相同的n个字节,因此满足条件的可能字节值有(256-n)个。步骤2中的真实密钥地址和混淆密钥地址,总共是256个字节地址;当变换后的密钥为n个字节时,真实密钥地址为n个,混淆密钥地址为256-n个;真实密钥地址和混淆密钥地址可以是连续的,也可以是分散的。步骤2中所述将另外256-n个字节的非秘钥数据存储至混淆密钥地址,其存储关系是任意的,也即可以将任意一个非密钥字节存储到混淆密钥地址中的任意一个。步骤3中所述的无关的目的地址,其地址与真实的目的地址无重叠,并且与真实的目的地址是相同的存储介质,并有相同的结构,即数据存储时的功耗特征一致。采用本专利技术的方法,在传输不同的密钥时,始终将256个字节数据(0x00-0xFF)都传输一遍,并且顺序是随机的。因此,即使模板攻击能破解传输数据的具体值,也对破解密钥信息没有任何帮助,仍然很难得到任何的密钥信息。本专利技术可以规避纯粹加入随机因素的防御方法所存在的风险,具有更高的安全性。具体实施方式所述安全芯片中抵御模板攻击的密钥装载方法,涉及芯片中要将一组秘密数据(如密码算法中的密钥)从一种存储介质传输到另一种存储介质的过程中,抵御模板攻击的安全传输方案,并且涉及到了该秘密数据在存储介质中的存储方式。旨在消除不同密钥在传输时的可区分性,做到对于不同的两个密钥,其传输过程没有任何区别。因此,在传输真实密钥的同时,还必须添加虚假的密钥传输,使得总的传输过程达到一致。其具体步骤如下:步骤1、定义一个密钥变换规则,将密钥数据按特定设计的规则进行变换,以增加总长度(字节数)为代价,使得变换后的密钥没有重复的字节数据,也即任意两个字节都不相同,并用变换后的数据进行存储和传输。假设原密钥长度为k个字节,因此其共有256k种可能。如果变换后的密钥长度不变,其密钥空间仅为256!/(256-k)!。必然小于256k。故变换后的密钥长度增加是必然的。显然,原始的密钥长度和变换后的密钥长度都不能超过256。并且有256!/(256-k)!≥256k,可得k≤210。当原密钥长度小于210个字节时,一定不存在这样的变换,因此,若需要传输的密钥超过210字节,则必需分段后再按本专利技术的规则存储、传输。步骤2、密钥存储时,将变换后的n个字节的真实密钥存储于真实密钥
地址,而将(256-n)个混淆数据存储于混淆密钥区(由于这些数据是无用的,因此存储的排列顺序可以随意)。经过步骤1的变换后,n个字节的密钥的数据已经互不相等,这样只要将没有出现在变换后的密钥中的(256-n)种可能字节值定为混淆密钥,就可以使得真实密钥与混淆密钥的并集成为256个字节全体了。真实密钥地址和混淆密钥地址可以由系统固定下来,这些地址可以连续也可以分散,真实密钥地址和混淆密钥地址可以顺序安排也可以相互穿插。步骤3、密钥传输时,先获得一个0~255的随机序列,然后根据随机序列的顺序将所有的密钥(包括真实和混淆的)读取传输,其中,如果源地址是真实密钥地址,则数据传输至正确的目的地址,而如果源地址是混淆密钥地址,则数据传输至无关的目的地址(数据仅仅被传输,但不会被后续使用)。按这样的传输规则,从0x00-0xFF这256个字节,都会在过程中被传输1次,顺序随本文档来自技高网
...

【技术保护点】
一种安全芯片中抵御模板攻击的密钥装载方法,其特征在于,包括以下步骤:步骤1,定义一种密钥数据的变换规则,密钥数据通过该规则进行变换,变换后的密钥数据具有所有字节互不相同的特点,密钥数据后续的存储与传输都在变换后的数据上进行;步骤2,在密钥存储时,将长度为n个字节的变换后的密钥按字节存储至真实密钥地址,并将另外256‑n个字节的非密钥数据存储至混淆密钥地址;真实密钥地址和混淆密钥地址的并集称为密钥区;步骤3:当密钥从密钥区读取传输时,以随机的方式按字节读取所有密钥区的数据,将真实密钥地址的密钥字节传输至正确的目的地址,将混淆密钥地址的非密钥数据传输至无关的目的地址;其中,k<n≤256,0<k≤210,k为变换前的密钥长度,n为变换后的密钥长度。

【技术特征摘要】
1.一种安全芯片中抵御模板攻击的密钥装载方法,其特征在于,包括以下步骤:步骤1,定义一种密钥数据的变换规则,密钥数据通过该规则进行变换,变换后的密钥数据具有所有字节互不相同的特点,密钥数据后续的存储与传输都在变换后的数据上进行;步骤2,在密钥存储时,将长度为n个字节的变换后的密钥按字节存储至真实密钥地址,并将另外256-n个字节的非密钥数据存储至混淆密钥地址;真实密钥地址和混淆密钥地址的并集称为密钥区;步骤3:当密钥从密钥区读取传输时,以随机的方式按字节读取所有密钥区的数据,将真实密钥地址的密钥字节传输至正确的目的地址,将混淆密钥地址的非密钥数据传输至无关的目的地址;其中,k<n≤256,0<k≤210,k为变换前的密钥长度,n为变换后的密钥长度。2.如权利要求1所述的方法,其特征在于:步骤1中所述的密钥数据的变换规则,是一种任意的规则,并满足以下条件:a、对于任意两个变换前不完全相同的密钥,其变换后的数据也不完全相同;b、根据变换后的...

【专利技术属性】
技术研发人员:顾星远马博刘军荣郭筝李大为罗鹏
申请(专利权)人:上海华虹集成电路有限责任公司国家密码管理局商用密码检测中心上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1