亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種新的SRAM工藝FPGA的保護(hù)方法

        2012-08-15 02:02:00董春國
        關(guān)鍵詞:口令密文解密

        董春國

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

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

        1 SRAM工藝FPGA的安全問題

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

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

        2 雙重認(rèn)證方法的設(shè)計(jì)

        2.1 雙重認(rèn)證方法的思想及模型

        由于FPGA芯片供應(yīng)商對配置數(shù)據(jù)流的定義是不公開的,所以無法通過配置數(shù)據(jù)流推測內(nèi)部電路。因此需要在IP核中添加保護(hù)模塊,使得配置成功后FPGA先不工作,只有在身份認(rèn)證、產(chǎn)權(quán)認(rèn)證成功后,F(xiàn)PGA才正常工作。雙重認(rèn)證方法既認(rèn)證使用者的合法性,又認(rèn)證IP核的合法性,確保SRAM工藝FPGA的安全應(yīng)用。

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

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

        安全芯片既要實(shí)現(xiàn)身份認(rèn)證,又要通過與IP核中保護(hù)模塊的交互實(shí)現(xiàn)產(chǎn)權(quán)認(rèn)證,對安全性及其他性能都有較高的要求。本設(shè)計(jì)選用Z32芯片作為安全芯片。

        2.2 雙重認(rèn)證方法的工作流程

        本設(shè)計(jì)采用雙重認(rèn)證機(jī)制保護(hù)FPGA的安全應(yīng)用,其工作流程如圖2所示。系統(tǒng)上電后,從存儲(chǔ)器件加載IP核到FPGA中,首先進(jìn)行用戶身份認(rèn)證,身份認(rèn)證成功后進(jìn)行產(chǎn)權(quán)認(rèn)證。只有當(dāng)身份認(rèn)證和產(chǎn)權(quán)認(rèn)證全部成功后,F(xiàn)PGA才開始正常工作。兩次認(rèn)證中任意一次失敗,就會(huì)啟動(dòng)錯(cuò)誤計(jì)數(shù)器,當(dāng)計(jì)數(shù)達(dá)到設(shè)定的值后,系統(tǒng)就會(huì)銷毀存儲(chǔ)的秘密信息,使得系統(tǒng)失效。

        圖2 雙重認(rèn)證方法工作流程

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

        3 關(guān)鍵模塊的設(shè)計(jì)及實(shí)現(xiàn)

        首先對以下兩個(gè)符號(hào)進(jìn)行說明:

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

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

        3.1 身份認(rèn)證模塊

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

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

        圖3 身份認(rèn)證原理圖

        身份認(rèn)證的具體過程為:

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

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

        (3)重新執(zhí)行步驟(1),同時(shí)啟動(dòng)錯(cuò)誤計(jì)數(shù)器,錯(cuò)誤值加1。當(dāng)計(jì)數(shù)到設(shè)定值,則銷毀安全存儲(chǔ)區(qū)中的數(shù)據(jù),系統(tǒng)被鎖死。

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

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

        (6)身份認(rèn)證成功,向IP核保護(hù)模塊發(fā)出產(chǎn)權(quán)認(rèn)證開始信號(hào),等待其響應(yīng)。

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

        3.2 產(chǎn)權(quán)認(rèn)證模塊

        產(chǎn)權(quán)認(rèn)證由Z32芯片和IP核中的保護(hù)模塊共同完成,產(chǎn)權(quán)認(rèn)證原理如圖4所示,虛線為控制信號(hào),實(shí)線為數(shù)據(jù)流。IP核保護(hù)模塊由偽隨機(jī)數(shù)發(fā)生器、AES加/解密器、比對模塊、比對結(jié)果處理模塊、寄存器等組成。當(dāng)用戶通過身份認(rèn)證后,Z32芯片將安全存儲(chǔ)區(qū)中加密存儲(chǔ)的認(rèn)證密鑰Ka解密,然后通知FPGA,F(xiàn)PGA響應(yīng)該信號(hào),即產(chǎn)權(quán)認(rèn)證開始。

        產(chǎn)權(quán)認(rèn)證的具體過程為:

        (1)Z32芯片向FPGA發(fā)出產(chǎn)權(quán)認(rèn)證開始信號(hào)。

        (2)IP核保護(hù)模塊響應(yīng)產(chǎn)權(quán)認(rèn)證開始信號(hào),偽隨機(jī)數(shù)發(fā)生器產(chǎn)生一個(gè)偽隨機(jī)序列。

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

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

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

        4 安全性分析

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

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

        本文設(shè)計(jì)的保護(hù)方法采用了身份認(rèn)證、產(chǎn)權(quán)認(rèn)證兩重認(rèn)證機(jī)制,體現(xiàn)了分級(jí)保護(hù)的思想。雖然消耗了一部分硬件資源,但有效地保證了SRAM工藝FPGA的安全應(yīng)用,達(dá)到了非法用戶不能使用FPGA、合法用戶不能侵犯設(shè)計(jì)者產(chǎn)權(quán)的目的。本設(shè)計(jì)安全性高、通用性強(qiáng),具有廣泛的應(yīng)用前景。

        [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核保護(hù)技術(shù)[J].電子設(shè)計(jì)工程,2009,17(3):98-100.

        [3]范明俊,李寧,趙樂軍,等.一種安全可靠性高的全新IP核保護(hù)方法[J].微電子學(xué),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]楊義先,鈕心析.應(yīng)用密碼學(xué)[M].北京:北京郵電大學(xué)出版社,2005.

        猜你喜歡
        口令密文解密
        解密“熱脹冷縮”
        一種針對格基后量子密碼的能量側(cè)信道分析框架
        一種支持動(dòng)態(tài)更新的可排名密文搜索方案
        基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
        解密“一包三改”
        炫詞解密
        高矮胖瘦
        口 令
        好玩的“反口令”游戲
        SNMP服務(wù)弱口令安全漏洞防范
        欧美丰满熟妇xxxx性ppx人交| 久久久国产精品ⅤA麻豆百度| 国产黄色污一区二区三区| 极品美女调教喷水网站| 日日摸天天摸97狠狠婷婷| 亚洲av成人无码久久精品| 亚洲嫩模高清在线视频| 一区二区三区四区国产亚洲| 欧美牲交a欧美牲交| 免费无码一区二区三区蜜桃大| AV永久天堂网| 日本激情一区二区三区| 国产自拍高清在线观看| 亚洲av无码av制服另类专区 | 一区二区在线观看视频亚洲| 久久精品免费一区二区喷潮| 国产人妻精品一区二区三区| 国产精品无码久久久一区蜜臀 | 国产一区二区三区免费精品视频| 成人午夜特黄aaaaa片男男| 中文字幕高清在线一区二区三区| 亚洲中文字幕无线乱码va| 成人麻豆视频免费观看| 免费a级毛片无码| 欧美日韩国产在线观看免费| 亚洲中文字幕亚洲中文| 亚洲av无码偷拍在线观看| 国产大学生粉嫩无套流白浆| 亚洲第一区二区快射影院| 国产一区二区精品人妖系列在线| 天天狠天天添日日拍| 99国产免费热播视频| 亚洲成人免费久久av| 久久久精品中文字幕麻豆发布| 五月婷婷俺也去开心| 日韩人妻无码中文字幕一区| 国产精品亚洲精品一区二区| 亚洲国产精华液网站w| 中文字幕在线日韩| 白白色日韩免费在线观看 | 日韩精品无码一本二本三本色|