用Spartan-3A和Spartan-3AN平臺實(shí)現低成本安全解決方案
——
三大安金威脅
電子設計中最常見(jiàn)的侵權行為就是反向工程。當盜版者以在公開(kāi)市場(chǎng)低價(jià)銷(xiāo)售為目的而企圖重新設計或制作某產(chǎn)品時(shí),這種行為就會(huì )發(fā)生。通過(guò)反向工程,盜版者能夠非常迅速地完成設計,由于無(wú)需研發(fā)經(jīng)費,因此成本可以很低。
目前,許多公司采取了外包生產(chǎn)的方式,因而面臨著(zhù)兩種新侵權行為的威脅,即超量生產(chǎn)和克隆。在超量生產(chǎn)中,承包制造商只需生產(chǎn)出多于OEM(原始設備制造商)訂貨量的產(chǎn)品,這些超量生產(chǎn)的產(chǎn)品會(huì )在未經(jīng)OEM授權的情況下售出。
克隆是指盜版者以相同或不同的品牌復制設計、IP或產(chǎn)品。同樣,克隆者不必花費任何研發(fā)成本。而且,超量生產(chǎn)和克隆的產(chǎn)品都能快速上市。
還未得到重視的是與這類(lèi)侵權行為有關(guān)的無(wú)形資產(chǎn)流失。無(wú)論產(chǎn)品遭到反向工程、超量生產(chǎn)還是克隆,都意味著(zhù)OEM銷(xiāo)售額的重大損失。除了損失銷(xiāo)售額,還會(huì )發(fā)生以退貨量形式表現出來(lái)的質(zhì)量成本,可能會(huì )影響品牌形象。并且,隨著(zhù)RMA(退貨授權書(shū))數量增多,OEM需要提供技術(shù)支持以確定癥結所在并解決最終客戶(hù)的問(wèn)題,又進(jìn)一步增加了成本。最終,產(chǎn)品可能變得真偽難辨。這些都是無(wú)法補償的永久性損失。
使用Device DNA實(shí)現安全功能
傳統的FPGA使用比特流加密技術(shù)來(lái)防范反向工程和克隆。雖然以往的效果不錯,但現在,比特流加密已無(wú)法保護設計免遭超量生產(chǎn)的侵權。
為了保護設計不被以上三種行為所盜版,Xilinx提供了幾種解決方案,并在最近推出了帶有DeviceDNA的Spartan-3A和Spartan-3AN器件系列,可幫助防范克隆者、超量生產(chǎn)者和反向工程者。這種DeviceDNA設計級安全功能可以保護設計、IP和嵌入式代碼。DeviceDNA是一種特殊的57位ID,對于每個(gè)器件都是獨一無(wú)二的。這種57位ID是在Xilinx工廠(chǎng)中固化或設定的,因而不能更改。Spartan-3A和Spartan-3AN兩種FPGA在每個(gè)出廠(chǎng)的器件中都包含獨一無(wú)二的ID。
然后,該ID會(huì )與設計師的個(gè)性化算法結合起來(lái)儲存在FPGA上。該算法基本上是一個(gè)算術(shù)方程式,它規定如何提取DeviceDNA,并創(chuàng )建一個(gè)結果。此結果可以存儲在任何地方,如外部存儲器或Flash中。該算法是安全性的秘密所在,因為只有設計師才知道它。盡管它存儲在FPGA上,但在旁觀(guān)者看來(lái),這只是一部分比特流。
Spartan-3A的安金性
對于Spartan-3A器件,該算法將使用DeviceDNA的結果與器件配置后存儲在Flash中的結果相比較。如果二者匹配,則認可該設計。如果二者不匹配,該設計會(huì )被設置成多種行為方式,從輕微故障到嚴重功能障礙。
為了便于理解,可以把DeviaDNA比作ATM銀行卡,把個(gè)性算法比作ATM卡的密碼。其潛在的弱點(diǎn)是,可能出現有人同時(shí)得到了ATM卡和密碼的情況。這個(gè)性化算法一旦為人知曉便很容易被克隆,這正是設計本身集成授權算法的原因。該算法置于可編程邏輯內部最隱秘的位置,可以選擇數百萬(wàn)種配置方案。
Spartan-3AN的安全性
對于Spartan-3AN平臺(即新型非易失性FPGA平臺),此過(guò)程大同小異,只是有幾個(gè)增強項。第一個(gè)安全增強項是,比特流隱藏在FPGA內部。這樣更難于被人窺見(jiàn)。
Spartan-3AN FPGA的第二個(gè)安全增強項是兩個(gè)特有的序列號,即DeviceDNA和工廠(chǎng)預設FlashID,存儲在Flash中。這兩個(gè)特有的ID提供長(cháng)達70個(gè)字節的序列號,可產(chǎn)生大量可能的算法,從而延長(cháng)了破解認證算法所需的時(shí)間。于是,設計既要受FPGA約束,又要受Flash ID的約束。
第三項改進(jìn)是在存儲的授權代碼中。在Spartan-3AN平臺上,可以將授權代碼存儲在片上一個(gè)叫做flash用戶(hù)字段的專(zhuān)用一次性可編程64字節寄存器中。這樣可使整個(gè)安全系統自成一體。由于不需要外部接口或存儲器,整體安全性得以提高,使反向工程更加困難。
該認證算法由用戶(hù)定義,這使用戶(hù)能在設計預算內實(shí)現恰當的安全等級。該認證算法也是安全系統中的主要秘密。認證過(guò)程中必須有不為人知的秘密,才能保護安全系統不被破解。因為算法是未知的,所以它是設計級安全性的關(guān)鍵。算法是在FPGA架構中實(shí)現的,因此便成為FPGA中數百萬(wàn)配置位當中的少數幾個(gè)配置位。除非知道這些位如何組合在一起,或者知道是哪種算法,否則這看起來(lái)僅僅是一堆數字。應用Spartan-3AN器件的一種可能的流程如圖1所示。

Spartan-3AN設計級安全功能是完全自成一體的安全解決方案,如圖2所示。Flash中既包含FPGA配置比特流,也包含預生成的授權代碼。此代碼由可信/安全制造商或注冊流程存儲在一次性可編程Flash用戶(hù)字段中。

通電后,FPGA進(jìn)行正常配置。一旦配置完成,FPGA應用程序便包括了批準已授權設計在相關(guān)Spartan-3AN FPGA上運行的電路。認證算法將讀取DeviceDNA和工廠(chǎng)預設Flash ID,然后生成一個(gè)主動(dòng)授權代碼,并將此授權代碼與Flash用戶(hù)字段中存儲的預生成授權代碼進(jìn)行比較。如果兩個(gè)代碼相等,則器件通過(guò)認證。否則,器件屬非法而無(wú)法獲得授權。
拒絕訪(fǎng)問(wèn)
失敗認證的處理是DeviceDNA設計級方案的又一強項。認證可以完全集成到設計中。這樣,未經(jīng)授權的設計可以引起多種反應,例如:
評論