陳 潮
(浙江警察學(xué)院計(jì)算機(jī)與信息安全系, 杭州 310053)
當(dāng)今社會(huì)信息技術(shù)廣泛應(yīng)用于國(guó)家、社會(huì)和企事業(yè)單位等各個(gè)領(lǐng)域,人們的工作、學(xué)習(xí)和生活高度依賴各種各樣的電子設(shè)備和功能多樣的信息系統(tǒng)。電子設(shè)備和信息系統(tǒng)產(chǎn)生海量電子數(shù)據(jù),其中部分電子數(shù)據(jù)在公檢法的偵查、訴訟和審判活動(dòng)中成為案件重要的電子證據(jù),電子證據(jù)在司法活動(dòng)中越來(lái)越被廣泛采用,已經(jīng)成為八大類證據(jù)之一[1-3]。 電子證據(jù)本身是電子數(shù)據(jù),其文檔、圖片、音頻、視頻和日志等形式呈現(xiàn),與傳統(tǒng)證據(jù)相比,具有易復(fù)制、易篡改、易丟失和易損壞等特點(diǎn),這些特點(diǎn)影響到電子證據(jù)的可信度。 區(qū)塊鏈技術(shù)是當(dāng)前最熱門的信息技術(shù)之一,具有去中心化、難篡改和可溯源等特點(diǎn),這些特點(diǎn)適合用于電子證據(jù)的存儲(chǔ)和驗(yàn)證。 研究和提出一種基于區(qū)塊鏈的公檢法電子證據(jù)存證模型,實(shí)現(xiàn)電子證據(jù)的安全可靠存儲(chǔ)和自動(dòng)驗(yàn)證,從而確保電子證據(jù)在司法活動(dòng)中的可信度[4-6]。
2008 年一個(gè)自稱為中本聰?shù)娜嘶蚪M織在密碼學(xué)論壇發(fā)表一篇論文“Bitcoin: a peer-to-peer electronic cash system”,提出一種點(diǎn)對(duì)點(diǎn)電子貨幣系統(tǒng)——比特幣,于2009 年完成代碼開(kāi)發(fā)并上線比特幣系統(tǒng),實(shí)現(xiàn)在無(wú)中心化平臺(tái)參與下的不可信任節(jié)點(diǎn)之間的電子貨幣交易。 比特幣系統(tǒng)的可靠運(yùn)行,驗(yàn)證了比特幣理論體系的正確性。 區(qū)塊鏈技術(shù)是支撐比特幣系統(tǒng)正常運(yùn)行的低層技術(shù),區(qū)塊鏈?zhǔn)欠植际酱鎯?chǔ)、密碼學(xué)、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)、共識(shí)算法和激勵(lì)機(jī)制等技術(shù)的集成創(chuàng)新,雖然區(qū)塊鏈未提出新的技術(shù),但是通過(guò)對(duì)現(xiàn)有技術(shù)和理論的精妙設(shè)計(jì)與整合,創(chuàng)造性地進(jìn)行了集成創(chuàng)新,具有巨大的創(chuàng)新價(jià)值。 區(qū)塊鏈?zhǔn)且环N由區(qū)塊與哈希指針構(gòu)成的數(shù)據(jù)結(jié)構(gòu),哈希指針實(shí)現(xiàn)相鄰區(qū)塊之間的連接,哈希指針串連起所有區(qū)塊形成區(qū)塊鏈。 區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分構(gòu)成,下面以比特幣為例說(shuō)明:
(1)區(qū)塊頭。 區(qū)塊頭由版本號(hào)、前一區(qū)塊哈希、時(shí)間戳、隨機(jī)數(shù)、難度和梅克爾樹(shù)根構(gòu)成,其中前一區(qū)塊哈希實(shí)現(xiàn)與前一區(qū)塊的連接;時(shí)間戳標(biāo)記區(qū)塊生成的時(shí)間;隨機(jī)數(shù)是用于工作量證明中調(diào)整區(qū)塊哈希值的一個(gè)隨機(jī)整數(shù);難度用于量化生成新區(qū)塊需要的工作量;梅克爾樹(shù)根用于驗(yàn)證區(qū)塊體中存儲(chǔ)交易的完整性。
(2)區(qū)塊體。 區(qū)塊體由經(jīng)節(jié)點(diǎn)驗(yàn)證通過(guò)的一定數(shù)量交易構(gòu)成,這些交易以兩個(gè)交易為一組基于梅克爾樹(shù)進(jìn)行哈希計(jì)算,最終生成一個(gè)哈希值,即為梅克爾樹(shù)根,同時(shí)記錄在區(qū)塊頭的梅克爾樹(shù)根中。 區(qū)塊體中任何一個(gè)交易數(shù)據(jù)被修改,將改變梅克爾樹(shù)值,同時(shí)區(qū)塊哈希值也改變,導(dǎo)致當(dāng)前區(qū)塊與下一個(gè)區(qū)塊的哈希鏈斷開(kāi),無(wú)法維持原來(lái)的區(qū)塊鏈,從而保證上鏈數(shù)據(jù)難以篡改[7]。
共識(shí)機(jī)制通常用于分布式系統(tǒng),用來(lái)實(shí)現(xiàn)分布式系統(tǒng)中各節(jié)點(diǎn)數(shù)據(jù)的一致性,而區(qū)塊鏈本質(zhì)上是一個(gè)分布式存儲(chǔ)的數(shù)字賬本,眾多節(jié)點(diǎn)參與記賬,生成一個(gè)相同的區(qū)塊鏈,因此共識(shí)機(jī)制是區(qū)塊鏈實(shí)現(xiàn)各節(jié)點(diǎn)數(shù)據(jù)一致性的核心機(jī)制。
區(qū)塊鏈經(jīng)過(guò)十余年的發(fā)展,出現(xiàn)滿足各種區(qū)塊鏈應(yīng)用場(chǎng)景的共識(shí)機(jī)制,最早的比特幣采用工作量證明(PoW)機(jī)制,早期的以太坊也采用PoW。 但是,PoW依賴區(qū)塊鏈節(jié)點(diǎn)的算力,在達(dá)成共識(shí)過(guò)程中消耗了大量的電力資源,面臨自然資源大量浪費(fèi)的問(wèn)題。 因此,以太坊和其它一些數(shù)字貨幣開(kāi)始采用權(quán)益證明(PoS)機(jī)制,具有最高權(quán)益的節(jié)點(diǎn)來(lái)生成最新的區(qū)塊。 PoS 解決了資源浪費(fèi)和算力過(guò)于集中的問(wèn)題,但是也存在區(qū)塊鏈易出現(xiàn)分叉、安全性不高和權(quán)益節(jié)點(diǎn)記賬積極性不高等問(wèn)題。 比特股的首席科學(xué)家拉里默在研究PoS 的基礎(chǔ)上,于2014 年提出委托權(quán)益證明(DPoS)機(jī)制,各節(jié)點(diǎn)將本節(jié)點(diǎn)的權(quán)益委托給可以信任的節(jié)點(diǎn),獲得權(quán)益最多且愿意進(jìn)行記賬的101 個(gè)節(jié)點(diǎn)將成為委托節(jié)點(diǎn)。 根據(jù)區(qū)塊鏈系統(tǒng)規(guī)則,每個(gè)委托節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)輪流生成新的區(qū)塊,并進(jìn)行轉(zhuǎn)發(fā)和驗(yàn)證,同時(shí)獲得每筆交易的交易費(fèi),DPoS 大幅度減少區(qū)塊鏈網(wǎng)絡(luò)的記賬節(jié)點(diǎn),區(qū)塊鏈的效率得到顯著提高。 實(shí)用拜占庭容錯(cuò)(PBFT)共識(shí)機(jī)制是在拜占庭容錯(cuò)(BFT)的基礎(chǔ)上發(fā)展而來(lái),其有別于PoW、PoS和DPoS 的是,記賬節(jié)點(diǎn)不通過(guò)節(jié)點(diǎn)間的競(jìng)爭(zhēng)產(chǎn)生,而是所有節(jié)點(diǎn)通過(guò)投票的方式來(lái)產(chǎn)生新的區(qū)塊,不存在區(qū)塊鏈分叉的問(wèn)題,同時(shí)PBFT 通過(guò)算法的優(yōu)化降低計(jì)算復(fù)雜度,解決BFT 效率低下的問(wèn)題[8-9]。
區(qū)塊鏈根據(jù)節(jié)點(diǎn)加入?yún)^(qū)塊鏈?zhǔn)欠裥枰跈?quán)分為許可鏈和非許可鏈,其中非許可鏈即公有鏈,如比特幣和以太坊,任何節(jié)點(diǎn)無(wú)需授權(quán)可以加入和離開(kāi)區(qū)塊鏈,而許可鏈又分為私有鏈和聯(lián)盟鏈,任何節(jié)點(diǎn)需要通過(guò)授權(quán)才能加入?yún)^(qū)塊鏈,私有鏈適合一個(gè)單位場(chǎng)景,聯(lián)盟鏈適合跨單位跨部門場(chǎng)景。 由于公檢法電子證據(jù)存證涉及3 個(gè)單位,因此電子證據(jù)存證模型采用聯(lián)盟鏈。 以公安局、檢察院和法院為3 個(gè)節(jié)點(diǎn),以PBFT 為共識(shí)機(jī)制,公檢法云服務(wù)器存儲(chǔ)電子證據(jù)原文或密文,區(qū)塊鏈存儲(chǔ)電子證據(jù)的哈希值等元數(shù)據(jù)和查詢電子證據(jù),密碼技術(shù)確保電子證據(jù)的機(jī)密性,哈希算法確保電子證據(jù)的完整性,區(qū)塊鏈和云存儲(chǔ)服務(wù)器相結(jié)合實(shí)現(xiàn)電子證據(jù)在公檢法之間的可靠存儲(chǔ)和安全共享。
公安局、檢察院和法院屬于垂直管理單位,3 家單位互不隸屬,在司法活動(dòng)中分別承擔(dān)案件偵查、起訴和審判的職能,3 家單位協(xié)作完成案件的辦理,公檢法司法業(yè)務(wù)流程如圖1 所示。 公安局負(fù)責(zé)案件的受理、審查、立案和偵查等工作,檢察院負(fù)責(zé)對(duì)公安局提供的案件材料進(jìn)行起訴前審查和對(duì)犯罪嫌疑人提起公訴,法院負(fù)責(zé)對(duì)公安局和檢察院提供的案件材料進(jìn)行開(kāi)庭前審查和審判,并根據(jù)上訴和抗訴情況開(kāi)展二審和判決[10]。 公安局在案件的偵查過(guò)程中提取大量電子證據(jù),檢察院也可以對(duì)案件進(jìn)行獨(dú)立偵查,并提取電子證據(jù),法院審理案件的重要依據(jù)是電子證據(jù),在整個(gè)公檢法業(yè)務(wù)流程中,電子證據(jù)需要在3 家單位之間進(jìn)行共享。
圖1 公檢法司法業(yè)務(wù)流程Fig. 1 The business process of the public security bureau, procuratorate and court
公安局、檢察院和法院3 家單位已分別建成內(nèi)部專用網(wǎng)絡(luò),政法專用網(wǎng)絡(luò)實(shí)現(xiàn)3 家單位專用網(wǎng)絡(luò)的互連,公檢法可將電子證據(jù)保存在各自專用網(wǎng)絡(luò)的云服務(wù)器中,涉及重要案件的電子證據(jù)可加密保存。 區(qū)塊鏈布置在政法專用網(wǎng)絡(luò)中,以公安局、檢察院和法院為節(jié)點(diǎn),形成3 個(gè)節(jié)點(diǎn)的區(qū)塊鏈,區(qū)塊鏈存儲(chǔ)電子證據(jù)的哈希值等元數(shù)據(jù),云存儲(chǔ)和區(qū)塊鏈相結(jié)合解決區(qū)塊鏈無(wú)法存儲(chǔ)大容量電子證據(jù)的問(wèn)題,又通過(guò)存儲(chǔ)在區(qū)塊鏈上的哈希值確保云服務(wù)器中電子證據(jù)的可信度和完整性,電子證據(jù)存證模型架構(gòu)如圖2 所示[11]。
圖2 電子證據(jù)存證模型架構(gòu)Fig. 2 The framework of electronic evidence storage model
區(qū)塊鏈區(qū)塊數(shù)據(jù)結(jié)構(gòu)跟比特幣區(qū)塊數(shù)據(jù)結(jié)構(gòu)相似,同樣由區(qū)塊頭和區(qū)塊體構(gòu)成,區(qū)別在于區(qū)塊體中的交易不再存儲(chǔ)交易信息,而是存儲(chǔ)電子證據(jù)的元數(shù)據(jù)信息。 一個(gè)電子證據(jù)的元數(shù)據(jù)對(duì)應(yīng)一個(gè)交易,區(qū)塊數(shù)據(jù)結(jié)構(gòu)如圖3 所示。 在區(qū)塊n的區(qū)塊體中存儲(chǔ)了8 個(gè)交易,即8 個(gè)電子證據(jù)的元數(shù)據(jù),以兩個(gè)交易為一組,分別計(jì)算出哈希值再合成新的哈希值,再以兩個(gè)哈希值為一組,再次合成出新的哈希值,用同樣的方法向上計(jì)算出新的哈希值,最終計(jì)算出一個(gè)哈希值,存儲(chǔ)到區(qū)塊頭中,即梅克爾樹(shù)根[12]。
圖3 區(qū)塊數(shù)據(jù)結(jié)構(gòu)Fig. 3 Data structure of blockchain
電子證據(jù)的元數(shù)據(jù)由電子證據(jù)編號(hào)、電子證據(jù)名稱、電子證據(jù)類型、電子證據(jù)數(shù)字簽名、電子證據(jù)哈希值和電子證據(jù)存儲(chǔ)時(shí)間等構(gòu)成,交易(元數(shù)據(jù))的字段構(gòu)成見(jiàn)表1。
表1 區(qū)塊體交易(元數(shù)據(jù))字段Tab. 1 Blocktransaction (metadata) field
電子證據(jù)存證模型的主要功能包括電子證據(jù)的存儲(chǔ)、查詢、下載和驗(yàn)證等,涉及電子證據(jù)的整個(gè)生命周期,覆蓋了電子證據(jù)的存儲(chǔ)、提取、出示和共享。
3.4.1 電子證據(jù)存儲(chǔ)與上鏈
電子證據(jù)原文或密文存儲(chǔ)在公檢法云存儲(chǔ)服務(wù)器中,電子證據(jù)的元數(shù)據(jù)上鏈存儲(chǔ)在區(qū)塊鏈,電子證據(jù)的存儲(chǔ)與上鏈過(guò)程如圖4 所示。 下面以公安民警存儲(chǔ)電子證據(jù)為例,民警實(shí)名客戶端、公安云存儲(chǔ)服務(wù)器和電子證據(jù)管理系統(tǒng)部署在公安專用網(wǎng)絡(luò),電子證據(jù)管理系統(tǒng)是公安專用網(wǎng)絡(luò)內(nèi)電子證據(jù)共享的樞紐,具體步驟如下:
圖4 電子證據(jù)存儲(chǔ)與上鏈Fig. 4 Storage of electronic evidence
(1)公安民警在客戶端中通過(guò)實(shí)名驗(yàn)證后,向電子證據(jù)管理系統(tǒng)提交電子證據(jù)。
(2)電子證據(jù)管理系統(tǒng)向公安云存儲(chǔ)服務(wù)器提交電子證據(jù),公安云存儲(chǔ)服務(wù)器返回電子證據(jù)的哈希值。
(3)電子證據(jù)管理系統(tǒng)將民警ID、電子證據(jù)哈希值、電子證據(jù)類型、案件編號(hào)和存儲(chǔ)時(shí)間等元數(shù)據(jù)提交給區(qū)塊鏈中的公安局節(jié)點(diǎn)。
(4)公安局節(jié)點(diǎn)以元數(shù)據(jù)構(gòu)建交易,并通過(guò)政法專用網(wǎng)絡(luò)傳輸?shù)綑z察院和法院節(jié)點(diǎn),區(qū)塊鏈運(yùn)行PBFT 共識(shí)機(jī)制,各節(jié)點(diǎn)打包當(dāng)前交易匯總生成新的區(qū)塊。
(5)公安局節(jié)點(diǎn)將電子證據(jù)元數(shù)據(jù)上鏈后,返回存儲(chǔ)編號(hào)給電子證據(jù)管理系統(tǒng)。
(6)電子證據(jù)管理系統(tǒng)返回電子證據(jù)存儲(chǔ)結(jié)果給民警實(shí)名客戶端。
檢察院和法院在各自的專用網(wǎng)絡(luò)和政法專用網(wǎng)絡(luò)通過(guò)類似的流程,同樣可以實(shí)現(xiàn)電子證據(jù)的存儲(chǔ)與上鏈。
3.4.2 電子證據(jù)查詢與下載
公檢法區(qū)塊鏈節(jié)點(diǎn)根據(jù)關(guān)鍵詞搜索區(qū)塊鏈實(shí)現(xiàn)電子證據(jù)的查詢,電子證據(jù)管理系統(tǒng)根據(jù)電子證據(jù)哈希值,從公檢法云存儲(chǔ)服務(wù)器中提取電子證據(jù)原文,并根據(jù)電子證據(jù)哈希值來(lái)驗(yàn)證電子證據(jù)的完整性,防止電子證據(jù)被篡改,電子證據(jù)的查詢和下載過(guò)程如圖5 所示。 下面以公安民警查詢和下載電子證據(jù)為例,具體步驟如下:
圖5 電子證據(jù)查詢與下載Fig. 5 Inquiry and download of electronic evidence
(1)公安民警在客戶端通過(guò)實(shí)名驗(yàn)證后,向電子證據(jù)管理系統(tǒng)提交查詢電子證據(jù)的關(guān)鍵詞。
(2)電子證據(jù)管理系統(tǒng)將查詢信息提交給區(qū)塊鏈公安局節(jié)點(diǎn),公安局節(jié)點(diǎn)搜索整個(gè)區(qū)塊鏈,將搜索到的電子證據(jù)元數(shù)據(jù)返回給電子證據(jù)管理系統(tǒng)。
(3)電子證據(jù)管理系統(tǒng)提交元數(shù)據(jù)中的電子證據(jù)哈希值到公檢法云存儲(chǔ)服務(wù)器,公檢法云存儲(chǔ)服務(wù)器根據(jù)電子證據(jù)哈希值搜索到電子證據(jù)原文,并返回給電子證據(jù)管理系統(tǒng)。
(4)電子證據(jù)管理系統(tǒng)計(jì)算出電子證據(jù)的哈希值,并與電子證據(jù)元數(shù)據(jù)中的哈希值進(jìn)行一致性判斷,判斷一致,則返回電子證據(jù)給民警實(shí)名客戶端,民警即可提取出經(jīng)過(guò)驗(yàn)證的電子證據(jù),從而完成電子證據(jù)的查詢與下載;否則,則說(shuō)明電子證據(jù)已經(jīng)被修改,返回錯(cuò)誤信息給民警實(shí)名客戶端。
公安民警若需要跨單位下載電子證據(jù),則利用政法專用網(wǎng)絡(luò)用同樣的方法即可實(shí)現(xiàn)。 檢察院和法院通過(guò)類似的流程,同樣可以實(shí)現(xiàn)電子證據(jù)的查詢與下載。
電子證據(jù)屬于計(jì)算機(jī)、手機(jī)等電子設(shè)備運(yùn)行中產(chǎn)生的各種電子文件,傳統(tǒng)的中心化電子證據(jù)管理系統(tǒng)存在電子證據(jù)的存儲(chǔ)安全性低、驗(yàn)證難和共享困難等問(wèn)題,影響到電子證據(jù)的可信度。 在分析公檢法業(yè)務(wù)流程和研究區(qū)塊鏈的基礎(chǔ)上,結(jié)合區(qū)塊鏈去中心化、難篡改和可溯源等特性,提出一種基于區(qū)塊鏈的電子證據(jù)存證模型,電子證據(jù)分布式存儲(chǔ)在公檢法云服務(wù)器,電子證據(jù)的元數(shù)據(jù)存儲(chǔ)在由公檢法三家單位構(gòu)建的區(qū)塊鏈中,區(qū)塊鏈實(shí)現(xiàn)電子證據(jù)的查詢與驗(yàn)證,較好地解決傳統(tǒng)中心化存儲(chǔ)電子證據(jù)存在的問(wèn)題,實(shí)現(xiàn)電子證據(jù)的可靠存儲(chǔ)、安全共享和自動(dòng)驗(yàn)證,對(duì)于提高電子證據(jù)在司法活動(dòng)中的可信度有一定的應(yīng)用價(jià)值。