摘要: 介紹一種電子產品硬件設計的版權保護方法,采用特殊的硬件安全芯片嵌入到產品設計中,通過密鑰認證和軟件移植的方法實現電子產品的硬件設計防偽、嵌入式軟件的版權保護,以及硬件設計版權銷售的計量。 一、概論 在激烈競爭的電子以及通信產品行業,很多公司大概都有這樣的經歷,自己費盡心血設計的產品,投放市場不久,就被競爭對手分析透了,從硬件到軟件原封不動地被克隆,換了一個外殼投放市場,自己成為了自己的競爭對手。還有一些公司在委托生產廠商進行產品生產時,被生產廠商額外地生產出大量的相同產品,換個品牌投放市場,不但擾亂了市場秩序,還嚴重地損害了產品設計者的利益。更有一些專業的單片機公司堂而皇之的把幫助別人破解各類單片機中的秘密作為主營之外的一種創收途徑。在行業競爭日益激烈的今天,如何保護自己的產品設計方案以提高產品的市場占有率,如何在產品技術轉讓時有一個理想的、可以量化的計量標準已經成為很多公司和產品設計者日益關切的問題。 近兩年,隨著PDA,掌上電腦,機頂盒等信息終端逐漸走進人們的生活,嵌入式操作系統也像Windows 一樣為人們熟知,隨著集成電路芯片技術的飛速發展,電子產品設計業也越來越像計算機行業,很多產品的硬件解決方案已成為一種公開的資料,產品設計者的核心技術實際上集中在嵌入式應用軟件內。在硬件技術逐漸成熟和公開的今天,如何保護產品的設計,產品的版權,實際上轉化成了對嵌入式應用軟件的保護。 硬件設計版權保護的方法有很多,北京寶興達信息技術公司下面介紹一種非常靈活的方法:在產品設計上嵌入一種特殊的安全芯片,應用軟件通過和該硬件芯片密鑰認證的方式來控制程序的流程,以及將單片機主程序上的部分放到ESAM內部進行執行的方法保護嵌入式軟件。ESAM芯片極高的安全特性和豐富的安全功能保證了該解決方案的高度安全性。 下面對該芯片以及基于該芯片的解決方案作一介紹 二、ESAM 簡介 ESAM (Embedded Secure Access Module)嵌入式安全控制模塊的實質為DIP或者SOP芯片 封裝的CPU卡芯片,最早被用于IC卡電表中做為錢包使用,存儲充值及消費金額,以及其他一 些重要的參數,同時具有身份識別功能,與外部卡片進行雙向身份認證。隨著終端安全的日益被重視,目前被廣泛應用于各種嵌入式終端實現數據的安全存儲,數據的加解密,終端身份的 識別與認證, 嵌入式軟件的版權保護,DRM數字版權的管理等功能。 產品特性: •采用智能卡專用安全微處理器硬件平臺 •增強型8051內核,容量包括:32K程序存儲區和90K數據存儲區 •用戶可以自行下載應用程序,該程序可在片內運行 •使用標準的KEIL C開發,串口通訊協議,不需掌握專門語言及通訊協議,開發簡單方便 •硬件結構設計簡單,用戶可以輕松地將芯片集成到應用中 安全特性: •芯片防篡改設計,唯一序列號,可防止SEMA/DEMA 、 SPA/DPA、 DFA和時序攻擊 •多種檢測傳感器:高壓和低壓傳感器,頻率傳感器、濾波器、脈沖傳感器、溫度傳感器, 具有傳感器壽命測試功能,一旦芯片檢測到非法探測,將啟動內部的自毀功; •總線加密,具有金屬屏蔽防護層,探測到外部攻擊后內部數據自毀;邏輯框圖; •真隨機數發生器:利用芯片內部的電磁白噪聲產生,不會重復; •硬件算法協處理器:內部硬件邏輯電路實現對稱算法3DES速度快。 技術參數: •電壓 3V-5V (± 10%); •環境溫度 -25 ℃- +85 ℃; •最大電流: <6 mA@30 MHz, <10 mA@60 MHz; •外頻支持范圍:2-8MHz,內部提供最高60MHz晶振,支持1-16分頻 •4KV 靜電保護 •通訊協議:TTL232串行接口,波特率可以自行定義 •封裝形式:DIP8 , SOP8 三、軟件保護原理 1、隨機數認證 在數據安全領域,DES(Data Encryption Standard)算法是一種被廣泛使用的公開的數據加密算法,它采用對稱密鑰機制,即加密密鑰和解密密鑰是相同的,數據的安全性取決于密鑰的安全性。ESAM主要是采用隨機數理論,用DES算法計算認證碼,通過比較認證碼的方法進行芯片內部密鑰與外部認證密鑰的對比,從而達到判斷與認證的目的。 ESAM通常內部預置相關的密鑰和關鍵數據,內部具有安全寄存器,數據文件通常具有保密權限,只有通過相應的密鑰認證才可以達到對應數據文件的安全權限,才能對數據文件進行讀寫,業內通常把這個過程叫做外部認證。 如某數據文件的讀寫權限為33(安全狀態寄存器為4位,安全指針為00-FF), 對應的外部認證密鑰為12345678,后續狀態可定義為33,安全狀態寄存器的初始狀態為最低00,當執行外部認證命令時,如外部認證通過,安全狀態寄存器就會達到33狀態,這時就可以對該數據文件進行讀寫了。 ESAM外部認證流程: 在上述認證過程中,ESAM和外部設備之間的信道只傳遞隨機數和認證碼,保證了數據的不可重復和難以跟蹤,使外界無法得到任何密鑰信息,通過信道偵聽密鑰的企圖是沒有任何意義的。 2、軟件的移植和SMAKEY內部執行 SMAKEY 提供內部軟件平臺供用戶開發ESAM內部執行的子程序,內部系統軟件特性: •片上操作系統(COS)進行通信、文件、存儲、安全管理 •用戶可自行建立私有文件 •支持用戶程序下載 •內置解釋器,解釋執行用戶程序 •支持255段子程序,每段子程序最大255行 •支持4個參數的輸入,并返回運算結果 開發工具特性: •提供專用開發指令集:支持加法、乘法、除法、與、異或、非、賦值、跳轉、串處理等操作 •提供專用開發工具:支持程序編輯、編譯、調試過程,還可生成可執行代碼 •提供專用發行工具:可供用戶批量快速生產 •通過軟件代碼在SMAKEY內部的運行,防止了非法用戶對軟件的直接拷貝和分析。 四、SMAKEY 的目標應用 1、產品版權保護 在硬件設計仿制比較容易的情況下,采用安裝特定的安全芯片ESAM的方法,可以防止軟件被拷貝后正常使用,使ESAM的運算和認證成為應用軟件流程一部分,從而達到防止盜版的目的。 2、生產數量控制 在研發商和生產商利益分離的情況下,為了防止產品在生產過程中被生產商無償的額外生產,使用ESAM可以控制生產商的生產數量,或用ESAM來收取版權費。 3、技術支持和售后服務的依據 可使用ESAM存儲產品的序列號或版本號等產品關鍵信息,可根據該信息對產品進行在線服務或應用軟件的在線升級,也可以作為提供相關技術服務的依據。 |