《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電子元件 > 設(shè)計應(yīng)用 > 基于CHIP ID的FPGA加密算法設(shè)計與實現(xiàn)
基于CHIP ID的FPGA加密算法設(shè)計與實現(xiàn)
2020年電子技術(shù)應(yīng)用第11期
陳小宇,葉佳棟
華中師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢430079
摘要: 針對FPGA芯片上電配置數(shù)據(jù)容易被竊取的問題,提出了一種基于CHIP ID的加密算法。CHIP ID是Altera公司Cyclone V系列FPGA,出廠就帶有的唯一ID,調(diào)用IP核就可以讀出每個芯片的ID。此ID可以根據(jù)開發(fā)者的需求加入個性化加密算法并與指定FPGA結(jié)合起來,生成配置比特流文件。主程序運行自定義加密算法計算出一個加密值,將加密值與預(yù)存的匹配值進(jìn)行對比,判斷程序是否正常運行。結(jié)果表明使用CHIP ID加密的方法具有穩(wěn)定高效、簡單可靠和資源占用少等優(yōu)點。
關(guān)鍵詞: CHIPID FPGA實現(xiàn) 加密
中圖分類號: TN409
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.200419
中文引用格式: 陳小宇,葉佳棟. 基于CHIP ID的FPGA加密算法設(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 引言

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

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

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




本文詳細(xì)內(nèi)容請下載:http://theprogrammingfactory.com/resource/share/2000003066




作者信息:

陳小宇,葉佳棟

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

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