掌桥专利:专业的专利平台
掌桥专利
首页

以片内安全验证模块为基础的JTAG接口安全管理模块及方法

文献发布时间:2023-06-19 18:30:43


以片内安全验证模块为基础的JTAG接口安全管理模块及方法

技术领域

本发明涉及以片内安全验证模块为基础的JTAG接口安全管理模块及方法,属于芯片测试调试技术领域。

背景技术

JTAG(Joint Test Action Group,联合测试工作组)接口,是一种国际标准测试协议(IEEE1149.1兼容),由TMS(测试模式选择)、TCK(测试时钟输入)、TDI(测试数据输入)、TDO(测试数据输出)及可选信号TRST(测试复位)组成。JTAG接口可以获取和修改芯片内部的信息,其主要用于芯片内部的测试和调试,可以实现BIST(Built in Self Test)、SCAN、Boundary-SCAN及自定义指令操作,现已广泛的应用在大规模复杂的SOC芯片设计中。

但是JTAG接口可以获取和修改芯片内部信息的特性对于芯片的安全也具有很大的隐患,严重威胁芯片内部数据的安全。因此,在芯片设计时需要考虑如何保护芯片内部的数据,避免外部通过JTAG接口在非测试和非调试状态时访问到芯片内部的数据。尤其是在对安全性要求较高的芯片设计中, JTAG接口的防护设计极为重要。

目前JTAG接口的防护方法主要有两种:

一、物理防护,在芯片测试调试完成后,出厂时通过熔断等方式从物理上将JTAG接口断开,但断开JTAG接口将会对以后芯片的维护和调试带来许多不便;

二、增加安全验证模块,目前常见的方法是在JTAG接口中增加安全验证模块,每一次JTAG访问都要经过安全验证,这样不仅会增加JTAG接口设计的复杂性,还会让本就频率低、速度慢的JTAG接口的效率大打折扣,增加测试和调试时间。

发明内容

为解决现有技术的不足,本发明的目的在于提供以片内安全验证模块为基础的JTAG接口安全管理模块及方法,解决了现有技术中JTAG接口安全防护设计复杂化带来的维护和调试不便、处理效率慢的问题。

为了实现上述目标,本发明采用如下的技术方案:

一种以片内安全验证模块为基础的JTAG接口安全管理模块,包括安全固件、安全验证模块、JTAG使能寄存器和JTAG接口;

安全固件用于存储、修改JTAG接口的配置;

安全验证模块用于验证安全固件内容的合法性;

JTAG使能寄存器用于接收合法的安全固件内JTAG接口的配置,将其输出并接入到JTAG接口中;

JTAG接口的复位逻辑对安全固件内JTAG接口的配置进行识别并执行相应操作。

进一步地,前述安全验证模块是属于芯片中原有集成的。

进一步地,前述安全验证模块、JTAG使能寄存器和JTAG接口都集成在芯片内。

进一步地,前述安全固件的内容只有通过授权的人或机构才能进行修改。

进一步地,前述JTAG接口执行相应操作的步骤包括:

若安全固件中JTAG配置为打开状态,则实现JTAG接口的打开;

若安全固件中JTAG配置为关闭状态,JTAG使能寄存器会保证JTAG接口一直处于复位状态,此状态下,如果需要打开JTAG接口进行芯片调试,则可以修改安全固件中JTAG的配置,安全验证模块验证通过后,将会打开JTAG接口,等调试完成后可以再通过安全固件中的配置关闭JTAG接口。

一种以片内安全验证模块为基础的JTAG接口安全管理方法,应用前述任一项的安全管理模块,包括以下步骤:

上电启动,安全验证模块加载安全固件内JTAG接口的配置;

安全验证模块通过协商好的机制和算法验证安全固件是否安全,如果验证通过,将读取固件内JTAG接口的配置发送到JTAG接口使能寄存器中;如果未能通过验证,芯片则无法正常启动工作;

JTAG接口使能寄存器将合法的配置接入到JTAG接口的复位逻辑中,若安全固件中配置为打开JTAG接口,则JTAG接口使能寄存器不影响JTAG接口信号的正常工作,实现JTAG接口的打开;若安全固件中配置JTAG接口为关闭,则JTAG接口使能寄存器将会强制使JTAG接口处于复位状态,JTAG接口将无法正常工作,以保证芯片内数据的安全。

