一种集成于FPGA的配置数据解密电路及FPGA制造技术

技术编号:27886549 阅读:40 留言:0更新日期:2021-03-31 01:50
本发明专利技术公开了一种集成于FPGA的配置数据解密电路及FPGA,该配置数据解密电路包括:接收模块,用于接收第一加密配置数据以及解密密钥;数据接收FIFO模块,用于将第一加密配置数据分发至AES解密模块,将解密密钥分发至配置模块;配置模块,用于将解密密钥发送至非易失型存储模块中进行存储;AES解密模块,用于从非易失型存储模块中获取解密密钥;根据解密密钥,将第一加密配置数据解密为第一明文配置数据;解密数据FIFO模块,用于将第一明文配置数据切割为与配置模块匹配的格式;配置模块,还用于根据切割后的第一明文配置数据执行配置操作。本发明专利技术可以降低FPGA的数据安全隐患。

【技术实现步骤摘要】
一种集成于FPGA的配置数据解密电路及FPGA
本专利技术属于FPGA(Field-ProgrammableGateArray,现场可编程门阵列)
,具体涉及一种集成于FPGA的配置数据解密电路及FPGA。
技术介绍
FPGA通过接收配置数据,在芯片内部对配置数据进行一系列解析处理,从而将配置数据写入指定的配置信息存储器中,配置信息存储器中的数据控制FPGA功能的实现。为了避免配置数据的内容被非法获取,有必要对配置数据进行加密处理。相应的,需要对加密后的配置数据进行解密,这样才能被FPGA使用。相关技术中,对加密后的配置数据进行解密所采用的一种电路结构如图1所示,在FPGA外部设置一个数据存储器和一个解密电路;该数据存储器存储加密配置数据;该解密电路从数据存储器中获取加密配置数据,并对加密配置数据进行解密,最终将解密后的配置数据发送至FPGA中。该方案中,解密后的配置数据有可能在解密电路与FPGA之间的传输通路上被截获,存在数据安全隐患。相关技术中,还有另一种对加密后的配置数据进行解密的电路结构,如图2所示,外部存储器中存储加密配置数据,FPGA内部设有配置控制器、解密密码存储器以及配置信息存储器。其中,配置控制器中设有解密模块和JTAG(JointTestActionGroup,联合测试工作组)控制器,解密模块从解密密码存储器中获取解密密钥,并对从外部存储器中获取的加密配置数据进行解密;JTAG控制器则用于从解密模块中获取解密后的配置数据,并根据所获取的配置数据生成配置信息发送到配置信息存储器中实现具体的配置操作。该方案中,解密密钥在解密密码存储器被制造时已固化到该解密密码存储器中,故一旦解密密钥被非法获知,数据安全隐患也将随之产生。
技术实现思路
为了降低FPGA的数据安全隐患,本专利技术提供了一种集成于FPGA的配置数据解密电路及FPGA。本专利技术要解决的技术问题通过以下技术方案实现:第一方面,本专利技术提供了一种集成于FPGA的配置数据解密电路,包括:接收模块、数据接收FIFO模块、非易失型存储模块、AES解密模块、解密数据FIFO模块以及配置模块;其中,所述接收模块,用于分别接收第一加密配置数据以及解密密钥;所述解密密钥为根据原始密钥利用AES算法所生成的密钥;所述数据接收FIFO模块,用于按照AES算法要求的格式将所述第一加密配置数据分发至所述AES解密模块,将所述解密密钥分发至所述配置模块;所述配置模块,用于将收到的所述解密密钥发送至所述非易失型存储模块中进行存储;所述AES解密模块,用于从所述非易失型存储模块中获取所述解密密钥;根据所述解密密钥,将收到的所述第一加密配置数据解密为第一明文配置数据;所述解密数据FIFO模块,用于将所述第一明文配置数据切割为与所述配置模块匹配的格式;所述配置模块,还用于根据切割后的所述第一明文配置数据执行配置操作。可选地,所述接收模块,还用于接收第二加密配置数据;所述第二加密配置数据与所述第一加密配置数据分别应用于所述FPGA的不同配置模式;所述数据接收FIFO模块,还用于将所述第二加密配置数据分发至所述配置模块;所述配置模块,还用于将收到的所述第二加密配置数据发送至所述非易失型存储模块中进行存储;所述AES解密模块,还用于从所述非易失型存储模块中获取所述第二加密配置数据;根据所述解密密钥,将获取的所述第二加密配置数据解密为第二明文配置数据;所述解密数据FIFO模块,还用于将所述第二明文配置数据切割为与所述配置模块匹配的格式;所述配置模块,还用于根据切割后的所述第二明文配置数据执行配置操作。可选地,所述接收模块,还用于接收第三明文配置数据;所述第三明文配置数据、所述第一明文配置数据以及所述第二明文配置数据分别应用于所述FPGA的不同配置模式;所述数据接收FIFO模块,还用于将所述第三明文配置数据分发至所述配置模块;所述配置模块,还用于根据收到的所述第三明文配置数据执行配置操作。可选地,所述接收模块,还用于接收安全控制字和安全密码;所述安全控制字用于设置所述非易失型存储模块的操作权限;所述安全密码为所述非易失型存储模块的密码;所述数据接收FIFO模块,还用于将所述安全控制字和所述安全密码分发至所述配置模块;所述配置模块,还用于将收到的所述安全控制字和所述安全密码发送至所述非易失型存储模块中进行存储;以及,根据所述非易失型存储模块中存储的所述安全控制字和所述安全密码,执行或不执行对所述非易失型存储模块进行的数据操作;所述数据操作至少包括:对所述非易失型存储模块进行的存储操作。可选地,所述接收模块,还用于接收外部设备对所述非易失型存储模块进行读取或擦除的数据操作指令;所述数据接收FIFO模块,还用于将收到的所述数据操作指令分发至所述配置模块;所述数据操作还包括:所述数据操作指令对应的操作。可选地,所述配置模块,根据所述安全控制字和所述安全密码,执行或不执行对所述非易失型存储模块进行的数据操作,包括:当所述安全控制字对应第一操作权限时,执行对所述非易失型存储模块进行的数据操作;当所述安全控制字对应第二操作权限时,不执行对所述非易失型存储模块进行的数据操作;当所述安全控制字对应第三操作权限时,对待验证密码和所述安全密码进行匹配验证,当验证通过时,执行对所述非易失型存储模块进行的数据操作;当验证不通过时,不执行对所述非易失型存储模块进行的数据操作;其中,所述待验证密码是由所述接收模块接收的、并由所述数据接收FIFO模块分发给所述配置模块的。可选地,所述配置模块包括:配置逻辑子模块和配置信息存储器;所述配置逻辑子模块,用于对切割后的所述第一明文配置数据、切割后的所述第二明文配置数据或所述第三明文配置数据进行指令译码和数据解析,得到配置指令和配置信息;按照所述配置指令将所述配置信息写入所述配置信息存储器。可选地,所述配置数据解密电路还包括:CRC校验模块;所述CRC校验模块,用于对切割后的所述第一明文配置数据、切割后的所述第二明文配置数据以及所述第三明文配置数据进行CRC校验;所述配置模块,还用于当所述CRC校验模块的校验结果为不通过时,清除已写入所述配置信息存储器中的配置信息,并将所述FPGA复位。第二方面,本专利技术提供了一种FPGA,所述FPGA中包含有上述任一种配置数据解密电路。本专利技术提供的集成于FPGA的配置数据解密电路中,通过接收模块接收根据原始密钥所生成的解密密钥,并将该解密密钥存储在非易失型存储模块中。相应的,AES解密模块可以从非易失型存储模块中获取解密密钥,对接收模块接收的加密配置数据进行解密。由于AES算法中的解密密钥与加密密钥不同,即使解密密钥被获取,在未获知解密密钥与加密密钥的关系时,也无法使用解密密钥对加密数据进行解密,提高了加密配置数据的安全性。并且,解密密钥存放于FPGA芯片内部集成的非易失型存储本文档来自技高网
...

