CN106933752A - 一种sram型fpga的加密装置及方法 - Google Patents

一种sram型fpga的加密装置及方法 Download PDF

Info

Publication number
CN106933752A
CN106933752A CN201710137899.5A CN201710137899A CN106933752A CN 106933752 A CN106933752 A CN 106933752A CN 201710137899 A CN201710137899 A CN 201710137899A CN 106933752 A CN106933752 A CN 106933752A
Authority
CN
China
Prior art keywords
encryption
certification
static
initiation sequence
chip
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.)
Granted
Application number
CN201710137899.5A
Other languages
English (en)
Other versions
CN106933752B (zh
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710137899.5A priority Critical patent/CN106933752B/zh
Publication of CN106933752A publication Critical patent/CN106933752A/zh
Application granted granted Critical
Publication of CN106933752B publication Critical patent/CN106933752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种SRAM型FPGA的加密装置及方法
技术领域
本发明属于大规模集成电路设计技术领域,特别涉及一种SRAM型FPGA的加密装置及方法,可用于保护基于SRAM型FPGA的产品及设计的知识产权。
背景技术
SRAM(Static RandomAccess Memory,静态随机访问存储器)是目前应用范围最广的FPGA(Field Programmable Gate Array,现场可编程门阵列)结构,主要因为它运行速度快且具有可重编程能力。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芯片中具备此类硬核,使得该方法加密成本高且具有局限性。
例如,专利授权号为CN 103257937 B,名称为“一种保护FPGA芯片内部配置存储器的方法”的中国专利,公开了一种保护FPGA芯片中配置存储器中数据的方法、芯片和装置,其方法包括:用解密密码对加密后的配置文件数据进行解密;接收外部输入的用户密码;当强制加密控制比特指示需要对访问码进行加密时,用解密密码对访问码进行加密,加密结果作为访问权限密码,否则直接将访问码作为访问权限密码;将输入的用户密码与访问权限密码进行比较,当比较结果一致时,打开用户对配置存储器的访问权限。
2.外接加密辅助芯片,采用CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)、单片机、加密芯片等外部芯片,为SRAM型FPGA芯片提供安全控制和保护。在这种加密方法中,SRAM型FPGA芯片加电后,从引导存储器中读取配置文件数据,配置完成后,SRAM型FPGA芯片被启动并进行认证工作。该方法对加密芯片的加密能力有一定的要求,因此应用受到限制,并且一定程度上增加了硬件成本。
例如,专利授权号为CN 102567671 B,名称为“一种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)加密认证模块实现两级安全认证,包括如下步骤:
(4a)初始序列加密模块分别读取FPGA序列号获取模块中获取的FPGA序列号、非易失性存储器件中存储的静态认证串号和片外SRAM芯片中存储的成功配置次数,并对读取的数据依次进行拼接,得到待加密初始序列;
(4b)初始序列加密模块读取非易失性存储器件中存储的认证初始序列,并与待加密初始序列进行对比,若一致,则判定第一级认证成功,确认SRAM型FPGA芯片、非易失性存储器件和片外SRAM芯片安全,并执行步骤(4c),否则判定认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
(4c)初始序列加密模块读取非易失性存储器件中存储的认证加密结果,并采用用户选取的加密算法对待加密初始序列进行加密计算,将计算得到的待认证加密结果和认证加密结果进行对比,若一致则判定第二级认证通过,确认SRAM型FPGA芯片从非易失性存储器件读取的配置文件正确,并执行步骤(5),否则判定第二级认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
(5)初始序列加密模块更新安全信息和成功配置次数,同时向用户逻辑模块发送开始工作信号:
(5a)初始序列加密模块将成功配置次数加1后重新写入片外SRAM芯片替换原参数,同时将FPGA序列号、静态认证串号和新的成功配置次数依次拼接,得到新的认证初始序列,并对新的认证初始序列进行加密计算得到新的认证加密结果,将新的认证初始序列和新的认证加密结果分别写入非易失性存储器件;
(5b)初始序列加密模块向用户逻辑模块发送开始工作信号,用户逻辑模块收到该信号后开始正常工作;
(6)加密认证模块随时准备更换静态认证串号:SRAM型FPGA芯片正常工作时,加密认证模块处于随时待命状态,加密认证模块接收到用户通过静态认证串号远程更换接口或静态认证串号输入按键发送的静态认证串号更换信息后,立即做出响应并实现静态认证串号的更换。
本发明与现有技术相比,具有如下优点:
1.本发明由于将安全信息存储在存储FPGA配置文件数据的非易失性存储器件中且将成功配置次数存储在片外小容量SRAM芯片中,与现有技术性中需要额外的FPGA、CPLD、单片机或加密芯片配合加密相比,有效降低了成本,并易于工程实现。
2.本发明由于SRAM型FPGA芯片中与加密相关的功能模块均采用FPGA内部的部分逻辑单元实现,与现有技术中只适用于少数高端芯片的加密配置数据流方式相比,具有通用性强的优点。
3.本发明由于对片外SRAM芯片采用相对于加密装置独立的电池供电方式,并利用SRAM芯片掉电易失的特性存储成功配置参数,若对该片外SRAM芯片进行非法操作则会造成芯片内存储的参数丢失,导致安全认证失败,与现有技术相比,有效地提高了对SRAM型FPGA芯片的保护强度。
4.本发明由于在实现对SRAM型FPGA芯片安全认证的过程中,采用两级认证,其中第一级认证确认SRAM型FPGA芯片、非易失性存储器件和片外SRAM芯片是否安全,第二级认证确认SRAM型FPGA芯片从非易失性存储器件读取的配置文件是否正确,与现有技术相比,认证信息全面,同时,第一级认证失败则不再进行第二级认证操作,与现有技术相比,减少不必要的工作量,有效提高工作效率。
5.本发明由于在实现对SRAM型FPGA芯片安全认证的过程中,为用户提供更换静态认证串号的途径,与现有技术相比,有效地增大加密算法破解难度,并进一步提高了对SRAM型FPGA的保护强度。
附图说明
图1为本发明SRAM型FPGA的加密装置的整体结构示意图;
图2为本发明SRAM型FPGA的加密方法的实现流程框图。
具体实施方式
以下结合附图和实施例,对本发明作进一步详细说明。本实施例中的SRAM型FPGA芯片以Xilinx XC5VLX110T芯片为例,片外SRAM芯片优选为小容量SRAM芯片,非易失特性的存储器件优选容量适中可存储FPGA配置文件数据及安全信息的非易失特性的存储器件,静态认证串号的远程更换接口优选以太网口或LVDS(Low-Voltage DifferentialSignaling,低电压差分信号)接口。
参照图1,本发明的SRAM型FPGA的加密装置,包括SRAM型FPGA芯片、非易失性存储器件、片外SRAM芯片、静态认证串号远程更换接口、静态认证串号输入按键和可拆除加密使能开关,其中:
SRAM型FPGA芯片,包括用户逻辑模块和加密认证模块,其中:
用户逻辑模块,用于实现SRAM型FPGA芯片的用户逻辑功能;
加密认证模块,包括静态认证串号更换模块、初始序列加密模块和FPGA序列号获取模块,其中:
静态认证串号更换模块,用于接收并解析通过静态认证串号远程更换接口以及静态认证串号输入按键输入的静态认证串号更换信息,再将更换信息送往初始序列加密模块;
FPGA序列号获取模块,通过逻辑功能实现对FPGA序列号的合法获取,并将获取的FPGA序列号送往初始序列加密模块;
初始序列加密模块,用于实现对SRAM型FPGA芯片的第一次加密、对非易失性存储器件和片外SRAM芯片进行读写控制、实现静态认证序列号更换并根据安全认证的结果判定是否向用户逻辑模块发送开始工作信号;
非易失性存储器件,其端口与SRAM型FPGA芯片的配置管脚相连,用于存储SRAM型FPGA芯片的配置文件数据以及包含静态认证串号、认证初始序列和认证加密结果的安全信息;
片外SRAM芯片,用于存储SRAM型FPGA芯片的成功配置次数,其供电采用相对于加密装置独立的电池供电方式。SRAM芯片具有掉电易失的特性,为保证其中的参数在加密装置掉电停止工作的情况下不会丢失,对其采用独立电池供电,不与加密装置共用同一套供电系统。若对片外SARM芯片进行非法操作,则会造成其中的参数丢失,导致认证失败,因此片外SRAM芯片可作为保护SRAM型FPGA产品及设计的一道可靠保障;同时,成功配置次数是个动态变化的参数,可以提高加密算法的破解难度;
静态认证串号远程更换接口,用于接收用户远程发送的静态认证串号更换信息;
静态认证串号输入按键,用于接收用户本地发送的静态认证串号更换信息;
可拆除加密使能开关,用于向初始序列加密模块发送单比特的加密使能信号。该加密使能信号通过可拆除加密使能开关发送至初始序列加密模块,对SRAM型FPGA芯片进行第一次加密前,打开可拆除加密使能开关,此时初始序列加密模块检测到的加密使能信号为高电平,可拆除加密使能开关被关断或被拆除时,初始序列加密模块检测到的加密使能信号为低电平。
本发明的SRAM型FPGA加密装置及方法,为降低加密装置的成本并提高加密方法的通用性,加密装置中与加密相关的功能模块均利用FPGA内部分逻辑单元实现,并将安全信息存储在存储FPGA的非易失性存储器件中、将成功配置次数存储在片外小容量SRAM中,无需额外的FPGA、CPLD、单片机或加密芯片配合加密认证。
参照图2,本发明的SRAM型FPGA芯片的加密方法,其特征在于,包括如下步骤:
(1)加密装置加电后,SRAM型FPGA芯片从非易失性存储器件中读取配置文件,并实现对SRAM型FPGA芯片的配置;
(2)FPGA序列号获取模块获取FPGA序列号,并将获取的FPGA序列号发送至初始序列加密模块;
FPGA序列号是在器件生产时被烧写在芯片内用于标识芯片的产品序列号,对于每个FPGA芯片来说FPGA序列号是唯一的,并且用户可以通过JTAG(一种国际标准测试协议)或逻辑模块直接读出该序列号,本发明的FPGA序列号获取模块通过逻辑实现对FPGA序列号的获取。
(3)初始序列加密模块判断加密使能信号是否为高电平,若是,执行步骤(3a),进行对SRAM型FPGA芯片的第一次加密,否则执行步骤(4):
(3a)初始序列加密模块定义静态认证串号,并将该静态认证串号写入非易失性存储器件,同时将成功配置次数值设置为1,再将成功配置次数写入片外SRAM芯片,并执行步骤(3b);
(3b)初始序列加密模块将FPGA序列号、静态认证串号和成功配置次数依次进行拼接,得到认证初始序列,将其写入非易失性存储器件,并执行步骤(3c);
(3c)初始序列加密模块采用用户选取的加密算法,对认证初始序列进行加密计算,得到认证加密结果,将其写入非易失性存储器件,并执行步骤(3d);
(3d)关断加密装置电源,并将可拆除加密使能开关拆除,实现并结束对SRAM型FPGA芯片的第一次加密;
对SRAM型FPGA芯片的第一次加密只用于初始化安全信息和成功配置参数,并且将可拆除加密使能开关拆除可防止对安全信息和成功配置参数进行非法初始化。
(4)加密认证模块实现两级安全认证,包括如下步骤:
(4a)初始序列加密模块分别读取FPGA序列号获取模块中获取的FPGA序列号、非易失性存储器件中存储的静态认证串号和片外SRAM芯片中存储的成功配置次数,并对读取的数据依次进行拼接,得到待加密初始序列;
(4b)初始序列加密模块读取非易失性存储器件中存储的认证初始序列,并与待加密初始序列进行对比,若一致,则判定第一级认证成功,确认SRAM型FPGA芯片、非易失性存储器件和片外SRAM芯片安全,并执行步骤(4c),否则判定认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
(4c)初始序列加密模块读取非易失性存储器件中存储的认证加密结果,并采用用户选取的加密算法对待加密初始序列进行加密计算,将计算得到的待认证加密结果和认证加密结果进行对比,若一致则判定第二级认证通过,确认SRAM型FPGA芯片从非易失性存储器件读取的配置文件正确,并执行步骤(5),否则判定第二级认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
上述两安全认证包含的认证信息全面,其中第一级认证用于确认SRAM型FPGA芯片、非易失性存储器件和片外SRAM是否安全,第二级认证用于确认SRAM型FPGA从非易失性存储器件读取的配置文件是否正确,若第一级认证失败,则不再进行第二级认证操作,可以省去不必要的工作量,有效提高工作效率;
(5)初始序列加密模块更新安全信息和成功配置次数,同时向用户逻辑模块发送开始工作信号:
(5a)初始序列加密模块将成功配置次数加1后重新写入片外SRAM芯片替换原参数,同时将FPGA序列号、静态认证串号和新的成功配置次数依次拼接,得到新的认证初始序列,并对新的认证初始序列进行加密计算得到新的认证加密结果,将新的认证初始序列和新的认证加密结果分别写入非易失性存储器件;
(5b)初始序列加密模块向用户逻辑模块发送开始工作信号,用户逻辑模块收到该信号后开始正常工作;
(6)加密认证模块随时准备更换静态认证串号:SRAM型FPGA芯片正常工作时,加密认证模块处于随时待命状态,加密认证模块接收到用户通过静态认证串号远程更换接口或静态认证串号输入按键发送的静态认证串号更换信息后,立即做出响应并实现静态认证串号的更换。静态认证串号更换的具体步骤如下:
(6a)用户通过静态认证串号输入按键以二进制序列的形式或静态认证串号远程更换接口,向SRAM型FPGA芯片发送包含更换信息的数据包;
静态认证串号输入按键为用户提供本地更换途径,静态认证串号远程更换接口为用户提供远程更换途径,方便用户随时进行静态认证串号更换。
(6b)静态认证串号更换模块接收并解析静态认证串号更换信息,得到新的静态认证串号,并发送至初始序列加密模块;
(6c)初始序列加密模块读取FPGA序列号获取模块中获取的FPGA序列号和片外SRAM芯片中存储的成功配置次数,并将FPGA序列号、新的静态认证串号和成功配置次数依次进行拼接,得到新的认证初始序列,再对新的认证初始序列进行加密计算,得到新的认证加密结果;
(6d)初始序列加密模块将新的认证初始序列、新的认证加密结果和新的静态认证串号写入非易失性存储器件,实现一次静态认证串号更换。
本发明的SRAM型FPGA加密装置及方法,通过静态认证串号远程更换接口、静态认证串号输入按键、静态认证串号更换模块和初始序列加密模块为用户提供静态认证串号的更换途径,可根据用户需求随时更换静态认证串号,因此增大加密算法的破解难度并有效地提高了对SRAM型FPGA的保护强度。
以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (4)

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芯片中存储的成功配置次数,并对读取的数据依次进行拼接,得到待加密初始序列;
(4b)初始序列加密模块读取非易失性存储器件中存储的认证初始序列,并与待加密初始序列进行对比,若一致,则判定第一级认证成功,确认SRAM型FPGA芯片、非易失性存储器件和片外SRAM芯片安全,并执行步骤(4c),否则判定认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
(4c)初始序列加密模块读取非易失性存储器件中存储的认证加密结果,并采用用户选取的加密算法对待加密初始序列进行加密计算,将计算得到的待认证加密结果和认证加密结果进行对比,若一致则判定第二级认证通过,确认SRAM型FPGA芯片从非易失性存储器件读取的配置文件正确,并执行步骤(5),否则判定第二级认证失败,SRAM型FPGA芯片停止工作,且不对非易失性存储器件及片外SRAM芯片进行写操作,保持其中的存储信息不变;
(5)初始序列加密模块更新安全信息和成功配置次数,同时向用户逻辑模块发送开始工作信号:
(5a)初始序列加密模块将成功配置次数加1后重新写入片外SRAM芯片替换原参数,同时将FPGA序列号、静态认证串号和新的成功配置次数依次拼接,得到新的认证初始序列,并对新的认证初始序列进行加密计算得到新的认证加密结果,将新的认证初始序列和新的认证加密结果分别写入非易失性存储器件;
(5b)初始序列加密模块向用户逻辑模块发送开始工作信号,用户逻辑模块收到该信号后开始正常工作;
(6)加密认证模块随时准备更换静态认证串号:SRAM型FPGA芯片正常工作时,加密认证模块处于随时待命状态,加密认证模块接收到用户通过静态认证串号远程更换接口或静态认证串号输入按键发送的静态认证串号更换信息后,立即做出响应并实现静态认证串号的更换。
3.根据权利要求2所述的加密方法,其特征在于:步骤(3a)中所述的加密使能信号,其通过可拆除加密使能开关发送至初始序列加密模块,对SRAM型FPGA芯片进行第一次加密前,打开可拆除加密使能开关,此时初始序列加密模块检测到的加密使能信号为高电平,可拆除加密使能开关被关断或被拆除时,初始序列加密模块检测到的加密使能信号为低电平。
4.根据权利要求2所述的加密方法,其特征在于:步骤(6)中所述的认证串号更换,包括如下步骤:
(6a)用户通过静态认证串号输入按键以二进制序列的形式或静态认证串号远程更换接口,向SRAM型FPGA芯片发送包含更换信息的数据包;
(6b)静态认证串号更换模块接收并解析静态认证串号更换信息,得到新的静态认证串号,并发送至初始序列加密模块;
(6c)初始序列加密模块读取FPGA序列号获取模块中获取的FPGA序列号和片外SRAM芯片中存储的成功配置次数,并将FPGA序列号、新的静态认证串号和成功配置次数依次进行拼接,得到新的认证初始序列,再对新的认证初始序列进行加密计算,得到新的认证加密结果;
(6d)初始序列加密模块将新的认证初始序列、新的认证加密结果和新的静态认证串号写入非易失性存储器件,实现一次静态认证串号更换。
CN201710137899.5A 2017-03-09 2017-03-09 一种sram型fpga的加密装置及方法 Active CN106933752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710137899.5A CN106933752B (zh) 2017-03-09 2017-03-09 一种sram型fpga的加密装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710137899.5A CN106933752B (zh) 2017-03-09 2017-03-09 一种sram型fpga的加密装置及方法

