System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种芯片保护装置和方法,属于芯片检测。
技术介绍
1、对于芯片级别的防护,主要关注微探测攻击,即攻击者用显微针头探测芯片内部导线获取内部的重要敏感信息,在芯片产品设计之初就需要充分考虑芯片内部数据的安全性,最大程度的保护芯片不受攻击,并在当受到攻击时有相应的防护机制。
2、现阶段的对上述攻击的解决办法之一是顶层增加金属线检测,当芯片遭受微探测攻击时,顶层金属线将遭到破坏,防护检测系统将检测到破坏后发出相应级别的报警,通知芯片控制模块,对攻击做出错误记录,或执行关机复位,或销毁敏感信息等防护措施,未考虑误报率且硬件可实施性不明。
技术实现思路
1、本专利技术的目的在于克服现有技术中的不足,提供一种芯片保护装置和方法,从可实施性出发,降低检测芯片被破坏情况时输出防护措施的错误率。
2、为达到上述目的,本专利技术是采用下述技术方案实现的:
3、第一方面,本专利技术提供了一种芯片保护装置,包括控制模块、激励生成模块和检测模块;
4、所述激励生成模块用于根据所述控制模块产生的随机数生成激励信号,并将激励信号分别传输至检测模块和芯片防护层的多条防护线路;
5、所述检测模块用于根据控制模块配置的预设检测次数,多次接收所述多条防护线路输出的激励反馈信号,并将所述激励反馈信号与对应的所述激励信号进行比较,获取多次检测结果;
6、所述控制模块用于根据多次检测结果记录错误情况,或者根据多次检测结果记录错误情况并根据所述
7、结合第一方面的装置,可选的一种芯片保护装置,所述激励生成模块具体用于:将所述控制模块产生的随机数进行数据增强,获取增强数据;对所述增强数据进行数据有效性检测:若数据有效性检测合格,利用所述增强数据生成激励信号;否则,反馈随机数更新失败信号至所述控制模块;
8、或者,
9、所述激励生成模块具体用于:
10、将所述控制模块产生的随机数进行随机n位的异或运算生成新随机数,对所述新随机数进行全0检测:若所述新随机数为非全0的值,则利用该新随机数生成激励信号;若所述新随机数为全0的值,则反馈所述随机数更新失败信号至所述控制模块;其中,所述随机数为二进制数,正整数n不大于二进制随机数的长度;所述随机n位的异或运算包括:生成一个具有n个随机位置的掩码,其n个随机位置上的值为1,其他位置为0,将该掩码与所述随机数进行异或操作。
11、激励信号可为随机数经过变化处理的信号源,激励生成模块对接受到的随机数进行进一步数据处理,输出变化不可预测的激励信号,可以更准确的检测出是否受到攻击。异或的方法使得产生的数据更难预测,异或时的值,不能出现全0的数据,所以做了全0数据的检查,因为全0的数据做异或运算,数据不会变化,为0。
12、控制模块更新随机数值,可以定时更新或者实时更新,比如在本专利技术的芯片防护装置的检测开始后,当检测模块接收到激励生成模块传输的激励信号时,控制模块更新随机数并将该随机数传输至激励生成模块。
13、结合第一方面的装置,可选的一种芯片保护装置,所述检测模块具体用于:
14、在预设延时后将所述激励反馈信号与所述激励信号进行比较,所述预设延时为激励信号经过各条防护线路的最长传输时间;
15、所述预设延时由所述控制模块进行配置或更改配置,计时方式包括芯片工作时钟计数延时。
16、结合第一方面的装置或前述的第三种装置,可选的一种芯片保护装置,所述检测模块具体用于:
17、若所述激励反馈信号与所述激励信号相同,则检测结果为正确;若所述激励反馈信号与所述激励信号不同,则检测结果为错误,响应于检测结果为错误,判断错误程度,根据错误程度进行下一次检测或者停止检测,将错误情况反馈至所述控制模块;其中,错误情况包括错误内容和错误次数;
18、所述根据错误程度进行下一次检测或者停止检测包括:
19、判断当前检测次数是否达到预设检测次数:若当前检测次数未达到预设检测次数,则进行下一次检测;若当前检测次数达到预设检测次数,则停止检测,并判断当前累计错误次数是否达到预设的错误阈值;
20、或者,
21、所述根据错误程度进行下一次检测或者停止检测包括:
22、判断当前检测次数是否达到预设检测次数,若当前检测次数未达到预设检测次数,则判断当前累计错误次数是否达到预设的错误阈值,若当前累计错误次数未达到错误阈值进行下一次检测,若当前累计错误次数达到错误阈值或当前检测次数达到预设检测次数,则停止检测。
23、结合前述的第四种装置,可选的一种芯片保护装置,
24、所述判断当前检测次数是否达到预设检测次数包括:
25、得到一次检测结果,预设检测次数减1,判断所述预设检测次数是否为0,若为0判断达到预设检测次数,若不为0判断未达到预设检测次数;
26、所述判断当前累计错误次数是否达到预设的错误阈值包括:
27、错误次数初始值为0,检测结果错误,生成检测失败预警报信号作为错误内容,错误次数加1,若错误次数大于错误阈值判断检测失败,生成检测失败信号作为错误内容。
28、结合前述的第四种的装置,可选的一种芯片保护装置,所述控制模块被配置为芯片控制模块,或者所述控制模块被配置为与芯片控制模块通信连接;所述防护措施指令包括执行关机指令、复位指令、屏蔽错误指令和自毁芯片或销毁内部敏感信息指令;所述屏蔽错误指令包括:工作状态跳转失败屏蔽、随机数更新失败屏蔽、检测失败预警报屏蔽和检测失败屏蔽;
29、所述错误情况还包括发生检测结果错误的防护线路;
30、所述控制模块根据所述错误情况输出相应防护措施指令包括:
31、仅错误情况为:错误内容为检测失败时,所述控制模块输出自毁芯片或销毁内部敏感信息指令。
32、结合第一方面的装置,可选的一种芯片保护装置,还包括:
33、接口配置模块,用于接收控制模块的配置信息,输出所述配置信息至状态控制模块,以及接收所述状态控制模块的输出信息,并反馈状态控制模块的输出信息至所述控制模块;
34、状态控制模块,用于接收所述接口配置模块输出的配置信息,将对应配置信息分别输出至所述激励生成模块和所述检测模块,并接收所述检测模块的输出信息,将所述检测模块的输出信息反馈至接口配置模块。
35、结合第一方面的装置,可选的一种芯片保护装置,所述激励生成模块包含激励信号输出端,所述激励信号输出端用于输出所述激励生成模块生成的激励信号,所述检测模块包含激励信号接收端,所述激励信号接收端用于接收所述激励生成模块输出的激励信号,所述激励信号输出端与所述激励信号接收端在版图布线时相连;
36、所述防护线路并行排布并以s型布线的方式环回布满整个区域,所述线路长度超标或遇到芯片边界时,在芯片底层插入buffer。
...
【技术保护点】
1.一种芯片保护装置,其特征在于,包括控制模块、激励生成模块和检测模块;
2.根据权利要求1所述的芯片保护装置,其特征是,所述激励生成模块具体用于:
3.根据权利要求1所述的芯片保护装置,其特征是,所述检测模块具体用于:
4.根据权利要求1或3所述的芯片保护装置,其特征是,所述检测模块具体用于:
5.根据权利要求4所述的芯片保护装置,其特征是,
6.根据权利要求4所述的芯片保护装置,其特征是,所述控制模块被配置为芯片控制模块,或者所述控制模块被配置为与芯片控制模块通信连接;
7.根据权利要求1所述的芯片保护装置,其特征是,还包括:
8.根据权利要求1所述的芯片保护装置,其特征是,
9.根据权利要求4所述的芯片保护装置,其特征是,所述检测模块采用状态机控制来实现检测功能,所述检测模块还反馈模块工作状态信息至所述控制模块,所述模块工作状态信息用于表示状态机当前所处工作状态;所述错误内容包括工作状态跳转失败,所述状态机工作状态跳转失败时,所述检测模块输出工作状态跳转失败信号至控制模块。
>10.一种基于权利要求1-9任一项所述芯片保护装置的芯片保护方法,其特征是,包括:
...【技术特征摘要】
1.一种芯片保护装置,其特征在于,包括控制模块、激励生成模块和检测模块;
2.根据权利要求1所述的芯片保护装置,其特征是,所述激励生成模块具体用于:
3.根据权利要求1所述的芯片保护装置,其特征是,所述检测模块具体用于:
4.根据权利要求1或3所述的芯片保护装置,其特征是,所述检测模块具体用于:
5.根据权利要求4所述的芯片保护装置,其特征是,
6.根据权利要求4所述的芯片保护装置,其特征是,所述控制模块被配置为芯片控制模块,或者所述控制模块被配置为与芯片控制模块通信连接;
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。