《电子技术应用》
您所在的位置:首页 > 电子元件 > 设计应用 > 基于CHIP ID的FPGA加密算法设计与实现
基于CHIP ID的FPGA加密算法设计与实现
2020年电子技术应用第11期
陈小宇,叶佳栋
华中师范大学 物理科学与技术学院,湖北 武汉430079
摘要: 针对FPGA芯片上电配置数据容易被窃取的问题,提出了一种基于CHIP ID的加密算法。CHIP ID是Altera公司Cyclone V系列FPGA,出厂就带有的唯一ID,调用IP核就可以读出每个芯片的ID。此ID可以根据开发者的需求加入个性化加密算法并与指定FPGA结合起来,生成配置比特流文件。主程序运行自定义加密算法计算出一个加密值,将加密值与预存的匹配值进行对比,判断程序是否正常运行。结果表明使用CHIP ID加密的方法具有稳定高效、简单可靠和资源占用少等优点。
关键词: CHIPID FPGA实现 加密
中图分类号: TN409
文献标识码: A
DOI:10.16157/j.issn.0258-7998.200419
中文引用格式: 陈小宇,叶佳栋. 基于CHIP ID的FPGA加密算法设计与实现[J].电子技术应用,2020,46(11):100-103.
英文引用格式: Chen Xiaoyu,Ye Jiadong. Design and implementation of FPGA encryption algorithm based on CHIP ID[J]. Application of Electronic Technique,2020,46(11):100-103.
Design and implementation of FPGA encryption algorithm based on CHIP ID
Chen Xiaoyu,Ye Jiadong
College of Physical Science and Technology,Central China Normal University,Wuhan 430079,China
Abstract: Aiming at the problem that FPGA chip power-on configuration data is easily stolen, an encryption algorithm based on CHIP ID is proposed. CHIP ID is the unique ID that comes with Altera′s Cyclone V series FPGAs.Each CHIP ID can be read by calling the IP core, this ID can be added to the personalized encryption algorithm according to the needs of developers and combined with the specified FPGA to generate configuration bitstream files. The main program runs a custom encryption algorithm to calculate an encrypted value, compares the encrypted value with the pre-stored matching value, and judges whether the program is running normally.The results show that the method using CHIP ID hardware encryption has the advantages of high-stability, high-efficiency, high-reliability, and less resource occupation.
Key words : CHIP ID;FPGA implementation;encryption

0 引言

    近年来,现场可编程门阵列(Field Programmable Gate Array,FPGA)凭借着它卓越的性能、灵活方便的可升级特性得到了广泛的应用。大部分FPGA器件采用了查找表(Look Up Table,LUT)结构,其物理结构是静态随机存取存储器(Static Random-Access Memory,SRAM)[1],它要求每次上电重新对FPGA进行配置,二进制配置文件从外部存储器加载到内部SRAM中运行,这就使得监视配置的位数据流成为可能[2]。因此必须加上保密技术保护开发者的知识产权。

    主流的FPGA加密策略有外置安全辅助芯片法、内置密钥法和DEVICE ID与比特流封装法三种[3]。外置安全辅助芯片法通过将FPGA与外置安全辅助芯片相结合,同时在各自内部产生随机密钥并进行安全哈希算法计算,在FPGA内部进行匹配校验完成加密[4]。安全芯片一般是CPU或者专用芯片等,此类方法对读写时序和寄存器配置要求严格,对开发者水平要求较高[5]。内置密钥法原理是利用FPGA内置密钥与高级加密标准(Advanced Encryption Standard,AES)的方式对配置数据比特流加密,一般是高端FPGA芯片采用的方法。这种加密方法加密效果好但对成本敏感的应用场合来说不太合适[6]。DEVICE ID与比特流封装法是将每个FPGA带有的唯一ID与设计关联起来,设计者可以加入自定义算法,实现加密过程。此加密方法对Xilinx和Altera公司的多数FPGA都适用,区别在于它们对于DEVICE ID的命名不同,Xilinx和Altera的命名分别为DEVICE DNA和CHIP ID。DEVICE ID与比特流封装法具有使用移植简单、占用资源少和适用性广的特点。

    本文针对当前电子设备的发展现状,以Altera公司的FPGA为例,设计了一种基于CHIP ID的加密方式。为优化系统结构,节省逻辑资源,本文采用了硬件电路和逻辑控制的设计方式,同时结合自定义加密方法,实现了对FPGA加密的过程。




本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003066




作者信息:

陈小宇,叶佳栋

(华中师范大学 物理科学与技术学院,湖北 武汉430079)

此内容为AET网站原创,未经授权禁止转载。