一種基于u盤加密的數據存取方法和系統的制作方法
【技術領域】
[0001] 本發明屬于計算機領域,涉及一種基于U盤加密的數據存取方法和系統。
【背景技術】
[0002] U盤做為便捷的電子文檔存儲工具,在需要經常換用PC的場景下,已經成為必不 可或缺的存儲交換工具。但"便攜"有利也有弊,其中最大的弊端是容易丟失,由于U盤丟 失造成的重要文檔外泄和個人隱私泄露的例子不勝枚舉,這產生了保護U盤數據的需求。
[0003] 在現有的解決方案中,"保密U盤"是一種常用的U盤數據保護手段。保密U盤 的工作方式是將U盤文件系統整個轉換成一種私有的文件系統,在安裝了特定軟件的系統 上,將這種文件系統轉換成普通的文件系統(NTFS,FAT32等),進而進行文件讀寫。工作流 程如下:
[0004] 保密U盤在很大程度上杜絕了信息泄密,因為U盤只能在一個授信的環境中使用, 在沒有安裝文件格式轉換驅動的終端上根本無法打開。但這帶來了新的問題:
[0005] 1.使用不便,如果確實有需要拿到外部使用,需要在外部安裝授信的環境。
[0006] 2. -旦使用,U盤整個都加密了,而有一些文件確實不需要加密。
【發明內容】
[0007] 本發明所要解決的技術問題是提供一種基于U盤加密的數據存取方法,兼顧普通 U盤和加密U盤的便利,且不再對所有文件進行加密,U盤原有分區存在,只有在有必要的情 況下生成保密的分區(UIP),用戶可有選擇地將文件存放在原有分區或保密分區,不會影響 原有分區的使用。
[0008] 本發明解決上述技術問題所采取的技術方案如下:
[0009] -種基于U盤加密的數據存取方法,包括:
[0010] 步驟1)U盤初始化步驟,在普通的U盤上生成一個虛擬卷映射文件VVMF,并輸入一 密碼對該虛擬卷映射文件進行加密;
[0011] 步驟2)數據讀寫步驟,接收用戶輸入的密碼,并對比該密碼和所述虛擬卷映射文 件的加密密碼是否相同;
[0012] 其中,若該密碼正確,則調用一組預先存儲于U盤上的系統驅動文件生成卷設備, 加載所述卷設備的盤符于系統盤符目錄中,并進一步根據用戶的操作進行相應的數據讀 寫。
[0013] 進一步地,步驟1)中,對該虛擬卷映射文件進行加密時,具體包括:
[0014] 根據輸入的密碼隨機混淆生成一 256字節的數據密鑰,并將該數據密鑰寫入到所 述虛擬卷映射文件的卷頭中。
[0015] 進一步地,步驟2)中,若該密碼正確,貝進一步校驗虛擬卷映射文件的卷頭的正 確性,其中,若校驗不正確,則從虛擬卷映射文件中讀取備份卷頭,若仍不正確,則不調用U 盤上的系統驅動文件生成硬盤盤符。
[0016] 進一步地,將虛擬卷映射文件的文件句柄和所述數據密鑰保存于內存中,步驟2) 中,根據用戶的操作進行相應的數據讀寫,具體包括:獲取用戶的數據讀取操作指令,并將 其轉換成對所述卷設備的扇區讀取操作;
[0017] 根據所述扇區獲取到所述虛擬卷映射文件的文件偏移量,并根據所述虛擬卷映射 文件的文件句柄,讀取到相應的文件偏移區域的數據文件,根據內存中記錄的數據密鑰對 以上扇區的文件進行解密,并返給用戶。
[0018] 進一步地,將虛擬卷映射文件的文件句柄和所述數據密鑰保存于內存中,步驟2) 中,根據用戶的操作進行相應的數據讀寫,包括:獲取用戶的數據寫入操作指令,并將其轉 換成對所述卷設備的扇區寫入操作;
[0019] 根據所述扇區轉換成所述虛擬卷映射文件的文件偏移量,并根據所述虛擬卷映射 文件的文件句柄,根據內存中記錄的數據密鑰對數據進行加密,并向對應的文件偏移區域 寫入加密后的數據。
[0020] -種基于U盤加密的數據存取系統,包括:
[0021] 初始化模塊,用于在普通的U盤上生成一個虛擬卷映射文件VVMF;密碼生成模塊, 用于根據用戶輸入一密碼對該虛擬卷映射文件進行加密;
[0022] 程序交互模塊,用于接收用戶輸入的密碼;
[0023] 密碼認證模塊,用于根據所述用戶輸入的密碼,對比該密碼和所述虛擬卷映射文 件的加密密碼是否相同;
[0024] 虛擬驅動模塊,用于若該密碼正確時,調用一組預先存儲于U盤上的系統驅動文 件生成卷設備;
[0025] 設備加載模塊,用于加載所述卷設備的盤符于系統盤符目錄中;讀寫過濾模塊,用 于根據用戶的操作進行相應的數據讀寫。
[0026] 進一步地,優選的是,所述密碼生成模塊,對該虛擬卷映射文件進行加密時,具體 包括:
[0027] 根據輸入的密碼隨機混淆生成一 256字節的數據密鑰,并將該數據密鑰寫入到所 述虛擬卷映射文件的卷頭中。
[0028] 進一步地,優選的是,還包括完整性檢測模塊,用于當密碼認證模塊認證密碼正 確,貝U進一步校驗虛擬卷映射文件的卷頭的正確性,其中,若校驗不正確,則從虛擬卷映射 文件中讀取備份卷頭,若仍不正確,則不調用U盤上的系統驅動文件生成硬盤盤符。
[0029] 進一步地,優選的是,將虛擬卷映射文件的文件句柄和所述數據密鑰保存于內存 中,所述讀寫過濾模塊,根據用戶的操作進行相應的數據讀寫,具體包括:獲取用戶的數據 讀取操作指令,并將其轉換成對所述卷設備的扇區讀取操作;
[0030] 根據所述扇區獲取到所述虛擬卷映射文件的文件偏移量,并根據所述虛擬卷映射 文件的文件句柄,讀取到相應的文件偏移區域的數據文件,根據內存中記錄的數據密鑰對 以上扇區的文件進行解密,并返給用戶。
[0031] 進一步地,優選的是,將虛擬卷映射文件的文件句柄和所述數據密鑰保存于內存 中,所述讀寫過濾模塊,根據用戶的操作進行相應的數據讀寫,包括:獲取用戶的數據寫入 操作指令,并將其轉換成對所述卷設備的扇區寫入操作;
[0032] 根據所述扇區轉換成所述虛擬卷映射文件的文件偏移量,并根據所述虛擬卷映射 文件的文件句柄,根據內存中記錄的數據密鑰對數據進行加密,并向對應的文件偏移區域 寫入加密后的數據。
[0033] 本發明采取了上述方案以后,不再需要在終端上安裝復雜的使用環境,僅使用存 在U盤上獨立的程序和相應的驅動即可;不再對所有文件進行加密,U盤原有分區存在,只 有在有必要的情況下生成保密的分區(UIP),用戶可有選擇地將文件存放在原有分區或保 密分區,不會影響原有分區的使用。
[0034] 本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明 書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
【附圖說明】
[0035] 下面結合附圖對本發明進行詳細的描述,以使得本發明的上述優點更加明確。其 中,
[0036] 圖1是現有技術的U盤加密方法的工作示意圖;
[0037] 圖2是本發明基于U盤加密的數據存取方法的工作示意圖;
[0038] 圖3是本發明基于U盤加密的數據存取系統的結構示意圖。
【具體實施方式】
[0039] 以下將結合附圖及實施例來詳細說明本發明的實施方式,借此對本發明如何應用 技術手段來解決技術問題,并達成技術效果的實現過程能充分理解并據以實施。需要說明 的是,只要不構成沖突,本發明中的各個實施例以及各實施例中的各個特征可以相互結合, 所形成的技術方案均在本發明的保護范圍之內。
[0040] 另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系 統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處 的順序執行所示出或描述的步驟。
[0041] 其中,本發明說明書各英文的縮寫:
[0042] WMF:VirtualVolumeMappingFile,虛擬卷映射文件,用來將一個強加密的文 件映射成一個虛擬的磁盤分區。
[0043] UIP:USBInternalPartition,USB內部分區,VVMF映射成的一個分區,在主機上 以獨立盤符形式出現。雖然它是獨立的分區,但由于實際存儲還在USB存儲上,所以叫內部 分區。
[0044]實施例一:
[0045] 具體來說,本方案關鍵點在于創建了VVMF,并在需要使用UIP的時候將VVMF映射 到np,工作示意圖如圖2所示,其中,該方法包括:
[0046] -種基于U盤加密的數據存取方法,包括:
[0047] 步驟1)U盤初始化步驟,在普通的U盤上生成一個虛擬卷映射文件VVMF,并輸入一 密碼對該虛擬卷映射文件進行加密;
[0048] 步驟2)數據讀寫步驟,接收用戶輸入的密碼,并對比該密碼和所述虛擬卷映射文 件的加密密碼是否相同;
[0049] 其中,若該密碼正確,則調用一組預先存儲于U盤上的系統驅動文件生成卷設備, 加載所述卷設備的盤符于系統盤符目錄中,并進一步根據用戶的操作進行相應的數據讀 寫。
[0050] 進一步地,步驟1)中,對該虛擬卷映射文件進行加密時,具體包括:
[0051] 根據輸入的密碼隨機混淆生成一 256字節的數據密鑰,并將該數據密鑰寫入到所 述虛擬卷映射文件的卷頭中。
[0052] 進一步地,步驟2)中,若該密碼正確,貝進一步校驗虛擬卷映射文件的卷頭的正 確性,其中,若校驗不正確,則從虛擬卷映射文件中讀取備份卷頭,若仍不正確,則不調用U 盤上的系統驅動文件生成硬盤盤符。
[0053] 不再對所有文件進行加密,U盤原有分區存在,只有在有必要的情況下生成保密 的分區(UIP),用戶可有選擇地將文件存放在原有分區或保密分區,不