CN101620656A - 安全jtag模块及保护芯片内部信息安全的方法 - Google Patents
安全jtag模块及保护芯片内部信息安全的方法 Download PDFInfo
- Publication number
- CN101620656A CN101620656A CN 200910109145 CN200910109145A CN101620656A CN 101620656 A CN101620656 A CN 101620656A CN 200910109145 CN200910109145 CN 200910109145 CN 200910109145 A CN200910109145 A CN 200910109145A CN 101620656 A CN101620656 A CN 101620656A
- Authority
- CN
- China
- Prior art keywords
- jtag
- password
- obfuscation
- safety
- module
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种安全JTAG模块及保护芯片内部信息安全的方法。其中该安全JTAG模块包括:非易失性介质(206);装载电路(205);安全属性控制寄存器(214);连接在JTAG端口(1)与芯片内部的保护对象之间的TAP控制器(201)和两个选择器(207和211);受计时器(202)控制接通的开关(203),验证用户输入的明文密码与模糊化密码B是否一致的密码验证模块;将密码验证模块输出的验证结果和安全属性控制寄存器(214)输出的指示信号进行逻辑处理的逻辑处理模块,其输出使能信号至两个选择器(207和211)控制是否允许JTAG端口(1)通过TAP控制器(201)连接芯片内部的保护对象。本发明确保SOC芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。
Description
技术领域
本发明涉及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 (10)
1、一种安全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)连接芯片内部的保护对象。
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模块,其特征在于,所述安全配置信息中的模糊化密码B和保密数据由芯片的系统保证不允许用户通过JTAG端口(1)访问。
5、根据权利要求1所述的安全JTAG模块,其特征在于,所述访问限制模式包括由低中高三个安全等级:用户可以无限制通过JTAG端口(1)访问或启动保护对象的开放模式、用户只有在输入正确的访问密码后才能通过JTAG端口(1)访问或启动保护对象的密码保护模式、用户在任何情况下都不能通过JTAG端口(1)访问或启动保护对象的禁止模式;且安全属性信息只能不可逆转的从低安全等级修改到高安全等级。
6、根据权利要求1所述的安全JTAG模块,其特征在于,所述计时器(202)在芯片上电后,启动定时器以经过一定时间延迟后才允许TAP控制器(201)输出的明文密码传递给输入密码寄存器(204);且当TAP控制器(201)输出一次明文密码后,再次启动定时器以经过一定时间延迟后才接受TAP控制器(201)输出新的明文密码。
7、根据权利要求1至6任何一项所述的安全JTAG模块,其特征在于,所述逻辑处理模块包括:
二输入的或门(213),其中一个输入端接收所述密码验证模块输出的验证结果,另一个输入端接收安全属性控制寄存器(214)输出的其中一个指示信号;
二输入的与门(212),其中一个输入端连接或门(213)的输出端,另一个输入端接收安全属性控制寄存器(214)输出的另一个指示信号,该与门(212)的输出端输出使能信号至两个选择器(207和211)。
8、一种基于安全JTAG模块实现保护芯片内部信息安全的方法,其特征在于,包括:
于芯片上电时从非易失性介质(206)读取安全配置信息进行自动装载并配置;
由安全属性控制寄存器(214)根据安全属性的访问限制模式对应输出2个指示信号;
当访问限制模式为密码保护模式时,由计时器(202)控制接通开关(203),由开关(203)控制用户通过JTAG端口(1)输入的明文密码从TAP控制器(201)输出至密码验证模块;
由密码验证模块验证用户输入的明文密码与模糊化密码B是否一致,输出验证结果;
由逻辑处理模块将密码验证模块输出的验证结果和安全属性控制寄存器(214)输出的指示信号进行逻辑处理,输出使能信号至两个选择器(207和211)控制是否允许JTAG端口(1)通过TAP控制器(201)连接芯片内部的保护对象。
9、根据权利要求8所述的基于安全JTAG模块实现保护芯片内部信息安全的方法,其特征在于,所述密码验证模块包括:
模糊化密码寄存器(209),存储由装载电路(205)传来的安全配置中的模糊化密码B;
输入密码寄存器(204),用于记录用户通过JTAG端口(1)、TAP控制器(201)和开关(203)输入的明文密码,并将明文密码送给模糊化算法模块(208);
模糊化算法模块(208),用于采用模糊化算法将明文密码处理为模糊化密码A;
比较器(210),用于将模糊化密码A和模糊化密码B相比较,判断是否匹配,若两者匹配,则输出一个高电平信号C至逻辑处理模块,否则输出一个低电平信号C至逻辑处理模块。
10、根据权利要求8或9所述的基于安全JTAG模块实现保护芯片内部信息安全的方法,其特征在于,所述逻辑处理模块包括:
二输入的或门(213),其中一个输入端接收所述密码验证模块输出的验证结果,另一个输入端接收安全属性控制寄存器(214)输出的其中一个指示信号;
二输入的与门(212),其中一个输入端连接或门(213)的输出端,另一个输入端接收安全属性控制寄存器(214)输出的另一个指示信号,该与门(212)的输出端输出使能信号至两个选择器(207和211)。
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 true CN101620656A (zh) | 2010-01-06 |
CN101620656B 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 (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077343A (zh) * | 2012-12-26 | 2013-05-01 | 北京华大信安科技有限公司 | 安全芯片的测试方法及装置 |
CN103914664A (zh) * | 2012-12-31 | 2014-07-09 | 比亚迪股份有限公司 | 具有内部存储体保护功能的控制器与控制方法 |
CN103916243A (zh) * | 2012-12-30 | 2014-07-09 | 比亚迪股份有限公司 | 一种控制器的动态加密方法及加密系统 |
CN104182665A (zh) * | 2014-08-05 | 2014-12-03 | 北京时代民芯科技有限公司 | 一种带有保护模块的jtag电路 |
CN104756123A (zh) * | 2012-10-11 | 2015-07-01 | 耐瑞唯信有限公司 | 用于智能卡芯片个性化的方法和系统 |
CN104951410A (zh) * | 2014-03-27 | 2015-09-30 | 北京兆易创新科技股份有限公司 | 一种芯片信息的访问方法和装置 |
CN105389224A (zh) * | 2014-09-04 | 2016-03-09 | 国家电网公司 | 一种安全类芯片的测试防护方法和装置 |
CN105740718A (zh) * | 2014-11-26 | 2016-07-06 | 纬创资通股份有限公司 | 电子系统、电子装置及电子装置的存取认证方法 |
CN106556792A (zh) * | 2015-09-28 | 2017-04-05 | 飞思卡尔半导体公司 | 能够进行安全扫描的集成电路 |
CN106708673A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 片上系统和安全调试方法 |
WO2018036559A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | Jtag调试装置以及jtag调试方法 |
CN108228525A (zh) * | 2016-12-13 | 2018-06-29 | 北京迪文科技有限公司 | 一种多核8051处理器soc的安全实现装置以及方法 |
CN108460296A (zh) * | 2016-12-09 | 2018-08-28 | 上海新微技术研发中心有限公司 | 一种具有调试接口安全机制的soc芯片及方法 |
CN108875413A (zh) * | 2017-05-12 | 2018-11-23 | 晨星半导体股份有限公司 | 功能电路致能方法及应用其的芯片 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN109656869A (zh) * | 2017-10-11 | 2019-04-19 | 意法半导体(鲁塞)公司 | 用于管理产品返回以供分析的方法和相应的产品 |
CN109919261A (zh) * | 2019-01-28 | 2019-06-21 | 南京钜力智能制造技术研究院有限公司 | 一种混凝土预制件信息处理系统及其方法 |
CN110020559A (zh) * | 2017-12-13 | 2019-07-16 | 三星电子株式会社 | 执行安全调试的存储设备及其密码认证方法 |
CN110337652A (zh) * | 2018-01-29 | 2019-10-15 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、安全控制模块、芯片和调试设备 |
CN110888766A (zh) * | 2019-11-18 | 2020-03-17 | 珠海泰芯半导体有限公司 | 一种芯片的启动方法 |
CN111027103A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
CN111680336A (zh) * | 2020-05-29 | 2020-09-18 | 绿晶半导体科技(北京)有限公司 | 固件安全防护方法和装置、系统及设备 |
CN111901117A (zh) * | 2019-05-06 | 2020-11-06 | 深圳大普微电子科技有限公司 | 基于jtag接口的安全认证方法及系统 |
CN112015119A (zh) * | 2020-09-02 | 2020-12-01 | 南京英锐创电子科技有限公司 | 调试控制电路和调试控制方法 |
CN112084537A (zh) * | 2020-09-02 | 2020-12-15 | 英博超算(南京)科技有限公司 | 一种jtag保护机制 |
CN114008974A (zh) * | 2019-06-10 | 2022-02-01 | 微软技术许可有限责任公司 | 符号流中的部分模式识别 |
EP4060355A1 (fr) * | 2021-03-18 | 2022-09-21 | Stmicroelectronics (Grenoble 2) Sas | Protection du contenu d'une mémoire fusible |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676698B2 (en) * | 2005-04-27 | 2010-03-09 | Texas Instruments Incorporated | Apparatus and method for coupling a plurality of test access ports to external test and debug facility |
US8135959B2 (en) * | 2006-04-07 | 2012-03-13 | Honeywell International Inc. | External key to provide protection to devices |
-
2009
- 2009-07-29 CN CN 200910109145 patent/CN101620656B/zh not_active Expired - Fee Related
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104756123B (zh) * | 2012-10-11 | 2017-05-10 | 耐瑞唯信有限公司 | 用于智能卡芯片个性化的方法和系统 |
CN104756123A (zh) * | 2012-10-11 | 2015-07-01 | 耐瑞唯信有限公司 | 用于智能卡芯片个性化的方法和系统 |
CN103077343A (zh) * | 2012-12-26 | 2013-05-01 | 北京华大信安科技有限公司 | 安全芯片的测试方法及装置 |
CN103916243A (zh) * | 2012-12-30 | 2014-07-09 | 比亚迪股份有限公司 | 一种控制器的动态加密方法及加密系统 |
CN103916243B (zh) * | 2012-12-30 | 2018-06-26 | 比亚迪股份有限公司 | 一种控制器的动态加密方法及加密系统 |
CN103914664A (zh) * | 2012-12-31 | 2014-07-09 | 比亚迪股份有限公司 | 具有内部存储体保护功能的控制器与控制方法 |
CN104951410A (zh) * | 2014-03-27 | 2015-09-30 | 北京兆易创新科技股份有限公司 | 一种芯片信息的访问方法和装置 |
CN104951410B (zh) * | 2014-03-27 | 2018-01-26 | 北京兆易创新科技股份有限公司 | 一种芯片信息的访问方法和装置 |
CN104182665A (zh) * | 2014-08-05 | 2014-12-03 | 北京时代民芯科技有限公司 | 一种带有保护模块的jtag电路 |
CN104182665B (zh) * | 2014-08-05 | 2017-04-12 | 北京时代民芯科技有限公司 | 一种带有保护模块的jtag电路 |
CN105389224A (zh) * | 2014-09-04 | 2016-03-09 | 国家电网公司 | 一种安全类芯片的测试防护方法和装置 |
CN105740718A (zh) * | 2014-11-26 | 2016-07-06 | 纬创资通股份有限公司 | 电子系统、电子装置及电子装置的存取认证方法 |
CN106556792A (zh) * | 2015-09-28 | 2017-04-05 | 飞思卡尔半导体公司 | 能够进行安全扫描的集成电路 |
CN106708673A (zh) * | 2015-11-13 | 2017-05-24 | 三星电子株式会社 | 片上系统和安全调试方法 |
KR20170056778A (ko) * | 2015-11-13 | 2017-05-24 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 보안 디버깅 방법 |
CN106708673B (zh) * | 2015-11-13 | 2020-12-29 | 三星电子株式会社 | 片上系统和安全调试方法 |
KR102415388B1 (ko) | 2015-11-13 | 2022-07-01 | 삼성전자주식회사 | 시스템 온 칩 및 그것의 보안 디버깅 방법 |
TWI716480B (zh) * | 2015-11-13 | 2021-01-21 | 南韓商三星電子股份有限公司 | 系統晶片以及安全偵錯方法 |
WO2018036559A1 (zh) * | 2016-08-26 | 2018-03-01 | 华为技术有限公司 | Jtag调试装置以及jtag调试方法 |
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的安全实现装置以及方法 |
CN108228525A (zh) * | 2016-12-13 | 2018-06-29 | 北京迪文科技有限公司 | 一种多核8051处理器soc的安全实现装置以及方法 |
CN108875413A (zh) * | 2017-05-12 | 2018-11-23 | 晨星半导体股份有限公司 | 功能电路致能方法及应用其的芯片 |
CN109656869A (zh) * | 2017-10-11 | 2019-04-19 | 意法半导体(鲁塞)公司 | 用于管理产品返回以供分析的方法和相应的产品 |
CN109656869B (zh) * | 2017-10-11 | 2023-06-13 | 意法半导体(鲁塞)公司 | 用于管理产品返回以供分析的方法和相应的产品 |
CN110020559A (zh) * | 2017-12-13 | 2019-07-16 | 三星电子株式会社 | 执行安全调试的存储设备及其密码认证方法 |
CN110337652A (zh) * | 2018-01-29 | 2019-10-15 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、安全控制模块、芯片和调试设备 |
CN108896903A (zh) * | 2018-06-13 | 2018-11-27 | 天津大学 | 基于逻辑加密的逐次验证型安全扫描链装置和方法 |
CN109919261B (zh) * | 2019-01-28 | 2023-07-11 | 南京钜力智能制造技术研究院有限公司 | 一种混凝土预制件信息处理系统及其方法 |
CN109919261A (zh) * | 2019-01-28 | 2019-06-21 | 南京钜力智能制造技术研究院有限公司 | 一种混凝土预制件信息处理系统及其方法 |
CN111027103A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
CN111027103B (zh) * | 2019-01-31 | 2023-11-10 | 安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
CN111901117A (zh) * | 2019-05-06 | 2020-11-06 | 深圳大普微电子科技有限公司 | 基于jtag接口的安全认证方法及系统 |
CN114008974B (zh) * | 2019-06-10 | 2023-10-31 | 微软技术许可有限责任公司 | 符号流中的部分模式识别 |
CN114008974A (zh) * | 2019-06-10 | 2022-02-01 | 微软技术许可有限责任公司 | 符号流中的部分模式识别 |
CN110888766B (zh) * | 2019-11-18 | 2023-08-01 | 珠海泰芯半导体有限公司 | 一种芯片的启动方法 |
CN110888766A (zh) * | 2019-11-18 | 2020-03-17 | 珠海泰芯半导体有限公司 | 一种芯片的启动方法 |
CN111680336B (zh) * | 2020-05-29 | 2023-07-21 | 绿晶半导体科技(北京)有限公司 | 固件安全防护方法和装置、系统及设备 |
CN111680336A (zh) * | 2020-05-29 | 2020-09-18 | 绿晶半导体科技(北京)有限公司 | 固件安全防护方法和装置、系统及设备 |
CN112015119B (zh) * | 2020-09-02 | 2021-11-12 | 南京英锐创电子科技有限公司 | 调试控制电路和调试控制方法 |
CN112084537A (zh) * | 2020-09-02 | 2020-12-15 | 英博超算(南京)科技有限公司 | 一种jtag保护机制 |
CN112084537B (zh) * | 2020-09-02 | 2023-09-08 | 英博超算(南京)科技有限公司 | 一种jtag调试系统 |
CN112015119A (zh) * | 2020-09-02 | 2020-12-01 | 南京英锐创电子科技有限公司 | 调试控制电路和调试控制方法 |
EP4060355A1 (fr) * | 2021-03-18 | 2022-09-21 | Stmicroelectronics (Grenoble 2) Sas | Protection du contenu d'une mémoire fusible |
US12117487B2 (en) | 2021-03-18 | 2024-10-15 | Stmicroelectronics (Grenoble 2) Sas | Protection of the content of a fuse memory |
Also Published As
Publication number | Publication date |
---|---|
CN101620656B (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101620656B (zh) | 安全jtag电路及保护芯片内部信息安全的方法 | |
Baranowski et al. | Fine-grained access management in reconfigurable scan networks | |
EP3287800B1 (en) | Jtag debug apparatus and jtag debug method | |
US7363564B2 (en) | Method and apparatus for securing communications ports in an electronic device | |
Valea et al. | A survey on security threats and countermeasures in IEEE test standards | |
KR101445473B1 (ko) | 스캔 체인 보안을 제공하는 방법 및 장치 | |
US9202060B2 (en) | Method for secure self-booting of an electronic device | |
CN110337652A (zh) | 芯片的访问方法、安全控制模块、芯片和调试设备 | |
Pierce et al. | Enhanced secure architecture for joint action test group systems | |
EP2506022B1 (en) | Circuit for securing scan chain data | |
Kochte et al. | Specification and verification of security in reconfigurable scan networks | |
Guin et al. | A novel design-for-security (DFS) architecture to prevent unauthorized IC overproduction | |
Baranowski et al. | Access port protection for reconfigurable scan networks | |
CN102567682A (zh) | 基本输入输出系统(bios)设置的用户访问方法 | |
Lv et al. | Trusted integrated circuits: The problem and challenges | |
TWI402755B (zh) | 具有生命周期階段之安全記憶卡 | |
US20070192874A1 (en) | Advanced encryption standard to provide hardware key interface | |
Pierce et al. | Multi-level secure JTAG architecture | |
Peterson | Developing tamper resistant designs with Xilinx Virtex-6 and 7 series FPGAs | |
Kan et al. | IJTAG integrity checking with chained hashing | |
JP2001338271A (ja) | Icカード及びicカード利用システム | |
Lee et al. | A secure JTAG wrapper for SoC testing and debugging | |
CN111708293A (zh) | 带主动防御功能的在线调试的mcu设计方法 | |
Hély et al. | Security challenges during VLSI test | |
US11997199B2 (en) | Biometric device with cryptographic circuitry |
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 |