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