專利名稱:基于計算機取證的數(shù)字證據(jù)動態(tài)保存及驗證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)數(shù)字化信息管理領(lǐng)域,特別是涉及計算機證據(jù)的安全管理領(lǐng)域。
背景技術(shù):
最近幾年來,計算機網(wǎng)絡(luò)犯罪愈發(fā)猖狂,網(wǎng)絡(luò)犯罪已經(jīng)成為普遍關(guān)心的國際性問題。而如何收集犯罪分子的犯罪證據(jù)成為打擊計算機網(wǎng)絡(luò)犯罪的關(guān)鍵,也就是電子證據(jù)。因此,計算機取證受到了越來越多的關(guān)注,并成為計算機網(wǎng)絡(luò)安全領(lǐng)域的研究熱點。計算機取證就是對計算機犯罪的證據(jù)進行獲取、保存、分析和出示,主要包括物理證據(jù)和數(shù)字證據(jù)兩個方面。物理證據(jù)就是指合法的調(diào)查人員來到計算機犯罪或者入侵現(xiàn)場,尋找并扣留相關(guān)的計算機硬件;數(shù)字證據(jù)是指從原始數(shù)據(jù)(包括文件、日志等)中尋找用來證明某種具體犯罪行為的電子證據(jù)。與其他合法的證據(jù)一樣,這些電子證據(jù)必須真實、合法。一般來說,物理證據(jù)的安全性保護比較容易。而電子證據(jù)由于自身具有易修改、易刪除等特點,使得它們的安全性保護變得困難。如果這些電子證據(jù)從產(chǎn)生的時刻到提交到合法的調(diào)查人員手中這一過程中發(fā)生了任何一點改變,都將使它們失去法律效力。因此,如何保存電子證據(jù),以及如何保證所提交的電子證據(jù)與原始的電子信息完全一致,變得十分重要。當(dāng)前,在這一研究領(lǐng)域中,國內(nèi)外的理論研究狀況大都是跟蹤研究居多、源頭創(chuàng)新思想較少,許多研究成果都是停留在一個統(tǒng)一的模式上被取證機、取證機和分析機。這樣的研究模式幾乎是跟蹤入侵檢測系統(tǒng)的框架結(jié)構(gòu),沒有體現(xiàn)入侵取證的具體目標(biāo),反倒是繼承了入侵檢測系統(tǒng)的一些安全缺陷,如自身安全保護不力、漏報和誤報率高、資源消耗龐大、所保留的證據(jù)文件不具有嚴(yán)格的法律效力且易于被篡改。與具體的理論研究工作進展不同的是,已經(jīng)出現(xiàn)了不少的取證工具軟件,如TCT (The Coronor’ s Toolkit)和Encase 等取證軟件。但是,這些工具軟件的重點都是如何恢復(fù)被刪除的文件,如何在事后文件信息中提取證據(jù)。隨著網(wǎng)絡(luò)入侵形式的多樣化和反取證技術(shù)的出現(xiàn),它們的實用性將受到大的限制。并且,一旦包含入侵信息的數(shù)據(jù)被刪除或者在正式提交之前就已經(jīng)被惡意篡改的話, 它們將失去法律效力。
發(fā)明內(nèi)容
基于上述現(xiàn)有技術(shù),本發(fā)明提出一種基于計算機取證的數(shù)字證據(jù)動態(tài)保存及驗證方法,通過能夠在計算機被入侵的全過程的前兩個階段(入侵前、入侵中)實時地對可能的犯罪證據(jù)進行保護,實時地對被保護計算機系統(tǒng)中所產(chǎn)生的可能的犯罪證據(jù)進行處理并將其安全保存,然后傳到服務(wù)器端,服務(wù)器端對接受到的信息進行一致性驗證,實現(xiàn)計算機犯罪證據(jù)的原始性保護。本發(fā)明提出的一種基于計算機取證的數(shù)字證據(jù)動態(tài)保存方法,在客戶端收集信息后,將采集到的取證信息按時間順序進行一致性加密操作,并且序列化保存起來,實現(xiàn)取證信息的動態(tài)保存,該方法包括以下步驟
設(shè)置客戶端信息發(fā)送方的客戶端私鑰SK,加密函數(shù)E,獲取第1條取證信息數(shù)據(jù)HI1后, 利用Ii1=H (HI1)獲得數(shù)據(jù)HI1的哈希值、,以及利用II1=ESK OO進行相應(yīng)的哈希值的私鑰加密計算,添加對數(shù)據(jù)Hl1的簽名Il1,將數(shù)據(jù)Hl1的簽名Il1暫時存儲到安全地方,保存數(shù)據(jù)Hl1及其簽名II1Sm1I In1,用于傳送回服務(wù)器;
同理,獲取到第2條取證信息數(shù)據(jù)m2后,利用Ii2=H(m2)獲得數(shù)據(jù)m2的哈希值h2,以及利用n2=ESK (h2)進行相應(yīng)的哈希值的發(fā)送私鑰加密計算,添加對數(shù)據(jù)m2的簽名n2,并取出數(shù)據(jù)Hi1的簽名Ii1,保存數(shù)據(jù)m2、數(shù)據(jù)m2的簽名以及上一條數(shù)據(jù)Hi1數(shù)據(jù)的簽名Ii1的簽名為 m21 I n21 IH1傳送回服務(wù)器,并用當(dāng)前簽名n2覆蓋上一簽名Ii1 ;
以此類推,一直到獲取第i條數(shù)據(jù)Hii后,利用Ili=H (Hli),Hi=ESK (hi)添加對數(shù)據(jù)Hli的簽名叫,并取出數(shù)據(jù)!V1的簽名IV1,保存數(shù)據(jù)Hli、數(shù)據(jù)Hli的簽名Ili以及上一條數(shù)據(jù)IV1的簽名IV1SmiI IniI IIV1傳送回服務(wù)器,并用當(dāng)前數(shù)據(jù)簽名Iii覆蓋上一條數(shù)據(jù)I^1的簽名n^。2. 一種基于計算機取證的數(shù)字證據(jù)驗證方法,在采用客戶/服務(wù)器方式的動態(tài)取證系統(tǒng)中,服務(wù)器端要對接收到的取證信息進行一致性檢驗,該方法包括以下步驟
設(shè)服務(wù)器端信息發(fā)送方的客戶端公鑰PK,解密函數(shù)D,接收方收到所發(fā)送的取證信息數(shù)據(jù)記錄的第1條取證信息數(shù)據(jù)叫及其簽名?。!叫后,通過h/= H(Hl1)獲得該條數(shù)據(jù)Hl1 的第一哈希值h/,通過Ill=Dra(Ii1)對簽名Il1進行發(fā)送私鑰解密計算,得到數(shù)據(jù)Hl1的第二哈希值hi,保存hi,并比較hi和hi ’,不相等則Hl1失去價值;
接收到該條數(shù)據(jù)叫、該條數(shù)據(jù)m2的簽名n2以及上一條數(shù)據(jù)叫的簽名11的!112| |n2 In1后, 通過ti2’ =H(m2),h2=DPK(n2)求得該條數(shù)據(jù)m2的第一哈希值Ii2和第二哈希值Ii2 ’,保存第二哈希值K,并比較第一哈希值Ii2和第二哈希值li2’,若不相等則數(shù)據(jù)m2失去價值,然后令第一條數(shù)據(jù)的第一哈希值h/等于上一步保存的數(shù)據(jù)Hi1的第二哈希值Ii1,再通過Ill=Dra(Ii1) 求得數(shù)據(jù)Hi1的第二哈希值Ii1,對比Ill和h/,若相等,則說明本條和上條是連續(xù)的;
以此類推到接受到第i條Hii I Hi I IIV1后通過hi,=H (HIi),hi=DPK (IIi)求得數(shù)據(jù)HI1的第一哈希值hi,和第二哈希值數(shù)據(jù)Hl1的第一哈希值hi ’ hi,并比較hi和hi ’,若不相等則Hli失去價值,然后令I(lǐng)v1,等于上一步保存的Iv1,再通過V1=DI3K (IV1)求得Iv1,對比Iv1和I^1, 若相等則說明本條和上條是連續(xù)的。。
與現(xiàn)有技術(shù)相比,本發(fā)明能夠避免入侵者的惡意破壞,使得事后的調(diào)查取證信息具有客觀性、真實性,符合法律規(guī)定,具備合法證據(jù)所要求的特征。
圖1為取證信息動態(tài)保存的流程圖; 圖2為取證信息一致性驗證的流程圖; 圖3為數(shù)據(jù)一致性驗證一; 圖4為數(shù)據(jù)一致性驗證二 ;圖5為數(shù)據(jù)一致性驗證三; 圖6為數(shù)據(jù)一致性驗證三。
具體實施例方式計算機取證主要是為了獲得電子證據(jù)并且保證證據(jù)的真實性、完整性、連續(xù)性,數(shù)據(jù)的真實性是指任何一條數(shù)據(jù)都確實而且只能是目標(biāo)設(shè)備產(chǎn)生的,無法被抵賴。數(shù)據(jù)的完整性是指任何數(shù)據(jù)記錄的任何修改行為都會被發(fā)現(xiàn)。數(shù)據(jù)的連續(xù)性是指任何添加或刪除數(shù)據(jù)記錄的行為都會被發(fā)現(xiàn)。計算機被入侵的全過程可分為三個階段入侵前、入侵中,入侵后。在前兩個階段確保犯罪證據(jù)的安全性和完整性與入侵后同樣重要,而目前已經(jīng)提出過的計算機取證技術(shù)幾乎都是針對入侵后的犯罪證據(jù)的搜集與保護。本發(fā)明的實施方案詳細(xì)描述如下 一、取證信息的動態(tài)保存
該過程的操作主要為在客戶端收集信息后,及時地將采集到的取證信息按時間順序進行一致性加密操作,并且序列化保存起來,以避免取證信息被犯罪分子惡意破壞。為了使取證信息的真實性、完整性和連續(xù)性都能得到保證,所有的數(shù)據(jù)記錄在獲取后立即被添加本條數(shù)據(jù)記錄和其上一條數(shù)據(jù)記錄的簽名。通過這種方式,每條數(shù)據(jù)都攜帶了其上一條的簽名,很好的保證了取證信息的連續(xù)性。設(shè)第i條數(shù)據(jù)記錄為IV本發(fā)明的動態(tài)保存的流程如圖1所示。該流程包括以下步驟
1、設(shè)客戶端信息發(fā)送方的客戶端私鑰為SK,E為加密函數(shù),H為單向散列函數(shù),獲取第 1條取證信息數(shù)據(jù)后,利用Ii1=H(HI1)獲得該條數(shù)據(jù)HI1的哈希值,以及利用Ii1=ESKOll)進行相應(yīng)的哈希值的私鑰加密計算,添加對第1條數(shù)據(jù)Hl1的簽名Il1,將Il1暫時存儲到安全地方,保存數(shù)據(jù)及其簽名Hl1I I Il1用于傳送回服務(wù)器;
2、同理,獲取到第2條取證信息數(shù)據(jù)后,利用h2=H(m2)獲得該條數(shù)據(jù)m2的哈希值,以及利用n2=ESK (h2)進行相應(yīng)的哈希值的發(fā)送私鑰加密計算,添加對第2條數(shù)據(jù)m2的簽名 n2,并取出保存該條數(shù)據(jù)、該條數(shù)據(jù)簽名以及上一條數(shù)據(jù)簽名叫I |n2 In1傳送回服務(wù)器, 并用當(dāng)前簽名n2覆蓋上一簽名ηι ;
3、以此類推一直到第i條數(shù)據(jù)后,利用Iii=HOni),ni=ESK(hi)對Hii簽名,取出Iv1,保存 mj |ni Irvi用于傳送回服務(wù)器,并用叫覆蓋IV115二、取證信息的一致性檢驗
在采用客戶/服務(wù)器方式的動態(tài)取證系統(tǒng)中,服務(wù)器端要對接收到的取證信息進行一致性檢驗,具體流程如圖2表示,該流程包括以下步驟
1、設(shè)服務(wù)器端信息發(fā)送方的客戶端公鑰為PK,D為解密函數(shù),接收方(客戶端)收到所發(fā)送的取證信息數(shù)據(jù)記錄的第一條數(shù)據(jù)及其簽名Hi11 !叫后,通過h/= H(Hl1)獲得該條數(shù)據(jù) Hi1的第一哈希值h/,通過Ill=Dra(Ii1)對簽名Il1求進行發(fā)送私鑰解密計算,得到數(shù)據(jù)Hl1的第二哈希值hi,保存hi,并比較hi和h/,不相等則Hl1失去價值。2、接收到該條數(shù)據(jù)、該條數(shù)據(jù)簽名以及上一條數(shù)據(jù)簽名m2| |n2 In1后通過 h2'=H(m2), h2=DPK(n2)求得該條數(shù)據(jù)m2的第一哈希值Ii2和第二哈希值Ii2’,保存ti2,并比較 112和112’,不相等則叫失去價值,然后令h/等于上一步保存的hl,再通過Ill=Dra (Ii1)求得Ii1,對比Ill和h/,若相等,則說明本條和上條是連續(xù)的。3、以此類推到接受到第i條Hii I IniI Irv1后通過Iii,=H(Hii), ^=DPK(Hi)求得第一哈希值hi,和第二哈希值hi,并比較hi和hi ’,不相等則Hli失去價值,然后令I(lǐng)v1,等于上一步保存的Iv1,再通過Iv1=Dra(Iv1)求得Iv1,對比Iv1和Iv/若相等則說明本條和上條是連續(xù)的。
三、本發(fā)明實施方案的安全性分析
1、數(shù)據(jù)真實性,數(shù)據(jù)的真實性得到保證是指任何一條數(shù)據(jù)都確實而且只能是目標(biāo)設(shè)備產(chǎn)生的,無法抵賴
每條數(shù)據(jù)都由發(fā)送方的私鑰進行過簽名,而此私鑰只有該發(fā)送方獨自擁有,因此該數(shù)據(jù)確實并且只能由發(fā)送方傳送過來。發(fā)送方無法抵賴,因為其他任何方都無此私鑰(無法產(chǎn)生相同的簽名信息)。由此數(shù)據(jù)的真實性得到了保證。2、數(shù)據(jù)完整性,數(shù)據(jù)的完整性得到保證是指任何數(shù)據(jù)記錄的任何修改行為都會被發(fā)現(xiàn)
原始數(shù)據(jù)被做任何修改,接收方利用h/ =H(Hii)得到的h/與利用hi=DH((Iii)得到的hi 就不會相等,由此接收方就可得出此條數(shù)據(jù)被修改過的結(jié)論。因此任何的修改行為都會被接收方發(fā)現(xiàn),數(shù)據(jù)的完整性得到了保證。3、數(shù)據(jù)連續(xù)性,數(shù)據(jù)的連續(xù)性得到保證是指任何添加或刪除數(shù)據(jù)記錄的行為都會被發(fā)現(xiàn)
1)數(shù)據(jù)的不可添加性,數(shù)據(jù)的不可添加性是指任何被添加的數(shù)據(jù)記錄都會被證明是無
效的
任何其它方都不擁有發(fā)送方的私鑰SK,因此犯罪分子不可能產(chǎn)生只有發(fā)送方才能生成的數(shù)字簽名,任何被添加的數(shù)據(jù)記錄的簽名都不能被驗證。所以任何試圖通過添加數(shù)據(jù)來迷惑執(zhí)法機關(guān)的行為都不會獲得成功。2)數(shù)據(jù)的不可刪除性,數(shù)據(jù)的不可刪除性是指任何數(shù)據(jù)記錄的刪除行為都會被發(fā)現(xiàn)
每條數(shù)據(jù)都攜帶自身簽名和其上條的簽名,因此當(dāng)一串連續(xù)的數(shù)據(jù)中一條或幾條被惡意刪除時,接收方就會及時發(fā)現(xiàn)。假設(shè)連續(xù)傳過來的3條數(shù)據(jù)n^aaaii,m2=bbbb,m3=cccc0 接收方接收到第3條的時候,如果第2條數(shù)據(jù)已經(jīng)被惡意刪除,此時接收方觀察到的情況為=Hl1和!113是連續(xù)的兩條數(shù)據(jù)。因此當(dāng)接收方進行驗證時,得到的Ii2 ’實際上就是接收Hl1時保存的hi (因為實際接收到的上一條數(shù)據(jù)是HI1),而t!2則是通過Il2=Dra(Ii2)計算獲得的(對本條接收到的數(shù)據(jù)m3| In3 In2提取可以得到n2),兩者顯然不等,因此可以確定H^Pm1之間存在數(shù)據(jù)被刪除。由此可見,任何添加或刪除數(shù)據(jù)記錄的行為都不能得逞,數(shù)據(jù)的連續(xù)性得到了保證。3、相關(guān)驗證
下面對提到的方案做簡單測試。其中簽名屬性為true表明其本身沒有被修改,連續(xù)性為true表明其與其前一條是連續(xù)的。當(dāng)驗證方收到連續(xù)4條應(yīng)用程序日志時 1)如果沒有被做任何的修改和刪除時,驗證結(jié)果如圖3所示;驗證結(jié)果為全部簽名和連續(xù)性屬性都為true,數(shù)據(jù)全部沒有被修改過且連續(xù)。2)當(dāng)?shù)?條被修改時,驗證結(jié)果如圖4所示;
驗證結(jié)果為第2條數(shù)據(jù)記錄的簽名屬性值為false,說明了第2條數(shù)據(jù)被修改了。3)當(dāng)?shù)?條被刪除時,驗證結(jié)果如圖5所示;
驗證結(jié)果為接收到的中間那條的連續(xù)性屬性為false,說明其與上一條并非是連續(xù)的, 之間有被刪除的數(shù)據(jù)記錄。4)當(dāng)?shù)?條被修改,第2條被刪除時,驗證結(jié)果如圖6所示;
驗證結(jié)果為接收到的第1條簽名屬性為false,中間那條連續(xù)性屬性為false,說明第 1條被修改過且中間那條與第1條之間存在著被刪除的數(shù)據(jù)記錄。有益效果
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果
取證信息的合法性。每一條取證信息都通過固定的算法進行簽名和哈希迭代處理,通過數(shù)學(xué)的推理可以證明驗證成功的取證信息是合法的。取證信息完整性保護過程的安全性。本方法所保存的每一條信息記錄都是在其生成的時候同時復(fù)制到安全的緩沖區(qū)中(而不是存入文件中),隨后對其進行簽名和哈希迭代處理,具有很高的安全性。本方法具有較低的運行代價。采用多線程并行地進行記錄和簽名,處理過程很快, 需要的CPU資源和內(nèi)存資源都較少。更高的實時性。本方法中采用的算法在保證取證信息完整性的前提下,能夠?qū)崟r地對原始的證據(jù)信息進行完整性保護與安全轉(zhuǎn)移。
權(quán)利要求
1.一種基于計算機取證的數(shù)字證據(jù)動態(tài)保存方法,在客戶端收集信息后,將采集到的取證信息按時間順序進行一致性加密操作,并且序列化保存起來,實現(xiàn)取證信息的動態(tài)保存,該方法包括以下步驟設(shè)置客戶端信息發(fā)送方的客戶端私鑰SK,加密函數(shù)E,獲取第1條取證信息數(shù)據(jù)HI1后, 利用Ii1=H (Hi1)獲得數(shù)據(jù)Hi1的哈希值、,以及利用Ii1=ESK Qll)進行相應(yīng)的哈希值的私鑰加密計算,添加對數(shù)據(jù)Hl1的簽名Il1,將數(shù)據(jù)Hl1的簽名Il1暫時存儲到安全地方,保存數(shù)據(jù)Hl1及其簽名II1Sm1I In1,用于傳送回服務(wù)器;同理,獲取到第2條取證信息數(shù)據(jù)m2后,利用Ii2=H(m2)獲得數(shù)據(jù)m2的哈希值h2,以及利用n2=ESK (h2)進行相應(yīng)的哈希值的發(fā)送私鑰加密計算,添加對數(shù)據(jù)m2的簽名n2,并取出數(shù)據(jù)Hi1的簽名Ii1,保存數(shù)據(jù)m2、數(shù)據(jù)m2的簽名以及上一條數(shù)據(jù)Hi1數(shù)據(jù)的簽名Ii1的簽名為 m21 I n21 IH1傳送回服務(wù)器,并用當(dāng)前簽名n2覆蓋上一簽名Ii1 ;以此類推,一直到獲取第i條數(shù)據(jù)Hii后,利用Ili=H (Hli),Hi=ESK (hi)添加對數(shù)據(jù)Hli的簽名叫,并取出數(shù)據(jù)!V1的簽名IV1,保存數(shù)據(jù)Hli、數(shù)據(jù)Hli的簽名Ili以及上一條數(shù)據(jù)IV1的簽名IV1SmiI IniI IIV1傳送回服務(wù)器,并用當(dāng)前數(shù)據(jù)簽名Iii覆蓋上一條數(shù)據(jù)I^1的簽名11^。
2.一種基于計算機取證的數(shù)字證據(jù)驗證方法,在采用客戶/服務(wù)器方式的動態(tài)取證系統(tǒng)中,服務(wù)器端要對接收到的取證信息進行一致性檢驗,該方法包括以下步驟設(shè)服務(wù)器端信息發(fā)送方的客戶端公鑰PK,解密函數(shù)D,接收方收到所發(fā)送的取證信息數(shù)據(jù)記錄的第1條取證信息數(shù)據(jù)叫及其簽名!!^!叫后,通過h/= H(Hl1)獲得該條數(shù)據(jù)Hl1 的第一哈希值h/,通過Ill=Dra(Ii1)對簽名Il1進行發(fā)送私鑰解密計算,得到數(shù)據(jù)Hl1的第二哈希值hi,保存hi,并比較hi和hi ’,不相等則Hl1失去價值;接收到該條數(shù)據(jù)叫、該條數(shù)據(jù)m2的簽名n2以及上一條數(shù)據(jù)叫的簽名11的!112| |n2 In1后, 通過ti2’ =H(m2),h2=DPK(n2)求得該條數(shù)據(jù)m2的第一哈希值Ii2和第二哈希值Ii2 ’,保存第二哈希值K,并比較第一哈希值Ii2和第二哈希值li2’,若不相等則數(shù)據(jù)m2失去價值,然后令第一條數(shù)據(jù)的第一哈希值h/等于上一步保存的數(shù)據(jù)Hi1的第二哈希值Ii1,再通過Ill=Dra(Ii1) 求得數(shù)據(jù)Hi1的第二哈希值Ii1,對比Ill和h/,若相等,則說明本條和上條是連續(xù)的;以此類推到接受到第i條Hii I Hi I IIV1后通過hi,=H (HIi),hi=DPK (IIi)求得數(shù)據(jù)HI1的第一哈希值hi,和第二哈希值數(shù)據(jù)Hl1的第一哈希值hi ’ hi,并比較hi和hi ’,若不相等則Hli失去價值,然后令I(lǐng)v1,等于上一步保存的Iv1,再通過V1=DI3K (IV1)求得Iv1,對比Iv1和I^1, 若相等則說明本條和上條是連續(xù)的。
全文摘要
本發(fā)明涉及計算機網(wǎng)絡(luò)數(shù)字化信息管理領(lǐng)域,公開了一種基于計算機取證的數(shù)字證據(jù)動態(tài)保存及驗證方法,在客戶端收集信息后,將采集到的取證信息按時間順序進行一致性加密操作,并且序列化保存起來,實現(xiàn)取證信息的動態(tài)保存,以及,在采用客戶/服務(wù)器方式的動態(tài)取證系統(tǒng)中,服務(wù)器端要對接收到的取證信息進行一致性檢驗。與現(xiàn)有技術(shù)相比,本發(fā)明能夠避免入侵者的惡意破壞,使得事后的調(diào)查取證信息具有客觀性、真實性,符合法律規(guī)定,具備合法證據(jù)所要求的特征。
文檔編號H04L29/06GK102215109SQ201110144518
公開日2011年10月12日 申請日期2011年8月15日 優(yōu)先權(quán)日2011年8月15日
發(fā)明者卜莉娜, 張亞平, 曹靜, 李罡 申請人:天津大學(xué)