一种芯片进入测试模式的保护方法和系统的制作方法
【技术领域】
[0001]本发明涉及芯片测试技术领域,尤指一种芯片进入测试模式的保护方法和系统。
【背景技术】
[0002]在芯片的设计和制造过程中难免会出现各种缺陷,为了保证最终的芯片产品都能正常可靠地工作,需要在芯片设计时预先加入用于测试芯片功能的测试电路。在测试模式下,通常可以进行一些以后在芯片实际应用中禁止的操作,例如测试者可以直接对芯片内的存储器进行访问,下载密钥、数据等操作。
[0003]随着集成电路技术的发展,智能卡应用范围的不断扩大,针对智能卡的攻击手段越来越多,因此智能卡的安全和保密性显得日益重要。如果攻击者成功进入了芯片的测试模式,就可能会获得芯片内部存储器中的重要信息,因此,在芯片出厂后,就必须禁止芯片从工作模式向测试模式的转换。
[0004]—般情况下,通过加在芯片测试压焊点上的使能信号来控制芯片是否进入测试模式。为了防止非法用户进入到测试模式,通常将控制芯片进入测试模式的信号线放入划片槽中,芯片完成测试后,通过划片将该信号线划断,使芯片再无法再进入到测试模式。但是,随着对智能卡芯片的攻击手段迅速发展,攻击者可以使用聚焦粒子束(FIB)技术重新连接被划断的信号线,使芯片再次进入测试模式,从而获得芯片中的重要信息。
【发明内容】
[0005]为了解决上述技术问题,本发明提供了一种芯片进入测试模式的保护方法和系统,能够提升芯片的安全性。
[0006]为了达到本发明目的,本发明提供了一种芯片进入测试模式的保护方法,应用于硅片上相邻的第一芯片和第二芯片,所述第一芯片和第二芯片间有划片槽,所述第一芯片和第二芯片间的划片槽内设置有加密电路,该方法包括:如果所述第一芯片检测到来自所述第二芯片的测试模式使能信号,所述第一芯片产生验证信息和加密密钥发送给所述加密电路,并将所述验证信息发送给所述第二芯片;所述加密电路根据预设的算法使用加密密钥对验证信息进行加密,并将加密结果发送给所述第二芯片;所述第二芯片根据预设的算法对接收到的所述加密结果进行解密,并在判断出解密结果和接收到的所述验证信息相同后,确定所述测试使能信号有效,所述第二芯片进入测试模式。
[0007]进一步地,所述方法还包括:所述第二芯片向所述第一芯片发送握手请求信号;所述第一芯片确定接收到的所述握手请求信号有效后,向所述第二芯片返回应答信号,所述第一芯片和所述第二芯片建立数据通信。
[0008]进一步地,所述第一芯片产生验证信息和加密密钥发送给所述加密电路,具体为:所述第一芯片预先存储有加密密钥;当检测到来自所述第二芯片的测试模式使能信号时,所述第一芯片产生随机数作为验证信息,将所述随机数和加密密钥发送给所述加密电路。
[0009]进一步地,所述划片槽内还设置有用于所述第一芯片和所述第二芯片通信的金属线;所述将所述验证信息发送给所述第二芯片,具体为:所述第一芯片通过所述划片槽中的金属线将所述随机数发送给所述第二芯片。
[0010]进一步地,所述方法还包括:所述第二芯片判断出解密结果和接收到的验证信息不同后,确定所述测试使能信号无效,所述第二芯片产生报警信号触发安全保护措施。
[0011]本发明还提供了一种芯片进入测试模式的保护系统,所述保护系统包括相邻的第一芯片和第二芯片,所述第一芯片和第二芯片间有划片槽,所述第一芯片和第二芯片间的划片槽内设置有加密电路,其中:所述第一芯片,用于如果检测到来自所述第二芯片的测试模式使能信号,产生验证信息和加密密钥发送给所述加密电路,并将所述验证信息发送给所述第二芯片;所述加密电路,用于根据预设的算法使用加密密钥对验证信息进行加密,并将加密结果发送给所述第二芯片;所述第二芯片,用于根据预设的算法对接收到的所述加密结果进行解密,并在判断出解密结果和接收到的所述验证信息相同后,确定所述测试使能信号有效,进入测试模式。
[0012]进一步地,所述第二芯片,还用于向所述第一芯片发送握手请求信号;所述第一芯片,还用于确定接收到的所述握手请求信号有效后,向所述第二芯片返回应答信号,所述第一芯片和所述第二芯片建立数据通信。
[0013]进一步地,所述第一芯片包括存储模块和验证信息产生模块,其中,所述存储模块,用于预先存储加密密钥;所述验证信息产生模块,用于当检测到来自所述第二芯片的测试模式使能信号时,产生随机数作为验证信息,将所述随机数和加密密钥发送给所述加密电路。
[0014]进一步地,所述划片槽内还设置有用于所述第一芯片和所述第二芯片通信的金属线;所述第一芯片,还用于通过所述划片槽中的金属线将所述随机数发送给所述第二芯片。
[0015]进一步地,所述第二芯片包括测试压焊点、解密电路、运算比较判断电路和测试电路,其中,所述测试压焊点,用于接收外部的测试模式使能信号,并将接收到的所述测试模式使能信号发送给所述第一芯片;所述解密电路,还用于根据预设的算法对接收到的加密结果进行解密;所述运算比较判断电路,还用于将解密结果和接收到的验证信息进行比较;在判断出所述解密结果和所述验证信息相同后,确定所述测试使能信号有效;在判断出所述解密结果和所述验证信息不同后,确定所述测试使能信号无效;所述测试电路,还用于在确定所述测试使能信号有效后,进入测试模式;在确定所述测试使能信号无效后,产生报警信号触发安全保护措施。
[0016]进一步地,所述第一芯片还包括测试压焊点、解密电路、运算比较判断电路和测试电路;所述第二芯片还包括存储模块和验证信息产生模块;所述第一芯片和所述第二芯片相同。
[0017]本发明提供的芯片测试保护方案是建立在相邻的两颗芯片之间,通过比较加解密电路的运算结果和来自相邻芯片的验证信息是否一致,判断该芯片是否能够进入测试模式。一般情况下,将加密电路处于划片槽的中心位置,保证划片时能够完全破坏掉加密电路,当芯片完成测试任务以后,通过划片破坏掉划片槽中的电路与信号金属连线,导致芯片得不到正确的数据输入,无法再进入到测试模式。由于划片槽内的电路和金属连线较为复杂,攻击者很难重建划片槽内的电路功能;即使攻击者能够重建划片槽内的电路结构,但是无法找到划片前与该颗芯片相邻的芯片,仍然不能使该芯片进入到测试模式,从而提升了芯片的安全性。
[0018]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0019]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0020]图1是本发明的一种实施例中硅片的局部示意图。
[0021]图2是本发明的一种实施例中芯片进入测试模式的保护方法的流程示意图。
[0022]图3是本发明的一种实施例中芯片进入测试模式的保护系统的结构示意图。
[0023]图4是基于图3的芯片进入测试模式的保护系统的扩展示意图。
【具体实施方式】
[0024]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0025]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0026]图1是本发明的一种实施例中硅片的局部示意图。如图1所示,通常硅片(wafer)上有排列整齐的成千上万颗芯片,每两颗相邻的芯片之间留有固定宽度的空间作为划片槽,用于划片刀进行wafer切割。
[0027]图2是本发明的一种实施例中芯片进入测试模式的保护方法的流程示意图。本发明提供的芯片测试保护方案是建立在相邻的两颗芯片之间,以硅片上相邻的第一芯片和第二芯片为例,本发明的芯片进入测试模式的保护方法包括:
[0028]步骤201,第二芯片向第一芯片发送握手请求信号。
[0029]在本步骤中,握手请求信号Req可以是一位的有效电平。
[0030]步骤202,第一芯片确定接收到的握手请求信号有效后,向第二芯片返回应答信号,第一芯片和第二芯片建立数据通信。
[0031]在本步骤中,预先设置信号电平高时为有效。当第一芯片接收到的握手请求信号后,如果能够正确的采集到该握手请求信号的电平为高,则确定该握手请求信号有效,然后向第二芯片返回应答信号Ack,该应答信号也可以是一位的有效电平。
[0032]步骤203,第一芯片和第二芯片间设置有加密电路,如果第一芯片检测到来自第二芯片的测试模式使能信号,第一芯片产生验证信息和加密密钥发送给加密电路,并将随机数发送给第二芯片。
[0033]在本步骤中,第一芯片和第二芯片间有划片槽,在划片槽中设置加密电路,此外,划片槽中还设置有用于第一芯片和第二芯片通信的金属线。
[0034]测试模式使能信号是外部人为加在芯片上的信号,如果外部人为将测试模式使能信号加在第二芯片上,第二芯片将该测试模式使能信号发送给第一芯片。
[0035]第一芯片中预先存储有加密密钥,在确定来自第二芯片的使能信号有效后,产生验证信息,例如随机数,将随机数和加密密钥发送给划片槽中的加密电路,并将随机数通过划片槽中的金属线发送给第一芯片。
[0036]步骤204,加密电路根据预设的算法使用加密密钥对验证信息进行加密,并将加密结果发送给第二芯片,第二芯片对接收到的加密结果进行解密。
[0037]在本步骤中,加密电路将接收到的随机数和加密密钥根据预先设置的加密规则进行加密,例如将随机数和加密密钥进行异或,当然并不限于此。加密电路将加密结果发