ESPU安全模塊實(shí)現嵌入式版權保護
概論
本文引用地址:http://dyxdggzs.com/article/117574.htm在競爭激烈的電子及信息技術(shù)產(chǎn)品行業(yè),新產(chǎn)品的設計周期已從原來(lái)的5年縮短為1~2年,同時(shí)產(chǎn)品壽命也在縮短,使得上市時(shí)間壓力增大,隨著(zhù)創(chuàng )新能力的擴展,公司間競爭越來(lái)越大,盜板現象卻越來(lái)越嚴重,如何保護自己的產(chǎn)品設計以提高市場(chǎng)占有率和延長(cháng)生命周期,如何在許可生產(chǎn)過(guò)程中有效控制和量化版權收益,已經(jīng)成為很多公司和產(chǎn)品設計者日益關(guān)注的問(wèn)題?!”疚慕榻B的解決方案的核心是在產(chǎn)品硬件設計上嵌入專(zhuān)用加密芯片,在應用軟件設計上通過(guò)隨機密鑰認證的方法控制程序流程,比一般概念上的軟件狗在軟硬件安全特性、指令功能和性能價(jià)格比具有明顯的優(yōu)勢。
本方案選用的專(zhuān)用加密IC是內置TimeCOS/ESPU嵌入式安全操作系統的專(zhuān)用微處理器芯片,又稱(chēng)ESPU嵌入式軟件保護模塊。ESPU安全模塊采用標準的DIP8或SOP8封裝,除了具有防檢測、抗攻擊、自毀等硬件特性外,還具有安全的文件密鑰管理,完善的安全機制、標準的加解密運算功能。ESPU安全模塊主要的應用模式是嵌入到其他專(zhuān)用或通用設備中,除了可作為設備的唯一標識(每個(gè)模塊具有全球唯一硬件序列號碼)并提供安全密鑰和重要數據存儲之外,還可以利用內置算法完成數據加密解密、雙向身份認證、訪(fǎng)問(wèn)權限控制、通信線(xiàn)路保護、臨時(shí)過(guò)程密鑰導出等多種功能。下面分別介紹ESPU安全模塊硬件和軟件特性。
1.硬件安全特性:
•采用智能卡做為硬件平臺
• 唯一序列號
• 芯片硬件安全性獲得EAL4 級認證
• 芯片防篡改設計,具有防止SEMA/DEMA 、 SPA/DPA、 DFA和時(shí)序攻擊的措施
• 數據安全存儲,高低壓檢測,高低頻率檢測
• 真隨機數發(fā)生器:利用芯片內部的電磁白噪聲產(chǎn)生,不會(huì )重復
• 硬件加密協(xié)處理器:內部硬件邏輯電路實(shí)現對稱(chēng)算法3DES,加解密速度快
2. 軟件安全特性:
安全芯片采用TimeCOS/ESPU嵌入式安全操作系統
COS(芯片操作系統)是ESPU安全模塊的核心。該操作系統針對不同的應用具有不同的版本,主要有普通DES、3DES算法的PBOC版本,具有RSA算法的,還可根據用戶(hù)的需要增加不同的算法和功能,可作為身份的標識進(jìn)行身份認證,也可以作為安全的平臺存儲各種安全密鑰和關(guān)鍵數據,以及產(chǎn)生隨機數,進(jìn)行加解密運算等,可以幫助終端設備實(shí)現很多安全功能。
2.1TimeCOS/ESPU的結構
TimeCOS/ESPU由傳輸管理、文件管理、安全體系、命令解釋四個(gè)功能模塊組成。
2.2典型認證過(guò)程
在數據安全領(lǐng)域,DES(數據加密標準)算法是一種被廣泛使用的公開(kāi)的數據加密算法,它采用對稱(chēng)密鑰機制,即加密密鑰和解密密鑰是相同的,數據的安全性取決于密鑰的安全性。ESPU安全模塊用DES算法計算認證碼,通過(guò)比較認證碼的方法進(jìn)行芯片內部密鑰與外部認證密鑰的對比,從而達到判斷與認證的目的。ESPU安全模塊通常內部預置相關(guān)的密鑰和關(guān)鍵數據,內部具有安全狀態(tài)寄存器,數據文件通常具有保密權限,只有通過(guò)相應的密鑰認證才可以達到對應數據文件的安全權限,才能對數據文件進(jìn)行讀寫(xiě),這個(gè)過(guò)程稱(chēng)為外部認證。
二. 基于ESPU軟件保護模塊的版權保護方案
ESPU軟件保護模塊的目標應用
1.產(chǎn)品版權保護
在硬件設計仿制比較容易的情況下,采用安裝特定的加密芯ESPU安全模塊的方法,可以防止軟件被拷貝后正常使用。
2.生產(chǎn)數量控制
使用ESPU可以控制生產(chǎn)商的生產(chǎn)數量,按照真實(shí)數量收取版權費。
3.技術(shù)支持和售后服務(wù)的依據
使用ESPU存儲產(chǎn)品的序列號或版本號等產(chǎn)品關(guān)鍵信息,可根據該信息對產(chǎn)品進(jìn)行在線(xiàn)服務(wù)或應用軟件的在線(xiàn)升級,也可以作為提供相關(guān)技術(shù)服務(wù)的依據。
三. 硬件結構設計
ESPU的硬件結構非常簡(jiǎn)單,時(shí)鐘頻率1~5MHz,工作電壓2.7V~5V,其簡(jiǎn)單的結構,良好的兼容性使其同主要硬件設備的接口容易,編程也非常簡(jiǎn)單.用戶(hù)可以輕松地將處理器芯片集成到應用中.
四. 軟件應用流程介紹
1.系統要求:
·應用軟件需要支持DES算法,支持產(chǎn)生偽隨機數的算法。
·應用軟件安裝系統主密鑰MK,可以通過(guò)ESPU安全模塊硬件唯一序列號S/N分散生成認證主密鑰。
·ESPU安全模塊安裝有主密鑰SK=DES(MK,S/N)。
2.軟件安全認證過(guò)程
·ESPU安全模塊中存儲與自身硬件序列號相關(guān)的主密鑰,通過(guò)主密鑰和軟件ID號加密可生成過(guò)程密鑰,過(guò)程密鑰存儲在ESPU安全模塊的RAM區中,掉電后消失。
·應用軟件在不同批次ID的情況下,可以更改系統主密鑰。
·在應用軟件密鑰存儲系統主密鑰,認證主密鑰通過(guò)讀取ESPU安全模塊硬件序列號臨時(shí)分散產(chǎn)生,認證密鑰通過(guò)應用軟件批次ID號二次分散臨時(shí)產(chǎn)生。
·分散過(guò)的ESPU安全模塊認證主密鑰,經(jīng)應用軟件批次ID號分散密鑰產(chǎn)生臨時(shí)認證密鑰與應用軟件的臨時(shí)認證密鑰完成最終的認證過(guò)程。
五.一種防止程序被反編譯的方法
根據設備采用的主CPU的特點(diǎn),還可以采用程序分割的方法將部分系統源程序用密鑰加密后存儲,防止存儲在ROM或EEPROM中的程序被讀出后反編譯。
首先將源程序中的部分子程序或重要參數用ESPU中的密鑰加密后安裝,在調用該部分程序或參數時(shí)需先將數據送ESPU解密后再放到FLASH或RAM中執行,掉電后解密后的數據將消失。這樣可以更有效地防止源程序被反編譯后被破解。
結語(yǔ)
ESPU軟件保護模塊的核心實(shí)際上是專(zhuān)用的智能卡芯片,隨著(zhù)智能卡技術(shù)的成熟和應用的普及,國外大廠(chǎng)商的智能卡芯片制造和銷(xiāo)售成本也在不斷的降低,使得應用這種先進(jìn)的微處理器來(lái)進(jìn)行版權保護在成本上成為可行。
目前已經(jīng)有一些電子設備廠(chǎng)商運用此方案,保護自己的電路設計及應用軟件,同時(shí)還用ESPU安全模塊存儲設備的各種參數和信息,作為產(chǎn)品在線(xiàn)更新和售后服務(wù)的唯一安全標識。作為嵌入式版權保護的一種解決方案,北京寶興達信息技術(shù)有限公司希望本方案能夠給眾多設計者提供一個(gè)新的思路和借鑒。
評論