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