<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何有效防止FPGA設計被克???

如何有效防止FPGA設計被克???

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

據估計,目前盛行的假冒電子產(chǎn)品已經(jīng)占到整個(gè)市場(chǎng)份額的10%,這一數據得到了美國反灰色市場(chǎng)和反假冒聯(lián)盟()的支持。是由惠普、思科和其它頂級電子OEM公司組成的一個(gè)行業(yè)組織。據該組織估計,制造商因盜版造成的損失超過(guò)1000億美元,而對最終用戶(hù)來(lái)說(shuō),信譽(yù)損毀和可靠性問(wèn)題帶來(lái)的隱性成本則更難以確定。

本文引用地址:http://dyxdggzs.com/article/201706/349332.htm

的流行和ASIC的衰退帶來(lái)的負面影響是拷貝設計越來(lái)越容易。對ASIC做反向工程是一件困難、昂貴且費時(shí)的工作,而拷貝最流行的配置比特流則相對簡(jiǎn)單。如圖1所示。

圖1:偷竊一個(gè)設計并不復雜。

因此,許多公司也許會(huì )發(fā)現他們的知識產(chǎn)權(IP)第二天就出現在競爭對手的產(chǎn)品中。剽竊者無(wú)需花費研發(fā)成本,因而能夠以比合法供應商低得多的價(jià)格出售產(chǎn)品,從而竊取更多的市場(chǎng)份額。

關(guān)鍵問(wèn)題是如何才能阻止這種偷竊行為并證明設計所有權。Algotronix公司推出的DesignTag產(chǎn)品試圖解決上述問(wèn)題。DesignTag代碼可隱藏在比特流中,因此很難被定位和去除,即使剽竊者知道FPGA比特流中包含的DesignTag代碼。

一旦這個(gè)代碼被復制進(jìn)盜版比特流中,它就像信標一樣不斷提示:該設計是盜版的。這在概念上非常類(lèi)似于使用UV筆標記郵政編碼或郵遞區號,盡管它不能阻止盜版,但日后被使用時(shí)則能明確所有權。

在XC3S2000 FPGA中DesignTag代碼只占用價(jià)值0.57美分的硅片(使用100片以上的目錄價(jià)),占用芯片上1.3%的邏輯資源。與非法拷貝造成的潛在損失相比,這點(diǎn)開(kāi)銷(xiāo)微不足道。

更隱匿的問(wèn)題來(lái)自所謂的“過(guò)制造(over-building)”。造成這個(gè)問(wèn)題的背景是,過(guò)去10多年中許多公司撤消生產(chǎn)部門(mén),專(zhuān)注于設計產(chǎn)品,并將產(chǎn)品交給合同廠(chǎng)商(CEM)制造。這種方式將CEM置于中心和關(guān)鍵位置。當然,絕大多數CEM是負責任的,提供有價(jià)值的服務(wù)。但也有少數不道德的CEM會(huì )生產(chǎn)超出合同數量的產(chǎn)品并出售給灰色市場(chǎng),以便從中贏(yíng)取超額利潤。這時(shí)DesignTag就能派上用場(chǎng),用來(lái)識別設計的來(lái)源和所有者。

DesignTag的另一個(gè)應用是提供串行序列號或版本識別。例如,醫療、汽車(chē)、工業(yè)、軍事或航空領(lǐng)域的制造商可能希望在設備上打上最終用戶(hù)代碼的標記,或跟蹤FPGA配置版本。在更新頻繁的應用場(chǎng)合,版本控制尤其重要。無(wú)需進(jìn)行電氣連接就能在運作中的系統中檢測出DesignTag,這對球柵陣列封裝來(lái)說(shuō)好處更大,因為接觸這種封裝的頂部要比電氣連接方便得多,而且無(wú)需借助于可能影響正常工作的軟件或硬件中斷就能實(shí)現監視功能。

另外一個(gè)潛在的好處是讓嵌入式系統與DesignTag交互,以便標記出故障或狀態(tài)條件。在這類(lèi)應用場(chǎng)合,DesignTag經(jīng)過(guò)編程可以輸出一個(gè)指示內部狀態(tài)的不同代碼。

DesignTag工作原理

DesignTag是一個(gè)小型低成本IP內核,可以?xún)戎迷贔PGA中作為設計的一部分。它是一種帶唯一代碼(“簽名”)的數字內核,可以從外部識別,而無(wú)需讀取FPGA比特流或內部寄存器。

