掌桥专利:专业的专利平台
掌桥专利
首页

测试模式进入控制方法

文献发布时间:2023-06-19 11:16:08


测试模式进入控制方法

技术领域

本发明属于芯片测试领域,特别涉及一种安全的测试模式进入控制方法。

背景技术

芯片测试电路是大批量产品化芯片的重要组成部分。因为芯片在生产过程中可能出现一些制造缺陷,需要对芯片进行测试筛选出有问题的不良芯片并丢弃,从而确保交付客户的芯片可以正确可靠地工作。为提高测试的覆盖率并简化测试电路设计,测试电路一般可以访问芯片内的所有资源,从而能够访问到芯片内的敏感信息,并且利用测试手段修改程序,等。为防止攻击者利用测试模式窃取芯片内部用户敏感数据、修改程序等,需要对测试模式进入进行控制。传统上,主流的解决方案对于芯片的测试模式进入控制包括使用OTP(一次性可编程)或Efuse(电可擦除熔丝)来控制测试模式进入,如果芯片内的OTP或Efuse的设置允许芯片进入测试模式,则测试设备通过测试接口对芯片启动测试,如果芯片内的OTP或Efuse的设置禁止芯片进入测试模式,则测试设备被禁止通过测试接口对芯片进行测试。通常,在芯片的生产测试过程中,芯片内的OTP或Efuse的设置允许芯片进入测试模式,在芯片生产测试结束后,OTP或Efuse会被测试设备通过测试接口编程来禁止测试,从而达到保护芯片内的信息安全的目的。

然而,使用OTP(或Efuse)控制测试模式进入存在以下问题:

1)芯片在生产测试的过程中,测试模式默认处于使能状态,测试设备不需要通过测试模式进入的安全认证就可以通过测试接口访问芯片内的资源。这导致芯片内的需要保护的资产和机密信息可能外泄,从而对芯片产商或设备商或最终客户造成利益损失。

2)芯片在生产测试结束后,芯片内的OTP或Efuse通常会被设置为禁止芯片进入测试模式,则测试设备被禁止通过测试接口对芯片进行测试,一旦芯片在产品化后的正常运行中发生问题,将无法让芯片进入测试模式以通过测试分析来准确定位发生问题的原因。

在另一种传统方案中,使用敲门码的方式对测试模式进入进行安全控制,只有通过敲门码类似的验证,芯片内的敲门码安全控制逻辑才允许芯片进入测试模式,从而允许测试设备通过测试接口对芯片进行测试工作。

使用敲门码对进入测试模式进入进行安全控制,会存在下面的问题:

1)敲门码是预设且固定的,容易泄露;2)敲门码容易破解,例如可以通过探测测试设备和芯片之间的测试接口来破解敲门码,也可以通过多次尝试破解,故没有真正的安全性可言。

发明内容

本发明的目的在于提供一种安全的测试模式进入控制方法,解决芯片的可测试性和安全性之间的矛盾。利用随机数和非对称密码学技术,对测试者的身份合法性进行认证,只有通过身份合法性认证判决的测试设备才能通过测试接口对待测试芯片进行测试,这种身份合法性认证合法性判决完全是在芯片内部由硬件完成,实现真正的安全测试模式进入控制。

所述安全的测试模式进入控制方法包括:

通过所述待测试芯片的安全测试认证系统对测试设备的身份合法性进行认证;

仅当确定测试设备通过所述身份合法性认证时,允许所述测试设备通过测试接口对所述待测试芯片进行测试,否则禁止所述测试设备对所述待测试芯片进行测试。

优选地,所述测试设备与测试管理服务器相连接,所述待测试芯片存储第一公钥,所述测试管理服务器存储所述第一公钥相对应的第一私钥,用于标识所述测试设备身份的合法性。

优选地,所述安全测试认证系统进一步包括寄存器组,所述寄存器组存储有:

芯片标识,用于唯一地标识每个芯片;

所述第一公钥,所述第一公钥为非对称加解密算法的公钥。

优选地,所述安全测试认证系统进一步包括数据临时存储区,以便所述测试设备通过所述数据临时存储区与所述安全测试认证系统通信。

优选地,所述数据临时存储区与所述安全测试认证系统之间的通信消息包括下发指令、交换密文、查询状态、提供执行状态。

优选地,所述待测试芯片的安全测试认证系统对测试设备的身份合法性进行认证,进一步包括:

