據(jù)估計(jì),,目前盛行的假冒電子產(chǎn)品已經(jīng)占到整個(gè)市場份額的10%,,這一數(shù)據(jù)得到了美國反灰色市場和反假冒聯(lián)盟(AGMA)的支持,。AGMA是由惠普,、思科和其它頂級電子OEM公司組成的一個(gè)行業(yè)組織。據(jù)該組織估計(jì),,制造商因盜版造成的損失超過1000億美元,,而對最終用戶來說,信譽(yù)損毀和可靠性問題帶來的隱性成本則更難以確定,。
可編程邏輯的流行和ASIC的衰退帶來的負(fù)面影響是拷貝設(shè)計(jì)越來越容易,。對ASIC做反向工程是一件困難,、昂貴且費(fèi)時(shí)的工作,而拷貝最流行的FPGA配置比特流則相對簡單,。如圖1所示。
圖1:偷竊一個(gè)FPGA設(shè)計(jì)并不復(fù)雜,。
因此,許多公司也許會(huì)發(fā)現(xiàn)他們的知識產(chǎn)權(quán)(IP)第二天就出現(xiàn)在競爭對手的產(chǎn)品中,。剽竊者無需花費(fèi)研發(fā)成本,,因而能夠以比合法供應(yīng)商低得多的價(jià)格出售產(chǎn)品,,從而竊取更多的市場份額,。
關(guān)鍵問題是如何才能阻止這種偷竊行為并證明設(shè)計(jì)所有權(quán)。Algotronix公司推出的DesignTag產(chǎn)品試圖解決上述問題,。DesignTag代碼可隱藏在FPGA比特流中,因此很難被定位和去除,,即使剽竊者知道FPGA比特流中包含的DesignTag代碼。
一旦這個(gè)代碼被復(fù)制進(jìn)盜版比特流中,,它就像信標(biāo)一樣不斷提示:該設(shè)計(jì)是盜版的,。這在概念上非常類似于使用UV筆標(biāo)記郵政編碼或郵遞區(qū)號,,盡管它不能阻止盜版,但日后被使用時(shí)則能明確所有權(quán)。
在XC3S2000 FPGA中DesignTag代碼只占用價(jià)值0.57美分的硅片(使用100片以上的目錄價(jià)),占用芯片上1.3%的邏輯資源,。與非法拷貝造成的潛在損失相比,,這點(diǎn)開銷微不足道。
更隱匿的問題來自所謂的“過制造(over-building)”,。造成這個(gè)問題的背景是,過去10多年中許多公司撤消生產(chǎn)部門,,專注于設(shè)計(jì)產(chǎn)品,并將產(chǎn)品交給合同廠商(CEM)制造,。這種方式將CEM置于中心和關(guān)鍵位置,。當(dāng)然,,絕大多數(shù)CEM是負(fù)責(zé)任的,提供有價(jià)值的服務(wù),。但也有少數(shù)不道德的CEM會(huì)生產(chǎn)超出合同數(shù)量的產(chǎn)品并出售給灰色市場,,以便從中贏取超額利潤,。這時(shí)DesignTag就能派上用場,,用來識別設(shè)計(jì)的來源和所有者,。
DesignTag的另一個(gè)應(yīng)用是提供串行序列號或版本識別。例如,,醫(yī)療,、汽車、工業(yè),、軍事或航空領(lǐng)域的制造商可能希望在設(shè)備上打上最終用戶代碼的標(biāo)記,,或跟蹤FPGA配置版本,。在更新頻繁的應(yīng)用場合,,版本控制尤其重要。無需進(jìn)行電氣連接就能在運(yùn)作中的系統(tǒng)中檢測出DesignTag,,這對球柵陣列封裝來說好處更大,,因?yàn)榻佑|這種封裝的頂部要比電氣連接方便得多,而且無需借助于可能影響正常工作的軟件或硬件中斷就能實(shí)現(xiàn)監(jiān)視功能,。
另外一個(gè)潛在的好處是讓嵌入式系統(tǒng)與DesignTag交互,,以便標(biāo)記出故障或狀態(tài)條件。在這類應(yīng)用場合,,DesignTag經(jīng)過編程可以輸出一個(gè)指示內(nèi)部狀態(tài)的不同代碼,。
DesignTag工作原理
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ū)動(dòng)熱量輸出的內(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ū)動(dòng)工作時(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ū)動(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)輸入端來啟動(dòng)。
標(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è)過程不會(huì)中斷系統(tǒng)功能,。
篡改輸出(Tamper output)信號可以從DesignTag送入嵌入式系統(tǒng),,這有兩個(gè)好處。第一,,它能用作削弱系統(tǒng)性能的去激活信號,,并通過翻轉(zhuǎn)配置比特流中的隨機(jī)比特來迷惑取消標(biāo)記功能的企圖,。第二,如果攻擊者對比特流實(shí)施反向工程來重建設(shè)計(jì),,由于DesignTag塊看起來像是設(shè)計(jì)的有機(jī)組成部分,,因而無法被識別。
檢測DesignTag輸出
可以在器件正常工作時(shí),,將熱電偶以良好熱接觸的方式放置在封裝頂部來檢測DesignTag代碼,,如圖3所示。熱量讀取數(shù)據(jù)被輸入進(jìn)DesignTag閱讀軟件,,并進(jìn)行解密,。完成代碼識別的檢測時(shí)間需要數(shù)分鐘,系統(tǒng)可以檢測和區(qū)分同一器件中的多個(gè)標(biāo)記,。
圖3:用熱電偶檢測熱信號
不良條件可能增加檢測時(shí)間,,但內(nèi)部算法會(huì)隨著采樣量的增加而使可靠性增加(圖4)。如果閱讀工作在靜止空氣中進(jìn)行,,獲取時(shí)間則可以縮短。由于加電而導(dǎo)致DUT自身的散熱不會(huì)阻止標(biāo)記的檢測,??赡苎娱L檢測時(shí)間的因素包括:熱不穩(wěn)定狀態(tài),探針與封裝之間接觸不良,,或一個(gè)設(shè)計(jì)中有多個(gè)代碼,。
圖4:信號被累積和處理,直到取得很高的把握性
DesignTag可以支持所有流行的封裝類型,。不過目前DesignTag不推薦用于散熱器或采取強(qiáng)制制冷的場合,。
Algotronix公司推薦使用Pico科技公司帶熱電偶的TC-08數(shù)據(jù)記錄儀。其它設(shè)備正在評估中,。TC-08已包含在DesignTag入門套件中,,套件中還包含有閱讀器軟件、安裝有FPGA和5個(gè)有效DesignTag代碼的評估板(圖5),。閱讀器軟件可在運(yùn)行Windows(XP或Vista)的PC上運(yùn)行,。
圖5:入門級套件包括數(shù)據(jù)記錄儀、軟件,、評估板和5個(gè)唯一代碼,。
分析攻擊DesignTag的企圖
任何反剽竊機(jī)制的最重要特性之一是識別、刪除或去激活身份標(biāo)記的難度,。潛在偷竊者要解決的第一個(gè)問題是判斷盜版代碼中是否包含DesignTag,。微小的熱信號包含有64位代碼,必須使用DSP和解密技術(shù)才能檢測出來,。擴(kuò)展代碼被用來控制采用線性反饋移位寄存器(LFSR)這類電路的熱發(fā)生器,。
擴(kuò)展代碼發(fā)生電路基于唯一的‘標(biāo)記ID’,,就像是密鑰一樣,其中每個(gè)密鑰可導(dǎo)致不同的偽噪聲序列,。DesignTag閱讀軟件可以識別公開代碼,,但沒有基礎(chǔ)知識和授權(quán),軟件是無法檢測私有代碼的,,這些代碼將保持隱秘狀態(tài),。
各種形狀的標(biāo)記波形是偽隨機(jī)的。這些代碼通過重復(fù)的功率循環(huán)和關(guān)聯(lián)被觀察信號能夠挫敗那些解碼信號的企圖,。
另外一種可能的攻擊方式是獲得多個(gè)DesignTag IP內(nèi)核,,并在比特流或加密的網(wǎng)表級對它們進(jìn)行比較,以便觀察哪些特殊源碼被修改過,,并假設(shè)這些特殊源碼對應(yīng)的就是標(biāo)記代碼比特,。為了挫敗這種攻擊,標(biāo)記IP內(nèi)核的許多內(nèi)容以隨機(jī)方式加以改變,,從而在任意兩個(gè)標(biāo)記實(shí)例之間形成巨大數(shù)量的差異,。
攻擊者可能試圖去激活DesignTag。DesignTag是在設(shè)計(jì)捕獲階段作為黑盒實(shí)例化進(jìn)FPGA設(shè)計(jì)的,,一旦融入設(shè)計(jì),,就被集成進(jìn)配置SRAM器件的比特流中。用戶可以選擇加密這些比特流,,但大多數(shù)用戶不會(huì)這么做,。FPGA配置比特流的大小不等,一般從中等規(guī)模的Spartan器件的2Mb到大型Virtex系列器件的10Mb都有,。攻擊者可能試圖使用軟件從比特流信息中重構(gòu)網(wǎng)表,。
雖然過去這種軟件已經(jīng)開發(fā)出來,并且在技術(shù)文獻(xiàn)中有過報(bào)告,,但目前攻擊者似乎還無法公開得到這些工具,。這種軟件的輸出通常是映射到FPGA原語后的扁平設(shè)計(jì)網(wǎng)表;雖然在比特流基礎(chǔ)上向前進(jìn)了一步,,但與原始的設(shè)計(jì)源代碼相比還有很大的差距,。
攻擊者還可能在比特流級嘗試和操作設(shè)計(jì),他們會(huì)有選擇的“翻轉(zhuǎn)”某些比特,,然后在關(guān)閉安全特性的情況下監(jiān)視效果,。挫敗這種攻擊的關(guān)鍵是使每次‘翻轉(zhuǎn)一個(gè)比特,然后觀察發(fā)生了什么’所需的時(shí)間盡可能長,,并使攻擊者很難判斷實(shí)際的安全特性是否完全被關(guān)閉,。讀一個(gè)DesignTag代碼需要花數(shù)分鐘時(shí)間,這使得類似這種基于研究的攻擊的可行性大大降低,。
與FPGA設(shè)計(jì)安全機(jī)制相比,,DesignTag的優(yōu)勢還在于它不依賴于FPGA的特定資源,,而攻擊者很容易利用這種依賴性確定比特流中的位置。
基于閃存或反熔絲技術(shù)的FPGA是在工廠中配置的,,因此包含DesignTag的代碼不會(huì)泄漏給最終用戶,。針對DesignTag的任何攻擊都將涉及物理性地篡改器件,從而導(dǎo)致FPGA損壞,。
熱信號
到這里你可能想知道為何選擇非傳統(tǒng)的信號媒介,。與芯片內(nèi)電路交流信號最顯而易見的方法是通過封裝引腳。然而,,這種機(jī)制在這種情景下有很大的缺陷,。為了有益于最終用戶,標(biāo)記機(jī)制必須獨(dú)立于安裝芯片的電路板,,并獨(dú)立于任何系統(tǒng)軟件,。
在某些情況下,電路板和系統(tǒng)軟件開發(fā)人員可能就是懷疑濫用IP的那一方,。另外,,訪問標(biāo)記不應(yīng)要求詳細(xì)地了解包含可疑芯片的系統(tǒng)。在使用BGA芯片和精細(xì)間距扁平封裝時(shí),,即使在電路板上找到合適的位置來探測信號也可能很有技巧性,。因此通過封裝引腳訪問標(biāo)記信息通常要求訓(xùn)練有素的技術(shù)人員才能辦到。
通過封裝的熱通道帶寬很窄,,這與DesignTag采用的信號機(jī)制非常匹配。數(shù)據(jù)傳輸速率很低,,但創(chuàng)建代碼只需極少量的比特,,而且熱信號方法還有一些額外的優(yōu)點(diǎn)。例如,,熱信號通過封裝發(fā)送,,并被與封裝頂部接觸的探針檢測到,這種方法不會(huì)影響器件的正常工作,。由于無需訪問電氣連接,,也不需要使用額外的封裝引腳,因此DesignTag可以被增加到現(xiàn)有產(chǎn)品中而不改變其引腳布局,。
半熟練操作人員可以從器件所在位置或在測試裝置中進(jìn)行閱讀,。高引腳數(shù)量的球柵陣列要求高密度的PCB走線,而引出到測試點(diǎn)的額外走線是個(gè)大問題,,可能讓攻擊者想到DesignTag的存在,。利用EMI、射頻或電源噪聲的標(biāo)記信號方式理論上也是可能的,。低電平電氣信號機(jī)制將深受芯片正常工作,、快速電源毛刺和地線反彈以及相鄰PCB走線信號耦合帶來的外部噪聲的影響,。而諸如無線電波、主電源和其它EMI等外部信號源也會(huì)造成干擾,。
現(xiàn)代系統(tǒng)要求多個(gè)電源,,這些電源必須很好地加以屏蔽和去耦。電源平滑濾波可能負(fù)面影響到芯片輸出的回送信號,,從而降低芯片性能和標(biāo)記信號質(zhì)量,。雖然電氣信號的寬帶寬能夠提供快速檢測,但實(shí)驗(yàn)表明這種好處無法彌補(bǔ)上述缺點(diǎn),。
本文小結(jié)
反IP侵權(quán)和克隆設(shè)計(jì)的成本在迅速提高,。本文介紹的DesignTag技術(shù)提供了在設(shè)計(jì)中增加水印的低成本便利方法。標(biāo)記目標(biāo)設(shè)計(jì)提供了驗(yàn)證盜版或侵權(quán)行為的簡單途徑,,無需求助于冗長的工程評估,。只需數(shù)分鐘就能檢測出贗品,這使得DesignTag成為一種值得推廣的解決方案,。
Paul Dillien
High Tech公司
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]。