文獻(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.
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)