專(zhuān)利名稱(chēng):基于mems密碼鎖和雙fpga的ide硬盤(pán)物理加密系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種信息安全技術(shù)領(lǐng)域的系統(tǒng),具體的說(shuō),涉及的是一種基 于MEMS (微機(jī)電系統(tǒng))密碼鎖和雙FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)的IDE硬盤(pán)物理 加密系統(tǒng)。
背景技術(shù):
信息安全對(duì)于企業(yè)、政府、國(guó)防等部門(mén)有著極其重要的意義。 一般現(xiàn)有的硬 盤(pán)加密方法都通過(guò)存儲(chǔ)介質(zhì)保存密鑰,使用比較器比對(duì)輸入密鑰正確與否,此方 法保密性差,易于破解。并且大多硬盤(pán)加密系統(tǒng)不具有認(rèn)證功能,能夠進(jìn)入系統(tǒng) 的非法用戶(hù)還是可以讀取硬盤(pán)信息,系統(tǒng)的安全保密作用大大降低。經(jīng)對(duì)現(xiàn)有技術(shù)的文獻(xiàn)檢索發(fā)現(xiàn),中國(guó)專(zhuān)利"一種計(jì)算機(jī)硬盤(pán)加密裝置",專(zhuān) 利號(hào)99113164. 9,授權(quán)公告日2003年2月5日,通過(guò)加密芯片而組成的加密電 路,加密芯片是由控制單元電路、加解密單元電路,RAM存儲(chǔ)器及控制開(kāi)關(guān)K組 成,對(duì)進(jìn)出硬盤(pán)的數(shù)據(jù)流選擇性的硬件加密,從而實(shí)現(xiàn)介質(zhì)加密。但此專(zhuān)利中使 用用戶(hù)輸入信息的方式作為硬盤(pán)加密的密鑰,并通過(guò)密鑰比對(duì)器判定密鑰是否正 確。這種通過(guò)存儲(chǔ)器保存密鑰的方法易于被非法用戶(hù)破解,保密性差。檢索中還 發(fā)現(xiàn),中國(guó)專(zhuān)利"基于MEMS密碼鎖的硬盤(pán)加密系統(tǒng)",公開(kāi)號(hào)CN1838289,公 開(kāi)日期2006年9月27日,采用MEMS密碼鎖加密卡驅(qū)動(dòng)及認(rèn)證模塊與PCI密碼 鎖加密專(zhuān)用板,利用MEMS密碼鎖運(yùn)行所反饋的信號(hào)產(chǎn)生用于硬盤(pán)加解密的密鑰, 達(dá)到通過(guò)物理方法加密硬盤(pán)的目的,安全性高。但是該專(zhuān)利雖然也是使用的IDE 硬盤(pán),但它必須在開(kāi)啟加解密模塊連通硬盤(pán)和計(jì)算機(jī)后需要重啟計(jì)算機(jī)才能識(shí)別 硬盤(pán)。發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的不足,提供一種基于MEMS密碼鎖 和雙FPGA專(zhuān)用板的IDE硬盤(pán)物理加密系統(tǒng),使其達(dá)到通過(guò)物理方法產(chǎn)生密鑰加 密/解密硬盤(pán)的目的。本發(fā)明聯(lián)接和掃描硬件模塊,并對(duì)PCI密碼鎖硬盤(pán)加密卡進(jìn)行改進(jìn),將MEMS控制模塊、加密/解密模塊分別固化在兩塊FPGA專(zhuān)用板上, 并使它們相互協(xié)作,結(jié)合MEMS密碼鎖與硬盤(pán)加密系統(tǒng),MEMS密碼鎖中機(jī)械固化 了32位密碼,以此作為FPGA硬盤(pán)數(shù)據(jù)加密/解密模塊的密鑰,當(dāng)物理認(rèn)證通過(guò) 之后,該密鑰通過(guò)第一個(gè)FPGA傳輸給另一個(gè)FPGA中的加密/解密模塊,所加密 的IDE硬盤(pán)中的數(shù)據(jù)就能夠被正確讀寫(xiě)。本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明包括MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證 模塊、聯(lián)接和掃描硬件模塊、用于物理認(rèn)證的FPGA專(zhuān)用板、用于數(shù)據(jù)加/解密的 FPGA專(zhuān)用板和MEMS密碼鎖。所述用于物理認(rèn)證的FPGA專(zhuān)用板包括第一 FPGA、 PCI控制器、EEPROM PCI 配置芯片、可擦除的第一ROM、 MEMS密碼鎖驅(qū)動(dòng)電路、MEMS控制模塊、密鑰處 理模塊。所述用于數(shù)據(jù)加密/解密的FPGA專(zhuān)用板包括第二FPGA、可擦除第二R0M、 兩個(gè)IDE擴(kuò)展接口、加密/解密模塊。上述部件中,MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊、聯(lián)接和掃描硬件模塊安裝在主 機(jī)的操作系統(tǒng)硬盤(pán)內(nèi),分別通過(guò)PCI總線和SATA總線和兩塊FPGA專(zhuān)用板聯(lián)接。 第一 FPGA專(zhuān)用板一端與主機(jī)的PCI總線相連,另一端與MEMS密碼鎖聯(lián)接,受主 機(jī)的控制,第二FPGA專(zhuān)用板一端接主機(jī)主板上的IDE接口,另一端接IDE硬盤(pán), 并且第二FPGA與第一FPGA聯(lián)接,受第一FPGA的控制。其中所述MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊以PCI協(xié)議通訊方式與第一 FPGA和密碼鎖驅(qū)動(dòng)電路進(jìn)行通訊;所述EEPR0M PCI配置芯片內(nèi)部有存儲(chǔ)器,存有PCI驅(qū)動(dòng)程序,使PCI控制器能夠正常工作;所述PCI控制器把PCI總線上的指令轉(zhuǎn)化為PCI局部總線端指令,由局部總 線指令控制PCI內(nèi)部的1/0擴(kuò)展芯片;所述I/O擴(kuò)展芯片根據(jù)局部總線指令輸出控制字到MEMS密碼鎖驅(qū)動(dòng)電路驅(qū) 動(dòng)MEMS密碼鎖解碼,解碼的同時(shí)MEMS密碼鎖產(chǎn)生密鑰信號(hào);所述密鑰處理模塊讀取MEMS密碼鎖發(fā)來(lái)的密鑰信號(hào),判斷正確碼或是錯(cuò)誤 碼的來(lái)臨,若取得32位正確碼,發(fā)送密鑰到第一FPGA;所述第一FPGA接收密鑰,給第二FPGA—個(gè)有效的使能信號(hào),使第二FPGA正常工作,同時(shí)第一 FPGA把32位正確密鑰傳給第二 FPGA相連的加密/解密模塊, 第一FPGA在傳給第二FPGA密鑰的同時(shí),通過(guò)PCI控制器給主機(jī)一個(gè)返回值,使 主機(jī)啟動(dòng)聯(lián)接和掃描硬件模塊,所加密的IDE硬盤(pán)被系統(tǒng)識(shí)別;若判斷錯(cuò)誤碼來(lái) 臨,由密鑰處理模塊發(fā)送復(fù)位相位到PCI局部總線執(zhí)行MEMS密碼鎖復(fù)位動(dòng)作同 時(shí)把一個(gè)表示錯(cuò)誤的信號(hào)指令傳給主機(jī);所述第一 ROM與第一 FPGA相連,其內(nèi)部固化有MEMS控制模塊,系統(tǒng)上電后, 該模塊使第一 FPGA正常工作,來(lái)控制MEMS密碼鎖的按照要求運(yùn)行;所述第二 ROM與第二 FPGA相連,其內(nèi)部固化有加密/解密模塊,系統(tǒng)上電后, 該模塊自動(dòng)運(yùn)行,使第二FPGA正常工作,并能夠?qū)?jīng)過(guò)第二 FPGA的數(shù)據(jù)根據(jù) AES算法加密/解密;所述兩個(gè)IDE接口是普通的符合ATA協(xié)議的IDE接口 ,第一個(gè)是與主機(jī)主板 直接連接,另一個(gè)是連接IDE硬盤(pán)。所述的用于物理認(rèn)證的FPGA專(zhuān)用板和用于加密/解密的FPGA專(zhuān)用板都是以 FPGA芯片為核心,用于物理認(rèn)證的FPGA專(zhuān)用板用于物理加密,用于加密/解密 的FPGA專(zhuān)用板用于數(shù)據(jù)的加密/解密,兩塊專(zhuān)用板既通過(guò)主機(jī)相連,受主機(jī)控制, 兩塊專(zhuān)用板又通過(guò)第一 FPGA和第二 FPGA相連,第一 FPGA來(lái)控制第二 FPGA。所述的第一 FPGA —端與PCI控制器相連, 一端與MEMS密碼鎖相接,它在 PIO方式下進(jìn)行數(shù)據(jù)傳輸。所述的第二 FPGA兩端與專(zhuān)用板上的擴(kuò)展IDE接口相連,數(shù)據(jù)在第二 FPGA 是以并行的IDE協(xié)議下傳輸?shù)?,第?FPGA在DMA模式下工作。所述的第一 FPGA當(dāng)接收到32位正確密鑰后,通過(guò)給第二 FPGA —個(gè)有效的 使能信號(hào)來(lái)控制第二 FPGA,使其正常工作。所述的加密/解密模塊采用經(jīng)典的AES-128加密算法進(jìn)行加密/解密以MEMS 密碼鎖產(chǎn)生的密鑰對(duì)主機(jī)與硬盤(pán)間數(shù)據(jù)針對(duì)性地進(jìn)行加密/解密處理。該模塊存 儲(chǔ)在第二ROM中,同時(shí),與第二 ROM相連的第二 FPGA接在兩個(gè)IDE擴(kuò)展接口之 間,實(shí)現(xiàn)數(shù)據(jù)在第二 FPGA是在并行的IDE協(xié)議下傳輸。所述的IDE加密硬盤(pán)在物理認(rèn)證之前不可見(jiàn),當(dāng)物理認(rèn)證通過(guò)后,第一FPGA 接收到一個(gè)32位密鑰之后,第一 FPGA給第二 FPGA —個(gè)有效的使能信號(hào)的同時(shí), 第一 FPGA通過(guò)PCI控制器反饋給主機(jī)一個(gè)返回值,主機(jī)啟動(dòng)聯(lián)接和掃描硬件模塊后,系統(tǒng)才能識(shí)別被加密的硬盤(pán)。所述的密鑰處理模塊是一塊微控制器,其一端與密碼鎖密鑰輸出線相連用于 接收密鑰信號(hào); 一端與第一 FPGA相連,在32位密鑰全部接收到后,傳給第一 FPGA,由第一 FPGA向第一 FPGA中加密/解密模塊發(fā)送;另一端連接PCI局部總 線用于在MEMS密碼鎖鎖死,即密碼驗(yàn)證失敗時(shí),輸出MEMS密碼鎖復(fù)位相位。所述的MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊存儲(chǔ)在主機(jī)的操作系統(tǒng)硬盤(pán)中,用于在 操作系統(tǒng)環(huán)境下驅(qū)動(dòng)用于物理認(rèn)證的FPGA專(zhuān)用板。并提供認(rèn)證功能,若認(rèn)證通 過(guò),可以讀取此硬盤(pán)信息;若認(rèn)證錯(cuò)誤失敗,復(fù)位MEMS密碼鎖復(fù)位到初始位置, 繼續(xù)下一次認(rèn)證。所述的聯(lián)接和掃描硬件模塊,是在非加密狀態(tài)下安裝在主機(jī)的操作系統(tǒng)硬盤(pán) 上的,該模塊是利用枚舉的形式逐個(gè)檢測(cè)資源管理器內(nèi)存區(qū),若有硬件改動(dòng),就 使主機(jī)正確識(shí)別出這些改動(dòng)。所述的PCI控制器主要由PCI控制芯片構(gòu)成,是連接PCI總線與PCI局部總 線的橋梁, 一端與主機(jī)PCI總線連接,另一端連接第一FPGA。所述的EEPR0M PCI配置芯片與PCI控制器直接相連,用于配置PCI接口控 制器,使其正常工作。所述的MEMS控制模塊被固化在第一 FPGA相連的第一 ROM中,用來(lái)接收主機(jī) 通過(guò)PCI總線傳輸過(guò)來(lái)的密碼,然后將密碼轉(zhuǎn)換為可以控制密碼鎖運(yùn)行的控制信 號(hào),然后由第一FPGA輸出給密碼鎖驅(qū)動(dòng)電路。所述的MEMS密碼鎖驅(qū)動(dòng)電路是由4塊L6234電機(jī)驅(qū)動(dòng)芯片組成。每塊L6234 驅(qū)動(dòng)一個(gè)微電機(jī)。所述的可擦除第一 ROM和可擦除第二 ROM是一般的可擦除只讀存儲(chǔ)器,其中 第一 ROM與第一 FPGA聯(lián)接,用于固化MEMS控制模塊,第二 ROM與第二 FPGA聯(lián) 接,用于固化加密/解密模塊,它們?cè)谙到y(tǒng)上電后,自動(dòng)配置FPGA,使兩個(gè)FPGA 芯片正常工作。所述的IDE擴(kuò)展接口,是聯(lián)接主機(jī)IDE接口和所加密的IDE硬盤(pán),實(shí)現(xiàn)數(shù)據(jù) 遵循IDE傳輸協(xié)議并行傳輸。所述的MEMS密碼鎖是一種物理加密裝置,它以反干涉齒輪集固化32位二元 密碼。兩個(gè)鑒碼電機(jī)的軸上都裝有耦合機(jī)構(gòu)。其耦合盤(pán)上設(shè)計(jì)了與硬盤(pán)加密系統(tǒng)密鑰對(duì)應(yīng)的缺口。在其解碼過(guò)程中,耦合機(jī)構(gòu)產(chǎn)生一串信號(hào),以這種物理的方式 產(chǎn)生的信號(hào)作為硬盤(pán)加密系統(tǒng)的密鑰。本發(fā)明使用MEMS密碼鎖特有的機(jī)械結(jié)構(gòu)產(chǎn)生硬盤(pán)加密的密鑰,用此密鑰參 與硬盤(pán)加密系統(tǒng)。計(jì)算機(jī)中裝有兩塊硬盤(pán), 一塊是主硬盤(pán),其中裝有操作系統(tǒng), 數(shù)據(jù)不做加密處理,可以直接讀取。另一塊是要加密的IDE硬盤(pán),它通過(guò)用于數(shù) 據(jù)加密/解密的FPGA專(zhuān)用板與主板IDE接口相連。此硬盤(pán)需通過(guò)MEMS密碼鎖認(rèn) 證,若認(rèn)證通過(guò),產(chǎn)生一串合法密鑰,此密鑰通過(guò)用于物理認(rèn)證的FPGA專(zhuān)用板 中的第一 FPGA傳給第二 FPGA,并且第一 FPGA給第二 FPGA —個(gè)有效的使能信號(hào), 使第二FPGA正常工作,同時(shí)第一FPGA通過(guò)PCI控制器給主機(jī)一個(gè)返回值,主機(jī) 來(lái)對(duì)第一 FPGA反饋的返回值進(jìn)行判斷,若返回值表示密碼正確,主機(jī)開(kāi)啟聯(lián)接 和掃描硬件模塊,這樣被加密的IDE硬盤(pán)就被系統(tǒng)識(shí)別,可以完成對(duì)數(shù)據(jù)的加密 /解密工作。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是把MEMS密碼鎖與硬盤(pán)加密系統(tǒng)結(jié) 合在一起極大加強(qiáng)了安全強(qiáng)度。其中MEMS密碼鎖采用特殊的物理密碼,破解的 概率只有二千萬(wàn)分之一;硬盤(pán)加密使用了介質(zhì)加密的方法,即使把硬盤(pán)偷走,在 其他機(jī)器上也只能被系統(tǒng)認(rèn)為是一塊未格式化的硬盤(pán),無(wú)法讀出其中的正確信 息。同時(shí),本發(fā)明采用兩塊FPGA芯片為基礎(chǔ)的專(zhuān)用板, 一塊負(fù)責(zé)物理認(rèn)證,一 塊負(fù)責(zé)數(shù)據(jù)的加解密,并且用一個(gè)FPGA去控制另一塊,兩片芯片之間有效的通 信協(xié)作,提高了數(shù)據(jù)傳輸速率。
圖1為本發(fā)明結(jié)構(gòu)框圖具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)說(shuō)明本實(shí)施例在以本發(fā)明技術(shù)方案 為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù) 范圍不限于下述的實(shí)施例。如圖1所示,本實(shí)施例包括MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊、聯(lián)接和掃描硬 件模塊、用于物理認(rèn)證的FPGA專(zhuān)用板、用于數(shù)據(jù)加密/解密的FPGA專(zhuān)用板和MEMS 密碼鎖。所述用于物理認(rèn)證的FPGA專(zhuān)用板包括第一 FPGA、 PCI控制器、EEPROMPCI配置芯片、可擦除的第一 R0M、 MEMS密碼鎖驅(qū)動(dòng)電路、MEMS控制模塊、密鑰處 理模塊。所述用于數(shù)據(jù)加密/解密的FPGA專(zhuān)用板包括第二FPGA 、可擦除第二R0M、 兩個(gè)IDE擴(kuò)展接口、加密/解密模塊。所述的MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊、聯(lián)接和掃描硬件模塊安裝在主機(jī)的操 作系統(tǒng)硬盤(pán)內(nèi),分別通過(guò)PCI總線和SATA總線和兩塊FPGA專(zhuān)用板聯(lián)接。用于物 理認(rèn)證的FPGA專(zhuān)用板一端與主機(jī)的PCI總線相連,另一端與MEMS密碼鎖聯(lián)接, 受主機(jī)的控制;用于加密/解密的FPGA專(zhuān)用板一端接主機(jī)主板上的IDE接口,另 一端接IDE硬盤(pán),并且第二FPGA和第一FPGA聯(lián)接,受第一FPGA的控制。MEMS密碼鎖加密卡驅(qū)動(dòng)及認(rèn)證模塊以PCI協(xié)議通訊方式通過(guò)PCI控制器與 第一 FPGA通訊,EEPR0M PCI配置芯片需正確配置PCI接口控制器,EEPR0M PCI 配置芯片將認(rèn)證模塊發(fā)出的控制信號(hào)傳輸給第一 FPGA中的MEMS控制模塊,然后 MEMS控制模塊輸出控制字到MEMS密碼鎖驅(qū)動(dòng)電路驅(qū)動(dòng)MEMS密碼鎖解碼,解碼 的同時(shí)MEMS密碼鎖產(chǎn)生密鑰信號(hào),第一 FPGA中的密鑰處理模塊讀取MEMS密碼 鎖發(fā)來(lái)的密鑰信號(hào),判斷正確碼或者是錯(cuò)誤碼,若取得32位正確碼,發(fā)送密鑰 到第一FPGA,第一FPGA給第二FPGA—個(gè)有效的使能信號(hào),使第二 FPGA正常工 作,接著把密鑰傳給第二FPGA中的加密/解密模塊,同時(shí)第一FPGA經(jīng)PCI控制 器反饋給主機(jī)一個(gè)返回值,主機(jī)啟動(dòng)聯(lián)接和掃描硬件模塊,被加密的IDE接口硬 盤(pán)被系統(tǒng)識(shí)別,硬盤(pán)信息經(jīng)過(guò)加密/解密模塊能正確讀寫(xiě);若判斷錯(cuò)誤碼來(lái)臨, 由密鑰處理模塊發(fā)送復(fù)位相位到第一 FPGA,執(zhí)行MEMS密碼鎖復(fù)位動(dòng)作。所述的MEMS密碼鎖驅(qū)動(dòng)電路是由第一 FPGA控制,根據(jù)來(lái)自PCI控制器傳過(guò) 來(lái)的PCI指令,來(lái)控制后面相連的MEMS強(qiáng)鏈,MEMS密碼鎖驅(qū)動(dòng)電路由4塊L6234 電機(jī)驅(qū)動(dòng)芯片組成,每塊L6234驅(qū)動(dòng)一個(gè)微電機(jī)。其中兩個(gè)是鑒碼電機(jī),進(jìn)行鑒 碼;另外兩個(gè)是復(fù)位電機(jī),用于密碼錯(cuò)誤后電機(jī)的復(fù)位。所述的PCI控制器主要由PCI控制芯片構(gòu)成,是連接PCI總線與PCI局部總 線的橋梁, 一端與主機(jī)PCI總線連接,另一端連接第一 FPGA。它是主機(jī)與第一 FPGA數(shù)據(jù)和信號(hào)傳輸?shù)耐ǖ?,上電之后,有EEPROMPCI配置芯片對(duì)其進(jìn)行配置, 使它能夠正常工作。所述的第一 FPGA和第二 FPGA是兩塊專(zhuān)用板的核心。第一 FPGA聯(lián)接PCI控制器和MEMS驅(qū)動(dòng)電路,它負(fù)責(zé)物理認(rèn)證。由于物理認(rèn)證中數(shù)據(jù)的傳輸量不大, 它是以PIO的方式工作的;第二 FPGA兩端聯(lián)接用于加密/解密FPGA專(zhuān)用板上的 兩個(gè)IDE擴(kuò)展接口 ,同時(shí)存儲(chǔ)加密/解密模塊的可擦除第二 ROM和第一 FPGA也與 其相聯(lián),第二ROM負(fù)責(zé)控制對(duì)讀寫(xiě)數(shù)據(jù)的加密/解密。第一 FPGA負(fù)責(zé)當(dāng)認(rèn)證通過(guò) 后給第二FPGA—個(gè)有效的使能信號(hào),使其正常工作,并把所獲得的32位密鑰傳 給第二 FPGA中的加密/解密模塊。由于此時(shí)的數(shù)據(jù)傳輸量較大,該芯片在DMA 模式下工作。所述的EEPROMPCI配置芯片與第一 FPGA直接相連,用于配置PCI接口控制 器,使其正常工作。所述的密鑰處理模塊是一塊微控制器,接收密碼鎖密鑰輸出線發(fā)送的密鑰信 號(hào)。其一端與密碼鎖密鑰輸出線相連用于接收密鑰信號(hào); 一端與第一FPGA相連, 當(dāng)32位密鑰全部接收到密鑰處理模塊后,它把該32位密鑰傳給第一 FPGA,第 一 FPGA給第二 FPGA—個(gè)有效的使能信號(hào),使第二FPGA正常工作,然后由第一 FPGA把密鑰傳給第二塊專(zhuān)用板中的加密/解密模塊。同時(shí),第一 FPGA通過(guò)PCI 控制器給主機(jī)反饋一個(gè)返回值,若返回值表示認(rèn)證通過(guò),就啟動(dòng)聯(lián)接和掃描硬件 模塊,用于加密的IDE硬盤(pán)被系統(tǒng)識(shí)別,選擇性的進(jìn)行加密/解密工作。所述的可擦除第一 ROM和可擦除第二 ROM是一般的可擦除只讀存儲(chǔ)器,其中 第一 ROM與第一 FPGA聯(lián)接,用于固化MEMS控制模塊,第二 ROM與第二 FPGA聯(lián) 接,用于固化加密/解密模塊,它們?cè)谙到y(tǒng)上電后,自動(dòng)配置FPGA,使兩個(gè)FPGA 芯片正常工作。所述的數(shù)據(jù)加密/解密模塊固化在第二 ROM中,第二 FPGA得到使能信號(hào)后, 默認(rèn)的執(zhí)行保存在第二ROM中的模塊,它采用經(jīng)典的AES-128加密算法,對(duì)主機(jī) 在讀寫(xiě)加密/解密IDE硬盤(pán)的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)流,進(jìn)行加密/解密處理。在對(duì)加密 硬盤(pán)執(zhí)行寫(xiě)操作時(shí),主機(jī)通過(guò)第二 FPGA把數(shù)據(jù)傳給加密模塊,未經(jīng)過(guò)加密的明 文數(shù)據(jù)通過(guò)AES-128加密算法對(duì)其加密后,存儲(chǔ)在加密硬盤(pán)上的是密文數(shù)據(jù)。而 在對(duì)加密硬盤(pán)執(zhí)行讀操作時(shí),存儲(chǔ)在加密硬盤(pán)上的密文數(shù)據(jù),首先通過(guò)AES-128 算法對(duì)其解密,再通過(guò)第二 FPGA傳送給主機(jī),此時(shí)得到的數(shù)據(jù)是經(jīng)過(guò)解密后的 明文數(shù)據(jù)。主機(jī)端的數(shù)據(jù)流始終都是明文數(shù)據(jù),因此數(shù)據(jù)加密/解密模塊對(duì)于主 機(jī)而言是透明的。所述的MEMS密碼鎖是一種物理加密裝置,它以反干涉齒輪集固化32位二元 密碼,兩個(gè)鑒碼電機(jī)的軸上都裝有耦合機(jī)構(gòu),其耦合盤(pán)上設(shè)計(jì)了與硬盤(pán)加密系統(tǒng) 密鑰對(duì)應(yīng)的缺口,在其解碼過(guò)程中,耦合機(jī)構(gòu)產(chǎn)生一串信號(hào),以這種物理的方式 產(chǎn)生的信號(hào)作為硬盤(pán)加密系統(tǒng)的密鑰。所述的MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊存儲(chǔ)在主機(jī)的操作系統(tǒng)硬盤(pán)中,用于在 操作系統(tǒng)環(huán)境下驅(qū)動(dòng)用于物理認(rèn)證的FPGA專(zhuān)用板。它是使用VC開(kāi)發(fā)的MFC程序, 調(diào)試成功后在非加密環(huán)境下安裝在主機(jī)上非加密的操作系統(tǒng)硬盤(pán)上,當(dāng)系統(tǒng)開(kāi)啟 后,桌面會(huì)主動(dòng)跳出一個(gè)要求輸入密碼的對(duì)話框,等密碼輸入確認(rèn)后,主機(jī)將密 碼通過(guò)PCI控制器傳給第一 FPGA,在第一FPGA控制下提供認(rèn)證功能,若認(rèn)證通 過(guò),可以讀取此硬盤(pán)信息;若認(rèn)證錯(cuò)誤失敗,復(fù)位MEMS密碼鎖復(fù)位到初始位置, 繼續(xù)下一次認(rèn)證。所述的聯(lián)接和掃描硬件模塊存儲(chǔ)在主機(jī)的操作系統(tǒng)硬盤(pán)中,它是利用VC編 寫(xiě)的MFC程序,模塊啟動(dòng)后通過(guò)枚舉的方式快速檢索資源管理器內(nèi)存區(qū)有沒(méi)有硬 件改動(dòng),若發(fā)現(xiàn)有新安裝的硬件,就啟動(dòng)它開(kāi)始工作,其實(shí)該模塊的功能是用軟 件的方式實(shí)現(xiàn)了手動(dòng)點(diǎn)擊資源管理器中的"掃描檢測(cè)硬件改動(dòng)"。用于當(dāng)物理認(rèn) 證通過(guò)后給主機(jī)相連的IDE擴(kuò)展接口有效的使能信號(hào),使之正常工作,同時(shí)掃描 主機(jī)新安裝的硬件,使當(dāng)系統(tǒng)通過(guò)物理認(rèn)證后及時(shí)的刷新資源管理器,使系統(tǒng)識(shí) 別所加密的硬盤(pán),增加系統(tǒng)的穩(wěn)定性。本發(fā)明工作時(shí),編寫(xiě)MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊以及聯(lián)接和掃描硬件模塊, 在非加密硬盤(pán)操作系統(tǒng)環(huán)境下加載到主機(jī)中,同時(shí)編寫(xiě)MEMS控制模塊和加密/ 解密模塊分別固化到兩個(gè)專(zhuān)用板的第一 ROM和第二 ROM中,在進(jìn)行MEMS密碼鎖 認(rèn)證前,第二FPGA使能端位置低,不能正常工作,所以加密硬盤(pán)不可見(jiàn),只有 認(rèn)證程序通過(guò)認(rèn)證后,第一FPGA給第二FPGA的使能端一個(gè)有效的信號(hào),使第二 FPGA正常工作,主機(jī)接到正確的返回值時(shí),啟動(dòng)聯(lián)接和掃描硬件模塊,才能在 資源管理器中看到加密硬盤(pán)盤(pán)符,并讀取其中數(shù)據(jù)。認(rèn)證程序首先彈出窗口要求 輸入密碼,輸入密碼確認(rèn)后,MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊以PCI協(xié)議通訊方式 與用于物理認(rèn)證的FPGA專(zhuān)用板通訊,EEPROMPCI配置芯片配置PCI芯片,使得 PCI總線指令可以通過(guò)PCI芯片傳送到MEMS控制模塊,用以通過(guò)MEMS密碼鎖驅(qū) 動(dòng)電路驅(qū)動(dòng)MEMS密碼鎖執(zhí)行鑒碼動(dòng)作。在鑒碼的同時(shí),由MEMS密碼鎖機(jī)械結(jié)構(gòu)產(chǎn)生密鑰信號(hào)傳輸至FPGA密鑰處理模塊。FPGA密鑰處理模塊在接收到一個(gè)密鑰 信號(hào)時(shí),把此密鑰保存,并且計(jì)數(shù)器從零開(kāi)始計(jì)數(shù),到下一個(gè)密鑰信號(hào)來(lái)臨后清 零,并與前幾個(gè)密鑰一起保存起來(lái),重新開(kāi)始計(jì)數(shù),這些保存的密鑰與MEMS密 碼鎖的走碼位一致,當(dāng)計(jì)數(shù)器超時(shí)得時(shí)候說(shuō)明遇到錯(cuò)位碼,此時(shí)可以根據(jù)所記錄 的密鑰,使MEMS密碼鎖復(fù)位到初始位置。在密鑰處理模塊接收到32位密碼后, 說(shuō)明得到的密鑰是正確的。密鑰處理模塊把密鑰傳給第一 FPGA內(nèi),第一 FPGA 使第二FPGA—個(gè)有效的使能信號(hào),使第二FPGA正常工作,同時(shí)第一FPGA把32 位正確密鑰傳給第二 FPGA相連的加密/解密模塊,第一 FPGA在傳第二 FPGA密鑰 的同時(shí),通過(guò)PCI控制器給主機(jī)一個(gè)返回值,使主機(jī)啟動(dòng)聯(lián)接和掃描硬件模塊, 所加密的IDE硬盤(pán)被系統(tǒng)識(shí)別,第二 FPGA相連的第二 ROM中數(shù)據(jù)加密/解密模 塊根據(jù)此密鑰解密硬盤(pán)信息,由此可以正確讀取資料,并正確寫(xiě)入數(shù)據(jù);如果 計(jì)數(shù)器計(jì)數(shù)超出設(shè)定的最大值還沒(méi)接收到下一個(gè)密鑰信號(hào)來(lái)臨,說(shuō)明MEMS密碼 鎖遇到錯(cuò)位鎖死。這時(shí)MEMS密碼鎖需要復(fù)位,密鑰處理模塊根據(jù)所記錄的密碼 位,輸出復(fù)位信號(hào)到MEMS控制模塊,MEMS密碼鎖反向走碼復(fù)位到初始相位,并 將結(jié)果通過(guò)PCI控制器反饋給認(rèn)證模塊。認(rèn)證失敗,需要再次輸入密碼,重新進(jìn) 行認(rèn)證。在加密硬盤(pán)首次使用時(shí),認(rèn)證通過(guò)后還需在操作系統(tǒng)環(huán)境下分區(qū)并格式 化硬盤(pán),使其分區(qū)表也作加密處理,然后才能讀寫(xiě)信息。
權(quán)利要求
1. 一種基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理加密系統(tǒng),包括MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊、聯(lián)接和掃描硬件模塊、用于物理認(rèn)證的FPGA專(zhuān)用板、用于數(shù)據(jù)加密/解密的FPGA專(zhuān)用板和MEMS密碼鎖,其特征在于所述用于物理認(rèn)證的FPGA專(zhuān)用板包括第一FPGA、PCI控制器、EEPROM PCI配置芯片、可擦除的第一ROM、MEMS密碼鎖驅(qū)動(dòng)電路、MEMS控制模塊、密鑰處理模塊;所述用于數(shù)據(jù)加密/解密的FPGA專(zhuān)用板包括第二FPGA、可擦除第二ROM、兩個(gè)IDE擴(kuò)展接口、加密/解密模塊;上述MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊、聯(lián)接和掃描硬件模塊安裝在主機(jī)的操作系統(tǒng)硬盤(pán)內(nèi),分別通過(guò)PCI總線和SATA總線和兩塊FPGA專(zhuān)用板聯(lián)接,第一FPGA專(zhuān)用板一端與主機(jī)的PCI總線相連,另一端與MEMS密碼鎖聯(lián)接,受主機(jī)的控制,第二FPGA專(zhuān)用板一端接主機(jī)主板上的IDE接口,另一端接IDE硬盤(pán),并且第二FPGA與第一FPGA聯(lián)接,受第一FPGA的控制,其中;所述MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊以PCI協(xié)議通訊方式與第一FPGA和密碼鎖驅(qū)動(dòng)電路進(jìn)行通訊;所述EEPROM PCI配置芯片內(nèi)部有存儲(chǔ)器,存有PCI驅(qū)動(dòng)程序,使PCI控制器能夠正常工作;所述PCI控制器把PCI總線上的指令轉(zhuǎn)化為PCI局部總線端指令,由局部總線指令控制PCI內(nèi)部的I/O擴(kuò)展芯片;所述I/O擴(kuò)展芯片根據(jù)局部總線指令輸出控制字到MEMS密碼鎖驅(qū)動(dòng)電路驅(qū)動(dòng)MEMS密碼鎖解碼,解碼的同時(shí)MEMS密碼鎖產(chǎn)生密鑰信號(hào);所述密鑰處理模塊讀取MEMS密碼鎖發(fā)來(lái)的密鑰信號(hào),判斷正確碼或是錯(cuò)誤碼的來(lái)臨,若取得32位正確碼,發(fā)送密鑰到第一FPGA;所述第一FPGA接收密鑰,給第二FPGA一個(gè)有效的使能信號(hào),使第二FPGA正常工作,同時(shí)第一FPGA把32位正確密鑰傳給第二FPGA相連的加密/解密模塊,第一FPGA在傳給第二FPGA密鑰的同時(shí),通過(guò)PCI控制器給主機(jī)一個(gè)返回值,使主機(jī)啟動(dòng)聯(lián)接和掃描硬件模塊,所加密的IDE硬盤(pán)被系統(tǒng)識(shí)別;若判斷錯(cuò)誤碼來(lái)臨,由密鑰處理模塊發(fā)送復(fù)位相位到PCI局部總線執(zhí)行MEMS密碼鎖復(fù)位動(dòng)作同時(shí)把一個(gè)表示錯(cuò)誤的信號(hào)指令傳給主機(jī);所述第一ROM與第一FPGA相連,其內(nèi)部固化有MEMS控制模塊,系統(tǒng)上電后,該模塊使第一FPGA正常工作,來(lái)控制MEMS密碼鎖的按照要求運(yùn)行;所述第二ROM與第二FPGA相連,其內(nèi)部固化有加密/解密模塊,系統(tǒng)上電后,該模塊自動(dòng)運(yùn)行,使第二FPGA正常工作,并能夠?qū)?jīng)過(guò)第二FPGA的數(shù)據(jù)根據(jù)AES算法加密/解密;所述兩個(gè)IDE接口是普通的符合ATA協(xié)議的IDE接口,第一個(gè)是與主機(jī)主板直接連接,另一個(gè)是連接IDE硬盤(pán)。
2、 根據(jù)權(quán)利要求1所述的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理加密 系統(tǒng),其特征是,所述的用于物理認(rèn)證的FPGA專(zhuān)用板和用于加密/解密的FPGA 專(zhuān)用板都是以FPGA芯片為核心,用于物理認(rèn)證的FPGA專(zhuān)用板用于物理加密,用 于加密/解密的FPGA專(zhuān)用板用于數(shù)據(jù)的加密/解密,兩塊專(zhuān)用板既通過(guò)主機(jī)相連, 受主機(jī)控制,兩塊專(zhuān)用板又通過(guò)第一 FPGA和第二 FPGA相連,第一FPGA來(lái)控制 第二 FPGA。
3、 根據(jù)權(quán)利要求1或2所述的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理 加密系統(tǒng),其特征是,所述的第一 FPGA —端與PCI控制器相連, 一端與MEMS 密碼鎖相接,它在PIO方式下進(jìn)行數(shù)據(jù)傳輸。
4、 根據(jù)權(quán)利要求1或2所述的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理 加密系統(tǒng),其特征是,所述的第二 FPGA兩端與專(zhuān)用板上的擴(kuò)展IDE接口相連, 數(shù)據(jù)在第二 FPGA內(nèi)部是以并行的ATA協(xié)議下傳輸?shù)模业诙?FPGA在D區(qū)模式下 工作。
5、 根據(jù)權(quán)利要求1或2所述的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理 加密系統(tǒng),其特征是,所述的第一FPGA當(dāng)接收到32位正確密鑰后,通過(guò)給第二 FPGA —個(gè)有效的使能信號(hào)來(lái)控制第二 FPGA,使其正常工作。
6、 根據(jù)權(quán)利要求1所述的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理加密 系統(tǒng),其特征是,所述的加密/解密模塊采用經(jīng)典的AES-128加密算法進(jìn)行加密/ 解密,該模塊存儲(chǔ)在第二ROM中,同時(shí),與第二 ROM相連的第二 FPGA接在兩個(gè) IDE擴(kuò)展接口之間,實(shí)現(xiàn)數(shù)據(jù)在第二 FPGA是在并行的ATA協(xié)議下傳輸。
7、 根據(jù)權(quán)利要求1所述的基于mems密碼鎖和雙fpga的ide硬盤(pán)物理加密 系統(tǒng),其特征是,所述的ide加密硬盤(pán)在物理認(rèn)證之前不可見(jiàn),當(dāng)物理認(rèn)證通過(guò) 后,第一 fpga接收到一個(gè)32位密鑰之后,第一 fpga給第二 fpga —個(gè)有效的使 能信號(hào)的同時(shí),第一 fpga通過(guò)pci控制器反饋給主機(jī)一個(gè)返回值,主機(jī)啟動(dòng)聯(lián) 接和掃描硬件模塊后,系統(tǒng)才能識(shí)別被加密的硬盤(pán)。
8、 根據(jù)權(quán)利要求1或7所述的基于mems密碼鎖和雙fpga的ide硬盤(pán)物理 加密系統(tǒng),其特征是,所述的聯(lián)接和掃描硬件模塊,是在非加密狀態(tài)下安裝在主 機(jī)的操作系統(tǒng)硬盤(pán)上的,該模塊是利用枚舉的形式逐個(gè)檢測(cè)資源管理器內(nèi)存區(qū), 若有硬件改動(dòng),就使主機(jī)正確識(shí)別出這些改動(dòng)。
9、 根據(jù)權(quán)利要求1所述的基于mems密碼鎖和雙fpga的ide硬盤(pán)物理加密 系統(tǒng),其特征是,所述的密鑰處理模塊是一塊微控制器,其一端與密碼鎖密鑰輸 出線相連用于接收密鑰信號(hào); 一端與第一 fpga相連,在32位密鑰全部接收到后, 傳給第一 fpga,由第一 fpga向第一 fpga中加密/解密模塊發(fā)送;另一端連接pci 局部總線用于在mems密碼鎖鎖死,即密碼驗(yàn)證失敗時(shí),輸出mems密碼鎖復(fù)位相 位。
全文摘要
一種信息安全技術(shù)領(lǐng)域的基于MEMS密碼鎖和雙FPGA的IDE硬盤(pán)物理加密系統(tǒng)。本發(fā)明中,MEMS密碼鎖驅(qū)動(dòng)及認(rèn)證模塊與用于物理認(rèn)證的FPGA專(zhuān)用板通訊,PCI控制器把PCI總線上的指令轉(zhuǎn)化為第一FPGA內(nèi)部總線端指令,由I/O信號(hào)擴(kuò)展芯片輸出控制字到MEMS密碼鎖驅(qū)動(dòng)電路驅(qū)動(dòng)MEMS密碼鎖解碼,同時(shí)產(chǎn)生密鑰信號(hào),密鑰處理模塊讀取密鑰信號(hào)判斷是否正確,若正確,發(fā)送密鑰到第一FPGA,第一FPGA首先給第二FPGA一個(gè)有效的使能信號(hào),使其正常工作,然后把密鑰傳給加密/解密模塊,同時(shí)第一FPGA給主機(jī)一個(gè)返回值,啟動(dòng)聯(lián)接和掃描硬件模塊,加密硬盤(pán)被識(shí)別;若錯(cuò)誤,執(zhí)行MEMS密碼鎖復(fù)位動(dòng)作,同時(shí)傳給主機(jī)錯(cuò)誤密碼的信息。
文檔編號(hào)G06F3/06GK101281503SQ20081003818
公開(kāi)日2008年10月8日 申請(qǐng)日期2008年5月29日 優(yōu)先權(quán)日2008年5月29日
發(fā)明者張衛(wèi)平, 李怡斌, 堅(jiān) 湯, 鵬 許, 陳文元 申請(qǐng)人:上海交通大學(xué)