CN101620656B - 安全jtag电路及保护芯片内部信息安全的方法 - Google Patents

安全jtag电路及保护芯片内部信息安全的方法 Download PDF

Info

Publication number
CN101620656B
CN101620656B CN 200910109145 CN200910109145A CN101620656B CN 101620656 B CN101620656 B CN 101620656B CN 200910109145 CN200910109145 CN 200910109145 CN 200910109145 A CN200910109145 A CN 200910109145A CN 101620656 B CN101620656 B CN 101620656B
Authority
CN
China
Prior art keywords
circuit
jtag
password
safety
obfuscation
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.)
Expired - Fee Related
Application number
CN 200910109145
Other languages
English (en)
Other versions
CN101620656A (zh
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.)
Guowei Group Shenzhen Co ltd
Original Assignee
Shenzhen State Micro Technology 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 Shenzhen State Micro Technology Co Ltd filed Critical Shenzhen State Micro Technology Co Ltd
Priority to CN 200910109145 priority Critical patent/CN101620656B/zh
Publication of CN101620656A publication Critical patent/CN101620656A/zh
Application granted granted Critical
Publication of CN101620656B publication Critical patent/CN101620656B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种安全JTAG电路及保护芯片内部信息安全的方法。其中该安全JTAG电路连接在JTAG端口与保护对象之间,其包括:非易失性介质;装载电路;安全属性控制寄存器;连接在JTAG端口与保护对象之间的TAP控制器、第一选择器和第二选择器;受计时器控制接通的开关;验证用户输入的明文密码与模糊化密码B是否一致的密码验证电路,连接在开关、非易失性介质和逻辑处理电路三者之间;将验证结果和安全属性控制寄存器输出的指示信号进行逻辑处理的逻辑处理电路,其输出使能信号至第一选择器和第二选择器控制是否允许JTAG端口通过TAP控制器连接芯片内部的保护对象。本发明确保SOC芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。

Description

