陳 潮
(浙江警察學院計算機與信息安全系,杭州 310053)
隨著信息技術的高速發(fā)展,以視頻監(jiān)控為代表的數(shù)字安防技術在社會各個領域得到廣泛應用,國家、企事業(yè)單位和個人在重要場所普遍安裝各種視頻監(jiān)控設備,視頻監(jiān)控設備每時每刻產(chǎn)生海量視頻數(shù)據(jù),視頻數(shù)據(jù)的安全存儲和可靠共享成為一大難點[1-2]。公安機關在調解群眾糾紛和辦理案件過程中,監(jiān)控視頻數(shù)據(jù)是一種極其重要的電子證據(jù),成為調解好群眾糾紛和偵破案件的關鍵證據(jù)之一,而各單位的視頻監(jiān)控設備存在由于設備老舊、維護不利和管理不善等原因導致視頻數(shù)據(jù)丟失和被篡改等問題,也存在為掩蓋違法犯罪行為而主動刪除視頻數(shù)據(jù)等行為。區(qū)塊鏈具有分布式存儲、去中心化、不可篡改和可溯源等特點,但區(qū)塊鏈存儲數(shù)據(jù)容量有限,無法滿足視頻數(shù)據(jù)的存儲要求,區(qū)塊鏈網(wǎng)絡也無法承載海量視頻數(shù)據(jù)的傳輸,而云存儲具有存儲容量大和訪問便捷等特點。結合區(qū)塊鏈和云存儲的優(yōu)點,提出一種云存儲與區(qū)塊鏈相結合的監(jiān)控視頻數(shù)據(jù)存儲模型,可有效檢測視頻數(shù)據(jù)的真實性和完整性,在一定程度上防止視頻數(shù)據(jù)的篡改和刪除[3-4]。
以比特幣為代表的數(shù)字貨幣的興起,引起各領域學者的關注,興起學習和研究的熱潮,通過對比特幣底層技術的研究,發(fā)現(xiàn)其核心的數(shù)據(jù)結構是區(qū)塊和鏈,底層核心技術也被學者們命名為區(qū)塊鏈技術。區(qū)塊鏈是點對點傳輸、非對稱加密技術、哈希算法、共識算法、激勵機制和博弈論等眾多技術和理論的集成創(chuàng)新,區(qū)塊鏈技術雖未提出新的技術,但是具有重大的創(chuàng)新意義[5-7]。區(qū)塊鏈由區(qū)塊和鏈構成,各區(qū)塊通過哈希指針前后連接成一條完整的區(qū)塊鏈,區(qū)塊由區(qū)塊頭和區(qū)塊體兩個部分構成,以比特幣為例,其中區(qū)塊頭由前一區(qū)塊哈希值、時間戳、區(qū)塊版本號、隨機數(shù)、難度和梅克爾樹根等字段組成,區(qū)塊體由大量的轉賬交易構成。區(qū)塊鏈根據(jù)各節(jié)點加入?yún)^(qū)塊鏈網(wǎng)絡是否需要授權,分為許可鏈和非許可鏈,非許可鏈允許任何節(jié)點隨時加入和離開區(qū)塊鏈網(wǎng)絡,典型的代表就是比特幣,是一種完全去中心化的區(qū)塊鏈。許可鏈中任何節(jié)點需要獲得許可才能加入?yún)^(qū)塊鏈網(wǎng)絡,許可鏈又分為私有鏈和聯(lián)盟鏈,私有鏈適合用于一個企事業(yè)單位內部,是一種中心化的區(qū)塊鏈,聯(lián)盟鏈適用于跨部門跨單位之間,是一種部分中心化的區(qū)塊鏈,視頻監(jiān)控數(shù)據(jù)的存儲和管理涉及設備所在單位、上級主管單位和監(jiān)管部門,因此視頻監(jiān)控數(shù)據(jù)存儲模型適合采用聯(lián)盟區(qū)塊鏈。
監(jiān)控視頻數(shù)據(jù)存儲模型中各單位配置監(jiān)控設備、視頻處理服務器、區(qū)塊鏈節(jié)點服務器和云存儲服務器,視頻處理服務器是單位內部視頻數(shù)據(jù)存儲的中樞,區(qū)塊鏈節(jié)點服務器構建區(qū)塊鏈網(wǎng)絡,存儲模型采用云存儲技術和聯(lián)盟區(qū)塊鏈技術,云存儲技術實現(xiàn)視頻數(shù)據(jù)的海量存儲和便捷訪問,區(qū)塊鏈技術確保上鏈數(shù)據(jù)無法篡改,結合兩種技術的優(yōu)勢,確保視頻數(shù)據(jù)的真實性和完整性,在一定程度上可以有效防止人為刪除和篡改監(jiān)控設備視頻數(shù)據(jù)[8-10]。
視頻監(jiān)控所在單位、上級主管單位和監(jiān)管單位通過互聯(lián)網(wǎng)連接,構成聯(lián)盟區(qū)塊鏈網(wǎng)絡的各節(jié)點,單位節(jié)點負責產(chǎn)生交易數(shù)據(jù)和構建區(qū)塊,上級主管單位節(jié)點和監(jiān)管部門節(jié)點負責交易數(shù)據(jù)的驗證和查詢,每個節(jié)點配置區(qū)塊鏈節(jié)點服務器,各個區(qū)塊鏈節(jié)點服務器采用點對點技術實現(xiàn)監(jiān)控視頻元數(shù)據(jù)的共享和同步,監(jiān)控視頻數(shù)據(jù)存儲模型架構如圖1所示。
單位內部網(wǎng)絡連接監(jiān)控設備、云存儲服務器和視頻處理服務器。監(jiān)控設備輸出視頻數(shù)據(jù),云存儲服務器存儲監(jiān)控視頻數(shù)據(jù),視頻處理服務器對監(jiān)控輸出的視頻數(shù)據(jù)以固定時間為單位分片,并計算分片視頻的哈希值,將分片視頻的哈希值等元數(shù)據(jù)存儲到區(qū)塊鏈,從而實現(xiàn)監(jiān)控視頻數(shù)據(jù)的安全存儲和防篡改。
各單位因安防的需要,配置大量的監(jiān)控設備,監(jiān)控設備輸出的視頻數(shù)據(jù)容量巨大,單個區(qū)塊鏈難以承載存儲全部監(jiān)控設備輸出視頻數(shù)據(jù)的元數(shù)據(jù),也會導致視頻數(shù)據(jù)的查詢效率低下等問題,因此監(jiān)控視頻數(shù)據(jù)存儲模型采用多條區(qū)塊鏈結構,每個監(jiān)控設備對應一個區(qū)塊鏈,每個區(qū)塊鏈由首區(qū)塊和視頻區(qū)塊構成,所有監(jiān)控設備的區(qū)塊鏈首區(qū)塊都鏈接匯聚到創(chuàng)世區(qū)塊,創(chuàng)世區(qū)塊由上級主管單位和監(jiān)管單位協(xié)作生成,整體區(qū)塊鏈數(shù)據(jù)結構如圖2所示,當一單位安裝新的監(jiān)控設備時,由監(jiān)控設備所在單位的視頻處理服務器創(chuàng)建監(jiān)控設備首區(qū)塊,監(jiān)控設備視頻數(shù)據(jù)的元數(shù)據(jù)作為交易,構建視頻區(qū)塊[11-12]。
監(jiān)控設備對應的區(qū)塊鏈由監(jiān)控設備首區(qū)塊和視頻區(qū)塊構成,視頻處理服務器生成監(jiān)控設備首區(qū)塊,視頻區(qū)塊由區(qū)塊頭和區(qū)塊體構成,區(qū)塊頭包含前一區(qū)塊哈希值、時間戳、區(qū)塊版本號、監(jiān)控設備編號、區(qū)塊哈希值、視頻總數(shù)和梅克爾樹根等字段,區(qū)塊數(shù)據(jù)結構如圖3 所示。區(qū)塊體由監(jiān)控視頻數(shù)據(jù)的元數(shù)據(jù)構成,元數(shù)據(jù)包含監(jiān)控設備所在單位編號、監(jiān)控設備編號、視頻數(shù)據(jù)編號、視頻證據(jù)數(shù)字簽名、視頻數(shù)據(jù)哈希值和視頻數(shù)據(jù)時間等,元數(shù)據(jù)的字段構成見表1。視頻處理服務器負責對監(jiān)控視頻數(shù)據(jù)以1分鐘為單位進行分片,每個監(jiān)控設備每天產(chǎn)生1440 個分片視頻,1440 個分片視頻的哈希值等元數(shù)據(jù)作來交易構建梅克爾樹,即1440 個葉子節(jié)點,以2片葉子節(jié)點為一組計算哈希,然后每2片相鄰的葉子節(jié)點聯(lián)合起來做一次哈希計算成為上層葉子節(jié)點的哈希值,持續(xù)向上層計算就產(chǎn)生了一個最頂層的節(jié)點的哈希值,即為梅克爾樹根,該值存儲在視頻區(qū)塊頭中,當任何一個元數(shù)據(jù)發(fā)生變化,將導致梅克爾樹根的變化,從而改變視頻區(qū)塊哈希值,無法維持各區(qū)塊之間的鏈接,因此該區(qū)塊數(shù)據(jù)結構在設計上確保區(qū)塊鏈上鏈數(shù)據(jù)無法篡改。
表1 視頻區(qū)塊體交易(元數(shù)據(jù))字段
圖3 區(qū)塊數(shù)據(jù)結構
監(jiān)控視頻的產(chǎn)生、處理、傳輸和存儲過程涉及監(jiān)控設備、視頻處理服務器、云存儲服務器和區(qū)塊鏈節(jié)點服務器,監(jiān)控視頻數(shù)據(jù)的存儲過程如圖4所示。
圖4 監(jiān)控視頻數(shù)據(jù)存儲流程
下面以單位A 的監(jiān)控設備為例說明,具體步驟如下:
(1)監(jiān)控設備經(jīng)所在單位授權后,安裝部署在單位內部,并連接單位內部網(wǎng)絡。
(2)監(jiān)控設備通過單位內部網(wǎng)絡向視頻處理服務器傳輸產(chǎn)生的視頻。
(3)視頻處理服務器對監(jiān)控視頻數(shù)據(jù)以固定時間為單位進行分片,將分片視頻傳輸給云存儲服務器。
(4)云存儲服務器接收分片視頻,存儲后返回結果。
(5)視頻處理服務器計算出分片視頻的哈希值,將監(jiān)控設備所在單位編號、監(jiān)控設備編號、視頻數(shù)據(jù)編號、視頻證據(jù)數(shù)字簽名、視頻數(shù)據(jù)哈希值和視頻數(shù)據(jù)時間等元數(shù)據(jù)傳輸給單位區(qū)塊鏈節(jié)點服務器。
(6)區(qū)塊鏈節(jié)點服務器以元數(shù)據(jù)構建交易,并通過點對點網(wǎng)絡傳輸?shù)絽^(qū)塊鏈各節(jié)點服務器。
(7)區(qū)塊鏈節(jié)點服務器運行共識算法,確定構建新區(qū)塊的區(qū)塊鏈節(jié)點服務器,該節(jié)點服務器采集交易數(shù)據(jù)構建新的區(qū)塊,并將新區(qū)塊通過點對點網(wǎng)絡傳輸?shù)絽^(qū)塊鏈各節(jié)點服務器。
(8)區(qū)塊鏈各節(jié)點服務器對接收到的新區(qū)塊進行驗證,驗證通過則確認為最新的區(qū)塊。
(9)區(qū)塊鏈節(jié)點服務器向視頻處理服務器反饋元數(shù)據(jù)上鏈的結果。
監(jiān)控設備廣泛應用在安防領域,產(chǎn)生海量的視頻數(shù)據(jù),由于管理不善、維護不力和人為刪除等原因往往導致監(jiān)控視頻數(shù)據(jù)的丟失或篡改。在研究云存儲和區(qū)塊鏈的基礎上,結合區(qū)塊鏈去中心化、難篡改和可溯源等特性,提出一種基于區(qū)塊鏈的監(jiān)控視頻數(shù)據(jù)存儲模型,監(jiān)控視頻數(shù)據(jù)存儲在單位內部的云存儲服務器,監(jiān)控視頻數(shù)據(jù)的哈希值等元數(shù)據(jù)存儲在區(qū)塊鏈,區(qū)塊鏈中的哈希值用于驗證視頻數(shù)據(jù)的真實性,充分發(fā)揮云存儲和區(qū)塊鏈的優(yōu)勢,在一定程度上解決監(jiān)控視頻數(shù)據(jù)的丟失和篡改問題,對于提高監(jiān)控視頻數(shù)據(jù)的安全性和可靠性有一定的應用價值。