物理攻击的检测方法及装置、处理器组件、芯片与流程

文档序号:31292650发布日期:2022-08-27 03:32阅读:165来源:国知局
物理攻击的检测方法及装置、处理器组件、芯片与流程

1.本发明涉及信息安全技术领域,尤其涉及一种物理攻击的检测方法及装置、处理器组件、芯片。


背景技术:

2.近年来,随着信息化、智能化进程的不断推进,信息安全在各个领域的应用越来越广泛,涉及金融、通信、能源、交通、医疗、国防等重要领域。芯片通常存储有重要信息,因此芯片通常面临被攻击的风险,物理攻击是常见的攻击类型之一。物理攻击通常是攻击者通过物理手段(例如借助相关的仪器仪表等)对芯片的物理特征(例如电压、时钟和能量辐射等)进行窥探和破坏(例如对芯片剖片、物理克隆等),从而达到获取内部程序或数据的目的。
3.因此,亟需一种能够快速识别出物理攻击的方案,从而保护芯片的信息安全。


技术实现要素:

4.本发明解决的技术问题是提供一种能够快速识别出物理攻击的方法。
5.为解决上述技术问题,本发明实施例提供一种物理攻击的检测方法,所述方法包括:获取多个处理器的输出信号,其中,所述多个处理器的输入信号是相同的,且所述多个处理器上运行有相同的计算机程序;判断所述多个处理器的输出信号是否一致,若否,则确定所述多个处理器中的至少一个受到物理攻击。
6.可选的,所述处理器的数量为2。
7.可选的,所述方法还包括:如果确定所述多个处理器中的至少一个受到物理攻击,则向所述多个处理器发送中断信号,所述中断信号用于指示受到物理攻击;和/或,如果确定所述多个处理器中的至少一个受到物理攻击,则将所述多个处理器的访问地址修改为预设地址。
8.可选的,所述方法还包括:根据所述多个处理器的输出信号,确定所述多个处理器中受到物理攻击的处理器。
9.可选的,所述输入信号包括:时钟信号和复位信号。
10.本发明实施例还提供一种物理攻击的检测装置,所述装置包括:获取模块,用于获取多个处理器的输出信号,其中,所述多个处理器的输入信号是相同的,且所述多个处理器上运行有相同的计算机程序;判断模块,用于判断所述多个处理器的输出信号是否一致,若否,则确定所述多个处理器中的至少一个受到物理攻击。
11.本发明实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的物理攻击的检测方法的步骤。
12.本发明实施例还提供一种计算设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述的物理攻击的检测方法的步骤。
13.本发明实施例还提供一种处理器组件,所述处理器组件包括:多个处理器,其中,所述多个处理器的输入信号是相同的,且所述多个处理器上运行有相同的计算机程序;包装器,用于执行上述的物理攻击的检测方法的步骤。
14.本发明实施例还提供一种芯片,所述芯片包括所述处理器组件。
15.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
16.本发明实施例的方案提供一种多处理器的架构,多个处理器的输入信号保持一致,且多个处理器上运行有相同的计算机程序。也即,多个处理器同步工作。在这种架构下,可以获取多个处理器的输出信号,当检测到多个处理器的输出信号不一致时,即可确定多个处理器中的至少一个受到物理攻击。相较于现有技术,本发明实施例通过增加处理器的数量,能够通过对输出信号的比较来判断是否存在物理攻击。一旦检测到多个处理器的输出信号不一致,即可确定至少一个处理器受到物理攻击。采用这样的方案无需复杂的算法,因此可以快速地识别出受到物理攻击的情况
17.进一步地,本发明实施例的方案中,如果确定多个处理器中的至少一个受到物理攻击,则向多个处理器发送中断信号,和/或,将多个处理器的访问地址修改为预设地址。采用这样的方案,能够调整处理器的运行状态,从而能够抵御物理攻击,防止芯片的数据被进一步窃取。
附图说明
18.图1是本发明实施例中一种芯片的架构示意图;
19.图2是本发明实施例中一种包装器的架构示意图;
20.图3是本发明实施例中一种物理攻击的检测方法的流程示意图;
21.图4是本发明实例中一种物理攻击的检测装置的结构示意图。
具体实施方式
22.如背景技术所述,亟需一种能够快速识别出物理攻击的方法。
23.目前,基于芯片被攻击后是否被破坏,物理攻击可分为三种类型:侵入式攻击、半侵入式攻击和非侵入式攻击。其中,侵入式攻击通常采用微探测技术直接访问芯片内部,半侵入式攻击通常也需要打开芯片的封装,但无需与芯片内部电路接触,非侵入式攻击通常需要测量或干扰芯片的电压、电流、时钟和复位信号等。
24.在实际场景中,侵入式攻击和半侵入式攻击需要在处理器所在的位置来打开芯片的封装层,以对处理器进行攻击,以使得处理器处于异常的运行状态,从而窃取数据。在非侵入式攻击中,通常需要先找到处理器的时钟信号线、复位信号线,然后对时钟信号和复位信号等进行攻击。因此,现有的物理攻击的方式通常针对芯片上的处理器进行。
25.为此,本发明实施例提供一种物理攻击的检测方法,本发明实施例的方案提供一种多处理器的架构,多个处理器的输入信号保持一致,且多个处理器上运行有相同的计算机程序。也即,多个处理器同步工作。在这种架构下,可以获取多个处理器的输出信号,当检测到多个处理器的输出信号不一致时,即可确定多个处理器中的至少一个受到物理攻击。相较于现有技术,本发明实施例通过增加处理器的数量,能够通过对输出信号的比较来判断是否存在物理攻击。一旦检测到多个处理器的输出信号不一致,即可确定至少一个处理
器受到物理攻击。采用这样的方案无需复杂的算法,因此可以快速地识别出受到物理攻击的情况。
26.需要说明的是,本发明实施例的方案中,所述处理器可以是现有的各种适当的具有数据接收和数据处理能力的装置,例如,所述处理器可以是中央处理器(central processing unit,cpu),也可以是图形处理器(graphics processing unit,gpu),还可以是数字信号处理(digital signal processing,dsp)单元等,本发明实施例并不进行限制。
27.还需要说明的是,本发明实施例的方案中,所述多个处理器是指多个类型相同且用途相同的处理器。
28.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
29.参照图1,图1是本发明实施例中一种芯片的架构示意图。如图1所示,所述芯片10可以包括:处理器组件100、总线200、第一存储器300、第二存储器400和外部设备500。
30.在一个具体实施例中,所述芯片10可以是系统级芯片(system on chip,soc),所述系统级芯片是具有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。在其他实施例中,芯片10还可以是其他类型的芯片,本实施例对此并不进行限制。
31.现有技术中,芯片上通常集成有一个或多个处理器,各个处理器用于执行不同的数据处理任务。本发明实施例的方案是将现有芯片上的每个处理器拓展为多个处理器,且多个处理器同步工作。
32.换言之,现有技术中芯片上每个处理器对应的处理器组件通常仅包括:单个处理器及其包装器。而本发明实施例的方案中,每个处理器对应的处理器组件100包括:多个处理器和包装器。其中,处理器组件100中的多个处理器为相同的处理器,且多个处理器同步工作。
33.需要说明的是,本发明实施例对于处理器组件100中处理器的数量并不进行限制。如图1所示,在一个具体的例子中,处理器组件100中处理器的数量可以为2个,也即,多个处理器可以包括:第一处理器和第二处理器。
34.进一步地,处理器组件100可以包括包装器(wrapper)。具体而言,多个处理器集成于包装器的内部,以构成处理器组件100。在一个具体的例子中,处理器组件100中的处理器为cpu,包装器为cpu wrapper。
35.在具体实施中,包装器与总线200连接,所述多个处理器可以通过包装器与总线进行数据交互。
36.进一步地,包装器通过总线200与第一存储器300、第二存储器400连接。其中,第一存储器300和第二存储器400中的一个可以是随机存取存储器(random access memory,ram),另一个可以是只读存储器(read only memory,rom)。在其他实施例中,处理器组件100还可以包括其他类型的存储器,本实施例对此并不进行限制。
37.进一步地,包装器还可以通过总线200和外部设备(peripheral device)500连接。其中,所述外部设备500可以是芯片10上除处理器组件100、第一存储器300和第二存储器400以外的其他各种与处理器进行数据交互的装置,例如,可以是芯片10上除处理器组件100以外的其他处理器组件。此外,外部设备500也可以是芯片10外部的装置,本实施例对于外部设备500并不进行限制。
38.参照图2,图2是本发明实施例中一种包装器的架构示意图。下面结合图1和图2对本发明实施例中处理器组件中多个处理器同步工作进行非限制性的说明和描述。
39.如图所示,处理器组件100中的包装器向多个处理器提供相同的输入信号。
40.在具体实施中,芯片10上还设置有时钟电路(图未示),所述时钟电路可以用于产生时钟信号,包装器与所述时钟电路电连接,并将时钟信号提供至多个处理器。
41.具体而言,多个处理器接收到的时钟信号是同源的时钟信号,换言之,多个处理器的时钟信号是相同的。采用这样的方案,能够有效抵御针对时钟信号的攻击。
42.更具体地,采用本发明提供的检测方法,对于任意一个处理器的时钟信号的攻击均能被检测到,然而同时攻击各个处理器的时钟信号在实现上是困难的。因此,采用本发明提供的方案,可以有效抵御外部对时钟信号的攻击。
43.进一步地,芯片10上还设置有复位电路(图未示),所述复位电路可以用于产生复位信号。包装器与复位电路电连接,以将复位信号提供至多个处理器。
44.具体而言,多个处理器接收到的复位信号是同源的复位信号。换言之,多个处理器的复位信号是相同的。采用这样的方案,可以有效抵御外部对复位信号的攻击。
45.更具体地,采用本发明提供的检测方法,对于任意一个处理器的复位信号的攻击均能被检测到,然而同时攻击各个处理器的复位信号在实现上是困难的。因此,采用本发明提供的方案,可以有效抵御外部对复位信号的攻击。
46.进一步地,多个处理器的输入信号还可以包括:控制信号。其中,输入多个处理器的控制信号是相同的。在具体实施中,所述控制信号可以来源于芯片10上除处理器组件100以外的其他处理器组件,也可以是来源于芯片10外部,本实施例对此并不进行限制。
47.进一步地,多个处理器上还运行有相同的计算机程序。更具体地,多个处理器的启动(boot)地址是相同的。
48.需要说明的是,本发明实施例的方案中,处理器组件100中多个处理器之间互相是独立的,也即,多个处理器之间并不存在数据的交互,各自独立计算。
49.由此,由于处理器组件100中多个处理器的输入信号是相同的,且多个处理器上运行有相同的计算机程序,因此,多个处理器同步工作。进一步地,在处理器组件100中多个处理器均未受到物理攻击的情况下,多个处理器的输出信号应当是相同的,此时,包装器可以向总线200输出其中任意一个处理器的输出信号。如果多个处理器的输出信号存在不一致的情况,此时即可确定该处理器组件100中存在一个或多个处理器受到物理攻击。
50.参照图3,图3是本发明实施例中一种物理攻击的检测方法的流程示意图。图3示出的方法可以是由现有的各种具有数据传输和数据处理能力的装置执行。
51.在一个具体的例子中,可以由图1中包装器来执行。采用这样的方案,可以充分利用包装器的算力,无需在芯片上额外增加专门的装置执行图3示出的方法。在其他实施例中,也可以在芯片上设置检测装置以执行图3示出的方案,本发明实施例对此并不进行限制。
52.图3示出的方法可以包括以下步骤:
53.步骤s31:获取多个处理器的输出信号,其中,所述多个处理器的输入信号是相同的,且所述多个处理器上运行有相同的计算机程序;
54.步骤s32:判断所述多个处理器的输出信号是否一致,若否,则确定所述多个处理
器中的至少一个受到物理攻击。
55.可以理解的是,在具体实施中,所述方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现。
56.在步骤s31的具体实施中,可以从多个处理器获取输出信号,其中,输出信号可以包括:状态信号和读写信号。
57.具体而言,状态信号可以用于指示处理器的运行状态。更具体地,所述运行状态可以为以下任意一项:被挂起、被锁定、空闲和正常运行等。
58.进一步地,读写信号可以包括访问地址和待读写的数据。也即,读写信号用于将待写的数据写入访问地址,或者,从访问地址读取待读的数据。
59.在步骤s32的具体实施中,可以判断多个处理器的输出信号是否一致。
60.如图2所示,可以判断第一处理器的状态信号和第二处理器的状态信号是否一致,以及判断第一处理器的读写信号和第二处理器的读写信号是否一致。
61.继续参照图3,如果多个处理器的输出信号不一致,则可以确定多个处理器中的至少一个受到物理攻击。
62.进一步地,确定多个处理器中的至少一个受到物理攻击之后,可以向多个处理器发送中断信号,以向各个处理器指示多个处理器中的至少一个受到物理攻击。相应的,每个处理器可以按照预先配置的方式对中断信号进行响应。其中,对于中断信号的具体响应方式可以根据实际应用场景进行设置。
63.进一步地,还可以将多个处理器的访问地址修改为预设地址。其中,预设地址可以是预先设置的无效地址。更具体的,所述无效地址是指可供外部访问或者无保密需求的数据存放的地址。采用这样的方案,可以实现对物理攻击的抵御,防止外部窃取数据。
64.在本发明的一个非限制性的例子中,还可以根据多个处理器的输出信号,确定多个处理器中受到物理攻击的处理器。
65.具体而言,所述多个处理器的数量可以大于2个,可以比较每两个处理器的输出信号,如果存在任意一个处理器的输出信号和至少两个其他处理器的输出信号存在不一致的情况,则可以将该任意一个处理器确定为异常处理器。其中,上述的其他处理器是指多个处理器中除上述的任意一个处理器以外的处理器。
66.例如,多个处理器的数量为3个,多个处理器包括:a处理器、b处理器和c处理器,若c处理器的输出信号和a处理器的输出信号不一致,且c处理器的输出信号和b处理器的输出信号不一致,则可以将c处理器确定为异常处理器。
67.需要说明的是,通过上述方法确定的异常处理器为受到物理攻击的概率较大的处理器。在实际应用场景中,由于同时对两个或两个以上的处理器进行物理攻击的难度较高,为此,通过上述方法确定的异常处理器也可以视为实际受到攻击的处理器。
68.进一步地,可以向用户绑定的终端发送提醒信息,所述提醒信息可以用于指示处理器受到物理攻击,还可以用于指示通过上述方案确定的异常处理器,以为用户对物理攻击进行排查时提供参考,有利于提高用户确定实际受到物理攻击的处理器的效率。
69.进一步地,可以将异常处理器的访问地址修改为所述预设地址,和/或,向异常处理器发送中断信号。
dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
82.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
83.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
84.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
85.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
86.本技术实施例中出现的“多个”是指两个或两个以上。
87.本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次
序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
88.虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1