基于JTAG传输协议的ZYNQ可信启动方法技术

技术编号:34073937 阅读:18 留言:0更新日期:2022-07-11 17:11
本发明专利技术公开了可信启动技术领域内的一种基于JTAG传输协议的ZYNQ安全启动方案。在ZYNQ平台启动前对硬件配置信息和启动程序进行验证,验证成功,则允许启动;验证失败,则重新配置,重新烧录。能够有效提高该ZYNQ平台的安全性。该方案首先将ZYNQ平台CPU挂起,依托JTAG传输协议对存储在Flash中的启动信息进行读取,进而通过国密算法对其进行验证,校验成功之后,则允许平台启动,否则,需要重新配置与烧录,直至达到安全启动的标准。直至达到安全启动的标准。直至达到安全启动的标准。

【技术实现步骤摘要】
基于JTAG传输协议的ZYNQ可信启动方法


[0001]本专利技术专利涉及网络通信以及可信计算领域,主要是针对JTAG通信和ZYNQ平台可信启动。

技术介绍

[0002]随着病毒和恶意软件的泛滥,黑客攻击技术和能力的增强,很多平台的信息和用户操作将暴露在越来越多的威胁中,而且大部分的防火墙、入侵检测、病毒防御等网络安全防护手段都侧重于保护服务器的信息安全,相对脆弱的终端平台就越来越成为信息系统安全的主要薄弱环节,尤其是嵌入式平台保护措施更是少之又少。所以,针对这些系统安全需求和各类攻击手段,从计算机体系结构着手,从硬件安全出发建立一种信任体系以保证终端可信的可信计算技术应运而生。从源头上解决了人与程序,程序与机器之间的信任问题。
[0003]对于ZYNQ平台来讲,由于CPU上电自启动,作为可信根的安全芯片无法对存储于Flash中的启动程序进行度量和校验,无法确保启动程序的合法与安全性,安全启动得不到保障,可信系统的建立也无从谈起。
[0004]因此,为了解决上述问题,急需专利技术一种可以能够实现ZYNQ平台可信启动的方案,构建整个工业控制系统的“可信根”。

技术实现思路

[0005]本专利技术提供了一种基于JTAG传输协议的ZYNQ可信启动方案。
[0006]本专利技术为实现上述目的所采用的技术方案是:
[0007]基于JTAG传输协议的ZYNQ可信启动方法,包括以下步骤:
[0008]ZYNQ平台设置成JTAG模式;
[0009]CPU挂起,PC端通过JTAG读取非易失性寄存器中的启动程序;
[0010]使用消息验证码算法对数据形式的启动程序进行计算,得到校验消息值;
[0011]对校验消息值进行校验,若通过校验,则启动ZYNQ平台,并将启动模式由JTAG模式转换为QSPI模式,否则,重新配置启动程序。
[0012]所述PC端由J

Flash和安全芯片组成,其中:J

