快速校驗(yàn)存儲(chǔ)設(shè)備的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬電子取證數(shù)據(jù)保全領(lǐng)域,具體涉及一種快速校驗(yàn)存儲(chǔ)設(shè)備的方法。
【背景技術(shù)】
[0002]電子取證又稱為計(jì)算機(jī)取證或計(jì)算機(jī)法醫(yī)學(xué),是研宄如何對(duì)計(jì)算機(jī)、網(wǎng)絡(luò)入侵與犯罪的證據(jù)進(jìn)行獲取、保全、分析和出示的科學(xué)技術(shù)。隨著計(jì)算機(jī)的廣泛應(yīng)用和普及,利用計(jì)算機(jī)和網(wǎng)絡(luò)或以計(jì)算機(jī)和網(wǎng)絡(luò)作為工具目標(biāo)的犯罪日益猖獗,電子取證能夠在打擊和對(duì)抗該種數(shù)字化犯罪過(guò)程中發(fā)揮關(guān)鍵性的作用。
[0003]電子數(shù)據(jù)的保全,要遵循普通證據(jù)的保全規(guī)則。電子數(shù)據(jù)的特殊性令其保全方法具有特殊性,主要體現(xiàn)在公證保全上。電子數(shù)據(jù)的即時(shí)性和易逝性對(duì)電子數(shù)據(jù)公證保全的程序提出了較高的要求。隨著電子技術(shù)的進(jìn)一步發(fā)展,未來(lái)電子數(shù)據(jù)的公證保全可以建設(shè)網(wǎng)絡(luò)公證中心為基礎(chǔ),發(fā)展出一套不同于傳統(tǒng)證據(jù)公證保全的特殊程序。
[0004]在國(guó)內(nèi),有關(guān)計(jì)算機(jī)取證方面的研宄和實(shí)踐多是利用國(guó)外一些常用的取證工具,在計(jì)算機(jī)取證的流程上也缺乏較為深入的研宄,證據(jù)的保存制度和方法也不盡完善,從而造成了電子數(shù)據(jù)證據(jù)的可靠性、有效性、可信度不高。
[0005]MD5算法的全稱是Message-Digest algorithm 5,是一種用于產(chǎn)生數(shù)字簽名的計(jì)算機(jī)安全領(lǐng)域廣泛使用的單項(xiàng)散列算法。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式,即將一個(gè)任意長(zhǎng)度的“字節(jié)串”通過(guò)一個(gè)不可逆的字符串變換算法變換成一個(gè)128位的串。MD5算法的原理是對(duì)輸入信息進(jìn)行初始化處理后,以512位進(jìn)行分組來(lái)處理輸入信息,每一組又被劃分成16個(gè)32位的子分組,經(jīng)過(guò)一系列的變換處理后,輸出四個(gè)32位分組,再將這四個(gè)32位分組級(jí)聯(lián)后生成一個(gè)128位的散列值。使用MD5算法來(lái)檢測(cè)數(shù)據(jù)的完整性可以有效防止信息被篡改、偽造和假冒,以保證存儲(chǔ)設(shè)備的數(shù)據(jù)在送檢時(shí)完整一致且數(shù)據(jù)有效可靠。
[0006]然而,在實(shí)際應(yīng)用中,隨著企業(yè)信息和數(shù)據(jù)的巨大膨脹,該方法暴露出來(lái)的問(wèn)題是效率的降低和數(shù)據(jù)管理的復(fù)雜,但保全數(shù)據(jù)的重要性有著不可替代的重要性,亟需將方法做適當(dāng)?shù)男薷暮脱a(bǔ)充,以更加適合應(yīng)用需要。
[0007]本文使用的專業(yè)術(shù)語(yǔ)說(shuō)明:
[0008]LBA:Logical Block Address (邏輯區(qū)塊地址),是一種簡(jiǎn)單的尋址模式,從O開(kāi)始編號(hào)來(lái)定位邏輯區(qū)塊,第一區(qū)塊的LBA值為0,第二區(qū)塊的LBA值為1,以此類推。
[0009]簇號(hào):簇的編號(hào),通常從I開(kāi)始編號(hào),簇是windows系統(tǒng)最小數(shù)據(jù)存儲(chǔ)管理單元。
[0010]fat表:文件分配表(fat)是文件管理系統(tǒng)用來(lái)給每個(gè)文件分配磁盤物理空間的表格,記錄文件存放在磁盤的位置。
[0011]目錄項(xiàng):最重要的數(shù)據(jù)結(jié)構(gòu),其中存放著有關(guān)子目錄或文件的文件名、屬性、起始簇號(hào)、時(shí)間值以及內(nèi)容大小等信息。
[0012]BPB:是B1S參數(shù)塊的縮寫,它位于存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)中。
【發(fā)明內(nèi)容】
[0013]本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供了一種快速校驗(yàn)存儲(chǔ)設(shè)備的方法,能夠有效的解決大容量數(shù)據(jù)進(jìn)行MD5校驗(yàn)保全的效率過(guò)低、管理復(fù)雜等問(wèn)題。
[0014]為解決以上問(wèn)題,本發(fā)明采用的技術(shù)方案如下:一種快速校驗(yàn)存儲(chǔ)設(shè)備的方法,包括以下步驟:
[0015]S1.解析存儲(chǔ)設(shè)備的各參數(shù)信息,包括文件系統(tǒng)、特定的數(shù)據(jù)結(jié)構(gòu);
[0016]S2.根據(jù)SI解析的參數(shù)信息判斷存儲(chǔ)設(shè)備的數(shù)據(jù)結(jié)構(gòu)是否為特定的數(shù)據(jù)結(jié)構(gòu),如果是則跳至S3,否則跳至S5 ;
[0017]S3.提取特定的數(shù)據(jù)結(jié)構(gòu)中各個(gè)參數(shù)的值,并記錄其偏移位置;
[0018]S4.對(duì)提取的特定的數(shù)據(jù)結(jié)構(gòu)按照存儲(chǔ)設(shè)備中的順序重新組合后跳至S6 ;
[0019]S5.無(wú)特殊結(jié)構(gòu)則采用全盤逐字節(jié)進(jìn)行校驗(yàn)后跳至S6 ;
[0020]S6.對(duì)S4重新組合后的新文件或者S5檢驗(yàn)后的文件進(jìn)行MD5校驗(yàn);
[0021]S7.保存校驗(yàn)產(chǎn)生的MD5值,并同時(shí)保存各參數(shù)對(duì)應(yīng)的存儲(chǔ)設(shè)備位置。
[0022]作為優(yōu)選,SI的具體方法為讀取存儲(chǔ)設(shè)備中前3個(gè)扇區(qū),并解析扇區(qū)中所存儲(chǔ)的數(shù)據(jù)。
[0023]作為優(yōu)選,SI所述的特定的數(shù)據(jù)結(jié)構(gòu)包括特定的文件系統(tǒng)結(jié)構(gòu)和特定的監(jiān)控視頻結(jié)構(gòu)。
[0024]作為優(yōu)選,所述的特定的文件系統(tǒng)結(jié)構(gòu)有:fatl2、fatl6、fat32、ntfs、ext2、ext3、ext4、xfs、jfs、hfs 和 hfs+。
[0025]作為優(yōu)選,所述的特定的監(jiān)控視頻結(jié)構(gòu)有:海康、大華、漢邦、銳明視訊、帝視寶、波粒、WFS2/3/4、藍(lán)色星際、智領(lǐng)和龍視安廠商使用的監(jiān)控視頻數(shù)據(jù)格式。
[0026]作為優(yōu)選,當(dāng)所述的特定的文件系統(tǒng)結(jié)構(gòu)為fat32時(shí),則在fat32結(jié)構(gòu)中提取存儲(chǔ)設(shè)備的主引導(dǎo)記錄、分區(qū)引導(dǎo)記錄、fat表1、fat表2、根目錄、全部子目錄項(xiàng)的值和偏移位置。
[0027]作為優(yōu)選,當(dāng)所述的特定的文件系統(tǒng)結(jié)構(gòu)有為ntfs時(shí),則在ntfs結(jié)構(gòu)中提取主引導(dǎo)記錄、分區(qū)引導(dǎo)記錄、元數(shù)據(jù)文件、所有的mtf表項(xiàng)的值和偏移位置。
[0028]作為優(yōu)選,S3具體還包括以下步驟:
[0029]S311.從文件系統(tǒng)的根目錄表項(xiàng)中讀取當(dāng)前文件夾目錄所在簇號(hào)信息;
[0030]S312.跳轉(zhuǎn)至該簇號(hào)后,逐一讀取該簇號(hào)下所有的目錄項(xiàng)信息;
[0031]S313.對(duì)比目錄項(xiàng)中的文件名與要打開(kāi)的文件的文件名是否一致,解析目錄項(xiàng)中的文件屬性信息,并與當(dāng)前鼠標(biāo)選中的文件進(jìn)行匹配,若不匹配,則跳至S312繼續(xù)讀取下一目錄項(xiàng)信息進(jìn)行匹配,否則跳至S314 ;
[0032]S314.匹配成功后,讀取目錄項(xiàng)詳細(xì)信息,獲取文件存儲(chǔ)位置及文件大小信息;
[0033]S315.讀取fat表中記錄對(duì)應(yīng)該文件存儲(chǔ)位置的使用記錄,并獲取其LBA信息;
[0034]S316.更新目錄項(xiàng)中的文件訪問(wèn)時(shí)間或修改時(shí)間信息,并寫回。
[0035]作為優(yōu)選,S3具體還包括以下步驟:
[0036]S321.在存儲(chǔ)設(shè)備寫入文件時(shí),先獲取存儲(chǔ)寫入文件或文件夾的根目錄所在簇號(hào)的信息;
[0037]S322.判斷該目錄項(xiàng)是否被占用,若沒(méi)被占用則寫入新數(shù)據(jù);
[0038]S323.判斷字節(jié)是否為正常標(biāo)記,只有當(dāng)目錄項(xiàng)的首字節(jié)為0xE5或0x00,表示該目錄項(xiàng)未使用,可以寫入數(shù)據(jù);若是,則跳至S3211 ;若否,則跳至S324 ;
[0039]S324.跳至下一目錄項(xiàng);
[0040]S325.計(jì)算簇中目錄項(xiàng)數(shù)目,判斷此目錄項(xiàng)是否超出每簇的目錄項(xiàng)數(shù);若是,則跳至S326 ;若否,則跳至S322 ;
[0041]S326.讀取當(dāng)前簇內(nèi)容,驗(yàn)證在fat表中關(guān)于此簇的狀態(tài)記錄信息;
[0042]S327.結(jié)束標(biāo)記,判斷當(dāng)前目錄項(xiàng)是否已在簇尾,若是,則跳至S329 ;若否,跳至S328 ;
[0043]S328.將結(jié)束標(biāo)記的內(nèi)容賦給當(dāng)前簇號(hào),繼續(xù)讀取該目錄項(xiàng)的內(nèi)容,跳至S321 ;
[0044]S329.驗(yàn)證并更新fat表中的記錄該簇的狀態(tài)信息;
[0045]S3210.讀取下一空閑簇的位置;
[0046]S3211.讀取下一空閑簇的內(nèi)容,跳至S323 ;
[0047]S3212.構(gòu)建文件或文件夾的目錄項(xiàng)信息,并寫入;
[0048]S3213.更新fat表中該文件或文件夾使用的簇號(hào)狀態(tài);
[0049]S3214.將文件內(nèi)容寫入對(duì)應(yīng)的簇號(hào)中;
[0050]S3215.判斷文件是否寫完,若是,則跳至S3219 ;若否,則跳至S3216 ;
[0051]S3216.獲取當(dāng)前簇號(hào),將當(dāng)前簇的下一簇位置信息,準(zhǔn)備繼續(xù)寫入數(shù)據(jù);
[0052]S3217.讀取fat表中下一空閑簇的位置信息;
[0053]S3218.讀取fat表中空閑簇的內(nèi)容信息;
[0054]S3219.完成寫入后,更新fat表及其備份信息;
[0055]S3220.成功寫入文件或文件夾。
[0056]本發(fā)明的有益效果是:本發(fā)明采用分段檢驗(yàn)算法,在保全有特定的數(shù)據(jù)結(jié)構(gòu)的磁盤時(shí)僅需提取存儲(chǔ)設(shè)備的主引導(dǎo)記錄、分區(qū)引導(dǎo)記錄、根目錄、全部子目錄項(xiàng)和其它所有元數(shù)據(jù)文件區(qū)域的值與偏移位置即可,因此在較大程度上保全存儲(chǔ)設(shè)備數(shù)據(jù),保障了電子證據(jù)的有效性和可靠性,而且能達(dá)到快速校驗(yàn)存儲(chǔ)設(shè)備的目的。
【附圖說(shuō)明】
[0057]圖1是快速校驗(yàn)存儲(chǔ)設(shè)備的總流程圖;
[0058]圖2是fat32分區(qū)的詳細(xì)結(jié)構(gòu)邏輯圖;
[0059]圖3是讀取文件或者文件夾的流程圖;
[0060]圖4是寫入文件或者文件夾的流程圖。
【具體實(shí)施方式】
[0061]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
[0062]一種快速校驗(yàn)存儲(chǔ)設(shè)備的方法,如圖1所示,包括以下步驟:
[0063]S1.解析存儲(chǔ)設(shè)備的各參數(shù)信息,包括文件系統(tǒng)、特定的數(shù)據(jù)結(jié)構(gòu);
[0064]S2.根據(jù)SI解析的參數(shù)信息判斷存儲(chǔ)設(shè)備的數(shù)據(jù)結(jié)構(gòu)是否為特定的數(shù)據(jù)結(jié)構(gòu),如果是則跳至S3,否則跳至S5 ;
[0065]S3.提取特定的數(shù)據(jù)結(jié)構(gòu)中各個(gè)參數(shù)的值,并記錄其偏移位置;
[0066]S4.對(duì)提取的特定的數(shù)據(jù)結(jié)構(gòu)按照存儲(chǔ)設(shè)備中的順序重新組合后跳至S6 ;
[0067]S5.無(wú)特殊結(jié)構(gòu)則采用全盤逐字節(jié)進(jìn)行校驗(yàn)后跳至S6,此步驟為現(xiàn)有技術(shù);
[0068]S6.對(duì)S4重新組合后的新文件或者S5檢驗(yàn)后的文件進(jìn)行MD5校驗(yàn),此步驟為現(xiàn)有技術(shù);
[0069]S7.保存校驗(yàn)產(chǎn)生的MD5值,并同時(shí)保存各參數(shù)對(duì)應(yīng)的存儲(chǔ)設(shè)備位置,此值可以作為下一次校驗(yàn)的參照值,以便核查設(shè)備信息是否被串改。
[0070]目前能匹配的特定的數(shù)據(jù)結(jié)構(gòu)有:
[0071]文件系統(tǒng)結(jié)構(gòu):fatl2、fatl6、fat32、ntfs、ext2、ext3、ext4、xfs、jfs、hfs、hfs+;
[0072]監(jiān)控視頻結(jié)構(gòu):???、大華、漢邦、銳明視訊、帝視寶、波粒、WFS2/3/4、