曾 超,杜新勝,鄭聰藝,章婉仙
(1.廈門市美亞柏科信息股份有限公司,福建 廈門 361008;2.寧德市公安局,福建 寧德 352100)
隨著信息科學技術的高速發展,數據與大眾日常生活的聯系日益緊密,電子數據在各類案件中占比大幅上漲,電子數據取證也就越來越重要。公檢法對電子數據取證也越來越重視,為此在各地建設了取證實驗室和審查系統。隨著區塊鏈技術的發展,公檢法已經開始研究通過區塊鏈技術來加強保障證據的真實性,并嘗試在公檢法之間建立證據鏈,基于區塊鏈實現線上證據流轉。
根據2012年3月14日第十一屆全國人民代表大會第五次會議《關于修改〈中華人民共和國刑事訴訟法〉的決定》第二次修正,首次將“電子數據”作為證據寫入法律。最高人民法院、最高人民檢察院、公安部在2016年發布的《關于辦理刑事案件收集提取和審查判斷電子數據若干問題的規定》中定義電子數據是案件發生過程中形成的,以數字化形式存儲、處理、傳輸的,能夠證明案件事實的數據。包括但不限于文檔、圖片、音視頻、數字證書、計算機程序。
電子數據采集是指利用數據復制、數據恢復、密碼破譯、遠程勘驗等技術,在司法有效的情況下對電子數據進行收集。采集過程中,應當制作筆錄,記錄案由、對象、內容、收集、提取電子數據的時間、地點、方法、過程,并附上電子數據清單,注明類別、文件格式、完整性校驗值等,同時做好數據備份,保障數據的真實性和完整性。
電子數據審查是確認電子數據和采集過程是否符合真實性、完整性、合法性、相關性等標準。包括審查電子數據的來源和內容的真實性和完整性,采集過程的規范性和相關性[1]。是否存在篡改、偽造;是否存在對數據的增加、刪除、修改、裁剪、拼接;電子數據的名稱、類別、格式等是否注明不清;犯罪嫌疑人、被告人與存儲介質是否關聯等。
檢察院發現并且認為有犯罪行為時,應當依照司法程序立案偵查,或者指令公安機關進行偵查。檢察院對于公安機關要求起訴的案件,應當進行審查,決定起訴、免予起訴或者不起訴。對于主要犯罪事實不清、證據不足的,可以退回公安機關補充偵查。偵查機關應當遵守法定程序,遵循有關技術標準,全面、客觀、及時地收集、提取電子數據,檢察院、法院應當圍繞真實性、合法性、關聯性審查判斷電子數據。
采集的電子數據通常在系統中采用集中存儲的方式管理,容易被篡改和破壞,缺乏技術手段保障證據的可信,難于保證數據的真實性[1]和流程管理中的業務數據。在證據鏈環節中,公檢法之間沒有實現線上數據共享,通常采用人為線下投遞存儲數據的檢材的方式。由此,公檢法之間信息不對稱和數據不透明,證據需要重復確認和業務來回溝通,存在協作難的問題,造成工作效率低。通過線下投遞檢材和證據,流轉周期長,且在過程中存在不安全的因素。電子數據和業務過程數據存在信息孤島的現象,造成信息壁壘,公檢法之間缺乏信息交換和共享常態化機制。
2018年施行的《最高人民法院關于互聯網法院審理案件若干問題的規定》,第11條規定“當事人提交的電子數據,通過電子簽名、可信時間戳、哈希值校驗、區塊鏈等證據收集、固定和防篡改的技術手段或者通過電子取證存證平臺認證,能夠證明其真實性的,互聯網法院應當確認”,表明我國在司法領域認可了通過區塊鏈技術存證的證據可以作為認定事實的依據。
區塊鏈技術已經逐步成熟,已經經歷了三個階段:比特幣為代表的貨幣區塊鏈技術為1.0、以太坊為代表的合同區塊鏈技術為2.0、實現完備權限控制和安全保障的Hyperledger項目為代表的3.0。區塊鏈采用分布式賬本、共識機制、安全密碼機制、智能合約等核心技術,具有數據可靠、相互可信、數據不可篡改、防抵賴的特點[2]。因此,可以在公安、檢察院、法院等共同打造一個聯盟鏈,多方參與共同記賬。讓采集數據和業務管理數據都上鏈,支撐證據真實可信、可溯源、減少審核成本。
區塊鏈的不足在于適合存儲體量小的數據,比如業務流程中產生的數據,采集過程中的案情、記錄,鑒定報告等[1]。但是電子設備采集的原始數據和鏡像都很大,通常在上百GB或者達到TB級別。針對大文件的存儲需要用到大數據技術,考慮到電子數據取證實驗室分布在各地區,適合采用邊緣存儲技術,跟區塊鏈一樣都是去中心化模式,與區塊鏈的多節點記賬模式可以很好地結合。相比云存儲具有就近存取的特點,從而降低通信帶寬要求和交互延遲,能為端(客戶端、設備端)提供更實時可靠的數據存儲和訪問服務。針對大文件的文件屬性、管理信息、哈希值上鏈建立關聯關系,實現不同層級的數據邊緣存儲和證據上鏈。
區塊鏈和邊緣存儲技術在公安、檢察院和法院之間建立一套完整的證據鏈管理體系。區塊鏈框架我們選擇Hyperledger,該開源項目在2015年由 Linux基金會主導發起,國內的螞蟻金服和華為都是其中的會員。整體證據鏈設計的邏輯架構如圖1所示:

