在電子技術飛速發(fā)展的今天,保護開發(fā)商的知識產(chǎn)權變得越來越重要了。目前現(xiàn)有的保護開發(fā)商知識產(chǎn)權的加密狗總是有各種各樣的缺點,比如:加密算法的處理能力有限、硬件防護能力差等。本文介紹另一種更高安全性的硬件加密狗實現(xiàn)方案,本方案是基于MAXIM開發(fā)的一款高安全處理器MAXQ1850實現(xiàn)的。MAXQ1850先進的安全功能完全符合ITSEC E3高級、FIPS 140-2 3級以及公共標準等最嚴格的安全認證要求。鑒于MAXQ1850的安全性能,用于作為硬件加密狗的處理器,大大地提高了開發(fā)商的關鍵數(shù)據(jù)及核心算法的安全。 1 系統(tǒng)的原理 1.1硬件加密狗的組成 硬件加密狗的內(nèi)部功能組成包括:(1)開發(fā)商唯一代碼;(2)開發(fā)商自定義信息;(3)開發(fā)商關鍵數(shù)據(jù);(4)開發(fā)商核心算法;(5)動態(tài)密鑰。如圖1.1所示。 1.2硬件加密狗的配置 硬件加密狗的配置主要是完成開發(fā)商關鍵數(shù)據(jù)的錄入、開發(fā)商自定義信息的錄入以及開發(fā)商唯一不可更改的代碼的錄入。所有這些信息的錄入,是由一個專用的硬件加密狗控制盒實現(xiàn)的,這個控制盒的CPU采用的是MAXQ1103,MAXQ1103跟MAXQ1850具有同等的安全特性,只是在加密算法上缺少AES算法,但總體上MAXQ1103的配置和功能更強大些。如圖1.2所示的硬件加密狗配置信息。 1.3系統(tǒng)的工作 1.3.1主機初始化 主機的初始化是指主機第一次與硬件加密狗進行系統(tǒng)認證,這一步的作用是硬件加密狗認證開發(fā)商的唯一代碼,如果是合法的代碼,則給主機錄入開發(fā)商信息,并產(chǎn)生一個系統(tǒng)所需的動態(tài)密鑰,動態(tài)密鑰的作用是對主機與硬件加密狗之間的通信數(shù)據(jù)進行加解密,防止非法人員從通信鏈路上獲取數(shù)據(jù)信息。系統(tǒng)初始化認證的流程如圖1.3所示。 1.3.2動態(tài)密鑰的更新 為了系統(tǒng)的安全,需要對動態(tài)密鑰進行更新,其更新的操作流程很簡單,只需要主機發(fā)送更新密鑰請求即可,如圖1.4所示。 1.3.3系統(tǒng)安全性檢查 系統(tǒng)在運行的過程中,為了防止非法人員去掉系統(tǒng)的硬件加密狗,主機需要定期對硬件加密狗進行安全性檢查。為了盡量少點影響主機的工作效率,主機可以在每隔2s或更長一點的時間對硬件加密狗進行一次檢查。 2 硬件的組成 MAXQ1850是一個40TQFN 6mm×6mm封裝的小體積處理器,所有的環(huán)境傳感器、防攻擊保護電路、加密算法硬件引擎等所有的安全功能都集成在一個IC里邊,外部只需接上一個用于后備的鋰電池及一個系統(tǒng)電源就可以使MAXQ1850正常運行起來。其中的后備鋰電池是為了保持MAXQ1850內(nèi)部SRAM里邊的關鍵數(shù)據(jù),以及MAXQ1850的一些電池后備寄存器,MAXQ1850一旦受到攻擊,內(nèi)部的電源管理模塊會快速切斷后備電池的供電,讓MAXQ1850進行自毀,清除掉所有的程序和數(shù)據(jù)。基于MAXQ1850實現(xiàn)的硬件加密狗的硬件組成如圖2.1所示。 3 軟件的組成 如圖3.1所示為硬件加密狗的軟件系統(tǒng)的組成,其中系統(tǒng)死鎖進程是一個特殊的組成部分,在整個系統(tǒng)運行的過程中,一旦出現(xiàn)任何的失敗操作,都會引起系統(tǒng)死鎖進程的運行,禁止繼續(xù)響應主機的命令。 系統(tǒng)上電啟動的時候,有一個身份認證的過程,分兩種情況。一是主機第一次使用,這時候,主機上只有開發(fā)商唯一代碼,所以通信加密所用的密鑰就是這個唯一代碼,硬件加密狗收到這個第一次使用的命令之后,會自動生成隨機密鑰,并和開發(fā)商自定義信息一起以唯一代碼為密鑰發(fā)送給主機。二是主機非第一次使用,這時主機與硬件加密狗之間的通信密鑰采用之前錄入的開發(fā)商自定義信息。硬件加密狗收到這個命令之后,會自動生成隨機密鑰并發(fā)送給主機,從而完成了系統(tǒng)上電的認證。在這個過程中的任何時候,一旦出現(xiàn)認證失敗,都會引起硬件加密狗系統(tǒng)的死鎖進程的運行。 動態(tài)密鑰的更新是為了提高通信鏈路上數(shù)據(jù)的安全而設立的,主機可以定期要求更新動態(tài)密鑰。 安全性檢查操作,是為了防止在運行的過程中去掉硬件加密狗,所以,在主機要對硬件加密狗有任何的訪問操作時,硬件加密狗必須存在,并且合法。 關鍵數(shù)據(jù)的獲取,可以給主機返回事先設好的安全性要求高的關鍵數(shù)據(jù),供主機軟件使用。 核心算法部分,是一個開發(fā)商植入的部分,它是開發(fā)商的一個核心的或者對主機軟件的正常運行起了足夠重要作用的的算法,同時這個算法也要有一定的復雜度,防止被非法人員猜測出來。當主機軟件需要這個算法的運行結果時,可以給硬件加密狗發(fā)送相關的請求命令,硬件加密狗會執(zhí)行這個算法的運算,并把結果回送給主機。 4 結束語 MAXQ1850體積小、加密算法的多樣性以及物理防護的高安全性,是用于保護開發(fā)商知識產(chǎn)權的首選。基于MAXQ1850實現(xiàn)的硬件加密狗,具有更高的安全級別。 |