一种JTAG保护机制的制作方法

文档序号:23305995发布日期:2020-12-15 11:36阅读:416来源:国知局
一种JTAG保护机制的制作方法

本发明涉及系统芯片技术领域,尤其涉及一种jtag保护机制。



背景技术:

测试和调试是芯片设计与生产过程中一个重要环节。测试用来确保芯片能正常工作,调试的目的主要是便于芯片的应用开发或故障跟踪分析。

针对芯片集成的处理器的调试主要采用jtag端口,用户通过jtag端口可以控制处理器执行用户期望的指令,从而通过jtag端口修改或获取总线地址所存储的内容。

作为安全芯片,需保护这些测试端口,防止被攻击者使用。目前的jtag保护机制基本上是在芯片中预置密码,在使用jtag接口时,需要输入密码。但是这种方法,存储在寄存器中的密码可能被非法读取,存在较高的安全隐患,安全级别不高。



技术实现要素:

本发明意在提供一种jtag保护机制,以实现jtag的访问过程能够受到更好的保护。

为达到上述目的,本发明的基本方案如下:一种jtag保护机制,提供一种jtag调试系统,所述jtag调试系统包括:

接口单元,所述接口单元用于实现系统与目标器件的连接,并接收来自目标器件的输出数据;

所述接口单元配置有jtag保护模式以及数据读取模块,所述jtag保护模式包括直通模式、密码保护模式以及永久关闭模式;所述数据读取模块用于读取来自目标器件的输出数据,当数据读取模块所读取的输出数据为第一预设值时,所述接口单元开启直通模式,当数据读取模块所读取的输出数据为第二预设值时,所述接口单元开启密码保护模式,当数据读取模块所读取的输出数据为第三预设值时,所述接口单元开启永久关闭模式;

所述接口单元还配置有存储模块,所述存储模块用于存储芯片内置的原始秘钥;

云端服务器,用于根据原始秘钥生成实测秘钥以及仿真秘钥;

当云端服务器接收到来自接口单元的秘钥申请信息时,所述云端服务器根据原始秘钥根生成实测秘钥,所述接口单元获取实测秘钥发送到输入终端作为其对应的仿真秘钥;

jtag口仿真调试单元,用于实现对目标器件的仿真调试;

当接口单元开启直通模式时,直接通过jtag口进行仿真调试;当接口单元开启密码保护模式时,对比实测秘钥以及仿真秘钥的一致性以通过jtag口进行仿真调试,当接口单元开启永久关闭模式时,jtag口永久关闭。

进一步地,所述云端服务器内配置有加密模块,所述加密模块包括第一重加密算法和第二重加密算法,所述实测秘钥由原始秘钥根据第一重加密算法生成,所述仿真秘钥由原始秘钥根据第二重加密算法生成,且第一重加密算法和第二重加密算法为不对称关系。

进一步地,所述第一重加密算法以及第二重加密算法均包括多因子加密单元,所述多因子加密单元包括位置动态因子、时间动态因子以及芯片设备特征号,所述位置动态因子为芯片所在地理位置的经度、纬度和高度信息,并按照预设的第一组合方式组合形成;所述时间动态因子为芯片所在地理位置的当前的年、月、日、时、分、秒的时间信息,并按照预设的第二组合方式组合形成;所述芯片设备特征号为芯片预先分配的特征参数,所述实测秘钥根据位置动态因子、时间动态因子以及芯片设备特征号生成,所述仿真秘钥根据位置动态因子、时间动态因子以及芯片设备特征号生成。

进一步地,所述接口单元配置有密码比对模块,所述密码比对模块包括密码比对算法,所述密码比对算法包括第一比对策略、第二比对策略、第一动态阈值以及第二动态阈值,所述第一比对策略用于比对实测秘钥与第一动态阈值的一致性,所述第二比对策略用于比对仿真秘钥与第二动态阈值的一致性。

进一步地,所述接口单元配置计数模块,在一个时间周期内,每输入一次仿真秘钥,所述计数模块自动加一,当计数模块累计计数达到预设次数后,所述jtag口仿真调试单元重启。

进一步地,所述存储模块预设有密码改写策略以及改写因子,所述密码改写策略用于将原始秘钥改写为备用秘钥,所述密码改写模块配置有密码改写策略,且密码改写策略包括多个改写因子;当永久关闭模式被改变为密码保护模式时,执行密码改写策略,所述密码改写策略根据改写因子生成备用密钥以替换原始密钥。

进一步地,所述云端服务器内配置有备用加密模块,当云端服务器接收到来自接口单元的秘钥申请信息,

所述云端服务器根据备用密钥生成备用实测秘钥,所述接口单元获取备用实测秘钥发送到输入终端作为其对应的备用仿真秘钥;当备用实测秘钥与备用仿真秘钥比对一致时,允许通过jtag口进行仿真调试。

与现有技术相比本方案的有益效果是:

1、目标器件的输出数据为第一预设值时,开启直通模式,允许直接通过jtag口进行仿真调试;目标器件的输出数据为第二预设值时,接口单元开启密码保护模式,需要用户输入密码才能通过jtag口进行调试;目标器件的输出数据为第三预设值时,接口单元开启永久关闭模式,从而起到对芯片调试的有效保护。

2、在一个时间周期内,每输入一次仿真秘钥,计数模块自动加一,当计数模块累计计数达到预设次数次后,芯片复位,防止通过遍历的方式试出秘钥。

3、当芯片内部的改写因子发生改变时,原始秘钥改写为备用秘钥,云端服务器根据备用密钥生成备用实测秘钥,所述接口单元获取备用实测秘钥发送到输入终端作为其对应的备用仿真秘钥;当备用实测秘钥与备用仿真秘钥比对一致时,允许通过jtag口进行仿真调试。从而进一步提高了对芯片的保护。

