国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于聯(lián)盟鏈的數據溯源機制

2023-11-28 02:43:54趙守才曹利峰杜學繪
網絡與信息安全學報 2023年5期
關鍵詞:網關區(qū)塊交易

趙守才,曹利峰,杜學繪

基于聯(lián)盟鏈的數據溯源機制

趙守才,曹利峰,杜學繪

(信息工程大學,河南 鄭州 450001)

隨著大數據時代的到來,數據的產生和流轉速度獲得空前增長。區(qū)塊鏈技術的出現為數據的真實性驗證提供了新的解決思路。隨著區(qū)塊鏈技術的發(fā)展,不同區(qū)塊鏈間數據流轉需求逐漸增加,而不同區(qū)塊鏈間數據流轉又帶來了新的安全性問題,如跨鏈數據傳遞易泄露、非法訪問造成數據泄露不易發(fā)現等。針對上述問題,提出一種基于聯(lián)盟鏈的數據溯源機制。設計了跨區(qū)塊鏈的數據溯源模型,引入私有數據管道來實現跨鏈數據傳遞的安全性,通過授權與訪問日志實現對用戶行為的記錄,保證非法越權訪問的可追溯性。為提高數據溯源查詢效率,采用鏈上鏈下同步存儲機制,將每次交易前的數據流轉狀態(tài)經加密存儲至數據庫,并將其索引存儲在區(qū)塊鏈交易中,從而實現鏈上鏈下數據的一一對應,同時在區(qū)塊體中引入Merkel山脈存儲區(qū)塊摘要,提高區(qū)塊合法性檢驗效率。根據數據存儲形式及跨鏈數據交互機制,設計了數據溯源算法,并將溯源結果以有序樹的形式展示。針對電商行業(yè)的跨域數據溯源場景,基于Fabric搭建了聯(lián)盟鏈溯源實驗環(huán)境,并采用Go語言模擬測試了區(qū)塊數量較大、交易數量較多情況下的數據溯源性能。結果顯示,隨著區(qū)塊高度及數據流轉次數增加,數據驗證及溯源效率具有顯著優(yōu)勢。

區(qū)塊鏈;數據溯源;跨鏈;聯(lián)盟鏈

0 引言

隨著互聯(lián)網技術的發(fā)展,數據創(chuàng)建的速度正以指數級增長。國際數據公司(IDC)預測全球的數據總量到2025年將會增長至175 ZB,屆時中國將以48.6 ZB的數據總量成為最大的數據圈[1]。海量的數據在網絡中不同應用系統(tǒng)、組織之間共享和融合,這使得數據的生產方式和流轉方式呈現出多樣性、復雜性的特點[2-3]。

在數據流轉使用過程中,如何保證數據來源可信,以及對數據進行溯源追蹤成為人們關注的重點[4]。溯源技術用來追蹤產品或者數據生成、流轉過程,目前被廣泛地應用在電子商務、科學實驗、數據追蹤等領域[1]。目前溯源最常用的做法是在商品上附帶二維碼或者條形碼。每經過一個環(huán)節(jié),通過識別商品上的二維碼或條形碼,將生產或交易信息上傳至數據中心,實現集中保存商品的溯源信息。這種傳統(tǒng)的中心化溯源方式具有查詢速度快、使用簡單的優(yōu)點,但同時存在易篡改和偽造的缺點,無法保證數據存儲的安全性,很容易對數據的完整性造成破壞。同時,傳統(tǒng)的數據溯源過程中,信息采集不透明將導致溯源信息可信度大打折扣。

區(qū)塊鏈技術作為一種去中心化的分布式數據賬本,為數據溯源管理提供了新的解決思路[5]。區(qū)塊鏈以其具有的不易篡改、去中心化、全網數據統(tǒng)一、方便追溯等特性得到了學術界和工業(yè)界的廣泛認可[6]。區(qū)塊鏈利用密碼學技術來保證數據的傳輸和訪問安全,其中每一個區(qū)塊上記錄的交易是上一個區(qū)塊形成之后、本區(qū)塊創(chuàng)建之前的所有活動,這種塊鏈式結構保證了數據存儲的完整性[7],同時采用分布式共識算法實現數據在對等網絡中的一致性[8]。一旦新區(qū)塊完成被加入區(qū)塊鏈,該區(qū)塊中的數據將獲得永久記錄并且無法更改,這種機制保證了區(qū)塊鏈上存儲數據的不易篡改的特性。區(qū)塊中的時間戳機制,保證了區(qū)塊數據操作時間的有跡可循,從而形成一個不易篡改、不易偽造及便于溯源的可信數據庫[9]。

隨著區(qū)塊鏈項目的井噴式發(fā)展,供應鏈、物流及金融等領域建立各自區(qū)塊鏈平臺。數據的跨系統(tǒng)、跨鏈的流轉共享使得數據溯源變得更加復雜,跨鏈數據溯源成為溯源數據完整性必不可少的一個重要環(huán)節(jié)[10]。以一次簡單的網購平臺購物為例,用戶需要提交申請信息到網購平臺,待網購平臺審核后為用戶創(chuàng)建賬號。用戶獲取賬號后,登錄網購平臺瀏覽商品,為保證商品的可靠真實性,用戶能夠訪問商品的供應鏈溯源查看商品信息。待用戶選定商品后,將付款信息發(fā)送給銀行系統(tǒng)或第三方支付平臺。待支付成功后,商家將貨物及用戶地址等相關信息提交給物流系統(tǒng),同時用戶或商家可對物流信息進行查詢溯源。由此可以看出,一次簡單的網上購物,至少需要銀行系統(tǒng)、購物平臺、商品供應鏈系統(tǒng)及物流系統(tǒng)之間進行數據交互。

