一种芯片晶圆测试控制方法及装置、芯片与流程

专利2022-06-29  93


本文涉及微电子技术,尤指一种芯片晶圆测试控制方法及装置、芯片。



背景技术:

晶圆测试是芯片测试的一项重要内容。芯片在晶圆测试时会对存储器等关键数据进行更新,这就需要芯片晶圆测试进行安全控制,以防芯片在使用过程中改写关键数据。

芯片安全设计历来就是芯片开发设计的关键,一个好的安全设计电路对于整个芯片的安全性是至关重要的,它可以加大攻击者的攻击难度和攻击时间,从而提高芯片的安全性。

传统的芯片测试电路通过输入一组密码,进入晶圆测试,在晶圆测试结束后对芯片写入一个固定的密钥存储在存储器里,由于密钥的保护,存储器指令和数据都为密文,具有一定的安全性,对攻击者来说有一定的攻击难度。传统的芯片设计针对安全部分有了一定的设计,通过输入密码进入晶圆测试,但是密码是固定的或者存储在芯片中,容易受到攻击,晶圆测试结束后如果攻击者通过攻破密码还能进入晶圆测试模式,从而安全性会受到影响。



技术实现要素:

本申请实施例提供了一种芯片晶圆测试控制方法及装置、芯片,提高芯片安全性。

本申请实施例提供了一种芯片晶圆测试控制方法,包括:

从芯片获取随机数,根据所述随机数生成测试密钥;

将所述测试密钥发送给所述芯片,当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。

在一示范性实施例中,不同随机数生成的测试密钥不同。

在一示范性实施例中,所述方法还包括,晶圆测试结束后,发送更新随机数的指令至所述芯片。

在一示范性实施例中,所述方法还包括,晶圆测试结束后,将加密密钥写入所述芯片,以及,将使用所述加密密钥加密的代码写入所述芯片,其中,不同芯片的加密密钥不同。

本申请实施例提供了一种芯片晶圆测试控制方法,包括:

产生随机数,将所述随机数发送给测试端;

接收所述测试端发送的测试密钥,与本地根据所述随机数生成的本地测试密钥进行验证,验证通过后,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

在一示范性实施例中,不同随机数生成的本地测试密钥不同。

在一示范性实施例中,所述方法还包括,晶圆测试结束且接收到所述测试端发送的更新随机数的指令后,更新随机数。

在一示范性实施例中,所述方法还包括,晶圆测试结束后,接收所述测试端发送的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。

本申请实施例提供了一种芯片,包括:

随机数产生模块,用于产生随机数,将所述随机数发送给测试端;

密钥验证模块,用于根据所述随机数生成本地测试密钥,接收所述测试端发送的测试密钥,与所述本地测试密钥进行验证,当验证通过时,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

在一示范性实施例中,所述随机数产生模块根据不同随机数生成的本地测试密钥不同。

在一示范性实施例中,所述随机数产生模块还用于,接收到所述测试端的更新随机数的指令后,更新随机数。

在一示范性实施例中,所述芯片还包括,存储模块,用于在晶圆测试结束后,接收所述测试端发送的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。

本申请实施例提供了一种芯片晶圆测试控制装置,包括:

密钥生成模块,用于从芯片获取随机数,根据所述随机数生成测试密钥;

发送模块,用于将所述测试密钥发送给所述芯片;

测试模块,用于当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。

与相关技术相比,本申请包括一种芯片晶圆测试控制方法,包括:从芯片获取随机数,根据所述随机数生成测试密钥;将所述测试密钥发送给所述芯片,当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。本实施例提供的方案,使用与芯片产生的随机数有关的测试密码,通过该方式生成的密钥安全性更高,攻击的难度更大。另外,不同芯片产生的随机数通常不同,进而测试密码也不同,即使破解了一个芯片,也无法直接应用到其他芯片,提高了芯片的安全性。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。

附图说明

附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本申请一实施例提供的芯片晶圆测试控制方法流程图(测试端);

图2为本申请一实施例提供的芯片晶圆测试控制方法流程图(芯片端);

图3为本申请一实施例提供的密钥产生示意图;

图4为本申请一实施例提供的加密密钥和代码下载示意图;

图5为本申请一实施例提供的芯片示意图;

图6为本申请一实施例提供的芯片晶圆测试控制装置示意图。

具体实施方式

本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。

本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。

此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。

本申请实施例中,为了保证在晶圆测试过程中芯片的高安全性,在进行晶圆测试之前,需要输入测试密钥,本实施例中,使用基于芯片产生的随机数生成的测试密钥,大大提高了安全性。

如图1所示,本发明一实施例提供一种芯片晶圆测试控制方法,包括:

步骤101,测试端(或称晶圆测试机台)从芯片获取随机数,根据所述随机数生成测试密钥;

其中,根据随机数按预设规则生成测试密钥。所述预设规则可以根据需要设定。在一实施例中,可以将随机数作为测试密钥。

