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