針對數據在不同系統(tǒng)中流轉帶來的跨鏈數據溯源需求,本文提出基于聯(lián)盟鏈的數據溯源機制,主要貢獻如下。

1) 設計了一個基于聯(lián)盟鏈的跨鏈數據交互溯源模型,通過私有數據管道來保證敏感跨鏈數據安全性,并通過訪問與授權日志,實現數據的訪問控制及數據受訪的可追溯性。

2) 針對區(qū)塊鏈溯源過程中逐個交易查詢造成的時延,采用鏈上存儲數據單次流轉交易,鏈下加密存儲此交易前的全部交易溯源有序樹,同時在區(qū)塊中引入Merkel山脈,提高區(qū)塊合法性驗證效率。

3) 根據數據存儲形式及跨鏈數據交互機制,設計了數據溯源算法,并以有序樹的形式展示溯源結果。

1 相關工作

隨著區(qū)塊鏈技術的發(fā)展,越來越多的學者開始關注區(qū)塊鏈技術在數據溯源領域的應用。目前人們對基于區(qū)塊鏈技術的數據溯源研究主要集中在溯源數據存儲、溯源信息安全及溯源效率等方面。

1) 溯源數據存儲方面。樊玉琦等[11]為緩解區(qū)塊鏈節(jié)點數據存儲壓力,提出采用糾刪碼對區(qū)塊鏈數據進行編碼存儲,以實現數據存儲代價和數據讀取性能的平衡。喬蕊等[12]為解決物聯(lián)網設備產生的大量動態(tài)數據存儲與共享問題,提出了用于實現操作實體多維授權與動態(tài)數據存儲的雙聯(lián)盟鏈結構,并給出了一種基于聯(lián)盟鏈的動態(tài)數據溯源機制優(yōu)化方案。Sun等[13]基于雙鏈存儲機制構造了一種基于區(qū)塊鏈的數據加密存儲方案,并結合IPFS(inter planetary file system)技術實現了電子病歷的穩(wěn)定存儲與共享。劉煒等[14]通過IPFS構建了一個大容量存儲空間的傳染病數據共享區(qū)塊鏈模型,保證了區(qū)塊鏈數據溯源信息存儲的穩(wěn)定性。張國潮等[15]為解決區(qū)塊鏈數據存儲問題,提出一種基于門限秘密共享的區(qū)塊鏈分片存儲模型,緩解了單節(jié)點數據存儲壓力。

2) 溯源信息安全方面。針對數據溯源過程中存在的數據篡改、泄露等問題,賈大宇等[16]通過對現有的數據溯源模型及標準的擴展,提出了一種分層次的數據溯源安全模型,保證了數據溯源信息的完整性和可信性。劉耀宗等[17]為提高數據溯源安全,提出基于區(qū)塊鏈的RFID大數據溯源安全模型,通過建立數據溯源全程鏈式路徑,保證大數據溯源的安全管理。針對溯源數據流轉過程中數據易泄露等問題,Li等[18]結合多簽名密鑰分發(fā)及零知識證明技術設計了安全跨鏈體系及數據隱私保護機制,實現了溯源數據的鏈上鏈下雙驗證。Neisse等[19]從智能合約角度出發(fā),基于區(qū)塊鏈構造了主體合約和邏輯合約兩個數據審計和溯源模型,并評估了溯源模型的可擴展性等性能,實現了對區(qū)塊鏈數據的安全溯源。

3) 溯源效率方面。余濤等[20]為解決區(qū)塊鏈數據查詢面臨的查詢功能單一、查詢效率不足等問題,將Fabric聯(lián)盟鏈和MySQL結合提出一種區(qū)塊鏈數據的關系查詢方案,提高了區(qū)塊鏈數據溯源查詢效率。Lai等[21]為縮短區(qū)塊鏈溯源查詢響應時間,設計了一個獨立于Merkel樹的索引結構來支持高效的塊內數據查詢。劉煒等[22]為解決區(qū)塊鏈查詢效率低等問題,結合布隆過濾器及Merkel樹提出一種面向區(qū)塊鏈溯源的高效查詢方法,在保證數據不易篡改的同時提高了區(qū)塊鏈數據溯源查詢效率。Peng等[23]通過構建應用層和中間層,提出了可驗證的查詢結構,同時為實現區(qū)塊鏈溯源數據的快速查詢,對區(qū)塊鏈存儲數據進行了抽取重組。

2 模型架構

2.1 跨鏈模型

基于聯(lián)盟鏈的數據溯源結構模型如圖1所示,圖中共包含4條應用鏈。為實現數據的跨鏈溯源,各應用鏈分別包含應用鏈插件、授權與訪問日志及跨鏈網關等模塊??珂溨行牟糠殖鲬面溄M織代理外,還含有用于不同鏈之間隱私數據傳遞的私有數據通道。

圖1 基于聯(lián)盟鏈的數據溯源結構模型

Figure 1 Data traceability structure model based on consortium chain

應用鏈插件用于連接應用鏈和跨鏈網關,實現應用鏈和跨鏈網關之間的解耦。應用鏈插件按照跨鏈網關和應用鏈交互的需求確定適合跨鏈交互的插件接口。通過引入支持動態(tài)加載插件的方式完成應用鏈接入跨鏈系統(tǒng),同時將應用鏈中用于跨鏈操作的部分請求封裝到插件中,插件可根據應用鏈請求,向跨鏈網關轉發(fā)跨鏈系統(tǒng)能夠識別的統(tǒng)一請求方式。此外,應用鏈插件負責將通過驗證后的跨鏈溯源請求解析為應用鏈能夠識別的消息格式,并將其發(fā)送到應用鏈數據庫執(zhí)行查詢。