所述待测试芯片获取所述芯片标识,使用所述第一公钥加密内部产生的原始随机数,通过测试设备将所述芯片标识以及所述原始随机数的密文发送到所述测试管理服务器,

所述测试管理服务器根据所述芯片标识检索对应的第一私钥,利用所述第一私钥来解密所述测试设备发送的原始随机数的密文,并使用所述第一私钥对解密后的随机数进行重加密,将所述重加密的随机数发送到所述测试设备,

所述测试设备将所述重加密的随机数写入所述待测试芯片,所述待测试芯片的安全测试认证系统利用所述第一公钥解密所述重加密的随机数,得到验证随机数,并将所述验证随机数与所述原始随机数进行比较,以判断测试设备的身份合法性。

优选地,所述安全测试认证系统进一步包括安全测试模式进入控制逻辑、随机数发生器和数据临时存储区,

其中,所述原始随机数是通过所述安全测试模式进入控制逻辑查询所述数据临时存储区中的相关存储单元,并获得身份合法性认证操作指示之后,控制所述随机数发生器产生的。

优选地,所述安全测试认证系统进一步包括非对称加解密协处理器;

所述将所述芯片标识以及所述原始随机数的密文发送到所述测试管理服务器,进一步包括:

由所述非对称加解密协处理器使用所述第一公钥对所述原始随机数进行加密,将加密后的密文存储于所述数据临时存储区中的密文存储单元;

由所述测试设备读取所述密文存储单元,并将所述芯片标识以及所述原始随机数的密文发送到所述测试管理服务器。

优选地,如果所述验证随机数与所述原始随机数相等,则确定所述测试设备合法,将测试模式进入控制信号设置为允许芯片进入测试模式;

如果所述验证随机数与所述原始随机数不相等,则确定所述测试设备非法,将测试模式进入控制信号设置为禁止芯片进入测试模式。

优选地,在所述对待测试芯片进行测试之后,还包括:

更新所述数据临时存储区中的工作状态存储单元,通知所述测试设备身份认证过程结束。

相比于现有技术,本发明具有以下优点:

本发明安全的测试模式进入控制方法既可以满足芯片在整个产品生产测试阶段、产品化阶段可测试性的需求,又可以满足安全性的要求,从而有效的保护芯片内的资产和信息的安全。

本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。

图1是实现根据本发明的安全测试模式进入控制方法的架构示意图。

图2是根据本发明的安全测试模式进入控制方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。

为解决芯片的可测试性和安全性之间的矛盾,本发明提出了一种安全的测试模式进入控制方法,利用随机数和非对称密码学技术,对测试者的身份合法性进行认证,只有通过身份合法性认证判决的测试设备才能通过测试接口对待测试芯片进行测试,并且这种判决完全在芯片内部由硬件完成。

本发明的示意性实现架构如图1所示。

测试设备C2通过测试接口i1连到待测试芯片C1。测试设备C2作为待测试芯片C1的测试工具,并且负责协调整个测试者身份合法性认证过程。并且测试设备C2通过网络C3连接到服务器C4。

待测试芯片C1包括测试口接口单元C1.1和安全测试认证系统C1.2、测试控制系统C1.3和芯片的其他逻辑部分C1.4。测试控制系统C1.3与芯片的其他逻辑部分C1.4通过接口i11通信。测试口接口单元C1.1用于芯片外部测试接口i1和芯片内部接口i2、i3之间的协议转换和控制。

所述安全测试认证系统进一步包括寄存器组C1.2.1,非对称加解密协处理器C1.2.2,数据临时存储区C1.2.3,随机数发生器C1.2.4以及安全测试模式进入控制逻辑C1.2.5。

所述寄存器组C1.2.1是只读寄存器组,其存储以下数值:

Chip_ID C1.2.1.1,即芯片的身份标识,每个芯片的身份标识是唯一的;

Pub_Key C1.2.1.2,即非对称加密和解密算法的公钥Public Key。

所述非对称加解密协处理器C1.2.2,受所述安全测试模式进入控制逻辑C1.2.5的控制,使用Pub_Key C1.2.1.2进行加密和解密。Pub_Key C1.2.1.2与非对称加解密协处理器C1.2.2通过公钥数据接口接口i9通信。

所述数据临时存储区C1.2.3,提供和存储鉴权过程中的必要的数据、控制和状态信息,所述测试口接口单元C1.1通过数据临时存储区C1.2.3与安全测试认证系统C1.2通信,通信的消息包括下发指令、交换密文、查询状态、提供执行状态等。

