新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 解讀FPGA設(shè)計(jì)的安全性

解讀FPGA設(shè)計(jì)的安全性

作者: 時(shí)間:2009-04-20 來源:網(wǎng)絡(luò) 收藏

  與開發(fā)成本很高的ASIC相比,可重復(fù)編程的性能正受到系統(tǒng)設(shè)計(jì)者的青睞。此外, 的性能和功能也越來越強(qiáng)大,包括32位軟處理器、SERDES、 DSP塊和高性能的接口。現(xiàn)在的低成本甚至可以滿足大批量的應(yīng)用。設(shè)計(jì)人員采用FPGA能夠快速開發(fā)產(chǎn)品,以應(yīng)對(duì)產(chǎn)品快速上市(市場要求縮短產(chǎn)品的開發(fā)時(shí)間)和遠(yuǎn)程更新的需求。

本文引用地址:http://m.butianyuan.cn/article/192091.htm

  但是,把器件生產(chǎn)、現(xiàn)場更新和固件遠(yuǎn)程重構(gòu)的工作外包可能會(huì)導(dǎo)致FPGA被復(fù)制、克隆或盜版。這對(duì)某些企業(yè)是個(gè)嚴(yán)重的問題,因?yàn)橛行┧惴▽?duì)企業(yè)保持競爭優(yōu)勢是必不可少的,而外包可能使這些算法被別人利用。因此,考慮FPGA設(shè)計(jì)的是一件非常重要的事。

  FPGA有兩種類型 :基于SRAM、需要用外部引導(dǎo)器件配置的易失FPGA,以及將配置保存在內(nèi)存中因而不需要外部引導(dǎo)器件的非易失FPGA?;?SRAM的FPGA是易失器件。如果切斷電源,配置即被刪除,必須對(duì)器件進(jìn)行重新配置,然后器件才能工作。這類器件可以用處理器或使用SPI或并行閃存通過JTAG端口編程。就而言,它們是很脆弱的。一旦系統(tǒng)上電,盜版者就能輕而易舉地獲取FPGA的位流。 Flash和反熔絲FPGA是非易失性的器件,它們上電后即可編程,無需使用任何外部存儲(chǔ)器。這些非易失器件擁有最高級(jí)別的。但是,反熔絲FPGA受到兩個(gè)方面的制約: 1 )它們不能再次編程。2 )它們的性能和內(nèi)存容量有限。而Flash FPGA和SRAM FPGA是可以重復(fù)編程的。

  盜版行為分為幾種類型:“克隆”復(fù)制系統(tǒng)元件的行為,甚至不必知道內(nèi)部的邏輯。通過攔截FPGA的位流和復(fù)制配置,可以輕松地克隆一個(gè)低成本SRAM FPGA?!澳嫦蚬こ獭毙枰斫釬PGA的邏輯功能,以便進(jìn)行修改以滿足盜版者的需要。盜版者可以分析無保護(hù)的位流以復(fù)制原先的設(shè)計(jì),或解剖器件分析其內(nèi)容。還有一個(gè)被廣泛使用的盜版手段是“生產(chǎn)超過客戶訂購量的系統(tǒng)”,然后向市場出售多余的系統(tǒng),而專利持有者卻無法從中取得收益,沒有任何方法可以阻止不擇手段的分包商這樣做。最后一種盜版方法是“盜竊服務(wù)”,盜版者通過破解系統(tǒng)的安全設(shè)置來獲得特定的服務(wù),如收看衛(wèi)星電視節(jié)目。

  打擊盜版可以采用多種安全措施,最簡單的方法的是使用一個(gè)保密位,防止FPGA的配置數(shù)據(jù)被截獲。有了這個(gè)保密位,盜版者如果試圖讀取配置數(shù)據(jù),讀出的數(shù)據(jù)將全部為零。所有的FPGA都有這種類型的保護(hù)。然而,如果引導(dǎo)文件位于器件的外部,相對(duì)就比較容易復(fù)制配置,標(biāo)準(zhǔn)的SRAM FPGA就是這種情況 。如果配置數(shù)據(jù)是在器件內(nèi)部,如非易失FPGA ,保密位就會(huì)有很好的保密效果。

  與反熔絲FPGA不同 ,SRAM FPGA和Flash FPGA是可重復(fù)編程的,它們?cè)试S用戶調(diào)整設(shè)計(jì)或賦予FPGA一個(gè)全新的功能。此外,現(xiàn)在甚至可以遠(yuǎn)程修改FPGA配置文件,從而修改系統(tǒng)。雖然重構(gòu)對(duì)某些應(yīng)用來說是個(gè)優(yōu)點(diǎn),但它也可能成為一個(gè)安全隱患,因?yàn)楸I版者可能攔截并獲取新的碼流。不過這可以通過在傳輸時(shí)保護(hù)位流來解決。

  雖然Flash FPGA比SRAM FPGA更安全 ,它們也有缺點(diǎn)。它們的密度和存儲(chǔ)容量有限,功能和I/O的速度也有限。

  針對(duì)這些缺點(diǎn),萊迪思半導(dǎo)體公司已經(jīng)開發(fā)出一種創(chuàng)新的技術(shù),它結(jié)合了以下兩種技術(shù)的優(yōu)點(diǎn):

  * 性能和存儲(chǔ)器容量較大的低成本SRAM

  * 可以內(nèi)部存儲(chǔ)重構(gòu)數(shù)據(jù)的Flash

  萊迪思獨(dú)特的flexiFLASH技術(shù),將SRAM和Flash整合在同一個(gè)FPGA中,可以同時(shí)實(shí)現(xiàn)以下幾個(gè)方面的優(yōu)點(diǎn):

  * 位流配置

  * 以最短的系統(tǒng)中斷時(shí)間進(jìn)行遠(yuǎn)程重新配置

  * 數(shù)據(jù)保護(hù)和器件加鎖

  復(fù)雜系統(tǒng)中的設(shè)計(jì)安全性

  工程師正面臨著構(gòu)建日益復(fù)雜的系統(tǒng)的挑戰(zhàn)。

  圖1展示了一個(gè)FPGA與微處理器相連的系統(tǒng) 。微處理器通過一個(gè)外部PHY和一個(gè)集成在FPGA內(nèi)的MAC 與以太網(wǎng)連接。與競爭者的產(chǎn)品不同,這個(gè)微處理器中還包含用戶邏輯。 FPGA通過一個(gè)Flash來配置。Flash和RAM中包含有微處理器的程序和系統(tǒng)的數(shù)據(jù)。如果系統(tǒng)需要更新,就通過以太網(wǎng)來發(fā)送數(shù)據(jù)。為了保護(hù)設(shè)計(jì), FPGA數(shù)據(jù)和位流都經(jīng)過了加密。但是,發(fā)送到微處理器的數(shù)據(jù)和指令未加擾,因此盜版者能夠查看此數(shù)據(jù)并加以復(fù)制。一種可能的解決辦法是在FPGA內(nèi)實(shí)現(xiàn)軟微處理器,它可以訪問FPGA的內(nèi)部存儲(chǔ)器組,而從外部卻無法看到存儲(chǔ)器組。這些存儲(chǔ)器組可以用來存儲(chǔ)重要的算法和數(shù)據(jù)。

FPGA與微處理器相連的系統(tǒng)

圖1 FPGA與微處理器相連的系統(tǒng)

  圖2展示了同一個(gè)設(shè)計(jì),但處理器集成在FPGA之中。圖2中采用的軟微處理器是LatticeMico32 。設(shè)計(jì)師構(gòu)建了解擾器,因此加擾是機(jī)密的。使用解擾器允許加密的指令存儲(chǔ)在外部存儲(chǔ)器。為了加密位流,萊迪思為幾款FPGA提供了128位AES密鑰。

處理器集成在FPGA之中
圖2 處理器集成在FPGA之中


上一頁 1 2 3 下一頁

關(guān)鍵詞: FPGA 安全性

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