利用異步采樣電路提高SRAM工藝FPGA的設(shè)計安全性_第1頁
利用異步采樣電路提高SRAM工藝FPGA的設(shè)計安全性_第2頁
利用異步采樣電路提高SRAM工藝FPGA的設(shè)計安全性_第3頁
利用異步采樣電路提高SRAM工藝FPGA的設(shè)計安全性_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、    利用異步采樣電路提高SRAM工藝FPGA的設(shè)計安全性        陳文濤, 金德鵬, 曾烈光 時間:2008年05月07日     字 體: 大 中 小        關(guān)鍵詞:        摘要:關(guān)鍵詞: SRAM工藝FPGA 設(shè)計安全性 異步采樣電路 M序列12。異

2、步電路的競爭和險象問題所導(dǎo)致的不確定性,是數(shù)字電路設(shè)計中令人頭疼的問題。但是,如果把這種不確定性應(yīng)用在本安全方案中,同樣可以困擾剽竊者,從而更有效地保護(hù)設(shè)計。為此,本文提出了利用異步采樣電路的不確定性提高SRAM工藝FPGA設(shè)計安全性的方法,以提高系統(tǒng)的安全性。1 方案簡介1.1 設(shè)計方案的指導(dǎo)思想(1) CPLD是難以用反向工程等物理手段進(jìn)行破解的,而且用這些方法破解CPLD的成本和設(shè)計的開發(fā)成本相近。Xilinx公司聲稱其CoolRunner-II系列CPLD的安全性完全可以達(dá)到ASIC相當(dāng)?shù)牡燃?。并且,CPLD也可以用抗攻擊性強(qiáng)的小規(guī)模反熔絲FPGA來代替4。(2) CPLD中觸發(fā)器資

3、源較少,因此應(yīng)盡量降低CPLD中的電路復(fù)雜度。本方案借助了跳頻的理念,在FPGA和CPLD中分別保存兩個密鑰表,在一開始同步之后,F(xiàn)PGA中的密鑰選擇狀態(tài)機(jī)根據(jù)異步采樣電路輸出的狀態(tài)跳轉(zhuǎn)指示信號進(jìn)行跳轉(zhuǎn)。同時CPLD接收FPGA送來的狀態(tài)跳轉(zhuǎn)信號,其中的密鑰狀態(tài)機(jī)也進(jìn)行相應(yīng)的跳轉(zhuǎn),并將密鑰傳回給FPGA。在沒有差錯的情況下,這兩個狀態(tài)機(jī)將一致地跳轉(zhuǎn)。FPGA通過對CPLD送來的密鑰進(jìn)行確認(rèn)來驗證CPLD的合法性:檢驗是否和自己的密鑰狀態(tài)機(jī)所選擇的密鑰一致,如果一致,則說明所連接的CPLD為合法的CPLD,F(xiàn)PGA電路正常工作;否則認(rèn)為所連接的CPLD為非法,停止FPGA電路工作。由以上指導(dǎo)思想

4、設(shè)計的系統(tǒng)框圖如圖1所示。此外,CPLD向FPGA傳遞的密鑰先利用M序列進(jìn)行加密,這樣使得對系統(tǒng)的破解首先需要對M序列加密算法進(jìn)行破解,從而進(jìn)一步提高了系統(tǒng)的抗攻擊能力。1.2 異步采樣電路異步采樣模塊的VHDL實現(xiàn)如下:-this process is triggered by clksprocess(rst, clks)beginif rst=0 thenff1 <= (others=>0);ff2 <= (others=>0);elsif clksevent and clks=1 thenff1 <= din; -din is the signal trig

5、gered by clkff2 <= ff1;end if;end process;- this process is triggered by clkprocess(rst, clk)beginif rst=0 thenff3 <= (others=>0);ff4 <= (others=>0);elsif clkevent and clk=1 thenff3 <= ff2;ff4 <= ff3;end if;end process;dout <= ff4; - dout is output random signal其中:din為同步于clk的

6、輸入序列,dout為輸出的隨機(jī)序列。將本文所設(shè)計的方法應(yīng)用到Altera公司的Cyclone5系列FPGA中,利用Quartus II中的SignalTapII Logical Analyzer工具,兩次采樣復(fù)位后FPGA內(nèi)異步采樣電路的輸入輸出信號,得到如圖3所示的波形,其中兩個時鐘:clk為2.000MHz,clks為2.048MHz。觀察系統(tǒng)復(fù)位后異步采樣電路輸出序列的隨機(jī)性可以發(fā)現(xiàn),每次將系統(tǒng)復(fù)位后,采用同步電路設(shè)計的偽隨機(jī)序列發(fā)生器產(chǎn)生相同的偽隨機(jī)序列(din);但是,將這個偽隨機(jī)序列(din)輸入異步采樣電路后,在輸出(dout)卻得到不同的隨機(jī)序列。這說明同一塊電路板每次上電時都

7、將生成不同的隨機(jī)序列。1.3 密鑰選擇狀態(tài)機(jī)FPGA和CPLD中各有一個完全相同的密鑰選擇狀態(tài)機(jī),該狀態(tài)機(jī)根據(jù)異步采樣電路輸出的隨機(jī)序列進(jìn)行跳轉(zhuǎn),其跳轉(zhuǎn)規(guī)則可以自定義。在本文設(shè)計的系統(tǒng)中,密鑰表中存放有8個32位長的密鑰,密鑰狀態(tài)機(jī)共有8個狀態(tài),記為狀態(tài)0狀態(tài)7,每個狀態(tài)分別對應(yīng)一個密鑰,記為密鑰0密鑰7。假設(shè)當(dāng)前狀態(tài)為狀態(tài)i,異步采樣電路的輸出為j,其中i、jN,且0i, j7。那么可以采用如下簡單的跳轉(zhuǎn)規(guī)則:當(dāng)采樣電路的輸出為0時,跳轉(zhuǎn)到狀態(tài)0;否則,跳轉(zhuǎn)到狀態(tài)(i+j)mod8。為了提高系統(tǒng)的安全性,也可以采用各種無序的跳轉(zhuǎn)規(guī)則,通過改變跳轉(zhuǎn)規(guī)則和密鑰表,可以得到不同的系統(tǒng)。1.4 M序

8、列加密解密電路由于CPLD向FPGA傳遞密鑰之前,先利用M序列進(jìn)行加密,使得對系統(tǒng)的破解首先需要對M序列加密算法進(jìn)行破解,這樣既防止了密鑰的明文傳輸,又提高了系統(tǒng)的安全性。之所以采用M序列作為加密算法,主要考慮的是解密的自同步特性。此外根據(jù)本設(shè)計的假設(shè)即CPLD的破解是不可行的,考慮到CPLD觸發(fā)器資源緊張,對FPGA向CPLD之間的跳轉(zhuǎn)指示信號的傳輸沒有進(jìn)行加密,為此而節(jié)省了CPLD中的電路。M序列的級數(shù)越大,生成的隨機(jī)序列的周期越長,破解的難度也越大。這里采用20階的M序列,其本原多項式為x20+x3+1。1.5 密鑰校驗2 安全性分析這里列舉幾種常見的攻擊方法,并簡要分析本方案在這些攻擊

9、下的安全性。由于本設(shè)計假設(shè)CPLD的破解是不可行的,所以不考慮對CPLD進(jìn)行反向工程直接破解等方法。2.1 對配置數(shù)據(jù)流進(jìn)行采樣剽竊者通過對FPGA的配置數(shù)據(jù)引腳(圖1中的位置)進(jìn)行采樣,得到該FPGA的配置數(shù)據(jù)流,實現(xiàn)對FPGA內(nèi)部設(shè)計電路的克隆。這種方法顯然是不可行的,因為FPGA只有在確認(rèn)了所連接的為合法CPLD以后才能正常工作,也就是說,需要同時克隆一份CPLD內(nèi)的設(shè)計才能使得FPGA正常工作。2.2 對密鑰數(shù)據(jù)流進(jìn)行采樣剽竊者利用2.1中所述方法對FPGA內(nèi)部設(shè)計電路進(jìn)行克隆以后,又對密鑰數(shù)據(jù)流(圖1中的位置)進(jìn)行采樣,用存儲器將這些密鑰數(shù)據(jù)流存起來,在FPGA上電后將這個密鑰數(shù)據(jù)流

10、發(fā)送給FPGA,企圖模擬一個合法的CPLD。這種方法也是不可行的。因為異步采樣電路對兩個時鐘之間的相位敏感,所以在電路板每次上電時所生成的隨機(jī)序列是不同的,也就是說,每次上電后產(chǎn)生的密鑰數(shù)據(jù)流是不同的。因此,經(jīng)過這次采樣得到的密鑰數(shù)據(jù)流,下次上電時能用的可能性很小。2.3 CPLD工作原理分析由以上分析可以發(fā)現(xiàn),本方案能夠很好地抵抗克隆攻擊。所以,要破解本方案,剽竊者只有同時對FPGA和CPLD之間的數(shù)據(jù)進(jìn)行采樣(圖1中的位置和),根據(jù)CPLD的輸入輸出分析CPLD的工作原理,從算法層面上破解CPLD,但很難成功破解。因為:(1)由于FPGA和CPLD之間的密鑰數(shù)據(jù)流經(jīng)過M序列加密以后再進(jìn)行傳輸,所以破解M序列加密算法是分析CPLD的第一步。同時加密時因采用了20階M序列,并且每32個周期改變一下密鑰,提高了序列綜合進(jìn)行分析的難度。(2)有8個32位的密鑰,而密鑰的長度和個數(shù)對于剽竊者來說都是未知的。(3)在破解了M序列加密算法和獲得所有的密鑰以后,還需要破解毫無規(guī)律的密鑰選擇狀態(tài)機(jī)。即使一個8狀態(tài)的狀態(tài)機(jī),因每個狀態(tài)有8種轉(zhuǎn)移的可能性,總的轉(zhuǎn)移關(guān)系就有88=16 777 216種。因此,想要破解本系統(tǒng)所需的精力和成本都相當(dāng)高。剽竊者需要知道足夠的系統(tǒng)設(shè)計參數(shù),例如M序列生成多項式、密鑰個數(shù)、密鑰長度、密鑰狀態(tài)機(jī)個數(shù)以及密鑰選擇狀態(tài)機(jī)轉(zhuǎn)移規(guī)則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論