嵌入式安全模塊在電子產(chǎn)品版權(quán)保護中的應(yīng)用
一、概論
在激烈競爭的電子以及通信產(chǎn)品行業(yè),很多公司大概都有這樣的經(jīng)歷,自己費盡心血設(shè)計的產(chǎn)品,投放市場不久,就被競爭對手分析透了,從硬件到軟件原封不動地被克隆,換了一個外殼投放市場,自己成為了自己的競爭對手。還有一些公司在委托生產(chǎn)廠商進行產(chǎn)品生產(chǎn)時,被生產(chǎn)廠商額外地生產(chǎn)出大量的相同產(chǎn)品,換個品牌投放市場,不但擾亂了市場秩序,還嚴(yán)重地損害了產(chǎn)品設(shè)計者的利益。更有一些專業(yè)的單片機公司堂而皇之的把幫助別人破解各類單片機中的秘密作為主營之外的一種創(chuàng)收途徑。在行業(yè)競爭日益激烈的今天,如何保護自己的產(chǎn)品設(shè)計方案以提高產(chǎn)品的市場占有率,如何在產(chǎn)品技術(shù)轉(zhuǎn)讓時有一個理想的、可以量化的計量標(biāo)準(zhǔn)已經(jīng)成為很多公司和產(chǎn)品設(shè)計者日益關(guān)切的問題。
近兩年,隨著PDA,掌上電腦,機頂盒等信息終端逐漸走進人們的生活,嵌入式操作系統(tǒng)也像Windows一樣為人們熟知,隨著集成電路芯片技術(shù)的飛速發(fā)展,電子產(chǎn)品設(shè)計業(yè)也越來越像計算機行業(yè),很多產(chǎn)品的硬件解決方案已成為一種公開的資料,產(chǎn)品設(shè)計者的核心技術(shù)實際上集中在嵌入式應(yīng)用軟件內(nèi)。在硬件技術(shù)逐漸成熟和公開的今天,如何保護產(chǎn)品的設(shè)計,產(chǎn)品的版權(quán),實際上轉(zhuǎn)化成了對嵌入式應(yīng)用軟件的保護。
硬件設(shè)計版權(quán)保護的方法有很多,我們下面介紹一種非常靈活的方法:在產(chǎn)品設(shè)計上嵌入一種特殊的安全芯片,應(yīng)用軟件通過和該硬件芯片密鑰認證的方式來控制程序的流程,以及將單片機主程序上的部分放到ESAM內(nèi)部進行執(zhí)行的方法保護嵌入式軟件。ESAM芯片極高的安全特性和豐富的安全功能保證了該解決方案的高度安全性。
下面對該芯片以及基于該芯片的解決方案作一介紹
二、ESAM 簡介(參閱前文)
三、軟件保護原理
1、隨機數(shù)認證
在數(shù)據(jù)安全領(lǐng)域,DES(DataEncryptionStandard)算法是一種被廣泛使用的
公開的數(shù)據(jù)加密算法,它采用對稱密鑰機制,即加密密鑰和解密密鑰是相同的,
數(shù)據(jù)的安全性取決于密鑰的安全性。ESAM主要是采用隨機數(shù)理論,用DES算法計算認證碼,通過比較認證碼的方法進行芯片內(nèi)部密鑰與外部認證密鑰的對比,從而達到判斷與認證的目的。
ESAM通常內(nèi)部預(yù)置相關(guān)的密鑰和關(guān)鍵數(shù)據(jù),內(nèi)部具有安全寄存器,數(shù)據(jù)文件通常具有保密權(quán)限,只有通過相應(yīng)的密鑰認證才可以達到對應(yīng)數(shù)據(jù)文件的安全權(quán)限,才能對數(shù)據(jù)文件進行讀寫,業(yè)內(nèi)通常把這個過程叫做外部認證。
如某數(shù)據(jù)文件的讀寫權(quán)限為33(安全狀態(tài)寄存器為4位,安全指針為00-FF), 對應(yīng)的外部認證密鑰為12345678,后續(xù)狀態(tài)可定義為33,安全狀態(tài)寄存器的初始狀態(tài)為最低00,當(dāng)執(zhí)行外部認證命令時,如外部認證通過,安全狀態(tài)寄存器就會達到33狀態(tài),這時就可以對該數(shù)據(jù)文件進行讀寫了。
ESAM外部認證流程
在上述的認證過程中,ESAM和外部設(shè)備之間的信道只傳遞隨機數(shù)和認證碼,保證了數(shù)據(jù)的不可重復(fù)和難以跟蹤,使外界無法得到任何密鑰信息,通過信道偵聽密鑰的企圖是沒有任何意義的。
2、軟件的移植和SMAKEY內(nèi)部執(zhí)行
SMAKEY 提供內(nèi)部軟件平臺供用戶開發(fā)ESAM內(nèi)部執(zhí)行的子程序,內(nèi)部系統(tǒng)軟件特性:
n 片上操作系統(tǒng)(COS)進行通信、文件、存儲、安全管理
n 用戶可自行建立私有文件
n 支持用戶程序下載
n 內(nèi)置解釋器,解釋執(zhí)行用戶程序
n 支持255段子程序,每段子程序最大255行
n 支持4個參數(shù)的輸入,并返回運算結(jié)果
開發(fā)工具特性:
n 提供專用開發(fā)指令集:支持加法、乘法、除法、與、異或、非、賦值、跳轉(zhuǎn)、串處理等操作
n 提供專用開發(fā)工具:支持程序編輯、編譯、調(diào)試過程,還可生成可執(zhí)行代碼
n 提供專用發(fā)行工具:可供用戶批量快速生產(chǎn)
n 通過軟件代碼在SMAKEY內(nèi)部的運行,防止了非法用戶對軟件的直接拷貝和分析。
四、SMAKEY的目標(biāo)應(yīng)用
1、產(chǎn)品版權(quán)保護
在硬件設(shè)計仿制比較容易的情況下,采用安裝特定的安全芯片ESAM的方法,可以防止軟件被拷貝后正常使用,使ESAM的運算和認證成為應(yīng)用軟件流程一部分,從而達到防止盜版的目的。
2、 生產(chǎn)數(shù)量控制
在研發(fā)商和生產(chǎn)商利益分離的情況下,為了防止產(chǎn)品在生產(chǎn)過程中被生產(chǎn)商無償?shù)念~外生產(chǎn),使用ESAM可以控制生產(chǎn)商的生產(chǎn)數(shù)量,或用ESAM來收取版權(quán)費。
3、技術(shù)支持和售后服務(wù)的依據(jù)
可使用ESAM存儲產(chǎn)品的序列號或版本號等產(chǎn)品關(guān)鍵信息,可根據(jù)該信息對產(chǎn)品進行在線服務(wù)或應(yīng)用軟件的在線升級,也可以作為提供相關(guān)技術(shù)服務(wù)的依據(jù)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論