CN117744075A - 一种芯片测试模式防护电路及防护方法 - Google Patents
一种芯片测试模式防护电路及防护方法 Download PDFInfo
- Publication number
- CN117744075A CN117744075A CN202311792067.9A CN202311792067A CN117744075A CN 117744075 A CN117744075 A CN 117744075A CN 202311792067 A CN202311792067 A CN 202311792067A CN 117744075 A CN117744075 A CN 117744075A
- Authority
- CN
- China
- Prior art keywords
- test
- chip
- registers
- test mode
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000013256 coordination polymer Substances 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明属于SOC芯片技术领域,提供了一种芯片测试模式防护电路及防护方法,其中防护电路包括OTP存储模块和两组寄存器,OTP存储模块的不同偏移地址内存储有控制字;两组寄存器分别和OTP存储模块连接,其中一组寄存器用于存储从OTP存储模块加载的控制字,另一组寄存器用于存储从OTP存储模块加载后取反的控制字;寄存器由芯片的测试电路进行读写操作,CPU不可对其访问,控制字的取反操作可直接由芯片的测试电路完成。本发明的芯片测试模式防护电路采用OTP存储模块,配合两组寄存器用于对测试完成之后写入的控制字实现双备份,防护电路能有效抵抗侵入式攻击与半侵入式攻击,提高芯片测试模式的安全性。
Description
技术领域
本发明涉及SOC芯片技术领域,具体涉及一种芯片测试模式防护电路及防护方法。
背景技术
通用SOC芯片一般都具备测试电路,用于芯片制造后的CP测试和芯片封装后的FT测试。测试内容一般包括电流、电压、时序和功能的验证,用于筛选出制造与封装之后不合格的芯片。通用SOC芯片一般具备正常工作模式和测试模式,而正常工作模式和测试模式一般通过芯片默写特定的输入管脚的状态进行区分。与正常工作模式相比,测试模式一般具有对SOC内部更大的资源访问权限,从芯片安全的角度考虑,芯片测试模式可能成为攻击者可以利用的安全漏洞。
在芯片测试模式保护方面,目前大多数具备测试模式的芯片没有设计关闭测试模式的保护机制。大多数具备关闭测试模式保护机制的芯片,做不到永久关闭测试模式的功能,或者通过某些特定的芯片攻击手段可以绕过测试模式保护机制,重新打开芯片测试模式。
发明内容
针对现有技术中的缺陷,本发明提供一种芯片测试模式防护电路及防护方法,用以解决目前芯片的测试模式无法关闭或者容易被攻击导致重新打开的问题。
第一方面,本发明提供的一种芯片测试模式防护电路,包括:
OTP存储模块,所述OTP存储模块的不同偏移地址内存储有控制字;
两组寄存器,分别和所述OTP存储模块连接,其中一组寄存器用于存储从所述OTP存储模块加载的控制字,另一组寄存器用于存储从所述OTP存储模块加载后取反的控制字;所述寄存器由芯片的测试电路进行读写操作。
由上述技术方案可知,本发明提供的芯片防护电路,基于OTP存储模块只允许编程一次,一旦被编程,数据永久有效的特点,使得存储在OTP中的测试模式控制字不会被二次修改;可有效抵抗侵入式攻击与半侵入式攻击对于测试模式保护电路的攻击,从而保证芯片测试模式的不可逆性。
可选地,所述OTP存储模块的不同偏移地址不连续。偏移地址不连续意味着两个四字节的控制字在物理上的位置也不连续,目的是增加侵入式攻击同时对两个控制字进行物理篡改的难度。
可选地,控制字的取反操作是由芯片的测试电路完成的。
第二方面,本发明提供的SOC芯片,包括第一方面任一种可能实现方式的芯片测试模式防护电路。
第三方面,本发明提供的一种芯片测试模式防护方法,基于第二方面提供的SOC芯片,包括:
从OTP存储模块预设的不同偏移地址加载数据至两组寄存器;
在两组寄存器加载获得的数据为测试写入控制字及测试写入控制字取反,或在两组寄存器加载获得的数据不互反时,禁止进入测试模式。
由上述技术方案可知,本发明提供的芯片测试模式防护方法,在面对测试模式保护电路的攻击时,一旦控制字被写入OTP存储模块中,可有效保证测试模式不可逆性,提高芯片安全性。
可选地,在测试写入控制字写入所述OTP存储模块之前,所述OTP存储模块为默认值0,所述方法还包括:
在两组寄存器加载获得的数据分别为0x00000000和0xFFFFFFFF时,进入CP测试阶段或FT测试阶段进行测试。
可选地,芯片的测试电路向所述OTP存储模块的不同偏移地址写入测试写入控制字是在完成FT测试阶段之后。
第四方面,本发明提供的一种芯片测试模式防护装置,用于执行第三方面所提供的芯片测试模式防护方法。
采用上述技术方案,本申请具有如下有益效果:
(1)本发明的芯片测试模式防护电路采用OTP存储模块,配合两组寄存器用于对测试完成之后写入的控制字实现双备份,其中两组寄存器中存储的测试写入控制字是互反的,可以有效抵抗侵入式攻击与半侵入式攻击对于测试防护电路的攻击,从而保证芯片测试模式的不可逆性。
(2)本发明提供的芯片测试模式防护方法,通过对分别存储于两组寄存器的互反的控制字进行实时比较,一旦完成FT测试阶段写入控制字后,增加了侵入式攻击对于控制字的物理纂改难度,提高了芯片的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明实施例提供的一种芯片测试模式防护电路的示意图;
图2示出了本发明实施例提供的一种芯片测试模式防护方法的流程图;
图3示出了本发明实施例提供的一种芯片测试模式防护方法的测试阶段流程示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,本实施例提供了一种芯片测试模式防护电路,包括OTP存储模块和两组寄存器,OTP存储模块的不同偏移地址内存储有控制字;两组寄存器分别和OTP存储模块连接,其中一组寄存器用于存储从OTP存储模块加载的控制字,另一组寄存器用于存储从OTP存储模块加载后取反的控制字;寄存器由芯片的测试电路进行读写操作,CPU不可对其访问,控制字的取反操作可直接由芯片的测试电路完成,无需增加额外的器件。
OTP(One Time Programmable)是单片机的一种存储器类型,程序烧入单片机后,将不可再次更改和清除。基于OTP存储模块只允许变成一次,一旦被编程数据永久有效的特点,使得存储在OTP中的测试模式控制字不会被二次修改;可有效抵抗侵入式攻击与半侵入式攻击对于测试模式保护电路的攻击,从而保证芯片测试模式的不可逆性。
其中,两组寄存器可以为测试电路的内部寄存器。
在一个示例中,OTP存储模块的不同偏移地址不连续。偏移地址不连续意味着两个四字节的控制字在物理上的位置是不连续的,则四字节偏移地址及四字节控制字共八字节的数据需要同时被纂改,增加了侵入式攻击及对两组控制字进行物理纂改的难度。四字节控制字在保证安全性的同时,可尽可能降低数据处理量,使安全性和数据处理速率之间达到平衡。
在一个实施例中,还提供了一种SOC芯片,包括前述的芯片测试模式防护电路。本实施例提供的SOC芯片和前述芯片测试模式防护电路基于相同的发明构思,可实现相同的发明效果,在此不再赘述。
在一个实施例中,如图2所示,提供了一种芯片测试模式防护方法,基于前述实施例提供的SOC芯片,包括:
S101.从OTP存储模块预设的不同偏移地址加载数据至两组寄存器。
S102.在两组寄存器加载获得的数据为测试写入控制字及测试写入控制字取反,或在两组寄存器加载获得的数据不互反时,禁止进入测试模式。
本实施例中,芯片的测试电路向OTP存储模块的不同偏移地址写入控制字是在完成FT测试阶段之后。因此以上步骤适用于芯片完成交付后,在实际应用时由于使用环境多变,容易遭受外界攻击。以下具体以OTP存储模块的偏移地址358、402,测试写入控制字为0xEA5AABCD为例,进行具体说明。
在写入测试写入控制字后判断是否进入测试模式的流程如下:
(1)芯片上电,测试电路从OTP存储模块的偏移地址358、402加载四字节数据到测试电路内部寄存器A和寄存器B,其中寄存器B的值被测试电路取反加载;
(2)由于测试写入控制字已被写入,因此寄存器A的值为0xEA5AABCD,寄存器B的值为0x15A55432,测试电路判断禁止进入测试模式。
此时两组寄存器加载获得的数据分别为测试写入控制字和测试写入控制字取反,这种情况属于禁止进入测试模式的第一种情况,即步骤S102的其中一种情况,此时禁止进入测试模式。
在OTP测试模块遭受物理纂改后判断是否进入测试模式的流程如下:
(1)芯片上电,测试电路从OTP存储模块的偏移地址358、402加载四字节数据到测试电路内部寄存器A和寄存器B,其中寄存器B的值被测试电路取反加载;此时假设偏移地址358的值被篡改为0xEA1AABCD;
(2)由于测试写入控制字已被写入,因此寄存器A的值为0xEA1AABCD,寄存器B的值依然为0x15A55432,测试电路判断寄存器A和寄存器B的值不是取反关系,禁止进入测试模式。
此时两组寄存器加载获得的数据不互反,这种情况下属于禁止进入测试模式的第二种情况,即步骤S102的另一种情况,此时禁止进入测试模式。
需要说明的是,此种情况即两组寄存器加载获得的数据不互反,是由测试电路实时比较确定的。若有任一比特不满足取反关系,则禁止进入测试模式。取反操作和实时比较协同,可以进一步增加侵入式攻击对两个四字节的测试写入控制字进行物理纂改的难度,因为只有精准纂改两个四字节控制字的同一比特,才能不被实时比较电路发现,实时比较电路可基于测试电路本身实现。另外,两组寄存器分别存放原测试写入控制字和取反后的测试写入控制字,并进行实时比较,可以防止局部非侵入式攻击对寄存器中值的纂改,例如电压毛刺注入攻击、激光注入攻击等,此类攻击的特点是可能影响寄存器值向一个方向跳变,如1跳变为0,因此两个四字节寄存器的同一比特不会同时跳变。
在一个示例中,在控制字写入OTP存储模块之前,OTP存储模块为默认值0,方法还包括:
在两组寄存器加载获得的数据分别为0x00000000和0xFFFFFFFF时,进入CP测试阶段或FT测试阶段进行测试。以下具体以OTP存储模块的偏移地址为358、402进行举例说明。
CP测试阶段进入测试模式的流程如下:
(1)芯片上电,测试电路从OTP存储模块的偏移地址358、402加载四字节数据到寄存器A和寄存器B,其中寄存器B的值被测试电路取反加载;
(2)由于OTP在出厂时默认值为0,因此测试电路内部寄存器A的值为0x00000000,寄存器B的值为0xFFFFFFFF,测试电路判断可以进入测试模式,CP测试可在此阶段进行,直到所有CP测试项完成。
FT测试阶段进入测试模式的流程如下:
(1)芯片上电,测试电路从OTP存储模块的偏移地址358、402加载四字节数据到寄存器A和寄存器B,其中寄存器B的值被测试电路取反加载;
(2)由于OTP在出厂时默认值为0,因此测试电路内部寄存器A的值为0x00000000,寄存器B的值为0xFFFFFFFF,测试电路判断可以进入测试模式,进行FT测试。
在芯片特定输入管脚输入特定的FT测试特征码,及满足FT测试阶段进入测试模式后进行FT测试,输入不同的FT测试特征码,完成全部FT测试项。FT最后一个测试项触发测试电路向OTP存储模块的不同偏移地址写入测试写入控制字,在前述具体示例中应该为0xEA5AABCD,FT测试全部完成。以上芯片测试模式防护方法的具体示例请参见图3。
在一个实施例中,还提供了一种芯片测试模式防护装置,用于执行前述实施例提供的芯片测试模式防护方法,本实施例提供的芯片测试模式防护装置和前述实施例提供的芯片测试模式防护方法基于相同的发明构思,能实现相同的技术效果,在此不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种芯片测试模式防护电路,其特征在于,包括:
OTP存储模块,所述OTP存储模块的不同偏移地址存储有控制字;
两组寄存器,分别和所述OTP存储模块连接,其中一组寄存器用于存储从所述OTP存储模块加载的控制字,另一组寄存器用于存储从所述OTP存储模块加载后取反的控制字;所述寄存器由芯片的测试电路进行读写操作。
2.根据权利要求1所述的电路,其特征在于,所述OTP存储模块的不同偏移地址不连续。
3.根据权利要求2所述的电路,其特征在于,不同偏移地址内存储的是四字节控制字。
4.根据权利要求3所述的电路,其特征在于,控制字的取反操作是由芯片的测试电路完成的。
5.一种SOC芯片,其特征在于,包括权利要求1-4任一所述的芯片测试模式防护电路。
6.一种芯片测试模式防护方法,其特征在于,基于权利要求5所述的SOC芯片,包括:
从OTP存储模块预设的不同偏移地址加载数据至两组寄存器;
在两组寄存器加载获得的数据为测试写入控制字及测试写入控制字取反,或在两组寄存器加载获得的数据不互反时,禁止进入测试模式。
7.根据权利要求6所述的方法,其特征在于,在所述测试写入控制字写入所述OTP存储模块之前,所述OTP存储模块为默认值0,所述方法还包括:
在两组寄存器加载获得的数据分别为0x00000000和0xFFFFFFFF时,进入CP测试阶段或FT测试阶段进行测试。
8.根据权利要求7所述的方法,其特征在于,芯片的测试电路向所述OTP存储模块的不同偏移地址写入所述测试写入控制字是在完成FT测试阶段之后。
9.一种芯片测试模式防护装置,其特征在于,用于执行权利要求6-8任一所述的芯片测试模式防护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311792067.9A CN117744075A (zh) | 2023-12-25 | 2023-12-25 | 一种芯片测试模式防护电路及防护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311792067.9A CN117744075A (zh) | 2023-12-25 | 2023-12-25 | 一种芯片测试模式防护电路及防护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117744075A true CN117744075A (zh) | 2024-03-22 |
Family
ID=90282774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311792067.9A Pending CN117744075A (zh) | 2023-12-25 | 2023-12-25 | 一种芯片测试模式防护电路及防护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117744075A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507609A (zh) * | 2001-05-10 | 2004-06-23 | 1 | 保护计算机寄存器内容免受操纵的方法及执行其的计算机 |
WO2004070496A2 (de) * | 2003-02-06 | 2004-08-19 | Infineon Technologies Ag | Schaltung mit schutz vor manipulativen angriffen und verfahren |
EP1591864A2 (de) * | 2004-04-29 | 2005-11-02 | Giesecke & Devrient GmbH | Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe |
CN1799104A (zh) * | 2003-06-05 | 2006-07-05 | 皇家飞利浦电子股份有限公司 | 存储在非易失性存储器中的数据的完整性控制 |
JP2006228425A (ja) * | 2001-07-11 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 半導体集積回路、半導体集積回路の検査方法、半導体集積回路の検査プログラム |
JP2007323019A (ja) * | 2006-06-05 | 2007-12-13 | Sony Corp | 暗号処理装置 |
CN101253413A (zh) * | 2005-08-30 | 2008-08-27 | 松下电器产业株式会社 | 半导体装置、测试模式控制电路 |
JP2011204319A (ja) * | 2010-03-25 | 2011-10-13 | Sharp Corp | 半導体集積回路および電子機器 |
CN103593626A (zh) * | 2013-11-11 | 2014-02-19 | 杭州晟元芯片技术有限公司 | 一种芯片测试模式和调试模式的保护方法 |
CN106845289A (zh) * | 2015-12-07 | 2017-06-13 | 国民技术股份有限公司 | 一种安全芯片及其非易失性存储控制装置、方法 |
-
2023
- 2023-12-25 CN CN202311792067.9A patent/CN117744075A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1507609A (zh) * | 2001-05-10 | 2004-06-23 | 1 | 保护计算机寄存器内容免受操纵的方法及执行其的计算机 |
JP2006228425A (ja) * | 2001-07-11 | 2006-08-31 | Matsushita Electric Ind Co Ltd | 半導体集積回路、半導体集積回路の検査方法、半導体集積回路の検査プログラム |
WO2004070496A2 (de) * | 2003-02-06 | 2004-08-19 | Infineon Technologies Ag | Schaltung mit schutz vor manipulativen angriffen und verfahren |
CN1799104A (zh) * | 2003-06-05 | 2006-07-05 | 皇家飞利浦电子股份有限公司 | 存储在非易失性存储器中的数据的完整性控制 |
EP1591864A2 (de) * | 2004-04-29 | 2005-11-02 | Giesecke & Devrient GmbH | Verfahren zum Schützen von Daten eines Datenträgers gegen DFA-Angriffe |
CN101253413A (zh) * | 2005-08-30 | 2008-08-27 | 松下电器产业株式会社 | 半导体装置、测试模式控制电路 |
JP2007323019A (ja) * | 2006-06-05 | 2007-12-13 | Sony Corp | 暗号処理装置 |
JP2011204319A (ja) * | 2010-03-25 | 2011-10-13 | Sharp Corp | 半導体集積回路および電子機器 |
CN103593626A (zh) * | 2013-11-11 | 2014-02-19 | 杭州晟元芯片技术有限公司 | 一种芯片测试模式和调试模式的保护方法 |
CN106845289A (zh) * | 2015-12-07 | 2017-06-13 | 国民技术股份有限公司 | 一种安全芯片及其非易失性存储控制装置、方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7911839B2 (en) | System and method to control one time programmable memory | |
US6952778B1 (en) | Protecting access to microcontroller memory blocks | |
JP5535547B2 (ja) | セキュアメモリインターフェース | |
US7795899B1 (en) | Enabling on-chip features via efuses | |
US6615324B1 (en) | Embedded microprocessor multi-level security system in flash memory | |
US20080022396A1 (en) | Memory data protection device and IC card LSI | |
US6026016A (en) | Methods and apparatus for hardware block locking in a nonvolatile memory | |
US9390278B2 (en) | Systems and methods for code protection in non-volatile memory systems | |
KR100255568B1 (ko) | 재기록이 가능한 불휘발성 메모리를 갖는 마이크로컴퓨터 | |
US8417902B2 (en) | One-time-programmable memory emulation | |
US6543016B1 (en) | Testing content-addressable memories | |
US8621643B2 (en) | Semiconductor device | |
US7398554B1 (en) | Secure lock mechanism based on a lock word | |
JP3578175B2 (ja) | メモリワードの管理回路 | |
CN117744075A (zh) | 一种芯片测试模式防护电路及防护方法 | |
US7890721B2 (en) | Implementation of integrated status of a protection register word in a protection register array | |
US20060020746A1 (en) | Method and system for locking OTP memory bits after programming | |
JP2000148594A (ja) | Romデータの読み出しプロテクト回路 | |
US8380918B2 (en) | Non-volatile storage alteration tracking | |
US6754857B2 (en) | Method of testing cache memory | |
US7916549B2 (en) | Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method | |
US6594777B1 (en) | Semiconductor memory device | |
TWI750073B (zh) | 具有保全功能的半導體裝置及其保全方法 | |
US20030046480A1 (en) | Integrated circuit with programmable locking circuit | |
US20220301649A1 (en) | Protection of the content of a fuse memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |