CN110110534A - 一种fpga安全运行系统及方法 - Google Patents

一种fpga安全运行系统及方法 Download PDF

Info

Publication number
CN110110534A
CN110110534A CN201910313027.9A CN201910313027A CN110110534A CN 110110534 A CN110110534 A CN 110110534A CN 201910313027 A CN201910313027 A CN 201910313027A CN 110110534 A CN110110534 A CN 110110534A
Authority
CN
China
Prior art keywords
fpga
module
fpga chip
data
arm module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910313027.9A
Other languages
English (en)
Inventor
何骏
乔绍虎
姬少锋
李银龙
刘武忠
陈晓
苏庆会
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN201910313027.9A priority Critical patent/CN110110534A/zh
Publication of CN110110534A publication Critical patent/CN110110534A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种FPGA安全运行系统及方法,所述方法包括:将编译生成的FPGA程序数据传送至ARM模块;ARM模块接收FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;待运行FPGA芯片时,ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;待FPGA芯片接收完FPGA程序数据时,FPGA芯片通过第二认证模块与ARM模块的第一认证模块进行认证;当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。本发明能够实现对FPGA程序数据的安全存储,并确保FPGA芯片能够安全运行。

Description

一种FPGA安全运行系统及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种FPGA安全运行系统及方法。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
现有的FPGA芯片通常外接有一个Flash存储器,并使用该Flash存储器来存储FPGA程序,当需要启动FPGA芯片时,需要先将Flash存储器中的FPGA程序写入FPGA芯片。然而,采用上述方式来存储FPGA程序,容易使他人从Flash存储器读取出FPGA程序,不利于形成对FPGA程序的安全保护。
发明内容
鉴于上述内容,有必要提供一种FPGA安全运行系统及方法,其能够对FPGA程序进行安全存储,并通过该FPGA程序实现对FPGA芯片的安全运行。
本发明第一方面提出一种FPGA安全运行系统,其包括:ARM模块和FPGA芯片;
所述ARM模块,用于接收编译生成的FPGA程序数据并进行存储处理,其包括加解密模块、Flash存储器和第一认证模块,所述加解密模块用于对接收的FPGA程序数据加密处理以得到对应的密文数据,且当运行FPGA芯片时,所述加解密模块还用于对密文数据进行解密处理,以待FPGA芯片下载获取,所述Flash存储器用于对所述密文数据进行存储处理;
所述FPGA芯片,能够从ARM模块获取FPGA程序数据,其包括第二认证模块,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,待认证成功后,所述FPGA芯片根据所述FPGA程序数据进行执行任务。
本方案中,所述系统还包括:SRAM接口,用于连接FPGA芯片与ARM模块,所述FPGA芯片通过SRAM接口与ARM模块进行认证通信。
进一步的,所述FPGA芯片还包括计数器,所述计数器在FPGA芯片开机工作时开始计数,当接收到ARM模块的认证指示后,所述计数器生成当前时间点的随机数,并将其通过SRAM接口传送给ARM模块。
进一步的,所述FPGA芯片与ARM模块分别存储有一个共享密钥,所述第一认证模块和第二认证模块分别基于该共享密钥并通过相应的摘要算法来计算随机数的摘要值。
本方案中,所述系统还包括:上位机,用于读取编译生成的FPGA程序数据,并将所述FPGA程序数据传送至所述ARM模块。
进一步的,所述上位机将FPGA程序数据分割成多个指定长度的数据包,并通过串口通信的方式将多个数据包依序传送给ARM模块。
本方案中,所述第一认证模块和第二认证模块能够适用于SM3、MD5、SHA-256、SHA-512的一种或几种摘要算法;所述加解密模块能够适用于SM4、DES、3DES、AES的一种或几种加解密算法。
本发明第二方面还提出一种FPGA安全运行方法,应用于上述的FPGA安全运行系统,所述方法包括:
将编译生成的FPGA程序数据传送至ARM模块;
所述ARM模块接收所述FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;
待运行FPGA芯片时,所述ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对所述密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;
待FPGA芯片接收完FPGA程序数据时,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证;
当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。
本方案中,所述方法还包括:
上位机读取编译生成的FPGA程序数据,并将FPGA程序数据分割成多个指定长度的数据包;
上位机通过串口通信将第一个数据包传送给ARM模块,所述ARM模块对第一个数据包进行CRC校验;
待校验无误时,将第一个数据包进行加密处理以得到对应的密文并存储在Flash存储器中;
重复上两步动作,对剩余的数据包分别进行加密后存储在Flash存储器中;
待运行FPGA芯片时,所述ARM模块从Flash存储器中一一读取所有数据包并进行解密处理。
本方案中,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,还包括:
所述FPGA芯片根据ARM模块的认证指示,促使计数器生成随机数,所述FPGA芯片将所述随机数通过SRAM接口传送给ARM模块;
所述ARM模块的第一认证模块接收所述随机数,根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第一摘要值;同时,所述FPGA芯片的第二认证模块根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第二摘要值;
所述ARM模块将第一摘要值传送给FPGA芯片,第二认证模块对比第一摘要值是否与第二摘要值一致,以使所述FPGA芯片对ARM模块进行认证。
本发明的FPGA安全运行系统及方法通过将编译生成的FPGA程序数据传送至ARM模块;然后所述ARM模块接收所述FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;待运行FPGA芯片时,所述ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对所述密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;待FPGA芯片接收完FPGA程序数据时,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证;当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。本发明通过将FPGA程序数据加密后存储在ARM模块的Flash存储器中,实现对FPGA程序数据的安全存储,有效防止他人窃取FPGA程序数据;同时,本发明的FPGA芯片在获取FPGA程序数据后,还需要进行认证,待认证成功之后,才能执行任务,确保FPGA芯片能够安全运行。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出本发明一种FPGA安全运行系统的框图;
图2示出本发明一种FPGA安全运行方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1示出本发明一种FPGA安全运行系统的框图。
如图1所示,本发明第一方面提出一种FPGA安全运行系统,包括: ARM模块和FPGA芯片;
所述ARM模块,用于接收编译生成的FPGA程序数据并进行存储处理,其包括加解密模块、Flash存储器和第一认证模块,所述加解密模块用于对接收的FPGA程序数据加密处理以得到对应的密文数据,且当运行FPGA芯片时,所述加解密模块还用于对密文数据进行解密处理,以待FPGA芯片下载获取,所述Flash存储器用于对所述密文数据进行存储处理;
所述FPGA芯片,能够从ARM模块获取FPGA程序数据,其包括第二认证模块,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,待认证成功后,所述FPGA芯片根据所述FPGA程序数据进行执行任务。
根据本发明的实施例,所述FPGA程序数据保存在ARM模块的Flash存储器中,且掉电不丢失。相较于传统的FPGA芯片通过外接一个存储器来保存自己的FPGA程序数据的方式,本发明能够有效降低他人窃取FPGA程序数据的概率。
根据本发明的实施例,所述FPGA安全运行系统还包括上位机,其用于读取编译生成的FPGA程序数据,并将所述FPGA程序数据传送至所述ARM模块。
进一步的,所述上位机可以将FPGA程序数据分割成多个指定长度的数据包,并通过串口通信的方式将多个数据包依序传送给ARM模块。
具体的,由编译器编译生成FPGA程序数据的bin文件(即二进制文件),通过上位机把bin文件读取出来。ARM模块定时向上位机请求指定长度的数据包,上位机将指定长度的数据包下发给ARM模块,期间采用串口通信。优选的,数据包以字节为单位,且每一数据包均加有CRC校验码。
可以理解,所述上位机为安装在PC/手机上的一个软件工具,其主要用于读取编译器编译生成的bin文件,并将读出的FPGA程序数据通过串口通信协议传送给ARM模块;在其他实施例中,所述上位机也可以省略设置,并采用其他方式将编译生成的FPGA程序数据传送给ARM模块。
ARM模块每收到一个数据包,通过CRC校验码进行校验,待校验无误后,再通过加密算法加密后,写到Flash存储器中,并继续请求下一个数据包,直到FPGA程序数据传输完毕,并存入Flash存储器中。可以理解,Flash存储器中的数据是加密后的FPGA程序数据,即使他人获取加密后的FPGA程序数据,也无法运用,从而有效提高了对FPGA程序数据保护的安全性。
需要说明的是,ARM模块把加密后的FPGA程序数据以多包的方式保存在Flash存储器中。由于FPGA芯片和ARM模块共用一个电源,一上电,ARM模块拉低指定的GPIO电平以使FPGA芯片进入从串配置模式,等待接收属于自己的FPGA程序数据;同时,ARM模块将加密后的FPGA程序数据一包一包的从Flash存储器读出来,然后通过解密算法解密后,通过从串配置模式将FPGA程序数据发给FPGA芯片。所述从串配置模式是指在串行模式下,需要微处理器或微控制器等通过同步串行接口将配置数据串行写入 FPGA芯片。
具体的,所述ARM模块和FPGA芯片均布局在PCB板上,且二者通过从串配置模式的数据线进行连接,该数据线布在PCB板的中间层,以实现对该数据线的物理防护,有效降低他人在ARM模块与FPGA芯片之间截获FPGA程序数据的可能性,进一步提升了数据传输的安全系数。
需要说明的是,当FPGA芯片下载完FPGA程序数据后,ARM模块拉高指定的GPIO电平用来复位FPGA芯片,然后可使FPGA芯片开机工作。
根据本发明的实施例,所述FPGA安全运行系统还包括:SRAM接口,用于连接FPGA芯片与ARM模块,所述FPGA芯片通过SRAM接口与ARM模块进行认证通信。
进一步的,所述FPGA芯片还包括计数器,所述计数器在FPGA芯片开机工作时开始计数,当接收到ARM模块的认证指示后,所述计数器生成当前时间点的随机数,并将其通过SRAM接口传送给ARM模块。
需要说明的是,所述FPGA芯片与ARM模块分别预存有一个共享密钥,所述第一认证模块和第二认证模块分别基于该共享密钥并通过相应的摘要算法来计算随机数的摘要值。优选的,所述共享密钥的长度为1024 bits,但不限于此。
需要说明的是,所述FPGA芯片开机后一直在计数,ARM模块在一秒的随机时间内,拉高指定的GPIO,表示开始认证,此时计数器生成当前时间的随机数,同时FPGA芯片通过SRAM接口把随机数传送给ARM模块。ARM模块接收到随机数并通过摘要算法(HMAC)计算得到第一摘要值,并通过SRAM接口将第一摘要值传给FPGA芯片;与此同时,FPGA芯片将随机数通过同样的摘要算法得到第二摘要值,并将其与第一摘要值比较,如果相同则认证成功,且FPGA芯片可以继续执行任务;如果不同则认证失败,且FPGA芯片不可以继续执行任务。优选的,所述第一摘要值和第二摘要值的长度分别为32字节,但不限于此。
需要说明的是,所述第一认证模块和第二认证模块能够适用于SM3、MD5、SHA-256、SHA-512的一种或几种摘要算法。优选的,所述第一认证模块和第二认证模块均采用SM3摘要算法。
需要说明的是,所述加解密模块能够适用于SM4、DES、3DES、AES的一种或几种加解密算法。优选的,所述加解密模块采用SM4加解密算法。
图2示出本发明一种FPGA安全运行方法的流程图。
如图2所示,本发明第二方面还提出一种FPGA安全运行方法,应用于上述的FPGA安全运行系统,所述方法包括:
S201,将编译生成的FPGA程序数据传送至ARM模块;
S202,所述ARM模块接收所述FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;
S203,待运行FPGA芯片时,所述ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对所述密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;
S204,待FPGA芯片接收完FPGA程序数据时,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证;
S205,当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。
需要说明的是,在第一次运行FPGA芯片时,需要执行上述步骤S201-S205;稍后再次运行FPGA芯片时,由于FPGA程序数据已存入ARM模块的Flash存储器中,且掉电不丢失,则无需再执行步骤S201-S202,从步骤S203开始执行即可。
根据本发明的实施例,所述FPGA安全运行方法,还包括:
上位机读取编译生成的FPGA程序数据,并将FPGA程序数据分割成多个指定长度的数据包;
上位机通过串口通信将第一个数据包传送给ARM模块,所述ARM模块对第一个数据包进行CRC校验;
待校验无误时,将第一个数据包进行加密处理以得到对应的密文并存储在Flash存储器中;
重复上两步动作,对剩余的数据包分别进行加密后存储在Flash存储器中;
待运行FPGA芯片时,所述ARM模块从Flash存储器中一一读取所有数据包并进行解密处理。
根据本发明的实施例,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证,还包括:
所述FPGA芯片根据ARM模块的认证指示,促使计数器生成随机数,所述FPGA芯片将所述随机数通过SRAM接口传送给ARM模块;
所述ARM模块的第一认证模块接收所述随机数,根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第一摘要值;同时,所述FPGA芯片的第二认证模块根据预置的共享密钥并通过相应的摘要算法计算所述随机数的第二摘要值;
所述ARM模块将第一摘要值传送给FPGA芯片,第二认证模块对比第一摘要值是否与第二摘要值一致,以使所述FPGA芯片对ARM模块进行认证。
本发明的FPGA安全运行系统及方法通过将编译生成的FPGA程序数据传送至ARM模块;然后所述ARM模块接收所述FPGA程序数据,通过加解密模块进行加密处理以得到对应的密文数据,并存储于Flash存储器中;待运行FPGA芯片时,所述ARM模块将密文数据从Flash存储器中读出,并通过加解密模块对所述密文数据进行解密处理,以得到FPGA程序数据,然后将其传送给FPGA芯片;待FPGA芯片接收完FPGA程序数据时,所述FPGA芯片通过第二认证模块与所述ARM模块的第一认证模块进行认证;当认证成功时,则FPGA芯片根据FPGA程序数据进行执行任务,当认证不成功时,则FPGA芯片停止执行任务。本发明通过将FPGA程序数据加密后存储在ARM模块的Flash存储器中,实现对FPGA程序数据的安全存储,有效防止他人窃取FPGA程序数据;同时,本发明的FPGA芯片在获取FPGA程序数据后,还需要进行认证,待认证成功之后,才能执行任务,确保FPGA芯片能够安全运行。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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模块进行认证。
CN201910313027.9A 2019-04-18 2019-04-18 一种fpga安全运行系统及方法 Pending CN110110534A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910313027.9A CN110110534A (zh) 2019-04-18 2019-04-18 一种fpga安全运行系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910313027.9A CN110110534A (zh) 2019-04-18 2019-04-18 一种fpga安全运行系统及方法

