CN116660735A - 一种用于jtag测试的芯片安全防护系统及方法 - Google Patents

一种用于jtag测试的芯片安全防护系统及方法 Download PDF

Info

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
Application number
CN202310627554.3A
Other languages
English (en)
Inventor
袁晋瑜
李阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Benyuan Microelectronics Co ltd
Original Assignee
Qingdao Benyuan Microelectronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Benyuan Microelectronics Co ltd filed Critical Qingdao Benyuan Microelectronics Co ltd
Priority to CN202310627554.3A priority Critical patent/CN116660735A/zh
Publication of CN116660735A publication Critical patent/CN116660735A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318597JTAG or boundary scan test of memory devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2853Electrical testing of internal connections or -isolation, e.g. latch-up or chip-to-lead connections
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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测试的芯片安全防护系统及方法。
背景技术
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去访问安全区域和非安全区域。
CN202310627554.3A 2023-05-30 2023-05-30 一种用于jtag测试的芯片安全防护系统及方法 Pending CN116660735A (zh)

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)

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