【技术实现步骤摘要】
一种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芯片、非易失性存储器件、片外SRAM芯片、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关,其中:SRAM型FPGA芯片,包括用户逻辑模块和加密认证模块,其中:用户逻辑模块,用于实现SRAM型FPGA芯片的用户逻辑功能;加密认证模块,包括静态认证串号更换模块、初始序列加密模块和FPGA序列号获取模块,其中:静态认证串号更换模块,用于接收并解析通过静态认证串号远程更换接口以及静态认证串号输入按键输入的静态认证串号更换信息,再将更换信息送往初始序列加密模块;FPGA序列号获取模块,通过逻辑功能实现对FPGA序列号的合法获取,并将获取的FPGA序列号送往初始序列加密模块;初始序列加密模块,用于实现对SRAM型FPGA芯片的第一次加密、对非易失性存储器件和片外SRAM芯片进行读写控制、实现静态认证序列号更换并根据安全认证的结果判定是否向用户逻辑模块发送开始工作信号;非易失性存储器件,其端口与SRAM型FPGA芯片的配置管脚相连,用于存储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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。