授權與訪問日志將不同系統(tǒng)區(qū)塊鏈的授權行為和受訪信息記錄在相應的區(qū)塊鏈日志上,根據區(qū)塊鏈不易篡改等特性,任何人和組織都無法偽造授權與訪問結果。通過授權行為日志追蹤記錄,快速溯源得到訪問用戶是否擁有訪問權限,以此對用戶的跨鏈訪問行為做出限制,降低數據泄露的風險。訪問行為日志用于記錄用戶跨系統(tǒng)、跨區(qū)塊鏈的客體訪問行為。通過授權行為及訪問行為的聯(lián)合溯源,判斷用戶訪問的合法性,快速鎖定用戶的越權訪問請求及已發(fā)生的越權訪問行為。通過區(qū)塊鏈授權與訪問日志,跟蹤查詢用戶越權等非法訪問行為歷史記錄,以此作為用戶好壞評判指標之一。同時在數據發(fā)生泄露時,能夠通過授權日志與訪問日志的聯(lián)合溯源,快速找到數據泄露的問題所在,提升系統(tǒng)數據安全性。

跨鏈網關可包含兩種設計模式。一種為適合鏈對鏈的直連模式,這種模式只適用于區(qū)塊鏈數量較少的小型跨鏈系統(tǒng)。另一種設計思想為引入中繼鏈來進行跨鏈操作,這種模式適用于較多區(qū)塊鏈間進行跨鏈互操作的場景??紤]到現實數據流轉過程中可能涉及多系統(tǒng)、多條區(qū)塊鏈間的數據信息互操作需求,本文采用第二種引入中繼鏈的跨鏈網關模式,一條中繼鏈即跨鏈中心的一個組織。根據功能將跨鏈網關分為監(jiān)聽模塊(MM,monitor module)、路由分發(fā)模塊(RDM,routing distribution module)、代理模塊(AM,agent module)、同步模塊(SM,synchronization module)、檢查模塊(CM,check module)及執(zhí)行模塊(PM,perform module)??珂溇W關結構如圖2所示。

監(jiān)聽模塊:監(jiān)聽對應的系統(tǒng)應用鏈插件上提交的跨鏈請求,對接收到的跨鏈請求信息檢查。將通過檢查的請求發(fā)送到RDM,對未通過檢查的跨鏈請求進行回滾操作。

圖2 跨鏈網關結構

Figure 2 Cross-chain gateway structure

路由分發(fā)模塊:由于跨鏈網關可以支持不同的跨鏈需求,RDM可根據需要進行轉換分發(fā)對象。在本文網關模式中,RDM將接收到的來自MM的請求信息直接發(fā)送到中繼鏈的AM。

代理模塊:相當于中繼鏈在本網關內部的代理,負責網關內部與中繼聯(lián)盟鏈之間的跨鏈信息的交互與傳遞。

同步模塊:跨鏈交易需要共識并且打包到區(qū)塊中,在同步交易時需要中繼鏈的輕節(jié)點不斷地同步更新區(qū)塊的頭部信息,以此獲得中繼鏈中與本網關相關的跨鏈交易信息。除此之外,還需要配合輕節(jié)點對跨鏈交易進行簡單支付驗證(SPV,simplified payment verification),以此來確定跨鏈交易的有效性。

檢查模塊:跨鏈交易在中繼聯(lián)盟鏈上已經達成共識并獲得簽名,因此CM只需要檢查RDM轉發(fā)而來的跨鏈交易是否來自中繼鏈。CM通過對共識簽名進行檢驗判斷當前跨鏈交易是否正確。

執(zhí)行模塊:負責保證跨鏈交易正確地提交到應用鏈,并且需要返回相應的跨鏈交易請求回執(zhí)信息??珂溄灰仔畔⑼ㄟ^檢查后被提交到PM。PM向應用鏈插件提交交易,待PM獲得相應的執(zhí)行結果后,通過回執(zhí)的形式再返回給RDM。

2.2 數據存儲模型

傳統(tǒng)的數據信息在進行存儲時,大多采用集中式的數據庫。在這種存儲方式中,數據擁有者可以不留痕跡地修改數據信息,數據易遭受篡改和偽造的特點,大大降低了溯源數據的可信性[24]。此外,傳統(tǒng)的中心化數據存儲模式中,數據存在誤刪及泄露的風險,并且在數據發(fā)生泄露時不易察覺,通常在發(fā)現數據泄露時,已經造成大量的數據泄露。區(qū)塊鏈作為大型分布式賬本,其不易篡改、去中心化、全網數據統(tǒng)一等特性與數據溯源要求不謀而合。但將區(qū)塊鏈技術用于數據存儲仍存在一定問題。當數據發(fā)生多次流轉時,對數據流轉狀態(tài)的溯源查詢需要對全鏈遍歷,這將增加溯源時延,很難滿足企業(yè)溯源業(yè)務的要求。此外,區(qū)塊鏈中提供了Merkel樹進行區(qū)塊內數據的快速驗證,但對于區(qū)塊的驗證則需要根據區(qū)塊哈希摘要逐個追溯驗證。

圖3 數據存儲結構

Figure 3 Data storage structure

2.2.1 數據存儲

本文的數據存儲結構中,數據流轉信息以交易的形式存儲在區(qū)塊鏈中,同時將此交易之前的該數據的所有流轉演變信息進行加密存儲在數據庫中,并將其哈希摘要索引存儲到當前區(qū)塊交易中。當需要溯源時,只需在當前交易索引對應數據庫中讀取數據流轉信息,并加入當前交易時間至溯源時間內新的流轉演變信息即可得到完整的流轉信息。區(qū)塊鏈交易與數據庫存儲一一對應,并具有數據庫查詢索引功能,實現一種鏈外狀態(tài)緩存,即使數據丟失也不會對區(qū)塊鏈數據造成影響。其加密存儲與查詢共包含初始化參數、生成密鑰、加密及解密4個過程,具體步驟如下。

