基于类可分性判距的旁路区分器方法及系统技术方案

技术编号:14299087 阅读:56 留言:0更新日期:2016-12-26 04:24
一种基于类可分性判距的旁路区分器方法及系统,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥。本发明专利技术适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,解决了典型DPA判别方法信息利用单一的问题。同时,也能实现在DPA上的多点信息利用,提高分析效率。

【技术实现步骤摘要】

本专利技术涉及的是一种计算机安全领域的技术,具体是一种基于类可分性判距的旁路区分器方法及系统
技术介绍
在现实中,密码系统通常是以硬件或以硬件为表现形式的软件来实现的,譬如:智能卡、RFID、密码协处理器、SoC密码芯片、密码机等。在这些密码系统的实现环境中,攻击者可以观察和测量密码变换的能量消耗、电磁辐射等信息,利用这些额外的信息有可能实现比传统的数学分析更有效地密码破译。人们通常把这种环境下的攻击称为“旁路攻击(Side Channel Attack)”。旁路攻击通常包括简单功耗分析(SPA)和差分功耗分析(DPA)。其中DPA攻击是通过记录密码设备对大量不同数据加密或解密操作时的功耗曲线,利用统计方法从功耗曲线中恢复出密码设备中的密钥,其分析效果也相对更加有效。典型的DPA攻击基于“分类‐判别”的思想,依据密码算法运行时中间值的某个比特或某些比特将其对应的功耗曲线分为若干类,再根据判别准则对这些类中功耗曲线计算判别值,依据最终得到的判别值来确定密钥值。传统硬件工艺下,功耗泄露模型来源于每比特或每比特的翻转消耗的功率是相同的,这通常适用于总线或寄存器的功耗泄露模型。而随机电路工艺的改进,原有的功耗模型将可以不再适合,即,功耗模型将不再是汉明重量或汉明距离模型,因此,寻找合适的功耗模型是DPA攻击过程中最大的难点之一;同时,有一些设备并没有现成的功耗模型可以用,这类设备就无法传统的DPA攻击方法进行分析。有一些设备的功耗泄漏类型并不是固定的,若采用固定的功耗模型,在攻击的过程中就会发生攻击结果出现错误的情况。也就是可以不同的芯片,即使是同一批次的,其功耗模型也可能不一样,这时候甚至都不能使用模板攻击(在同一批次中一个芯片上做模板,在其他芯片上攻击)。典型DPA“分类‐判别”的思想,其优势在于:独立于具体的泄露模型。能够实现通用分析,不依赖于泄露模型的先验知识,利用判别标准检验各类之间的差异性。利用这种攻击思想,能够解决工艺变化带来的泄露模型的不适用性。虽然典型DPA利用“分类‐判别”的思想且独立于具体的泄露模型,但仍然存在一些问题:1)其分析效率往往不如已经泄露模型下的相关性分析(CPA),这是由于DPA的判别准则是差分,它仅仅利用了分类的均值。2)对于噪声抵抗性较差别并且分析效率较低,所需要的曲线条数较CPA要更多。这加剧了原来本就耗时的功耗采集过程,对于存储及计算资源都是极大消耗。3)典型DPA分析方法,只能利用功耗曲线上单点信息。而功耗泄露往往分布在相邻的若干点上,在DPA方法中合理利用这些泄露点,将极大提高分析效率。
技术实现思路
本专利技术针对现有技术的缺陷和不足,提出一种基于类可分性判距的旁路区分器方法及系统,适用于所有DPA方法的应用场景,并比DPA方法更具有通用性,解决了典型DPA判别方法信息利用单一的问题。同时,也能实现在DPA上的多点信息利用,提高分析效率。本专利技术是通过以下技术方案实现的:本专利技术涉及一种基于比特的通用差分功耗分析方法,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥。所述的候选密钥其中:k为每个猜测的子密钥,为散度矩阵判据,Ci为分类结构。所述的分类包括:单比特分类、多比特分类以及汉明重量分类。所述的中间值可表述为I=f(k,m),其中:k表示子密钥,m表示明文,I表示待攻击的中间值,f为选择的算法操作,即DPA攻击的目标函数,该函数结构已知。技术效果与现有技术相比,本专利技术利用类可分性判据来构造DPA分析方法,该方法利用可分性判据这一统计量能够扩大类与类之间的距离,使得类间的可分性变大,同时又能充分利用功耗曲线上多点信息提升DPA分析效率。附图说明图1为本专利技术流程图;图2为本专利技术应用AES加密算法功耗曲线示意图;图3为J1为判据时,单点、单比特分类的分析成功率示意图;图4为J2为判据时,单点、单比特分类的分析成功率示意图;图5为J3为判据时,单点、单比特分类的分析成功率示意图;图6为J4为判据时,单点、单比特分类的分析成功率示意图;图7为J1为判据时,多点、单比特分类的分析成功率示意图;图8为J2为判据时,多点、单比特分类的分析成功率示意图;图9为J3为判据时,多点、单比特分类的分析成功率示意图;图10为J4为判据时,多点、单比特分类的分析成功率示意图。具体实施方式实施例1本实施例涉及一种基于比特的通用差分功耗分析方法,以AES硬件实现为例进行说明:对于硬件实现的AES来说,其分析可表述成函数:I=f(k,m)。由于密钥混淆的存在,每一轮的寄存器中的中间值和当前8比特轮密钥都关系,而其16个字节S盒是并行执行,在功耗曲线上重叠在一起。这无形之中降低了信噪比,使得攻击所需要的曲线条数增加,若要进行普通的DPA攻击,必须同时大量采集功耗曲线占用较大存储空间与计算能力。本实施例包括以下步骤:①随机输入明文m,循环执行目标函数f,并采集功耗曲线,如图2所示;②根据密钥k的每一个猜测,计算得到对应的中间值I;③依据中间值I选择单比特分类、多比特分类或汉明重量分类中的任意一种,形成对应的分类结构Ci;④对于不同的分类结构Ci,进行散度矩阵判据的单点分析或多点分析;⑤根据步骤④使用判据后得到的结果以及步骤③中不同的分类方式,采用相应的判别结果经过组合处理后得到的综合统计量曲线中的最大值所代表的k值为候选密钥,即其中:k为每个猜测的子密钥,Ci为分类结构,为下面定义散度矩阵判据的任意一种:其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵,如图3、图7所示;ii)J2=|SW|-1|SB|,其中||表示求行列式值,SW表示类内散度矩阵,SB表示类间散度矩阵,如图4、图8所示;iii)J3=tr(SW)-1tr(SB),其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵,如图5、图9所示;iv)J4=|SW|-1|ST|,其中||表示求行列式值,Sw表示类内散度矩阵,ST表示总散度矩阵,如图6、图10所示。所述的类内散度矩阵类间散度矩阵总体散度矩阵C为分类个数,其中:Δi表示每个分类,mi表示第Δi分类的均值,m表示功耗曲线的总均值,Ni表示Δi分类中功耗曲线条数,P(Δi)表示Δi分类的概率及表示Δi分类中第k条功耗曲线。步骤④中所述的单点分析,是指根据判据i)~iv)中,SW、SB与ST中所有X与m取值,均为单个功耗曲线点的向量;对应多点分析,则均为多个功耗曲线点的向量,通过上述判据可将多点映射成单一值的统计量。所述的分类包括:a.如图3~图6所示的单比特分类:按待攻击的中间值I的第一个比特分类分成两类,即分成Δ1,0和Δ1,1,分别表示为第一比特为0的一类和第一比特为1的一类。b.如图7~图10所示的多比特分类:按攻击的中间值I的第若干比特分类,可分成2l类,l表示比特数。c.汉明重量分类:按攻击的中间值I的汉明重量进行分类。所述的中间值可表述为I=f(k,m),其中:k表本文档来自技高网
...
基于类可分性判距的旁路区分器方法及系统

