利用FPGA的新功能保證視頻設(shè)計安全性
DeviceDNA允許設(shè)備生產(chǎn)商將一個獨一無二的非易失工廠序列號直接寫入到FPGA器件中。每個器件的ID都不同,因此可以將設(shè)計綁定到特定的FPGA器件中。DeviceDNA可以作為接收設(shè)備的獨特序列號,一個唯一的許可代碼,或者與用戶定義的寫在FPGA構(gòu)造中的認證算法配合使用,從而將特定的設(shè)計與特定FPGA器件緊密綁定在一起。如果某些人試圖克隆或拷貝認證過的設(shè)計,或者將位流寫入另一片不同的FPGA器件,那么由于器件的ID號碼變化,設(shè)計就不會通過認證。DeviceDNA是一個57位長的序列號,可以通過器件內(nèi)部的邏輯構(gòu)造讀取。
DeviceDNA與用戶定義認證算法緊密結(jié)合能夠以合理的系統(tǒng)成本實現(xiàn)所需要的安全度。在采用認證算法的方法中,安全性的關(guān)鍵是算法本身。在本方法中,安全過程中必須有某些部分要保密,在本案例中則是用戶定義的算法本身。由于算法在PPGA邏輯構(gòu)造中實現(xiàn),因此成為FPGA數(shù)百萬配置位中的少數(shù)位。除非知道這些位如何組合在一起,或者知道算法本身,否則參于任何試圖拷貝設(shè)計的人來說,看起來都僅僅是一堆數(shù)字。
用戶定義的算法可以如系統(tǒng)所需要的一樣簡單或復(fù)雜 - 例如:可以是簡單的哈希算法,或者更為復(fù)雜的三次DES、AES6?、128或256位,甚至是完全定制的算法。同時還可以將用戶定義的認證算法集成到接收器的認證流程內(nèi)部。這樣可以進一步將接收單元與視頻流系統(tǒng)、設(shè)計與特定的接收單元捆綁在一起,從而進一步提高抵抗克隆的安全能力。此外,算法可以改變以支持不同的視頻解密協(xié)議配置,甚至在不同型號或不同代產(chǎn)品間采用不同的算法,從而進一步保證安全性。
安全性提高對生產(chǎn)的影響
硬件安全性問題同樣適用于生產(chǎn)流程,特別是板級測試和驗證。因此,設(shè)計中經(jīng)常將JTAG功能移除,因為JTAG功能易使設(shè)計導(dǎo)致反向工程。許多企業(yè)都采用JTAG來縮短測試時間并提高測量和驗證流程中的系統(tǒng)測試覆蓋范圍。然而,沒有JTAG,就需要更多的測試,特別是系統(tǒng)級測試來保證一定的測試覆蓋范圍。不使用JTAG技術(shù)會提高生產(chǎn)成本,并最終影響到系統(tǒng)總成本。
JTAG的問題在于INTEST命令,用于檢查設(shè)計的內(nèi)部邏輯功能。反向工程時,這一命令可用來判斷設(shè)計的功能。圖3給出了一個簡單的例子,其中數(shù)據(jù)移入寄存器,執(zhí)行INTEST命令,這樣數(shù)據(jù)會在時鐘作用下移入邏輯構(gòu)造,進入下一寄存器,結(jié)果可以被讀出。由于可將總體設(shè)計的復(fù)雜度縮小到更小的邏輯模塊,因此這一命令可使反向工程的工作更容易。
一些FPGA平臺可幫助防止發(fā)生這一過程,同時仍然允許生產(chǎn)商完成其管腳至管腳(pin-to-pin)功能。例如,在Xilinx? Spartan?-3A 平臺中, 可在設(shè)計中使用BSCAN_SPARTAN3A宏模塊,其檢測邏輯可監(jiān)控FPGA構(gòu)造中的JTAG控制信號,如圖4所示。如果檢測到JTAG控制信號的活動,用戶在設(shè)計可以立即繞過關(guān)鍵邏輯或關(guān)斷關(guān)鍵功能,不再執(zhí)行正確的功能。這樣反向工程人員讀到的將是不正確的功能模塊,在不能完成預(yù)期功能的解決方案上浪費時間和資源。
支持DeviceDNA的FPGA平臺可保證視頻接收機的設(shè)計安全,同時還可為測試和驗證流程提供支持,從而能夠提供成本經(jīng)濟的高質(zhì)量安全解決方案,支持多種不同的視頻流加密協(xié)議。
評論