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