CN116660735A - 一种用于jtag测试的芯片安全防护系统及方法 - Google Patents
一种用于jtag测试的芯片安全防护系统及方法 Download PDFInfo
- Publication number
- CN116660735A CN116660735A CN202310627554.3A CN202310627554A CN116660735A CN 116660735 A CN116660735 A CN 116660735A CN 202310627554 A CN202310627554 A CN 202310627554A CN 116660735 A CN116660735 A CN 116660735A
- Authority
- CN
- China
- Prior art keywords
- password
- chip
- jtag
- area
- protection
- 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 35
- 238000000034 method Methods 0.000 title claims abstract description 9
- 230000002093 peripheral effect Effects 0.000 claims abstract description 12
- 238000013500 data storage Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 231100000279 safety data Toxicity 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318597—JTAG or boundary scan test of memory devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2853—Electrical testing of internal connections or -isolation, e.g. latch-up or chip-to-lead connections
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于芯片安全防护领域,公开了一种用于JTAG测试的芯片安全防护系统及方法,系统包括CPU、Boot Rom存储器、FLASH、外设模块、系统总线和保护单元;所述保护单元用于保护芯片内部的安全区域,防止在安全模式下通过JTAG访问安全区域内的数据。本发明将芯片内部存储重要数据的区域划分为安全区域,非重要区域划分为非安全区域,设计保护单元,当JTAG连接进行测试时,会先判断保护单元返回的芯片的安全状态,若为安全状态,则JTAG无法访问安全区域,从而阻止JTAG对芯片的探查,提升芯片的安全性。
Description
技术领域
本发明属于芯片安全防护领域,特别涉及一种用于JTAG测试的芯片安全防护系统及方法。
背景技术
JTAG接口(Joint Test Action Group,联合测试工作组)是一种标准协议测试接口,主要用于芯片内部的测试。JTAG的基本原理是在设备内部定义一个测试访问接口,通过专用的测试工具对内部节点进行测试。
具有JTAG Debug接口模块的芯片,只要时钟正常,就可以通过JTAG接口访问芯片内部的寄存器和挂在芯片总线上的设备,从而可以达到访问芯片内部数据和控制芯片的目的。
通过JTAG接口可以访问芯片内部的寄存器和设备,可以获取到内部存储器内的数据,如果芯片内部存储器存放的数据对于开发者来说是重要的、保密的,比如Flash中固化的程序,开发者并不希望后期的使用者获取到此数据以及对此数据进行更改,所以如果JTAG可以随意访问芯片内部数据对于重要数据的保护是不安全的。
发明内容
为解决上述技术问题,本发明提供了一种用于JTAG测试的芯片安全防护系统和方法,以达到在进行JTAG测试时,对芯片内部安全区域进行保护的目的。
为达到上述目的,本发明的技术方案如下:
一种用于JTAG测试的芯片安全防护系统,包括CPU、Boot Rom存储器、FLASH、外设模块、系统总线和保护单元;
所述CPU内部包括调试单元、内核、数据存储区、程序存储区,是运算核心和控制核心;所述调试单元用于和JTAG设备连接,实现JTAG测试工具和芯片之间数据的传输;所述内核是CPU的重要组成部分,用于指令的执行和数据的计算;所述数据存储区用于存放数据,为非安全区域;所述程序存储区用于存放程序,为安全区域;
所述Boot Rom存储器用来存储引导程序的区域,为非安全区域;
所述FLASH可进行多次擦除、编程,为安全区域;FLASH内部设置一块密码存储区,用于存放开发人员设置的保护密码;
所述外设模块为挂在系统总线上的各设备;
所述系统总线用于调配CPU和各存储区以及外设模块之间的访问,CPU通过系统总线访问密码存储区获得预选设置的保护密码,将此密码送到保护单元;
所述保护单元用于保护芯片内部的安全区域,防止在安全模式下通过JTAG访问安全区域内的数据。
上述方案中,所述保护单元包括密码采集单元、解密寄存器、密码比较单元和状态寄存器;
所述密码采集单元用于采集来自FLASH的密码存储区传输过来的保护密码;
所述解密寄存器用于存放解除安全保护机制时所需的解密密码;
所述密码比较单元用于将保护密码和解密密码进行比较;
所述状态寄存器用于根据密码比较的结果表示芯片处于安全模式或非安全模式。
上述方案中,所述密码存储区大小为4x16比特。
上述方案中,所述外设模块包括SPI、UART。
一种用于JTAG测试的芯片安全防护方法,采用如上所述的一种用于JTAG测试的芯片安全防护系统,包括如下步骤:
当进行JTAG测试时,密码比较单元对解密寄存器的解密密码和密码存储区内的保护密码进行比较,若不一致,状态寄存器的状态位会表示芯片处于安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会阻止JTAG去访问安全区域,读安全区域将返回0数据,写安全区域将会被丢弃,CPU不会执行对应的写操作,访问非安全区域不受影响;
如果解密寄存器的解密密码和密码存储区内的保护密码一致,状态寄存器的状态位会表示芯片处于非安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会允许JTAG去访问安全区域和非安全区域。
通过上述技术方案,本发明提供的一种用于JTAG测试的芯片安全防护系统和方法具有如下有益效果:
本发明将芯片内部存储重要数据的区域划分为安全区域,非重要区域划分为非安全区域,设计保护单元,当JTAG连接进行测试时,会先判断保护单元返回的芯片的安全状态,若为安全状态,则JTAG无法访问安全区域,从而阻止JTAG对芯片的探查,提升芯片的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所公开的一种用于JTAG测试的芯片安全防护系统示意图。
图2为本发明实施例所公开的保护单元内部示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种用于JTAG测试的芯片安全防护系统,如图1所示,包括CPU、BootRom存储器、FLASH、外设模块、系统总线和保护单元。
CPU,中央处理单元,内部包括调试单元、内核、数据存储区、程序存储区,是运算核心和控制核心;其中,调试单元用于和JTAG设备连接,实现JTAG测试工具和芯片之间数据的传输;内核是CPU的重要组成部分,用于指令的执行和数据的计算;数据存储区用于存放数据,为非安全区域;程序存储区用于存放程序,为安全区域。
Boot Rom存储器用来存储引导程序的区域,为非安全区域。
FLASH可进行多次擦除、编程,为安全区域;FLASH内部设置一块大小为4x16比特的密码存储区,用于存放开发人员设置的保护密码。
外设模块为挂在系统总线上的各设备,如SPI、UART等。
系统总线用于调配CPU和各存储区以及外设模块之间的访问,CPU通过系统总线访问密码存储区获得预选设置的保护密码,将此密码送到保护单元。
保护单元用于保护芯片内部的安全区域,防止在安全模式下通过JTAG访问安全区域内的数据。
JTAG调试接口:调试人员通过专用设备(仿真器)上的JTAG调试接口与芯片连接,通过仿真器控制CPU去访问存储空间或者控制设备。
如图2所示,保护单元包括密码采集单元、解密寄存器、密码比较单元和状态寄存器;密码采集单元用于采集来自FLASH的密码存储区传输过来的保护密码;解密寄存器用于存放解除安全保护机制时所需的解密密码;密码比较单元用于将保护密码和解密密码进行比较;状态寄存器用于根据密码比较的结果表示芯片处于安全模式或非安全模式。
因此,上述结构在保证正常JTAG测试功能的基础上,实现了对芯片内部安全区域的保护。
一种用于JTAG测试的芯片安全防护方法,采用如上的一种用于JTAG测试的芯片安全防护系统,包括如下步骤:
当进行JTAG测试时,密码比较单元对解密寄存器的解密密码和密码存储区内的保护密码进行比较,若不一致,状态寄存器的状态位会表示芯片处于安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会阻止JTAG去访问安全区域,读安全区域将返回0数据,写安全区域将会被丢弃,CPU不会执行对应的写操作,访问非安全区域不受影响;
如果解密寄存器的解密密码和密码存储区内的保护密码一致,状态寄存器的状态位会表示芯片处于非安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会允许JTAG去访问安全区域和非安全区域。
假设:密码存储区内部存储的4个16位保护密码数据为0x1111,0x2222,0x3333,0x4444。解密寄存器的解密密码复位初始值为0xFFFF,0xFFFF,0xFFFF,0xFFFF。
不连接仿真器即不使用JTAG进行测试的时:
此时解密寄存器的值和密码存储区内的值不匹配,芯片处于安全状态,但是此时不是调试模式,CPU可以正常对安全区域和非安全区域进行访问。
连接仿真器使用JTAG进行测试时:
1、此时解密寄存器的值和密码存储区内的值不匹配,芯片处于安全状态,并且此时是调试模式,当通过JTAG发起对安全区域(PMEM,FLASH)访问时,读操作访问时,JTAG读回的数据为0,写操作访问时会丢弃掉此次访问,写操作对应的存储空间数据不会被更新,仍然是原来的值。当通过JTAG发起对非安全区域的访问时,读回对应空间的正确数据,写时对应空间数据会被更新。
2、对解密寄存器的值进行更新,此时解密寄存器的值为0x1111,0x2222,0x3333,0xFFFF,此时芯片仍处于安全状态,JTAG仍然无法访问芯片内部的安全区域。
3、对解密寄存器的值进行更新,此时解密寄存器的值为0x1111,0x2222,0x3333,0x4444,此时解密寄存器内的值和密码存储区预先设置的值一致,解除保护,芯片此时处于非安全状态。当JTAG发起对安全区域的访问时,读操作时返回对应空间的正确数据,写操作时对应空间的数据会被更新,对非安全区域的访问同理。
综上所述,在保证了JTAG正常调试功能的基础上,实现了对安全数据的保护,阻止了调试人员通过JTAG调试功能对安全数据的获取。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种用于JTAG测试的芯片安全防护系统,其特征在于,包括CPU、Boot Rom存储器、FLASH、外设模块、系统总线和保护单元;
所述CPU内部包括调试单元、内核、数据存储区、程序存储区,是运算核心和控制核心;所述调试单元用于和JTAG设备连接,实现JTAG测试工具和芯片之间数据的传输;所述内核是CPU的重要组成部分,用于指令的执行和数据的计算;所述数据存储区用于存放数据,为非安全区域;所述程序存储区用于存放程序,为安全区域;
所述Boot Rom存储器用来存储引导程序的区域,为非安全区域;
所述FLASH可进行多次擦除、编程,为安全区域;FLASH内部设置一块密码存储区,用于存放开发人员设置的保护密码;
所述外设模块为挂在系统总线上的各设备;
所述系统总线用于调配CPU和各存储区以及外设模块之间的访问,CPU通过系统总线访问密码存储区获得预选设置的保护密码,将此密码送到保护单元;
所述保护单元用于保护芯片内部的安全区域,防止在安全模式下通过JTAG访问安全区域内的数据。
2.根据权利要求1所述的一种用于JTAG测试的芯片安全防护系统,其特征在于,所述保护单元包括密码采集单元、解密寄存器、密码比较单元和状态寄存器;
所述密码采集单元用于采集来自FLASH的密码存储区传输过来的保护密码;
所述解密寄存器用于存放解除安全保护机制时所需的解密密码;
所述密码比较单元用于将保护密码和解密密码进行比较;
所述状态寄存器用于根据密码比较的结果表示芯片处于安全模式或非安全模式。
3.根据权利要求1所述的一种用于JTAG测试的芯片安全防护系统,其特征在于,所述密码存储区大小为4x16比特。
4.根据权利要求1所述的一种用于JTAG测试的芯片安全防护系统,其特征在于,所述外设模块包括SPI、UART。
5.一种用于JTAG测试的芯片安全防护方法,采用如权利要求1或2所述的一种用于JTAG测试的芯片安全防护系统,其特征在于,包括如下步骤:
当进行JTAG测试时,密码比较单元对解密寄存器的解密密码和密码存储区内的保护密码进行比较,若不一致,状态寄存器的状态位会表示芯片处于安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会阻止JTAG去访问安全区域,读安全区域将返回0数据,写安全区域将会被丢弃,CPU不会执行对应的写操作,访问非安全区域不受影响;
如果解密寄存器的解密密码和密码存储区内的保护密码一致,状态寄存器的状态位会表示芯片处于非安全模式,此时JTAG连接芯片后,CPU读取到此状态位后会允许JTAG去访问安全区域和非安全区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310627554.3A CN116660735A (zh) | 2023-05-30 | 2023-05-30 | 一种用于jtag测试的芯片安全防护系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310627554.3A CN116660735A (zh) | 2023-05-30 | 2023-05-30 | 一种用于jtag测试的芯片安全防护系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116660735A true CN116660735A (zh) | 2023-08-29 |
Family
ID=87711206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310627554.3A Pending CN116660735A (zh) | 2023-05-30 | 2023-05-30 | 一种用于jtag测试的芯片安全防护系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116660735A (zh) |
-
2023
- 2023-05-30 CN CN202310627554.3A patent/CN116660735A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3287800B1 (en) | Jtag debug apparatus and jtag debug method | |
JP5419776B2 (ja) | 半導体装置及びデータ処理方法 | |
JP4260984B2 (ja) | 情報処理装置および情報処理方法 | |
JP5153887B2 (ja) | プロセッサから周辺機器へのセキュア動作モードアクセス特権の譲渡のための方法及び装置 | |
US20070101158A1 (en) | Security region in a non-volatile memory | |
US5970246A (en) | Data processing system having a trace mechanism and method therefor | |
US20190347401A1 (en) | Chip accessing method, security controlling module, chip and debugging device | |
US20120036299A1 (en) | Secure Information Processing | |
CN101978339B (zh) | 用于硬件重置保护的方法和装置 | |
CN111191214B (zh) | 一种嵌入式处理器及数据保护方法 | |
CN111199023A (zh) | 一种mcu程序的密钥系统及解密方法 | |
WO2020002441A1 (en) | Method of debugging a device | |
CN116660735A (zh) | 一种用于jtag测试的芯片安全防护系统及方法 | |
US20190042732A1 (en) | Technologies for usb controller state integrity protection | |
CN112086119B (zh) | 存储器设备 | |
CN110275845B (zh) | 存储器控制方法、装置及电子设备 | |
JP5761880B2 (ja) | 自動車 | |
JP5603993B2 (ja) | 電装ユニット及びデータ処理方法 | |
US10043027B1 (en) | Generation of mask-value pairs for managing access to memory segments | |
CN111968693B (zh) | 一种mcu及mcu调试接口控制方法 | |
US9734032B1 (en) | Diagnostic coverage of registers by software | |
US20240004804A1 (en) | Method for managing access rights of memory regions and corresponding system on chip | |
JP4903606B2 (ja) | データ保護機能付き集積回路およびデータ保護機能付き集積回路用のデータ保護プログラム | |
JP3404354B2 (ja) | インサーキットエミュレータ及び不正アクセス検出方法 | |
TW202232330A (zh) | 電子裝置與其操作方法 |
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 |