安全jtag模块及保护芯片内部信息安全的方法

文档序号:6576490阅读:325来源:国知局
专利名称:安全jtag模块及保护芯片内部信息安全的方法
技术领域
本发明涉及SOC芯片JTAG端口的安全控制技术,尤其是涉及一种对SOC芯片内部的 处理器JTAG电路、储存器测试电路和全扫描链测试电路进行安全控制的安全JTAG模块, 以及应用该安全JTAG模块来实现保护芯片内部信息安全的方法。
背景技术
测试和调试是SOC (System-on-Chip)芯片设计与生产过程中一个重要环节。测试用来 确保SOC芯片能正常工作,调试的目的主要是便于芯片的应用开发或故障跟踪分析。
针对SOC芯片集成的处理器(中央处理器、微处理器)的调试主要采用JTAG (Join Test Action 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端口 l访问或启动保护对象的密码保护模式、用户在任何情况下都不能通过JTAG端口 l访问或 启动保护对象的禁止模式;且安全属性信息只能不可逆转的从低安全等级修改到高安全等 级。
其中,所述计时器202在芯片上电后,启动定时器以经过一定时间延迟后才允许TAP 控制器201输出的明文密码传递给输入密码寄存器204;且当TAP控制器201输出一次明文 密码后,再次启动定时器以经过一定时间延迟后才接受TAP控制器201输出新的明文密码。
其中,所述逻辑处理模块包括
二输入的或门213,其中一个输入端接收所述密码验证模块输出的验证结果,另一个输 入端接收安全属性控制寄存器214输出的其中一个指示信号;
二输入的与门212,其中一个输入端连接或门213的输出端,另一个输入端接收安全属 性控制寄存器214输出的另一个指示信号,该与门212的输出端输出使能信号至两个选择器 207和211。
5另外,本发明还公开一种基于安全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模块对全扫描链测试电路和存储器测试电路进行安全控制的示 意图。
具体实施例方式
下面结合附图对本发明的具体实施例进行说明。
图l为本发明揭露的系统芯片的内部结构示意图。系统芯片(SystemonChip, SOC) 2 包括安全JTAG (Join Test Action Group)模块21、处理器JTAG电路22、全扫描链测试 电路23和存储器测试电路24。处理器JTAG电路22、全扫描链测试电路23和存储器测试 电路24是系统芯片2受安全JTAG模块21保护的对象(简称保护对象),只有通过安全JTAG 模块21的安全许可,用户才能通过JTAG端口 l访问或启动保护对象,实现对系统芯片2 的测试或调试。故本发明着重在于描述安全HAG模块21是如何实现对处理器JTAG电路 22、全扫描链测试电路23和存储器测试电路24进行安全控制。由于芯片设计中模块化处理可以根据实现情况变化,在具体设计中,全扫描链测试电路 23可以包括处理JTAG电路21 、储存器测试电路24、安全JTAG模块22的部分电路,但不 应包括安全JTAG模块22中对安全特性有影响的电路,比如记录安全属性的控制寄存器, 以规避他人通过全扫描链测试电路23修改或获取安全JTAG模块21中的安全特性或其它敏 感信号,导致安全JTAG模块21失去对保护对象的安全保护的作用。
另夕卜,系统芯片2作为待测芯片,借助外部的JTAG端口 l进行测试和调试,以确保系 统芯片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端口 l访问或启动保护对象;在密码保护模式下,用户只有在输入正 确的访问密码后,才能访问或启动保护对象;在禁止模式下,用户在任何情况下都不能访问 或启动保护对象。安全属性和芯片标识号是可以公开的信息,用户在任何情况下都可以通过 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指令选择密码输入、状态/数据输出、访问或启动访
7问对象。如果用户需要连接处理器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选择一个高电平信号"l"作为处理器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端口 l访问或启动芯片内部的保护对象。
因此,本发明将用户输入的明文密码转换成模糊化密码,在安全属性为密码保护模式时 将计算得到模糊化密码和安全配置中的模糊化密码相比较,当两者匹配时,才认为密码正确, 才允许用户通过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模块2i对保护对象的安全配置过程、密码输入和比较过程和图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安 全芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。
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)。
全文摘要
一种安全JTAG模块及保护芯片内部信息安全的方法。其中该安全JTAG模块包括非易失性介质(206);装载电路(205);安全属性控制寄存器(214);连接在JTAG端口(1)与芯片内部的保护对象之间的TAP控制器(201)和两个选择器(207和211);受计时器(202)控制接通的开关(203),验证用户输入的明文密码与模糊化密码B是否一致的密码验证模块;将密码验证模块输出的验证结果和安全属性控制寄存器(214)输出的指示信号进行逻辑处理的逻辑处理模块,其输出使能信号至两个选择器(207和211)控制是否允许JTAG端口(1)通过TAP控制器(201)连接芯片内部的保护对象。本发明确保SOC芯片在测试和调试过程中的安全性和方便性,从而保护芯片内部数据的安全。
文档编号G06F21/00GK101620656SQ20091010914
公开日2010年1月6日 申请日期2009年7月29日 优先权日2009年7月29日
发明者鹏 张, 王良清 申请人:深圳国微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1