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