其中,测试端可以发送获取随机数的指令给芯片,芯片根据该指令生成随机数后发送给测试端。

测试端发送预设指令给芯片后,才能获取随机数,该指令可以是单次指令,在晶圆测试后即无效。

步骤102,测试端将所述测试密钥发送给所述芯片;

步骤103,当从所述芯片接收到所述测试密钥验证通过的反馈信息时,所述测试端进行晶圆测试。

为保证芯片晶圆测试阶段的安全性,需要通密码比对的验证,才可以进入晶圆测试模式。

本实施例提供的方案,使用与芯片产生的随机数有关的测试密码,通过该方式生成的密钥安全性更高,攻击的难度更大。另外,不同芯片产生的随机数通常不同,进而测试密码也不同,即使破解了一个芯片,也无法直接应用到其他芯片,提高了芯片的安全性。

在一实施例中,所述测试密钥的长度比如为32字节。

在一实施例中,不同随机数生成的测试密钥不同。

在一实施例中,所述方法还包括,晶圆测试结束后,发送更新随机数的指令至所述芯片。本实施例提供的方案,在晶圆测试结束后,更新芯片的随机数,从而使得之前生成的测试密钥无法比对成功,提高了安全性。另外,芯片之后每次上电产生的随机数不相同,芯片晶圆测试密码不能再次比对成功,也提高了安全性。

在一实施例中,所述方法还包括,晶圆测试结束后,将加密密钥写入所述芯片,以及,将使用所述加密密钥加密的代码写入所述芯片,其中,不同芯片的加密密钥不同。本实施例提供的方案,不同芯片使用不同的加密密钥,实现一颗芯片一个密钥,利用测试端给出不同密钥,写入加密的代码,保证每个芯片在下代码阶段的安全性。这样由于不同的芯片采用不同的密钥,即使攻击者花费时间攻击出来一颗芯片,想要攻破其他芯片有需要花费同样的时间和难度,大大提高了芯片的安全性。需要说明的是,在另一实施例中,也可以使用相同的加密密钥。其中,加密密钥可以由测试端生成,也可以预先配置。

如图3所示,芯片使用随机振荡器等生成随机数,将32位的随机数发送给测试端,测试端接收随机数,生成测试密钥,另外,为不同的芯片生成加密密钥芯片1_key~芯片n_key。

其中,加密密钥写入时,存储到密钥寄存器中,通过加密密钥对代码进行加密,保证每颗晶圆上的代码加密后是不同的,这样攻击者在对芯片进行攻击时,不能通过1颗芯片的破解,从而破解整批产品,每颗颗芯片有自己独一的密钥,每颗芯片的密钥攻击难度就很大,而且即使攻破一颗芯片,对于其他芯片的密钥攻击又需要重新攻破这样大大加大了攻击者的攻击难度和攻击时间。如图4所示,加密密钥存储到密钥寄存器key_reg401和存储器402中,使用加密密钥加密后的代码存储到寄存器中,掉电后密钥寄存器中的加密密钥丢失。

本实施例提供的方案,通过多种手段保证了整个生命周期的不可逆,针对同批次产品公用一个密钥安全性不够高的问题,本实施例提供的方案,实现一颗芯片一个加密密钥,利用测试端给出不同加密密钥,写入使用加密密钥加密后的代码,保证每个芯片在下代码阶段的安全性。这样由于不同的芯片采用不同的加密密钥,即使攻击者花费时间攻击出来一颗芯片,想要攻破其他芯片有需要花费同样的时间和难度,大大提高了芯片的安全性。

在一实施例中,所述加密密钥使用密文形式存储,进一步提高了密钥的安全性。

在测试密码比对成功后,通过不同的指令(命令字)可进入不同的晶圆测试项。

如图2所示,本发明一实施例提供一种芯片晶圆测试控制方法,包括:

步骤201,芯片产生随机数,将所述随机数发送给测试端;

其中,芯片比如在接收到测试端的获取随机数指令后产生随机数并发送给测试端。其中,可以使用随机振荡器产生随机数。

步骤202,芯片接收所述测试端发送的测试密钥,与根据所述随机数生成的本地测试密钥进行验证,验证通过后,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

在一实施例中,不同随机数生成的本地测试密钥不同。

在一实施例中,所述方法还包括,晶圆测试结束且接收到发送端的更新随机数的指令后,更新随机数。本实施例中,在晶圆测试后,更新随机数从而使得之前生成的测试密钥无法比对成功,提高了安全性。另外,后续芯片重新上电时,其随机数也会进行更新,从而基于之前的随机数生成的测试密钥无法比对成功,提高了安全性。

在一实施例中,所述方法还包括,晶圆测试结束后,接收所述测试端的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。其中,芯片根据地址来判断当前写入的是加密密钥时,存储该加密密钥,在晶圆测试结束后对密钥寄存器进行清密钥操作,保证密钥只是在写代码时用到,这样可以提高芯片晶圆测试环节中的安全性。

