一种高效的安全芯片功耗攻击测试方法

文档序号:6488471阅读:382来源:国知局
一种高效的安全芯片功耗攻击测试方法
【专利摘要】发明公开了一种高效的安全芯片功耗攻击测试方法,对安全芯片在设计阶段进行功耗攻击测试时,对功耗样本的获取及处理如下:(1)功耗样本获取(2)功耗样本预处理(3)假设功耗样本获取(4)相关系数的计算和攻击结果分析。本发明仅采样有变化的功耗点,节省大量功耗样本数据,大幅降低功耗攻击计算量,具有评估效率高、速度快的优点,更重要的是,能够在芯片设计阶段进行功耗攻击测试,降低流片后安全性能不佳导致芯片重新设计的风险,从而缩短安全芯片设计周期。
【专利说明】一种高效的安全芯片功耗攻击测试方法
【技术领域】
[0001]本发明涉及芯片的信息安全领域,具体涉及一种高效的安全芯片功耗攻击测试方法。
【背景技术】
[0002]进入21世纪,科技迅猛发展,社会信息化已经是大势所趋,生活变得信息化,数字化和网络化,人们对信息的依赖性不断增强。随着计算机、网络、通讯技术与集成电路技术的发展,安全芯片被广泛应用于自动取款机(Automatic Teller Machine, ATM)的银行卡,小区或公司环境的门禁系统智能卡,手机中的语音加密芯片等各种需要信息安全的环境中。由于集成电路内部的电路结构非常复杂,同时具有封闭性好、不易入侵、运算快速等等特点,使得安全芯片更适合安全要求更高的系统。
[0003]但随着信息安全研究的深入,各种旁路攻击手段严重地威胁了密码芯片的安全特性。功耗攻击以其简单易行,普遍适用,低成本高效率,得到了广泛的关注,是一种对安全芯片构成严重威胁的一种旁路攻击手段。
[0004]功耗攻击的基本思想就是通过获取密码芯片加解密时的功耗信息,并做出相应的分析来推测出密钥。攻击者控制明文(或密文)的输入,获取大量的功耗迹,然后攻击者选择合适的攻击模型和方法,对功耗迹进行分析,猜测出正确的密钥。目前国际上最流行的旁路攻击技术是功耗分析攻击,大致可以分为简单功耗分析(Simple Power Analysis, SPA)、差分功耗分析(Differential Power Analysis, DPA)和相关系数功耗分析(CorrelationPower Analysis, CPA),很多新型的功耗分析攻击方法都是以这些攻击方法为基础演变而来的。
[0005]为了应对功耗分析攻击对安全芯片提出的挑战,国内外众多研究机构和学者针对DES、AES、ECC、Hash等多种密码算法的抗功耗分析攻击实现进行了研究。为了验证这些抗攻击方案的有效性,必须建立一种有效的功耗攻击测试方法。国外学者设计了针对FPGA和ASIC实现的芯片的功耗攻击方法,并取得了不错的攻击结果。但是这种方法的使用成本比较高昂,设计与实现上均存在不小的障碍,并且其验证周期比较长,并不适合作为用于理论研究使用。安全芯片的设计者如果直接使用这种方法验证芯片的安全特性,将不得不面临巨大的风险,因为如果芯片设计失败会造成人力与物力成本方面的浪费。如何在芯片设计阶段进行功耗攻击测试成为了安全芯片设计领域的一个日趋解决技术难题。某些学者利用数学建模方式设计的仿真攻击方法,虽然攻击高效,成本低廉,但是其精度很低,结果可信度不高,也不适合用于验证安全芯片的抗功耗分析特性。
[0006]综上所述,现有技术中,针对FPGA和ASIC实现的芯片的功耗攻击方法,存在成本高,实现困难,验证周期长的缺陷,数学建模方式设计的仿真攻击方法存在精度低,可信度差的缺陷。