2.2.2 數據驗證

在已有的區(qū)塊結構中,人們通過Merkel樹來實現對區(qū)塊中已存儲交易的合法性快速驗證。然而,對于區(qū)塊的合法性驗證,則需要從當前最新區(qū)塊逐步溯源至創(chuàng)世區(qū)塊才能驗證區(qū)塊鏈中的每一個區(qū)塊是否合法,造成了極大的時間浪費。為實現數據的快速驗證,Bunz等[25]提出采用基于Merkel樹改進的數據結構(即Merkel山脈)來進行數據的高效驗證。Merkel山脈中數據結構和Merkel樹中數據結構類似,每一個非葉子節(jié)點的值都是左右兩個非葉子節(jié)點值之和。其區(qū)別為Merkel樹為一棵完美的二叉樹,而Merkel山脈是若干棵完美二叉樹的組合。在Merkel山脈中追加數據只需在已有數據的基礎上進行添加,而無須對已有的數據進行修改,從而實現數據添加的便利性。利用Merkel山脈特點,將區(qū)塊鏈中的每一個區(qū)塊作為葉子節(jié)點并計算其哈希值,采用當前區(qū)塊之前的所有區(qū)塊信息構建Merkel山脈,可以有效提高區(qū)塊鏈驗證時間。

Merkel山脈結構如圖4所示,每個區(qū)塊中的Merkel山脈需要存儲此區(qū)塊之前的所有區(qū)塊的哈希值信息。

圖4 Merkel山脈結構

Figure 4 Structure of the Merkel mountains

例如,當需要驗證第5個區(qū)塊是否合法時,采取以下步驟。

3 數據溯源

3.1 私有數據管道

針對敏感數據在聯(lián)盟網絡中傳播帶來的安全性問題,在物理數據通道的基礎上提出私有數據管道,用來滿足更小范圍內有數據流轉交易的隱私需求。在通道內部發(fā)送的交易數據信息只有屬于通道內的成員才能夠查看,可以將通道看作聯(lián)盟鏈網絡內部的一個私有通信子網。然而,在由各應用鏈系統(tǒng)組成的聯(lián)盟鏈網絡中,不同應用鏈之間均可能存在數據交互,若每次交易均建立一條通道,則不僅為網絡管理帶來負擔,而且通道性能無法得到充分利用。為此,在數據通道的基礎上,設立私有數據管道機制。私有數據管道存在于通道內部,作為一個更小的數據集傳遞通路,它通常負責資產轉移或重要敏感數據的傳遞。數據通道結構如圖5所示。

圖5 數據通道結構

Figure 5 Data channel structure diagram

其中,每個組織中包含多個節(jié)點用戶,不同通道之間彼此物理隔離,避免了數據信息在整個聯(lián)盟網絡中的公開透明,在物理邏輯上實現數據隔離,不同應用鏈間溯源數據通過通道進行傳遞。私有數據管道能夠實現同一通道中不同節(jié)點對溯源數據的隱私性要求,保證不同應用鏈、不同節(jié)點的溯源數據在通道中傳遞的安全性。

同時,通道數量并非越多越好,引入通道策略,在方便數據傳遞的同時,增加了網絡的管理成本,當通道數量過多時,網絡管理成本過高,導致性能下降。同樣,對于單個通道來說,其內部私有數據管道雖然可以在一定程度上保護數據隱私,但單個通道內私有數據管道數量過多,將增加通道在管理私有數據管道時的成本,從而降低通道性能。如果單個通道內私有數據管道數量過少,又將導致數據通道無法得到充分利用,降低使用效率。數據通道參數如表1所示。

表1 數據通道參數

私有數據管道創(chuàng)建如算法1所示。

算法1 私有數據管道創(chuàng)建

輸出 私有數據管道

3) Else

5) End if

11) Else

13) Else

16) Else

18) End if

3.2 跨鏈溯源流程

基于聯(lián)盟鏈的數據溯源流程如圖6所示,共包含數據管道創(chuàng)建階段和跨鏈數據溯源階段。各階段步驟如下。

第一階段為數據管道創(chuàng)建階段。

Step 2:請求用戶所在區(qū)塊鏈對應的插件將用戶請求消息進行解封裝,將消息封裝為聯(lián)盟鏈系統(tǒng)能夠識別的消息格式。

圖6 基于聯(lián)盟鏈的數據溯源流程

Figure 6 Flow of data traceability based on consortium chain

Step 3:跨鏈網關解析請求消息,經檢驗簽名等信息無誤后,轉發(fā)至聯(lián)盟鏈網絡。

Step 5:目標鏈網關監(jiān)聽到發(fā)給該鏈的消息并檢查后,將驗證消息轉發(fā)給目標鏈插件。

Step 6:應用鏈插件收到驗證消息后,將消息解封裝成目標鏈能夠識別的格式。

Step7:通過查看目標鏈中的授權日志,檢查請求用戶對請求數據是否擁有查詢權限,并將結果返回給聯(lián)盟鏈網絡。

第二階段為跨鏈數據溯源階段。

Step 10:請求用戶首先對溯源數據的最新交易進行驗證,并獲取最新交易;然后根據最新交易對應區(qū)塊交易中存儲的哈希索引查找到數據庫中的數據流轉信息;最后將當前區(qū)塊中該數據的最新流轉信息加入已有的流轉信息中,得到最終的完整流轉溯源信息。

Step 11:將完整的溯源數據流轉信息通過私有數據管道返回給溯源請求者,溯源結束。

3.3 溯源算法