它的工作原理是以一種預先定義好的方式調制主器件的功耗。微小的熱脈沖能以很低的衰耗透過(guò)芯片封裝傳播。功率“浪涌”電平被選中以提供只有約0.1℃的封裝溫升。額外增加的典型功耗值是5mW,而中等規模的Spartan FPGA的正常功耗通常大于150mW,這意味著(zhù)這個(gè)標記信號遠低于噪聲電平。

DesignTag默認情況下在工作15分鐘后關(guān)閉(用戶(hù)可修改這個(gè)時(shí)間),這樣做有兩個(gè)作用。首先,它消除了少量增加的功耗。其次,它使剽竊者的檢測更加困難。DesignTag也可以被FPGA中發(fā)生的內部事件觸發(fā),這種事件可以是發(fā)送ID代碼或指示內部狀態(tài),或是故障條件的一條指令。

DesignTag數據庫

所有DesignTag的代碼數據都保存在中央數據庫中。用戶(hù)可以選擇將他們的代碼“公開(kāi)”或“隱蔽”。公開(kāi)列表的優(yōu)勢在于所有DesignTag閱讀軟件都可以檢測這些代碼,從而允許用戶(hù)、執行代理或合同廠(chǎng)商確認被測器件(DUT)的有效性。

相比之下,當用戶(hù)不希望任何第三方知道他們的產(chǎn)品是否被打上了標記時(shí),隱蔽代碼是最好的選擇。在這種情況下,代碼由用戶(hù)分發(fā)到受信任方,只有安裝了這些代碼的閱讀軟件才能檢測出相應的標記。

將DesignTag集成進(jìn)FPGA

在FPGA中使用的這種IP內核被實(shí)例化為HDL代碼,形成一個(gè)用Verilog或VHDL編寫(xiě)的“黑盒”??晒┙桓兜膬热莅?,用于驅動(dòng)熱量輸出的內置代碼以及電路要求的I/O引腳。全數字設計的尺寸很小,一般在賽靈思的Spartan 3 FPGA中只占用256個(gè)片(slice)。

基于安全性考慮,這種內核只提供加密過(guò)的EDIF網(wǎng)表。該IP采用了多種技術(shù)來(lái)阻止“反向工程”,并且能夠將自己隱蔽起來(lái)防止受到篡改或檢測。DesignTag內核很大程度上獨立于用戶(hù)設計,因此對設計流程的影響很小。


圖2:DesignTag提供了“偷竊證據”。

DesignTag采用2~250MHz范圍之內的一個(gè)輸入時(shí)鐘來(lái)驅動(dòng)工作時(shí)序。這個(gè)時(shí)鐘應來(lái)源于系統內的任何有效時(shí)鐘,而不能是專(zhuān)門(mén)為標記IP內核產(chǎn)生的時(shí)鐘。最主要的原因是最低成本因素,它還能通過(guò)并入系統來(lái)迷惑檢測或中止標記功能的企圖。

DesignTag的控制輸入可以由嵌入式系統驅動(dòng),或在設計階段設置為默認值。例如,標記內核可以根據需要設置為連續發(fā)送;也可以在上電后的一段規定時(shí)間內發(fā)送,然后進(jìn)入待機模式。還有另外一個(gè)選項,即發(fā)送序列可以在任何時(shí)間由一個(gè)觸發(fā)脈沖(Trigger)輸入端來(lái)啟動(dòng)。

標記內核可以許可最多4個(gè)不同的內置代碼,這可以通過(guò)代碼選擇 (Code Select) 輸入端進(jìn)行選擇。嵌入式系統可以對這個(gè)內核進(jìn)行編程,讓它根據要求發(fā)送其中一個(gè)代碼來(lái)指示內部狀態(tài)條件。例如,指示內存發(fā)生溢出或檢測到軟故障條件,整個(gè)過(guò)程不會(huì )中斷系統功能。

篡改輸出(Tamper output)信號可以從DesignTag送入嵌入式系統,這有兩個(gè)好處。第一,它能用作削弱系統性能的去激活信號,并通過(guò)翻轉配置比特流中的隨機比特來(lái)迷惑取消標記功能的企圖。第二,如果攻擊者對比特流實(shí)施反向工程來(lái)重建設計,由于DesignTag塊看起來(lái)像是設計的有機組成部分,因而無(wú)法被識別。

