趙運星 ,趙強 ,黃超 ,楊濤 ,周廣軍 ,姜作真 ,胡麗萍
(1.煙臺市海洋經濟研究院 煙臺 264000;2.煙臺市海洋與漁業(yè)監(jiān)督監(jiān)察支隊 煙臺 264000)
大數據時代的到來,使得各類海洋數據快速累積增長,給海洋領域管理變革帶來了新的契機與挑戰(zhàn)。目前,我國在海洋領域內具有豐富的數據資源和應用市場優(yōu)勢,因而海洋數據開放共享具有非常大的經濟價值和社會價值。中國沿海城市眾多,不同城市的海洋產業(yè)發(fā)展不盡相同。部分城市粗放的海洋經濟開發(fā)方式阻礙了其海洋經濟發(fā)展,也有城市因細致的海洋產業(yè)布局而實現經濟高質量發(fā)展。我國在海洋數據應用研究方面起步較晚,仍存在數據資源各自孤立、信息缺乏共享、數據利用率低等問題。實現不同區(qū)域間的海洋數據共享,可使不同城市在對海洋資源的管理、保護、開發(fā)和利用上能夠相互學習,取長補短,對我國沿海城市海洋經濟平衡和高質量發(fā)展具有重要意義。
然而,海洋數據具有獲取難度大、數據流通流程復雜甚至包含隱私性等特點,實現海洋數據的安全共享是解決問題的關鍵。云計算和云存儲的出現解決了大數據存儲的問題,Collier等[1]、Li等[2]、Haskew 等[3]、Biswas等[4]提出將“數據上云”,由“第三方”托管,并實施必要的安全機制保證數據的安全性和隱私性,解決了不同數據的共享問題。對于云上數據的安全問題,Cheng等[5]和Shen等[6]提出一個將數據分割為有序數據列的方案,通過在多個云存儲設備上存儲相關數據列保證了大數據的安全問題。李新等[7]提出一種可實現發(fā)送方在加密前規(guī)定訪問結構的云存儲CP-ABE 方案,豐富了加密結構的靈活性和用戶權限的可描述性。
隨著Nakamoto[8]提出區(qū)塊鏈(blockchain)這一概念,學者在數據隱私和安全性方面的研究有了更多進展。Wang等[9]提出一個結合身份加密和屬性加密的加密方案,不僅通過基于身份的簽名實現了數字簽名的真實有效性,而且通過區(qū)塊鏈技術實現了數據的可追溯性、完整性。董黛瑩等[10]提出一個加入改進的拜占庭容錯系統(tǒng)共識機制的數據共享模型,可為數據安全和隱私存儲提供保障,減少數據周轉時間。智能合約作為一個成熟的區(qū)塊鏈時代產物,如何通過在區(qū)塊鏈上部署智能合約,實現所需功能的自動實現一直是現代學者研究的熱點。Dagher等[11]提出一個在區(qū)塊鏈上部署智能合約的隱私保護框架,在節(jié)點注冊初期設計多個智能合約,確保數據供應方擁有個人數據所有權以及控制權,可實現加入節(jié)點、更改權限等多個現實場景的應用。在此基礎上,徐文玉等[12]提出一個使用同態(tài)加密的隱私保護方案,通過增加“保險公司”節(jié)點,保證了數據隱私性的同時,實現了基于智能合約的保險公司自動理賠場景。Culver[13]提出一個只有數據供應者、政府和數據需求者參與的權限區(qū)塊鏈,通過在智能合約上編寫三方之間復雜的協議代碼,保證了操作透明性。Ekblaw 等[14]提出一個基于區(qū)塊鏈的去中心化系統(tǒng),該系統(tǒng)通過在區(qū)塊鏈上存儲數據索引的Hash值,為數據需求方提供完整的日志,同時通過一系列智能合約提高系統(tǒng)的可操作性。徐健等[15]提出一個包含3個智能合約的安全存儲訪問方案,結合區(qū)塊不可篡改性和非對稱加密技術,有助于解決數據跨域共享、身份跨域驗證問題。
梳理現有文獻可知,當前基于區(qū)塊鏈的數據隱私保護是各國研究的重點問題。因此,為了更好地實現海洋信息在供應方和需求方之間的高效流動,本研究提出一個基于區(qū)塊鏈的“海洋數據安全共享系統(tǒng)”,該系統(tǒng)具有以下特點:①海洋數據上鏈,去中心化、防止篡改。通過合理整合和利用沿海地區(qū)海洋資源的調查數據(數據供應方),為其他海洋資源利用率不足、海洋經濟發(fā)展相對落后的地區(qū)(數據需求方)提供數據借鑒、理論資源索引和決策支持。②區(qū)塊鏈上部署4個智能合約,實現系統(tǒng)上每一次交易的自動執(zhí)行。③設置訪問控制,阻止惡意攻擊者對隱私數據的竊取。
針對沿海地區(qū)數據流通性、共享性較差的問題,結合密碼學中非對稱加密技術(同態(tài)加密)和區(qū)塊鏈中智能合約技術,本研究提出一個基于區(qū)塊鏈技術的“海洋數據安全共享系統(tǒng)”。該雙鏈系統(tǒng)通過智能合約自動執(zhí)行供需雙方海洋資源的有償共享,實現數據共享過程的去中心化、可監(jiān)管、防篡改、支持多方參與等優(yōu)良性質。此外,由于該系統(tǒng)具有雙鏈并行的特點,因此運算速度也將大幅提高。
“海洋數據安全共享系統(tǒng)”基于常見的ElGamal公鑰加密體制,擴大了該系統(tǒng)的應用與理解范圍。ElGamal公鑰加密過程包含3個階段。
滿足乘法同態(tài)性質。
基于區(qū)塊鏈,通過依次部署的4個智能合約(海洋數據共識智能合約、注冊分類智能合約、自動合同執(zhí)行智能合約及自動合同簽訂智能合約),分步實現一種全新的海洋數據共享系統(tǒng)新模式。該系統(tǒng)通過兩鏈并行結構(海洋數據注冊鏈-海洋數據共享鏈),可以自動進行“海洋數據供應地區(qū)”與“海洋數據需求地區(qū)”的資源共享,實現海洋調查數據在地區(qū)間的自主價值流通。表1是本研究出現的縮寫及其定義,圖1是本研究構建的“海洋數據安全共享系統(tǒng)”模式圖。
表1 縮寫及定義Table 1 Abbreviation and definition
圖1 “海洋數據安全共享系統(tǒng)”模式Fig.1 Pattern of the secure sharing system for marine data
如圖1所示,“海洋數據安全共享系統(tǒng)”中包含3類主體:“海洋數據供應方MS”“海洋數據需求方MD”以及“礦工MN”。新模式具有如下特點。
(1)系統(tǒng)去中心化,自發(fā)運行、高度自治?!捌ヅ湫枨蠓健蓖ㄟ^支付預先約定好的金額,滿足相應智能合約觸發(fā)條件后,進入匹配系統(tǒng)。當礦工獲得一定經濟激勵(手續(xù)費)將自動執(zhí)行計算任務,保證系統(tǒng)正常運行、去中心化,高度自治。
(2)海洋數據注冊鏈-海洋數據共享鏈,兩鏈并行結構。系統(tǒng)通過篩選、審查“供應方”提供的海洋數據資源,滿足一定要求的數據構成海洋數據注冊鏈;“需求方”將對供應方感興趣的待共享信息構成海洋數據共享鏈。
(3)經濟激勵保證資源自增長,權益有保障。由于供需關系,使得海洋數據需求方需要支付一定報酬才能使得礦工“挖礦”,完成大量計算工作;而海洋數據供應方也得到數據流通中的價值變現,因此不同種類有效記錄資源將實現自增長。
為了成功執(zhí)行并監(jiān)管各主體間產生的交易或其他行為,本系統(tǒng)由以下智能合約構成。
(1)供應方角度:海洋數據共識智能合約、注冊分類智能合約和自動合同執(zhí)行智能合約。①供應方將加密后的海洋數據發(fā)送至系統(tǒng),系統(tǒng)自動執(zhí)行海洋數據共識智能合約,判斷數據集是否滿足CSG等其他共識要求,并在全網公示。②公示期間無異議的海洋數據將通過注冊分類智能合約,自動生成合法注冊記錄供礦工打包成資源區(qū)塊,并依據不同海洋數據類型自動分類。③匹配方得到礦工發(fā)送的有序數組,若通過私鑰求解后值為1,系統(tǒng)運行自動合同執(zhí)行智能合約,即向供應方支付需求方預付資金,同時也將得到的匹配記錄對應對稱密鑰加密的海洋數據密鑰發(fā)給需求方,完成共享。
(2)需求方角度:自動合同簽訂智能合約。自動合同簽訂智能合約收到海洋數據供應方提供的地區(qū)加密待共享海洋數據,通過礦工對鏈上相關數據庫計算,形成對應有序數組并發(fā)送至需求方,等待需求方判斷有無共享數據。
(3)監(jiān)管方角度:申訴智能合約和處罰智能合約。①若出現虛假海洋數據、共享結果有誤、交易金額異常等情況,供應方或需求方有權提出申訴,自動執(zhí)行申訴智能合約。②申訴方申訴成功后,自動執(zhí)行處罰智能合約。
(1)系統(tǒng)初始化:“海洋數據安全共享系統(tǒng)”由一個開源社區(qū)或一家公司初始發(fā)起與構建,即生成兩條區(qū)塊鏈(海洋數據注冊鏈-海洋數據共享鏈)各自第一個區(qū)塊,創(chuàng)世區(qū)塊。第一個區(qū)塊中不含交易、流通信息,只記錄系統(tǒng)構建時間等其他設計信息;生成各自創(chuàng)世區(qū)塊后,采用多種方案對“海洋數據安全共享系統(tǒng)”進行宣傳推廣,讓沿海地區(qū)海洋管理部門了解此類新模式,并愿意進行嘗試,啟動系統(tǒng)。
(2)參與主體初始化:新模式中主要主體,“海洋數據供應方MS”“海洋數據需求方MD”“礦工MN”以及“監(jiān)督機構SA”。通過向發(fā)起方發(fā)送各自數字證書(用自己的私鑰對用戶的身份信息進行簽名,該簽名和用戶的身份信息共同形成證書,如MAC碼)申請加入系統(tǒng),參與流通。數字證書作為各主體系統(tǒng)中流通時客戶端賬號,與真實身份對應,參與主體通過客戶端進行各自需求活動。
“海洋數據安全共享系統(tǒng)”注冊流程由以下4個步驟完成。
(1)海洋數據供應方申請注冊。在私有鏈上每個節(jié)點加入與退出網絡需要共識,因此海洋數據供應方需要首先向系統(tǒng)申請注冊,發(fā)送海洋數據、海洋數據屬性集,后續(xù)節(jié)點進行“共識”投票時依據的判斷屬性,如地區(qū)、經度、緯度、所需海洋數據等,并交付一定的注冊手續(xù)費用,用于支付礦工算力,同時防止惡意節(jié)點注冊。
(2)共識審核。系統(tǒng)啟動海洋數據共識智能合約,首先對供應方進行聯盟群組檢驗,即通過海洋數據屬性集判斷此類海洋數據是否滿足上鏈條件,并決定是否進行唯一性檢驗。其次進行唯一性檢驗。通過供應方提供的非對稱加密后的身份ID[SHA256(pk,ODdata)=Hash(ID)]判斷是否為初次注冊節(jié)點。這一過程中將注冊手續(xù)費部分支付給付出審核共識算力的礦工。
(3)分類注冊。通過共識審核后的海洋數據將啟動注冊分類智能合約,根據CSG 群組分成二級類別(如海洋水溫數據、海洋氣象數據、海洋化學數據以及海洋生物數據等),在全網公示,經過公示期后智能合約將對其生成合法注冊記錄并打上注冊生效時間戳。
(4)發(fā)送最新注冊鏈信息。礦工經過一個固定時間段將各自“挖礦”通過第(2)和第(3)步驟的合法注冊記錄打包形成區(qū)塊,廣播到全面所有節(jié)點進行審核與共識,獲得最終共識通過的區(qū)塊將最終上鏈,鏈接到“海洋數據注冊鏈”末端,礦工也將獲得最終上鏈數據的全部“挖礦”費用。
步驟(1)至步驟(4)完成“海洋數據安全共享系統(tǒng)”注冊流程,系統(tǒng)每經過一個固定時間段向客戶端發(fā)送當前最新海洋數據注冊鏈信息。
“海洋數據注冊鏈”具有如下性質:①“海洋數據注冊鏈”經過固定時間段匯總供應方申請,生成各自身份ID、記錄登記時間并進行“共識”審核,審核通過后生成區(qū)塊廣播至全網、上鏈。②鏈上記錄一經共識,無法更改。即區(qū)塊只能新增,無法刪減或更改。
“海洋數據安全共享系統(tǒng)”共享流程由以下5個步驟完成。
(1)鏈上記錄預處理?!昂Q髷祿健鳖A先對共享系統(tǒng)中需求方感興趣的“待咨詢”數據進行登記注冊(僅注冊一次),進入共享系統(tǒng)。并啟動處罰智能合約,保證數據需求方利益。“海洋數據需求方”完成共享系統(tǒng)用戶注冊。系統(tǒng)自動執(zhí)行自動合同簽訂智能合約,需求方開通個人電子錢包,支付相應費用。
(2)海洋數據需求方發(fā)出海洋數據查看請求。系統(tǒng)收到需求方公鑰(pk_MD)和地區(qū)加密待共享記錄(根據CSG 群組類別首先進行分類,簡化后續(xù)計算),并等待通過礦工對鏈上相關數據庫計算。
(3)系統(tǒng)啟動自動合同簽訂智能合約,生成共享電子合同。海洋數據需求方“電子錢包”中的預付款將被凍結,同時礦工將進行如下操作。
首先,通過強大計算能力使用需求方的公鑰(pk_MD),對CSG 中的加密海洋數據(已通過對稱加密)進行運算,記作:
Epk_MD(P1),Epk_MD(P2),Epk_MD(P3),…,嚴格保持原始順序。
式中:Pi為供應方共享海洋數據,Epk_MD(Pi) 為加密共享海洋數據。
其次,與需求方的地區(qū)加密待共享記錄記作Epk_MD(M)共同執(zhí)行第二次計算:
由同態(tài)乘法性質有:
將加密數值保存在有序數組A[M]中,將有序數組A[M]和對其數字簽名發(fā)送給海洋數據需求方。
海洋數據需求方得到有序數組A[M]和對其簽名,首先,根據公鑰驗證礦工計算結果的真實性。其次,根據私鑰(sk_MD)解密數組A[M]中數據,若Pi=M,則解密值
即海洋數據需求方得到“待咨詢”海洋數據,完成數據共享;否則,若:
即未找到相關海洋數據共享結果。
(4)系統(tǒng)定時廣播新區(qū)塊待全網審核,只有經過系統(tǒng)審核的區(qū)塊視為合法流通。需求方通過私鑰(sk_MD)解密數組A[M]中數據,觸發(fā)自動合同執(zhí)行智能合約,自動完成“供需雙方錢貨兩清”過程,即供應方發(fā)送解密海洋數據,需求方向供應方支付預付款。需要注意的是,當需求方未找到共享數據時,將僅支付30%的預付款,目的在于挽回其一定損失。
(5)若出現共享數據不符、交易金額異常等糾紛時,可隨時向監(jiān)管機構申訴,請求處罰,雙鏈系統(tǒng)將無償提供記錄支持。
“海洋數據共享鏈”主要具有如下性質:①由于每一個區(qū)塊都有數字簽名、時間戳、Merkle值等數據,“海洋數據共享鏈”保證了共享數據安全性與公平性。②由于共享數據計算量巨大以及相應信息存儲在區(qū)塊鏈網絡上,因此“海洋數據共享鏈”實現了分布式記賬功能,安全性較高。③參與主體隨時申訴、得到監(jiān)管保障。
定理:數據需求方利用自身私鑰(sk_MD)可從有序數組A[M]中得到匹配結果。
證明:設明文空間元素x,y,k1,k2∈Zp-1,通過ElGamal公鑰加密體制進行加密,分別得到密文:
需求方得到有序數組A[M],根據私鑰(sk_MD)解密數組A[M]中數據,若Pi=M,則解密值
即得到需求方得到“待咨詢”海洋數據結果。否則,若:
即需求方未得相關海洋數據結果,完成目標搜索匹配。
(1)若存在惡意供應方提供篡改、無用數據旨在獲得非法利益,必須進行供應方認證審核,審核通過方可提供數據,因此供應方完成非法獲利行為的概率很低;同時需求方若想要惡意獲得隱私數據,首先也需進行節(jié)點審核,通過后才可獲得礦工計算數據,進行下一步匹配訪問,如此多重認證防止非法或惡意節(jié)點訪問敏感隱私數據。
(2)在所有交互中,只有經過審核認證通過的需求方可獲得明文消息。后期若發(fā)生申訴等賠償事故時,區(qū)塊鏈將提供交易記錄,自動啟動申訴、處罰智能合約,保障各方合理權益。
(1)由初始系統(tǒng)設置,供應方提供記錄為對稱加密后記錄,并默認礦工為“誠實的(即誠實地執(zhí)行加密協議)”,供應方與礦工之間進行約定在安全信道進行加密運算過程,因此礦工的第一輪加密計算,形成有序加密數組A[M],并將其發(fā)送給匹配方,由匹配方進行解密操作,這在一定程度上保護了雙方隱私。
(2)由于匹配方和供應方都在進入系統(tǒng)前進行審核,通過后才能進入私有鏈上進行數據流通,即任何節(jié)點注冊時都要認證自身合法性,這也降低了未授權節(jié)點訪問敏感信息的可能。
(3)本系統(tǒng)中共4個主要匹配智能合約和兩個后期服務保障智能合約。海洋數據共識智能合約、注冊分類智能合約、自動匹配合同執(zhí)行智能合約為供應方進行數據上鏈、分類,以及匹配功能,每個合約存儲內容相關且有順序關聯,若想跳步進行某一合約無法實現;自動匹配合同簽訂智能合約為匹配需求方完成自身節(jié)點數據認證,進行記錄自動匹配合約,只有需求方和供應方同時滿足訪問條件才能進行系統(tǒng)訪問。
針對沿海地區(qū)海洋數據利用率低、共享性較差的問題,本研究結合密碼學中非對稱加密技術(同態(tài)加密)和區(qū)塊鏈中智能合約技術,創(chuàng)新性地提出一個基于區(qū)塊鏈技術的“海洋數據安全共享系統(tǒng)”。該雙鏈系統(tǒng)通過智能合約自動執(zhí)行供需雙方海洋資源的有償共享,實現數據共享過程的去中心化、可監(jiān)管、防篡改、支持多方參與等優(yōu)良性質。該系統(tǒng)既促進了不同地區(qū)間的海洋數據共享流轉,又保護了資源供應方的合法控制權,實現了對鏈上流通海洋數據的有效管理與監(jiān)控,是區(qū)塊鏈技術與傳統(tǒng)海洋資源調查數據庫相結合的海洋資源創(chuàng)新產物,理論上解決了不同地區(qū)間海洋經濟發(fā)展中海洋基礎數據的共享問題。