【技术保护点】
1.一种集成于FPGA的配置数据解密电路,其特征在于,包括:接收模块、数据接收FIFO模块、非易失型存储模块、AES解密模块、解密数据FIFO模块以及配置模块;其中,/n所述接收模块,用于分别接收第一加密配置数据以及解密密钥;所述解密密钥为根据原始密钥利用AES算法所生成的密钥;/n所述数据接收FIFO模块,用于将所述第一加密配置数据按照AES算法要求的格式分发至所述AES解密模块,将所述解密密钥分发至所述配置模块;/n所述配置模块,用于将收到的所述解密密钥发送至所述非易失型存储模块中进行存储;/n所述AES解密模块,用于从所述非易失型存储模块中获取所述解密密钥;根据所述解密密钥,将收到的所述第一加密配置数据解密为第一明文配置数据;/n所述解密数据FIFO模块,用于将所述第一明文配置数据切割为与所述配置模块匹配的格式;/n所述配置模块,还用于根据切割后的所述第一明文配置数据执行配置操作。/n

【技术特征摘要】
1.一种集成于FPGA的配置数据解密电路,其特征在于,包括:接收模块、数据接收FIFO模块、非易失型存储模块、AES解密模块、解密数据FIFO模块以及配置模块;其中,
所述接收模块,用于分别接收第一加密配置数据以及解密密钥;所述解密密钥为根据原始密钥利用AES算法所生成的密钥;
所述数据接收FIFO模块,用于将所述第一加密配置数据按照AES算法要求的格式分发至所述AES解密模块,将所述解密密钥分发至所述配置模块;
所述配置模块,用于将收到的所述解密密钥发送至所述非易失型存储模块中进行存储;
所述AES解密模块,用于从所述非易失型存储模块中获取所述解密密钥;根据所述解密密钥,将收到的所述第一加密配置数据解密为第一明文配置数据;
所述解密数据FIFO模块,用于将所述第一明文配置数据切割为与所述配置模块匹配的格式;
所述配置模块,还用于根据切割后的所述第一明文配置数据执行配置操作。