【发明内容】
[0007]本发明的目的在于,针对上述问题,提出一种高效的安全芯片功耗攻击测试方法,仅采样有变化的功耗点,节省大量功耗样本数据,大幅降低功耗攻击计算量,具有评估效率高、速度快的优点,更重要的是,能够在芯片设计阶段进行功耗攻击测试,降低流片后安全性能不佳导致芯片重新设计的风险,从而缩短安全芯片设计周期。
[0008]为实现上述目的,本发明采用的技术方案如下:
[0009]本发明的安全芯片功耗攻击测试方法对安全芯片在设计阶段进行功耗攻击测试时,对功耗样本的获取及处理如下: [0010](I)功耗样本获取:采用PTPX功耗仿真工具对功能后仿真结果进行功耗信息提取,将得到的一系列瞬态功耗值作为采样的功耗样本信息,且仅记录有功耗变化时的芯片功耗值
[0011](2)功耗样本预处理:截取加解密时段的功耗样本构成功耗轨迹,并进行对齐处理,使功耗轨迹对齐于同一操作时刻,避免因功耗轨迹不对齐影响攻击效果
[0012](3)假设功耗样本获取:基于汉明距离模型,选取合适的攻击点,使用随机明文和猜测密钥,推导计算假设功耗值矩阵
[0013](4)相关系数的计算和分析:将预处理后的功耗样本与假设功耗样本进行相关性分析,获取相关系数矩阵。由相关系数矩阵做出相关系数曲线图,在攻击点处出现极值的相关性曲线对应于正确密钥。
[0014]在步骤(1)中PTPX运行在基于时间的(time based)模式,采样方式与示波器类似,所得到的瞬态功耗作为被处理的功耗信息,且仅采样有变化的功耗点,节省大量功耗样本数据;
[0015]在步骤(2)中进行功耗预处理提炼出加解密时刻的功耗值,采用仿真方式,密码芯片每次加密时产生的功耗值个数固定,产生时刻固定,便于攻击者提取并存储为实际功耗值矩阵,并使功耗轨迹对齐于同一操作时刻,避免因功耗轨迹不对齐影响攻击效果;
[0016]在步骤(3)中的假设功耗的获取采用汉明距离模型计算数字电路在某个特定时段内O — I转换和I — O转换的总数,来代表电路的功耗;计算选取的攻击点处的相邻两个时钟周期电路的汉明距离,将其作为假设功耗样本,对于M种随机明文和N种猜测密钥,生成的假设功耗矩阵大小为M*N。
[0017]在步骤(4)中,相关系数的计算方法如下,已知的明文或者密文测试向量记为向量d = (Cl1,...,dD)',其中Cli表示第i次加密或者解密所对应的数据值。将对应数据Cli分组的功耗迹记作t' 1=(\,1,...,\,1),其中1'表示密码模块的功耗迹的长度。针对每一个可能的k值,计算对应的假设中间值k= (^,...Λκ)0给定的数据向量d和密钥假设k,得到中间值f(d,k)。采用汉明距离功耗模型,映射由中间值造成的功耗。利用不同密钥加密的模拟功耗和真实功耗之间的相关性,对大量的随机测试向量进行统计分析,做出相关系数曲线图,在攻击点处出现极值的相关性曲线对应于正确密钥。
[0018]该测试方法的核心共有三部分:功能仿真模块、功耗仿真模块以功耗分析模块。基本的流程是首先将密码算法的RTL代码通过逻辑综合(Design Compiler, DC)工具生成电路网表文件,然后加载明文、时钟等网表必需的测试向量,和网表使用的标准单元库及时序参数一起通过 VCS (Verilog Compile Simulator, Synopsys 公司的 Digital Simulator工具)进行仿真,生成功能仿真波形。功能仿真波形需要转换成为功耗仿真分析需要的V⑶(Value Change Dump,)文件,此文件包含了加密算法运行过程中内部各种标准单元的变化情况。然后设置PTPX的仿真环境参数,对生成的VCD文件进行分析,调用单元库的功耗参数生成功耗仿真文件。然后选取合适的攻击点,利用猜测密钥和随机明文,采用基于汉明距离模型计算出假设功耗值矩阵,随后与PTPX生成的仿真功耗值矩阵进行相关性分析,获取相关系数矩阵。由相关系数矩阵做出相关系数曲线图,在攻击点处出现极值的则攻击成功,极值对应相关性曲线可推测出正确密钥;若未出现极值,则攻击失败。
[0019]本发明的数学原理说明如下:
[0020]功耗攻击的核心是利用芯片功耗和加密数据之间的相关性,从统计学的观点出发,可以利用协方差或者相关系数刻画数据之间的线性关系。协方差的定义如式(I)所示,式(2)是它的一种等价形式。协方差量化了偏离均值的程度,它是随机变量X和Y的偏离度乘积的平均值。
【权利要求】
1.一种高效的安全芯片功耗攻击测试方法,其特征在于可以在安全芯片的设计阶段进行功耗攻击测试,功耗攻击测试基于EDA (Electronic Design Automation)功耗仿真工具和汉明距离模型,采用数学统计的方法进行分析计算,其对功耗样本的获取及处理如下: (1)功耗样本获取:采用PTPX(PrimeTime PX)功耗仿真工具对功能后仿真结果进行功耗信息提取,将得到的一系列瞬态功耗值作为采样的功耗样本信息,且仅记录有功耗变化时的芯片功耗值 (2)功耗样本预处理:截取加解密时段的功耗样本构成功耗轨迹,并进行对齐处理,使功耗轨迹对齐于同一操作时刻,避免因功耗轨迹不对齐影响攻击效果 (3)假设功耗样本获取:基于汉明距离模型,选取合适的攻击点,使用随机明文和猜测密钥, 推导计算假设功耗值矩阵 (4)相关系数的计算和分析:将预处理后的功耗样本与假设功耗样本进行相关性计算,获取相关系数矩阵。由相关系数矩阵做出相关系数曲线图,在攻击点处出现极值的则攻击成功,极值对应相关性曲线可推测出正确密钥;若未出现极值,则攻击失败。
2.根据权利要求1所述的高效的安全芯片功耗攻击测试方法,其特征在于步骤I中的PTPX功耗仿真采用瞬态功耗作为被处理的功耗样本,且仅采样有变化的功耗点,节省大量功耗样本数据。
3.根据权利要求1所述的高效的安全芯片功耗攻击测试方法,其特征在于步骤I中的PTPX功耗仿真设置为基于时间模式(time based),以类似示波器采样方式生成瞬态功耗值。
4.根据权利要求1所述的高效的安全芯片功耗攻击测试方法,其特征在于步骤3中的假设功耗的获取采用汉明距离模型,通过计算数字电路在某个特定时段内O — I转换和I — O转换的总数来代表电路的功耗;计算选取的攻击点处的相邻两个时钟周期电路的汉明距离,将其作为假设功耗样本,对于M (根据功耗攻击的强度,取值为1000-弱,10000-中,10000-强)种随机明文和N(根据算法取值不同,DES-26,AES-28)种猜测密钥,生成的假设功耗矩阵大小为M*N。
5.根据权利要求1所述的高效的安全芯片功耗攻击测试方法,其特征在于步骤4中,相关系数的计算方法如下:已知的明文或者密文测试向量记为向量d= (d1,...,dD)/,其中Cli表示第i次加密或者解密所对应的数据值。将对应数据Cli分组的功耗迹记作t' i =(tia,...,ti>T),其中T表示密码模块的功耗迹的长度。针对每一个可能的k值,计算对应的假设中间值k= (^,...Λκ)0给定的数据向量d和密钥假设k,得到中间值f(d,k)。采用汉明距离功耗模型,映射由中间值造成的功耗。利用不同密钥加密的模拟功耗和真实功耗之间的相关性,对大量的随机测试向量进行统计分析,做出相关系数曲线图,在攻击点处出现极值的则攻击成功,极值对应相关性曲线可推测出正确密钥;若未出现极值,则攻击失败。
【文档编号】G06F21/55GK103679008SQ201210319578
【公开日】2014年3月26日 申请日期:2012年9月3日 优先权日:2012年9月3日
【发明者】蔡志匡, 单伟伟, 刘君寅, 朱佳梁, 邵金梓, 黄丹丹 申请人:江苏东大集成电路系统工程技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1