所述随机数发生器C1.2.4受安全测试模式进入控制逻辑C1.2.5控制产生随机数。随机数发生器C1.2.4与非对称加解密协处理器C1.2.2的随机数通过接口i7通信。

所述安全测试模式进入控制逻辑C1.2.5是整个安全测试认证系统C1.2的控制和调度核心,通过查询所述数据临时存储区C1.2.3中的相关存储单元,接收来自测试设备C2的控制信息和密文数据,根据所述控制信息执行相应的操作,在操作结束后更新所述数据临时存储区C1.2.3中工作状态存储单元,以通知测试设备C2执行状态和结果。安全测试模式进入控制逻辑C1.2.5与数据临时存储区C1.2.3通过信号接口i5通信,与随机数发生器C1.2.4通过控制和状态接口i6通信,与非对称加解密协处理器C1.2.2通过控制、状态以及数据接口i8通信。

所述安全测试模式进入控制逻辑C1.2.5负责以下3个方面的控制协调和调度:

1.控制协调产生随机数并加密

通过查询数据临时存储区C1.2.3中的相关存储单元,获得从外部测试接口i1传递过来的用于启动测试者身份合法性认证的操作指示,控制随机数发生器C1.2.4产生随机数,然后调用非对称加解密协处理器C1.2.2使用公钥Pub_Key C1.2.1.2对产生的随机数进行加密,将加密后的密文存储于数据临时存储区C1.2.3的密文存储单元,并设置数据临时存储区C1.2.3中相应的状态存储单元,以通知测试设备C2已完成随机数加密。

2.解密服务器产生的随机数密文

通过数据临时存储区C1.2.3获得从外部测试接口i1传递过来的状态信息和服务器C4产生的随机数密文,控制非对称加解密协处理器C1.2.2使用公钥Pub_Key C1.2.1.2对服务器C4产生的随机数密文进行解密,该随机数密文是由服务器C4使用对应私钥先解密由非对称加解密协处理器C1.2.2用公钥C1.2.1.2加密的随机数然后重新加密而产生的。

3.比较产生的原始随机数以及解密后的随机数,完成测试者身份合法性判断,并输出相应的测试模式进入控制信号。

在完成解密服务器C4产生的随机数密文后,所述安全测试模式进入控制逻辑C1.2.5比较产生的原始随机数以及解密后的随机数,如果相等,则测试模式进入控制信号i10被设置为允许芯片进入测试模式,如果不相等,则测试模式进入控制信号i10被设置为禁止芯片进入测试模式。在比较结束后,不论两个随机数是否相等,都将更新数据临时存储区C1.2.3中的相应状态存储单元,通知测试设备C2比较完成和结果。

如果测试模式进入控制信号i10允许芯片进入测试模式,则测试控制系统C1.3接受来自测试设备C2的测试指令、解析指令并发起相应的测试操作、以及更新测试状态和结果,以便由测试设备C2查询;如果测试模式进入控制信号i10禁止芯片进入测试模式,则禁止测试,所述测试控制系统C1.3不接受来自测试设备C2的任何测试指令。

服务器C4提供测试者身份认证提供服务,服务器中存储有芯片Chip_ID和私钥对应关系的数据库,并使用私钥提供非对称加密和解密服务,当测试设备C2将Chip_IDC1.2.1.1和加密的随机数发送到服务器C4后,服务器C4查询Chip_ID而检索到对应的私钥,并首先用私钥解密加密的随机数,然后再用所述私钥对解密后的随机数进行加密,并将密文发送到测试设备C2。测试设备C2和网络C3通过接口i12通信。服务器C4和网络C3通过接口i13通信。

基于上述实现架构,本发明提供以下安全测试模式进入控制方法。方法流程如图2所示。S0-S10描述了安全测试模式进入流程所涉及的步骤。

S0:开始。

S1:测试设备C2运行测试软件,与待测试芯片C1以及测试管理服务器C4建立连接。

S2:测试设备C2读取Chip_ID C1.2.1.1,并编程数据临时存储区C1.2.3中的相应存储单元,以启动测试者身份的合法性认证。

