国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種新的SRAM工藝FPGA的保護方法

2012-08-15 02:02:00董春國
網絡安全與數據管理 2012年18期
關鍵詞:口令密文解密

董春國

(棗莊科技職業(yè)學院 電氣工程系,山東 棗莊 277500)

在電子產品設計中,FPGA由于靈活方便、性能突出等優(yōu)點,得到了越來越廣泛的應用。目前,市場占有率最高的兩大公司Xilinx和Altera生產的FPGA大都是基于SRAM工藝的,而SRAM工藝FPGA由于自身的特點,存在諸多安全問題[1]。因此,實際應用中需要采取一定的保護手段,確保SRAM工藝FPGA的安全應用。

1 SRAM工藝FPGA的安全問題

SRAM工藝FPGA具有掉電易失性,在實際的應用中需要外部存儲器來存儲其配置信息。因此,SRAM工藝的FPGA具有可反復使用、升級方便、配置電路簡單等優(yōu)點。然而,由于FPGA的配置電路及時序是公開的,在FPGA加載配置信息的過程中,不法者可以通過偵測FPGA配置管腳,截取配置信息來配置其他FPGA。而配置信息是設計者IP核的具體表現形式,這樣,IP核被非法復制,使設計者的產權受到破壞。

針對該問題,參考文獻[2]提出一種結合EDA軟件和FPGA的方法,有效防止IP核被非法復制;參考文獻[3]在IP核中添加保護模塊,通過保護模塊和外部驗證設備通信認證來確認IP核的合法性。以上文獻從不同方面對IP核的防復制進行了研究[4],但都未對使用FPGA的用戶進行身份認證。由于FPGA通常作為電子系統的核心或關鍵模塊,為合法用戶提供一定的服務,因此,實際應用中需對使用FPGA的用戶進行身份認證。本文對此提出一種采用雙重認證(身份認證、產權認證)的保護方法,以滿足SRAM工藝FPGA防止非法用戶使用及IP核防復制的雙重需求。

2 雙重認證方法的設計

2.1 雙重認證方法的思想及模型

由于FPGA芯片供應商對配置數據流的定義是不公開的,所以無法通過配置數據流推測內部電路。因此需要在IP核中添加保護模塊,使得配置成功后FPGA先不工作,只有在身份認證、產權認證成功后,FPGA才正常工作。雙重認證方法既認證使用者的合法性,又認證IP核的合法性,確保SRAM工藝FPGA的安全應用。

本設計需要在IP核中嵌入保護模塊,同時在FPGA外添加安全芯片。系統上電后,從配置器件加載IP核到FPGA,IP核中的工作電路暫時不能工作,只有當產權認證成功,保護模塊發(fā)出使能信號,IP核中工作電路才開始工作。產權認證由IP核中保護模塊和外部的安全管理芯片交互實現,而身份認證則由安全管理芯片完成。雙重認證方法模型如圖1所示,主要包括FPGA、FPGA配置器件、安全芯片等。

本設計中,對FPGA及其配置器件無特殊要求,選用通用器件即可,這里選用的分別是Altera公司的EP2C20F256C8和 EPCS1。

安全芯片既要實現身份認證,又要通過與IP核中保護模塊的交互實現產權認證,對安全性及其他性能都有較高的要求。本設計選用Z32芯片作為安全芯片。

2.2 雙重認證方法的工作流程

本設計采用雙重認證機制保護FPGA的安全應用,其工作流程如圖2所示。系統上電后,從存儲器件加載IP核到FPGA中,首先進行用戶身份認證,身份認證成功后進行產權認證。只有當身份認證和產權認證全部成功后,FPGA才開始正常工作。兩次認證中任意一次失敗,就會啟動錯誤計數器,當計數達到設定的值后,系統就會銷毀存儲的秘密信息,使得系統失效。

圖2 雙重認證方法工作流程

從圖2可以看出,產權認證受身份認證保護,即只有身份認證通過,才能進行產權認證。不法者即使獲得IP核配置信息,由于不能通過身份認證,也無法使FPGA正常工作;合法使用者如果復制IP核的配置信息來配置其他FPGA,由于不能通過產權認證,也無法使FPGA正常工作。因此,雙重認證方法有效地滿足了SRAM工藝FPGA的安全應用需求。