根據數據存儲模型,在每次數據交易時,與此交易索引對應的數據庫中存儲此交易前的數據溯源有序樹。數據溯源有序樹結構如圖7所示。樹中每個節(jié)點代表一種數據狀態(tài),數據狀態(tài)中包含數據的授權、訪問及所在區(qū)塊等信息。樹根節(jié)點表示原始數據狀態(tài),其余每個節(jié)點都表示由父節(jié)點經某種變化演變而來的數據狀態(tài)。同一父節(jié)點的子節(jié)點之間,按照數據變更交易時間從左至右進行排序。

圖7 數據溯源有序樹結構

Figure 7 Structure of data traceability ordered tree

圖7中節(jié)點1.3.2表示由1.3數據狀態(tài)發(fā)生某種數據變更交易后得到的新的數據狀態(tài),在此交易對應的數據庫中存儲此交易前的數據狀態(tài)有序樹。進行數據溯源時,只需在區(qū)塊鏈交易對應數據庫中存儲的有序樹基礎上,從根節(jié)點開始依次查詢添加1.3.2數據狀態(tài)交易時間至溯源時間之間新增加的授權、訪問及數據變更等事務。采用廣度優(yōu)先的方式在已有的有序樹上添加新的交易事務,得到當前時期數據的完整溯源結果。數據溯源如算法2所示。

算法2 數據溯源

輸入 區(qū)塊鏈賬本,溯源數據

1) state?getLatestTx()//查詢有關數據的最新狀態(tài)信息

2) orderedTree?query from state.Database//獲取數據流轉有序樹

3) treeRootState=orderedTree.rootState//獲取原始數據

4) queue.enqueue(treeRootState)//將原始數據狀態(tài)加入隊列

5) while(!queue.isEmpty)

6) temState=queue.dequeue()

7) If temState.newAuthorizeSet≠?//存在新授權信息

8) AddnewAuthorizeSet into AuthorizeSet

9) Set newAuthorizeSet=?

10) End if

11) If temState.newAccessSet≠?//存在新訪問信息

12) AddnewAccessSet into AccessSet

13) Set newAccessSet =?

14) End if

15) If temState.newTX≠?//存在新交易

16) Foreach newState in temState.newTX

17) Insert(temState?rightChild, newState) //將新交易加入有序樹

18) Set temState.newTX=?

19) End foreach

20) End if

21) Foreach childState in temState

22) Queue.enqueue(childState)

23) End foreach

24) End while

25) Return orderedTree

4 實驗分析

4.1 安全評估

(1)可信性分析

利用區(qū)塊鏈對數據信息進行存儲,區(qū)塊鏈中的Merkel樹用來保證數據信息的可信性。首先鎖定交易所在區(qū)塊,在區(qū)塊體中獲取交易Merkel樹,當需要驗證某一交易是否被篡改時,只需根據該交易中存儲的交易信息計算哈希值,然后與相鄰子樹或葉子節(jié)點的哈希值進行合并得到上一層新的子樹哈希值。重復步驟最終得到所有交易的根哈希值(即Merkel樹根哈希),存入區(qū)塊頭中,一旦交易內容發(fā)生改變,則所有上層子樹的哈希值必將改變,最終導致根哈希值改變,驗證失敗。因此,用戶可以輕松驗證數據信息是否發(fā)生了惡意篡改,利用區(qū)塊鏈技術可進一步提高溯源數據的可信性和真實性。

(2)數據安全性分析

首先,在聯(lián)盟鏈通道中引入了私有數據管道,不同通道之間彼此物理隔離,避免了數據信息在整個聯(lián)盟網絡中的公開透明,在物理邏輯上實現了數據隔離。其次,在通道內部劃分私有數據管道,提供更小范圍內數據的共享,用戶可在私有數據管道內進行數據的加密傳輸,保證信息僅在交易用戶雙方之間實現共享,可靈活地根據用戶的溯源需求對私有數據管道設定權限,有效地保證數據在傳遞過程中的隱私與安全。此外,通過為每條區(qū)塊鏈設置授權日志,可對用戶的訪問行為做出限制,防止非法用戶獲取密鑰查詢數據造成隱私泄露。同時通過訪問日志記錄的數據,對用戶的訪問行為進行分析,當發(fā)生數據泄露時,通過溯源查詢,可及時鎖定惡意用戶,并進行追責。

(3)可用性分析

不同應用鏈的結構通常不相同,為簡化不同結構應用鏈間適配問題,本文引入了應用鏈插件。將需要在應用鏈上具體操作的部分全部封裝到應用鏈插件中,滿足不同架構應用鏈交互需求。在區(qū)塊體中加入Merkel山脈,使得數據溯源過程中不必遍歷所有的區(qū)塊驗證是否遭到篡改,只需要根據Merkel山脈中各完美二叉樹的哈希值及山脈根哈希值即可驗證,有效縮短了區(qū)塊鏈數據驗證時間。

4.2 應用測試

為測試本文提出的溯源機制性能表現,本節(jié)主要在聯(lián)盟鏈跨鏈溯源可行性、區(qū)塊構建、溯源效率以及聯(lián)盟鏈通道的交易吞吐量等方面對溯源機制性能進行實驗分析。實驗環(huán)境:處理器為Intel Core i7-7700H @ 3.60 GHz,內存為16 GB,以及64位CentOS Linux 7操作系統(tǒng)。

本節(jié)基于Fabric 2.0搭建了聯(lián)盟鏈跨鏈溯源實驗環(huán)境,設置3個組織,每個組織包含5個節(jié)點,共15個節(jié)點。節(jié)點參數配置如表2所示。

表2 節(jié)點參數配置

圖8 創(chuàng)建通道的執(zhí)行結果

Figure 8 Execution result of creating channels diagram

圖9 節(jié)點加入channel1過程

圖10 存儲信息初始化

Figure 10 Store information initialization

圖11 數據溯源結果

Figure 11 Result of data traceability