其中,所述安全测试模式进入控制逻辑C1.2.5通过查询数据临时存储区C1.2.3中的相关存储单元,获得测试者身份合法性认证操作指示之后,控制随机数发生器C1.2.4产生随机数,记为P_0,然后调用非对称加解密协处理器C1.2.2,使用公钥C1.2.1.2Pub_Key对产生的随机数P_0进行加密、将加密后的密文C_0存储于数据临时存储区C1.2.3中的密文存储单元,并设置数据临时存储区C1.2.3中相应的状态存储单元,以通知测试设备C2已完成随机数加密。

S3:测试设备C2检测数据临时存储区C1.2.3中的相应状态存储单元,判断随机数P_0的加密是否完成,如果未完成则等待,如果完成则进入S4。

S4:测试设备C2读取数据临时存储区C1.2.3中的密文存储单元,并将Chip_ID和密文C_0发送到测试管理服务器C4。

其中,测试管理服务器C4在收到Chip_ID和密文C_0后,根据Chip_ID检索到公钥C1.2.1.2Pub_Key所对应的私钥,然后使用该私钥对密文C_0进行解密,解密后的明文记为P_1,再使用所述私钥对明文P_1进行重加密,得到的密文记为C_1,并将密文C_1发送到测试设备C2。

S5:测试设备C2等待接收测试管理服务器C4发送的利用公钥C1.2.1.2Pub_Key所对应的私钥所加密的随机数密文C_1;如果未收到则等待,如果收到则进入S6。

S6:测试设备C2将密文随机数C_1写入数据临时存储区C1.2.3中的密文存储单元,并设置相应的标志位,指示密文已写入。

其中,安全测试模式进入控制逻辑C1.2.5通过查询数据临时存储区C1.2.3中的标志位,确定测试管理服务器C4产生的随机数密文C_1已写入密文存储单元,然后控制非对称加解密协处理器C1.2.2使用公钥C1.2.1.2Pub_Key对密文C_1进行解密,得到的明文记为P_00;并比较P_00是否等于P_0;

如果P_00=P_0;则测试者身份认证通过,设置测试模式进入控制信号i10为允许芯片进入测试模式;

如果P_00≠P_0;则测试者身份认证未通过,则设置测试模式控制信号i10为禁止芯片进入测试模式。

不论两个随机数是否相等,均更新数据临时存储区C1.2.3中的相应状态存储单元,以通知测试设备C2测试者身份认证结束,以及测试是否使能。

S7:测试设备C2读取数据临时存储区C1.2.3中的测试者身份认证结束标志,判断认证是否结束,如果未结束则等待,如果结束则进入S8。

S8:测试设备C2读取数据临时存储区C1.2.3中的测试模式进入状态存储单元,判断是否允许测试模式进入,如不允许,则禁止对待测试芯片C1进行测试,进入S10;如果允许,则进入S9。

S9:测试设备C2通过测试接口i3对功能系统C1.3进行测试,测试结束后,进入S10。

S10:结束,测试设备C2更新数据临时存储区C1.2.3中相应状态存储单元,通知待测试芯片测试过程结束,所述安全测试控制逻辑C1.2.5设置i10禁止测试。

对于芯片测试,只有通过身份合法性认证的测试设备才能启动对芯片的测试工作。由于身份的认证过程是基于随机数、使用非对称密码学技术,芯片上只存储公钥,因此没有敲门码安全测试控制中所面临的敲门码泄露和多次尝试或探测破解的风险,实现真正的安全测试模式进入控制。

本领域技术人员可以理解,上述实施例中描述的方法步骤和装置的组件仅为举例。本领域技术人员可以根据需要,对测试使能控制方法流程的多个步骤进行合并、增删或顺序调整,或对安全测试控制系统的结构、加密和解密算法作出容易想到的调整,而不应将本发明的构思限制于上述示例的具体结构和流程。

同样地,尽管上述示例以随机数发生器来产生鉴权密文,但该发明实施方法不限于此,也可以由某些特定信息产生,如芯片身份标识等。此外,本发明的方法不限于芯片设计领域。在其它领域如网络授权、身份认证等,上述方法同样适用。

可以看出,本发明提出的安全测试模式进入控制方法彻底解决了传统解决方案中芯片所面临的可测试性和安全性之间的矛盾。使用本发明提出的方法既可以满足芯片在整个产品生产测试阶段、产品化阶段可测试性的需求;也可以满足安全性的要求,从而有效的保护芯片内的资产和信息的安全,最终有效保护了芯片厂商和用户的利益。

尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 测试模式进入控制方法
  • 教育一体机进入测试模式的控制方法、装置及存储介质
技术分类

06120112861128