一种SRAM型FPGA的加密装置及方法制造方法及图纸

技术编号:15791842 阅读:285 留言:0更新日期:2017-07-09 22:18
本发明专利技术提出了一种SRAM型FPGA的加密装置及方法,用于解决现有加密装置成本高、对加密芯片加密能力要求高和加密方法具有局限性的技术问题;加密装置包括SRAM型FPGA、非易失性存储器件、片外SRAM、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关;加密方法为:配置SRAM型FPGA芯片;获取SRAM型FPGA的序列号;初始序列加密模块判断是否对SRAM型FPGA芯片进行第一次加密;加密认证模块实现两级认证操作;初始序列加密模块更新安全信息和成功配置次数,并向用户逻辑模块发送认证成功信号;加密模块随时准备更换静态认证串号。本发明专利技术成本低、易于实现、通用性强、加密可靠。

【技术实现步骤摘要】
一种SRAM型FPGA的加密装置及方法
本专利技术属于大规模集成电路设计
,特别涉及一种SRAM型FPGA的加密装置及方法,可用于保护基于SRAM型FPGA的产品及设计的知识产权。
技术介绍
SRAM(StaticRandomAccessMemory,静态随机访问存储器)是目前应用范围最广的FPGA(FieldProgrammableGateArray,现场可编程门阵列)结构,主要因为它运行速度快且具有可重编程能力。SRAM型FPGA芯片是基于SRAM结构的可再配置型FPGA器件,加电时要将配置文件数据读入片内SRAM中,配置完成后可进入工作状态;掉电后SRAM中的配置文件数据丢失,SRAM型FPGA芯片内部逻辑关系随之消失。这种SRAM型FPGA芯片可反复使用,在商业及科研领域已经得到了广泛的应用,为用户提供了最大的灵活性。随着SRAM型FPGA芯片应用的推广也促使人们对其产品及设计的安全性越来越关心。FPGA的常用攻击方法有克隆与复制,反工程,黑盒攻击等。克隆与复制是指对FPGA设计的原样复制,攻击者关心的是最终产品的复制。由于SRAM型FPGA芯片掉电易失的特性,要求每次上电都需要将配置文件的比特流数据按照一定的时序写入SRAM型FPGA芯片完成配置。攻击者可采用一定电路对配置FPGA的数据引脚进行采样,利用记录下来的配置数据可对另一块FPGA芯片进行配置,如此很容易便实现了对SRAM型FPGA芯片内部设计电路的克隆,从而达到复制产品的目的。反工程是指调配专业的人力、物力使用专业工具对芯片的各金属连接层依次进行剥离和照相记录以得到芯片结构,从而获取原设计的网表与电路图来复制和制作新的电路。虽然这种方法需要一定的成本与实践,但SRAM型FPGA芯片的实现结构对于专业的反工程保护能力也比较差。黑盒攻击指通过对芯片输入所有可能的输入值,获取对应的输出值,以此得到系统设计的真值表来获取原设计。一旦设计复杂,穷举所有的设计输入需要大量的时间,这种方法是不现实的。目前,对SRAM型FPGA芯片的加密装置及方法主要有以下几类:1.选用自带加密功能的SRAM型FPGA芯片,使用加密算法对配置文件数据进行加密,当配置文件被加载到SRAM型FPGA芯片中时再对配置文件数据进行解密还原。这种方法简单、实用,但是需要SRAM型FPGA芯片中配备有该类加密硬核,而现阶段只有部分高端SRAM型FPGA芯片中具备此类硬核,使得该方法加密成本高且具有局限性。例如,专利授权号为CN103257937B,名称为“一种保护FPGA芯片内部配置存储器的方法”的中国专利,公开了一种保护FPGA芯片中配置存储器中数据的方法、芯片和装置,其方法包括:用解密密码对加密后的配置文件数据进行解密;接收外部输入的用户密码;当强制加密控制比特指示需要对访问码进行加密时,用解密密码对访问码进行加密,加密结果作为访问权限密码,否则直接将访问码作为访问权限密码;将输入的用户密码与访问权限密码进行比较,当比较结果一致时,打开用户对配置存储器的访问权限。2.外接加密辅助芯片,采用CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)、单片机、加密芯片等外部芯片,为SRAM型FPGA芯片提供安全控制和保护。在这种加密方法中,SRAM型FPGA芯片加电后,从引导存储器中读取配置文件数据,配置完成后,SRAM型FPGA芯片被启动并进行认证工作。该方法对加密芯片的加密能力有一定的要求,因此应用受到限制,并且一定程度上增加了硬件成本。例如,专利授权号为CN102567671B,名称为“一种FPGA配置数据的加密系统及其加密方法”的中国专利,公开了一种FPGA配置数据的加密系统及其加密方法。系统包括单片机、加密单元和配置芯片;其方法具体为:配置芯片将配置数据发送至编程元件,加密单元在编程元件接收到配置数据后控制单片机开始配置数据,之后加密单元发送一随机码给单片机,单片机对该随机码进行加密后发送给加密单元,加密单元同时对随机码进行加密,将加密后的随机码与单片机加密后的随机码进行比对,若相同则控制编程元件中的配置数据开始执行。
技术实现思路
本专利技术的目的在于克服上述现有技术存在的缺陷,提供了一种SRAM型FPGA的加密装置及方法,用于解决现有技术中加密装置成本高、对外接加密芯片的加密能力要求高和加密方法具有局限性的技术问题。为了实现上述目的,本专利技术采取的技术方案为:一种SRAM型FPGA的加密装置,包括SRAM型FPGA芯片、非易失性存储器件、片外SRAM芯片、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关,其中:SRAM型FPGA芯片,包括用户逻辑模块和加密认证模块,其中:用户逻辑模块,用于实现SRAM型FPGA芯片的用户逻辑功能;加密认证模块,包括静态认证串号更换模块、初始序列加密模块和FPGA序列号获取模块,其中:静态认证串号更换模块,用于接收并解析通过静态认证串号远程更换接口以及静态认证串号输入按键输入的静态认证串号更换信息,再将更换信息送往初始序列加密模块;FPGA序列号获取模块,通过逻辑功能实现对FPGA序列号的合法获取,并将获取的FPGA序列号送往初始序列加密模块;初始序列加密模块,用于实现对SRAM型FPGA芯片的第一次加密、对非易失性存储器件和片外SRAM芯片进行读写控制、实现静态认证序列号更换并根据安全认证的结果判定是否向用户逻辑模块发送开始工作信号;非易失性存储器件,其端口与SRAM型FPGA芯片的配置管脚相连,用于存储SRAM型FPGA芯片的配置文件数据以及包含静态认证串号、认证初始序列和认证加密结果的安全信息;片外SRAM芯片,用于存储SRAM型FPGA芯片的成功配置次数,其供电采用相对于加密装置独立的电池供电方式;静态认证串号远程更换接口,用于接收用户远程发送的静态认证串号更换信息;静态认证串号输入按键,用于接收用户本地发送的静态认证串号更换信息;可拆除加密使能开关,用于向初始序列加密模块发送单比特的加密使能信号。一种SRAM型FPGA的加密方法,包括如下步骤:(1)加密装置加电后,SRAM型FPGA芯片从非易失性存储器件中读取配置文件,并实现对SRAM型FPGA芯片的配置;(2)FPGA序列号获取模块获取FPGA序列号,并将获取的FPGA序列号发送至初始序列加密模块;(3)初始序列加密模块判断加密使能信号是否为高电平,若是,执行步骤(3a),进行对SRAM型FPGA芯片的第一次加密,否则执行步骤(4):(3a)初始序列加密模块定义静态认证串号,并将该静态认证串号写入非易失性存储器件,同时将成功配置次数值设置为1,再将成功配置次数写入片外SRAM芯片,并执行步骤(3b);(3b)初始序列加密模块将FPGA序列号、静态认证串号和成功配置次数依次进行拼接,得到认证初始序列,将其写入非易失性存储器件,并执行步骤(3c);(3c)初始序列加密模块采用用户选取的加密算法,对认证初始序列进行加密计算,得到认证加密结果,将其写入非易失性存储器件,并执行步骤(3d);(3d)关断加密装置电源,并将可拆除加密使能开关拆除,实现并结束对SRAM型FPGA芯片的第一次加密;(4)加密认证模块实现两级安本文档来自技高网
...
一种SRAM型FPGA的加密装置及方法