為方便溯源數據查看,以電商數據溯源為背景,將區(qū)塊鏈溯源數據進行可視化展示。系統(tǒng)后端采用Spring Boot框架,前端采用漸進式的Vue框架,溯源頁面展示如圖12所示。溯源時主要依據數據編號查詢,為驗證溯源用戶是否擁有訪問權限,需用戶在溯源時輸入身份證明。在溯源過程中,同時展示獲得當前數據查看權限的用戶,以及已經對當前數據進行訪問的用戶,以便數據所有者進行授權與訪問的聯(lián)合分析,判斷用戶的非法訪問行為,防止數據泄露。

圖12 溯源頁面展示

Figure 12 Display of the traceability page

4.3 性能分析

在傳統(tǒng)區(qū)塊中,只構建Merkel樹用來對區(qū)塊內的交易合法性進行驗證,而對區(qū)塊的驗證則需要按照區(qū)塊哈希摘要的鏈式鏈接逐個查詢,造成驗證時間浪費。由于在區(qū)塊中加入了Merkel山脈,因此在構造區(qū)塊時,時間開銷增大。通過Go語言模擬在不同交易數量及不同區(qū)塊高度下,區(qū)塊構建時間對比,其結果如圖13所示。

圖13 區(qū)塊構建時間對比

Figure 13 Block build time comparison

圖13結果顯示,引入Merkel山脈,造成構建區(qū)塊的時間消耗增加,在同一區(qū)塊中存儲相同數量交易的情況下,隨著區(qū)塊高度增加,構建區(qū)塊消耗的時間增多。但隨著同一區(qū)塊中存儲交易數量的增加,發(fā)現無論是否在區(qū)塊中構建Merkel山脈,構建區(qū)塊消耗的時間變化趨勢均相同,并且區(qū)塊存儲交易數量越多,區(qū)塊高度對構建區(qū)塊的時間影響越小。

雖然在區(qū)塊中引入Merkel山脈造成了區(qū)塊構建時間增加,但通過觀察發(fā)現隨著交易數量增加,其影響越來越小,并且在區(qū)塊驗證上,能夠顯著提高區(qū)塊的驗證效率。相比區(qū)塊驗證中節(jié)省的時間,構建區(qū)塊時的額外時間開銷是可以接受的。引入Merkel山脈后,區(qū)塊中數據驗證時間對比如圖14所示。

當聯(lián)盟鏈網絡中節(jié)點數量、數據流轉次數不同時,對數據溯源時間將產生不同的影響,本文用Go語言模擬不同節(jié)點數量、不同流轉次數情況下的溯源查詢時間開銷。溯源查詢時間對比如圖15所示。

結果顯示,在數據流轉次數相同的情況下,節(jié)點數量越多,在數據查詢過程中的共識時間開銷越大,導致查詢時間越長。在節(jié)點數量相同的情況下,隨著數據流轉次數增加,溯源查詢時間逐漸增長,但由于采用了鏈下緩存的溯源機制,溯源時間增加非常緩慢。

圖14 數據驗證時間對比

Figure 14 Data validation time comparison

圖15 溯源查詢時間對比

Figure 15 Traceability query time comparison

在一定范圍內,通道數量的增加將提高聯(lián)盟鏈系統(tǒng)中的交易吞吐量,但通道數量并非越多越好,引入通道策略,在方便數據傳遞的同時,增加了聯(lián)盟鏈網絡的管理成本,當通道數量過多時,必將導致中繼聯(lián)盟鏈網絡因管理成本過高而性能下降。本節(jié)通過谷歌遠程過程調用向網絡注入10萬條交易測試聯(lián)盟網絡中通道的處理性能,加入私有數據通道前后,通道處理性能對比如圖16所示。

圖16 通道處理性能對比

Figure 16 Channel processing performance comparison

結果顯示,在通道處理性能達到最大值之前,隨著通道數量的增加,加入私有數據管道前后,通道的處理能力并沒有明顯變化,其處理能力均隨著通道數量的增加逐漸增大;添加私有數據管道后,在通道數量為10時交易吞吐率達到最大,在未添加私有數據管道的Fabric通道中,在通道數量為12時吞吐率達到最大,兩者的吞吐率最大值均在3 900 TPS左右,沒有明顯區(qū)別。在通道數量達到最佳值之后,兩者的吞吐率呈現相似的下降趨勢,說明加入私有數據管道前后,對Fabric的通道處理性能沒有明顯影響。但引入私有數據管道后,實現了同一通道中不同區(qū)塊鏈節(jié)點之間溯源數據傳遞的隱私性,在沒有明顯降低交易吞吐量的同時,提高了溯源數據傳遞的安全性。

5 結束語

本文針對數據在不同系統(tǒng)間跨域流轉帶來的跨鏈數據交互及溯源需求,設計了基于聯(lián)盟鏈的數據溯源機制。針對區(qū)塊鏈中數據存儲及驗證存在的不足,將Merkel山脈引入區(qū)塊體結構中,并給出了數據存儲模型,提高了區(qū)塊驗證及數據流轉狀態(tài)溯源效率。面對數據跨域流轉中的安全性需求,在設計的聯(lián)盟鏈數據通道中引入私有數據管道,通過私有數據管道保障了數據在跨區(qū)塊鏈傳遞過程中的安全性和隱私性。通過跨鏈溯源場景測試及對比實驗,驗證了本文溯源機制的可行性及性能優(yōu)勢。針對大量數據并發(fā)請求問題,如何提高通道處理能力,有待進一步研究。

[1] 田有亮, 楊科迪, 王纘, 等. 基于屬性加密的區(qū)塊鏈數據溯源算法[J]. 通信學報, 2019, 40(11): 101-111. TIAN Y L, YANG K D, WANG Z, et al. Algorithm of blockchain data provenance based on ABE[J]. Journal on Communications, 2019, 40(11): 101-111.

