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