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