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