一种随机序列产生装置及其控制方法与流程

文档序号:20162735发布日期:2020-03-24 21:11阅读:378来源:国知局
一种随机序列产生装置及其控制方法与流程

本发明涉及芯片设计领域,尤其涉及用于保护安全算法密钥传输安全性的随机序列产生装置及其控制方法。



背景技术:

自从paulkocher开创性地提出功耗攻击以来,侧信道攻击作为一种实用的攻击方法,对相当多的密码设备表现出了极高的攻击效率。许多侧信道攻击方法被相继提出,包括简单功耗攻击(spa)、简单电磁攻击(ema)等。功耗和电磁信息中泄露的密钥信息相对于噪声比较微弱,这时可以利用dpa在内的统计技术实施攻击,于是出现了差分功耗攻击(dpa)、差分电磁攻击(dema)等。dpa的统计分析依赖于对同一密钥、不同操作数据的大量功耗曲线样本进行。然而诸多研究表明,由于dpa等侧信道攻击方法没有充分利用每个样本里面所包含的全部有用信息,从而需要采集大量样本。如果攻击者只需要采集较少的功耗曲线样本就能展开有效攻击,必然能提高攻击效率,模板攻击正是这样一种侧信道攻击方法。

模板攻击方法最早由rohatgi等人在2002年的密码硬件与嵌入式系统国际会议上提出。模板攻击的关键是攻击者能够利用与被攻击密码设备相同的实验设备进行编程和实验,从而构建出相关侧信道信号的模板信息,如果定义在功耗上即是特定操作和特定密钥的在特定时间点的均值功耗以及精确的多元噪声模型。完成模板构建后,攻击者利用构建的模板用假设检验和最大似然估计等方法对实际的功耗曲线进行匹配,匹配度最高的即是正确的密钥。从信息论的角度,模板攻击是曲线样本数量有限情况下最强有力的攻击方式。

在模板攻击技术成熟之前,主流的侧信道攻击主要是spa/dpa/cpa,这些攻击主要针对密钥运算过程展开。针对这些攻击采用的常用的防护手段如掩码等,只解决密码运算过程中的侧信道安全,并没有解决密码运算之外的密钥加载过程安全。模板攻击技术不单单能够针对密码运算过程,包括对密码运算之前的密钥加载也能进行攻击。智能卡等安全芯片的密钥加载是指cpu从存储器中将密钥读取到芯片内部的安全算法模块或安全算法协处理器的密钥寄存器中,然后可以启动安全算法运算。针对这个密钥加载过程的模板攻击就是利用了不同密钥数据从存储器读出或写入到安全算法内部寄存器的功耗差异构建模板,然后利用此模板对实际芯片密钥加载过程的功耗曲线进行匹配,有可能直接获取实际芯片的密钥信息,或获取密钥的汉明重量信息,以降低穷尽搜索难度从而获取密钥。

在智能卡等安全芯片内部的安全算法模块中,密钥的位数往往超过cpu的数据位宽,因此从存储器往安全算法协处理器加载密钥通常需要多次加载。例如,如果某安全算法协处理器的密钥是1024位,而该cpu的数据位宽是32位,则该cpu需要执行32次数据搬运操作才能将密钥完整地加载到密钥算法模块的寄存器中。目前针对模板攻击的有效防御手段是密钥随机传输,即将密钥传输的顺序打乱传输,在功耗曲线密钥传输部分,由于密钥传输顺序的不同,表现出每次在总线传输的数据不同,从而使得模板攻击者无法通过模板匹配出有效的密钥信息。



技术实现要素:

本发明提供了一种用于保护安全算法密钥传输安全性的随机序列产生装置,可以在安全算法密钥传输过程中,利用产生的随机序列元素依次作为传输数据的下标,从而将密钥传输顺序打乱,从而提高了安全算法抗模板攻击的能力。比如对于有4个字的密钥key[4],通过启动随机序列产生装置,由原始等差数列0,1,2,3产生了随机序列2,0,3,1,就可以将密钥的传输顺序由key[0],key[1],key[2],key[3]变为key[2],key[0],key[3],key[1]。

在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,包括:随机序列模式控制器、随机数发生器、随机序列调制器。其原理为随机序列产生装置通过预取的随机数将原等差数列元素顺序随机打乱,并输出为随机数据序列。

在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机序列模式控制器接受输入随机序列模式配置信息,并控制随机序列调制器输出随机序列;

