发明内容
为了解决上述技术问题,本发明提供了一种芯片顶层覆盖完整性保护方法及装置,能够准确地判断芯片顶层覆盖的金属线是否遭到短接或划断攻击。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种芯片顶层覆盖完整性保护方法,应用于物理层保护电路,所述物理层保护电路被分为n组,每组m条金属线,所述n、m均为自然数,包括:
产生一组随机二进制数;
将所述随机二进制数输入到每组m条金属线的输入端;
分别在攻击检测周期和检测周期检测所述m条金属线的输出信号,所述检测周期为预先估计的信号在金属线中传输的时间,所述攻击检测周期为预先估计的当金属线被短接时信号在金属线中传输的时间;
如果在攻击检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数相同,或者,在检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,所述方法之后还包括:
按照预设变化规律对所述随机二进制数进行变化,并将变化后的随机二进制数输入到所述m条金属线的输入端;
分别在下一次所述攻击检测周期和下一次所述检测周期检测所述m条金属线的输出信号;
如果在下一次攻击检测周期检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数相同,或者,在下一次检测周期检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,所述预设变化规律为:对所述随机二进制数的每一位全部取反。
进一步地,所述如果在攻击检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数相同,或者,在检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到短接或划断攻击,具体包括:
如果在所述攻击检测周期和所述检测周期检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数相同,则判断芯片遭到短接攻击;如果在所述攻击检测周期和所述检测周期检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到划断攻击。
本发明实施例还提供了一种芯片顶层覆盖完整性保护装置,应用于物理层保护电路,所述物理层保护电路被分为n组,每组m条金属线,所述n、m均为自然数,包括随机数产生单元、控制单元与检测单元,其中:
随机数产生单元,用于产生一组随机二进制数,并将所产生的随机二进制数输出至控制单元;
控制单元,用于将所述随机二进制数输入到每组的m条金属线的输入端;并接收检测单元在攻击检测周期和检测周期检测出的所述m条金属线的输出信号,如果在攻击检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数相同,或者,在检测周期检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数不同,判断芯片遭到攻击;
所述检测单元,用于分别在攻击检测周期和检测周期检测所述m条金属线的输出信号,所述检测周期为信号在金属线中传输的时间,所述攻击检测周期为当金属线被短接时信号在金属线中传输的时间,将在攻击检测周期和检测周期检测出的所述m条金属线的输出信号输出至控制单元。
进一步地,所述控制单元还用于,按照预设变化规律对所述随机二进制数进行变化,并将变化后的随机二进制数输入到所述m条金属线的输入端;
所述检测单元还用于,分别在下一次攻击检测周期和第二次检测周期检测所述m条金属线的输出信号;如果在下一次攻击检测周期检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数相同,或者,在下一次检测周期检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,所述预设变化规律为:对所述随机二进制数的每一位全部取反。
进一步地,所述检测单元的判断芯片遭到攻击,包括:
如果在所述攻击检测周期和所述检测周期检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数相同,则判断芯片遭到短接攻击;如果在所述攻击检测周期和所述检测周期检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到划断攻击。
本发明的技术方案,具有如下有益效果:
本发明提供的芯片顶层覆盖完整性保护方法及装置,通过在每个检测周期内对芯片顶层覆盖的金属线的输入输出信号进行两次对比检测,准确地判断出所述金属线是否遭到短接或划断攻击,在不增加芯片面积、不增加设计复杂度的条件下,增大了芯片顶层金属覆盖的防攻击力度,增大了攻击芯片的难度。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图3所示,根据本发明的一种芯片顶层覆盖完整性保护方法,应用于物理层保护电路,所述物理层保护电路被分为n组,每组m条金属线,所述n、m均为自然数,所述方法包括如下步骤:
步骤301:产生一组随机二进制数;
步骤302:将所述随机二进制数输入到每组的m条金属线的输入端;
步骤303:分别在攻击检测周期TF和检测周期T检测所述m条金属线的输出信号,所述检测周期T为信号在金属线中传输的时间;所述攻击检测周期TF为当金属线被短接时信号在金属线中传输的时间;
步骤304:如果在攻击检测周期TF检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数相同,或者,在检测周期T检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,步骤304具体包括:
如果在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数相同,则判断芯片遭到短接攻击;如果在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到划断攻击。
进一步地,所述方法之后还包括:
按照预设变化规律对所述随机二进制数进行变化,并将变化后的随机二进制数输入到所述m条金属线的输入端;
分别在下一次攻击检测周期TF和第二次检测周期T检测所述m条金属线的输出信号;
如果在下一次攻击检测周期TF检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数相同,或者,在下一次检测周期T检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,如果在下一次攻击检测周期TF和下一次检测周期T检测出的所述m条金属线的输出信号均与输入到所述输入的变化后的随机二进制数相同,则判断芯片遭到短接攻击;如果在下一次攻击检测周期TF和下一次检测周期T检测出的所述m条金属线的输出信号均与所述输入的变化后的随机二进制数不同,则判断芯片遭到划断攻击。
进一步地,所述预设变化规律为:对所述随机二进制数的每一位全部取反。
进一步地,所述随机二进制数至少包括m位。
进一步地,对应于所述n组金属线的m位随机二进制数相同或者不同。
进一步地,当判断芯片遭到攻击时,产生报警信号。
如图4所示,根据本发明的一种芯片顶层覆盖完整性保护装置,应用于物理层保护电路,所述物理层保护电路被分为n组,每组m条金属线,所述n、m均为自然数,所述装置包括随机数产生单元401、控制单元402与检测单元403,其中:
随机数产生单元401,用于产生一组随机二进制数,并将所产生的随机二进制数输出至控制单元402;
控制单元402,用于将所述随机二进制数输入到每组的m条金属线的输入端;并接收检测单元403在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号,如果在攻击检测周期TF检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数相同,或者,在检测周期T检测出的所述m条金属线的输出信号与输入到所述m条金属线的随机二进制数不同,判断芯片遭到攻击;
所述检测单元403,用于分别在攻击检测周期TF和检测周期T检测所述m条金属线的输出信号,所述检测周期T为信号在金属线中传输的时间;所述攻击检测周期TF为当金属线被短接时信号在金属线中传输的时间,将在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号输出至控制单元402。
进一步地,所述检测单元403的判断芯片遭到攻击,具体包括:
如果在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数相同,则判断芯片遭到短接攻击;如果在攻击检测周期TF和检测周期T检测出的所述m条金属线的输出信号均与输入到所述m条金属线的随机二进制数不同,则判断芯片遭到划断攻击。
进一步地,所述控制单元402还用于,按照预设变化规律对所述随机二进制数进行变化,并将变化后的随机二进制数输入到所述m条金属线的输入端;
所述检测单元403还用于,分别在下一次攻击检测周期TF和第二次检测周期T检测所述m条金属线的输出信号;如果在下一次攻击检测周期TF检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数相同,或者,在下一次检测周期T检测出的所述m条金属线的输出信号与所述输入的变化后的随机二进制数不同,则判断芯片遭到短接或划断攻击。
进一步地,如果在下一次攻击检测周期TF和下一次检测周期T检测出的所述m条金属线的输出信号均与输入到所述输入的变化后的随机二进制数相同,则所述检测单元403判断芯片遭到短接攻击;如果在下一次攻击检测周期TF和下一次检测周期T检测出的所述m条金属线的输出信号均与所述输入的变化后的随机二进制数不同,则所述检测单元403判断芯片遭到划断攻击。
进一步地,所述预设变化规律为:对所述随机二进制数的每一位全部取反。
进一步地,所述随机二进制数至少包括m位。
进一步地,对应于所述n组金属线的m位随机二进制数相同或者不同。
进一步地,当判断芯片遭到攻击时,所述控制单元402产生报警信号。
本发明实施例还提供了几个优选的实施例对本发明进行进一步解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。下面的各个实施例可以独立存在,且不同实施例中的技术特点可以组合在一个实施例中联合使用。
根据本发明的芯片顶层覆盖完整性保护方法,包括如下步骤:
首先,根据芯片顶层金属布线情况,得出信号在金属线中完整传输所需的时间,该时间即为检测周期T;将金属线按照可能受到FIB攻击的方式进行布局布线,仿真得到在此情况下信号在金属线中传输所需的时间,该时间作为攻击的检测时间TF(TF<T)。
然后,在每两个检测周期(2T)内对输入输出信号进行三次对比检测,第一次检测R1在将随机二进制数输入到金属线的输入端后的第一个检测周期T时进行,第二次检测R2在T+TF时间时进行;第三次检测R3在第二个检测周期2T时进行。
最后,进行三次检测结果的判定,若第一次检测R1对比得到的输入输出信号不同,则判定顶层金属线被划断,产生报警;若第一次检测R1和第二次检测R2对比得到的输入输出信号均相同,则判定某条金属线被短接,产生报警;若第一次检测R1和第三次检测R3对比得到的输入输出信号相同,第二次检测R2对比得到的输入输出信号不同,则判定金属线正确连接,未被划断,亦未被短接,不产生报警。
本发明还公开了一种芯片顶层覆盖完整性保护方法,应用于物理层保护电路,所述物理层保护电路被分为n组,每组m条金属线,每两个检测周期进行如下操作:
步骤501:将随机二进制序列输入到每组的m条金属线的输入端,并将此时作为0时刻;
步骤502:在计时到一个检测周期时进行第一次检测R1,检测M条金属线的输出是否与输入的随机二进制序列相同,若相同则令R1=1,若不同则令R1=0(R2、R3数值与R1定义一样);
步骤503:将上述随机二进制序列全部取反,输入到每组的M条金属线的输入端;此处亦可选用另一组随机二进制序列,或者,将步骤501中的随机二进制序列按照预设的变化规律进行变化,此处只是以将步骤501中的随机二进制序列全部取反为例;
步骤504:在第二个检测周期之前T+TF时刻进行第二次检测R2,检测M条金属线的输出信号是否与输入的随机二进制全部取反序列相同,若相同则令R2=1,若不同则令R2=0;
步骤505:在第二个检测周期2T时进行第三次检测R3,检测M条金属线的输出信号是否与输入的随机二进制全部取反序列相同,若相同则令R3=1,若不同则令R3=0;
步骤506:对三次检测结果进行判定:若R1=0,则金属线被划断,遭受到了攻击;若R1=1,R2=1,则金属线未被划断,但已经被短接,同样遭受到了攻击;若R1=1,R2=0,R3=1,则金属线未被划断,也未被短接,金属线连接正常,没有遭受攻击。
本发明提出的芯片顶层覆盖完整性保护方法,通过在每两个检测周期内对输入输出信号进行三次对比检测,通过三次检测后的数据比对,可以准确的判断出覆盖金属线是否被短接、划断,并通过报警形式反馈。本检测方案通过在短于输入信号在金属线中完整传输时间的时刻进行完整性检测,测试在短于检测周期的时间内测试数据从输入端到输出端是否完成传输,由此确认顶层覆盖金属线是否受到FIB攻击而被短接。与现有技术相比,本发明在不增加芯片面积、不增加设计复杂度的条件下,增大了顶层金属覆盖的防攻击力度,增大了攻击芯片的难度。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。