一种调试接口的解锁电路及解锁方法与流程

文档序号:24750441发布日期:2021-04-20 23:34阅读:88来源:国知局
一种调试接口的解锁电路及解锁方法与流程

1.本发明涉及芯片安全技术领域,尤其涉及一种调试接口的解锁电路及解锁方法。


背景技术:

2.由于芯片中通常存储着各种机密数据,为了能够对芯片中所存储的机密数据进行保护,往往设置有加密算法对机密数据进行保护,防止被黑客窃取。然而,为了便于开发人员对芯片系统进行调试,芯片中通常设置有调试接口,而通过调试接口可以获取芯片中的大部分的机密数据。因此,针对调试接口的保护是芯片安全保护的重要组成部分。
3.现有技术中,当需要对调试接口进行解锁时,可以执行解锁程序所对应的多个验证步骤。当全部验证步骤均验证通过时,则跳转至解锁步骤,从而控制调试接口进行解锁。但是这种验证方式会被电压攻击所破解,即通过快速改变芯片上的输入电压,产生电压毛刺,从而使芯片内部的晶体管进入错误状态,那么解锁程序所对应的部分验证步骤可能被跳过,并直接进入最后的解锁步骤,从而完成调试接口的解锁。
4.可见,现有技术中调试接口的解锁方法存在被电压攻击破解的风险。


技术实现要素:

5.本发明实施例提供了一种调试接口的解锁电路及解锁方法,该电路和方法能够解决现有技术中的针对调试接口的解锁方法容易被电压攻击所破解的问题,从而提高了调试接口的可靠性。
6.第一方面,本发明实施例提供了一种调试接口的解锁电路,该电路应用于芯片,所述电路包括:
7.第一验证模块,用于执行针对所述调试接口的解锁程序所对应的至少两个验证步骤,并在每个验证步骤验证成功时向预设存储空间写入第一密钥;
8.第二验证模块,用于从所述预设存储空间读取至少两个第一密钥,并将所述至少两个第一密钥与所述第二验证模块自身预先存储的至少两个第二密钥进行一一匹配;若匹配结果均为相同,则控制所述调试接口解锁。
9.本发明实施例中,第一验证模块中执行的针对调试接口的解锁程序所对应的验证步骤可以认为至少包括两个,那么可以在每个验证步骤验证成功时,向预设存储空间写入第一密钥。该第一密钥可以认为是预先约定的固定值。第二验证模块中可以从预设存储空间中获取至少两个第一密钥,并将该至少两个第一密钥与自身存储的至少两个第二密钥进行一一匹配。第二密钥可以认为是预先约定的且与第一密钥相同的固定值。如果匹配结果均相同,则可以认为在调试接口解锁过程中芯片未受到电压攻击,即未因电压攻击而跳过任何验证步骤,此时第二验证模块可以控制调试接口进行解锁。该电路将每个验证步骤验证成功时所写入的第一密钥与对应的第二密钥进行匹配,当全部验证步骤均验证成功的情况下,调试接口才会进行解锁,从而避免了因电压攻击所导致的调试接口误解锁问题,提高了调试接口的可靠性。
10.可选的,所述第二验证模块还用于:当任一第一密钥与对应的第二密钥不匹配时,则控制所述调试接口不响应任何解锁操作。
11.本发明实施例中,若存在任一第一密钥与对应的第二密钥不匹配,则可以认为在调试接口解锁过程中部分验证步骤被跳过,即调试接口受到了电压攻击,此时第二验证模块可以控制调试接口不响应任何解锁操作,从而保证芯片内部的数据安全。
12.可选的,所述第二验证模块包括:
13.至少两个匹配组件,所述至少两个匹配组件中每个匹配组件用于获取对应的验证步骤所写入的第一密钥,以及与自身存储的第二密钥进行匹配,并输出与匹配结果相对应的电平信号;
14.与门,分别与所述至少两个匹配组件连接,用于接收每个匹配组件输出的电平信号,并对接收的至少两个电平信号进行与操作;当与操作的结果为高电平,则确定每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果均为相同。
15.本发明实施例中,可以根据验证步骤的数量来设置匹配组件的数量,即两者数量相等,从而可以通过匹配组件将每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果转换为电平信号,然后通过与门将多个匹配组件所输出的电平信号进行与操作。只要与操作的结果为高电平,就可以表明每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果均为相同。即通过简单的电路结构可以判断出在对调试接口进行解锁的过程中芯片未受到电压攻击。
16.可选的,所述与门还用于:当与操作的结果为低电平时,则确定任一验证步骤所写入的第一密钥与对应的第二密钥的匹配结果存在不相同。
17.本发明实施例中,只要与操作的结果为低电平,则可以表明存在验证步骤所写入的第一密钥与对应的第二密钥的匹配结果不相同。也就是说,部分验证步骤因受到电压攻击而被跳过。即通过简单的电路结构可以判断出在对调试接口进行解锁的过程中芯片已受到电压攻击。
18.可选的,每个匹配组件包括:
19.非易失性存储器,用于存储所述第二密钥;
20.比较器,用于分别获取所述第一密钥与所述第二密钥,并对所述第一密钥与所述第二密钥进行比较,其中,当所述第一密钥与第二密钥相同时,所述比较器输出高电平信号;当所述第一密钥与第二密钥不相同时,所述比较器输出低电平信号。
21.本发明实施例中,非易失性存储器可以实现第二密钥的长久保存,即在芯片掉电情况下,第二密钥仍然存在。那么比较器可以分别获取每个验证步骤所写入的第一密钥以及预先保存的第二密钥,并对第一密钥与第二密钥进行比较,并将第一密钥与第二密钥的比较结果转换为对应的电平信号,从而便于根据第一密钥与第二密钥的比较结果对调试接口是否解锁进行控制。
22.第二方面,本发明实施例提供了一种芯片,包括:本发明第一方面实施例提供的电路。
23.第三方面,本发明实施例提供了一种调试接口的解锁方法,应用于包括调试接口的芯片中,所述方法包括:
24.执行针对所述调试接口的解锁程序所对应的至少两个验证步骤,并在每个验证步
骤验证成功时向预设存储空间写入第一密钥;
25.从所述预设存储空间读取至少两个第一密钥,并将所述至少两个第一密钥与预先存储的至少两个第二密钥进行一一匹配;
26.若匹配结果均为相同,则控制所述调试接口解锁。
27.可选的,还包括:
28.若确定任一第一密钥与对应的第二密钥不匹配时,则控制所述调试接口不响应任何解锁操作。
29.可选的,从所述预设存储空间读取至少两个第一密钥,并将所述至少两个第一密钥与预先存储的至少两个第二密钥进行一一匹配包括:
30.获取每个验证步骤所写入的第一密钥,以及与存储的第二密钥进行匹配,并输出与匹配结果相对应的电平信号;
31.针对至少两个电平信号进行与操作;
32.当与操作的结果为高电平时,则确定每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果均为相同。
33.可选的,还包括:
34.若与操作的结果为低电平,则确定任一验证步骤所写入的第一密钥与对应的第二密钥的匹配结果存在不相同。
35.可选的,获取每个验证步骤所写入的第一密钥,以及与存储的第二密钥进行匹配,并输出与匹配结果相对应的电平信号包括:
36.若所述第一密钥与所述第二密钥相同,则输出高电平信号;或者,
37.若所述第一密钥与所述第二密钥不相同,则输出低电平信号。
附图说明
38.图1为本发明实施例提供的一种调试接口的解锁电路的结构示意图;
39.图2为本发明实施例提供的一种第二验证模块的结构示意图;
40.图3为本发明实施例提供的一种匹配组件的结构示意图;
41.图4为本发明实施例提供的一种调试接口解锁过程结构示意图;
42.图5为本发明实施例提供的一种调试接口的解锁方法的流程图。
具体实施方式
43.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
44.现有技术中,通过执行解锁程序所对应的系列验证步骤来对调试接口进行解锁,但是这种验证方式容易受到电压攻击。即在多次电压攻击下,上述系列验证步骤中的部分验证步骤可能会被跳过,从而直接跳转到对调试接口进行解锁的步骤。也就是说,现有技术中调试接口的解锁方法存在被电压攻击破解的风险。
45.鉴于此,本发明实施例中提供了一种调试接口的解锁电路,该电路将每个验证步骤验证成功时所写入的第一密钥与对应的第二密钥进行匹配,当全部验证步骤均验证成功的情况下,调试接口才会进行解锁,从而避免了因电压攻击所导致的调试接口误解锁问题,
提高了调试接口的可靠性。
46.下面结合说明书附图对本发明实施例提供的调试接口的解锁电路进行详细介绍。请参见图1,为本发明实施例提供的一种调试接口的解锁电路,该电路包括:
47.第一验证模块10,用于执行针对所述调试接口的解锁程序所对应的至少两个验证步骤,并在每个验证步骤验证成功时向预设存储空间写入第一密钥;
48.第二验证模块20,用于从所述预设存储空间读取至少两个第一密钥,并将所述至少两个第一密钥与所述第二验证模块自身预先存储的至少两个第二密钥进行一一匹配;若匹配结果均为相同,则控制所述调试接口解锁。
49.本发明实施例中,第一验证模块10中可以认为存储有用于对调试接口进行解锁的解锁程序,并且为了提高调试接口的可靠性,现有技术中的解锁程序通常对应有至少两个验证步骤,例如,第一验证步骤与第二验证步骤。
50.当开发人员需要基于调试接口对芯片中用于实现相关功能的程序进行调试或者需要对芯片中所存储的机密数据进行读取时,那么就需要对调试接口进行解锁。此时,第一验证模块10可以执行上述至少两个验证步骤,并在每个验证步骤验证成功后向预设存储空间写入第一密钥。即向预设存储空间写入至少两个第一密钥。反之,若某个验证步骤未验证成功或者因受到电压攻击而被跳过,那么该验证步骤就不会向预设存储空间写入第一密钥。也就是说,在预设存储空间中,与该验证步骤所对应的第一密钥为空值。应理解,每个验证步骤验证成功后向预设存储空间所写入的第一密钥可以认为是预先约定的固定值,并且不同验证步骤所写入的第一密钥可以相同,也可以不相同,此处不作特别限制。
51.第二验证模块20中可以认为存储有与至少两个第一密钥一一对应的至少两个第二密钥,并且每个第二密钥与对应的第一密钥的取值相同。那么在对调试接口进行解锁的过程中,只要第二验证模块20确定每个验证步骤所写入的第一密钥与对应的第二密钥相同,则表明解锁程序所对应的至少两个验证步骤都经过了验证且均验证成功,此时第二验证模块20可以控制调试接口进行解锁。反之,若第二验证模块20确定存在任一第一密钥与对应的第二密钥不匹配,则可以认为在调试接口解锁过程中部分验证步骤被跳过,即调试接口受到了电压攻击,此时第二验证模块20可以控制调试接口不响应任何解锁操作,从而保证芯片内部的数据安全。也就是说,本发明实施例所提供的调试接口的解锁电路可以有效的区分当前针对调试接口的解锁过程是否合法,例如,通过对解锁程序所对应的至少两个验证步骤依次进行验证的解锁过程被认为是合法的,而通过电压攻击使得解锁程序所对应的至少两个验证步骤中部分验证步骤被跳过的解锁过程被认为是非法的,从而提高了调试接口的可靠性。
52.下面结合说明书附图对上述解锁电路中所涉及的功能模块的具体实现结构进行详细介绍。
53.基于上述第二验证模块20功能实现的描述,本发明实施例所提供的第二验证模块20具体可以通过以下细分器件来实现,请参见图2,具体可以包括:至少两个匹配组件201与一个与门202。
54.考虑到任一验证步骤所写入的第一密钥与对应的第二密钥的匹配结果可能为相同,也可能不相同。例如,若第一验证步骤验证成功,那么第一验证步骤所写入的第一密钥与第二密钥必然相同;若第一验证步骤因受到电压攻击而被跳过,那么第一验证步骤所写
入的第一密钥为空,那么必然与对应的第二密钥不相同。但是无论第一密钥与对应的第二密钥的匹配结果是否为相同,由于匹配结果并非是电信号,从而无法直接用于对调试接口是否解锁进行控制。因此,本发明实施例中,可以将每个验证步骤所写入的第一密钥与对应的第二密钥的的匹配结果均转换为电平信号,从而基于多个电平信号共同确定是否对调试接口进行解锁。
55.作为一种可能的实施方式,可以根据解锁程序所对应的验证步骤的数量来设置匹配组件的数量,即两者数量相等,那么每个匹配组件201就可以获取对应的验证步骤所写入的第一密钥,并将所获得的第一密钥与自身存储的第二密钥进行匹配,从而输出与匹配结果相对应的电平信号。然后通过与门202将至少两个匹配组件201分别输出的电平信号进行与操作,即针对至少两个电平信号进行与操作,从而根据与操作的结果来确定是否对调试接口进行解锁。
56.具体的,当与操作的结果为高电平时,可以表明每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果均为相同。也就是说,可以确定出在对调试接口进行解锁的过程中芯片未受到电压攻击,此时可以直接利用与门202所输出的高电平控制调试接口进行解锁。
57.反之,当与操作的结果为低电平,则可以表明存在任一验证步骤所写入的第一密钥与对应的第二密钥的匹配结果不相同。也就是说,可以确定出部分验证步骤因受到电压攻击而被跳过,此时可以直接利用与门202所输出的低电平控制调试接口不响应任何解锁操作。
58.基于上述匹配组件201功能实现的描述,本发明实施例所提供的匹配组件201具体可以通过以下细分器件来实现,请参见图3,具体可以包括:非易失性存储器2011与比较器2012。
59.考虑到对于任一验证步骤而言,当该验证步骤验证成功或者该验证步骤被跳过时,所写入的第一密钥是不相同的。例如,当该验证步骤验证成功时,所写入的第一密钥可以认为是预先约定的固定值;而当该验证步骤被跳过时,所写入的第一密钥可以认为是空值,即在不同情况下,第一密钥是变化的。那么为了对第一密钥与对应的第二密钥进行匹配,就需要保证第二密钥必须保证不变,也就是说,需要在保证第二密钥不会改变的情况下,以第二密钥为基准,从而确定第一密钥与第二密钥的匹配结果。
60.作为一种可能的实施方式,第二密钥可以存储于非易失性存储器2011中,即在芯片掉电情况下,存储于非易失性存储器2011中的第二密钥仍然存在。那么在需要确定第一密钥与第二密钥是否相同时,比较器2012可以分别获取每个验证步骤所写入的第一密钥以及预先保存的第二密钥,并对第一密钥与第二密钥进行比较,并将第一密钥与第二密钥的比较结果转换为对应的电平信号,从而便于根据第一密钥与第二密钥的比较结果对调试接口是否解锁进行控制。
61.例如,当第一密钥与第二密钥相同时,比较器2012输出高电平信号;当第一密钥与第二密钥不相同时,比较器2012输出低电平信号。
62.请参见图4,下面针对调试接口的解锁过程进行详细说明。
63.调试接口的解锁程序可以认为对应三个验证步骤,分别为验证步骤1、验证步骤2以及验证步骤3。当需要对芯片的调试接口进行解锁时,依次执行上述三个验证步骤。验证
流程如下:若验证步骤1验证失败,则直接退出当前解锁程序;若验证步骤1验证成功,则向预设存储空间写入第一密钥,并继续执行验证步骤2。若验证步骤2验证失败,则直接退出当前解锁程序;若验证步骤2验证成功,则向预设存储空间写入第一密钥,并继续执行验证步骤3。若验证步骤3验证失败,则直接退出当前解锁程序;若验证步骤3验证成功,则向预设存储空间写入第一密钥,同时进入解锁步骤(现有技术中,验证步骤1、验证步骤2以及验证步骤3均验证成功且进入解锁步骤后,会输出高电平信号,将调试接口的使能端置为1,即控制调试接口解锁)。同时还设置有三个匹配组件201,每个匹配组件201用于从预设存储空间中获取第一密钥,并将获取的第一密钥与自身存储的第二密钥进行匹配,并将匹配结果转换为对应的电平信号。例如,若第一密钥与第二密钥相同,则输出高电平信号;若第一密钥与第二密钥不相同,则输出低电平信号。与门202的输入端用于接收每个匹配组件201所输出的电平信号,以及解锁步骤中所输出的电平信号。
64.当验证步骤1、验证步骤2以及验证步骤3均验证通过时,每个匹配组件201均输出高电平信号,且解锁步骤中也输出高电平信号,那么经过与操作之后,与门202的输出为高电平信号,从而可以将该与门202输出的高电平信号对调试接口的使能端进行控制,使调试接口进行解锁。
65.若验证步骤1、验证步骤2以及验证步骤3中任一验证步骤因受到电压攻击而被跳过,例如,直接从跳转至步骤2,或者直接跳转至解锁步骤,可以认为被跳过的验证步骤验证成功,但是被跳过的验证步骤就不会向预设存储空间写入第一密钥,即被条过的验证步骤所对应的第一密钥为空值,那么与被跳过的验证步骤相对应的匹配组件201从预设存储空间中获取到的第一密钥也为空值,而该匹配组件201中所存储的第二密钥并非为空值,因此第一密钥与第二密钥不相同,那么该匹配组件201输出低电平信号,从而导致与门202也会输出低电平信号,从而可以将该与门202输出的低电平信号对调试接口的使能端进行控制,使调试接口不响应任何解锁操作。
66.基于同一发明构思,本发明实施例提供了一种芯片,该芯片包括本发明任一实施例提供的调试接口的解锁电路。该芯片可以应用于各种终端:智能手机(如android手机、ios手机)、平板电脑、笔记本电脑、掌上电脑、穿戴式智能设备等电子设备。此处不对终端的具体类型进行特别限制。
67.基于同一发明构思,请参见图5,本发明实施例提供了一种调试接口的解锁方法,应用于包括调试接口的芯片中,该方法的流程描述如下:
68.步骤301:执行针对调试接口的解锁程序所对应的至少两个验证步骤,并在每个验证步骤验证成功时向预设存储空间写入第一密钥;
69.步骤302:从预设存储空间读取至少两个第一密钥,并将至少两个第一密钥与预先存储的至少两个第二密钥进行一一匹配;
70.步骤303:若匹配结果均为相同,则控制调试接口解锁。
71.可选的,还包括:
72.若确定任一第一密钥与对应的第二密钥不匹配时,则控制调试接口不响应任何解锁操作。
73.可选的,从预设存储空间读取至少两个第一密钥,并将至少两个第一密钥与预先存储的至少两个第二密钥进行一一匹配包括:
74.获取每个验证步骤所写入的第一密钥,以及与存储的第二密钥进行匹配,并输出与匹配结果相对应的电平信号;
75.针对至少两个电平信号进行与操作;
76.当与操作的结果为高电平时,则确定每个验证步骤所写入的第一密钥与对应的第二密钥的匹配结果均为相同。
77.可选的,还包括:
78.若与操作的结果为低电平,则确定任一验证步骤所写入的第一密钥与对应的第二密钥的匹配结果存在不相同。
79.可选的,获取每个验证步骤所写入的第一密钥,以及与存储的第二密钥进行匹配,并输出与匹配结果相对应的电平信号包括:
80.若第一密钥与第二密钥相同,则输出高电平信号;或者,
81.若第一密钥与第二密钥不相同,则输出低电平信号。
82.本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
83.本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
84.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
85.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
86.显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1