Publications (2)

Publication Number Publication Date
CN106933752A true CN106933752A (zh) 2017-07-07
CN106933752B CN106933752B (zh) 2019-10-08

Family

ID=59433436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710137899.5A Active CN106933752B (zh) 2017-03-09 2017-03-09 一种sram型fpga的加密装置及方法

Country Status (1)

Country Link
CN (1) CN106933752B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446849A (zh) * 2018-12-25 2019-03-08 威海银创微电子技术有限公司 非易失性sram数据加密装置
CN110110534A (zh) * 2019-04-18 2019-08-09 郑州信大捷安信息技术股份有限公司 一种fpga安全运行系统及方法
CN111339544A (zh) * 2019-04-24 2020-06-26 上海安路信息科技有限公司 离线下载装置及离线下载方法
CN111400700A (zh) * 2020-03-10 2020-07-10 深圳市三旺通信股份有限公司 交换机的加密方法、装置、设备及计算机可读存储介质
CN111506519A (zh) * 2020-04-22 2020-08-07 上海安路信息科技有限公司 为fpga码点分配sram单元的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001386A2 (en) * 2001-06-22 2003-01-03 Intel Corporation Method and apparatus for active memory bus peripheral control utilizing address call sequencing
CN102567671A (zh) * 2011-12-30 2012-07-11 大连捷成实业发展有限公司 一种fpga配置数据的加密系统及其加密方法
CN103493062A (zh) * 2011-04-29 2014-01-01 阿尔特拉公司 用于保护可编程器件的编程数据的方法和装置
CN104704768A (zh) * 2012-10-04 2015-06-10 本质Id有限责任公司 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统
CN103257937B (zh) * 2012-02-15 2016-09-14 京微雅格(北京)科技有限公司 一种保护fpga芯片内部配置存储器的方法和装置
CN106201352A (zh) * 2016-07-07 2016-12-07 广东高云半导体科技股份有限公司 非易失性fpga片上数据流文件的保密系统及解密方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001386A2 (en) * 2001-06-22 2003-01-03 Intel Corporation Method and apparatus for active memory bus peripheral control utilizing address call sequencing
CN103493062A (zh) * 2011-04-29 2014-01-01 阿尔特拉公司 用于保护可编程器件的编程数据的方法和装置
CN102567671A (zh) * 2011-12-30 2012-07-11 大连捷成实业发展有限公司 一种fpga配置数据的加密系统及其加密方法
CN103257937B (zh) * 2012-02-15 2016-09-14 京微雅格(北京)科技有限公司 一种保护fpga芯片内部配置存储器的方法和装置
CN104704768A (zh) * 2012-10-04 2015-06-10 本质Id有限责任公司 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统
CN106201352A (zh) * 2016-07-07 2016-12-07 广东高云半导体科技股份有限公司 非易失性fpga片上数据流文件的保密系统及解密方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446849A (zh) * 2018-12-25 2019-03-08 威海银创微电子技术有限公司 非易失性sram数据加密装置
CN109446849B (zh) * 2018-12-25 2023-05-12 威海银创微电子技术有限公司 非易失性sram数据加密装置
CN110110534A (zh) * 2019-04-18 2019-08-09 郑州信大捷安信息技术股份有限公司 一种fpga安全运行系统及方法
CN111339544A (zh) * 2019-04-24 2020-06-26 上海安路信息科技有限公司 离线下载装置及离线下载方法
CN111339544B (zh) * 2019-04-24 2023-03-14 上海安路信息科技股份有限公司 离线下载装置及离线下载方法
CN111400700A (zh) * 2020-03-10 2020-07-10 深圳市三旺通信股份有限公司 交换机的加密方法、装置、设备及计算机可读存储介质
CN111400700B (zh) * 2020-03-10 2023-07-21 深圳市三旺通信股份有限公司 交换机的加密方法、装置、设备及计算机可读存储介质
CN111506519A (zh) * 2020-04-22 2020-08-07 上海安路信息科技有限公司 为fpga码点分配sram单元的方法及系统
CN111506519B (zh) * 2020-04-22 2021-04-27 上海安路信息科技股份有限公司 为fpga码点分配sram单元的方法及系统