檢測DesignTag輸出

可以在器件正常工作時(shí),將熱電偶以良好熱接觸的方式放置在封裝頂部來(lái)檢測DesignTag代碼,如圖3所示。熱量讀取數據被輸入進(jìn)DesignTag閱讀軟件,并進(jìn)行解密。完成代碼識別的檢測時(shí)間需要數分鐘,系統可以檢測和區分同一器件中的多個(gè)標記。


圖3:用熱電偶檢測熱信號。

不良條件可能增加檢測時(shí)間,但內部算法會(huì )隨著(zhù)采樣量的增加而使可靠性增加(圖4)。如果閱讀工作在靜止空氣中進(jìn)行,獲取時(shí)間則可以縮短。由于加電而導致DUT自身的散熱不會(huì )阻止標記的檢測??赡苎娱L(cháng)檢測時(shí)間的因素包括:熱不穩定狀態(tài),探針與封裝之間接觸不良,或一個(gè)設計中有多個(gè)代碼。

圖4:信號被累積和處理,直到取得很高的把握性。

DesignTag可以支持所有流行的封裝類(lèi)型。不過(guò)目前DesignTag不推薦用于散熱器或采取強制制冷的場(chǎng)合。

Algotronix公司推薦使用Pico科技公司帶熱電偶的TC-08數據記錄儀。其它設備正在評估中。TC-08已包含在DesignTag入門(mén)套件中,套件中還包含有閱讀器軟件、安裝有FPGA和5個(gè)有效DesignTag代碼的評估板(圖5)。閱讀器軟件可在運行Windows(XP或Vista)的PC上運行。


圖5:入門(mén)級套件包括數據記錄儀、軟件、評估板和5個(gè)唯一代碼。

分析攻擊DesignTag的企圖

任何反剽竊機制的最重要特性之一是識別、刪除或去激活身份標記的難度。潛在偷竊者要解決的第一個(gè)問(wèn)題是判斷盜版代碼中是否包含DesignTag。微小的熱信號包含有64位代碼,必須使用DSP和解密技術(shù)才能檢測出來(lái)。擴展代碼被用來(lái)控制采用線(xiàn)性反饋移位寄存器(LFSR)這類(lèi)電路的熱發(fā)生器。

擴展代碼發(fā)生電路基于唯一的‘標記ID’,就像是密鑰一樣,其中每個(gè)密鑰可導致不同的偽噪聲序列。DesignTag閱讀軟件可以識別公開(kāi)代碼,但沒(méi)有基礎知識和授權,軟件是無(wú)法檢測私有代碼的,這些代碼將保持隱秘狀態(tài)。

各種形狀的標記波形是偽隨機的。這些代碼通過(guò)重復的功率循環(huán)和關(guān)聯(lián)被觀(guān)察信號能夠挫敗那些解碼信號的企圖。

另外一種可能的攻擊方式是獲得多個(gè)DesignTag IP內核,并在比特流或加密的網(wǎng)表級對它們進(jìn)行比較,以便觀(guān)察哪些特殊源碼被修改過(guò),并假設這些特殊源碼對應的就是標記代碼比特。為了挫敗這種攻擊,標記IP內核的許多內容以隨機方式加以改變,從而在任意兩個(gè)標記實(shí)例之間形成巨大數量的差異。

攻擊者可能試圖去激活DesignTag。DesignTag是在設計捕獲階段作為黑盒實(shí)例化進(jìn)FPGA設計的,一旦融入設計,就被集成進(jìn)配置SRAM器件的比特流中。用戶(hù)可以選擇加密這些比特流,但大多數用戶(hù)不會(huì )這么做。FPGA配置比特流的大小不等,一般從中等規模的Spartan器件的2Mb到大型Virtex系列器件的10Mb都有。攻擊者可能試圖使用軟件從比特流信息中重構網(wǎng)表。

雖然過(guò)去這種軟件已經(jīng)開(kāi)發(fā)出來(lái),并且在技術(shù)文獻中有過(guò)報告,但目前攻擊者似乎還無(wú)法公開(kāi)得到這些工具。這種軟件的輸出通常是映射到FPGA原語(yǔ)后的扁平設計網(wǎng)表;雖然在比特流基礎上向前進(jìn)了一步,但與原始的設計源代碼相比還有很大的差距。