【技术保护点】
一种SRAM型FPGA的加密装置,其特征在于,包括:SRAM型FPGA芯片、非易失性存储器件、片外SRAM芯片、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关,其中:SRAM型FPGA芯片,包括用户逻辑模块和加密认证模块,其中:用户逻辑模块,用于实现SRAM型FPGA芯片的用户逻辑功能;加密认证模块,包括静态认证串号更换模块、初始序列加密模块和FPGA序列号获取模块,其中:静态认证串号更换模块,用于接收并解析通过静态认证串号远程更换接口以及静态认证串号输入按键输入的静态认证串号更换信息,再将更换信息送往初始序列加密模块;FPGA序列号获取模块,通过逻辑功能实现对FPGA序列号的合法获取,并将获取的FPGA序列号送往初始序列加密模块;初始序列加密模块,用于实现对SRAM型FPGA芯片的第一次加密、对非易失性存储器件和片外SRAM芯片进行读写控制、实现静态认证序列号更换并根据安全认证的结果判定是否向用户逻辑模块发送开始工作信号;非易失性存储器件,其端口与SRAM型FPGA芯片的配置管脚相连,用于存储SRAM型FPGA芯片的配置文件数据以及包含静态认证串号、认证初始序列和认证加密结果的安全信息;片外SRAM芯片,用于存储SRAM型FPGA芯片的成功配置次数,其供电采用相对于加密装置独立的电池供电方式;静态认证串号远程更换接口,用于接收用户远程发送的静态认证串号更换信息;静态认证串号输入按键,用于接收用户本地发送的静态认证串号更换信息;可拆除加密使能开关,用于向初始序列加密模块发送单比特的加密使能信号。...

