一种安全类芯片的测试防护方法和装置的制造方法

文档序号:9631454阅读:655来源:国知局
一种安全类芯片的测试防护方法和装置的制造方法
【技术领域】
[0001]本发明涉及芯片测试技术领域,具体地,涉及一种安全类芯片的测试防护方法和
目-Ο
【背景技术】
[0002]芯片的测试模式,用于在晶圆阶段或成品阶段对芯片进行测试,以筛选出存在缺陷的芯片。在测试模式下,芯片的访问权限一般不受限制。因此,在芯片完成封装发行,并交付用户使用之后,如果攻击者通过一定的途径进入了测试模式,将有可能获取芯片中存储的用户个人信息,或者恶意篡改某些安全设置,以便于其对芯片实施攻击。
[0003]对于目前市场上的安全类芯片(如智能卡芯片),一般会采取一些特殊措施来防止攻击者进入测试模式。目前常见的方案有两种:第一种方案通过从芯片管脚输入测试序列进入测试模式,如果攻击者不知道测试序列,将无法进入测试模式,其实现原理如图一所示;第二种方案将测试使能信号线置于划片槽中,此信号线在划片阶段被切断,从而阻断了测试模式通路,其实现原理如图二所示。这两种方案可单独使用或结合使用,但其共同的缺点是安全性较差。
[0004]对于第一种方案,攻击者可以通过穷举法对测试序列进行破解。例如对于8位的测试序列,最多只需256次尝试就能进入测试模式。对于第二种方案,攻击者可使用FIB设备进行断线重连,从而得以进入测试模式。
[0005]另外,安全风险还来自于芯片设计人员的泄密,而之前列举的两种技术方案都无法规避这一风险。

【发明内容】

