用Spartan-3A和Spartan-3AN平臺實現(xiàn)低成本安全解決方案
安全已成為如今的熱門話題。對于電子設計工程師來說,最大的威脅莫過于市場上出現(xiàn)由于設計盜版而引起的大量假冒產(chǎn)品。根據(jù)反盜版聯(lián)盟(Ant i -Counterfeiting Coalition)的統(tǒng)計,2003 年,全美國涉及盜版的交易額達2 8 7 0 億美元,占全球盜版產(chǎn)品年銷售總量(4560 億美元)的63%。本文將介紹能夠保護低成本FPGA 設計的安全措施。
三大安全威脅
電子設計中最常見的侵權行為就是反向工程。當盜版者以在公開市場低價銷售為目的而企圖重新設計或制作某產(chǎn)品時,這種行為就會發(fā)生。通過反向工程,盜版者能夠非常迅速地完成設計,由于無需研發(fā)經(jīng)費,因此成本可以很低。
目前, 許多公司采取了外包生產(chǎn)的方式,因而面臨著兩種新侵權行為的威脅,即超量生產(chǎn)和克隆。在超量生產(chǎn)中,承包制造商只需生產(chǎn)出多于OEM(原始設備制造商)訂貨量的產(chǎn)品,這些超量生產(chǎn)的產(chǎn)品會在未經(jīng)OEM 授權的情況下售出。
克隆是指盜版者以相同或不同的品牌復制設計、IP或產(chǎn)品。同樣,克隆者不必花費任何研發(fā)成本。而且,超量生產(chǎn)和克隆的產(chǎn)品都能快速上市。
還未得到重視的是與這類侵權行為有關的無形資產(chǎn)流失。無論產(chǎn)品遭到反向工程、超量生產(chǎn)還是克隆,都意味著OEM 銷售額的重大損失。除了損失銷售額,還會發(fā)生以退貨量形式表現(xiàn)出來的質量成本,可能會影響品牌形象。并且,隨著RMA(退貨授權書)數(shù)量增多,OEM需要提供技術支持以確定癥結所在并解決最終客戶的問題,又進一步增加了成本。最終,產(chǎn)品可能變得真?zhèn)坞y辨。這些都是無法補償?shù)挠谰眯該p失。
使用Device DNA 實現(xiàn)安全功能
傳統(tǒng)的FPGA 使用比特流加密技術來防范反向工程和克隆。雖然以往的效果不錯,但現(xiàn)在,比特流加密已無法保護設計免遭超量生產(chǎn)的侵權。
為了保護設計不被以上三種行為所盜版,Xilinx 提供了幾種解決方案,并在最近推出了帶有DeviceDNA 的Spartan-3A 和Spartan-3AN器件系列,可幫助防范克隆者、超量生產(chǎn)者和反向工程者。這種DeviceDNA 設計級安全功能可以保護設計、IP和嵌入式代碼。DeviceDNA 是一種特殊的57 位ID,對于每個器件都是獨一無二的。這種57 位ID 是在Xilinx 工廠中固化或設定的,因而不能更改。Spartan-3A 和Spartan-3AN 兩種FPGA 在每個出廠的器件中都包含獨一無二的ID。
然后,該ID 會與設計師的個性化算法結合起來儲存在FPGA 上。該算法基本上是一個算術方程式,它規(guī)定如何提取DeviceDNA, 并創(chuàng)建一個結果。此結果可以存儲在任何地方,如外部存儲器或Flash 中。該算法是安全性的秘密所在,因為只有設計師才知道它。盡管它存儲在FPGA 上,但在旁觀者看來,這只是一部分比特流。
Spartan-3A 的安全性
對于Spartan-3A 器件,該算法將使用DeviceDNA 的結果與器件配置后存儲在Flash 中的結果相比較。如果二者匹配,則認可該設計。如果二者不匹配,該設計會被設置成多種行為方式,從輕微故障到嚴重功能障礙。
為了便于理解,可以把DeviaDNA比作ATM銀行卡,把個性算法比作ATM卡的密碼。其潛在的弱點是,可能出現(xiàn)有人同時得到了ATM 卡和密碼的情況。這個性化算法一旦為人知曉便很容易被克隆,這正是設計本身集成授權算法的原因。該算法置于可編程邏輯內部最隱秘的位置,可以選擇數(shù)百萬種配置方案。
Spartan-3AN 的安全性
對于Spartan-3AN 平臺(即新型非易失性FPGA 平臺),此過程大同小異,只是有幾個增強項。第一個安全增強項是,比特流隱藏在FPGA 內部。這樣更難于被人窺見。
S p a r t a n -3AN FPGA 的第二個安全增強項是兩個特有的序列號,即DeviceDNA和工廠預設Flash ID,存儲在Flash 中。這兩個特有的ID 提供長達70個字節(jié)的序列號,可產(chǎn)生大量可能的算法,從而延長了破解認證算法所需的時間。于是,設計既要受FPGA 約束,又要受Flash ID 的約束。
第三項改進是在存儲的授權代碼中。在Spartan-3AN 平臺上,可以將授權代碼存儲在片上一個叫做Flash 用戶字段的專用一次性可編程64字節(jié)寄存器中。這樣可使整個安全系統(tǒng)自成一體。由于不需要外部接口或存儲器,整體安全性得以提高,使反向工程更加困難。
該認證算法由用戶定義,這使用戶能在設計預算內實現(xiàn)恰當?shù)陌踩燃墶T撜J證算法也是安全系統(tǒng)中的主要秘密。認證過程中必須有不為人知的秘密,才能保護安全系統(tǒng)不被破解。因為算法是未知的,所以它是設計級安全性的關鍵。算法是在FPGA 架構中實現(xiàn)的,因此便成為FPGA 中數(shù)百萬配置位當中的少數(shù)幾個配置位。除非知道這些位如何組合在一起,或者知道是哪種算法,否則這看起來僅僅是一堆數(shù)字。應用Spartan-3AN 器件的一種可能的流程如圖1 所示。
圖1 可用Spartan-3AN FPGA實現(xiàn)的安全設置
Spartan-3AN 設計級安全功能是完全自成一體的安全解決方案,如圖2 所示。Flash 中既包含F(xiàn)PGA 配置比特流,也包含預生成的授權代碼。此代碼由可信/安全制造商或注冊流程存儲在一次性可編程Flash 用戶字段中。
圖2 安全Spartan-3AN器件
通電后,F(xiàn)PGA 進行正常配置。一旦配置完成,F(xiàn)PGA 應用程序便包括了批準已授權設計在相關Spartan-3AN FPGA 上運行的電路。認證算法將讀取DeviceDNA和工廠預設Flash ID,然后生成一個主動授權代碼,并將此授權代碼與Flash 用戶字段中存儲的預生成授權代碼進行比較。如果兩個代碼相等,則器件通過認證。否則,器件屬非法而無法獲得授權。
拒絕訪問
失敗認證的處理是DeviceDNA 設計級方案的又一強項。認證可以完全集成到設計中。這樣,未經(jīng)授權的設計可以引起多種反應,例如:
*無功能-該設計完全停止工作。
*有限功能-主電路或關鍵電路被禁用或旁路。
*定時炸彈-僅在限期內提供全部功能。
*主動防御-系統(tǒng)監(jiān)測各項活動并抵御攻擊。
*永久性自毀-刪除所有Flash 內容,并且將Flash 永遠鎖定在全零狀態(tài)。
本文所述的設計級安全功能是Spartan-3A 和Spartan-3AN 平臺中可實現(xiàn)的基本安全級別。
結語
在開始進行下一代電路設計時,安全是一個重要的問題,Spartan-3A 和Spartan-3AN 平臺中的安全措施為防范反向工程、超量生產(chǎn)和克隆提供了多種方法?!?/P>
評論