3 關鍵模塊的設計及實現

首先對以下兩個符號進行說明:

(1)Kp:口令密鑰,在身份認證成功后由口令、口令哈希值等分量合成,主要用于對密文存在的認證密鑰Ka解密。

(2)Ka:認證密鑰,受口令密鑰 Kp保護,身份認證成功前以密文形式存在,是產權認證過程中AES算法的密鑰。

3.1 身份認證模塊

身份認證主要由Z32安全芯片來完成。本設計在Z32的固件程序中,實現AES算法和SHA-256算法。在芯片的Flash中開辟安全存儲區(qū),只有固件控制程序可以對該安全存儲區(qū)操作,外部程序無訪問權限。為了提高身份認證的安全性,本設計采用口令方式進行身份認證,安全存儲區(qū)中不存儲口令的明文,僅存儲正確口令的哈希值及認證密鑰Ka的密文。

身份認證原理如圖3所示。本設計采用了密鑰分級保護的思想,通過口令密鑰Kp來保護認證密鑰Ka。只有用戶口令正確,系統才能計算出口令密鑰Kp,然后調用AES算法將認證密鑰Ka解密;若口令不正確,則即使將系統暴力拆解,直接讀取芯片的存儲區(qū),也只能獲得Ka的密文,而無法獲得Ka的值。

圖3 身份認證原理圖

身份認證的具體過程為:

(1)接收用戶輸入的口令。

(2)將用戶輸入的口令用SHA-256算法處理,其結果與安全存儲區(qū)中正確口令的哈希值 (256 bit)進行比對。若比對結果一致,則跳過步驟(3),否則執(zhí)行步驟(3)。

(3)重新執(zhí)行步驟(1),同時啟動錯誤計數器,錯誤值加1。當計數到設定值,則銷毀安全存儲區(qū)中的數據,系統被鎖死。

(4)將口令與哈希值的低128 bit按位異或,得口令密鑰Kp。若口令值不足128 bit,則將口令高位補為 0,補足 128 bit;若口令多于 128 bit,則僅取其低 128 bit。

(5)調用AES算法,用步驟(4)得到的口令密鑰 Kp將密文存儲的 Ka解密,得認證密鑰 Ka。解密后的 Ka也存儲在安全Flash區(qū)中。同時,Z32芯片將生成的口令密鑰Kp清零。

(6)身份認證成功,向IP核保護模塊發(fā)出產權認證開始信號,等待其響應。

若身份認證成功后,用戶輸入修改登錄口令的命令,則首先用原口令密鑰Kp將認證密鑰 Ka解密,然后計算出新口令的哈希值及新的口令密鑰Kp,調用AES算法將認證密鑰Ka用新的口令密鑰加密,最后將安全存儲區(qū)中數據用新口令的哈希值和Ka新的密文替換。在這里需要注意的是認證密鑰Ka的值并未變化,改變的僅為存儲區(qū)中Ka的密文。

3.2 產權認證模塊

產權認證由Z32芯片和IP核中的保護模塊共同完成,產權認證原理如圖4所示,虛線為控制信號,實線為數據流。IP核保護模塊由偽隨機數發(fā)生器、AES加/解密器、比對模塊、比對結果處理模塊、寄存器等組成。當用戶通過身份認證后,Z32芯片將安全存儲區(qū)中加密存儲的認證密鑰Ka解密,然后通知FPGA,FPGA響應該信號,即產權認證開始。

產權認證的具體過程為:

(1)Z32芯片向FPGA發(fā)出產權認證開始信號。

(2)IP核保護模塊響應產權認證開始信號,偽隨機數發(fā)生器產生一個偽隨機序列。

(3)偽隨機序列分成兩路:一路存儲在保護模塊的寄存器中;另一路用AES算法加密(其中加密密鑰為 Ka),然后把密文傳給Z32芯片。

(4)Z32芯片接收到密文后,利用身份認證過程中解密所得的認證密鑰Ka,將所接收到的密文解密,然后將結果回傳給FPGA認證模塊。