[2] 石麗波, 孫連山, 王藝星. 數據起源安全研究綜述[J]. 計算機應用研究, 2017, 34(1): 1-7. SHI L B, SUN L S, WANG Y X. Survey of data provenance security [J]. Application Research of Computers, 2017, 34(1): 1-7.

[3] 張學旺, 馮家琦, 殷梓杰, 等. 基于區(qū)塊鏈的數據溯源可信查詢方法[J]. 應用科學學報, 2021, 39(1): 42-54. ZHANG X W, FENG J Q, YIN Z J, et al. Trusted query method for data provenance based on blockchain[J]. Journal of Applied Sciences, 2021, 39(1): 42-54.

[4] 謝絨娜. 面向數據跨域流轉的訪問控制關鍵技術研究[D]. 西安: 西安電子科技大學, 2020. XIE R N. Research on key technologies of access control for cross-domain data exchange[D]. Xi'an: Xidian University, 2020.

[5] TOSH D K, SHETTY S, LIANG X, et al. Consensus protocols for blockchain-based data provenance: challenges and opportunities[C]//Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON). 2017: 469-474.

[6] 于戈, 聶鐵錚, 李曉華, 等. 區(qū)塊鏈系統(tǒng)中的分布式數據管理技術——挑戰(zhàn)與展望[J]. 計算機學報, 2021, 44(1): 28-54. YU G, NIE T Z, LI X H, et al. The challenge and prospect of distributed data management techniques in blockchain systems[J]. Chinese Journal of Computers, 2021, 44(1): 28-54.

[7] 孫知信, 張鑫, 相峰, 等. 區(qū)塊鏈存儲可擴展性研究進展[J]. 軟件學報, 2021, 32(1): 20. SUN Z X, ZHANG X, XIANG F, et al. Survey of storage scalability on blockchain[J]. Journal of Software, 2021, 32(1): 20.

[8] 蔡維德, 郁蓮, 王榮, 等. 基于區(qū)塊鏈的應用系統(tǒng)開發(fā)方法研究[J].軟件學報, 2017, 28(6): 1474-1487. CAI W D, YU L, WANG R, et al. Blockchain application development techniques[J]. Journal of Software, 2017, 28(6): 1474-1487.

[9] 韓妍妍, 張齊, 閆曉璇, 等. 基于區(qū)塊鏈的電子文件流轉設計與實現[J]. 計算機應用, 2020, 40(11): 3357-3365. HAN Y Y, ZHANG Q, YAN X X, et al. Design and implementation of electronic file circulation based on blockchain[J]. Journal of Computer Applications, 2020, 40(11): 3357-3365.

[10] 馮家琦. 基于區(qū)塊鏈的數據溯源方法研究與應用[D]. 重慶: 重慶郵電大學, 2021. FENG J Q. Research and application of data provenance method blockchain-based[D]. Chongqing: Chongqing University of Posts and Telecommunications, 2021.

[11] 樊玉琦, 盛東, 王倫飛. 基于糾刪碼的區(qū)塊鏈存儲優(yōu)化[J]. 計算機學報, 2022, 45(4): 858-876. FAN Y Q, SHENG D, WANG L F. Blockchain storage optimization based on erasure code[J]. Chinese Journal of Computers, 2022, 45(4): 858-876.

[12] 喬蕊, 曹琰, 王清賢. 基于聯(lián)盟鏈的物聯(lián)網動態(tài)數據溯源機制[J]. 軟件學報, 2019, 30(6): 1614-1631. QIAO R, CAO Y, WANG Q X. Traceability mechanism of dynamic data in Internet of things based on consortium blockchain[J]. Journal of Software, 2019, 30(6): 1614-1631.

[13] SUN J, YAO X M, WANG S P, et al. Blockchain-based secure storage and access scheme for electronic medical records in IPFS[J]. IEEE Access, 2020(8): 59389-59401.

[14] 劉煒, 李陽, 田釗, 等. IDDS: 一種雙鏈結構傳染病數據共享區(qū)塊鏈模型[J]. 計算機應用研究, 2020(1): 1-6. LIU W, LI Y, TIAN Z, et al. IDDS: double?chain structure infectious disease data sharing blockchain model[J]. Application Research of Computers, 2020(1): 1-6.

[15] 張國潮, 王瑞錦. 基于門限秘密共享的區(qū)塊鏈分片存儲模型[J]. 計算機應用, 2019, 39(9): 2617-2622. ZHANG G C, WANG J R. Blockchain shard storage model based on threshold secret sharing[J]. Journal of Computer Applications, 2019, 39(9): 2617-2622.

[16] 賈大宇, 信俊昌, 王之瓊, 等. 存儲容量可擴展區(qū)塊鏈系統(tǒng)的高效查詢模型[J]. 軟件學報, 2019, 30(9): 2655-2670. JIA D Y, XIN J C, WANG Z Q, et al. Efficient query model for storage capacity scalable blockchain system[J]. Journal of Software, 2019, 30(9): 2655-2670.

[17] 劉耀宗, 劉云恒. 基于區(qū)塊鏈RFI大數據安全溯源模型[J]. 計算機科學, 2018, 45(S2): 367-368, 381. LIU Y Z, LIU Y H. Security provenance model for RFID big data based on blockchain[J]. Computer Science, 2018, 45(S2): 367- 368, 381.

[18] LI X, MA Z, LUO S. Blockchain-oriented privacy protection with online and offline verification in cross-chain system[C]//2022 International Conference on Blockchain Technology and Information Security (ICBCTIS). 2022: 177-181.

[19] NEISSE R, STERI G, NAI-FOVINO I. 2017. A blockchain-based approach for data accountability and provenance tracking[C]//Proceedings of the 12th International Conference on Availability, Reliability and Security (ARES '17). 2017: 1-10.

