CN110545183A - 一种可编程逻辑器件比特流加密方法 - Google Patents
一种可编程逻辑器件比特流加密方法 Download PDFInfo
- Publication number
- CN110545183A CN110545183A CN201910782334.1A CN201910782334A CN110545183A CN 110545183 A CN110545183 A CN 110545183A CN 201910782334 A CN201910782334 A CN 201910782334A CN 110545183 A CN110545183 A CN 110545183A
- Authority
- CN
- China
- Prior art keywords
- fpga
- encryption
- algorithm
- random number
- bit stream
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种可编程逻辑器件比特流加密方法,包括以下步骤:FPGA将生成的随机算法与随机时间发送至算法模块;FGPA选择算法模块存储的预定义算法完成与加密芯片的三次握手交互,并将运算结果送至功能逻辑判断模块;功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻辑是否正常。本发明采用加密IC,通过单种或多种特定算法,实现FPGA加载比特流的加密,有效防止抄板,保护产品的知识产权。本发明通过随机时间访问及随机算法的选择,使FPGA与加密IC之间的通信无法完整的测试,相应的测试仪器就无法准确记录分析FPGA与加密IC的数据通信,从而无法模拟相应时序,达到保护产品安全性的目的。
Description
技术领域
本发明涉及系统加密技术领域,尤其是一种可编程逻辑器件比特流加密方 法。
背景技术
FPGA的开发难度大,耗时长,投入多,但其内部结构单元是基于SRAM 结构,掉电易失,需要外接非易失性ROM作为加载比特流的存储介质,然而 该加载比特流很容易被复制,从而导致整个产品被抄袭、复制,直接影响企业 效益,因此,为保护产品的安全性,保护产品的知识产权,维护企业的合法利 益,需要对FPGA产品实现加密。
如图1所示,未进行加密的FPGA设计方案,目前很多FPGA产品采用此 方法,NVROM中的加载比特流很容易通过相应的FPGA设计工具完整复制, 从而导致这个FPGA设计产品被抄袭、盗版,损害设计者的合法利益。
如图2所示,采用专用芯片DS28E01芯片加密方案,DS28E01芯片是单 总线芯片,芯片内部有一个SHA-160加密模块,参与SHA算法的为55字节 特定格式的数据。此方案是在FPGA上电后,通过DS28E01芯片算法与FPGA 内部加解密算法的计算,来判断FPGA的主逻辑功能是否正常运行。FPGA与 DS28E01的交互是单总线,并在上电的很短时间内完成。
从上面的描述可以看出,现有技术的缺点如下:
1、未进行加密方案的设计中,存放于NVROM中的加载比特流内容可以 通过FPGA设计工具完全复制,从而通过抄板来复制整个设计产品。
2、在采用DS28E01的加密方案中,虽然起到一定的加密作用,但可以通 过两个方面进行破解,首先,DS28E01的关键算法是SHA1,算法比较单一, 随着技术的发展,暴力破解该算法成为可能,其次,因为FPGA与DS28E01 的通信是发生在上电后的某小段时间内,而且是单总线通信,因此,通过逻辑 分析仪或示波器,完全可以分析出他们之间的通信时序,然后利用外部模拟该 时序关系,到达破解、复制产品的目的。
发明内容
本发明的目的是解决的是通过逻辑分析仪或示波器来测量FPGA与加密 IC之间的通信,然后通过MCU或CPLD来模拟时序,绕过加密IC这一环节, 从而抄袭整个产品的设计。为了解决该问题,本发明提供一种可编程逻辑器件 比特流加密方法,保护FPGA内部逻辑不被轻易复制,从而确保基于FPGA的 产品的安全性,保护产品的知识产权及合法利益。
为实现上述目的,本发明采用下述技术方案:
一种可编程逻辑器件比特流加密方法,包括以下步骤:
FPGA将生成的随机算法与随机时间发送至算法模块;
FGPA选择算法模块存储的预定义算法完成与加密芯片的三次握手交互, 并将运算结果送至功能逻辑判断模块;
功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻辑是否正常。
进一步地,所述FPGA将生成的随机算法与随机时间发送至算法模块步骤 之前,还包括:
FPGA上电完成后,从NVROM加载比特流,FPGA内部功能电路处于复 位状态。
进一步地,所述FPGA将生成的随机算法与随机时间发送至算法模块,具 体包括:
FPGA的随机算法产生模块将生成的随机算法发送至算法模块;
FPGA的随机时间产生模块将生成的随机时间发送至算法模块。
进一步地,所述FGPA选择算法模块存储的预定义算法完成与加密芯片的 三次握手交互,具体包括:
FPGA读取加密芯片的ID与8字节随机数,通过预先设定的DES/AES第 一密钥解密,得到明码ID和8字节随机数;
FPGA使用第二密钥对明码8字节随机数进行DES/AES加密,发送至加 密芯片进行解密;
FPGA读取加密芯片处理后的数据,使用第三密钥进行解密。
进一步地,所述FPGA使用第二密钥对明码8字节随机数进行DES/AES 加密,发送至加密芯片进行解密步骤之后,还包括:
加密芯片将8字节随机数首尾相互异或取反,再次进行DES加密。
进一步地,所述功能逻辑判断模块实时判断加解密结果,判断FPGA功能 逻辑是否正常,具体包括:
解密后,如果数据全为0,则验证失败,FPGA功能逻辑不运行;如果为 非0,则FPGA数据取反运算,然后与之前的随机数进行比较,若一致,则验 证成功,FPGA功能逻辑正常运行;否则,功能逻辑不执行。
进一步地,所述FPGA数据取反运算,然后与之前的随机数进行比较,具 体包括:
FPGA将第三密钥取反与随机数首尾异或操作,将运算结果与随机数比较。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效 果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本发明采用加密IC,通过单种或多种特定算法,实现FPGA加载比特 流的加密,有效防止抄板,保护产品的知识产权。
2、本发明通过随机时间访问及随机算法的选择,使FPGA与加密IC之间 的通信无法完整的测试,相应的测试仪器就无法准确记录分析FPGA与加密IC 的数据通信,从而无法模拟相应时序,达到保护产品安全性的目的。
附图说明
图1是现有方案一示意图;
图2是现有方案二示意图;
图3是本发明实施例一方法流程图;
图4是本发明实施例二方法示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图, 对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现 本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置 进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重 复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间 的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了 对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图3所示,一种可编程逻辑器件比特流加密方法,包括以下步骤:
S1、FPGA上电完成后,从NVROM加载比特流,FPGA内部功能电路处 于复位状态;
S2、FPGA将生成的随机算法与随机时间发送至算法模块;
S3、FGPA选择算法模块存储的预定义算法完成与加密芯片的三次握手交 互,并将运算结果送至功能逻辑判断模块;
S4、功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻辑是否正 常。
如图4所示,步骤S2中,FPGA将生成的随机算法与随机时间发送至算 法模块,具体包括:
FPGA的随机算法产生模块将生成的随机算法发送至算法模块;
FPGA的随机时间产生模块将生成的随机时间发送至算法模块。
本发明主要解决的是通过逻辑分析仪或示波器来测量FPGA与加密IC之 间的通信,然后通过MCU或CPLD来模拟时序,绕过加密IC这一环节,从 而抄袭整个产品的设计。通过随机时间访问及随机算法的选择,使FPGA与加 密IC之间的通信无法完整的测试,因为,在时间轴上,FPGA与加密IC之间 的通信是无限的。
步骤S3中,FGPA选择算法模块存储的预定义算法完成与加密芯片的三 次握手交互,具体包括:
FPGA读取加密芯片的ID与8字节随机数,通过预先设定的DES/AES第 一密钥解密,得到明码ID和8字节随机数。
FPGA使用第二密钥对明码8字节随机数进行DES/AES加密,发送至加 密芯片进行解密。
加密芯片将8字节随机数首尾相互异或取反,再次进行DES加密。
FPGA读取加密芯片处理后的数据,使用第三密钥进行解密。
本实施例中,FPGA与加密IC都经过了多次DES/AES运算,并且具有自 定义算法功能,因此,级数倍增长了破解难度。
步骤S4中,功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻 辑是否正常,具体包括:
解密后,如果数据全为0,则验证失败,FPGA功能逻辑不运行;如果为 非0,则FPGA将第三密钥取反与随机数首尾异或操作,将运算结果与随机数 比较,若一致,则验证成功,FPGA功能逻辑正常运行;否则,功能逻辑不执 行。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明 保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上, 本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发 明的保护范围以内。
Claims (7)
1.一种可编程逻辑器件比特流加密方法,其特征是,包括以下步骤:
FPGA将生成的随机算法与随机时间发送至算法模块;
FGPA选择算法模块存储的预定义算法完成与加密芯片的三次握手交互,并将运算结果送至功能逻辑判断模块;
功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻辑是否正常。
2.如权利要求1所述的可编程逻辑器件比特流加密方法,其特征是,所述FPGA将生成的随机算法与随机时间发送至算法模块步骤之前,还包括:
FPGA上电完成后,从NVROM加载比特流,FPGA内部功能电路处于复位状态。
3.如权利要求2所述的可编程逻辑器件比特流加密方法,其特征是,所述FPGA将生成的随机算法与随机时间发送至算法模块,具体包括:
FPGA的随机算法产生模块将生成的随机算法发送至算法模块;
FPGA的随机时间产生模块将生成的随机时间发送至算法模块。
4.如权利要求1所述的可编程逻辑器件比特流加密方法,其特征是,所述FGPA选择算法模块存储的预定义算法完成与加密芯片的三次握手交互,具体包括:
FPGA读取加密芯片的ID与8字节随机数,通过预先设定的DES/AES第一密钥解密,得到明码ID和8字节随机数;
FPGA使用第二密钥对明码8字节随机数进行DES/AES加密,发送至加密芯片进行解密;
FPGA读取加密芯片处理后的数据,使用第三密钥进行解密。
5.如权利要求4所述的可编程逻辑器件比特流加密方法,其特征是,所述FPGA使用第二密钥对明码8字节随机数进行DES/AES加密,发送至加密芯片进行解密步骤之后,还包括:
加密芯片将8字节随机数首尾相互异或取反,再次进行DES加密。
6.如权利要求1所述的可编程逻辑器件比特流加密方法,其特征是,所述功能逻辑判断模块实时判断加解密结果,判断FPGA功能逻辑是否正常,具体包括:
解密后,如果数据全为0,则验证失败,FPGA功能逻辑不运行;如果为非0,则FPGA数据取反运算,然后与之前的随机数进行比较,若一致,则验证成功,FPGA功能逻辑正常运行;否则,功能逻辑不执行。
7.如权利要求6所述的可编程逻辑器件比特流加密方法,其特征是,所述FPGA数据取反运算,然后与之前的随机数进行比较,具体包括:
FPGA将第三密钥取反与随机数首尾异或操作,将运算结果与随机数比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910782334.1A CN110545183B (zh) | 2019-08-23 | 2019-08-23 | 一种可编程逻辑器件比特流加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910782334.1A CN110545183B (zh) | 2019-08-23 | 2019-08-23 | 一种可编程逻辑器件比特流加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545183A true CN110545183A (zh) | 2019-12-06 |
CN110545183B CN110545183B (zh) | 2022-12-27 |
Family
ID=68711941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910782334.1A Active CN110545183B (zh) | 2019-08-23 | 2019-08-23 | 一种可编程逻辑器件比特流加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545183B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259416A (zh) * | 2020-01-13 | 2020-06-09 | 湖北大学 | 一种基于fpga的多算法安全加密认证系统及认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854243A (zh) * | 2010-04-30 | 2010-10-06 | 株洲南车时代电气股份有限公司 | 一种电路系统设计加密电路及其加密方法 |
CN105245335A (zh) * | 2015-11-03 | 2016-01-13 | 天津津航计算技术研究所 | 一种密钥实时更新系统和方法 |
CN106503592A (zh) * | 2016-11-09 | 2017-03-15 | 深圳市德名利电子有限公司 | 基于可编程逻辑器件的加密方法及系统 |
-
2019
- 2019-08-23 CN CN201910782334.1A patent/CN110545183B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854243A (zh) * | 2010-04-30 | 2010-10-06 | 株洲南车时代电气股份有限公司 | 一种电路系统设计加密电路及其加密方法 |
CN105245335A (zh) * | 2015-11-03 | 2016-01-13 | 天津津航计算技术研究所 | 一种密钥实时更新系统和方法 |
CN106503592A (zh) * | 2016-11-09 | 2017-03-15 | 深圳市德名利电子有限公司 | 基于可编程逻辑器件的加密方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259416A (zh) * | 2020-01-13 | 2020-06-09 | 湖北大学 | 一种基于fpga的多算法安全加密认证系统及认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110545183B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Waksman et al. | Silencing hardware backdoors | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
Koteshwara et al. | Key-based dynamic functional obfuscation of integrated circuits using sequentially triggered mode-based design | |
JP5480449B2 (ja) | スキャン・チェーンのセキュリティを提供するための方法および装置 | |
CN101650764B (zh) | 一种可信计算密码平台及其实现方法 | |
Zhang et al. | An on-chip dynamically obfuscated wrapper for protecting supply chain against IP and IC piracies | |
TWI402755B (zh) | 具有生命周期階段之安全記憶卡 | |
CN109753770A (zh) | 确定烧录数据的方法及装置、烧录方法及装置、电子设备 | |
CN110545183B (zh) | 一种可编程逻辑器件比特流加密方法 | |
Kim et al. | Dynamic function verification for system on chip security against hardware-based attacks | |
CN1996830B (zh) | 具有高级加密标准核的集成电路及验证该标准核的外包 | |
Waksman et al. | Practical, lightweight secure inclusion of third-party intellectual property | |
Shuvo et al. | A comprehensive survey on non-invasive fault injection attacks | |
Plusquellic et al. | Information leakage analysis using a co-design-based fault injection technique on a risc-v microprocessor | |
Exurville et al. | Practical measurements of data path delays for IP authentication & integrity verification | |
CN202110552U (zh) | 一种基于多体交叉存储技术的软件保护装置 | |
EP4099205B1 (en) | Systems and methods for logic circuit replacement with configurable circuits | |
Lee et al. | A brief review on jtag security | |
KR20150065253A (ko) | 보안 회로 및 이를 포함하는 보안 시스템 | |
CN107861892B (zh) | 一种实现数据处理的方法及终端 | |
KR101043255B1 (ko) | Usb 허브 보안 장치 및 이를 이용한 데이터 보안 방법 | |
US20170085369A1 (en) | Method and system for detecting fault attacks | |
Riebler et al. | FPGA-accelerated key search for cold-boot attacks against AES | |
Haider et al. | HaTCh: Hardware Trojan Catcher. | |
Limaye et al. | Antidote: Protecting debug against outsourced test entities |
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 |