在非易失性FPGA-Spartan-3AN平臺中采用了與Spartan-3A器件幾乎相同的工藝,只是進行了一些增強。第1種安全增強是比特流隱藏在FPGA內,使得監(jiān)控變得更加困難。
Spartan-3AN FPGA的第2種安全增強是兩個獨一無二的序列號,即Device DNA和Fash存儲器內的工廠Fash ID。這兩個獨一無二的ID序列號超過70個字節(jié),從而實現了更多的算法可能性,因此大大增加了破解安全算法所需的時間。該設計現在專門融合了FPGA和Flash ID。
擁有兩個獨一無二的ID就像需要兩張不同的ATM卡才能取錢一樣。如果想提取現金,必須持有兩張卡。如果其中一張卡丟失,則錢不會被取走且仍然是安全的。
第3種改進在于存儲的校驗碼,在Spartan-3AN平臺上,安全代碼可以存儲在安全寄存器的特殊一次性可編程64個字節(jié)的用戶定義字段中。該寄存器使安全系統保持獨立,而無需外部接口或存儲器。該特性增強了總體安全性,使產品的反向工程變得更加困難。
安全算法是用戶定義的,允許設計者以適當的系統成本實現合適的安全級別。安全算法也是安全系統的首要機密,安全流程中的內容必須是機密的,這樣才能保證系統不被破解。由于算法是未知的,因此它是設計級安全的關鍵所在。算法在FPGA架構內實現,因此它只是FPGA內數百萬個配置位中的少數幾位。除非知道比特位是如何連在一起的,或者算法是如何操作的;否則對于旁觀者或克隆者來說,它只是一堆數字。
圖1所示為采用Spartan-3AN器件的一個可行流程。

圖1 Spartan-3AN的安全設置流程
圖2所示的Spartan-3AN設計級安全是一種完全獨立的安全解決方案,Flash既包含FPGA配置比特流,又包含以前生成的校驗碼,該校驗碼由可信賴/安全的制造商或注冊流程存儲在一次性可編程Flash存儲器用戶字段中。

圖2 Spartan-3AN的安全解決方案
在通電時,FPGA正常配置。配置完成后,FPGA應用包括驗證是否批準設計在相關的Spartan-3AN FPGA上操作的電路。安全算法讀取Device DNA和工廠Fash ID;反過來,安全算法又會生成有效代碼,并將該有效代碼與以前生成的存儲在Flash用戶定義字段中的校驗碼進行比較。如果這兩個代碼相同,器件就被授權;否則該器件就是非法的,并且不會被授權。
處理授權失敗是Device DNA設計級安全的另一個優(yōu)勢,設計級安全的其他優(yōu)勢是其可以被完全整合到設計中。未授權設計可以有多種響應模式,這與Spartan-3A平臺一樣。
Spartan-3AN平臺中的設計級安全提供了多種保護設計不被用于過度構建、克隆和反向工程的方法,要了解利用3個系列的產品實現設計安全方面的更多信息,請參照《Spartan ̄3系列配置用戶指南》。
來源:ks991次