[20] 余濤, 牛保寧, 樊星. FabricSQL: 區(qū)塊鏈數據的關系查詢[J]. 計算機工程與設計, 2020, 41(10): 2988-2995. YU T, NIU B N, FAN X. FabricSQL: relational query of blockchain data[J]. Computer Engineering and Design, 2020, 41(10): 2988-2995.

[21] LAI C, WANG Y. Achieving efficient and secure query in blockchain-based traceability systems[C]//2022 19th Annual International Conference on Privacy, Security & Trust (PST). 2022: 1-5.

[22] 劉煒, 王棟, 佘維, 等. 一種面向區(qū)塊鏈溯源的高效查詢方法[J]. 應用科學學報, 2022, 40(4): 623-638. LIU W, WANG D, SHE W, et al. An efficient query method for blockchain traceability[J]. Journal of Applied Sciences, 2022, 40(4): 623-638.

[23] PENG Z, WU H, XIAO B, et al. VQL: providing query efficiency and data authenticity in blockchain systems [C]//2019 IEEE 35th International Conference on Data Engineering Workshops. 2019: 1-6.

[24] 韓寶富. 基于區(qū)塊鏈的云數據完整性審計機制研究[D]. 沈陽: 沈陽工業(yè)大學, 2021. HAN B F. Research on cloud data integrity audit mechanism based on blockchain[D]. Shengyang: Shenyang University of Technology, 2021.

[25] BUNZ B, KIFFER L, LU L, et al. FlyClient: super-light clients for cryptocurrencies[C]//2020 IEEE Symposium on Security and Privacy. 2020.

Data traceability mechanism based on consortium chain

ZHAO Shoucai, CAO Lifeng, DU Xuehui

Information Engineering University, Zhengzhou 450001, China

With the unprecedented growth in the speed of data generation and circulation in the era of big data, the emergence of blockchain technology provides a new solution for data authenticity verification. However, with the increasing demand for data flow between different blockchains, new security issues arise. Cross-chain data transmission can lead to data leakage, and detecting data leakage caused by illegal access becomes challenging. To address these problems, a data traceability mechanism based on a consortium chain was proposed. A cross-blockchain data traceability model was designed, incorporating private data pipelines to ensure the security of cross-chain data transmission. User behaviors were recorded through authorization and access logs, ensuring the traceability of illegal unauthorized access. To improve the efficiency of data traceability and query, an on-chain and off-chain synchronous storage mechanism was adopted. The state of data flow before each transaction was encrypted and stored in the database, and its index was stored in the blockchain transaction. This enables a one-to-one correspondence between on-chain and off-chain data. Additionally, Merkle trees were introduced into the block body to store block summaries, enhancing the efficiency of block legitimacy verification. Based on the data storage form and cross-chain data interaction mechanism, a data traceability algorithm was designed. The traceability results were displayed in the form of an ordered tree. An experimental environment for consortium chain traceability was built using fabric, targeting the cross-domain data traceability scenario in the e-commerce industry. The GO language was used to simulate and test the data traceability performance with a large number of blocks and transactions. The results demonstrate that with the increasing number of blocks and transactions, the proposed data traceability mechanism maintains satisfactory performance.

block chain, data traceability, across chain, consortium chain

Zhongyuan Talent Plan Yu Group Pass [2021] No. 44

趙守才, 曹利峰, 杜學繪. 基于聯(lián)盟鏈的數據溯源機制[J]. 網絡與信息安全學報, 2023, 9(5): 92-105.

TP391

A

10.11959/j.issn.2096?109x.2023067

趙守才(1997?),男,河南商丘人,信息工程大學碩士生,主要研究方向為區(qū)塊鏈安全、信息安全。

曹利峰(1981?),男,河南禹州人,信息工程大學副教授、博士生導師,主要研究方向為網絡安全、信息安全。

杜學繪(1968?),女,河南新鄉(xiāng)人,信息工程大學教授、博士生導師,主要研究方向為信息系統(tǒng)安全、大數據和區(qū)塊鏈安全。

2022?09?01;

2023?03?02

曹利峰,caolf302@sina.com

中原英才計劃豫組通[2021]44號

ZHAO S C, CAO L F, DU X H. Data traceability mechanism based on consortium chain[J]. Chinese Journal of Network and Information Security, 2023, 9(5): 92-105.

猜你喜歡
網關區(qū)塊交易
區(qū)塊鏈:一個改變未來的幽靈
科學(2020年5期)2020-11-26 08:19:12
基于改進RPS技術的IPSEC VPN網關設計
區(qū)塊鏈:主要角色和衍生應用
科學(2020年6期)2020-02-06 08:59:56
區(qū)塊鏈+媒體業(yè)的N種可能
傳媒評論(2018年4期)2018-06-27 08:20:12
讀懂區(qū)塊鏈
交易流轉應有新規(guī)
上海國資(2015年8期)2015-12-23 01:47:28
大宗交易
LTE Small Cell網關及虛擬網關技術研究
移動通信(2015年18期)2015-08-24 07:45:08
《吃飯的交易》
應對氣候變化需要打通“網關”
太陽能(2015年7期)2015-04-12 06:49:50
普兰店市| 边坝县| 集贤县| 长汀县| 宣化县| 凯里市| 龙井市| 湟中县| 民县| 屏东县| 淳安县| 东源县| 砚山县| 治多县| 烟台市| 周口市| 崇阳县| 比如县| 佛坪县| 宁陕县| 西安市| 芒康县| 华宁县| 五华县| 咸宁市| 灌南县| 天祝| 泸定县| 大田县| 青铜峡市| 鲁甸县| 新余市| 保定市| 祁阳县| 平山县| 沂南县| 璧山县| 海城市| 桦南县| 罗源县| 绥化市|