攻擊者還可能在比特流級嘗試和操作設計,他們會(huì )有選擇的“翻轉”某些比特,然后在關(guān)閉安全特性的情況下監視效果。挫敗這種攻擊的關(guān)鍵是使每次‘翻轉一個(gè)比特,然后觀(guān)察發(fā)生了什么’所需的時(shí)間盡可能長(cháng),并使攻擊者很難判斷實(shí)際的安全特性是否完全被關(guān)閉。讀一個(gè)DesignTag代碼需要花數分鐘時(shí)間,這使得類(lèi)似這種基于研究的攻擊的可行性大大降低。

與FPGA設計安全機制相比,DesignTag的優(yōu)勢還在于它不依賴(lài)于FPGA的特定資源,而攻擊者很容易利用這種依賴(lài)性確定比特流中的位置。

基于閃存或反熔絲技術(shù)的FPGA是在工廠(chǎng)中配置的,因此包含DesignTag的代碼不會(huì )泄漏給最終用戶(hù)。針對DesignTag的任何攻擊都將涉及物理性地篡改器件,從而導致FPGA損壞。

熱信號

到這里你可能想知道為何選擇非傳統的信號媒介。與芯片內電路交流信號最顯而易見(jiàn)的方法是通過(guò)封裝引腳。然而,這種機制在這種情景下有很大的缺陷。為了有益于最終用戶(hù),標記機制必須獨立于安裝芯片的電路板,并獨立于任何系統軟件。

在某些情況下,電路板和系統軟件開(kāi)發(fā)人員可能就是懷疑濫用IP的那一方。另外,訪(fǎng)問(wèn)標記不應要求詳細地了解包含可疑芯片的系統。在使用BGA芯片和精細間距扁平封裝時(shí),即使在電路板上找到合適的位置來(lái)探測信號也可能很有技巧性。因此通過(guò)封裝引腳訪(fǎng)問(wèn)標記信息通常要求訓練有素的技術(shù)人員才能辦到。

通過(guò)封裝的熱通道帶寬很窄,這與DesignTag采用的信號機制非常匹配。數據傳輸速率很低,但創(chuàng )建代碼只需極少量的比特,而且熱信號方法還有一些額外的優(yōu)點(diǎn)。例如,熱信號通過(guò)封裝發(fā)送,并被與封裝頂部接觸的探針檢測到,這種方法不會(huì )影響器件的正常工作。由于無(wú)需訪(fǎng)問(wèn)電氣連接,也不需要使用額外的封裝引腳,因此DesignTag可以被增加到現有產(chǎn)品中而不改變其引腳布局。

半熟練操作人員可以從器件所在位置或在測試裝置中進(jìn)行閱讀。高引腳數量的球柵陣列要求高密度的PCB走線(xiàn),而引出到測試點(diǎn)的額外走線(xiàn)是個(gè)大問(wèn)題,可能讓攻擊者想到DesignTag的存在。利用EMI、射頻或電源噪聲的標記信號方式理論上也是可能的。低電平電氣信號機制將深受芯片正常工作、快速電源毛刺和地線(xiàn)反彈以及相鄰PCB走線(xiàn)信號耦合帶來(lái)的外部噪聲的影響。而諸如無(wú)線(xiàn)電波、主電源和其它EMI等外部信號源也會(huì )造成干擾。

現代系統要求多個(gè)電源,這些電源必須很好地加以屏蔽和去耦。電源平滑濾波可能負面影響到芯片輸出的回送信號,從而降低芯片性能和標記信號質(zhì)量。雖然電氣信號的寬帶寬能夠提供快速檢測,但實(shí)驗表明這種好處無(wú)法彌補上述缺點(diǎn)。

本文小結

反IP侵權和克隆設計的成本在迅速提高。本文介紹的DesignTag技術(shù)提供了在設計中增加水印的低成本便利方法。標記目標設計提供了驗證盜版或侵權行為的簡(jiǎn)單途徑,無(wú)需求助于冗長(cháng)的工程評估。只需數分鐘就能檢測出贗品,這使得DesignTag成為一種值得推廣的解決方案。



關(guān)鍵詞: AGMA 可編程邏輯 FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>