[发明专利]一种对ZYNQ芯片程序镜像文件的加解密的方法有效
申请号: | 202011020995.X | 申请日: | 2020-09-25 |
公开(公告)号: | CN112131537B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 李妍;秦勇 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F11/36;G06F8/61;G06F8/65 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 zynq 芯片 程序 文件 解密 方法 | ||
本发明涉及一种对ZYNQ芯片程序镜像文件的加解密的方法,其中,包括:ZYNQ镜像文件包括上传程序和应用程序,上传程序和应用程序存储在FLASH存储器中的不同地址中,上传程序的功能分为两个部分:第一个部分上传程序上电后启动定时器,RS422接口接收上位机软件发送的数据,根据帧头判断是否接收到上位机软件发送的应用程序镜像数据,若接收到有效数据,关闭定时器,并将接收到的镜像数据发送给FPGA进行加密后烧写入FLASH的地址;第二个部分上传程序上电后未接收到上位机发送的有效数据,定时器中断响应,程序将进行跳转;上传程序接收上位机发送的应用程序的镜像数据,对镜像数据进行加密解密。
技术领域
本发明涉及信息技术,特别涉及一种对ZYNQ芯片程序镜像文件的加解密的方法。
背景技术
随着信息技术的发展,Zynq-7000Q系列可编程Soc器件在军工领域应用越来越多。其启动模式分为两种:使用静态存储器(例如NAND、并行NOR、串行NOR(QSPI)和SD卡)的安全启动模式。和使用JTAG或者静态存储器的非安全启动模式。使用安全启动模式,需禁用JTAG,无法在线调试。
ZYNQ是一款Xilinx推出的新型SoC芯片,其结合了FPGA和ARM系统。是一个全可编程的嵌入式平台。ZYNQ芯片内含AES-256解密引擎和HMAC认证引擎,自带有安全启动功能,保护客户的设计不被盗用。安全启动过程:第一步电路上电,ZYNQ开始执行片上BootROM的代码。第二步在加密的FSBL上执行RSA认证。第三步AES解密FSBL并且对FSBL进行HMAC认证。第四步解密并认证过的FSBL存储在OCM中。第五步PL配置,最后程序启动。
安全启动模式的密钥保存在片上eFUSE或者BBRAM中,eFuse仅支持一次可编程,掉电内容不丢失。BBRAM可支持反复编程,但是掉电内容丢失,因此需要外接电池。
该安全启动的缺点:1.如果密钥保存在eFuse上,仅支持一次编程,一但启动将无法更改程序。如果客户需要升级软件,需要更换芯片。成本高。2.如果密钥保存在BBRAM内,硬件电路需要增加电池供电。在恶劣环境下,电池性能下降,会造成程序无法加载的风险。因此许多设备,不允许使用电池将无法使用该加密功能。3.如果启动安全模式,需禁用JTAG,软件将无法进行在线调试,如果软件出现问题,将无法查找原因。
发明内容
本发明的目的在于提供一种对ZYNQ芯片程序镜像文件的加解密的方法,用于解决上述现有技术的问题。
本发明一种对ZYNQ芯片程序镜像文件的加解密的方法,其中,包括:ZYNQ镜像文件包括上传程序和应用程序,上传程序和应用程序存储在FLASH存储器中的不同地址中,上传程序的功能分为两个部分:第一个部分上传程序上电后启动定时器,RS422接口接收上位机软件发送的数据,根据帧头判断是否接收到上位机软件发送的应用程序镜像数据,若接收到有效数据,关闭定时器,并将接收到的镜像数据发送给FPGA进行加密后烧写入FLASH的地址;第二个部分上传程序上电后未接收到上位机发送的有效数据,定时器中断响应,程序将进行跳转,FLASH存储器的模式由IO模式切换成线性模式,读取FLASH的应用程序发送给FPGA,进行解密,解密后写入DDR中,执行跳转,由此程序从上传程序进入应用程序;上传程序接收上位机发送的应用程序的镜像数据,对镜像数据进行加密解密,在程序更新时意外中止的情况下,重新上电应用程序重新更新,上传成功后,通过重新上电,自动跳转到用户应用程序。
根据本发明所述的对ZYNQ芯片程序镜像文件的加解密的方法的一实施例,其中,包括:非安全启动模式的启动过程,阶段0:上电后执行BootROM中的代码,配置ARM处理器和必要的外设;阶段1:执行FSBL,FSBL代码存储在FLASH中,包括PS的初始化和PL的比特流配置文件,BootROM代码把FSBL代码复制到OCM中,寻找有效的头文件,如果需找到有效头文件,将PS代码转移到DDR中,PL代码写入FPGA中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011020995.X/2.html,转载请声明来源钻瓜专利网。