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