进一步地,前述还包括经授权的人或机构操作能修改安全固件内JTAG接口的配置。

本发明所达到的有益效果:

1、在芯片上保留了JTAG接口,方便芯片后续的维护和调试;

2、对JTAG接口增加安全性设计,保护了芯片内数据安全;

3、充分利用大型芯片中集成的安全验证模块,在保证JTAG接口安全的同时,降低了设计的复杂度,并且提高了JTAG接口的效率,减少测试调试的时间;

4、JTAG接口的设置灵活,可根据不同的安全需求进行配置,实现JTAG接口的打开与关闭。

附图说明

图1是本发明安全管理方法的流程图;

图2是本发明安全管理模块的内部连接图。

具体实施方式

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

实施例一

本实施例公开了一种以片内安全验证模块为基础的JTAG接口安全管理模块,如图2所示,在很多大规模的SOC芯片设计中都会集成有安全验证模块用于芯片的安全启动和安全管理,本发明以SOC中集成的安全验证模块为基础,通过复用SOC中的安全验证模块来控制JTAG接口的关闭与开启,在实现JTAG接口防护安全可控的同时降低JTAG接口设计的复杂性。

具体实现如下:本设计主要由安全固件、安全验证模块、JTAG使能寄存器和JTAG接口组成。

安全固件用于存储、修改JTAG接口的配置,且只有通过授权的人或机构才能进行修改,保证JTAG接口的安全和可控;

安全验证模块是芯片中本身集成的,用于验证安全固件内容的合法性;

JTAG使能寄存器用于接收合法的安全固件内JTAG接口的配置,将其输出并接入到JTAG接口中,JTAG使能寄存器只有安全验证模块有读/写权限;

JTAG接口的复位逻辑对安全固件内JTAG接口的配置进行识别并执行相应操作:若安全固件中JTAG配置为打开状态,则实现JTAG接口的打开;若安全固件中JTAG配置为关闭状态,JTAG使能寄存器会保证JTAG接口一直处于复位状态,此状态下,如果需要打开JTAG接口进行芯片调试,则可以修改安全固件中JTAG的配置,安全验证模块验证通过后,将会打开JTAG接口,等调试完成后可以再通过安全固件中的配置关闭JTAG接口。

其中,安全验证模块、JTAG使能寄存器和JTAG接口组成都集成在芯片内。

实施例二

基于前述的安全管理模块,本实施例还公开了一种以片内安全验证模块为基础的JTAG接口安全管理方法,如图2所示,包括以下步骤:

步骤1:上电启动,安全验证模块加载安全固件内JTAG接口的配置,芯片正常工作情况下,安全固件内JTAG接口的配置为关闭状态,只有在出现问题需要进行测试和调试时,才修改安全固件配置JTAG接口为开启状态,且只有经过授权的人或机构才能修改安全固件内容;

步骤2:安全验证模块通过协商好的机制和算法验证安全固件是否安全,如果验证通过,将读取固件内JTAG接口的配置发送到JTAG接口使能寄存器中;如果未能通过验证,芯片则无法正常启动工作;

步骤3:通过验证后,JTAG接口使能寄存器的配置将接入到JTAG接口的复位逻辑中,若安全固件中设置为打开JTAG接口,则JTAG接口使能寄存器不影响JTAG接口信号的正常工作,实现JTAG接口的打开;若安全固件中配置JTAG接口为关闭,则JTAG接口使能寄存器将会强制使JTAG接口处于复位状态,JTAG接口将无法正常工作,以保证芯片内数据的安全。

由于本设计中JTAG接口的开/关是根据使用场景(正常工作模式或调试测试模式)由安全固件内的配置决定的,当JTAG接口打开时,无需对每一次的JTAG访问都进行验证,这样可以既避免了降低JTAG接口的效率,又保证了数据的安全。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

相关技术
  • 一种应用于航电软件功能验证基础平台的IO接口模块
  • 复用JTAG接口的FPGA片内逻辑分析仪系统和方法
技术分类

06120115598714