Also Published As

Publication number Publication date
CN106933752B (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN106933752B (zh) 一种sram型fpga的加密装置及方法
US6904527B1 (en) Intellectual property protection in a programmable logic device
EP2702526B1 (en) Method and apparatus for securing programming data of a programmable device
US8230230B2 (en) Secure data cartridge
US5623637A (en) Encrypted data storage card including smartcard integrated circuit for storing an access password and encryption keys
US8108691B2 (en) Methods used in a secure memory card with life cycle phases
US6996547B1 (en) Method for purchasing items over a non-secure communication channel
US20170300720A1 (en) System for and method of cryptographic provisioning
US9094205B2 (en) Secure provisioning in an untrusted environment
US7103782B1 (en) Secure memory and processing system having laser-scribed encryption key
CN100390760C (zh) 半导体装置和电子装置
US7339400B1 (en) Interface port for electrically programmed fuses in a programmable logic device
US20080189557A1 (en) Method and architecture for restricting access to a memory device
US20070188183A1 (en) Secure memory card with life cycle phases
US20090268902A1 (en) System for and method of cryptographic provisioning
CN103839011B (zh) 涉密文件的保护方法及装置
MX2007014237A (es) Implementacion de almacenamiento seguro con integridad protegida.
US20110016310A1 (en) Secure serial interface with trusted platform module
CN109977702A (zh) 一种基于ds2432芯片的fpga设备加密认证系统和方法
CN108809920A (zh) 采加密技术的数据中心与数据中心操作方法
KR100972540B1 (ko) 라이프 사이클 단계들을 가진 보안 메모리 카드
JP2003091459A (ja) 半導体デバイス内のコードとデータにセキュリティを与えるためのシステムと方法
US8656179B2 (en) Using hidden secrets and token devices to create secure volumes
US20140258729A1 (en) Stored Authorization Status for Cryptographic Operations
CN106919858A (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
GR01 Patent grant
GR01 Patent grant