圖1 邏輯架構
邏輯上分為三層,底層為技術設施層,包括網絡資源、計算資源和存儲資源,其中包括邊緣存儲資源,用于對上層提供分布式存儲服務。中間層是服務層,包括區塊鏈的賬本管理服務、交易管理服務、PKI體系、權限管理等。頂層是應用層,客戶端支持瀏覽器和桌面應用兩種模式,業務應用主要包括數據收集、數據鑒定、數據審查和組織管理。
要建立聯盟鏈,首先必須打通網絡。可以通過拉專線的方式在各組織機構之間建立一個專網。邏輯拓撲圖如圖2所示,參與的組織構建聯盟,每個組織可以獨立管理[3]。公安局、檢察院等實體單位都可以是一個組織,擁有自己獨立的CA節點、錨節點、主節點。通過自己的CA節點可以管理組織內的成員,包括客戶端、背書節點、記賬節點等,實現組織內自治。電子數據主要由公安局負責收集,因此把邊緣存儲節點也部署在公安局,實現數據就近存儲。每個組織內的錨節點負責跟其他組織信息交換,排序節點負責為整個區塊鏈的合法交易提供全局排序,為區塊鏈共用,從邏輯上不屬于組織內部,但物理上可以部署在任何組織的服務器上。每個組織可以擁有自己的客戶端,可以支持各種應用的客戶端,比如支持數據采集的客戶端、支持數據審查的客戶端,在權限體系內訪問區塊鏈上的數據,從而實現數據共享。

圖2 邏輯拓撲
業務協作上,主要協作過程如圖3所示。首先由公安負責收集數據,實施數據上鏈,鑒定分析完把檢材和相關文書投遞給檢察院。檢察院從區塊鏈中讀取數據,結合檢材和相關文書做審查,結合審查意見附加新的文書,新增加的數據也同步上鏈,再把相關檢材和文書投遞給法院。法院同樣從區塊鏈讀取數據,結合檢材和相關文書做審查,開展工作。

圖3 主要協作過程
站在技術的角度來看,公安在數據上鏈的過程比較復雜,詳細的過程如圖4所示:

圖4 詳細過程
(1)公安用戶使用自己的PKI密鑰,登錄客戶端;
(2)通過客戶端對電子設備做數據收集,包括采集的數據和鏡像;
(3)對采集的數據保存大文件到邊緣存儲,對文件計算哈希值,得到存儲地址、文件屬性、哈希值等信息;
(4)用戶對數據做鑒定和分析,把鑒定報告、案件信息等小容量數據,結合大文件存儲地址、哈希值、文件屬性等一起打包,提交數據上鏈的提案給背書節點;
(5)背書節點模擬執行提案并進行背書,返回帶上背書節點簽名的模擬執行結果給客戶端;
(6)客戶端把含有簽名背書的模擬執行結果提交給排序節點;
(7)排序節點進行排序并生成區塊,分發給公安、檢察院和法院三個組織的主節點;
(8)主節點驗證后,保存區塊到賬本,組織內的其他節點從主節點同步數據,保存數據到賬本,這樣就實現了公檢法對數據的分布式記賬。
通過以上流程,三個組織都保存了相關證據,實現了數據共享和共識。各組織用戶可登錄客戶端,從任意節點讀取賬本的數據開展工作。數據上鏈和組織協作過程中,還需要保障數據安全和隱私,做到數據可控、可用、可靠、可知。具體可實施的安全保障措施有以下幾點:
(1)通過CA認證體系管理組織成員。每個組織都有自己的CA認證體系。組織內的客戶端和節點必須得到CA頒發的證書才能加入和操作,這樣可以防止非授權節點的接入。
(2)通過數字簽名實現不可抵賴。除了區塊鏈節點本身機制內的數字簽名外,用戶對提交的內容也要用自己的私鑰打上數字簽名,把內容和數字簽名都上鏈,使用方對數字簽名用提交方的公鑰做確認操作,實現證據的追溯和不可抵賴。
(3)通過通道進行隔離。一個通道相當于一個虛擬網絡,維護自己獨立的賬本,通道之間相互隔離,一個節點可以加入多個通道。例如全省公檢法建立區塊鏈網絡后,有些業務只需在省公安廳、省檢察院和省法院之間開展,地市的公檢法機構不需參與。這時,可以在省公安廳、檢察院和法院的節點上建立一個新的通道,其他節點就無法訪問該通道賬本上的證據,實現數據的有效隔離。
(4)對數據加密再上鏈。數據上鏈后,每個節點都保存一份賬本,都可以訪問,訪問范圍被擴大。而司法業務開展要求證據的訪問必須控制范圍。首先,只有業務相關方才能訪問數據,其他節點只是做共同存證。其次,業務開展有時間順序,只有業務流轉到相關方才能去訪問數據。通過對數據采用對稱加密算法加密后再上鏈,這樣就只有上傳方才能訪問數據。結合業務不斷開展,流轉給下一機構時再把密碼發給對方,這樣整個環節中只有知道密碼的用戶才能訪問數據,通過對數據的加密實現非授權用戶對數據的“看不懂”。
(5)在客戶端增加基于角色的訪問控制管理。同一個的機構,不同的用戶歸屬不同的角色,開展不同的工作內容,客戶端根據業務需求實現權限控制。
以上五點保障措施,通過管組織、管節點、管數據、管用戶等維度,控制數據訪問范圍,保障數據的安全性。
通過在公安、檢察院、法院共同打造一個聯盟鏈,利用區塊鏈的多方存證、不可篡改、可追溯、不可抵賴、CA認證、數字簽名,邊緣存儲的去中心化分布式存儲、就近存取、彈性擴容等特點,共同實現了電子證據的線上管理,實現對電子數據的內容存證、鏈接存證、哈希存證、加密存證[4]。共同打造一套證據鏈體系,實現數據共享,提高工作效率和保障數據安全,推進司法信息化建設[5]。