一種用戶級文件自動加解密方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種用戶級文件自動加解密方法及裝置,通過創(chuàng)建加密分區(qū)設(shè)定分區(qū)及分區(qū)內(nèi)文件的加密密鑰,增強系統(tǒng)的安全性。加載加密分區(qū)后加密/解密服務作為服務駐留內(nèi)存提供虛擬磁盤驅(qū)動服務,將用戶在虛擬磁盤應用層的各種操作命令通過內(nèi)核的I/O管理器請求轉(zhuǎn)變?yōu)楦鞣NIRP請求,傳遞給加解密軟件,進行實時、自動地加解密服務。卸載加密分區(qū)后,分區(qū)和文件重新處于加密狀態(tài)。本發(fā)明可以使所有的加解密任務都在內(nèi)存上完成,無需用戶做額外的操作,不會有未加密的文件存放到磁盤上,實現(xiàn)自動、透明、安全的文件加/解密。
【專利說明】—種用戶級文件自動加解密方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全【技術(shù)領(lǐng)域】,特別是指一種用戶級文件自動加解密方法及裝置。
【背景技術(shù)】
[0002]隨著信息時代的快速發(fā)展,互聯(lián)網(wǎng)不斷深入大眾生活和工作的方方面面,成為不可或缺的一部分。然而,信息的快速流轉(zhuǎn)不僅帶來跨時空、高效快捷的便利,也帶來了對個人信息安全的種種挑戰(zhàn)。由于處理和傳遞信息的便捷性,盜用、篡改和倒賣個人信息的現(xiàn)象日益增多,嚴重影響了民眾的正常生活和工作,甚至危及到財產(chǎn)與人身安全。
[0003]目前市場上針對文件加密的方法很多,常見的都是基于應用層的,需要加密的文件在應用層加密,然后存放在磁盤上。解密時也需要從磁盤讀出,再在應用層軟件中解密。這種加解密模式的缺點在于:速度比較慢;文件名稱及相關(guān)屬性暴露,容易被人惡意刪除、修改、復制、轉(zhuǎn)移;再加上加密機制簡單,遭暴力破解的幾率大?;谶@些方法的軟件常常需要安裝在操作系統(tǒng)上,對于普通用戶來說,無疑增加了難度。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提出一種文件的實時加解密全部在內(nèi)存完成的加密強度高的用戶級文件自動加解密方法及裝置,解決現(xiàn)有技術(shù)中加解密都基于應用層導致加密強度不高、容易破解的問題。
[0005]基于上述目的本發(fā)明提供的一種用戶級文件自動加解密方法,包括以下步驟:
[0006](I)為需要加密的文件創(chuàng)建加密分區(qū):
[0007]接收用戶輸入的原始加密參數(shù),包括選擇的加密分區(qū)位置、加載密碼和/或密鑰文件、加密算法和哈希算法和格式化類型;
[0008]對整個加密分區(qū)進行格式化;
[0009]在分區(qū)頭設(shè)置一個驗證值;
[0010]利用用戶選擇的哈希算法對加載密碼和/或密鑰文件進行哈希運算,生成分區(qū)頭加密密鑰,所述分區(qū)頭加密密鑰對包含所述驗證值的分區(qū)頭進行加密,加密算法為用戶選擇的所述加密算法;
[0011]隨機生成所述加密分區(qū)的文件加密密鑰,并對文件和空閑空間進行加密,該加密密鑰被所述分區(qū)頭的加密密鑰加密后貯存在所述加密分區(qū)頭的尾部,加密算法為用戶選擇的所述加密算法;
[0012](2)加載加密分區(qū):
[0013]提示用戶輸入認證參數(shù),包括加載密碼和/或密鑰文件;
[0014]接收到用戶輸入的上述信息后,使用所述加載密碼和/或密鑰文件對分區(qū)頭進行解密,解密后在內(nèi)存中創(chuàng)建虛擬磁盤,將加密分區(qū)內(nèi)的文件加載到所述虛擬磁盤;
[0015]若需要進行文件讀取,將加密分區(qū)收到的讀取命令轉(zhuǎn)變?yōu)镮RP請求,在虛擬磁盤上利用所述文件加密密鑰對文件進行解密,完成相應的讀取操作;若需要執(zhí)行寫入操作,將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用所述文件加密密鑰對該寫入文件進行加密,再保存到所述加密分區(qū)。
[0016]可選的,所述哈希算法為MD4、MD5、SHA、RIPEMD、Whirlpool、HMAC —之一,和 / 或所述加密算法為 DES、3DES、RC2、RC4、RC5、AES、Blowfish、Twofish、Rijndael 之一或其組
八
口 ο
[0017]進一步的,所述對分區(qū)頭進行解密的方法包括:利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法將所述用戶輸入的加載密碼和/或密鑰文件轉(zhuǎn)化為一個解密密鑰,將得到的解密密鑰利用所述用戶選擇的加密算法對分區(qū)頭進行解密運算,若能夠得到預先設(shè)置的驗證值,則認證信息正確,分區(qū)頭被解密,解密后加載加密分區(qū);若不能得到驗證值,則分區(qū)頭不能被解密,顯示輸入錯誤,提示用戶重新輸入認證參數(shù)。
[0018]可選的,所述加密分區(qū)是文件型虛擬分區(qū),或操作系統(tǒng)創(chuàng)建好的真實分區(qū),或未分區(qū)存貯設(shè)備。
[0019]可選的,所述加載密碼或密鑰文件可修改。
[0020]基于上述目的,本發(fā)明還提供了一種用戶級文件自動加解密裝置,包括:
[0021]創(chuàng)建加密分區(qū)單元,包括用于接收用戶輸入的原始加密參數(shù)的接收單元;用于對加密分區(qū)進行格式化的格式化單元;用于依據(jù)用戶選擇的加密算法對加密分區(qū)的文件和空閑空間加密并將將文件加密密鑰存貯在加密分區(qū)頭的尾部的文件加密單元;用于根據(jù)用戶選擇的哈希算法生成分區(qū)頭加密密鑰,對包含驗證值的分區(qū)頭加密的分區(qū)加密單元。
[0022]加載加密分區(qū)單元,包括對分區(qū)頭進行解密,將加密分區(qū)加載到虛擬磁盤的分區(qū)解密單元;用于對文件的讀取命令轉(zhuǎn)變?yōu)镮RP請求后,利用所述文件加密密鑰對該讀取文件進行解密,讀入所述虛擬磁盤,并將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用所述加載密碼和/或密鑰文件對該寫入文件進行加密保存到所述加密分區(qū)的文件加解密單元。
[0023]可選的,所述哈希算法為MD4、MD5、SHA、RIPEMD、Whirlpool、HMAC —之一,和 / 或所述加密算法為 DES、3DES、RC2、RC4、RC5、AES、Blowfish、Twofish、Rijndael 之一或其組
八
口 ο
[0024]進一步的,所述加載加密分區(qū)單元對分區(qū)頭進行解密時,利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法將所述用戶輸入的加載密碼和/或密鑰文件轉(zhuǎn)化為一個解密密鑰,將得到的解密密鑰利用所述用戶選擇的加密算法對分區(qū)頭進行解密運算,若能夠得到預先設(shè)置的驗證值,則認證信息正確,分區(qū)頭被解密,解密后加載加密分區(qū);若不能得到驗證值,則分區(qū)頭不能被解密,顯示輸入錯誤,提示用戶重新輸入認證參數(shù)。
[0025]可選的,所述創(chuàng)建加密分區(qū)單元創(chuàng)建的加密分區(qū)類型包括文件型虛擬分區(qū)、操作系統(tǒng)創(chuàng)建好的真實分區(qū)或未分區(qū)存貯設(shè)備。
[0026]可選的,所述加載加密分區(qū)單元包含修改加載密碼和/或密鑰文件的模塊,用于修改加載密碼和/或密鑰文件。
[0027]從上面所述可以看出,本發(fā)明提供的一種用戶級文件自動加解密方法及裝置,對創(chuàng)建的加密分區(qū)進行加密系統(tǒng)格式化,并對分區(qū)頭加密,使其他系統(tǒng)僅看到分區(qū),但無法識別分區(qū)類型,自然無法打開。由于既使用了密碼,也使用了多密鑰文件來加密,加密強度非常高,事實上不可能被破解。加載加密分區(qū)后,加密分區(qū)內(nèi)的文件被加載到創(chuàng)建在內(nèi)存中的虛擬磁盤中,加解密軟件的加密/解密服務作為服務駐留內(nèi)存提供虛擬磁盤驅(qū)動服務,將應用層的操作轉(zhuǎn)變?yōu)镮RP請求,僅加解密正在處理的文件,所有的讀寫操作都是通過虛擬磁盤完成,將所有文件的加解密任務都在內(nèi)存上完成,不會有未加密的文件存放到加密分區(qū)上,保證了加密分區(qū)所有的文件的私密性。這個階段的所有加密解密都無需用戶做額外的操作,實現(xiàn)自動、透明、安全的文件加/解密。
【專利附圖】
【附圖說明】
[0028]圖1為本發(fā)明一種基于分區(qū)的用戶級文件自動加解密方法創(chuàng)建加密分區(qū)的實施例流程圖;
[0029]圖2為本發(fā)明一種基于分區(qū)的用戶級文件自動加解密方法加載加密分區(qū)的實施例流程圖;
[0030]圖3為本發(fā)明一種基于分區(qū)的用戶級文件自動加解密方法卸載加密分區(qū)的實施例流程圖;
[0031]圖4為本發(fā)明一種基于分區(qū)的用戶級文件自動加解密裝置實施例示意圖。
【具體實施方式】
[0032]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。
[0033]本發(fā)明實施例公開的一種基于分區(qū)的用戶級文件自動加解密方法,可以應用在任何電腦終端或服務器上,包括以下步驟:創(chuàng)建加密分區(qū)、加載加密分區(qū)和卸載加密分區(qū),力口載加密分區(qū)時該分區(qū)內(nèi)的文件全部加載到創(chuàng)建在內(nèi)存中的虛擬磁盤上,能夠?qū)用芊謪^(qū)內(nèi)的文件依據(jù)用戶的命令進行自動的加解密服務。
[0034]如圖1所示步驟I創(chuàng)建加密分區(qū)的實施例:
[0035]步驟101:接收用戶輸入的原始加密參數(shù),包括選擇的加密分區(qū)位置、加載密碼、密鑰文件、加密算法、哈希算法以及格式化類型等。其中,加密算法為DES、3DES、RC2、RC4、RC5、AES、Blowfish、Twofish、Rijndael 其一或其組合;哈希算法為 MD4、MD5、SHA、RIPEMD、Whirlpool、HMAC —中的一種;分區(qū)格式化類型如FAT、FAT32、NTFS等。
[0036]系統(tǒng)為用戶選擇的加密分區(qū)分配一個驗證值,寫入所述加密分區(qū)的分區(qū)頭??梢栽诟袷交用芊謪^(qū)之前分配,格式化完成后寫入加密分區(qū)頭,也可以在加密分區(qū)格式化完成后分配。所述驗證值可以是一串字母、數(shù)字或者特殊字符。驗證值是在軟件設(shè)計中已經(jīng)指定的,在創(chuàng)建加密分區(qū)時寫入分區(qū)頭,驗證值是個常量,可以是一串字母、數(shù)字或特殊字符,如一個單詞“true”。
[0037]選擇的加密分區(qū)既可以為操作系統(tǒng)創(chuàng)建好的真實分區(qū),也可以為文件型虛擬分區(qū),或者未分區(qū)存貯設(shè)備。如果為真實分區(qū),則需要用戶輸入分區(qū)盤符,例如F:;如果用戶選擇的不是真實分區(qū),則需用戶選擇加密分區(qū)位置,輸入加密分區(qū)大??;進一步還可選擇是否支持超過預定閾值(例如4G)的大文件。
[0038]可選的,所述密鑰文件可以是任一類型的文件,也可以是多密鑰文件。
[0039]較佳的,本步驟中的以上參數(shù)可以通過提示框的方式逐步引導用戶輸入。
[0040]步驟102:整個加密分區(qū)根據(jù)用戶選擇的格式化類型進行格式化。[0041]步驟103:哈希算法將用戶輸入的加載密碼和/或密鑰文件的全部或一部分進行哈希運算,生成分區(qū)頭的加密密鑰。這里的加密密鑰是由哈希算法生成的二進制序列,長度由算法決定,在解密過程中相應的為解密密鑰。利用步驟101中用戶選擇的加密算法對分區(qū)頭的加密密鑰進行加密運算,對包含驗證值的分區(qū)頭進行加密。因此用戶身份驗證是一個間接的方式,身份驗證邏輯變成:要得到驗證值的原型,必須有正確的解密密鑰,要得到正確的解密密鑰,就必須有正確的用戶密碼和/或密鑰文件。隨機數(shù)生成器生成加密分區(qū)的文件的加密密鑰,并對文件和空閑空間進行加密,該加密密鑰被分區(qū)頭的加密密鑰加密后貯存在加密分區(qū)頭的尾部,加密算法為步驟101中用戶選擇的加密算法。在對分區(qū)頭進行解密后,加密分區(qū)的文件仍然處于加密狀態(tài),并不自動解密,而是根據(jù)用戶的實際操作進行實時地解密和加密,詳見步驟2加載加密分區(qū)。對文件和分區(qū)分別進行加密更進一步地增強了文件的安全性,增加了他人破解加載密碼和密鑰文件的難度。加載密碼和密鑰文件是用戶的身份驗證信息,作為可選的實施方式,用戶可以只選擇加密密碼或密鑰文件之一作為身份認證信息,也可以同時選擇加密密碼和密鑰文件,增強認證信息的安全性。
[0042]因此,由于整個加密分區(qū)根據(jù)用戶選擇的格式化類型進行了格式化,分區(qū)頭又處于加密狀態(tài),其它系統(tǒng)僅看到加密分區(qū)的盤符或文件型虛擬分區(qū),但無法識別加密分區(qū)的格式化類型,也就無法打開。而且既使用了加載密碼,也使用了多重密鑰來加密,因此破解文件的可能性事實上不存在。
[0043]步驟104:完成對文件和分區(qū)頭的加密后,創(chuàng)建相應的加密分區(qū)。
[0044]用戶可以創(chuàng)建多個加密分區(qū)。
[0045]如圖2所示步驟2加載加密分區(qū)F:的實施例。
[0046]步驟201:提示用戶輸入認證參數(shù),認證參數(shù)包括要加載的加密分區(qū)符F:、加載密碼和/或密鑰文件,選擇加載的盤符G:。盤符G:是加載加密分區(qū)F:后提供的虛擬磁盤的盤符。
[0047]步驟202:接收到用戶輸入的上述信息后,判斷信息是否與步驟I中創(chuàng)建的加密分區(qū)F、選擇的加載密碼和/或密鑰文件一致,判斷的過程為先將用戶輸入的加載密碼和/或密鑰文件利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法轉(zhuǎn)化為一個解密密鑰,然后判斷得到的解密密鑰是否正確,判斷的方法為將得到的解密密鑰對分區(qū)頭進行解密運算,算法為加密時采用的加密算法,如能得到預先設(shè)置在分區(qū)頭的“驗證值”,則認證信息正確,分區(qū)頭被解密,進入步驟203 ;如不能得到預先設(shè)置的“驗證值”,則分區(qū)頭不能被解密,進入步驟206,顯示輸入錯誤,然后返回步驟201提示用戶重新輸入認證參數(shù)。
[0048]上述步驟201、202也可以通過加載提示框的方式逐步引導用戶輸入相關(guān)認證參數(shù),若用戶輸入的某個認證參數(shù)與創(chuàng)建時的不一致,則提示用戶該參數(shù)不正確。
[0049]步驟203-204:獲取文件的加密密鑰,但是文件并不自動進行解密,依然處于加密狀態(tài)。將加密分區(qū)F:加載到在內(nèi)存中創(chuàng)建的虛擬磁盤G:,即將加密分區(qū)F:中的文件數(shù)據(jù)的存儲路徑指向該虛擬磁盤G:。
[0050]步驟205:加密分區(qū)F:加載后,就如同操作普通分區(qū)和文件夾一樣,在分區(qū)F:上進行打開、復制、刪除、拖拉、保存任何文件或文件夾的操作,但是對文件或文件夾的任何操作的命令都在虛擬磁盤G:內(nèi)完成。在接收到讀取文件的命令后,將操作命令轉(zhuǎn)變?yōu)镮RP請求,然后在虛擬磁盤G:上利用步驟203-204所獲取文件加密密鑰對該文件進行解密,加密分區(qū)F:上的文件依然處于加密狀態(tài)。虛擬磁盤G:驅(qū)動相應文件系統(tǒng)驅(qū)動程序的IRP對虛擬磁盤G:進行相應的讀取操作,若需要執(zhí)行寫入操作,將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用步驟203-204所獲取文件加密密鑰對該寫入文件進行加密保存到所述加密分區(qū)F:。
[0051]舉個例子來說:若需要進行文件讀取,用戶點擊打開某文件時,該打開命令通過內(nèi)核的I/o管理器請求轉(zhuǎn)變?yōu)镮RP請求,傳達給加解密服務程序,利用文件加密密鑰對該文件進行解密,進而將命令傳遞給文件驅(qū)動程序,文件驅(qū)動程序啟動相應的應用軟件打開該文件。解密后的文件存貯在內(nèi)存上,用戶對文件的任何讀寫操作都在內(nèi)存中完成。若需要對加密分區(qū)F:執(zhí)行寫入操作,在點擊保存文件后,該保存的命令通過內(nèi)核的I/O管理器請求轉(zhuǎn)變?yōu)镮RP請求,傳達給加解密服務程序,利用文件加密密鑰對該文件加密,加密后的文件存貯在加密分區(qū)F:上。
[0052]本步驟中,加載加密分區(qū)F:后,分區(qū)內(nèi)的文件依然保持加密狀態(tài),加密分區(qū)F:并不打開,分區(qū)內(nèi)所有的文件都加載到步驟201選擇的虛擬磁盤G:中,加密/解密服務程序作為服務駐留內(nèi)存,提供虛擬磁盤G:驅(qū)動服務。
[0053]由于加密分區(qū)F:內(nèi)所有的文件的實時加密解密都是在內(nèi)存上完成,對文件所做的所有操作都在虛擬磁盤G:上完成,不會有未加密的文件存放到加密分區(qū)F:上,保證了加密分區(qū)F:所有的文件的安全性。
[0054]作為步驟2的一個實施例,在本步驟中,用戶可以根據(jù)需要修改加載密碼或密鑰文件,點擊保存新加載密碼或密鑰文件后,重新用哈希算法將用戶輸入的新加載密碼和新密鑰文件轉(zhuǎn)化為新的認證信息,生成的加密密鑰作為分區(qū)頭的加密密鑰對包含驗證值的分區(qū)頭加密。在下次加載該加密分區(qū)時,輸入新的加載密碼或密鑰文件進行驗證,驗證通過后加載加密分區(qū)。
[0055]加密分區(qū)成功加載后,若需要卸載該加密分區(qū),則執(zhí)行步驟3。
[0056]如圖3所示步驟3卸載加密分區(qū)的實施例:
[0057]步驟301:接收用戶的卸載命令。
[0058]步驟302:檢測是否有未保存的文件。如有,可以選擇步驟303強制卸載或者步驟304等待卸載。若選擇步驟303強制卸載,系統(tǒng)則直接強制卸載加密分區(qū)F ;若選擇步驟304等待卸載,直至保存完畢后繼續(xù)卸載加密分區(qū)F。如沒有未保存的文件,則系統(tǒng)繼續(xù)進行步驟305卸載加密分區(qū)F。
[0059]卸載后,加密分區(qū)F重新處于加密狀態(tài)。
[0060]如圖4所示,給出了本發(fā)明一種用戶級文件自動加解密裝置的實施例的構(gòu)成圖。所述一種用戶級文件自動加解密裝置包括:
[0061]創(chuàng)建加密分區(qū)單元401,包括用于接收用戶輸入的原始加密參數(shù)的接收單元4011 ;用于對加密分區(qū)進行格式化的格式化單元4012 ;用于依據(jù)用戶選擇的加密算法對加密分區(qū)的文件和空閑空間加密并將將文件加密密鑰存貯在加密分區(qū)頭的尾部的文件加密單元4013 ;用于根據(jù)用戶選擇的哈希算法生成分區(qū)頭加密密鑰,對包含驗證值的分區(qū)頭加密的分區(qū)加密單元4014。
[0062]加載加密分區(qū)單元402,用于加載加密分區(qū)并通過虛擬磁盤提供實時的加解密服務。包括對分區(qū)頭進行解密,將加密分區(qū)加載到虛擬磁盤的分區(qū)解密單元4021 ;用于在文件的讀取命令轉(zhuǎn)變?yōu)镮RP請求后,利用所述文件加密密鑰對該讀取文件進行解密,讀入所述虛擬磁盤,并將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用所述加載密碼和/或密鑰文件對該寫入文件進行加密保存到所述加密分區(qū)的文件加解密單元4022。
[0063]卸載加密分區(qū)單元403,用于接收用戶的卸載命令,檢測是否有未保存的文件,如沒有,則卸載加密分區(qū);如有,提示用戶選擇選擇強制卸載或者等待卸載,接收到等待卸載命令的,待文件保存后再進行卸載,接收到強制卸載命令時,強制卸載加密分區(qū)。
[0064]可選的,分區(qū)解密單元4021對分區(qū)解密的過程為,先將用戶輸入的加載密碼和/或密鑰文件利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法轉(zhuǎn)化為一個解密密鑰,然后判斷得到的解密密鑰是否正確,判斷的方法為將得到的解密密鑰對分區(qū)頭進行解密運算,算法為加密時采用的加密算法,如能得到預先設(shè)置在分區(qū)頭的“驗證值”,則認證信息正確,分區(qū)頭被解密,;如不能得到預先設(shè)置的“驗證值”,則分區(qū)頭不能被解密,顯示輸入錯誤,然后提示用戶重新輸入認證參數(shù)。
[0065]可選的,創(chuàng)建加密分區(qū)單元401利用接收到的參數(shù)還包括接收處理用戶選擇的加密分區(qū)位置,加密分區(qū)大小,是否支持超過4G的大文件的信息,并能夠?qū)⑸鲜鲂畔⒆鳛閰?shù)創(chuàng)建符合相應參數(shù)的加密分區(qū)。對分區(qū)進行格式化并對分區(qū)頭和文件進行加密,創(chuàng)建安全性非常高的加密分區(qū)。
[0066]可選的,創(chuàng)建加密分區(qū)單元401能夠接受任一類型的一件或多件文件作為密鑰文件。
[0067]可選的,所述創(chuàng)建加密分區(qū)單元401創(chuàng)建的加密分區(qū)類型是文件型虛擬分區(qū)或操作系統(tǒng)創(chuàng)建好的真實分區(qū)或未分區(qū)存貯設(shè)備。
[0068]可選的,所述加載加密分區(qū)單元402還包含修改加載密碼和/或密鑰文件的模塊,用于修改加載密碼和/或密鑰文件。
[0069]從上面所述可以看出,本發(fā)明提供的一種用戶級文件自動加解密方法及裝置,對創(chuàng)建的加密分區(qū)進行加密系統(tǒng)格式化,并對分區(qū)頭加密,使其他系統(tǒng)僅看到分區(qū),但無法識別分區(qū)類型,自然無法打開。由于既使用了密碼,也使用了多密鑰文件來加密,加密強度非常高,事實上不可能被破解。加載加密分區(qū)后,加密分區(qū)內(nèi)的文件被加載到創(chuàng)建在內(nèi)存中的虛擬磁盤中,加解密軟件的加密/解密服務作為服務駐留內(nèi)存提供虛擬磁盤驅(qū)動服務,將應用層的操作轉(zhuǎn)變?yōu)镮RP請求,僅加解密正在處理的文件,所有的讀寫操作都是通過虛擬磁盤完成,將所有文件的加解密任務都在內(nèi)存上完成,不會有未加密的文件存放到加密分區(qū)上,保證了加密分區(qū)所有的文件的私密性。這個階段的所有加密解密都無需用戶做額外的操作,實現(xiàn)自動、透明、安全的文件加/解密。
[0070]所屬領(lǐng)域的普通技術(shù)人員應當理解:以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種用戶級文件自動加解密方法,其特征在于,該方法包括以下步驟: (O為需要加密的文件創(chuàng)建加密分區(qū): 接收用戶輸入的原始加密參數(shù),包括選擇的加密分區(qū)位置、加載密碼和/或密鑰文件、加密算法和哈希算法和格式化類型; 對整個加密分區(qū)進行格式化; 在分區(qū)頭設(shè)置一個驗證值; 利用用戶選擇的哈希算法對加載密碼和/或密鑰文件進行哈希運算,生成分區(qū)頭加密密鑰,所述分區(qū)頭加密密鑰對包含所述驗證值的分區(qū)頭進行加密,加密算法為用戶選擇的所述加密算法; 隨機生成所述加密分區(qū)文件加密密鑰,并對文件和空閑空間進行加密,該加密密鑰被所述分區(qū)頭的加密密鑰加密后貯存在所述加密分區(qū)頭的尾部,加密算法為用戶選擇的所述加密算法; (2)加載加密分區(qū): 提示用戶輸入認證參數(shù),包括加載密碼和/或密鑰文件; 接收到用戶輸入的上述信息后,使用所述加載密碼和/或密鑰文件對分區(qū)頭進行解密,解密后在內(nèi)存中創(chuàng)建虛擬磁盤,將加密分區(qū)內(nèi)的文件加載到所述虛擬磁盤; 若需要進行文件讀取,將加密分區(qū)收到的讀取命令轉(zhuǎn)變?yōu)镮RP請求,在虛擬磁盤上利用所述文件加密密鑰對文件進行解密,`完成相應的讀取操作;若需要執(zhí)行寫入操作,將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用所述文件加密密鑰對該寫入文件進行加密,再保存到所述加密分區(qū)。
2.根據(jù)權(quán)利要求1所述的自動加解密方法,其特征在于,所述哈希算法為MD4、MD5、SHA、RIPEMD、Whirlpool、HMAC—之一,和 / 或所述加密算法為 DES、3DES、RC2、RC4、RC5、AES、Blowfish、Twofish、Rijndael 之一或其組合。
3.根據(jù)權(quán)利要求1所述的自動加解密方法,其特征在于,所述對分區(qū)頭進行解密的方法包括:利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法將所述用戶輸入的加載密碼和/或密鑰文件轉(zhuǎn)化為一個解密密鑰,將得到的解密密鑰利用所述用戶選擇的加密算法對分區(qū)頭進行解密運算,若能夠得到預先設(shè)置的驗證值,則認證信息正確,分區(qū)頭被解密,解密后加載加密分區(qū);若不能得到驗證值,則分區(qū)頭不能被解密,顯示輸入錯誤,提示用戶重新輸入認證參數(shù)。
4.根據(jù)權(quán)利要求1所述的自動加解密方法,其特征在于,所述加密分區(qū)是文件型虛擬分區(qū),或操作系統(tǒng)創(chuàng)建好的真實分區(qū),或未分區(qū)存貯設(shè)備。
5.根據(jù)權(quán)利要求1所述的自動加解密方法,其特征在于,所述加載密碼或密鑰文件可修改。
6.一種用戶級文件自動加解密裝置,其特征在于,包括: 創(chuàng)建加密分區(qū)單元,包括用于接收用戶輸入的原始加密參數(shù)的接收單元;用于對加密分區(qū)進行格式化的格式化單元;用于依據(jù)用戶選擇的加密算法對加密分區(qū)的文件和空閑空間加密并將文件加密密鑰存貯在加密分區(qū)頭的尾部的文件加密單元;用于根據(jù)用戶選擇的哈希算法生成分區(qū)頭加密密鑰,對包含驗證值的分區(qū)頭加密的分區(qū)加密單元; 加載加密分區(qū)單元,包括對分區(qū)頭進行解密,將加密分區(qū)加載到虛擬磁盤的分區(qū)解密單元;用于對文件的讀取命令轉(zhuǎn)變?yōu)镮RP請求后,利用所述文件加密密鑰對該讀取文件進行解密,讀入所述虛擬磁盤,并將寫入命令轉(zhuǎn)變?yōu)镮RP請求,利用所述加載密碼和/或密鑰文件對該寫入文件進行加密保存到所述加密分區(qū)的文件加解密單元。
7.根據(jù)權(quán)利要求6所述的自動加解密裝置,其特征在于,所述哈希算法為MD4、MD5、SHA、RIPEMD、Whirlpool、HMAC—之一,和 / 或所述加密算法為 DES、3DES、RC2、RC4、RC5、AES、Blowfish、Twofish、Rijndael 之一或其組合。
8.根據(jù)權(quán)利要求6所述的自動加解密裝置,其特征在于,所述加載加密分區(qū)單元對分區(qū)頭進行解密時,利用用戶在創(chuàng)建加密分區(qū)時選擇的哈希算法將所述用戶輸入的加載密碼和/或密鑰文件轉(zhuǎn)化為一個解密密鑰,將得到的解密密鑰利用所述用戶選擇的加密算法對分區(qū)頭進行解密運算,若能夠得到預先設(shè)置的驗證值,則認證信息正確,分區(qū)頭被解密,解密后加載加密分區(qū);若不能得到驗證值,則分區(qū)頭不能被解密,顯示輸入錯誤,提示用戶重新輸入認證參數(shù)。
9.根據(jù)權(quán)利要求6所述的自動加解密裝置,其特征在于,所述創(chuàng)建加密分區(qū)單元創(chuàng)建的加密分區(qū)類型包括文件型虛擬分區(qū)、操作系統(tǒng)創(chuàng)建好的真實分區(qū)或未分區(qū)存貯設(shè)備。
10.根據(jù)權(quán)利要求6所述的自動加解密裝置,其特征在于,所述加載加密分區(qū)單元包含修改加載密碼和/或密鑰文件的`模塊,用于修改加載密碼和/或密鑰文件。
【文檔編號】H04L29/06GK103516722SQ201310425447
【公開日】2014年1月15日 申請日期:2013年9月17日 優(yōu)先權(quán)日:2013年9月17日
【發(fā)明者】楊志堅, 成連 申請人:亞歐寶龍信息安全技術(shù)(湖南)有限公司