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