Flash读取存储在Flash寄存器中的启动程序转化成十六进制数,作为变量被封装在安全芯片里的功能函数进行调用。
[0013]所述对校验消息值进行校验具体为:
[0014]将校验消息值与没有被攻击过的启动程序的阈值进行比较,若与阈值相同,则通过校验。
[0015]所述非易失性寄存器为串行Flash寄存器,用于存储启动程序代码、非易失性启动程序数据和FPGA配置数据。
[0016]所述CPU挂起方式为:通过ZYNQ平台上启动模式的选择选择控制CPU的上电启停:JTAG模式下,上电后,CPU挂起;QSPI模式下,CPU上电自启。
[0017]所述启动程序包括:平台硬件信息、Petalinux工程、Linux内核、根文件系统。
[0018]基于JTAG传输协议的ZYNQ可信启动装置,包括:
[0019]ZYNQ平台,用于设置启动模式;
[0020]PC端,用于读取非易失性寄存器中的启动程序并使用消息验证码算法对数据形式的启动程序进行计算,得到校验消息值;对校验消息值进行校验,若通过校验,则将启动模式由JTAG模式转换为QSPI模式,ZYNQ平台上电启动,否则,重新配置启动程序。
[0021]本专利技术具有以下有益效果及优点:
[0022]1.本专利技术能够有效挂起CPU,实现上电后对启动程序的读取和校验。
[0023]2.可以确保长期存储在寄存器中的启动程序的安全性。
[0024]3.国密算法的使用更有助于从根本上解决嵌入式平台面临的信息安全问题,也更能提高校验可信度。
附图说明
[0025]图1是该实施例的结构示意图;
[0026]图2是本专利技术实施例的可信启动流程示意图;
[0027]图3是JTAG模式挂起CPU的结构分析图。
具体实施方式
[0028]本专利技术提供了一种基于JTAG传输协议的ZYNQ可信启动方案。JTAG边界扫描寄存器提供了一种便捷的方式用于观测和控制所需调试的芯片。另外,芯片输入/输出引脚上的边界扫描寄存器单元可以互相连接起来,在芯片的周围形成一个边界扫描链。边界扫描链可以串行输入和输出,通过相应的时钟信号,就可以方便的观察和控制处在调试状态下的芯片。
[0029]通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。简单来说,PC机对目标板的的调试就是通过TAP接口完成对相关数据寄存器和指令寄存器的访问。
[0030]本专利技术依托JTAG传输协议,通过JTAG下载器连接ZYNQ平台与PC机,利用PC端软件,在确保平台CPU挂起的情况下,访问存储平台启动程序的非易失性寄存器,读取指定扇区的启动程序至PC端,利用搭载有国密算法的安全芯片对读取数据运用消息验证码算法得出校验消息值。与预定合理启动程序生成的消息值进行对比,确定启动与否。
[0031]本专利技术能够有效解决:
[0032](1)能够有效挂起CPU,实现上电后对启动程序的读取和校验。
[0033](2)可以确保长期存储在存储器的启动程序与平台配置的安全性。
[0034](3)国密算法的使用更有助于从根本上解决嵌入式平台面临的信息安全问题,也更能提高校验可信度。
[0035]所述ZYNQ平台为黑金系列AX7015,搭载有ZYNQ7000系列XC7Z015芯片。
[0036]所述JTAG下载器为J

Link PLUS。
[0037]所述PC端软件为SEGGER公司J

Flash传输工具。
[0038]所述非易失性寄存器为串行Flash,用于存储程序代码、非易失性程序数据和FPGA配置数据。
[0039]所述消息验证码算法利用密码杂凑算法SM3。
[0040]以下具体实施例结合图1流程示意图对本专利技术作进一步详细说明。此处所述的实施例仅为解释本专利技术,而不用于限定本专利技术的保护范围。
[0041]1.JTAG控制CPU上电自启动
[0042]如图2所示,当选择JTAG模式启动方式时,ZYNQ平台会自动确认通过JTAG直接从PC端下载启动配置程序,此时PS端的CPU将保持在空闲状态,等待启动镜像的加载。
[0043]因此可以利用这段CPU空闲状态,利用PC端的J

Flash将保存在Flash中的启动程序通过JTAG读取到PC端。
[0044]2.JTAG读取Flash程序到PC端
[0045](1)新建工程
[0046](2)连接芯片
[0047]本案例芯片采用的是Xilinx厂家生产的ZYNQ7015。
[0048](3)选择扇区
[0049]本案例选择Entire chip,读取整个Flash区域的程序。
[0050](4)读取程序
[0051]3.国密算法确认启动程序安全
[0052](1)算法运用
[0053]本案例消息验证本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于JTAG传输协议的ZYNQ可信启动方法,其特征在于,包括以下步骤:ZYNQ平台设置成JTAG模式;CPU挂起,PC端通过JTAG读取非易失性寄存器中的启动程序;使用消息验证码算法对数据形式的启动程序进行计算,得到校验消息值;对校验消息值进行校验,若通过校验,则启动ZYNQ平台,并将启动模式由JTAG模式转换为QSPI模式,否则,重新配置启动程序。2.根据权利要求1所述的基于JTAG传输协议的ZYNQ可信启动方法,其特征在于,所述PC端由J

Flash和安全芯片组成,其中:J

Flash读取存储在Flash寄存器中的启动程序转化成十六进制数,作为变量被封装在安全芯片里的功能函数进行调用。3.根据权利要求1所述的基于JTAG传输协议的ZYNQ可信启动方法,其特征在于,所述对校验消息值进行校验具体为:将校验消息值与没有被攻击过的启动程序的阈值进行比较,若与阈值相同,则通过校验。4.根据权利要求1所述的基于JTAG传...

【专利技术属性】
技术研发人员:张博文陈鑫刘贤达赵剑明陈春雨王天宇
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1