Publications (1)

Publication Number Publication Date
CN110110534A true CN110110534A (zh) 2019-08-09

Family

ID=67485860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910313027.9A Pending CN110110534A (zh) 2019-04-18 2019-04-18 一种fpga安全运行系统及方法

Country Status (1)

Country Link
CN (1) CN110110534A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765477A (zh) * 2019-10-29 2020-02-07 四川九洲空管科技有限责任公司 一种用于arm+fpga架构中目标程序数据防窃取方法
CN110888835A (zh) * 2019-11-20 2020-03-17 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法
CN111193591A (zh) * 2019-12-31 2020-05-22 郑州信大先进技术研究院 一种基于cpu+fpga的加解密方法及系统
CN111259370A (zh) * 2020-01-13 2020-06-09 苏州浪潮智能科技有限公司 一种fpga程序安全验证方法、系统、终端及存储介质
CN111832051A (zh) * 2020-07-10 2020-10-27 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统
CN114491481A (zh) * 2021-12-31 2022-05-13 医渡云(北京)技术有限公司 一种基于fpga的安全计算方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678955A (zh) * 2013-04-26 2014-03-26 厦门密安信息技术有限责任公司 可信芯片设计
CN103970711A (zh) * 2014-05-14 2014-08-06 南京化工职业技术学院 基于arm及fpga双处理器的移动终端硬件扩展装置
CN104866343A (zh) * 2015-05-15 2015-08-26 长城信息产业股份有限公司 一种嵌入式设备的安全启动方法及启动安全的嵌入式设备
US9495308B2 (en) * 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
CN106933752A (zh) * 2017-03-09 2017-07-07 西安电子科技大学 一种sram型fpga的加密装置及方法
CN206388179U (zh) * 2016-12-14 2017-08-08 南京南瑞集团公司 一种基于可信计算的移动装置
CN108898033A (zh) * 2018-06-15 2018-11-27 中国电子科技集团公司第五十二研究所 一种基于fpga的数据加解密系统
CN109543423A (zh) * 2018-11-05 2019-03-29 上海新时达电气股份有限公司 控制板加密和解密方式、终端设备及计算机可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495308B2 (en) * 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
CN103678955A (zh) * 2013-04-26 2014-03-26 厦门密安信息技术有限责任公司 可信芯片设计
CN103970711A (zh) * 2014-05-14 2014-08-06 南京化工职业技术学院 基于arm及fpga双处理器的移动终端硬件扩展装置
CN104866343A (zh) * 2015-05-15 2015-08-26 长城信息产业股份有限公司 一种嵌入式设备的安全启动方法及启动安全的嵌入式设备
CN206388179U (zh) * 2016-12-14 2017-08-08 南京南瑞集团公司 一种基于可信计算的移动装置
CN106933752A (zh) * 2017-03-09 2017-07-07 西安电子科技大学 一种sram型fpga的加密装置及方法
CN108898033A (zh) * 2018-06-15 2018-11-27 中国电子科技集团公司第五十二研究所 一种基于fpga的数据加解密系统
CN109543423A (zh) * 2018-11-05 2019-03-29 上海新时达电气股份有限公司 控制板加密和解密方式、终端设备及计算机可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
TR. PARTHASARATHY 等: "Analysis of partitioning between ARM and FPGA on performance characteristics", 《2012 IEEE INTERNATIONAL CONFERENCE ON ADVANCED COMMUNICATION CONTROL AND COMPUTING TECHNOLOGIES (ICACCCT)》 *
刘欢: "基于资源优化下FPGA加密认证系统设计与实现", 《四川省通信学会2013年学术年会》 *
杨明健 等: "基于ARM的FPGA远程重配置的设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
杨春林: "基于DS28E01 的FPGA 加密认证系统的设计", 《微计算机信息》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110765477A (zh) * 2019-10-29 2020-02-07 四川九洲空管科技有限责任公司 一种用于arm+fpga架构中目标程序数据防窃取方法
CN110888835A (zh) * 2019-11-20 2020-03-17 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法
CN110888835B (zh) * 2019-11-20 2023-10-27 苏州芒果树数字技术有限公司 一种基于cpu和fpga并行处理的开发环境系统及运行方法
CN111193591A (zh) * 2019-12-31 2020-05-22 郑州信大先进技术研究院 一种基于cpu+fpga的加解密方法及系统
CN111193591B (zh) * 2019-12-31 2023-06-20 郑州信大先进技术研究院 一种基于cpu+fpga的加解密方法及系统
CN111259370A (zh) * 2020-01-13 2020-06-09 苏州浪潮智能科技有限公司 一种fpga程序安全验证方法、系统、终端及存储介质
CN111832051A (zh) * 2020-07-10 2020-10-27 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统
CN111832051B (zh) * 2020-07-10 2022-02-18 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统
CN114491481A (zh) * 2021-12-31 2022-05-13 医渡云(北京)技术有限公司 一种基于fpga的安全计算方法及装置