[0006]为了解决现有技术中存在的对安全类芯片进行测试时存在侵入风险的问题,本发明提出了一种安全类芯片的测试防护方法和装置。
[0007]本发明的安全类芯片的测试防护方法,包括:
[0008]步骤A:对外部测试设备输入的软件验证码进行验证,验证通过则在NVM中写入软件验证成功标志位;步骤B:对外部测试设备输入的硬件验证码进行验证,验证通过则检测NVM中的软件验证成功标志位是否有效,如果有效,则进入芯片测试模式。
[0009]本发明的安全类芯片的测试防护方法,可以兼顾量产测试、安全防护及失效分析三方面的需求,安全系数高。通过软件验证与硬件验证相结合的方式来启动测试模式,可极大增加破解难度。“软件验证码”及“硬件验证码”在芯片发行阶段写入,且不会对软件设计人员与硬件设计人员开放,能有效规避设计人员泄密的风险。
[0010]本发明的安全类芯片的测试防护装置,包括:
[0011]软件验证模块,用于对外部测试设备输入的软件验证码进行验证,验证通过则在NVM中写入软件验证成功标志位;
[0012]硬件验证模块,对外部测试设备输入的硬件验证码进行验证,验证通过则检测NVM中的软件验证成功标志位是否有效,如果有效,则进入芯片测试模式。
[0013]本发明的安全类芯片的测试防护装置,可以兼顾量产测试、安全防护及失效分析三方面的需求,安全系数高。通过软件验证与硬件验证相结合的方式来启动测试模式,可极大增加破解难度。“软件验证码”及“硬件验证码”在芯片发行阶段写入,且不会对软件设计人员与硬件设计人员开放,能有效规避设计人员泄密的风险。
[0014]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0015]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0016]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0017]图1为现有技术中对芯片测试进行防护的一方法的示意图;
[0018]图2为现有技术中对芯片测试进行防护的另一方法的示意图;
[0019]图3为本发明实施例二的流程图;
[0020]图4为本发明实施例的软件验证码、硬件验证码、软件验证成功标志位的存储示意图;
[0021]图5为本发明实施例的电路结构示意图;
[0022]图6是本发明实施例的安全类芯片测试防护装置的结构示意图。
【具体实施方式】
[0023]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0024]为了解决现有技术中存在的对安全类芯片进行测试时存在侵入风险的问题,本发明提出了一种安全类芯片的测试防护方法和装置,测试防护方法即是在芯片进行测试前的一种测试模式的启动方式。
[0025]实施例一
[0026]本实施例的方法,仅适用于在晶圆阶段对芯片测试进行防护,本方法通过外部测试设备输入相应的序列码启动测试防护,当对芯片完成CP测试(CP测试是把坏的裸片挑出来,可以减少封装和测试的成本,可以更直接的知道晶元的优良率)之后,切断对序列码的检测,使得无法重新启动测试防护,进而也无法进入芯片测试模式,大大降低了被潜在的攻击者入侵的风险。
[0027]实施例二
[0028]本实施例的方法,在晶圆阶段和成品阶段(包括对芯片进行失效分析时)均可对芯片的测试进行防护,如图3所示,包括:
[0029]步骤S101:接收外部测试设备输入的包含第一软件验证码的APDU命令;
[0030]步骤S102:接收到该APDU命令后,将第一软件验证码与NVM(非易失性存储器)中存储的第二软件验证码进行比对,如果两者一致,则验证通过,转入步骤S103:
[0031]如果两者不一致,则验证未通过,返回重新接收外部测试设备输入的包含第一软件验证码的APDU命令,并进行验证。
[0032]步骤S103:在NVM的特定区域中写入软件验证成功标志位,转入步骤S104 ;
[0033]在步骤S102-S103中,可以通过固件(固化在芯片中的软件代码),对外部测试设备输入的软件验证码进行验证,验证通过则在NVM中写入软件验证成功标志位。
[0034]步骤S104:接收外部测试设备输入的第一硬件验证码,并对该第一硬件验证码进行加密,将该第一硬件验证码与NVM中存储的“第二硬件验证码”进行比对,如果两者一致,则验证通过;
[0035]如果不一致,则验证未通过,则不会继续进行下一步操作,而重新接收外部测试设备输入的第一硬件验证码,并进行验证;步骤S105:硬件验证通过后,检测NVM中的软件验证成功标志位是否有效,如果有效,表示软件验证已通过,进入测试模式对芯片进行测试;
[0036]如果无效,则表示软件验证未通过,不会继续进行下一步操作,而重新接收外部测试设备输入的第一硬件验证码,进行验证;
[0037]在步骤S104-S105中,可以通过硬件逻辑电路(不限于此)对外部测试设备输入的硬件验证码进行验证,验证通过则检测NVM中的软件验证成功标志位是否有效,如果有效,则进入芯片测试模式。
[0038]步骤S106:在对芯片测试完成后,擦除NVM中的软件验证成功标志位,并退出测试模式。
[0039]在本实施例的方法中,第二软件验证码、第二硬件验证码只掌握在极少数核心人员,不会向软硬件设计人员开放,因此,大大降低了泄密的风险。而且,第二软件验证码、第二硬件验证码以及软件验证成功标志位均存储在NVM中的特定位置,如图4所示,禁止在应用模式下对这些区域进行读写操作,其中,位置1:第二软件验证码,位置2:第二硬件验证码,位置3:软件验证成功标志位。
[0040]本实施例的安全类芯片的测试防护方法,可以兼顾量产测试、安全防护及失效分析三方面的需求,安全系数高。通过软件验证与硬件验证相结合的方式来启动测试模式,可极大增加破解难度。“软件验证码”及“硬件验证码”在芯片发行阶段写入,且不会对软件设计人员与硬件设计人员开放,能有效规避设计人员泄密的风险。
[0041]实施例一和实施例二的方法不仅可以计算机程序来实现,部分功能还可以通过逻辑电路来实现,根据外部测试设备输入的序列码来选择是否采用上述实施例的方法。
[0042]如图5所示,外部测试设备通过GP10接口输入启动方式选择序列码,分别对应于实施例一和实施例二的测试防护方法(即启动方式)。当对晶圆阶段的芯片测试进行防护时,两种启动方式均能适用;当对成品阶段的失效芯片进行测试防护时,只能选择实施例二对应的启动方式。“测试模式使能1”、“测试模式使能2”分别指实施例一或实施例二的启动方式。
[0043]启动方式选择逻辑电路10、序列检测逻辑电路20、MUX(多路选择器)60组成的电路对应实施例一的启动方式;启动方式选择逻辑电路10、硬件加密逻辑电路30、硬件校验逻辑电路40、逻辑与门50、MUX(多路选择器)60组成的电路对应于实施例二的启动方式。上述两种启动方式的电路结构和连接关系如图5所示
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1