一种针对密码芯片电磁脉冲故障分析的防御装置的制作方法

文档序号:11147329阅读:1004来源:国知局
一种针对密码芯片电磁脉冲故障分析的防御装置的制造方法

本发明涉及信息安全技术领域,尤其涉及一种针对密码芯片电磁脉冲故障分析的防御装置。



背景技术:

目前,各类密码算法已经广泛应用在生产生活的各个领域,包括FPGA,ASIC在内的多种类型密码芯片也得到了广泛应用。而旁路攻击(Side Channel Attack,SCA)是一种通过观测设备工作过程中泄露的信息来推断设备内部状态的攻击方法,对于密码芯片来说,旁路攻击主要用于提取密钥等密码参数,从而使密码芯片失去保密功能。一般情况下,一个运行密码算法的硬件设备均能正确地执行各种密码运算,但在有干扰情况下,密码运算模块可能会出现故障导致运算错误,利用这些故障行为或错误信息来恢复密钥等秘密参数的方法称为密码故障分析。密码故障分析是旁路攻击方法的一种。电磁脉冲故障分析是一种简单廉价的攻击方式,通过外部电磁脉冲注入到芯片内部的方式来干扰密码芯片工作,使之执行出错,不需要侵入芯片,是一种具有较高可行性的攻击方式。电磁脉冲有多种不同的表现形式,诸如电磁辐射(Electromagnetic Emission)和激光(Laser)。值得一提的是,激光作为一种特殊的电磁脉冲,通过镭射高能离子束来干扰电路的电特性,已经取得了较好的分析攻击效果。

到目前为止,针对密码芯片的电磁脉冲故障分析研究已经取得了一些成果,使得传统意义上认为安全的密码算法在实现上变得不再安全。为了防御针对密码芯片的电磁脉冲故障分析,一些方法已经提出。例如为了确保存储数据的完整性,在密码实现过程中,可以增加额外的循环冗余校验(CRC)。校验连同数据一起存储,当数据从存储器中加载时,可以检测是否被篡改,但是CRC方法不适合同编码数据进行高效计算,在随后的计算中,必须采取其它方法来保障数据安全。模块冗余也是一种直接的防御方法。模块冗余装置在空间上可以并行实现,将算法执行多次并比较结果是否一致,这种方法导致硬件开销至少增加一倍;在时间上可以重复计算,主要通过增加计算执行次数来实现,这种方法导致时间至少增加一倍。可见模块冗余的防御成本非常高。随机延时方法在密码执行过程钟插入随机延时,并不是直接阻止电磁脉冲故障分析,而是降低攻击者的故障注入精度,使得只使用某种特定故障的攻击变得更加困难。而掩码的方法通过对密码中间数据和运算进行掩码,能够在一定程度上阻止攻击者通过探测设备获取敏感数据,但是Boscher等学者指出掩码并不足以防御故障分析。可以看到,目前针对密码芯片的电磁脉冲故障分析并没有实用且完善的防御装置,特别是低成本的防御装置还有待研究。



技术实现要素:

本发明的目的在于针对现有的密码芯片在防御电磁脉冲故障分析上的不足,提出了一种针对密码芯片电磁故障分析的防御装置,这种装置能在密码芯片经历电磁故障分析时能给出报警信号,该信号可以通知密码电路何时遭受了攻击,从而使密码芯片及时采取相应的对策,例如不再输出和密文相关的信息,从而防御此类型的攻击。

本发明的目的是通过以下技术方案来实现的:一种针对密码芯片电磁脉冲故障分析的防御装置,包括依次相连的环形振荡器、调制器以及数字相位检测器。

进一步的,所述环形振荡器由奇数个反相器构成闭环。

进一步的,所述调制器将环形振荡器输出的信号进行分频调制。

进一步的,所述调制器由D触发器组成。

进一步的,所述数字相位检测器主要由两个D触发器和两个异或门组成,用于判断输入信号的相位差,从而输出报警信号alarm。

本发明有如下的有益效果:

1、本发明涉及的电路结构完全由数字电路构成,可以很方便的在现场可编程门阵列(FPGA)和专用集成电路(ASIC)中实现,不需要特别的工艺条件。

2、本发明电路结构简单,延迟低,可以及时检测电磁脉冲故障分析时产生的干扰脉冲,快速给出警告信号。

3、本发明在故障干扰结束后,可以自主恢复正常,不需要外部复位。

4、本发明输出的报警信号是数字信号,因此在同一个密码芯片中,本发明可以多次组合使用,输出信号通过简单的数字组合电路就能处理,成本较低。

5、本发明的附加效果是能改变密码芯片的功耗特征,一定程度上防御功耗故障分析攻击。

附图说明

图1是本发明实施例的电路结构示意图;

图2是本发明在防御电磁脉冲故障时的典型波形示意图;

图中,环形振荡器1、调制器2、数字相位检测器3、预警状态4,报警状态5,自恢复预警状态6。

具体实施方式

下面结合附图对本发明做进一步的说明。

图1是本发明的电路结构示意图,该电路结构包括依次相连的环形振荡器1、调制器2以及数字相位检测器3。环形振荡器1通过奇数个反相器构成闭环,来产生频率为f的信号振荡信号ck,图中使用3个反相器构成,只是一种实施方式示意,可以根据实际需要的信号频率调整反相器个数。该振荡信号ck输入到调制器2,它通过D触发器分频调制得到频率为f/2的分频信号data。振荡信号ck和分频信号data输入到数字相位检测器3,该模块主要由两个D触发器和两个异或门组成,用于判断输入信号的相位差,从而输出报警信号alarm。具体来说,两个D触发器级联构成信号链,由振荡信号ck上升沿触发,其输出分别记为B和A(B也是第二级触发器的输入)。2个异或门输入来自信号data、A和B,最终实现如下逻辑关系:

考虑到信号在芯片中实际传输中会有延时,不失一般性,可以认为信号data相比ck有一个固定的延时,图中标记为Delay。

图2给出了一次具体的防御电磁故障时的典型波形示意图,该电路结构一次典型的工作流程分为以下3个阶段:

第一步,电路在预警状态4。信号data和ck保持固定的频率不发生变化。电路节点B,A,X,Y信号保持周期性稳定状态,信号alarm为固定低电平。

第二步,电路受到外部电磁脉冲等故障分析手段干扰,进入报警状态5。这些干扰会导致环形振荡器模块输出受到干扰,表现为一些干扰脉冲。此时信号data和ck的固有关系被打破,电路节点B,A,X,Y信号也会产生波动,最后表现为alarm信号出现一个或多个高电平脉冲。首个alarm高电平脉冲会被后续电路锁存,标记为芯片受到故障分析攻击,进而采取进一步措施。

第三步,电路自恢复到预警状态6。待攻击结束后,各信号自动会恢复到第一步的状态,alarm信号也会恢复到低电平状态。电路继续正常工作。即这种电路结构在故障干扰结束后,可以自主恢复正常,不需要外部复位。

为了在有限开销下,使防御的效果最佳化,环形振荡器模块将放置在密码电路附近,并且可以布置多个这个这样的电路结构。若干个输出的报警信号也可以通过组合逻辑来生成满足实际使用需要的特定逻辑。

应当理解的是,上述实施例为了便于普通技术人员理解,描述较为详细且具体,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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