(5)IP核保護模塊接收到Z32傳回的序列,將其與步驟(1)中產生的序列值比對。若比對結果一致,則發(fā)出使能信號,IP核中工作電路開始工作;若不一致,則比對模塊向Z32控制器傳回比對錯誤信號,重新執(zhí)行步驟(1),同時Z32芯片啟動錯誤計數器,錯誤值加1,當計數到設定值,則銷毀Z32安全存儲區(qū)中的信息,系統被鎖死。

4 安全性分析

本設計中,IP核工作電路只有在產權認證成功后才能工作,由于產權認證采用了挑戰(zhàn)應答方式,每次產生的隨機序列不同,非法者使用重放攻擊不能通過產權認證。由于對偽隨機序列采用的是AES加密,在不知道密鑰的情況下很難破解,安全可靠性高[5]。因此,產權認證的安全性取決于認證密鑰Ka的安全性。

認證密鑰Ka存在于FPGA的配置數據流和安全芯片中。因為 FPGA芯片供應商對配置數據流的定義是不公開的,所以無法獲得配置數據流中的認證密鑰Ka。而若想破解安全芯片而獲得認證密鑰Ka也是不現實的,因為Ka受口令密鑰Kp保護,只有用戶輸入正確的口令,才能利用口令、口令哈希值計算出口令密鑰Kp,才能將Ka解密。非法用戶沒有正確的口令,不能計算出口令密鑰Kp,無法使FPGA正常工作,這樣便達到了防止非法用戶使用FPGA的目的;合法用戶通過身份認證后能夠將Ka解密,但只有固件程序能夠對Ka操作,用戶也無法獲得Ka的具體值,即使拷貝IP核配置信息來配置其他FPGA,由于不知道 Ka的具體值,無法通過產權認證,復制的IP核也不能工作,實現了對設計者產權的保護。

本文設計的保護方法采用了身份認證、產權認證兩重認證機制,體現了分級保護的思想。雖然消耗了一部分硬件資源,但有效地保證了SRAM工藝FPGA的安全應用,達到了非法用戶不能使用FPGA、合法用戶不能侵犯設計者產權的目的。本設計安全性高、通用性強,具有廣泛的應用前景。

[1]GUAJARDO J,KUMAN S,SCHRIJEN S,et al.Physical unclonable functions and public-key crypto for FPGA IP protection[C].Amsterdam:Field Programmable Logic and application,2007:189-195.

[2]章禮宏,范全潤.基于EDA軟件和FPGA的IP核保護技術[J].電子設計工程,2009,17(3):98-100.

[3]范明俊,李寧,趙樂軍,等.一種安全可靠性高的全新IP核保護方法[J].微電子學,2007,37(2):185-188.

[4]GUNGYSU T,MOLLER B,PAAR C,et al.Dynamic intellectual property protection for reconfigurable devices[C].Kitakyushu:Field-Programmable Technology,2008:169-172.

[5]楊義先,鈕心析.應用密碼學[M].北京:北京郵電大學出版社,2005.

猜你喜歡
口令密文解密
解密“熱脹冷縮”
一種針對格基后量子密碼的能量側信道分析框架
一種支持動態(tài)更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
解密“一包三改”
少先隊活動(2020年9期)2020-12-17 06:17:31
炫詞解密
高矮胖瘦
口 令
好玩的“反口令”游戲
SNMP服務弱口令安全漏洞防范
自贡市| 会泽县| 襄汾县| 垦利县| 晋城| 广东省| 屯留县| 泌阳县| 张家口市| 荆州市| 晋城| 十堰市| 盐源县| 烟台市| 金寨县| 汕尾市| 田林县| 湖南省| 年辖:市辖区| 奉化市| 满洲里市| 辉南县| 青龙| 合水县| 桃园县| 玛纳斯县| 扶风县| 衡阳市| 逊克县| 龙里县| 绍兴县| 温泉县| 金门县| 兴义市| 嘉义市| 虹口区| 婺源县| 南乐县| 漠河县| 辽阳县| 西藏|