【技术保护点】
一种基于类可分性判距的旁路区分器方法,其特征在于,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥;所述的候选密钥其中:k为每个猜测的子密钥,Ci为分类结构,为散度矩阵判据,其形式为以下任意一种:其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;ii)J2=|SW|‑1|SB|,其中||表示求行列式值,SW表示类内散度矩阵,SB表示类间散度矩阵;iii)J3=tr(SW)‑1tr(SB),其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;iv)J4=|SW|‑1|ST|,其中||表示求行列式值,SW表示类内散度矩阵,ST表示总散度矩阵。

【技术特征摘要】
1.一种基于类可分性判距的旁路区分器方法,其特征在于,对待测硬件输入明文后循环执行目标函数并采集期间产生的功耗曲线,对于每一个猜测子密钥计算其中间值,对中间值按不同分类结构进行分类后分析每种分类下的散度矩阵判据,得到对应的统计量曲线,并对所得到的分类结果进行组合处理,得到每个猜测子密钥的综合统计量曲线,最后根据综合统计量曲线最高的峰值,该综合统计量曲线所对应的猜测子密钥即为候选密钥;所述的候选密钥其中:k为每个猜测的子密钥,Ci为分类结构,为散度矩阵判据,其形式为以下任意一种:其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;ii)J2=|SW|-1|SB|,其中||表示求行列式值,SW表示类内散度矩阵,SB表示类间散度矩阵;iii)J3=tr(SW)-1tr(SB),其中tr表示求迹,SW表示类内散度矩阵,SB表示类间散度矩阵;iv)J4=|SW|-1|ST|,其中||表示求行列式值,SW表示类内散度矩阵,ST表示总散度矩阵。2.根据权利要求1所述的旁路区分器方法,其特征是,所述的类内散度矩阵类间散度矩阵总体散度矩阵C为分类个数,其中:Δi表示每个分类,mi表示第Δi分类的均值,m表示功耗曲线的总均值,Ni表示Δi分类中功耗曲线条数,P(Δi)表示Δi分类的概率及表示Δi分类中第k条功耗曲线。3.根据权利要求1所述的旁路区分器方法,其特征是,所述的分类包括:①单比特分类:按待攻击的中间值I的第一个比特分类分成两类,即分成Δ1,0和Δ1,1,分别表示为第一比特为0的一类和第一比特为1的一类;②多比特分...

【专利技术属性】
技术研发人员:许森陆海宁刘军荣郭筝王伟嘉
申请(专利权)人:上海观源信息科技有限公司
类型:发明
国别省市:上海;31

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

1