專利名稱:一種基于雙usb密鑰設備的usb接口鎖的制作方法
技術領域:
本發(fā)明涉及計算機數(shù)據(jù)安全領域,具體的說是提供了一種防止USB接口泄露數(shù)據(jù)的USB接口鎖。
背景技術:
隨著信息化程度越來越高,信息安全顯得格外重要。為了防止計算機數(shù)據(jù)泄露,很多公司和部門都采取了各種方法來防止非法的數(shù)據(jù)拷貝。一般來說,網(wǎng)絡接口和USB接口是數(shù)據(jù)泄露的源頭。網(wǎng)絡接口泄露數(shù)據(jù)的問題可以采用斷開和外界網(wǎng)絡連接的辦法解決,如拆除網(wǎng)卡或者封閉局域網(wǎng)。相比之下,USB接口的情況要復雜很多,眾多USB非移動存儲設備,比如說USB接口鼠標,USB接口鍵盤,打印機等都需要使用計算機USB接口,直接在BIOS里禁用USB接口或者拆除USB接口會給計算機用戶帶來不必要的麻煩;另外,用戶可能需要從USB移動存儲設備向計算機拷貝數(shù)據(jù),而不是完全禁止對移動存儲設備的訪問。
目前存在的防止USB接口泄露數(shù)據(jù)的方案僅考慮了泄露數(shù)據(jù)的問題,而忽略了方案本身的漏洞。普通方案一般都將整個加鎖解鎖控制程序安裝在目標計算機上,解鎖執(zhí)行過程可以反復被跟蹤,對計算機底層熟悉的用戶可以通過softice一類的工具修改解鎖程序;普通方案的安全驗證一般只需要提供用戶名和用戶密碼,這種基于字串的驗證容易被破解,不如具有唯一硬件標識的實物載體安全,如自動存款機的磁卡。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種低成本,靈活,能有效防止USB接口泄露數(shù)據(jù)的基于雙USB密鑰設備的USB接口鎖。安裝了基于雙USB密鑰設備的USB接口鎖的計算機,通過USB接口向USB移動存儲設備拷貝數(shù)據(jù)之前必須使用一對USB密鑰設備和管理員設定的用戶密碼解開對USB移動存儲設備的訪問限制。
本發(fā)明包括一對USB密鑰設備,一組加鎖解鎖控制程序;加鎖解鎖控制程序自動識別插入計算機的USB移動存儲設備,限制計算機訪問USB移動存儲設備,即加鎖;加鎖解鎖控制程序自動識別插入計算機的一對USB密鑰設備,完成USB密鑰設備驗證和用戶身份驗證后,解開對USB移動存儲設備的訪問限制,即解鎖。
所述的一對USB密鑰設備指一對各自具有唯一硬件標識且通過分區(qū)處理的USB移動存儲設備。
所述的一組USB接口加鎖解鎖控制程序包括安裝在目標計算機上的內(nèi)核監(jiān)控程序和密鑰設備偵測程序,存放在密鑰設備A和密鑰設備B上的解鎖控制程序。
所述的對USB移動存儲設備的訪問限制指禁止計算機對USB移動存儲設備執(zhí)行寫操作。
所述的USB密鑰設備安全驗證指安裝在目標計算機上的內(nèi)核監(jiān)控程序校驗由存放在USB密鑰設備上的解鎖控制程序產(chǎn)生的驗證碼;驗證碼包含密鑰設備A的硬件標識,密鑰設備B的硬件標識,計算機加載USB移動存儲設備動態(tài)分配的地址信息。
所述的用戶身份驗證指密鑰設備B上的解鎖控制程序校驗用戶輸入的密碼,軟件加密的用戶密碼保存在密鑰設備B上。
本發(fā)明邏輯上分為三個模塊用戶交互模塊,USB接口加鎖解鎖模塊,USB密鑰設備驗證模塊,見附圖1。用戶交互模塊負責人機交互界面,包括用戶密碼的輸入和修改。USB接口加鎖解鎖模塊負責完成對USB移動存儲設備加鎖和解鎖。USB密鑰設備驗證模塊負責驗證一對USB密鑰設備的有效性。
本發(fā)明物理上分為軟件和硬件兩部分一對USB密鑰設備,一組加鎖解鎖控制程序。一對USB密鑰設備包括密鑰設備A和密鑰設備B;一組加鎖解鎖控制程序包括安裝在目標計算機上的內(nèi)核監(jiān)控程序和密鑰設備偵測程序,存放在密鑰設備A和密鑰設備B上的解鎖控制程序。
安裝在目標計算機上的內(nèi)核監(jiān)控程序自動識別插入計算機的USB設備,限制計算機對USB移動存儲設備的訪問,即加鎖。一對USB密鑰設備插入計算機,安裝在目標計算機上的內(nèi)核監(jiān)控程序校驗由存放在USB密鑰設備上的解鎖控制程序產(chǎn)生的驗證碼,驗證碼包含密鑰設備A的硬件標識,密鑰設備B的硬件標識,計算機加載USB移動存儲設備動態(tài)分配的地址信息;除此之外,存放在密鑰設備B上的解鎖控制程序還要求用戶輸入密碼進行用戶身份驗證,軟件加密后的用戶密碼保存在密鑰設備B上。在USB密鑰設備驗證和用戶身份驗證都通過后,安裝在目標計算機上的內(nèi)核監(jiān)控程序解除對USB移動存儲設備的訪問限制,即解鎖。新的USB移動存儲設備插入計算機需要重新解鎖,USB移動存儲設備拔出計算機后再次插入視為新的USB移動存儲設備插入。
本發(fā)明中,安裝在目標計算機上的內(nèi)核監(jiān)控程序和一對USB密鑰設備的關系為一一對應,如同鎖和鑰匙。一對USB密鑰設備之間的關系也是一一對應,兩對不同的USB密鑰設備不能打亂配對關系重新組合。
本發(fā)明中,一對USB密鑰設備經(jīng)過分區(qū)處理,存放解鎖控制程序和用戶密碼的區(qū)域被隱藏,在沒有安裝基于雙USB密鑰設備的USB接口鎖的計算機上表現(xiàn)為普通的USB移動存儲設備。
如上所述,采用本發(fā)明防止USB接口泄露數(shù)據(jù)的效果如下本發(fā)明使用成本低。整個發(fā)明的硬件需求僅為一對USB密鑰設備。
本發(fā)明使用靈活,尤其適合物理空間上比較集中的多臺計算機的保護。多臺計算機安裝同一套基于雙USB密鑰設備的USB接口鎖軟件,與之配套的一對USB密鑰設備由管理人員保管。當某臺計算機需要向目標USB移動存儲設備拷貝數(shù)據(jù),持有一對USB密鑰設備的管理人員負責解鎖和拷貝,拷貝完成后拔出目標USB移動存儲設備即可。一對USB密鑰設備可以被同一個管理員持有,也可以被兩位管理員分別持有,達到相互牽制的作用,如圖2。
本發(fā)明安全性高。解鎖控制程序存放在USB密鑰設備上,別有用心的計算機用戶無法跟蹤整個USB密鑰設備驗證過程從而無法執(zhí)行反編譯等手段;USB密鑰設備驗證和用戶身份驗證提供了硬件和軟件雙重保護;USB密鑰設備具有偽裝性。
本發(fā)明結構模塊化,易于擴展。用戶交互模塊,USB密鑰設備驗證模塊,USB接口加鎖解鎖模塊相對獨立。在保留用戶交互模塊,USB密鑰設備驗證模塊不變的基礎上增加硬盤,光驅(qū),軟盤,網(wǎng)絡甚至其它計算機I/O設備的加鎖解鎖模塊,形成以USB密鑰設備為核心的計算機安全屏蔽,將計算機與外界隔絕。
圖1-頂層邏輯結構圖。
圖2-提供多臺計算機保護的示意圖。
圖3-各個部分之間的關系圖。
圖4-USB密鑰設備存儲空間分配圖。
圖5-基于雙USB密鑰設備的USB接口鎖的詳細工作流程圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發(fā)明作進一步詳細描述。
圖1為頂層邏輯結構圖。
圖2為提供多臺計算機保護的示意圖。
本發(fā)明中,各個部分之間的關系如下用戶插入需要解鎖的USB移動存儲設備,接著先后插入密鑰設備A和密鑰設備B。密鑰設備偵測程序檢查到USB密鑰設備插入計算機,先后調(diào)用密鑰設備A上的解鎖控制程序和密鑰設備B上的解鎖控制程序產(chǎn)生本次解鎖需要的驗證碼;密鑰設備B上的鎖控制程序要求用戶輸入密碼進行用戶身份驗證,用戶身份驗證成功后將驗證碼發(fā)給內(nèi)核監(jiān)控程序。內(nèi)核監(jiān)控程序負責校驗驗證碼,成功后執(zhí)行解鎖,如圖3。
本發(fā)明中,內(nèi)核監(jiān)控程序嵌入計算機操作系統(tǒng)的USB底層驅(qū)動模塊。USB底層驅(qū)動模塊位于文件系統(tǒng)的下層,計算機對USB移動存儲設備的訪問在該層表現(xiàn)為對扇區(qū)的訪問,禁止或者允許計算機對USB移動存儲設備扇區(qū)執(zhí)行寫操作可達到對USB移動存儲設備加鎖解鎖的目的。
本發(fā)明中,密鑰設備偵測程序不具備任何解鎖功能,僅負責偵測的插入計算機USB設備是否存在USB密鑰設備軟件特征并且調(diào)用USB密鑰設備上的解鎖控制程序。USB密鑰設備軟件特征可以是某些隱藏扇區(qū)中的標志。
本發(fā)明中,密鑰設備A和密鑰設備B用于存放解鎖控制程序和用戶密碼,同時也是具有特殊硬件標識的實物載體。USB密鑰設備的存儲空間被劃分為兩個獨立的分區(qū),其中一個是顯示分區(qū),另一個是隱藏分區(qū)。普通計算機讀取顯示分區(qū)信息從而能訪問顯示分區(qū);安裝了基于雙USB密鑰設備的USB接口鎖的計算機上的內(nèi)核監(jiān)控程序截獲系統(tǒng)讀取分區(qū)信息的操作,用隱藏分區(qū)信息去代替顯示分區(qū)信息,從而訪問隱藏分區(qū)。解鎖控制程序和用戶密碼存放在隱藏分區(qū)里,隱藏分區(qū)的所有數(shù)據(jù)都會被軟件加密,如圖4中灰色區(qū)域。
本發(fā)明中,USB密鑰設備驗證策略如下密鑰設備A上的解鎖控制程序和內(nèi)核監(jiān)控程序通訊,獲取所在設備的硬件標識aid和當前計算機加載USB動態(tài)分配的內(nèi)存地址信息iaddress,密鑰設備B上的解鎖控制程序和內(nèi)核監(jiān)控程序獲取所在設備的硬件標識bid,密鑰設備B上的解鎖控制程序根據(jù)公式f(aid,f(bid,iaddress))計算本次解鎖需要的驗證碼并且發(fā)送給內(nèi)核監(jiān)控程序;內(nèi)核監(jiān)控程序根據(jù)公式f(f(AID,BID),iaddress)計算出本次解鎖正確的驗證碼,比較兩者可知是否進行解鎖操作,其中AID,BID為內(nèi)核監(jiān)控程序?qū)囊粚SB密鑰設備的硬件標識,f(AID,BID)值作為常量保存在內(nèi)核監(jiān)控程序中。函數(shù)f滿足f(f(AID,BID),x1)=f(AID,f(BID,x2)),當且僅當x1=x2。任意兩次解鎖產(chǎn)生的驗證碼之間沒有任何聯(lián)系,即驗證碼具有一次性。
基于雙USB密鑰設備的USB接口鎖的詳細工作流程如下,如圖5。圖中灰色區(qū)域的操作由保存在USB密鑰設備上的解鎖控制程序完成;白色區(qū)域的操作由安裝在目標計算機上的內(nèi)核監(jiān)控程序和密鑰設備偵測程序完成。
權利要求
1.一種基于雙USB密鑰設備的USB接口鎖,其特征在于包括一對USB密鑰設備,一組加鎖解鎖控制程序;加鎖解鎖控制程序自動識別插入計算機的USB移動存儲設備,限制計算機訪問USB移動存儲設備,即加鎖;加鎖解鎖控制程序自動識別插入計算機的一對USB密鑰設備,完成USB密鑰設備驗證和用戶身份驗證后,解開對USB移動存儲設備的訪問限制,即解鎖。
2.如權利要求1所述的基于雙USB密鑰設備的USB接口鎖,其特征在于所述的一對USB密鑰設備指一對各自具有唯一硬件標識且通過分區(qū)處理的USB移動存儲設備。
3.如權利要求1所述的基于雙USB密鑰設備的USB接口鎖,其特征在于所述的一組USB接口加鎖解鎖控制程序包括安裝在目標計算機上的內(nèi)核監(jiān)控程序和密鑰設備偵測程序,存放在密鑰設備A和密鑰設備B上的解鎖控制程序。
4.如權利要求1所述的基于雙USB密鑰設備的USB接口鎖,其特征在于所述的對USB移動存儲設備的訪問限制指禁止計算機對USB移動存儲設備執(zhí)行寫操作。
5.如權利要求1所述的基于雙USB密鑰設備的USB接口鎖,其特征在于所述的USB密鑰設備安全驗證指安裝在目標計算機上的內(nèi)核監(jiān)控程序校驗由存放在USB密鑰設備上的解鎖控制程序產(chǎn)生的驗證碼;驗證碼包含密鑰設備A的硬件標識,密鑰設備B的硬件標識,計算機加載USB移動存儲設備動態(tài)分配的地址信息。
6.如權利要求1所述的基于雙USB密鑰設備的USB接口鎖,其特征在于所述的用戶身份驗證指密鑰設備B上的解鎖控制程序校驗用戶輸入的密碼,軟件加密的用戶密碼保存在密鑰設備B上。
全文摘要
本發(fā)明是一種防止USB接口泄露數(shù)據(jù)的基于雙USB密鑰設備的USB接口鎖,包括一對USB密鑰設備,一組USB接口加鎖解鎖控制程序。加鎖解鎖控制程序自動識別插入計算機的USB設備,限制計算機訪問USB移動存儲設備;加鎖解鎖控制程序自動識別插入計算機的一對USB密鑰設備,在完成USB密鑰設備驗證和用戶身份驗證后,解開對USB移動存儲設備的訪問限制。本發(fā)明針對USB接口泄露數(shù)據(jù)問題給出了成本低,靈活,有效的解決方法。
文檔編號G06F21/00GK101030176SQ20071006521
公開日2007年9月5日 申請日期2007年4月6日 優(yōu)先權日2007年4月6日
發(fā)明者王佐, 譚毓安, 石峰 申請人:北京理工大學