Similar Documents

Publication Publication Date Title
CN110110534A (zh) 一种fpga安全运行系统及方法
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
CN105915502B (zh) 利于网络加入的方法和系统
CN108012580B (zh) 电子网络设备
US10680816B2 (en) Method and system for improving the data security during a communication process
KR100881938B1 (ko) 다중 스마트 카드 세션을 관리하는 시스템 및 방법
CN104579679B (zh) 用于农配网通信设备的无线公网数据转发方法
CN106797317A (zh) 安全共享密钥共享系统及方法
CN109903433A (zh) 一种基于人脸识别的门禁系统及门禁控制方法
CN112787813B (zh) 一种基于可信执行环境的身份认证方法
CN111181912B (zh) 浏览器标识的处理方法、装置、电子设备及存储介质
CN109150526A (zh) 密钥协商方法、设备、终端、存储介质以及系统
CN109714360A (zh) 一种智能网关及网关通信处理方法
CN113595744B (zh) 入网方法、装置、电子设备及存储介质
CN108323230A (zh) 一种传输密钥的方法、接收终端和分发终端
Urien Introducing TLS/DTLS secure access modules for IoT frameworks: concepts and experiments
CN109194467A (zh) 一种加密数据的安全传输方法和系统
CN109508529B (zh) 一种支付终端安全启动校验的实现方法
CN109922022A (zh) 物联网通信方法、平台、终端和系统
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
CN114448607A (zh) 一种基于puf技术的离线设备安全认证系统及实现方法
CN112069535B (zh) 一种基于访问分区物理隔离的双系统安全智能终端架构
WO2021083349A1 (zh) 一种基于安全芯片的安全认证方法与系统、安全芯片及可读存储介质
CN102594564A (zh) 交通诱导信息安全管理设备
CN210157214U (zh) 燃气器具物联网信息安全传输系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190809