【技术特征摘要】
1.一种SRAM型FPGA的加密装置,其特征在于,包括:SRAM型FPGA芯片、非易失性存储器件、片外SRAM芯片、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关,其中:SRAM型FPGA芯片,包括用户逻辑模块和加密认证模块,其中:用户逻辑模块,用于实现SRAM型FPGA芯片的用户逻辑功能;加密认证模块,包括静态认证串号更换模块、初始序列加密模块和FPGA序列号获取模块,其中:静态认证串号更换模块,用于接收并解析通过静态认证串号远程更换接口以及静态认证串号输入按键输入的静态认证串号更换信息,再将更换信息送往初始序列加密模块;FPGA序列号获取模块,通过逻辑功能实现对FPGA序列号的合法获取,并将获取的FPGA序列号送往初始序列加密模块;初始序列加密模块,用于实现对SRAM型FPGA芯片的第一次加密、对非易失性存储器件和片外SRAM芯片进行读写控制、实现静态认证序列号更换并根据安全认证的结果判定是否向用户逻辑模块发送开始工作信号;非易失性存储器件,其端口与SRAM型FPGA芯片的配置管脚相连,用于存储SRAM型FPGA芯片的配置文件数据以及包含静态认证串号、认证初始序列和认证加密结果的安全信息;片外SRAM芯片,用于存储SRAM型FPGA芯片的成功配置次数,其供电采用相对于加密装置独立的电池供电方式;静态认证串号远程更换接口,用于接收用户远程发送的静态认证串号更换信息;静态认证串号输入按键,用于接收用户本地发送的静态认证串号更换信息;可拆除加密使能开关,用于向初始序列加密模块发送单比特的加密使能信号。2.一种SRAM型FPGA的加密方法,其特征在于,包括如下步骤:(1)加密装置加电后,SRAM型FPGA芯片从非易失性存储器件中读取配置文件,并实现对SRAM型FPGA芯片的配置;(2)FPGA序列号获取模块获取FPGA序列号,并将获取的FPGA序列号发送至初始序列加密模块;(3)初始序列加密模块判断加密使能信号是否为高电平,若是,执行步骤(3a),进行对SRAM型FPGA芯片的第一次加密,否则执行步骤(4):(3a)初始序列加密模块定义静态认证串号,并将该静态认证串号写入非易失性存储器件,同时将成功配置次数值设置为1,再将成功配置次数写入片外SRAM芯片,并执行步骤(3b);(3b)初始序列加密模块将FPGA序列号、静态认证串号和成功配置次数依次进行拼接,得到认证初始序列,将其写入非易失性存储器件,并执行步骤(3c);(3c)初始序列加密模块采用用户选取的加密算法,对认证初始序列进行加密计算,得到认证加密结果,将其写入非易失性存储器件,并执行步骤(3d);(3d)关断加密装置电源,并将可拆除加密使能开关拆除,实现并结束对SRAM型FPGA芯片的第一次加密;(4)加密认证模块实现两级安全认证,包括如下步骤:(4a)初始序列加密模块分别读取FPGA序列号获取模块中获取的FPGA序列号、非易失性存储器件中存储的静态认证串号和片外SRAM芯片中存储的成功配置次数,并对读取的数据...

【专利技术属性】
技术研发人员:王海杨敏秦红波赵伟刘岩
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1