安全JTAG电路及保护芯片内部信息安全的方法
技术领域
本发明涉及SOC芯片JTAG端口的安全控制技术,尤其是涉及一种对SOC芯片内部的处理器JTAG电路、储存器测试电路和全扫描链测试电路进行安全控制的安全JTAG电路,以及应用该安全JTAG电路来实现保护芯片内部信息安全的方法。
背景技术
测试和调试是SOC(System-on-Chip)芯片设计与生产过程中一个重要环节。测试用来确保SOC芯片能正常工作,调试的目的主要是便于芯片的应用开发或故障跟踪分析。
针对SOC芯片集成的处理器(中央处理器、微处理器)的调试主要采用JTAG(Join TestAction Group)端口。用户通过JTAG端口可以控制处理器执行用户期望的指令,从而实现对总线地址的访问。因此,用户通过JTAG端口可以修改或获取总线地址所存储的内容。JTAG端口也被用来实现边界扫描链测试。用户通过JTAG端口控制芯片的管脚,对芯片施加特定的激励,驱动芯片完成特定的操作,也可能修改或获取芯片内部的信息。除了边界扫描链测试以外,存储器测试和全扫描链测试是SOC芯片最常见的测试技术。用户通过存储器测试可能获得芯片内置存储器的内容;用户通过全扫描链测试,能修改或获取芯片内部寄存器的内容。
作为安全芯片,以上的调试端口和测试电路将严重威胁芯片内部的数据安全。既要考虑芯片测试和调试的方便性,又要保证芯片内部数据的安全性,是SOC安全芯片必须考虑的问题。现有技术对SOC芯片调试的安全隐患多有考虑,但测试整体的安全性考虑不足。
比如,申请号为200410003197和200610050898的中国专利申请,其分别提供一种从芯片调试的角度解决上述的JTAG端口导致的安全隐患的技术方案,但存在如下缺陷:此两个专利申请提供的技术方案适用于一次性大批量编程,不便于个性化发行和多方开发;这里的个性化发行,指在JTAG受保护的情况下,用户A通过JTAG端口只能访问用户A能访问的内容,而不能访问用户B可以访问的内容;另外,此两个专利申请只提供关或开两种选择,不利用产品化后芯片故障的跟踪分析。又如,申请号为200610117452的中国专利申请,其引入认证概念,虽然可以实现个性化发行,但依然不便于多方开发,且增加了JTAG接口的复杂度,且不具备完全关闭JTAG端口的功能,依然存在用户通过JTAG端口攻击芯片的危险,不满足特定用户完全关闭JTAG端口的安全需求。
现有技术不能有效提高其它测试技术的安全性,比如存储器测试和全扫描链测试。用户可能在芯片运行的某一特定时刻,通过存储器测试技术,获取或修改芯片内部存储器中影响系统安全特性的内容;用户也可以驱动芯片进入全扫描链测试模式,获取或修改芯片内部寄存器的内容,从而获取芯片的机密数据。用户甚至有可能通过全扫描链测试技术,打开本来已关闭的JTAG端口,从而让JTAG端口保护措施失效。
因此,为了确保SOC安全芯片在测试和调试过程中的安全性和方便性,必须采用一些新的方法。
发明内容
本发明的目的提供了一种高安全、易使用、实现简单的安全JTAG电路,以及应用该安全JTAG电路来实现保护芯片内部信息安全的方法,确保SOC芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。
为解决本发明的技术问题,本发明采用了如下技术方案:一种安全JTAG电路,其包括:
存储安全配置信息的非易失性介质206,该安全配置信息包括保护对象的安全属性、模糊化密码B和公开信息;
于芯片上电时从非易失性介质206读取安全配置信息进行自动装载并配置的装载电路205;
记录装载电路205装载的安全配置信息中的安全属性,根据安全属性的访问限制模式对应输出2个指示信号的安全属性控制寄存器214;
连接在JTAG端口1与芯片内部的保护对象之间的TAP控制器201、第一选择器207和第二选择器211;
在访问限制模式为密码保护模式时受计时器202控制接通的开关203,该开关203连接在TAP控制器201的输出端与用于验证用户输入的明文密码与模糊化密码B是否一致的密码验证电路之间;
将密码验证电路输出的验证结果和安全属性控制寄存器214输出的指示信号进行逻辑处理的逻辑处理电路,其输出使能信号至第一选择器207和第二选择器211控制是否允许JTAG端口1通过TAP控制器201连接芯片内部的保护对象。
其中,所述密码验证电路包括:
模糊化密码寄存器209,存储由装载电路205传来的安全配置中的模糊化密码B;
输入密码寄存器204,用于记录用户通过JTAG端口1、TAP控制器201和开关203输入的明文密码,并将明文密码送给模糊化算法电路208;
模糊化算法电路208,用于采用模糊化算法将明文密码处理为模糊化密码A;
比较器210,用于将模糊化密码A和模糊化密码B相比较,判断是否匹配,若两者匹配,则输出一个高电平信号C至逻辑处理电路,否则输出一个低电平信号C至逻辑处理电路。
其中,所述模糊化算法为一种或多种加密处理算法,其为哈希算法、对称加密算法或非对称加密算法。
其中,所述安全配置信息中的模糊化密码B和保密数据由芯片的系统保证不允许用户通过JTAG端口1访问。
其中,所述访问限制模式包括由低中高三个安全等级:用户可以无限制通过JTAG端口1访问或启动保护对象的开放模式、用户只有在输入正确的访问密码后才能通过JTAG端口1访问或启动保护对象的密码保护模式、用户在任何情况下都不能通过JTAG端口1访问或启动保护对象的禁止模式;且安全属性信息只能不可逆转的从低安全等级修改到高安全等级。
其中,所述计时器202在芯片上电后,启动定时器以经过一定时间延迟后才允许TAP控制器201输出的明文密码传递给输入密码寄存器204;且当TAP控制器201输出一次明文密码后,再次启动定时器以经过一定时间延迟后才接受TAP控制器201输出新的明文密码。
其中,所述逻辑处理电路包括:
二输入的或门213,其中一个输入端接收所述密码验证电路输出的验证结果,另一个输入端接收安全属性控制寄存器214输出的其中一个指示信号;
二输入的与门212,其中一个输入端连接或门213的输出端,另一个输入端接收安全属性控制寄存器214输出的另一个指示信号,该与门212的输出端输出使能信号至第一选择器207和第二选择器211。
另外,本发明还公开一种基于安全JTAG电路实现保护芯片内部信息安全的方法,其包括:
于芯片上电时从非易失性介质206读取安全配置信息进行自动装载并配置;
由安全属性控制寄存器214根据安全属性的访问限制模式对应输出2个指示信号;
当访问限制模式为密码保护模式时,由计时器202控制接通开关203,以控制用户通过JTAG端口1输入的明文密码从TAP控制器201输出至密码验证电路;
由密码验证电路验证用户输入的明文密码与模糊化密码B是否一致,输出验证结果;
由逻辑处理电路将密码验证电路输出的验证结果和安全属性控制寄存器214输出的指示信号进行逻辑处理,输出使能信号至第一选择器207和第二选择器211控制是否允许JTAG端口1通过TAP控制器201连接芯片内部的保护对象。
与现有技术相比,本发明具有如下有益效果:
1、本发明根据用户设置的安全属性控制对访问对象(处理器JTAG电路、存储器的测试电路、全扫描链测试电路或其它测试电路)的访问或启动,有效地降低了测试或调试电路对芯片内部数据的安全隐患,提高了芯片的数据安全特性。
2、本发明能有效防止他人通过全扫描链测试技术控制JTAG保护电路的内部状态或获取JTAG保护电路的敏感数据,规避了JTAG保护电路在全扫描链测试技术下失效的风险。
3、本发明支持访问密码以模糊化的形式存储于受保护的非易失性介质中,有效降低了模糊化密码在其传输途径中被泄漏导致的实际明文密码被泄密的风险。
4、本发明采用比如HASH算法的密码模糊化算法,使用较少的存储代价就可以支持超长的用户访问密码(不超过HASH算法规定的长度),且模糊化算法的不可逆特性进一步确保了密码传输过程的安全性。
5、本发明支持用户通过JTAG端口读出芯片的标识号,允许第三方把芯片标识号和访问密码关联起来,很方便地实现了第三方对芯片(访问对象的)访问密码的个性化管理。
6、本发明支持三个安全属性等级,可以满足用户在芯片不同发行阶段的不同安全需求,支持客户多次发行或多用户发行,便于用户或第三方在芯片产品化的不同阶段进行程序调试和故障分析。
7、本发明在接受密码输入时存在时间间隔保护限制,可以有效阻止他人对芯片的访问密码进行快速穷举攻击。
附图说明
图1为本发明系统芯片的内部结构示意图。
图2为图1中安全JTAG电路对处理器JTAG电路进行安全控制的示意图。
图3为图1中安全JTAG电路对全扫描链测试电路和存储器测试电路进行安全控制的示意图。
具体实施方式
下面结合附图对本发明的具体实施例进行说明。
图1为本发明揭露的系统芯片的内部结构示意图。系统芯片(System on Chip,SOC)2包括:安全JTAG(Join Test Action Group)电路21、处理器JTAG电路22、全扫描链测试电路23和存储器测试电路24。处理器JTAG电路22、全扫描链测试电路23和存储器测试电路24是系统芯片2受安全JTAG电路21保护的对象(简称保护对象),只有通过安全JTAG电路21的安全许可,用户才能通过JTAG端口1访问或启动保护对象,实现对系统芯片2的测试或调试。故本发明着重在于描述安全JTAG电路21是如何实现对处理器JTAG电路22、全扫描链测试电路23和存储器测试电路24进行安全控制。
由于芯片设计中电路化处理可以根据实现情况变化,在具体设计中,全扫描链测试电路23可以包括处理JTAG电路21、储存器测试电路24、安全JTAG电路22的部分电路,但不应包括安全JTAG电路22中对安全特性有影响的电路,比如记录安全属性的控制寄存器,以规避他人通过全扫描链测试电路23修改或获取安全JTAG电路21中的安全特性或其它敏感信号,导致安全JTAG电路21失去对保护对象的安全保护的作用。
另外,系统芯片2作为待测芯片,借助外部的JTAG端口1进行测试和调试,以确保系统芯片2能够正常工作。其中,JTAG端口1一般有5个信号:时钟信号TCK、复位信号TRST、模式信号TMS、数据输入信号TDI、数据输出信号TDO。
JTAG端口1与系统芯片2内部的安全JTAG电路21进行连接;安全JTAG电路则根据预先配置的安全属性信息来确定是否允许JTAG端口1与系统芯片2内部得处理器JTAG电路21连接、或是否允许JTAG端口1启动或使能全扫描链测试电路23和存储器测试电路24。
如图2所示。其中TAP控制器201~安全属性控制寄存器214均是安全JTAG电路21的子部件。本发明的系统芯片2上电后自动装载安全配置信息,并根据安全配置中的安全属性,对保护对象进行适当保护。安全配置信息存放在非易失性介质206,其是受保护的非易失性介质,即可设置于JTAG电路21内部,也可以设置与系统芯片2外部。非易失性介质206具有如下安全特性:合法用户可编程其中的安全配置信息;安全配置信息中的芯片标识号和访问密码在用户完成第一次初始化后不允许用户更改;安全属性信息只能从低安全等级修改到高安全等级,不可逆转。在具体实施过程中,非易失性介质206的安全特性由芯片系统保证,因此这里不阐述如何保证非易失性介质206的安全特性。
安全属性信息反映访问对象的访问限制模式,包括低中高三个安全等级:开放模式(低安全级别)、密码保护模式(中安全级别)、禁止模式(高安全级别)。在开放模式下,用户可以无限制通过JTAG端口1访问或启动保护对象;在密码保护模式下,用户只有在输入正确的访问密码后,才能访问或启动保护对象;在禁止模式下,用户在任何情况下都不能访问或启动保护对象。安全属性和芯片标识号是可以公开的信息,用户在任何情况下都可以通过JTAG端口1获取保护对象的安全属性和芯片的标识号,以便用户采取适当的安全措施访问芯片。每个访问对象都有自己的安全属性配置,多个访问对象可以共享访问密码或独立使用访问密码。
安全配置信息由用户通过JTAG端口1或其它途径进行初始化或修改。通过JTAG端口1初始化或修改安全配置时,用户必须先通过原有的安全属性限制。通过其它途径进行初始化或修改安全配置,应确保该途径是安全的。如果存储安全配置信息的非易失性介质206设置在JTAG电路21内部时,本发明确保模糊化密码和芯片标识号只能配置一次,安全属性只能由低级别修改到高级别,不可逆转。如果安全配置存储在系统芯片2以外受的保护介质中时,系统芯片2的芯片系统应保证有类似的配置限制。
具体来说,安全JTAG电路21的实现方式如下:
TAP(Test Access Port,测试访问端口)控制器201是根据JTAG协议在系统芯片2内部定义,用于完成JTAG协议转换,把外部的JTAG端口1和安全JTAG电路2连接起来。一方面,TAP控制器201根据JTAG指令接受用户通过外部JTAG端口1输入的明文密码,并将明文密码输出至开关203;另一方面,TAP控制器201可以通过JTAG端口1向用户反馈安全JTAG电路2的公开信息,比如芯片的标识号、保护对象的安全属性和安全状态,但用户不能通过JTAG端口1访问模糊化密码,或非法修改安全配置信息。因此,TAP控制器201根据JTAG指令选择密码输入、状态/数据输出、访问或启动访问对象。如果用户需要连接处理器JTAG电路22,必须先通过安全JTAG电路21的安全许可;如果用户需要启动存储器测试电路24,必须在通过安全JTAG电路21的安全许可后,再通过JTAG端口1使能存储器测试电路24的测试模式;如果用户需要启动全扫描链测试电路23,安全JTAG电路21在通过安全许可后,才允许外部输入的全扫描链移位使能信号连接到内部的全扫描链测试电路23,全扫描链测试电路23才能工作。
独立的计数器202为开关203提供一个使能信号,使开关203根据计数器202输出的使能信号,决定是否把TAP控制器201输出的明文密码传递给输入密码寄存器204。输入密码寄存器204用于记录用户输入的明文密码,并将明文密码送给模糊化算法电路208。也就是说,在密码保护模式下,本发明通过计数器202启动时间间隔保护机制,防止他人用穷举方式获取访问密码明文:在系统芯片2上电后,经一定时间延迟后才接受第一次密码输入;上一次密码输入后,经过一定时间延迟后才接受新的密码输入,且时间间隔不受系统复位影响。
装载电路205用于在系统芯片2上电后把安全配置信息从受保护的非易失性介质206中读出并配置到安全JTAG电路2的相应部件:装载电路205把安全配置中的模糊化密码传递到模糊化密码寄存器209,把保护对象的安全属性传递到对应的控制寄存器中,把一些公开的信息(比如安全属性等级、芯片标识号)传递到TAP控制器201。
模糊化算法电路208是模糊化算法电路,将输入密码寄存器204输出的输明文密码转换成对应的模糊化密码A。模糊化算法包括但不限于如下算法:哈希(HASH)算法(如SHA-1,SHA-256等),对称加密算法(如DES,TDES,AES等),非对称加密算法(如RSA,ECC等)。为了简化密钥管理,建议采用哈希算法。任何人企图从模糊化密码反推出实际明文密码,都是极端困难的。由于采用HASH算法,用户输入的明文密码可以非常长(但不超过HASH算法长度限制)。
模糊化密码寄存器209用于记录装载电路205从非易失性介质206读出的模糊化密码,并送给比较器210。比较器210用于将模糊化算法电路208输出的模糊化密码A和模糊化密码寄存器209输出的模糊化密码B相比较,判断是否匹配;如果匹配,则输出一个高电平信号C至二输入或门213的其中一个输入端,否则输出一个低电平信号C至或门213的其中一个输入端。
二输入或门213的另一个输入端接收为安全属性控制寄存器214输出的其中一个指示信号D,安全属性控制寄存器214输出的另一个指示信号D传至二输入与门212的其中一个输入端。其中,安全属性控制寄存器214用于记录装载电路205从非易失性介质206读出的保护对象的安全属性,并根据安全属性输出两个指示信号D和E:当安全属性为开放模式(低安全等级)时,D为高电平信号,E为高电平信号;当安全属性为密码保护模式(中安全等级)时,D为低电平信号,E为高电平信号;当安全属性为禁止模式(高安全等级)时,D为低电平信号,E为低电平信号。
二输入与门212的两个输入分别为或门213的输出信号和安全属性控制寄存器214输出的指示信号E,其输出一个使能信号G至二输入的第一选择器207和第二选择器211的使能端,该使能信号G用来决定是否允许处理器JTAG电路22和外部的JTAG端口1连接。第一选择器207和第二选择器211均根据与门212输出的使能信号G决定是否允许处理器JTAG电路22和外部JTAG端口1连接:当使能信号G为高电平时,第一选择器207选择处理器JTAG电路22的JTAG输出TDO作为JTAG端口1的输出TDO,第二选择器211选择JTAG端口1的TMS信号作为处理器JTAG电路22的TMS信号输入,处理器JTAG电路22的JTAG链连接到实际的JTAG链上,允许用户通过JTAG端口1访问处理器JTAG电路22的JTAG电路;当使能信号G为低电平时,第一选择器207选择TAP控制器201的JTAG输出TDO作为外部JTAG端口的输出TDO,第二选择器211选择一个高电平信号“1”作为处理器JTAG电路22的TMS信号输入(保证处理器JTAG电路22在未连接到JTAG链上时处于软复位状态),处理器JTAG电路22的JTAG链和实际的JTAG链断开,用户不能通过JTAG端口访问处理器JTAG电路22的JTAG电路。
当系统芯片2上电后,装载电路205首先从非易失性介质206中读取安全配置,完成安全配置。在完成安全配置前,TAP控制器201将断开与JTAG端口1的连接,因此只有在完成安全配置后,用户才能通过JTAG端口1访问TAP控制器201:
A、当安全属性为开放模式时,与门212输出高电平信号G给第一选择器207和第二选择器211,处理器JTAG电路22的JTAG链被连接到实际的JTAG链上,允许用户通过JTAG端口1访问处理器JTAG电路22中的JTAG电路。
B、当安全属性为禁止模式时,与门212输出低电平信号G给第一选择器207和第二选择器211,处理器JTAG电路22的JTAG链和实际的JTAG链断开,用户不能通过JTAG端口访问处理器JTAG电路22的JTAG电路。
C、当安全属性为密码保护模式时,安全JTAG电路21将启动计时器202。计时器202的计数器计数到设定值后输出一个使能信号以实现一段时间延迟保护。当时间延迟到了后,计时器202输出一个信号指示开关203允许用户密码输入。在时间延迟保护范围内,用户输入的访问密码不能通过开关203传递到输入密码寄存器204。当输入密码寄存器204接收并记录到一个新密码输入后,计时器202将重新启动计数器,实现一段时间延迟保护。在时间延迟保护范围内,用户输入的新密码将不能通过开关203传递到输入密码寄存器204。输入密码寄存器204接收到一个新的用户输入密码后,安全JTAG电路21将启动模糊化算法电路208,对这个新输入的密码计算出一个对应的模糊化密码A。模糊化密码A和模糊化密码寄存器209记录的期望的模糊化密码B在比较器210中完成比较:当两者匹配时比较器210输出高电平指示信号C,否则输出低电平指示信号C。安全属性控制寄存器214在密码保护模式下输出低电平信号E,高电平信号F。因此,当密码匹配时与门212输出高电平信号G,处理器JTAG电路22的JTAG链连接到实际的JTAG链上,用户可以通过JTAG端口访问处理器JTAG电路22的JTAG电路;当密码不匹配时与门212输出低电平信号G,处理器JTAG电路22的JTAG链和实际的JTAG链断开,用户不能通过JTAG端口访问处理器JTAG电路22的JTAG电路。
当第三方需要对芯片标识号和访问密码进行安全管理时,用户应该首先通过JTAG端口1获取芯片的标识号(芯片标识号即使在密码保护模式或禁止模式下也可以被读出)。用户得到芯片的标识号后,需将芯片标识号发送给第三方,从第三方获取芯片的访问密码明文。用户只有从第三方获得具体芯片标识号所对应的访问密码明文后,才能用该访问密码去打开系统芯片2的JTAG密码保护,才能通过JTAG端口1访问或启动芯片内部的保护对象。
因此,本发明将用户输入的明文密码转换成模糊化密码,在安全属性为密码保护模式时将计算得到模糊化密码和安全配置中的模糊化密码相比较,当两者匹配时,才认为密码正确,才允许用户通过JTAG端口访问或启动保护对象。由于模糊化密码的不可逆特性,即使模糊化密码在传输过程中(比如从第三方传输到实际初始化终端)被泄漏,也不会降低实际明文密码的安全性,因此非常适用于芯片的个性化发行和第三方对芯片访问密码的管理,满足第三方对芯片的安全管理需求。
图3为本发明对芯片内部全扫描链测试电路23和存储器测试电路24进行安全控制的示意图。其中,TAP控制器201~安全属性控制寄存器214是安全JTAG电路21的子部件。图3所示的模糊化密码寄存器209(模糊化密码寄存器)可以是多个保护对象共享,也可以是每个保护对象有一个独立的模糊化密码寄存器209(模糊化密码寄存器)。当多个保护对象共享模糊化密码寄存器时,则多个保护对象的访问密码是一样的。具体实施时,多个保护对象共享模糊化密码寄存器。图3所示的安全属性控制寄存器214(控制寄存器)对每个保护对象都是独立的。由于每个保护对象的安全属性控制寄存器214都有各自的输出信号D和E,因此实际电路中存在一个根据JTAG指令选择D和E的电路(图3中并未画出)。图3中的第一选择器207和第二选择器211分别是一个二输入与门。第一选择器207控制处理器JTAG电路22的全扫描链测试电路的扫描使能信号。第二选择器211控制储存器测试电路24的储存器测试电路的测试模式选择信号,在安全属性允许对存储器进行测试时选择内部储存器模式。
在图3中,安全JTAG电路21对保护对象的安全配置过程、密码输入和比较过程和图2的过程类似,这里不再阐述。下面阐述与门212如何控制对保护对象的访问或启动。
在全扫描链测试电路23中,全扫描链测试的一般过程是通过扫描移位将内部寄存器进行初始化,然后控制内部电路根据内部寄存器初始化值进行工作,将工作结果捕获到内部寄存器中,再通过扫描移位将内部寄存器中的结果串行移出。在扫描移位过程中,外部将输入一个高有效的扫描移位使能信号SE,当内部电路正常工作时SE保持为低电平。因此只要控制全扫描链测试电路23的扫描移位使能信号SE,就能控制全扫描链测试电路23。在图3中,当与门212输出高电平信号时(安全属性为开放模式,或密码保护模式下密码匹配),第一选择器207允许外部输入的扫描移位使能信号SE(高电平有效)传递到处理器JTAG电路22,全扫描链测试电路23能进行全扫描链测试;当与门212输出低电平信号时,第一选择器207不允许外部输入的扫描移位使能信号SE(高电平有效)传递到处理器JTAG电路22,处理器JTAG电路22接收到的扫描移位使能信号SE始终为低电平,全扫描链测试电路23不能进行全扫描链测试。
储存器测试电路24需要接收到有效的储存器测试模式选择信号MTM(高电平有效)后才能对储存器进行测试。TAP控制器201根据用户输入的JTAG指令产生原始的储存器测试模式选择信号MTM,该信号经过第二选择器211的安全控制后才能传递到储存器测试电路24。当与门212输出高电平信号时(安全属性为开放模式,或密码保护模式下密码匹配),第二选择器211允许TAP控制器201输出的储存器测试模式选择信号MTM传递到储存器测试电路24,储存器测试电路24根据测试模式进行测试;当与门212输出低电平信号时,第二选择器211不允许TAP控制器201输出的储存器测试模式选择信号MTM传递到储存器测试电路24,储存器测试电路24接收到的储存器测试模式选择信号始终为低电平,储存器测试电路24不能进行储存器测试。
为了防止他人通过全扫描链测试技术或其它测试技术非法修改或获取安全JTAG电路21中寄存器的内容,进而非法访问或启动保护对象,安全JTAG电路21不应包括在全扫描链测试技术或其它测试技术所涉及的范围内,或对安全特性有影响的寄存器不应包括在全扫描链测试技术或其它测试技术所涉及的范围内,即全扫描链测试技术或其它测试技术不对安全JTAG电路21中对安全特性有影响的电路进行测试。
综上,本发明提供了一种高安全,易使用,实现简单的安全JTAG电路,确保SOC安全芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。

Claims (8)

1.一种安全JTAG电路,用于保护芯片内部信息安全,该安全JTAG电路设置于芯片内部,其特征在于,该安全JTAG电路包括:
存储安全配置信息的非易失性介质(206),该安全配置信息包括保护对象的安全属性、模糊化密码B和公开信息,所述安全属性反映访问对象的访问限制模式为开放模式、密码保护模式或禁止模式的其中之一,所述保护对象为设置于芯片内部的处理器JTAG电路(22)、全扫描链测试电路(23)和存储器测试电路(24)的至少其中之一;
连接在JTAG端口(1)与芯片内部的保护对象之间的TAP控制器(201)、第一选择器(207)和第二选择(211),其中,第一选择器(207)的输出端连接处理器JTAG电路(22)和全扫描链测试电路(23),第二选择器(211)的输出端连接存储器测试电路(24);
用于验证用户输入的明文密码与模糊化密码B是否一致的密码验证电路;
计时器(202);
在访问限制模式为密码保护模式时受计时器(202)控制接通的开关(203),该开关(203)连接在TAP控制器(201)的输出端与密码验证电路之间;
根据安全属性不同的访问限制模式对应输出不同的2个指示信号的安全属性控制寄存器(214);
于芯片上电时,从非易失性介质(206)读取安全配置信息进行自动装载并配置的装载电路(205),其中,装载电路(205)将模糊化密码传到密码验证电路,将保护对象的安全属性传到安全属性控制寄存器(214),将公开信息传递到TAP控制器(201);
将密码验证电路输出的验证结果和安全属性控制寄存器(214)输出的指示信号进行逻辑处理的逻辑处理电路,该逻辑处理电路输出使能信号至第一选择器(207)和第二选择器(211),用于通过控制第一选择器(207)和第二选择器(211)来控制是否允许JTAG端口(1)通过TAP控制器(201)连接处理器JTAG电路(22)、全扫描链测试电路(23)或/和存储器测试电路(24);
其中,密码验证电路连接在开关(203)、非易失性介质(206)和逻辑处理电路三者之间,而安全JTAG电路连接在JTAG端口(1)与受安全JTAG电路保护的对象之间。
2.根据权利要求1所述的安全JTAG电路,其特征在于,所述密码验证电路包括:
模糊化密码寄存器(209),存储由装载电路(205)传来的安全配置中的模糊化密码B;
输入密码寄存器(204),用于记录用户通过JTAG端口(1)、TAP控制器(201)和开关(203)输入的明文密码,并将明文密码送给模糊化算法电路(208);
模糊化算法电路(208),用于采用模糊化算法将明文密码处理为模糊化密码A;
比较器(210),用于将模糊化密码A和模糊化密码B相比较,判断是否匹配,若两者匹配,则输出一个高电平信号C至逻辑处理电路,否则输出一个低电平信号C至逻辑处理电路。
3.根据权利要求2所述的安全JTAG电路,其特征在于,所述模糊化算法包含所列加密处理算法:哈希算法、对称加密算法或非对称加密算法。
4.根据权利要求1所述的安全JTAG电路,其特征在于,所述计时器(202)在芯片上电后,启动定时器以经过一定时间延迟后才允许TAP控制器(201)输出的明文密码传递给输入密码寄存器(204);且当TAP控制器(201)输出一次明文密码后,再次启动定时器以经过一定时间延迟后才接受TAP控制器(201)输出新的明文密码。
5.根据权利要求1至4任何一项所述的安全JTAG电路,其特征在于,所述逻辑处理电路包括:
二输入的或门(213),其中一个输入端接收所述密码验证电路输出的验证结果,另一个输入端接收安全属性控制寄存器(214)输出的其中一个指示信号D;
二输入的与门(212),其中一个输入端连接或门(213)的输出端,另一个输入端接收安全属性控制寄存器(214)输出的另一个指示信号E,该与门(212)的输出端输出使能信号至第一选择器(207)和第二选择器(211);
其中,当安全属性为开放模式时,D为高电平信号,E为高电平信号;当安全属性为密码保护模式时,D为低电平信号,E为高电平信号;当安全属性为禁止模式时,D为低电平信号,E为低电平信号。
6.一种基于安全JTAG电路实现保护芯片内部信息安全的方法,其特征在于,包括:
于芯片上电时,由装载电路(205)从非易失性介质(206)读取安全配置信息进行自动装载并配置,将模糊化密码传到密码验证电路;
由安全属性控制寄存器(214)根据安全属性的访问限制模式对应输出2个指示信号;
当访问限制模式为密码保护模式时,由计时器(202)控制接通开关(203),由开关(203)控制用户通过JTAG端口(1)输入的明文密码从TAP控制器(201)输出至密码验证电路;
由密码验证电路验证用户输入的明文密码与模糊化密码B是否一致,输出验证结果;
由逻辑处理电路将密码验证电路输出的验证结果和安全属性控制寄存器(214)输出的指示信号进行逻辑处理,输出使能信号至第一选择器(207)和第二选择器(211)控制是否允许JTAG端口(1)通过TAP控制器(201)连接芯片内部的保护对象;
其中,该安全配置信息包括保护对象的安全属性、模糊化密码B和公开信息,所述安全属性反映访问对象的访问限制模式为开放模式、密码保护模式或禁止模式的其中之一,所述保护对象为设置于芯片内部的处理器JTAG电路(22)、全扫描链测试电路(23)和存储器测试电路(24)的至少其中之一;
其中,密码验证电路连接在开关(203)、非易失性介质(206)和逻辑处理电路三者之间,而安全JTAG电路连接在JTAG端口(1)与受安全JTAG电路保护的对象之间。
7.根据权利要求6所述的基于安全JTAG电路实现保护芯片内部信息安全的方法,其特征在于,所述密码验证电路包括:
模糊化密码寄存器(209),存储由装载电路(205)传来的安全配置中的模糊化密码B;
输入密码寄存器(204),用于记录用户通过JTAG端口(1)、TAP控制器(201)和开关(203)输入的明文密码,并将明文密码送给模糊化算法电路(208);
模糊化算法电路(208),用于采用模糊化算法将明文密码处理为模糊化密码A;
比较器(210),用于将模糊化密码A和模糊化密码B相比较,判断是否匹配,若两者匹配,则输出一个高电平信号C至逻辑处理电路,否则输出一个低电平信号C至逻辑处理电路。
8.根据权利要求6或7所述的基于安全JTAG电路实现保护芯片内部信息安全的方法,其特征在于,所述逻辑处理电路包括:
二输入的或门(213),其中一个输入端接收所述密码验证电路输出的验证结果,另一个输入端接收安全属性控制寄存器(214)输出的其中一个指示信号D;
二输入的与门(212),其中一个输入端连接或门(213)的输出端,另一个输入端接收安全属性控制寄存器(214)输出的另一个指示信号E,该与门(212)的输出端输出使能信号至第一选择器(207)和第二选择器(211);
其中,当安全属性为开放模式时,D为高电平信号,E为高电平信号;当安全属性为密码保护模式时,D为低电平信号,E为高电平信号;当安全属性为禁止模式时,D为低电平信号,E为低电平信号。
CN 200910109145 2009-07-29 2009-07-29 安全jtag电路及保护芯片内部信息安全的方法 Expired - Fee Related CN101620656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910109145 CN101620656B (zh) 2009-07-29 2009-07-29 安全jtag电路及保护芯片内部信息安全的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910109145 CN101620656B (zh) 2009-07-29 2009-07-29 安全jtag电路及保护芯片内部信息安全的方法

Publications (2)

Publication Number Publication Date
CN101620656A CN101620656A (zh) 2010-01-06
CN101620656B true CN101620656B (zh) 2012-11-28

Family

ID=41513888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910109145 Expired - Fee Related CN101620656B (zh) 2009-07-29 2009-07-29 安全jtag电路及保护芯片内部信息安全的方法

Country Status (1)

Country Link
CN (1) CN101620656B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3120953A1 (fr) * 2021-03-18 2022-09-23 Stmicroelectronics (Grenoble 2) Sas Protection du contenu d'une mémoire fusible

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2720167A1 (en) * 2012-10-11 2014-04-16 Nagravision S.A. Method and system for smart card chip personalization
CN103077343B (zh) * 2012-12-26 2016-09-21 北京华大信安科技有限公司 安全芯片的测试方法及装置
CN103916243B (zh) * 2012-12-30 2018-06-26 比亚迪股份有限公司 一种控制器的动态加密方法及加密系统
CN103914664A (zh) * 2012-12-31 2014-07-09 比亚迪股份有限公司 具有内部存储体保护功能的控制器与控制方法
CN104951410B (zh) * 2014-03-27 2018-01-26 北京兆易创新科技股份有限公司 一种芯片信息的访问方法和装置
CN104182665B (zh) * 2014-08-05 2017-04-12 北京时代民芯科技有限公司 一种带有保护模块的jtag电路
CN105389224A (zh) * 2014-09-04 2016-03-09 国家电网公司 一种安全类芯片的测试防护方法和装置
TWI533160B (zh) * 2014-11-26 2016-05-11 緯創資通股份有限公司 電子系統、電子裝置及其存取認證方法
CN106556792B (zh) * 2015-09-28 2021-03-19 恩智浦美国有限公司 能够进行安全扫描的集成电路
KR102415388B1 (ko) * 2015-11-13 2022-07-01 삼성전자주식회사 시스템 온 칩 및 그것의 보안 디버깅 방법
CN107783874A (zh) * 2016-08-26 2018-03-09 华为技术有限公司 Jtag调试装置以及jtag调试方法
CN108460296A (zh) * 2016-12-09 2018-08-28 上海新微技术研发中心有限公司 一种具有调试接口安全机制的soc芯片及方法
CN108228525B (zh) * 2016-12-13 2021-09-24 北京迪文科技有限公司 一种多核8051处理器soc的安全实现装置以及方法
TW201901517A (zh) * 2017-05-12 2019-01-01 晨星半導體股份有限公司 功能電路致能方法及應用其之晶片
FR3072195B1 (fr) * 2017-10-11 2019-10-18 Stmicroelectronics (Rousset) Sas Procede de gestion d'un retour de produit pour analyse et produit correspondant
CN110337652B (zh) * 2018-01-29 2023-03-17 深圳市汇顶科技股份有限公司 芯片的访问方法、安全控制模块、芯片和调试设备
CN108896903A (zh) * 2018-06-13 2018-11-27 天津大学 基于逻辑加密的逐次验证型安全扫描链装置和方法
CN109919261B (zh) * 2019-01-28 2023-07-11 南京钜力智能制造技术研究院有限公司 一种混凝土预制件信息处理系统及其方法
CN111027103B (zh) * 2019-01-31 2023-11-10 安天科技集团股份有限公司 基于寄存器模糊配置的芯片检测方法、装置及存储设备
CN111901117A (zh) * 2019-05-06 2020-11-06 深圳大普微电子科技有限公司 基于jtag接口的安全认证方法及系统
US11178135B2 (en) * 2019-06-10 2021-11-16 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
CN110888766B (zh) * 2019-11-18 2023-08-01 珠海泰芯半导体有限公司 一种芯片的启动方法
CN111680336B (zh) * 2020-05-29 2023-07-21 绿晶半导体科技(北京)有限公司 固件安全防护方法和装置、系统及设备
CN112084537B (zh) * 2020-09-02 2023-09-08 英博超算(南京)科技有限公司 一种jtag调试系统
CN112015119B (zh) * 2020-09-02 2021-11-12 南京英锐创电子科技有限公司 调试控制电路和调试控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277436A1 (en) * 2005-04-27 2006-12-07 Mcgowan Robert A Apparatus and method for coupling a plurality of test access ports to external test and debug facility
US20070239995A1 (en) * 2006-04-07 2007-10-11 Honeywell International Inc. External key to provide protection to devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277436A1 (en) * 2005-04-27 2006-12-07 Mcgowan Robert A Apparatus and method for coupling a plurality of test access ports to external test and debug facility
US20070239995A1 (en) * 2006-04-07 2007-10-11 Honeywell International Inc. External key to provide protection to devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3120953A1 (fr) * 2021-03-18 2022-09-23 Stmicroelectronics (Grenoble 2) Sas Protection du contenu d'une mémoire fusible

