有效防止FPGA設(shè)計(jì)被克隆的技術(shù)
DesignTag工作原理本文引用地址:http://www.ex-cimer.com/article/192003.htm
DesignTag是一個(gè)小型低成本IP內(nèi)核,可以?xún)?nèi)置在FPGA中作為設(shè)計(jì)的一部分。它是一種帶唯一代碼(“簽名”)的數(shù)字內(nèi)核,可以從外部識(shí)別,而無(wú)需讀取FPGA比特流或內(nèi)部寄存器。
它的工作原理是以一種預(yù)先定義好的方式調(diào)制主器件的功耗。微小的熱脈沖能以很低的衰耗透過(guò)芯片封裝傳播。功率“浪涌”電平被選中以提供只有約0.1℃的封裝溫升。額外增加的典型功耗值是5mW,而中等規(guī)模的Spartan FPGA的正常功耗通常大于150mW,這意味著這個(gè)標(biāo)記信號(hào)遠(yuǎn)低于噪聲電平。
DesignTag默認(rèn)情況下在工作15分鐘后關(guān)閉(用戶可修改這個(gè)時(shí)間),這樣做有兩個(gè)作用。首先,它消除了少量增加的功耗。其次,它使剽竊者的檢測(cè)更加困難。DesignTag也可以被FPGA中發(fā)生的內(nèi)部事件觸發(fā),這種事件可以是發(fā)送ID代碼或指示內(nèi)部狀態(tài),或是故障條件的一條指令。
DesignTag數(shù)據(jù)庫(kù)
所有DesignTag的代碼數(shù)據(jù)都保存在中央數(shù)據(jù)庫(kù)中。用戶可以選擇將他們的代碼“公開(kāi)”或“隱蔽”。公開(kāi)列表的優(yōu)勢(shì)在于所有DesignTag閱讀軟件都可以檢測(cè)這些代碼,從而允許用戶、執(zhí)行代理或合同廠商確認(rèn)被測(cè)器件(DUT)的有效性。
相比之下,當(dāng)用戶不希望任何第三方知道他們的產(chǎn)品是否被打上了標(biāo)記時(shí),隱蔽代碼是最好的選擇。在這種情況下,代碼由用戶分發(fā)到受信任方,只有安裝了這些代碼的閱讀軟件才能檢測(cè)出相應(yīng)的標(biāo)記。
將DesignTag集成進(jìn)FPGA
在FPGA中使用的這種IP內(nèi)核被實(shí)例化為HDL代碼,形成一個(gè)用Verilog或VHDL編寫(xiě)的“黑盒”。可供交付的內(nèi)容包括,用于驅(qū)動(dòng)熱量輸出的內(nèi)置代碼以及電路要求的I/O引腳。全數(shù)字設(shè)計(jì)的尺寸很小,一般在賽靈思的Spartan 3 FPGA中只占用256個(gè)片(slice)。
基于安全性考慮,這種內(nèi)核只提供加密過(guò)的EDIF網(wǎng)表。該IP采用了多種技術(shù)來(lái)阻止“反向工程”,并且能夠?qū)⒆约弘[蔽起來(lái)防止受到篡改或檢測(cè)。DesignTag內(nèi)核很大程度上獨(dú)立于用戶設(shè)計(jì),因此對(duì)設(shè)計(jì)流程的影響很小。
圖2:DesignTag提供了“偷竊證據(jù)”。
DesignTag采用2~250MHz范圍之內(nèi)的一個(gè)輸入時(shí)鐘來(lái)驅(qū)動(dòng)工作時(shí)序。這個(gè)時(shí)鐘應(yīng)來(lái)源于系統(tǒng)內(nèi)的任何有效時(shí)鐘,而不能是專(zhuān)門(mén)為標(biāo)記IP內(nèi)核產(chǎn)生的時(shí)鐘。最主要的原因是最低成本因素,它還能通過(guò)并入系統(tǒng)來(lái)迷惑檢測(cè)或中止標(biāo)記功能的企圖。
DesignTag的控制輸入可以由嵌入式系統(tǒng)驅(qū)動(dòng),或在設(shè)計(jì)階段設(shè)置為默認(rèn)值。例如,標(biāo)記內(nèi)核可以根據(jù)需要設(shè)置為連續(xù)發(fā)送;也可以在上電后的一段規(guī)定時(shí)間內(nèi)發(fā)送,然后進(jìn)入待機(jī)模式。還有另外一個(gè)選項(xiàng),即發(fā)送序列可以在任何時(shí)間由一個(gè)觸發(fā)脈沖(Trigger)輸入端來(lái)啟動(dòng)。
標(biāo)記內(nèi)核可以許可最多4個(gè)不同的內(nèi)置代碼,這可以通過(guò)代碼選擇 (Code Select) 輸入端進(jìn)行選擇。嵌入式系統(tǒng)可以對(duì)這個(gè)內(nèi)核進(jìn)行編程,讓它根據(jù)要求發(fā)送其中一個(gè)代碼來(lái)指示內(nèi)部狀態(tài)條件。例如,指示內(nèi)存發(fā)生溢出或檢測(cè)到軟故障條件,整個(gè)過(guò)程不會(huì)中斷系統(tǒng)功能。
篡改輸出(Tamper output)信號(hào)可以從DesignTag送入嵌入式系統(tǒng),這有兩個(gè)好處。第一,它能用作削弱系統(tǒng)性能的去激活信號(hào),并通過(guò)翻轉(zhuǎn)配置比特流中的隨機(jī)比特來(lái)迷惑取消標(biāo)記功能的企圖。第二,如果攻擊者對(duì)比特流實(shí)施反向工程來(lái)重建設(shè)計(jì),由于DesignTag塊看起來(lái)像是設(shè)計(jì)的有機(jī)組成部分,因而無(wú)法被識(shí)別。
評(píng)論