基于Blackfin Lockbox的IP保護(hù)技術(shù)
隨著集成電路芯片技術(shù)的飛速發(fā)展、電子產(chǎn)品設(shè)計業(yè)也越來越開放,很多硬件解決方案已經(jīng)成為公開的資料,產(chǎn)品設(shè)計者的核心技術(shù)往往集中在嵌入式軟件內(nèi)。然而,在行業(yè)競爭日益激烈的今天,很多公司發(fā)現(xiàn)自己的產(chǎn)品投放市場后不久就被盜版,對公司造成巨大的損失,因此如何保護(hù)自己的產(chǎn)品已經(jīng)成為嵌入式產(chǎn)品領(lǐng)域一個迫切需要解決的問題。
本文主要介紹了目前一些嵌入式系統(tǒng)中IP保護(hù)的方法,從安全性的角度進(jìn)行了分析,并為產(chǎn)品開發(fā)者介紹基于ADI公司Blackfin處理器Lockbox的IP保護(hù)安全技術(shù)。
一、目前IP保護(hù)的方法
嵌入式系統(tǒng)的IP保護(hù)方法有很多,這些方法通常是從系統(tǒng)級別,硬件設(shè)計級別,芯片級別來防止反向工程或者是盜取IP。
1. 系統(tǒng)級別的IP保護(hù)
系統(tǒng)級別IP保護(hù)的一個典型案例是在產(chǎn)品設(shè)計上嵌入硬件安全芯片,應(yīng)用軟件和該芯片通過密鑰認(rèn)證的方式來控制程序的流程,從而實(shí)現(xiàn)軟件保護(hù),防止軟件被抄襲、篡改。并且利用安全芯片片內(nèi)的自帶的EEPROM,實(shí)現(xiàn)用戶關(guān)鍵數(shù)據(jù)的安全存放。
這種通過增加額外芯片的方法具有較高的安全性和實(shí)用性,但是增加了一塊芯片,產(chǎn)品的成本增加了,并且系統(tǒng)不能關(guān)閉JTAG, Hacker可以通過JTAG進(jìn)行有效地跟蹤,通過花費(fèi)一定的時間和精力,可以了解并篡改系統(tǒng)的運(yùn)行流程,因此在安全性上也存在一定的缺陷。
2. 硬件設(shè)計級別的IP保護(hù)
硬件設(shè)計級別的IP保護(hù)主要是采取一些措施,比如設(shè)計硬件平臺的布線,選取芯片的封裝格式,來防止外部通過儀器測量存儲設(shè)備的數(shù)據(jù)線或者處理器的管腳來獲取信息。
首先當(dāng)關(guān)鍵信息在外部的存儲器設(shè)備和處理器之間以明文的形式通過數(shù)據(jù)線進(jìn)行傳輸,這些數(shù)據(jù)線可以被儀器探測并中途截取,而通過采取一些布線技巧則可以避免,比如,采用多層制板,把電源層和接地層作為外層來屏蔽掉中間的銅層,并把關(guān)鍵的信號線,比如flash的數(shù)據(jù)線,JTAG的信號線放在中間層,以避免關(guān)鍵的信息被儀器探測并讀取。
其次選取小管腳間距的BGA封裝的芯片,把關(guān)鍵的信號管腳設(shè)計在最里側(cè),這樣的芯片能進(jìn)一步防止企圖通過探測處理器和FLASH,DRAM這樣的存儲芯片之間的信號線來獲取數(shù)據(jù)信息。并且通過在處理器以及存儲芯片之間硬件布線時,盡可能的放得互相接近的位置,可以進(jìn)一步增加探測攻擊關(guān)鍵信號的難度。
通過設(shè)計硬件平臺的布線,選取芯片的封裝形式這些措施能夠有效地防止探測攻擊,但是BGA芯片封裝的選取,多層制板以及布線技巧都會增加硬件平臺的成本。
3. 芯片級別的IP保護(hù)
大多數(shù)的處理器都包含有片內(nèi)的存儲器,比如SRAM, ROM或者是FLASH,這些存儲器很難從芯片外面被讀取,因此可以在這些片內(nèi)的存儲器存放一些關(guān)鍵代碼和數(shù)據(jù),這些片內(nèi)數(shù)據(jù)和代碼,通過一定的技術(shù),可以限制被外部主機(jī)設(shè)備,仿真器或者其他測試設(shè)備通過JTAG測試端口來讀取。
更進(jìn)一步的,可以通過片內(nèi)熔絲,斷掉芯片JTAG管腳的外接來徹底的關(guān)掉JTAG功能,但是這樣將無法進(jìn)行系統(tǒng)出錯分析以及調(diào)試。
同樣,通過片內(nèi)熔絲的方法,可以讓芯片從片內(nèi)的FLASH或者ROM啟動。這些可以把一些帶解密功能的Bootload放在片內(nèi)FLASH中,而在片外SDRAM中放置以密文形式存放的代碼。
我們從安全性,可行性,以及成本三個方面對上述的三種級別的IP保護(hù)技術(shù)進(jìn)行了比較,如表1-1所示。我們可以看到芯片級別的IP技術(shù)保護(hù)具有較高的安全性、可行性,以及較低的成本,是一種好的IP保護(hù)方式,我們接著要介紹的Analog Device公司的Blackfin處理器提供的Lockbox就是基于芯片級別的安全技術(shù)。
表1-1
二、Lockbox安全技術(shù)介紹
ADI公司Blackfin處理器采用的Lockbox安全技術(shù)是從芯片級別出發(fā),基于標(biāo)準(zhǔn)算法的數(shù)字簽名認(rèn)證概念,為執(zhí)行代碼與需要保護(hù)的數(shù)據(jù)提供安全處理環(huán)境,從而實(shí)現(xiàn)嵌入式系統(tǒng)的知識產(chǎn)權(quán)、電子商務(wù)和社會聯(lián)網(wǎng)系統(tǒng)中設(shè)備和用戶身份的驗(yàn)證、數(shù)字版權(quán)管理(DRM)等保護(hù)。
首先,Lockbox安全技術(shù)提供單次可編程(OTP)片上存儲器, OTP存儲器分為公有區(qū)域和私有區(qū)域,其公有區(qū)域是公共、非安全、用戶可以無條件訪問的區(qū)域,適合于存儲用于對系統(tǒng)進(jìn)行鑒定的公共密鑰,這樣開發(fā)人員可以用可控制與可配置的方式鑒別系統(tǒng)。OTP存儲器的私有區(qū)域是安全、用戶可編程區(qū)域,并只有系統(tǒng)在進(jìn)入安全模式下才能被訪問的,使開發(fā)人員可以保存私人密鑰等私有設(shè)備資源,并保證這些資源的機(jī)密性和完整性。
同時,每一片Blackfin芯片都有一個唯一的CHIP ID,存放在OTP公有區(qū)域的特定某個頁面,系統(tǒng)開發(fā)人員可以充分利用這個芯片編號,實(shí)現(xiàn)軟件和硬件平臺的綁定。
其次,Lockbox?安全技術(shù)提供片上的指令ROM存儲器,并把密碼學(xué)的一些標(biāo)準(zhǔn)算法放在指令ROM存儲器里面。在指令ROM存儲器中,提供了經(jīng)過優(yōu)化處理的橢圓曲線數(shù)字簽名(ECDSA)認(rèn)證算法, 該認(rèn)證算法主要是由以下2個密碼學(xué)算法組成,
* 橢圓曲線加密法(ECC)的非對稱密碼算法
* SHA-1安全單向Hash算法
這些算法都是公開的,并且經(jīng)過實(shí)踐驗(yàn)證過的,具有非常高的安全性。ECDSA數(shù)字簽名認(rèn)證主要用來驗(yàn)證代碼和數(shù)據(jù)來源的可靠性,以及代碼和數(shù)據(jù)的完整性。整個數(shù)字簽名的認(rèn)證流程已經(jīng)固化在Blackfin片內(nèi)的ROM中,系統(tǒng)開發(fā)人員只需要出發(fā)一個相應(yīng)的中斷觸發(fā)即可。Lockbox技術(shù)確保只有成功通過ECDSA數(shù)字簽名的應(yīng)用程序才可以運(yùn)行在安全模式下,這樣運(yùn)行在安全模式下面的代碼其來源一定是可靠的,并且沒有被篡改過。
同時,Lockbox的片上ROM里面也提供一些標(biāo)準(zhǔn)的密碼學(xué)算法,AES,RC4算法,這些算法都是經(jīng)過與處理器相關(guān)的性能優(yōu)化,具有較高的處理性能,并以API的形式提供給系統(tǒng)開發(fā)人員使用。
最后,Lockbox安全技術(shù)通過采用軟硬件結(jié)合提供一種安全處理模式(Blackfin安全模式)。正常開機(jī)流程下,系統(tǒng)運(yùn)行在公開模式下,在這種模式下面,系統(tǒng)不能訪問OTP私有區(qū)域,不能控制JTAG的關(guān)閉,只有成功通過ECDSA數(shù)字簽名認(rèn)證的代碼和數(shù)據(jù)才能進(jìn)入安全模式下,在安全模式下,系統(tǒng)才可以動態(tài)控制JTAG的關(guān)閉或打開,訪問OTP私有的存儲區(qū)域,動態(tài)配置片上SRAM的外部DMA訪問控制等各種操作。
這樣在Blackfin處理器進(jìn)入安全模式后,處理器只能在安全處理環(huán)境內(nèi)執(zhí)行授權(quán)的可靠代碼,配置JTAG打開或者關(guān)閉,并與片內(nèi)安全存儲器比如片上SRAM,OTP私有存儲區(qū)域配合使用,進(jìn)一步實(shí)現(xiàn)系統(tǒng)機(jī)密性。比如通過進(jìn)入安全模式,讀取存在OTP私有區(qū)域的密鑰,來進(jìn)行放在片外的部分關(guān)鍵代碼的解密,并放在片內(nèi)運(yùn)行,而密碼加密/解密過程只能被身份認(rèn)證成功的用戶看到并使用。當(dāng)用戶不需要運(yùn)行在安全模式下,可以動態(tài)的退出安全模式,進(jìn)入公開模式。
三、基于Lockbox的IP保護(hù)認(rèn)證技術(shù)
Lockbox提供了一系列的芯片級別的安全技術(shù),基于這些安全技術(shù),開發(fā)人員可以設(shè)計靈活的產(chǎn)品IP保護(hù)方案。我們將介紹基于Lockbox上的ECDSA數(shù)字簽名認(rèn)證流程的IP保護(hù)技術(shù)。
Lockbox上的ECDSA數(shù)字簽名產(chǎn)生以及認(rèn)證流程具體分為片外數(shù)字簽名準(zhǔn)備階段和片上數(shù)字簽名認(rèn)證階段。在片外數(shù)字簽名準(zhǔn)備階段,首先通過橢圓曲線加密法(ECC)產(chǎn)生一對非對稱密鑰,公有密鑰和私有密鑰,公有密鑰寫入基于Blackfin處理器終端的OTP公有區(qū)域某個特定的位置,私有密鑰則由產(chǎn)品開發(fā)公司安全保管。對需要認(rèn)證的應(yīng)用程序,通過SHA-1計算產(chǎn)生一個數(shù)字摘要,然后用私有密鑰對數(shù)字摘要進(jìn)行加密,產(chǎn)生一個數(shù)字簽名信息。最后把數(shù)字簽名信息以及對應(yīng)的應(yīng)用程序通過DMA或者其他的方式放入片內(nèi)存儲區(qū)域,觸發(fā)一個相應(yīng)的中斷,由對應(yīng)的已經(jīng)寫入片內(nèi)ROM的中斷處理程序(ECDSA數(shù)字簽名認(rèn)證算法)將會自動地進(jìn)行數(shù)字簽名認(rèn)證。
在片上的數(shù)字簽名認(rèn)證階段,中斷處理程序通過讀出OTP存儲器中的公有密鑰對數(shù)字簽名信息進(jìn)行解密,得到一個解密后的數(shù)字摘要,同時,對片上的應(yīng)用程序進(jìn)行SHA-1的數(shù)字摘要計算,并與解密后的數(shù)字摘要進(jìn)行比較,如果相等,則數(shù)字簽名認(rèn)證成功,表明,片上的應(yīng)用程序來源得到驗(yàn)證,并且確認(rèn)片上的應(yīng)用程序的內(nèi)容不會以任何方式被改變,從而對應(yīng)用程序的完整性進(jìn)行檢驗(yàn)。
經(jīng)過ECDSA數(shù)字簽名成功認(rèn)證的應(yīng)用程序?qū)@得系統(tǒng)運(yùn)行權(quán),并運(yùn)行在Blackfin提供的安全模式下,控制整個系統(tǒng)的安全訪問,比如可以關(guān)閉JTAG和片上SRAM的外部DMA訪問,讀取預(yù)先存放在OTP私有區(qū)域的AES 密鑰,調(diào)用AES解密算法解密放在片外的預(yù)先經(jīng)過加密的部分代碼和數(shù)據(jù),并把解密后的明文放在片內(nèi)運(yùn)行,以實(shí)現(xiàn)代碼的機(jī)密性,從而實(shí)現(xiàn)產(chǎn)品的IP保護(hù),當(dāng)機(jī)密性的代碼運(yùn)行完畢以后,可以通過調(diào)用系統(tǒng)提供的清除函數(shù),清除當(dāng)前的關(guān)鍵信息,退回到公開模式下面運(yùn)行。系統(tǒng)也可以根據(jù)需要,多次靈活地進(jìn)入和退出安全模式。
由此可見,基于Blackfin Lockbox的安全技術(shù)可以從以下三個方面來提供安全特性。
* 真實(shí)性/來源驗(yàn)證
Lockbox安全技術(shù)支持對一段應(yīng)用程序的數(shù)字簽名進(jìn)行驗(yàn)證,來確認(rèn)應(yīng)用程序和數(shù)據(jù)來源的真實(shí)性。
* 完整性
開發(fā)人員可使用數(shù)字簽名認(rèn)證技術(shù)來確保存儲介質(zhì)的消息或內(nèi)容不會以任何方式被改變。利用Lockbox數(shù)字簽名鑒定的真實(shí)性可以對完整性進(jìn)行檢驗(yàn)。
* 機(jī)密性
在安全模式下面,加密/解密服務(wù)能防止未經(jīng)批準(zhǔn)的用戶看到并使用特定數(shù)據(jù)。
產(chǎn)品設(shè)計者可以根據(jù)自己的系統(tǒng)安全性的需要,靈活的運(yùn)用這些芯片級別的安全技術(shù),設(shè)計出具有良好安全魯棒性的產(chǎn)品,實(shí)現(xiàn)嵌入式產(chǎn)品的IP保護(hù)。
結(jié)論
嵌入式系統(tǒng)可以通過采用各種安全技術(shù),從不同的級別來增加系統(tǒng)的安全性,實(shí)現(xiàn)IP保護(hù)。基于處理器級別的安全技術(shù)能夠從系統(tǒng)設(shè)計一開始就引入安全性的考慮,使系統(tǒng)具有更強(qiáng)的魯棒性。Blackfin處理器提供的Lockbox安全技術(shù)的能夠從系統(tǒng)的來源性,完整性,機(jī)密性提供全方位的安全保護(hù),不僅可以應(yīng)用于嵌入式系統(tǒng)的IP保護(hù)中,而且也可以應(yīng)用在數(shù)據(jù)的安全傳輸,電子商務(wù)的身份認(rèn)證、數(shù)字版權(quán)管理(DRM)內(nèi)容保護(hù)等各種應(yīng)用場景中。
評論
查看更多