一種osx系統(tǒng)用加密u盤及其實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種OSX系統(tǒng)用加密U盤及其實現(xiàn)方法,更具體的說,尤其涉及一種每個邏輯存儲單元中均設(shè)置有登錄分區(qū)和加密分區(qū)的OSX系統(tǒng)用加密U盤及其實現(xiàn)方法。
【背景技術(shù)】
[0002]目前市面上大部分加密優(yōu)盤在win平臺和Iinux平臺都有成熟的解決方案,對于蘋果的操作系統(tǒng)OS X,還沒有相應(yīng)的解決方案。由于MAC OS X系統(tǒng)不支持SCSi私有命令下發(fā),所以不能使用與win/1 inux平臺相同的加密優(yōu)盤方案。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為了克服上述技術(shù)問題的缺點,提供了一種OSX系統(tǒng)用加密U盤及其實現(xiàn)方法。
[0004]本發(fā)明的OSX系統(tǒng)用加密U盤,包括主控芯片和存儲器,所述存儲器被劃分為多個邏輯存儲單元,OS X系統(tǒng)通過邏輯存儲單元編號LUNi來區(qū)分存儲器的不同分區(qū),i為邏輯存儲單元的編號;其特別之處在于:U盤與OS X系統(tǒng)使用控制端點傳輸命令,以實現(xiàn)免驅(qū)通信;所述每個邏輯存儲單元均由登錄分區(qū)login和加密分區(qū)data組成,登錄分區(qū)用于存儲是否顯示該邏輯存儲單元中的加密分區(qū)的登錄驗證程序,加密分區(qū)實現(xiàn)數(shù)據(jù)存儲;U盤與MAC OS X系統(tǒng)連接后,LUNi指向并顯示各登錄分區(qū)login,只有運行登錄分區(qū)中的驗證程序并驗證通過后,才可顯示相應(yīng)的加密分區(qū),以對加密分區(qū)中的數(shù)據(jù)進(jìn)行讀寫操作。
[0005]本發(fā)明的OSX系統(tǒng)用加密U盤,所述主控芯片采用型號為HX6801的芯片。
[0006]本發(fā)明的OSX系統(tǒng)用加密U盤的實現(xiàn)方法,其特別之處在于,通過以下步驟來實現(xiàn):a).U盤分區(qū),將U盤的存儲器劃分為多個邏輯存儲單元,每個邏輯存儲單元用LUNi編號來區(qū)分;b).邏輯存儲單元分區(qū),將每個邏輯存儲單元劃分為登錄分區(qū)和加密分區(qū),并在登錄分區(qū)中存儲登錄驗證程序;c).驗證密碼的存儲,在主控芯片中存儲每個登錄驗證程序驗證用的簽名,簽名由密碼經(jīng)密文簽名后形成,并且密碼可進(jìn)行修改;d).顯示登錄分區(qū),將U盤與裝有OS X系統(tǒng)的MAC機(jī)連接后,邏輯存儲單元編號LUNi均指向登錄分區(qū)login,并將登錄分區(qū)顯示出來;e).運行登錄驗證程序,當(dāng)用戶點擊相應(yīng)的登錄分區(qū)時,會自動運行該登錄分區(qū)中的登錄驗證程序,并提示用戶輸入驗證密碼;f).驗證密碼的輸入,用戶通過MAC機(jī)輸入密碼,登錄驗證程序?qū)⒂脩糨斎氲拿艽a經(jīng)密文簽名形成簽名后發(fā)送給U盤的主控芯片;g).判斷密碼的正確性,U盤的主控芯片將接收的簽名與密碼設(shè)定時存儲的簽名相比較,判斷是否一致,如果一致,則發(fā)送true信息至登錄驗證程序,執(zhí)行步驟h);如果不一致,則發(fā)送false信息至登錄驗證程序,執(zhí)行步驟i) ;h).顯示加密分區(qū),當(dāng)?shù)卿涷炞C程序收到true信息后,表明驗證通過,則顯示該登錄分區(qū)所對應(yīng)的加密分區(qū),以便MAC機(jī)對加密分區(qū)進(jìn)行數(shù)據(jù)的讀寫操作;i).驗證失敗,當(dāng)?shù)卿涷炞C程序收到false信息后,表明驗證失敗,重新執(zhí)行步驟e),重新提醒用于輸入驗證密碼。
[0007]本發(fā)明的有益效果是:本發(fā)明的OSX系統(tǒng)用加密U盤及其實現(xiàn)方法,通過控制端點實現(xiàn)命令和數(shù)據(jù)的發(fā)送,無需在MAC機(jī)上安裝驅(qū)動,即可實現(xiàn)登錄操作。每個邏輯存儲單元中均設(shè)置有登錄分區(qū)和加密分區(qū),加密分區(qū)不可見,只有登錄分區(qū)能被OS X系統(tǒng)識別;只有當(dāng)?shù)卿浄謪^(qū)中的登錄驗證程序運行并驗證通過后,才可將加密分區(qū)顯示出來,有效地實現(xiàn)了對用戶私有文件的保密作用。密碼由密文以簽名形式存儲在主控芯片中,不通過U盤固件無法找到該快,避免了密碼泄露,而且在密碼在驗證的過程中登錄驗證程序發(fā)送至U盤的也是密碼經(jīng)密文的簽名形式,進(jìn)一步避免了密碼泄露的可能。
【附圖說明】
[0008]圖1為本發(fā)明中邏輯存儲單元編號LUNi指向登錄分區(qū)時的原理圖;
[0009]圖2為本發(fā)明中僅邏輯存儲單元編號LUNl指向加密分區(qū)datal時的原理圖;
[0010]圖3為本發(fā)明的OSX系統(tǒng)用加密U盤的實現(xiàn)方法的流程圖。
【具體實施方式】
[0011]下面結(jié)合附圖與實施例對本發(fā)明作進(jìn)一步說明。
[0012]如圖1和圖2所示,可實現(xiàn)對OS X系統(tǒng)用加密U盤方案的描述。根據(jù)usb協(xié)議,usb大容量存儲設(shè)備以LUN(Logic Uint Number)來區(qū)分主機(jī)對設(shè)備上不同分區(qū)的操作,也就是說,U盤返回幾個LUN給主機(jī),主機(jī)上便顯示U盤包含有幾個分區(qū)(盤符),加密U盤則利用了協(xié)議的該規(guī)則,將U盤中的多個邏輯存儲單元劃分為登錄分區(qū)和加密分區(qū),其中登錄分區(qū)為一小容量不可寫分區(qū),里面放有一個用于解密的登錄驗證程序,加密分區(qū)則為加密數(shù)據(jù)存放的分區(qū),當(dāng)U盤中存在多個加密分區(qū)時,則會有多個加密分區(qū)以及與之—對應(yīng)的登錄分區(qū)。如圖1所示,登錄分區(qū)分別為loginO、1ginl、login2,其所對應(yīng)的加密分區(qū)分別為 dataO、datal、data2。
[0013]在加密狀態(tài)時,返回給MAC主機(jī)的LUN是指向登錄分區(qū)的,如圖1所示LUNO指向loginO, LUNl指向loginl,LUN2指向login2,用戶只能看見登錄分區(qū)而看不見加密分區(qū)。當(dāng)用戶使用登錄盤中的登錄驗證程序,并正確輸入密鑰完成解密時,該LUN將自動切向其指向的加密分區(qū),比如執(zhí)行了 1ginl盤中的登錄程序,LUNl將自動切換成機(jī)密盤datal,結(jié)果如圖2所示,用戶會發(fā)現(xiàn)上位機(jī)里1ginl盤消失了,對應(yīng)盤符變成了 datal盤。當(dāng)用戶完成試用,卸載U盤設(shè)備后,該次解密將失效。下次再次插入U盤,看到的只有登錄盤,也就是說回到了加密狀態(tài)。
[0014]上下位機(jī)登錄及修改密碼命令通過控制端點傳輸完成,通過自定義私有命令完成相關(guān)功能。加密盤登陸是通過發(fā)送私有命令(CHECK_PASSW0RD)及密碼,檢測通過則發(fā)送字符串“true”,失敗則發(fā)送“false”。修改密碼是通過發(fā)送私有命令(M0DIFY_PASSW0RD)及新舊密碼,檢測通過則發(fā)送字符串“true