2.根据权利要求1所述的配置数据解密电路,其特征在于,
所述接收模块,还用于接收第二加密配置数据;所述第二加密配置数据与所述第一加密配置数据分别应用于所述FPGA的不同配置模式;
所述数据接收FIFO模块,还用于将所述第二加密配置数据分发至所述配置模块;
所述配置模块,还用于将收到的所述第二加密配置数据发送至所述非易失型存储模块中进行存储;
所述AES解密模块,还用于从所述非易失型存储模块中获取所述第二加密配置数据;根据所述解密密钥,将获取的所述第二加密配置数据解密为第二明文配置数据;
所述解密数据FIFO模块,还用于将所述第二明文配置数据切割为与所述配置模块匹配的格式;
所述配置模块,还用于根据切割后的所述第二明文配置数据执行配置操作。


3.根据权利要求2所述的配置数据解密电路,其特征在于,
所述接收模块,还用于接收第三明文配置数据;所述第三明文配置数据、所述第一明文配置数据以及所述第二明文配置数据分别应用于所述FPGA的不同配置模式;
所述数据接收FIFO模块,还用于将所述第三明文配置数据分发至所述配置模块;
所述配置模块,还用于根据收到的所述第三明文配置数据执行配置操作。


4.根据权利要求3所述的配置数据解密电路,其特征在于,
所述接收模块,还用于接收安全控制字和安全密码;所述安全控制字用于设置所述非易失型存储模块的操作权限;所述安全密码为所述非易失型存储模块的密码;
所述数据接收...

【专利技术属性】
技术研发人员:蔡旭伟王黎明张亭亭贾红陈维新韦嶔程显志
申请(专利权)人:厦门智多晶科技有限公司
类型:发明
国别省市:福建;35

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

1