[发明专利]一种FPGA安全运行系统及方法在审
| 申请号: | 201910313027.9 | 申请日: | 2019-04-18 |
| 公开(公告)号: | CN110110534A | 公开(公告)日: | 2019-08-09 |
| 发明(设计)人: | 何骏;乔绍虎;姬少锋;李银龙;刘武忠;陈晓;苏庆会 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
| 主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06F11/10 |
| 代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 黄红梅;黄军委 |
| 地址: | 450000 河南省*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 密文数据 安全运行系统 加解密模块 认证模块 安全存储 安全运行 加密处理 解密处理 认证成功 数据传送 认证 编译 读出 存储 成功 | ||
1.一种FPGA安全运行系统,其特征在于,包括:ARM模块和FPGA芯片;
所述ARM模块,用于接收编译生成的FPGA程序数据并进行存储处理,其包括加解密模块、Flash存储器和第一认证模块,所述加解密模块用于对接收的FPGA程序数据加密处理以得到对应的密文数据,且当运行FPGA芯片时,所述加解密模块还用于对密文数据进行解密处理,以待FPGA芯片下载获取,所述Flash存储器用于对所述密文数据进行存储处理;
所述FPGA芯片,能够从ARM模块获取FPGA程序数据,其包括第二认证模块,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,待认证成功后,所述FPGA芯片根据所述FPGA程序数据进行执行任务。
2.根据权利要求1所述的一种FPGA安全运行系统,其特征在于,还包括:SRAM接口,用于连接FPGA芯片与ARM模块,所述FPGA芯片通过SRAM接口与ARM模块进行认证通信。
3.根据权利要求2所述的一种FPGA安全运行系统,其特征在于,所述FPGA芯片还包括计数器,所述计数器在FPGA芯片开机工作时开始计数,当接收到ARM模块的认证指示后,所述计数器生成当前时间点的随机数,并将其通过SRAM接口传送给ARM模块。
4.根据权利要求3所述的一种FPGA安全运行系统,其特征在于,所述FPGA芯片与ARM模块分别存储有一个共享密钥,所述第一认证模块和第二认证模块分别基于该共享密钥并通过相应的摘要算法来计算随机数的摘要值。
5.根据权利要求1所述的一种FPGA安全运行系统,其特征在于,还包括:上位机,用于读取编译生成的FPGA程序数据,并将所述FPGA程序数据传送至所述ARM模块。
6.根据权利要求5所述的一种FPGA安全运行系统,其特征在于,所述上位机将FPGA程序数据分割成多个指定长度的数据包,并通过串口通信的方式将多个数据包依序传送给ARM模块。
7.根据权利要求1-6任意一项所述的一种FPGA安全运行系统,其特征在于,所述第一认证模块和第二认证模块能够适用于SM3、MD5、SHA-256、SHA-512的一种或几种摘要算法;所述加解密模块能够适用于SM4、DES、3DES、AES的一种或几种加解密算法。
8.一种FPGA安全运行方法,应用于权利要求1-6任意一项所述的FPGA安全运行系统,其特征在于,所述方法包括:
将编译生成的FPGA程序数据传送至ARM模块;
所述ARM模块接收所述FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;
待运行FPGA芯片时,所述ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对所述密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;
待FPGA芯片接收完FPGA程序数据时,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证;
当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。
9.根据权利要求8所述的一种FPGA安全运行方法,其特征在于,还包括:
上位机读取编译生成的FPGA程序数据,并将FPGA程序数据分割成多个指定长度的数据包;
上位机通过串口通信将第一个数据包传送给ARM模块,所述ARM模块对第一个数据包进行CRC校验;
待校验无误时,将第一个数据包进行加密处理以得到对应的密文并存储在Flash存储器中;
重复上两步动作,对剩余的数据包分别进行加密后存储在Flash存储器中;
待运行FPGA芯片时,所述ARM模块从Flash存储器中一一读取所有数据包并进行解密处理。
10.根据权利要求8所述的一种FPGA安全运行方法,其特征在于,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,还包括:
所述FPGA芯片根据ARM模块的认证指示,促使计数器生成随机数,所述FPGA芯片将所述随机数通过SRAM接口传送给ARM模块;
所述ARM模块的第一认证模块接收所述随机数,根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第一摘要值;同时,所述FPGA芯片的第二认证模块根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第二摘要值;
所述ARM模块将第一摘要值传送给FPGA芯片,第二认证模块对比第一摘要值是否与第二摘要值一致,以使所述FPGA芯片对ARM模块进行认证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910313027.9/1.html,转载请声明来源钻瓜专利网。





