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