Also Published As

Publication number Publication date
CN101620656A (zh) 2010-01-06

Similar Documents

Publication Publication Date Title
CN101620656B (zh) 安全jtag电路及保护芯片内部信息安全的方法
EP3287800B1 (en) Jtag debug apparatus and jtag debug method
KR101502032B1 (ko) 보안 기능을 갖는 프로세서 장치
Baranowski et al. Fine-grained access management in reconfigurable scan networks
US5533123A (en) Programmable distributed personal security
TWI405123B (zh) 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法
CN100481104C (zh) 用于保护电子设备中的通信端口的方法和装置
US20060177064A1 (en) Secure memory card with life cycle phases
Valea et al. A survey on security threats and countermeasures in IEEE test standards
JP2012113670A (ja) スマートメータ及び検針システム
EP2506022B1 (en) Circuit for securing scan chain data
US20130173899A1 (en) Method for Secure Self-Booting of an Electronic Device
Kochte et al. Specification and verification of security in reconfigurable scan networks
JP4787273B2 (ja) ライフサイクルフェーズを有するセキュアメモリカード
Peterson Developing tamper resistant designs with Xilinx Virtex-6 and 7 series FPGAs
EP3241143B1 (en) Secure element
JP2001338271A (ja) Icカード及びicカード利用システム
CN111737773A (zh) 具有se安全模块功能的嵌入式安全存储器
Lee et al. A brief review on jtag security
Peterson Developing tamper-resistant designs with ultrascale and ultrascale+ FPGAs
US20220337406A1 (en) Biometric device with cryptographic circuitry
CN108491735A (zh) Nor Flash安全存储方法、装置和设备
EP3046024B1 (en) Method of operating a system on chip comprising a bootable processor
CN111708293A (zh) 带主动防御功能的在线调试的mcu设计方法
Chen et al. Striking a balance between SoC security and debug requirements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: GUOWEI GROUP (SHENZHEN) Co.,Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park South high SSMEC building two floor

Patentee before: SHENZHEN STATE MICRO TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121128

CF01 Termination of patent right due to non-payment of annual fee