如图5所示,本发明至少一实施例提供一种芯片,包括:

随机数产生模块501,用于产生随机数,将所述随机数发送给测试端;

密钥验证模块502,用于根据所述随机数生成本地测试密钥,接收所述测试端发送的测试密钥,与所述本地测试密钥进行验证,当验证通过时,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

在一实施例中,所述随机数产生模块501根据不同随机数生成的本地测试密钥不同。

在一实施例中,所述随机数产生模块502还用于,接收到所述测试端的更新随机数的指令后,更新随机数。

在一实施例中,所述芯片还包括,存储模块503,用于在晶圆测试结束后,接收所述测试端发送的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。

如图6所示,本发明至少一实施例提供一种芯片晶圆测试控制装置,包括:

密钥生成模块601,用于从芯片获取随机数,根据所述随机数生成测试密钥;

发送模块602,用于将所述测试密钥发送给所述芯片;

测试模块603,用于当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。

在一实施例中,所述密钥生成模块601还用于,在晶圆测试结束后,发送更新随机数的指令至所述芯片。

在一实施例中,所述测试模块603还用于,晶圆测试结束后,将加密密钥写入所述芯片,以及,将使用所述加密密钥加密的代码写入所述芯片,其中,不同芯片的加密密钥不同。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。


技术特征:

1.一种芯片晶圆测试控制方法,其特征在于,包括:

从芯片获取随机数,根据所述随机数生成测试密钥;

将所述测试密钥发送给所述芯片,当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。

2.根据权利要求1所述的芯片晶圆测试控制方法,其特征在于,不同随机数生成的测试密钥不同。

3.根据权利要求1所述的芯片晶圆测试控制方法,其特征在于,所述方法还包括,晶圆测试结束后,发送更新随机数的指令至所述芯片。

4.根据权利要求1至3任一所述的芯片晶圆测试控制方法,其特征在于,所述方法还包括,晶圆测试结束后,将加密密钥写入所述芯片,以及,将使用所述加密密钥加密的代码写入所述芯片,其中,不同芯片的加密密钥不同。

5.一种芯片晶圆测试控制方法,其特征在于,包括:

产生随机数,将所述随机数发送给测试端;

接收所述测试端发送的测试密钥,与本地根据所述随机数生成的本地测试密钥进行验证,验证通过后,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

6.根据权利要求5所述的芯片晶圆测试控制方法,其特征在于,不同随机数生成的本地测试密钥不同。

7.根据权利要求5所述的芯片晶圆测试控制方法,其特征在于,所述方法还包括,晶圆测试结束且接收到所述测试端发送的更新随机数的指令后,更新随机数。

8.根据权利要求5至7任一所述的芯片晶圆测试控制方法,其特征在于,所述方法还包括,晶圆测试结束后,接收所述测试端发送的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。

9.一种芯片,其特征在于,包括:

随机数产生模块,用于产生随机数,将所述随机数发送给测试端;

密钥验证模块,用于根据所述随机数生成本地测试密钥,接收所述测试端发送的测试密钥,与所述本地测试密钥进行验证,当验证通过时,发送所述测试密钥验证通过的反馈信息至所述测试端,进入晶圆测试模式。

10.根据权利要求9所述的芯片,其特征在于,所述随机数产生模块根据不同随机数生成的本地测试密钥不同。

11.根据权利要求9所述的芯片,其特征在于,所述随机数产生模块还用于,接收到所述测试端的更新随机数的指令后,更新随机数。

12.根据权利要求9至11任一所述的芯片,其特征在于,所述芯片还包括,存储模块,用于在晶圆测试结束后,接收所述测试端发送的加密密钥并存储,以及,接收使用所述加密密钥加密的代码并存储,其中,不同芯片的加密密钥不同。

13.一种芯片晶圆测试控制装置,其特征在于,包括:

密钥生成模块,用于从芯片获取随机数,根据所述随机数生成测试密钥;

发送模块,用于将所述测试密钥发送给所述芯片;

测试模块,用于当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。

技术总结
一种芯片晶圆测试控制方法及装置、芯片,所述芯片晶圆测试控制方法包括:从芯片获取随机数,根据所述随机数生成测试密钥;将所述测试密钥发送给所述芯片,当从所述芯片接收到所述测试密钥验证通过的反馈信息时,进行晶圆测试。本实施例提供的方案,使用与芯片产生的随机数有关的测试密码,通过该方式生成的密钥安全性更高,攻击的难度更大。另外,不同芯片产生的随机数通常不同,进而测试密码也不同,即使破解了一个芯片,也无法直接应用到其他芯片,提高了芯片的安全性。

技术研发人员:韩晓晶
受保护的技术使用者:大唐微电子技术有限公司
技术研发日:2020.01.16
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20858.html

最新回复(0)