隨著集成電路芯片技術(shù)的飛速發(fā)展、電子產(chǎn)品設(shè)計業(yè)也越來越開放,很多硬件解決方案已經(jīng)成為公開的資料,產(chǎn)品設(shè)計者的核心技術(shù)往往集中在嵌入式軟件內(nèi)。然而,在行業(yè)競爭日益激烈的今天,很多公司發(fā)現(xiàn)自己的產(chǎn)品投放市場后不久就被**,對公司造成巨大的損失,因此如何保護自己的產(chǎn)品已經(jīng)成為嵌入式產(chǎn)品領(lǐng)域一個迫切需要解決的問題。
本文主要介紹了目前一些嵌入式系統(tǒng)中IP保護的方法,從安全性的角度進行了分析,并為產(chǎn)品開發(fā)者介紹基于ADI公司Blackfin處理器Lockbox的IP保護安全技術(shù)。
一、目前IP保護的方法
嵌入式系統(tǒng)的IP保護方法有很多,這些方法通常是從系統(tǒng)級別,硬件設(shè)計級別,芯片級別來防止反向工程或者是**IP。
1.系統(tǒng)級別的IP保護
系統(tǒng)級別IP保護的一個典型案例是在產(chǎn)品設(shè)計上嵌入硬件安全芯片,應(yīng)用軟件和該芯片通過密鑰認證的方式來控制程序的流程,從而實現(xiàn)軟件保護,防止軟件被抄襲、篡改。并且利用安全芯片片內(nèi)的自帶的EEPROM,實現(xiàn)用戶關(guān)鍵數(shù)據(jù)的安全存放。
這種通過增加額外芯片的方法具有較高的安全性和實用性,但是增加了一塊芯片,產(chǎn)品的成本增加了,并且系統(tǒng)不能關(guān)閉JTAG,Hacker可以通過JTAG進行有效地跟蹤,通過花費一定的時間和精力,可以了解并篡改系統(tǒng)的運行流程,因此在安全性上也存在一定的缺陷。
2.硬件設(shè)計級別的IP保護
硬件設(shè)計級別的IP保護主要是采取一些措施,比如設(shè)計硬件平臺的布線,選取芯片的封裝格式,來防止外部通過儀器測量存儲設(shè)備的數(shù)據(jù)線或者處理器的管腳來獲取信息。
首先當關(guān)鍵信息在外部的存儲器設(shè)備和處理器之間以明文的形式通過數(shù)據(jù)線進行傳輸,這些數(shù)據(jù)線可以被儀器探測并中途截取,而通過采取一些布線技巧則可以避免,比如,采用多層制板,把電源層和接地層作為外層來屏蔽掉中間的銅層,并把關(guān)鍵的信號線,比如flash的數(shù)據(jù)線,JTAG的信號線放在中間層,以避免關(guān)鍵的信息被儀器探測并讀取。
其次選取小管腳間距的BGA封裝的芯片,把關(guān)鍵的信號管腳設(shè)計在最里側(cè),這樣的芯片能進一步防止企圖通過探測處理器和FLASH,DRAM這樣的存儲芯片之間的信號線來獲取數(shù)據(jù)信息。并且通過在處理器以及存儲芯片之間硬件布線時,盡可能的放得互相接近的位置,可以進一步增加探測攻擊關(guān)鍵信號的難度。
通過設(shè)計硬件平臺的布線,選取芯片的封裝形式這些措施能夠有效地防止探測攻擊,但是BGA芯片封裝的選取,多層制板以及布線技巧都會增加硬件平臺的成本。
3.芯片級別的IP保護
大多數(shù)的處理器都包含有片內(nèi)的存儲器,比如SRAM,ROM或者是FLASH,這些存儲器很難從芯片外面被讀取,因此可以在這些片內(nèi)的存儲器存放一些關(guān)鍵代碼和數(shù)據(jù),這些片內(nèi)數(shù)據(jù)和代碼,通過一定的技術(shù),可以限制被外部主機設(shè)備,仿真器或者其他測試設(shè)備通過JTAG測試端口來讀取。
更進一步的,可以通過片內(nèi)熔絲,斷掉芯片JTAG管腳的外接來徹底的關(guān)掉JTAG功能,但是這樣將無法進行系統(tǒng)出錯分析以及調(diào)試。
同樣,通過片內(nèi)熔絲的方法,可以讓芯片從片內(nèi)的FLASH或者ROM啟動。這些可以把一些帶解密功能的Bootload放在片內(nèi)FLASH中,而在片外SDRAM中放置以密文形式存放的代碼。
我們從安全性,可行性,以及成本三個方面對上述的三種級別的IP保護技術(shù)進行了比較,如表1-1所示。我們可以看到芯片級別的IP技術(shù)保護具有較高的安全性、可行性,以及較低的成本,是一種好的IP保護方式,我們接著要介紹的AnalogDevice公司的Blackfin處理器提供的Lockbox就是基于芯片級別的安全技術(shù)。