《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 电子元件 > 设计应用 > 基于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加密的方法具有稳定高效、简单可靠和资源占用少等优点。
關(guān)鍵詞: CHIPID FPGA实现 加密
中圖分類號(hào): TN409
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.200419
中文引用格式: 陳小宇,葉佳棟. 基于CHIP ID的FPGA加密算法設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,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 引言

    近年來(lái),現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)憑借著它卓越的性能、靈活方便的可升級(jí)特性得到了廣泛的應(yīng)用。大部分FPGA器件采用了查找表(Look Up Table,LUT)結(jié)構(gòu),其物理結(jié)構(gòu)是靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random-Access Memory,SRAM)[1],它要求每次上電重新對(duì)FPGA進(jìn)行配置,二進(jìn)制配置文件從外部存儲(chǔ)器加載到內(nèi)部SRAM中運(yùn)行,這就使得監(jiān)視配置的位數(shù)據(jù)流成為可能[2]。因此必須加上保密技術(shù)保護(hù)開發(fā)者的知識(shí)產(chǎn)權(quán)。

    主流的FPGA加密策略有外置安全輔助芯片法、內(nèi)置密鑰法和DEVICE ID與比特流封裝法三種[3]。外置安全輔助芯片法通過(guò)將FPGA與外置安全輔助芯片相結(jié)合,同時(shí)在各自內(nèi)部產(chǎn)生隨機(jī)密鑰并進(jìn)行安全哈希算法計(jì)算,在FPGA內(nèi)部進(jìn)行匹配校驗(yàn)完成加密[4]。安全芯片一般是CPU或者專用芯片等,此類方法對(duì)讀寫時(shí)序和寄存器配置要求嚴(yán)格,對(duì)開發(fā)者水平要求較高[5]。內(nèi)置密鑰法原理是利用FPGA內(nèi)置密鑰與高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)的方式對(duì)配置數(shù)據(jù)比特流加密,一般是高端FPGA芯片采用的方法。這種加密方法加密效果好但對(duì)成本敏感的應(yīng)用場(chǎng)合來(lái)說(shuō)不太合適[6]。DEVICE ID與比特流封裝法是將每個(gè)FPGA帶有的唯一ID與設(shè)計(jì)關(guān)聯(lián)起來(lái),設(shè)計(jì)者可以加入自定義算法,實(shí)現(xiàn)加密過(guò)程。此加密方法對(duì)Xilinx和Altera公司的多數(shù)FPGA都適用,區(qū)別在于它們對(duì)于DEVICE ID的命名不同,Xilinx和Altera的命名分別為DEVICE DNA和CHIP ID。DEVICE ID與比特流封裝法具有使用移植簡(jiǎn)單、占用資源少和適用性廣的特點(diǎn)。

    本文針對(duì)當(dāng)前電子設(shè)備的發(fā)展現(xiàn)狀,以Altera公司的FPGA為例,設(shè)計(jì)了一種基于CHIP ID的加密方式。為優(yōu)化系統(tǒng)結(jié)構(gòu),節(jié)省邏輯資源,本文采用了硬件電路和邏輯控制的設(shè)計(jì)方式,同時(shí)結(jié)合自定義加密方法,實(shí)現(xiàn)了對(duì)FPGA加密的過(guò)程。




本文詳細(xì)內(nèi)容請(qǐng)下載:http://m.ihrv.cn/resource/share/2000003066




作者信息:

陳小宇,葉佳棟

(華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢430079)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。