附图说明

图1为本发明的jtag调试系统的结构框图;

图2为本发明的加密模块的示意图。

说明书附图中的附图标记包括:存储模块1、云端服务器2、接口单元3、jtag口仿真调试单元4、数据读取模块5、jtag保护模式6、直通模式7、密码保护模式8、永久关闭模式9。

具体实施方式

下面结合说明书附图,并通过具体实施方式对本发明作进一步详细的说明:

实施例:

一种jtag保护机制,如图1所示,提供一种jtag调试系统,jtag调试系统包括:

接口单元3,接口单元3用于实现系统与目标器件的连接,并接收来自目标器件的输出数据;

接口单元3配置有jtag保护模式6以及数据读取模块5,jtag保护模式6包括直通模式7、密码jtag保护模式6以及永久关闭模式9;数据读取模块5用于读取来自目标器件的输出数据,当数据读取模块5所读取的输出数据为”0”时,接口单元3开启直通模式7,当数据读取模块5所读取的输出数据为”1”时,接口单元3开启密码jtag保护模式6,当数据读取模块5所读取的输出数据为”2”时,接口单元3开启永久关闭模式9;

接口单元3还配置有存储模块1,存储模块1用于存储芯片内置的原始秘钥;

云端服务器2,用于根据原始秘钥生成实测秘钥以及仿真秘钥;

当云端服务器2接收到来自接口单元3的秘钥申请信息时,云端服务器2根据原始秘钥根生成实测秘钥,接口单元3获取实测秘钥发送到输入终端作为其对应的仿真秘钥;

jtag口仿真调试单元4,用于实现对目标器件的仿真调试;

当接口单元3开启直通模式7时,直接通过jtag口进行仿真调试;当接口单元3开启密码jtag保护模式6时,对比实测秘钥以及仿真秘钥的一致性以通过jtag口进行仿真调试,当接口单元3开启永久关闭模式9时,jtag口永久关闭。

如图2所示,云端服务器2内配置有加密模块,加密模块包括第一重加密算法和第二重加密算法,实测秘钥由原始秘钥根据第一重加密算法生成,仿真秘钥由原始秘钥根据第二重加密算法生成,且第一重加密算法和第二重加密算法为不对称关系。

第一重加密算法以及第二重加密算法均包括多因子加密单元,多因子加密单元包括位置动态因子、时间动态因子以及芯片设备特征号,位置动态因子为芯片所在地理位置的经度、纬度和高度信息,并按照预设的第一组合方式组合形成;位置动态因子由内置于芯片内部的gps定位模块生成,且gps定位模块能够将位置动态因子发送至云端服务器2;时间动态因子为芯片所在地理位置的当前的年、月、日、时、分、秒的时间信息,并按照预设的第二组合方式组合形成;时间动态因子由内置于芯片内部的计时模块生成,且计时模块能够将时间动态因子发送至云端服务器2;芯片设备特征号为芯片预先分配的特征参数,实测秘钥根据位置动态因子、时间动态因子以及芯片设备特征号生成,仿真秘钥根据位置动态因子、时间动态因子以及芯片设备特征号生成。

接口单元3配置有密码比对模块,密码比对模块包括密码比对算法,密码比对算法包括第一比对策略、第二比对策略、第一动态阈值以及第二动态阈值,第一比对策略用于比对实测秘钥与第一动态阈值的一致性,第二比对策略用于比对仿真秘钥与第二动态阈值的一致性。

接口单元3配置计数模块,在一个时间周期内,每输入一次仿真秘钥,计数模块自动加一,当计数模块累计计数达到3次后,jtag口仿真调试单元4重启。

存储模块1预设有密码改写策略以及改写因子,密码改写策略用于将原始秘钥改写为备用秘钥,密码改写模块配置有密码改写策略,且密码改写策略包括多个改写因子;当永久关闭模式9被改变为密码jtag保护模式6时,执行密码改写策略,密码改写策略根据改写因子生成备用密钥以替换原始密钥。

云端服务器2内配置有备用加密模块,当云端服务器2接收到来自接口单元3的秘钥申请信息,

云端服务器2根据备用密钥生成备用实测秘钥,接口单元3获取备用实测秘钥发送到输入终端作为其对应的备用仿真秘钥;当备用实测秘钥与备用仿真秘钥比对一致时,允许通过jtag口进行仿真调试。

本方案具体实施方式如下:

对芯片进行调试前,目标器件与接口单元3连接,接口单元3可以接收到自目标器件的输出数据,接口单元3内的数据读取模块5读取输出数据,当数据读取模块5所读取的输出数据为“0”时,接口单元3开启直通模式7,允许直接通过jtag口进行仿真调试。当数据读取模块5所读取的输出数据为“1”时,接口单元3开启密码jtag保护模式6,对比实测秘钥以及仿真秘钥的一致性,当密码比对模块比对实测秘钥与仿真秘钥一致时,允许通过jtag口进行仿真调试;当输入3次仿真秘钥,且密码比对模块比对实测秘钥与仿真秘钥均不一致时,jtag口仿真调试单元4重启。当数据读取模块5所读取的输出数据为“2”时,接口单元3开启永久关闭模式9,jtag口永久关闭,不可进行调试。

当芯片内部的电频因子或电能因子或编码因子发生改变时,原始秘钥改写为备用秘钥,当云端服务器2接收到来自接口单元3的秘钥申请信息,云端服务器2根据备用密钥生成备用实测秘钥,接口单元3获取备用实测秘钥发送到输入终端作为其对应的备用仿真秘钥;当备用实测秘钥与备用仿真秘钥比对一致时,允许通过jtag口进行仿真调试。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1