碎片引用數(shù)字段。
[0028]如圖3所示,根據(jù)本發(fā)明的另一方面,提供了一種本地?cái)?shù)據(jù)的安全讀取方法,該本地?cái)?shù)據(jù)的安全讀取方法包括以下步驟:
步驟1:讀取預(yù)先存儲(chǔ)在計(jì)算機(jī)密盤的虛假文件中的文件ID,根據(jù)虛假文件ID讀取預(yù)先配置在索引數(shù)據(jù)庫中的與虛假文件對(duì)應(yīng)的所有碎片文件的HASH值;
步驟2:根據(jù)所有碎片文件的HASH值,分別在所述移動(dòng)密盤和計(jì)算機(jī)密盤中查詢與所有碎片文件的HASH值一致的碎片文件,直到找到預(yù)先設(shè)置的η份碎片文件;
步驟3:對(duì)所有η份碎片文件逐一計(jì)算HASH值,與虛假文件對(duì)應(yīng)的HASH值碎片文件進(jìn)行一致性校驗(yàn);在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值存在不一致的情況下,系統(tǒng)自動(dòng)執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令;在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值一致的情況下,則執(zhí)行步驟4 ;
步驟4:將在計(jì)算機(jī)密盤中查找的碎片文件讀入移動(dòng)密盤;
步驟5:調(diào)用移動(dòng)密盤預(yù)先設(shè)置的密鑰存儲(chǔ)區(qū)內(nèi)存儲(chǔ)的加密私鑰,分別解密索引數(shù)據(jù)庫中碎片文件ID對(duì)應(yīng)的數(shù)據(jù)加密密鑰密文和破碎密鑰密文,得到數(shù)據(jù)加密密鑰和破碎密鑰;利用與破碎算放相適配的重組算法和破碎密鑰對(duì)η份碎片文件進(jìn)行重組得到數(shù)據(jù)文件密文,再用數(shù)據(jù)加密密鑰解密數(shù)據(jù)文件密文,得到數(shù)據(jù)文件;
步驟6:計(jì)算步驟5中所述數(shù)據(jù)文件的HASH值,與虛假文件中受保護(hù)數(shù)據(jù)文件的HASH值進(jìn)行比對(duì),在比對(duì)結(jié)果一致的情況下,將數(shù)據(jù)文件內(nèi)容展示給用戶;否則,執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令。
[0029]根據(jù)本發(fā)明的另一方面,提供了一種本地?cái)?shù)據(jù)的安全讀取裝置,該本地?cái)?shù)據(jù)的安全讀取裝置包括:
如圖4所示,虛假文件讀取模塊,用于讀取預(yù)先存儲(chǔ)在計(jì)算機(jī)密盤的虛假文件中的文件ID,根據(jù)虛假文件ID讀取預(yù)先配置在索引數(shù)據(jù)庫中的與虛假文件對(duì)應(yīng)的所有碎片文件的HASH值;
碎片存儲(chǔ)查詢模塊,用于根據(jù)所有碎片文件的HASH值,分別在所述移動(dòng)密盤和計(jì)算機(jī)密盤中查詢與所有碎片文件的HASH值一致的碎片文件,直到找到預(yù)先設(shè)置的η份碎片文件;
碎片文件匹配模塊,用于對(duì)所有η份碎片文件逐一計(jì)算HASH值,與虛假文件對(duì)應(yīng)的HASH值碎片文件進(jìn)行一致性校驗(yàn);在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值存在不一致的情況下,系統(tǒng)自動(dòng)執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令;
碎片文件移動(dòng)模塊,用于在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值一致的情況下;將在計(jì)算機(jī)密盤中查找的碎片文件讀入移動(dòng)密盤;
重組解密模塊,用于調(diào)用移動(dòng)密盤預(yù)先設(shè)置的密鑰存儲(chǔ)區(qū)內(nèi)存儲(chǔ)的加密私鑰,分別解密索引數(shù)據(jù)庫中碎片文件ID對(duì)應(yīng)的數(shù)據(jù)加密密鑰密文和破碎密鑰密文,得到數(shù)據(jù)加密密鑰和破碎密鑰;利用與破碎算放相適配的重組算法和破碎密鑰對(duì)η份碎片文件進(jìn)行重組得到數(shù)據(jù)文件密文,再用數(shù)據(jù)加密密鑰解密數(shù)據(jù)文件密文,得到數(shù)據(jù)文件;
文件認(rèn)證模塊,用于計(jì)算重組解密模塊得到的所述數(shù)據(jù)文件的HASH值,與虛假文件中受保護(hù)數(shù)據(jù)文件的HASH值進(jìn)行比對(duì),在比對(duì)結(jié)果一致的情況下,將數(shù)據(jù)文件內(nèi)容展示給用戶;否則,執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令。
[0030]根據(jù)本發(fā)明的另一方面,提供了一種本地?cái)?shù)據(jù)的安全保護(hù)系統(tǒng),該本地?cái)?shù)據(jù)的安全保護(hù)系統(tǒng)包括本地?cái)?shù)據(jù)的安全存儲(chǔ)裝置和本地?cái)?shù)據(jù)的安全讀取裝置,其中,所述本地?cái)?shù)據(jù)的安全存儲(chǔ)裝置包括:
虛假文件寫入模塊,用于將待保護(hù)的數(shù)據(jù)文件的按照預(yù)先設(shè)置的文件屬性信息和填充信息,寫入預(yù)先設(shè)置的計(jì)算機(jī)密盤的虛假文件中;
密鑰生成保護(hù)模塊,用于調(diào)用預(yù)先設(shè)置的移動(dòng)密盤隨機(jī)生成數(shù)據(jù)加密密鑰和破碎密鑰,然后用預(yù)先設(shè)置的USBKey中存儲(chǔ)的加密公鑰分別對(duì)數(shù)據(jù)加密密鑰和破碎密鑰進(jìn)行加密,得到數(shù)據(jù)加密密鑰密文和破碎密鑰密文;
加密破碎模塊,利用所述數(shù)據(jù)加密密鑰對(duì)待保護(hù)的數(shù)據(jù)文件進(jìn)行加密,生成密文數(shù)據(jù),再根據(jù)預(yù)先設(shè)置的破碎方法和破碎密鑰對(duì)所述密文數(shù)據(jù)進(jìn)行破碎分塊,得到η份碎片文件,并計(jì)算每份碎片文件HASH值;
碎片文件分組模塊,用于調(diào)用預(yù)先配置的碎片文件在計(jì)算機(jī)密盤與移動(dòng)密盤的存儲(chǔ)比例,按照存儲(chǔ)比例將η份碎片文件分成兩組碎片文件,并分別向所述計(jì)算機(jī)密盤和移動(dòng)密盤發(fā)送相對(duì)應(yīng)的碎片文件;
索引數(shù)據(jù)庫生成模塊,用于將預(yù)先配置的待保護(hù)的數(shù)據(jù)文件的相關(guān)信息存儲(chǔ)在預(yù)先設(shè)置的索引數(shù)據(jù)庫的文件關(guān)鍵信息表和碎片索引信息表的各數(shù)據(jù)項(xiàng)中;
碎片文件存儲(chǔ)模塊,用于將與移動(dòng)密盤相對(duì)應(yīng)的碎片文件存儲(chǔ)在移動(dòng)密盤中;并將與計(jì)算機(jī)密盤相對(duì)應(yīng)的碎片文件存儲(chǔ)到計(jì)算機(jī)密盤的隱藏文件夾中,清除內(nèi)存;
所述本地?cái)?shù)據(jù)的安全讀取裝置包括:
虛假文件讀取模塊,用于讀取預(yù)先存儲(chǔ)在計(jì)算機(jī)密盤的虛假文件中的文件ID,根據(jù)虛假文件ID讀取預(yù)先配置在索引數(shù)據(jù)庫中的與虛假文件對(duì)應(yīng)的所有碎片文件的HASH值;碎片存儲(chǔ)查詢模塊,用于根據(jù)所有碎片文件的HASH值,分別在所述移動(dòng)密盤和計(jì)算機(jī)密盤中查詢與所有碎片文件的HASH值一致的碎片文件,直到找到預(yù)先設(shè)置的η份碎片文件;
碎片文件匹配模塊,用于對(duì)所有η份碎片文件逐一計(jì)算HASH值,與虛假文件對(duì)應(yīng)的HASH值碎片文件進(jìn)行一致性校驗(yàn);在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值存在不一致的情況下,系統(tǒng)自動(dòng)執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令;
碎片文件移動(dòng)模塊,用于在虛假文件對(duì)應(yīng)的HASH值碎片文件與η份碎片文件的HASH值一致的情況下;將在計(jì)算機(jī)密盤中查找的碎片文件讀入移動(dòng)密盤;
重組解密模塊,用于調(diào)用移動(dòng)密盤預(yù)先設(shè)置的密鑰存儲(chǔ)區(qū)內(nèi)存儲(chǔ)的加密私鑰,分別解密索引數(shù)據(jù)庫中碎片文件ID對(duì)應(yīng)的數(shù)據(jù)加密密鑰密文和破碎密鑰密文,得到數(shù)據(jù)加密密鑰和破碎密鑰;利用與破碎算放相適配的重組算法和破碎密鑰對(duì)η份碎片文件進(jìn)行重組得到數(shù)據(jù)文件密文,再用數(shù)據(jù)加密密鑰解密數(shù)據(jù)文件密文,得到數(shù)據(jù)文件;
文件認(rèn)證模塊,用于計(jì)算重組解密模塊得到的所述數(shù)據(jù)文件的HASH值,與虛假文件中受保護(hù)數(shù)據(jù)文件的HASH值進(jìn)行比對(duì),在比對(duì)結(jié)果一致的情況下,將數(shù)據(jù)文件內(nèi)容展示給用戶;否則,執(zhí)行預(yù)先存儲(chǔ)的返回錯(cuò)誤結(jié)束操作的指令。
[0031]具體應(yīng)用時(shí),如圖5所示,本系統(tǒng)包括計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)保護(hù)軟件和移動(dòng)密盤;其中:
所述計(jì)算機(jī)系統(tǒng)與所述移動(dòng)密盤通過USB接口相連接;可以是臺(tái)式機(jī)、筆記本、智能終端;
所述數(shù)據(jù)保護(hù)軟件安裝在所述計(jì)算機(jī)系統(tǒng)上,針對(duì)用戶設(shè)置在所述計(jì)算機(jī)系統(tǒng)上的某一特定文件夾進(jìn)行保護(hù),將該文件夾定義為計(jì)算機(jī)密盤;利用應(yīng)用層控制程序和內(nèi)核層文件過濾驅(qū)動(dòng)程序,對(duì)寫入計(jì)算機(jī)密盤的任意格式的數(shù)據(jù)文件進(jìn)行保護(hù); 所述移動(dòng)密盤是一個(gè)自身帶有硬件密碼系統(tǒng)移動(dòng)存儲(chǔ)盤;進(jìn)出移動(dòng)密盤的數(shù)據(jù)都是明文,存儲(chǔ)在移動(dòng)密盤中的數(shù)據(jù)是密文,通過密碼芯片加密/解密;智能密碼鑰匙(以下簡稱USBKey)通過USB接口接入移動(dòng)密盤,與移動(dòng)密盤聯(lián)合起來使用,通過移動(dòng)密盤上的按鍵輸AUSBKey的PIN碼校驗(yàn)用戶身份,以獲得USBKey中加密公私鑰對(duì)和移動(dòng)密盤的使用權(quán)限。
[0032]結(jié)合如圖2所示,利用應(yīng)用層控制程序和內(nèi)核層文件過濾驅(qū)動(dòng)程序?qū)⒋Wo(hù)的數(shù)據(jù)文件寫成一個(gè)虛假文件,存儲(chǔ)在計(jì)算機(jī)密盤上,對(duì)用戶可見;將待保護(hù)的數(shù)據(jù)文件加密破碎成η份(η為大于I的整數(shù),可配置)碎片文件,將所述η份碎片文件按照存儲(chǔ)比例(可配置)分成兩組,分別存儲(chǔ)于計(jì)算機(jī)密盤的隱藏文件夾中和移動(dòng)密盤中;建立一個(gè)索引數(shù)據(jù)庫存儲(chǔ)于移動(dòng)密盤中,實(shí)現(xiàn)碎片文件快速存儲(chǔ)與查詢的同時(shí)保證數(shù)據(jù)安全可靠;其中:
所述虛假文件與待保護(hù)數(shù)據(jù)文件的格式和文件名稱一致,其存儲(chǔ)的內(nèi)容包括固定大小的文件屬性信息和填充信息兩個(gè)部分;所述文件屬性信息:包括文件ID、文件密級(jí)、文件控制信息、創(chuàng)建者、來源所有者、當(dāng)前所有者、文件校驗(yàn)和、受保護(hù)數(shù)據(jù)文件的大小、受保護(hù)數(shù)據(jù)文件的HASH值、文件修改時(shí)間、當(dāng)前文件全路徑、前述信息的HASH值,用于將數(shù)據(jù)文件的真實(shí)內(nèi)容定向到計(jì)算機(jī)密盤和移動(dòng)密盤中對(duì)應(yīng)的碎片文件;所述填充信息:若真實(shí)的數(shù)據(jù)文件大小小于或等于文件屬性信息大小,則虛假文件不作填充;否則,填充信息的長度為真實(shí)文件的長度減去文件屬性信息的長度,填充信息可以是隨機(jī)生成的,也可以是固定值;
所述碎片文件是指先用加密算法對(duì)待保護(hù)的數(shù)據(jù)文件加密,再用破碎算法對(duì)密文破碎得到的文件;所述碎片文件以碎片內(nèi)容的HASH值命名,用于校驗(yàn)碎片文件的完整性;
所述索引數(shù)據(jù)庫包括文件關(guān)鍵信息表和碎片索引信息表,用于存儲(chǔ)密鑰信息和碎片信息;文件關(guān)鍵信息表包括:文件ID、密盤存儲(chǔ)碎片份數(shù)、移動(dòng)密盤存儲(chǔ)碎片份數(shù)、數(shù)據(jù)加密密鑰密文、破碎密鑰密文、碎片HASH值字段;碎片索引信息表包括:碎片HASH值、碎片存儲(chǔ)位置、碎片引用數(shù)字段。
[0033]另外,本系統(tǒng)還可