随机序列模式控制器默认输入信息表征的原始等差数列一般为起始值为序列元素最小值min、结束值为序列元素最大值max,公差为序列公差d的等差数列,也可以认为起始值为序列元素最大值max,结束值为序列元素最小值,公差为d的等差数列;

配置单次序列元素输出元素个数m信息,可以设置装置单次输出的序列元素个数;

在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机数发生器包含或连接一个或多个随机源,接受输入随机序列速度配置信息,选择速度合理的随机源,生成随机序列调制器需要的随机数;

在一种用于保护安全算法密钥传输安全性的随机序列产生装置中,随机序列调制器包含一个或多个序列生成调制算法,接受随机序列模式控制器的控制,采用对应的序列调制算法,输出对应的随机序列。

一种用于保护安全算法密钥传输安全性的随机序列产生装置设计为芯片硬件单元,不仅提高了随机序列产生的速度,而且可以有效隐藏实现机理,对于安全算法来说,无疑更加增强了其安全防护能力。

根据本发明一种随机序列产生装置的控制方法如下。

1)随机序列模式控制器接受输入随机序列模式配置信息;

2)随机序列模式控制器在其内部保存随机序列配置信息;

3)将已经输出的序列元素个数信息置为零;

4)随机序列模式控制器控制随机序列调制器选择对应的调制算法;

5)随机数发生器接受随机序列速度配置信息,选择好符合条件的随机源,并做好随机数生成准备;

6)随机序列模式控制器控制随机数序列调制器预取若干随机数并存储在随机序列调制器的内部缓存中,预取的随机数的个数大于或等于调整算法需要使用的随机数数量;

7)随机序列模式控制器接受用户启动信息;

8)随机序列模式控制器根据配置信息,推送所述m个所述原始等差数列中尚未调制元素和其相关信息到随机序列调制器中进行调制;

9)随机序列调制器根据选择的调制算法,利用预取的随机数,调制随机序列模式控制器提供的m个数据为新的调制后的数据,并输出到输出接口;

10)外部查询随机序列模式控制器完成标志,确定数据是否调制完成,如果调制速度够快,该步骤可以省略;

11)判断原始等差数列数据是否已经调制完成,如果未调制完成,则需要用户从步骤7)开始执行,如果已调制完成,则继续下面步骤;

12)如果重新配置,则从步骤1)重新执行,否则从步骤3)执行。

附图说明

图1是本发明的随机序列产生装置示意图。

图2是本发明的随机序列产生装置外部接口实现示意图。

图3是本发明的随机序列产生装置控制方法流程图。

具体实施方式

为了更清楚地描述本发明的技术方案,以下结合附图和具体实施例对本发明的一种具体实现进行详细的说明。

如图1所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置(100)由随机序列模式控制器(101)、随机数发生器(102)、随机序列调制器(103)组成。

如图2所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置定义一组配置寄存器、控制寄存器、输出寄存器来作为整个装置的输入、输出及外部控制接口。

通过配置寄存器来作为随机系列模式配置信息和随机数序列速度配置信息的输入接口。

通过输出寄存器来作为随机序列输出接口,输出寄存器包含最少一个输出数据存储单元,比如可以设置输出寄存器包含4个输出单元,则可以实现单次输出1至4个随机序列元素。

通过控制寄存器来控制装置的单次启动及对于装置运行状态的查询。

随机序列模式控制器(101)包含信息存储和逻辑控制单元,通过控制接口接受外部控制,在每次启动后,做出合理的逻辑判断,控制随机序列调制器(103),并修改部分存储信息。

随机数发生器(102)通过配置寄存器确定合理的随机源,接受随机数序列调制器的请求,提供满足条件的随机数。

随机序列调制器(103)内部包含一组存储器,用来存储调制算法用到的随机数,随机数的预取由随机序列模式控制器(101)控制,只在每次序列开始调整前,预取一次。

随机序列调制器(103)包含一个或多个调制算法,调制算法可以是任何可以利用随机数将原有等差数列顺序打乱的数学算法,比如取余算法:对于公差为d=1的具有n=4个元素的等差数列0,1,2,3,取得随机数为r=2,调制公式bi=a0+(i+r)%n*d(bi为调制后的第i个元素,a0为原始数列的首元素,i=0,1,2,3),则调制后的序列变为2,3,0,1。

图3所示,一种用于保护安全算法密钥传输安全性的随机序列产生装置控制方法可遵循其流程实现。

以上所述仅为本发明所公开的一种用于保护安全算法密钥传输安全性的随机序列产生装置及其控制方法的优选实施方式,并非因此限制本发明的专利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的专利保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1