Fat32文件系統(tǒng)數(shù)據(jù)加密方法
【專利摘要】本發(fā)明公開了一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,涉信息安全領(lǐng)域與數(shù)據(jù)存儲領(lǐng)域。該方法相對于傳統(tǒng)的FTA32文件系統(tǒng)的加密方式,明文部分和密文部分分別由專用FAT表進(jìn)行加解密索引進(jìn)行加解密的方式。本發(fā)明采用明文密文統(tǒng)一由同一個FAT表進(jìn)行加解密索引管理。此方法可以動態(tài)分配統(tǒng)一分區(qū)內(nèi)部明文區(qū)域和密文區(qū)域的大小,從而最大程度上減少由于明文密文分開存儲帶來的存儲浪費(fèi),具有較高的實用價值。
【專利說明】FAT32文件系統(tǒng)數(shù)據(jù)加密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全領(lǐng)域與數(shù)據(jù)存儲領(lǐng)域,特別涉及一種針對目前廣泛使用的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法。
【背景技術(shù)】
[0002]隨著信息技術(shù)的高速發(fā)展,越來越多的信息以計算機(jī)文件的形式存儲,例如FAT32文件形式。伴隨著信息化的存儲的便捷,存儲安全性問題越來越受到人們的關(guān)注。
[0003]現(xiàn)有技術(shù)中通過對文件進(jìn)行加密以加強(qiáng)存儲安全,然而加強(qiáng)存儲安全的同時,還帶來了一些不便:例如對FTA32文件系統(tǒng)的加密方式,只針對于分區(qū)進(jìn)行解析,從而確定加密數(shù)據(jù)的加密技術(shù)范圍的方式。在實際使用過程中,傳統(tǒng)的方式,即針對分區(qū)進(jìn)行的加密范圍劃定的方式會帶來一些使用不便。例如當(dāng)總體存儲空間大小為2G,加密分區(qū)和非加密分區(qū)各為1G。當(dāng)同時使用加密分區(qū)和非加密分區(qū)時,可能會造成存儲空間的浪費(fèi)。原因在于根據(jù)FAT32的文件組織形式,需要先約定好分區(qū)大小,F(xiàn)AT表組織形式根據(jù)預(yù)先分配的分區(qū)大小而確定。即當(dāng)已分配好的IG加密分區(qū)全部使用后,而有新的需要存儲加密的數(shù)據(jù)時,沒有足夠的存儲空間。由于分區(qū)所限制,不能動態(tài)調(diào)整加密部分與非加密部分的大小空間。傳統(tǒng)方式核心在于明文存儲索引與密文存儲所以為兩個獨(dú)立的FAT表。
【發(fā)明內(nèi)容】
[0004]為了解決上述問題,本發(fā)明提供了一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,其包括:前置接收步驟,在FAT32文件系統(tǒng)存儲在存儲介質(zhì)之前截獲FAT32文件系統(tǒng)數(shù)據(jù)信息,所述FAT32文件系統(tǒng)數(shù)據(jù)信息包括FAT表、DBR區(qū)和數(shù)據(jù)域數(shù)據(jù);地址數(shù)據(jù)解析步驟,接收所述前置接收步驟發(fā)送的所述FAT32文件系統(tǒng)數(shù)據(jù)信息,并加以解析以將所述數(shù)據(jù)域區(qū)域和FAT表、DBR區(qū)分離開;對稱算法的數(shù)據(jù)加密步驟,對所述數(shù)據(jù)域數(shù)據(jù)采用對稱算法進(jìn)行加密以獲得加密數(shù)據(jù),對FAT表和DBR區(qū)不進(jìn)行加密以獲得未做加密的數(shù)據(jù),其中,加密密鑰和解密密鑰相同且唯一,該步驟在CPU向所述存儲介質(zhì)寫入FAT32形式的文件時進(jìn)行;數(shù)據(jù)轉(zhuǎn)發(fā)步驟,將經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未做加密的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
[0005]根據(jù)如上所述的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,優(yōu)選,在對稱算法的數(shù)據(jù)加密步驟之前,所述FAT32文件系統(tǒng)數(shù)據(jù)加密方法還包括:加密使能步驟,通知所述對稱算法的數(shù)據(jù)加密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行加密。
[0006]根據(jù)如上所述的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,優(yōu)選,所述FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括:對稱算法的數(shù)據(jù)解密步驟,對經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)進(jìn)行解密,該步驟在CPU從所述存儲介質(zhì)讀取FAT32形式的文件時進(jìn)行。
[0007]根據(jù)如上所述的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,優(yōu)選,在對稱算法的數(shù)據(jù)解密步驟之前,所述FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括:解密使能步驟,通知所述對稱算法的數(shù)據(jù)解密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行解密。
[0008]根據(jù)如上所述的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,優(yōu)選,在將經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未加密數(shù)據(jù)進(jìn)行存儲時,用于存儲所述未加密數(shù)據(jù)的明文存儲區(qū)域與用于存儲所述加密數(shù)據(jù)的密文存儲區(qū)域的存儲索引為一個公共的索引。
[0009]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0010]本發(fā)明不針對分區(qū)進(jìn)行加密特征劃分。改變傳統(tǒng)的先約定加密分區(qū),后進(jìn)行使用的方式。采用實時人機(jī)界面標(biāo)注是否需要加密的方式。為此在對FTA32文件系統(tǒng)進(jìn)行解析時,區(qū)別于傳統(tǒng)方式加密分區(qū)內(nèi)部數(shù)據(jù)全部加密,包括(數(shù)據(jù)域數(shù)據(jù)、FAT表數(shù)據(jù));本方法只加密數(shù)據(jù)域部分?jǐn)?shù)據(jù)(FAT表數(shù)據(jù)不加密)。由于文件系統(tǒng)在實際使用時,文件索引由FAT表進(jìn)行,及在本分區(qū)內(nèi)部的文件全部(明文索引和密文索引)為一個公共索引,明文密文統(tǒng)一由同一個FAT表進(jìn)行加解密索引管理,共享其整體存儲空間,即可實現(xiàn)明文區(qū)域與密文區(qū)域的動態(tài)大小分布,從而最大程度上減少由于明文密文分開存儲帶來的存儲浪費(fèi),具有較高的實用價值。
【專利附圖】
【附圖說明】
[0011]圖1為本發(fā)明實施例提供的一種執(zhí)行FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法的整體邏輯架構(gòu)示意圖;
[0012]圖2為本發(fā)明實施例提供的一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法的邏輯實現(xiàn)方式示意圖:
[0013]圖3為本發(fā)明實施例提供的一種FAT32文件系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0014]下面結(jié)合附圖和【具體實施方式】對本發(fā)明做進(jìn)一步詳細(xì)說明。
[0015]參見圖1-圖3,本發(fā)明實施例提供了一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,其包括如下步驟:
[0016]前置接收步驟,在FAT32文件系統(tǒng)存儲在存儲介質(zhì)之前截獲FAT32文件系統(tǒng)數(shù)據(jù)信息,F(xiàn)AT32文件系統(tǒng)數(shù)據(jù)信息包括FAT表、DBR區(qū)和數(shù)據(jù)域數(shù)據(jù);
[0017]地址數(shù)據(jù)解析步驟,接收前置接收步驟發(fā)送的FAT32文件系統(tǒng)數(shù)據(jù)信息,并加以解析以將數(shù)據(jù)域區(qū)域和FAT表、DBR區(qū)分離開;
[0018]具體地,地址數(shù)據(jù)解析步驟解析數(shù)據(jù)的方法需要解析判斷出,數(shù)據(jù)域部分?jǐn)?shù)據(jù)和非數(shù)據(jù)域部分?jǐn)?shù)據(jù),從而定義該部分FAT32文件系統(tǒng)的數(shù)據(jù)是否為加密的實際有效部分。而不是通過分區(qū)不同、或者隱藏分區(qū)形式判斷該部分?jǐn)?shù)據(jù)是否為加密的實際有效部分。即本方法在文件系統(tǒng)內(nèi)只加密數(shù)據(jù)域部分,而區(qū)別于其他方式數(shù)據(jù)域與FAT表一起加密的形式。
[0019]對稱算法的數(shù)據(jù)加密步驟,對數(shù)據(jù)域數(shù)據(jù)采用對稱算法進(jìn)行加密以獲得加密數(shù)據(jù),對FAT表和DBR區(qū)不進(jìn)行加密以獲得未做加密的數(shù)據(jù),其中,加密密鑰和解密密鑰相同且唯一,該步驟在CPU向存儲介質(zhì)寫入FAT32形式的文件時進(jìn)行;
[0020]數(shù)據(jù)轉(zhuǎn)發(fā)步驟,將經(jīng)對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未做加密的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
[0021]具體地,數(shù)據(jù)轉(zhuǎn)發(fā)步驟包括:
[0022]在將經(jīng)對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未加密數(shù)據(jù)進(jìn)行存儲時,用于存儲未加密數(shù)據(jù)的明文存儲區(qū)域與用于存儲加密數(shù)據(jù)的密文存儲區(qū)域的存儲索引(FAT表)為一個公共的索引(FAT表)。即不單獨(dú)將明文存儲區(qū)域和密文存儲區(qū)域的文件索引分為兩個或多個獨(dú)立的索引(FAT表)
[0023]為了便于使用者的使用,即滿足個性化的需求,在對稱算法的數(shù)據(jù)加密步驟之前,F(xiàn)AT32文件系統(tǒng)數(shù)據(jù)加密方法還包括:加密使能步驟,通知對稱算法的數(shù)據(jù)加密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行加密。在實際中,可以采用人為干預(yù)的模式使得該步驟執(zhí)行或放棄。
[0024]FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括:
[0025]對稱算法的數(shù)據(jù)解密步驟,對經(jīng)對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)進(jìn)行解密,該步驟在CPU從存儲介質(zhì)讀取FAT32形式的文件時進(jìn)行。
[0026]在對稱算法的數(shù)據(jù)解密步驟之前,F(xiàn)AT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括:解密使能步驟,通知對稱算法的數(shù)據(jù)解密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行解密。
[0027]需要說明的是:上述加密/解密方法適用于橋接在任何形式的操作系統(tǒng)與FAT32文件系統(tǒng)之間。其特征在于,當(dāng)操作系統(tǒng)(OS)寫入FAT32文件系統(tǒng)數(shù)據(jù)時,通過本方法實現(xiàn)加密服務(wù)。當(dāng)操作系統(tǒng)從FAT32文件系統(tǒng)讀出數(shù)據(jù)時,通過本方法實現(xiàn)解密服務(wù)。
[0028]本發(fā)明實施例提供了一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)裝置,其包括前置接收模塊、地址數(shù)據(jù)解析模塊、對稱算法的數(shù)FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)裝置據(jù)加密模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊。
[0029]前置接收裝置:為一種數(shù)據(jù)處理模塊,其模塊應(yīng)用位置為操作系統(tǒng)(OS)與文件系統(tǒng)(FS)數(shù)據(jù)存儲的介質(zhì)(光盤、硬盤、FLASH存儲介質(zhì))之間。其物理表現(xiàn)形式為硬件或者軟件。其功能是在FAT32文件系統(tǒng)存儲在存儲介質(zhì)之前截獲全部文件系統(tǒng)數(shù)據(jù)信息,包括FAT表、DBR區(qū)、數(shù)據(jù)區(qū)等。該模塊截獲的數(shù)據(jù)信息轉(zhuǎn)發(fā)到地址數(shù)據(jù)解析模塊。
[0030]地址數(shù)據(jù)解析模塊:為一種數(shù)據(jù)解析模塊,其模塊應(yīng)用位置為前置接受裝置之后。接收前置接收裝置模塊換發(fā)來的全部FAT32文件系統(tǒng)數(shù)據(jù),并且加以解析。該模塊將文件數(shù)據(jù)域數(shù)據(jù)和FAT32鏈表、DBR區(qū)等分離開,并將需要解密的數(shù)據(jù)部分轉(zhuǎn)發(fā)至對稱算法的數(shù)據(jù)加密模塊;
[0031]對稱算法的數(shù)據(jù)加密模塊:一種通過對稱算法對數(shù)據(jù)進(jìn)行加密/解密模塊。其應(yīng)用位置為地址數(shù)據(jù)解析模塊之后。用于對轉(zhuǎn)發(fā)來的數(shù)據(jù)信息進(jìn)行加密和解密。加密密鑰與解密密鑰相同且唯一。其加密行為指當(dāng)從CPU向存儲介質(zhì)寫入FAT32形式的文件時進(jìn)行。其解密行為指當(dāng)從CPU從存儲介質(zhì)讀取FAT32形式的文件時進(jìn)行。該模塊只對數(shù)據(jù)域數(shù)據(jù)進(jìn)行加密,對于FAT表、DBR區(qū)域文件不進(jìn)行加密。該模塊可以通過加密/透傳使能模塊進(jìn)行控制,開啟和關(guān)閉加密解密功能;
[0032]數(shù)據(jù)轉(zhuǎn)發(fā)模塊:一種數(shù)據(jù)轉(zhuǎn)發(fā)模塊,其轉(zhuǎn)發(fā)的數(shù)據(jù)包括前置接收裝置接收到后未做加密的數(shù)據(jù),包括FAT表、DBR區(qū),以及稱算法的數(shù)據(jù)加密模塊加密/解密后的數(shù)據(jù);
[0033]FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)裝置還包括:加密/透傳使能模塊:一種用于通知稱算法的數(shù)據(jù)加密模塊當(dāng)前需要處理的數(shù)據(jù)是否進(jìn)行加密/解密的模塊。其通知方式可以通用硬件或者軟件。該模塊預(yù)留人機(jī)接口用于通過人為干預(yù)的模式通知該模塊是否啟動加密功能;可以通過該模塊實現(xiàn)以人機(jī)交互的方式,開啟或禁止加密/解密功能。其模塊的特征表現(xiàn)為一種硬件的物理設(shè)備或者一種軟件程序。
[0034]實際應(yīng)用時,從O扇區(qū)開始的為引導(dǎo)扇區(qū),DBR區(qū)(DOS BOOT RECORD)即操作系統(tǒng)引導(dǎo)記錄區(qū)的意思,通常占用分區(qū)的第O扇區(qū)共512個字節(jié)(特殊情況也要占用其它保留扇區(qū),我們先說第O扇)。在這512個字節(jié)中,其實又是由跳轉(zhuǎn)指令,廠商標(biāo)志和操作系統(tǒng)版本號,BPB (B1S Parameter Block),擴(kuò)展BPB,OS引導(dǎo)程序,結(jié)束標(biāo)志幾部分組成。FAT32中DBR相關(guān)含義如下:
[0035]FATI, FAT2,為兩個鏈表,分別記錄了所對應(yīng)的簇是否已經(jīng)占用和下一個簇的地址。后面會詳細(xì)論述。
[0036]根目錄表記錄了存儲的文件相關(guān)的數(shù)據(jù),包括文件名,文件大小,起始簇,創(chuàng)建時間等信息。想要實現(xiàn)對加密數(shù)據(jù)的加密存儲,必須要將以上信息實現(xiàn)過濾,及通過本方法對以上信息不做加解密處理,使操作系統(tǒng)可以正確識別,存儲介質(zhì)中文件格式,和簇使用情況。由于以上信息在介質(zhì)中的起始簇會根據(jù)容量大小的不同而有差異,必須根據(jù)實際情況計算出具體的地址。
[0037]DBR
[0038]DBR在介質(zhì)中存儲位置固定為第O扇區(qū)中的512字節(jié),DBR中定義了 DBR保留扇區(qū)的大小,所以 DBR = Reserved sector
[0039]FATl FAT2
[0040]DBR中定義了 FAT32的相關(guān)信息。
[0041]FAT = sector per FAT*numbers of FATS
[0042]根目錄表
[0043]格式化后會在緊跟FAT表后創(chuàng)建4k目錄表文件,在FAT32中把目錄表當(dāng)成一種特殊的文件,其存儲的方式按照一般文件存儲的方式進(jìn)行。
[0044]就是說根目錄的起始4k文件保存在緊跟FAT表后的位置,而當(dāng)目錄表不夠用時,會查詢FAT表在其他的地方繼續(xù)保存文件目錄。因此,目錄表的位置并不確定,想要保存所有的目錄表必須對FAT表進(jìn)行遍歷,并將FAT表保存的位置保存,在數(shù)據(jù)通信階段,對FAT表的讀寫操作不做加解密處理。
[0045]通過通信階段對DBR+FAT+根目錄的過濾操作,即可實現(xiàn)對文件的動態(tài)加密。
[0046]綜上所述,本發(fā)明實施例的有益效果如下:
[0047]本發(fā)明不針對分區(qū)進(jìn)行加密特征劃分。改變傳統(tǒng)的先約定加密分區(qū),后進(jìn)行使用的方式。采用實時人機(jī)界面標(biāo)注是否需要加密的方式。為此在對FTA32文件系統(tǒng)進(jìn)行解析時,區(qū)別于傳統(tǒng)方式加密分區(qū)內(nèi)部數(shù)據(jù)全部加密,包括(數(shù)據(jù)域數(shù)據(jù)、FAT表數(shù)據(jù));本方法只加密數(shù)據(jù)域部分?jǐn)?shù)據(jù)(FAT表數(shù)據(jù)不加密)。由于文件系統(tǒng)在實際使用時,文件索引由FAT表進(jìn)行,及在本分區(qū)內(nèi)部的文件全部(明文索引和密文索引)為一個公共索引,明文密文統(tǒng)一由同一個FAT表進(jìn)行加解密索引管理,共享其整體存儲空間,即可實現(xiàn)明文區(qū)域與密文區(qū)域的動態(tài)大小分布,從而最大程度上減少由于明文密文分開存儲帶來的存儲浪費(fèi),具有較高的實用價值。
[0048]本發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
【權(quán)利要求】
1.一種FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,其特征在于,所述FAT32文件系統(tǒng)數(shù)據(jù)加密方法包括: 前置接收步驟,在FAT32文件系統(tǒng)存儲在存儲介質(zhì)之前截獲FAT32文件系統(tǒng)數(shù)據(jù)信息,所述FAT32文件系統(tǒng)數(shù)據(jù)信息包括FAT表、DBR區(qū)和數(shù)據(jù)域數(shù)據(jù); 地址數(shù)據(jù)解析步驟,接收所述前置接收步驟發(fā)送的所述FAT32文件系統(tǒng)數(shù)據(jù)信息,并加以解析以將所述數(shù)據(jù)域區(qū)域和FAT表、DBR區(qū)分離開; 對稱算法的數(shù)據(jù)加密步驟,對所述數(shù)據(jù)域數(shù)據(jù)采用對稱算法進(jìn)行加密以獲得加密數(shù)據(jù),對FAT表和DBR區(qū)不進(jìn)行加密以獲得未做加密的數(shù)據(jù),其中,加密密鑰和解密密鑰相同且唯一,該步驟在CPU向所述存儲介質(zhì)寫入FAT32形式的文件時進(jìn)行; 數(shù)據(jù)轉(zhuǎn)發(fā)步驟,將經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未做加密的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法,其特征在于,在對稱算法的數(shù)據(jù)加密步驟之前,所述FAT32文件系統(tǒng)數(shù)據(jù)加密方法還包括:加密使能步驟,通知所述對稱算法的數(shù)據(jù)加密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行加密。
3.根據(jù)權(quán)利要求1所述的FAT32文件系統(tǒng)數(shù)據(jù)加密方法,其特征在于,所述FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括: 對稱算法的數(shù)據(jù)解密步驟,對經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)進(jìn)行解密,該步驟在CPU從所述存儲介質(zhì)讀取FAT32形式的文件時進(jìn)行。
4.根據(jù)權(quán)利要求3所述的FAT32文件系統(tǒng)數(shù)據(jù)加密方法,其特征在于,在對稱算法的數(shù)據(jù)解密步驟之前,所述FAT32文件系統(tǒng)數(shù)據(jù)加密保護(hù)方法還包括: 解密使能步驟,通知所述對稱算法的數(shù)據(jù)解密步驟當(dāng)前處理的數(shù)據(jù)是否進(jìn)行解密。
5.根據(jù)權(quán)利要求1所述的FAT32文件系統(tǒng)數(shù)據(jù)加密方法,其特征在于, 在將經(jīng)所述對稱算法的數(shù)據(jù)加密步驟得到的加密數(shù)據(jù)和未加密數(shù)據(jù)進(jìn)行存儲時,用于存儲所述未加密數(shù)據(jù)的明文存儲區(qū)域與用于存儲所述加密數(shù)據(jù)的密文存儲區(qū)域的存儲索引為一個公共的索引。
【文檔編號】G06F21/60GK104462999SQ201410773806
【公開日】2015年3月25日 申請日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】楊舉岷, 劉海, 殷國良 申請人:北京航星機(jī)器制造有限公司