周 明,黃 影,李 葵,魏俊奎,李 志
(1.國(guó)網(wǎng)安徽省電力有限公司信息通信分公司,安徽 合肥 230009;2.國(guó)網(wǎng)信通產(chǎn)業(yè)集團(tuán)安徽繼遠(yuǎn)軟件有限公司,安徽 合肥 230088)
近幾年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和智能互聯(lián)網(wǎng)都得到了前所未有的發(fā)展,促使人工智能、大數(shù)據(jù)挖掘、云計(jì)算和機(jī)器學(xué)習(xí)等相關(guān)技術(shù)和理論也向前發(fā)展,使互聯(lián)網(wǎng)迎來(lái)了一個(gè)新的局面。在眾多的互聯(lián)網(wǎng)新應(yīng)用中,不得不提到區(qū)塊鏈技術(shù)。在比特幣系統(tǒng)中,支撐著底層技術(shù)的就是區(qū)塊鏈技術(shù),在2008年被提出后,備受人們的關(guān)注。它是在密碼學(xué)基礎(chǔ)上發(fā)展的分布式P2P 網(wǎng)絡(luò)公信智能記錄技術(shù)。由于其去中心化、去信任、完全透明等特征大大增強(qiáng)在應(yīng)用市場(chǎng)上的競(jìng)爭(zhēng)力。從數(shù)據(jù)安全層面來(lái)看,區(qū)塊鏈?zhǔn)峭耆粫?huì)被篡改的分布式數(shù)據(jù)庫(kù);從技術(shù)層面來(lái)看,區(qū)塊鏈將是多種技術(shù)結(jié)合在一起的產(chǎn)物,是一種全面表達(dá)信息記錄、存儲(chǔ)和表達(dá)的方式。
將區(qū)塊鏈技術(shù)應(yīng)用到物資轉(zhuǎn)運(yùn)系統(tǒng)中是一大熱點(diǎn)問(wèn)題,文獻(xiàn)[1]在傳統(tǒng)算法的基礎(chǔ)上,將區(qū)塊鏈與智能合約有機(jī)結(jié)合,形成了一種去中心化的物流交易智能合約區(qū)塊鏈模型。利用該算法可使物資轉(zhuǎn)運(yùn)過(guò)程變得透明可跟蹤,但是制定合約的效率過(guò)低且對(duì)合約的依賴(lài)性較大,適用范圍較狹隘。文獻(xiàn)[2]利用區(qū)塊鏈的去中心化和去信任特征,分別針對(duì)訂單信息和環(huán)境數(shù)據(jù)設(shè)計(jì)了上鏈系統(tǒng)以及物流網(wǎng)設(shè)備的身份認(rèn)證與權(quán)限控制機(jī)制,使冷鏈物流的可信任性和數(shù)據(jù)安全性得到了提高,但是該方法并沒(méi)有對(duì)數(shù)據(jù)的安全存儲(chǔ)深入研究。
因此,本文對(duì)物資轉(zhuǎn)運(yùn)屬性信息記錄模型中區(qū)塊鏈的應(yīng)用做了分析,結(jié)合非對(duì)稱(chēng)性加密技術(shù)和去中心化分布式數(shù)據(jù)庫(kù)技術(shù)完成對(duì)信息的記錄,并利用LeveIDB技術(shù)使系統(tǒng)中的數(shù)據(jù)得到安全的存儲(chǔ)環(huán)境和高效的檢索能力。
要將區(qū)塊鏈技術(shù)使用在物資轉(zhuǎn)運(yùn)屬性信息記錄模型中加強(qiáng)信息安全性,首先要了解物流的結(jié)構(gòu)要素:“信息主體”“主體間關(guān)系”“鏈接模式”三種,接下來(lái)對(duì)各要素做進(jìn)一步分析。
信息主體:物資轉(zhuǎn)運(yùn)系統(tǒng)是由多個(gè)信息主體鏈接在一起形成。同一信息主體可存在于系統(tǒng)中不同的節(jié)點(diǎn)上,并根據(jù)其節(jié)點(diǎn)位置[3]的不同,信息主體的角色也隨之變換。由于物資轉(zhuǎn)運(yùn)屬性信息在系統(tǒng)中錯(cuò)綜復(fù)雜的存在著,信息的運(yùn)動(dòng)過(guò)程就可以看成是物流的變換過(guò)程。將區(qū)塊鏈技術(shù)應(yīng)用其中,為信息主體角色的變換和鏈接規(guī)則的建立提供技術(shù)保障支持[4]。
主體間關(guān)系;信息的流動(dòng)不是單向方式,而是雙向流動(dòng)的,不僅僅依靠橫向傳導(dǎo)鏈,還需要各個(gè)層次的縱向傳導(dǎo)。與此同時(shí),各主體在獲得信息的基礎(chǔ)上還要實(shí)現(xiàn)效率的最大化。所以,系統(tǒng)中各個(gè)節(jié)點(diǎn)不僅是平等共生的關(guān)系,還存在著競(jìng)爭(zhēng)關(guān)系。這里可以采用區(qū)塊鏈技術(shù)的信任機(jī)制和分布式技術(shù),使各主體間可以實(shí)現(xiàn)信息共享和平等利益分配[5],將單純的競(jìng)爭(zhēng)關(guān)系轉(zhuǎn)向合作競(jìng)爭(zhēng)模式,促進(jìn)整個(gè)物資轉(zhuǎn)運(yùn)系統(tǒng)實(shí)現(xiàn)利益最大化。
鏈接模式:物資轉(zhuǎn)運(yùn)系統(tǒng)的整體功能和信息主體個(gè)性化發(fā)展的需要,促使鏈接模式必須多樣化,適合各節(jié)點(diǎn)發(fā)展。因此依據(jù)層次原理將鏈接模式[6]分為一對(duì)一、一對(duì)多和多對(duì)一三種。
上述三點(diǎn)結(jié)構(gòu)要素也正說(shuō)明了物資轉(zhuǎn)運(yùn)系統(tǒng)需要數(shù)據(jù)全透明、信息共享、安全高效和分布式數(shù)據(jù)庫(kù)技術(shù)作為發(fā)展基礎(chǔ),來(lái)保障整個(gè)系統(tǒng)的有效運(yùn)行。
為了保證物資轉(zhuǎn)運(yùn)屬性記錄過(guò)程中的安全性,本文使用RSA對(duì)相關(guān)信息加密,提高信息抗攻擊性,RSA是一種公鑰加密算法,也被稱(chēng)為非對(duì)稱(chēng)密鑰算法。主要依靠?jī)蓚€(gè)密鑰來(lái)實(shí)現(xiàn)信息的加密:公開(kāi)密鑰和私人密鑰,二者屬于大素?cái)?shù)的函數(shù)。正是大素?cái)?shù)分解的困難程度決定了RSA算法超高的安全性[7]。要在一個(gè)公開(kāi)密鑰和密文中分析出明文的具體內(nèi)容,難度相當(dāng)于兩個(gè)大素?cái)?shù)相乘后,再將這兩個(gè)數(shù)從算法中分解開(kāi)來(lái)。舉個(gè)例子來(lái)說(shuō),已知素?cái)?shù)p、q,求n=F(p,q)非常容易的,但是如果已知n想要求解p 或q 卻是非常困難的。為了保證數(shù)據(jù)的安全性,RSA需采用足夠大的整數(shù)。下表記錄了當(dāng)計(jì)算機(jī)每微秒進(jìn)行一次操作,分解不同n所需要的時(shí)間。
表1 分解所需時(shí)間
隨著n逐漸增大,分解困難也逐漸提高,所需的時(shí)間也就越長(zhǎng)。
為了確保屬性信息專(zhuān)用密鑰的安全性,可以將公鑰發(fā)布出去。公鑰加密的信息只能通過(guò)專(zhuān)用密鑰來(lái)解密,反之亦然。由于公鑰算法分配的協(xié)議簡(jiǎn)單,不需要與密鑰服務(wù)器聯(lián)機(jī),所以很大程度上簡(jiǎn)化了密鑰的管理。
如圖1所示,要將明文M從A傳送至B,可利用B隨機(jī)產(chǎn)生一個(gè)密鑰,再由這個(gè)密鑰計(jì)算出另一個(gè)密鑰。這兩個(gè)密鑰一個(gè)作為私鑰D',一個(gè)作為公鑰D。根據(jù)其特性,不存在通過(guò)D 推算出D'的情況。D'保存在B 中不公布,通過(guò)D 傳輸給A,然后A再將要傳送的信息通過(guò)D加密傳回給B,B就可以通過(guò)D'解密來(lái)查看信息。如果有竊聽(tīng)者想要查看信息時(shí),只能得到B傳給A的D,和A通過(guò)D加密后的數(shù)據(jù),沒(méi)有D',竊聽(tīng)者根本無(wú)法查看加密的信息。
圖1 RSA算法加密機(jī)制
RSA算法中包含三個(gè)數(shù)學(xué)概念:素?cái)?shù)、互異素?cái)?shù)和模運(yùn)算。因?yàn)镽SA 算法的安全性基于大素?cái)?shù)的分解難度,而公鑰和私鑰正是一對(duì)大素?cái)?shù),因?yàn)闉榱税踩赃_(dá)到最高,使兩個(gè)大素?cái)?shù)p和q的長(zhǎng)度相同,具體算法如下:
N=p*q:/*,p、q的值保持不公開(kāi);
phi=(p-1)(q-1):/*,任找一個(gè)正整數(shù)e與h互素;
利用輾轉(zhuǎn)相除法求d,使e*dmod(p-1)(q-1)=1;
PK=(N,e):/*,因PK中不含p、q信息,為公鑰,可公開(kāi);
PS=(N,d):/*因PS中含有p、q信息,作為私鑰,不公開(kāi);
加密:c=me(modN)其中c為密文。
解密:m=cd(modN)。
為了保證p、q為安全素?cái)?shù),按照現(xiàn)在物資轉(zhuǎn)運(yùn)系統(tǒng)運(yùn)行速度,n的長(zhǎng)度盡量保持在1024bit,在不影響記錄效率基礎(chǔ)上保證信息最大安全性。
區(qū)塊的結(jié)構(gòu)和不可篡改性都離不開(kāi)數(shù)據(jù)的一致性,對(duì)于區(qū)塊鏈中的物流數(shù)據(jù)可以分為兩個(gè)方面:一個(gè)是“區(qū)塊+鏈”,另一個(gè)是“交易+鏈”。那么區(qū)塊鏈也可以認(rèn)為是由多個(gè)節(jié)點(diǎn)構(gòu)成的分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)。以Merkle樹(shù)的形式將一段時(shí)間內(nèi)的交易數(shù)據(jù)結(jié)合在一起,數(shù)據(jù)和代碼封裝組成區(qū)塊,依據(jù)不同的時(shí)間順序排列,保證數(shù)據(jù)的不可篡改和不可偽造[8]。
區(qū)塊是區(qū)塊鏈中數(shù)據(jù)的一種表現(xiàn)形式,其中包含著數(shù)據(jù)頭和區(qū)塊體。區(qū)塊頭是由前一區(qū)哈希、隨機(jī)數(shù)、難度目標(biāo)、時(shí)間戳和Merkle根組成。任意區(qū)塊與前一個(gè)區(qū)塊之間都有一個(gè)指向鏈接。區(qū)塊可永久保存系統(tǒng)中的每一筆交易。
區(qū)塊鏈中結(jié)合多種技術(shù)目的就是為了確??焖佼a(chǎn)生新的交易數(shù)據(jù),并進(jìn)行安全傳播和有效驗(yàn)證,最終在分布式總賬中得以體現(xiàn)。由此可見(jiàn),區(qū)塊鏈中最重要的部分就是交易數(shù)據(jù)了。在區(qū)塊鏈系統(tǒng)中,任意節(jié)點(diǎn)都保存著總賬的副本信息,以此來(lái)保證數(shù)據(jù)的一致性和不可偽造?;诖?,交易數(shù)據(jù)也以區(qū)塊鏈的形式展現(xiàn)出來(lái)。在交易系統(tǒng)中,以UTXO(unspent transaction output,未花費(fèi)交易輸出)來(lái)定義交易的基本單位,每一筆交易又可分為交易輸入(input)和交易輸出(output)兩部分。
根據(jù)交易輸入和輸出個(gè)數(shù)的不同可將交易類(lèi)型分為三種:一般交易(包含一個(gè)交易輸入和一個(gè)交易輸出)、分散型交易(包含一個(gè)交易輸入和多個(gè)交易輸出)、集合型交易(包含多個(gè)交易輸入和一個(gè)交易輸出)。每一筆交易之間都有鏈接關(guān)系,所以整個(gè)系統(tǒng)中所有的交易都有可追溯性,交易鏈的源頭生成新區(qū)塊的系統(tǒng)獎(jiǎng)勵(lì),末尾則是由多個(gè)UTXO 構(gòu)成。交易輸入和交易輸出中分別包含一個(gè)驗(yàn)證消息,只有兩個(gè)驗(yàn)證消息同時(shí)使用才可以驗(yàn)證交易是否合法。當(dāng)需要對(duì)新產(chǎn)生的交易進(jìn)行驗(yàn)證時(shí),兩個(gè)驗(yàn)證消息結(jié)合起來(lái)以堆棧執(zhí)行引擎的形式對(duì)交易進(jìn)行驗(yàn)證。這里需要注意的是,只有通過(guò)驗(yàn)證,激活UTXO,才可以證明交易的有效性,也確保了整個(gè)系統(tǒng)中的數(shù)據(jù)一致性和可信性。
本文利用區(qū)塊鏈技術(shù)中的LeveIDB 對(duì)數(shù)據(jù)信息進(jìn)行記錄。LeveIDB是以日志排序合并樹(shù)(LSM-Tree)為基礎(chǔ)的單機(jī)Key-value數(shù)據(jù)存儲(chǔ)系統(tǒng)。大時(shí)代背景下,隨著系統(tǒng)硬件性能和傳感器性能的提高,人們?cè)谙嗤瑫r(shí)間內(nèi)獲得數(shù)據(jù)的數(shù)量也有了很大的提高,新一代數(shù)據(jù)庫(kù)需要在相同時(shí)間內(nèi)同時(shí)保存和處理更大體量的數(shù)據(jù)。傳統(tǒng)數(shù)據(jù)庫(kù)的優(yōu)化策略主要是通過(guò)維護(hù)索引結(jié)構(gòu)和保證數(shù)據(jù)的聚簇存儲(chǔ)實(shí)現(xiàn)記錄和查詢(xún)性能的提高,但是這一方法并不適合新時(shí)代的發(fā)展需要。
針對(duì)目前大數(shù)據(jù)的分析,系統(tǒng)要對(duì)成塊數(shù)據(jù)實(shí)現(xiàn)連續(xù)的讀寫(xiě),傳統(tǒng)數(shù)據(jù)庫(kù)的優(yōu)化策略并不能有效解決此需求。因此提出針對(duì)寫(xiě)操作優(yōu)化的數(shù)據(jù)存儲(chǔ)系統(tǒng)LeveIDB。LeveIDB由于LSM-Tree 結(jié)構(gòu),具有極高的寫(xiě)性能,與傳統(tǒng)讀優(yōu)化的多路平衡查找樹(shù)不同的是,這種結(jié)構(gòu)可以在數(shù)據(jù)寫(xiě)入階段降低更新索引結(jié)構(gòu)產(chǎn)生的大量隨機(jī)讀寫(xiě)開(kāi)銷(xiāo),在存儲(chǔ)過(guò)程中按照分片數(shù)據(jù)的固定大小完成排序,然后將其寫(xiě)入磁盤(pán)中;隨后后臺(tái)運(yùn)行,將小的有序文件逐步合成大的有序文件,進(jìn)而提高檢索效率。與傳統(tǒng)的B+樹(shù)在寫(xiě)入階段需要在磁盤(pán)上多次隨機(jī)讀寫(xiě)相對(duì)比,LeveIDB在寫(xiě)入階段就產(chǎn)生了很小的開(kāi)銷(xiāo),文件合成在后臺(tái)運(yùn)行也減少了磁盤(pán)的開(kāi)銷(xiāo),這種方法可以大大提高數(shù)據(jù)的寫(xiě)入效率。具體的數(shù)據(jù)存儲(chǔ)過(guò)程見(jiàn)以下步驟:
(1)日志寫(xiě)入與內(nèi)存排序
在存儲(chǔ)過(guò)程中,系統(tǒng)通過(guò)skiplist結(jié)構(gòu)來(lái)維護(hù)一個(gè)Memtable,使得數(shù)據(jù)按照Key 值在Memtable 中實(shí)現(xiàn)有序存儲(chǔ)。數(shù)據(jù)通過(guò)寫(xiě)日志的方式被寫(xiě)入,然后被插入到Memtable中,當(dāng)Memtable的大小達(dá)到一定程度后,Memtable自動(dòng)轉(zhuǎn)化為Imemtable并被寫(xiě)入磁盤(pán)中,隨后系統(tǒng)會(huì)產(chǎn)生一個(gè)新的Memtable重復(fù)以上步驟。
(2) Imemtable持久化與后臺(tái)合并
將系統(tǒng)中磁盤(pán)的存儲(chǔ)區(qū)劃分為不同的級(jí)別:level0,level1,…,leveln-1。當(dāng)Memtable 達(dá)到設(shè)定的大小后,使其不可轉(zhuǎn)化為Imemtable,而是將其保存為一個(gè)sstable文件并持久到level0 級(jí)存儲(chǔ)區(qū)中。在level0 級(jí)存儲(chǔ)區(qū)中,所有sstable內(nèi)的數(shù)據(jù)都是按照Key 值有序排列的,但是不能避免出現(xiàn)Key值重疊的情況。當(dāng)level0級(jí)存儲(chǔ)區(qū)達(dá)到一定的大小后,系統(tǒng)后臺(tái)運(yùn)行,將level0 級(jí)存儲(chǔ)區(qū)內(nèi)的所有sstable 與level1級(jí)存儲(chǔ)區(qū)中保存的所有sstable 按照Key 值合并在一起,刪除重復(fù)鍵值。以此類(lèi)推,如果level1 級(jí)存儲(chǔ)區(qū)達(dá)到存儲(chǔ)上限,則合并在level2級(jí)存儲(chǔ)區(qū)中。具體過(guò)程如圖2所示。
圖2 LeveIDB的寫(xiě)入過(guò)程與讀取過(guò)程
除了level0 級(jí)存儲(chǔ)區(qū),levelr(r1)級(jí)存儲(chǔ)區(qū)內(nèi)部任意兩個(gè)sstable之間的Key值范圍不會(huì)出現(xiàn)重復(fù)的情況。這種將存儲(chǔ)區(qū)分為level的方法可以在一定程度上保證數(shù)據(jù)的寫(xiě)入效率,并且可以保證各個(gè)level中的文件有序排列,便于數(shù)據(jù)的檢索。
本文采用訪問(wèn)控制、區(qū)塊鏈技術(shù)來(lái)保證數(shù)據(jù)的安全性,從篡改、隱私保護(hù)、抗網(wǎng)絡(luò)攻擊這3 個(gè)方面對(duì)物資轉(zhuǎn)運(yùn)屬性信息記錄模型進(jìn)行安全分析
區(qū)塊鏈頭部區(qū)域包含Merkle 樹(shù)哈希生成的Merkle 根,針對(duì)哈希算法的單向性,可通過(guò)計(jì)算驗(yàn)證物資轉(zhuǎn)運(yùn)屬性信息是否被篡改。如果某個(gè)區(qū)塊中的信息被攻擊者篡改,結(jié)果不會(huì)影響到整個(gè)系統(tǒng)中哈希值的變化。因此可以安全有效的保證系統(tǒng)的防篡改。
系統(tǒng)中的任意一筆交易都是通過(guò)加密之后才存儲(chǔ)到區(qū)塊中的,所以私鑰可以確保交易數(shù)據(jù)的安全性。訪問(wèn)控制協(xié)議對(duì)系統(tǒng)中物資的信息擁有絕對(duì)的控制權(quán)限,只有通過(guò)驗(yàn)證的用戶才有權(quán)查看詳細(xì)的物資信息。因此私鑰和訪問(wèn)控制協(xié)議確保了物資信息的隱私性。
以常見(jiàn)的重放攻擊方式舉例說(shuō)明,假如U是一個(gè)普通的用戶,S是服務(wù)器,T為攻擊者。(M)表示簽名信息,(M)表示被Ku加密后的信息,T(U)表示T偽裝成U發(fā)送消息。
假設(shè)在一次攻擊中,需要T有權(quán)限才可以查看信息,如果T沒(méi)有權(quán)限,則不能查看簽名和信息。
式(2)代表的T是攔截到了U發(fā)送的信息,進(jìn)一步偽裝成S,執(zhí)行重放攻擊命令,那么T就可以名正言順的以S的名義向U發(fā)送信息。如式(3)所示,T偽裝成U接收來(lái)自S發(fā)出的信息,但是T得到的只是加密后的信息,而看不見(jiàn)其他的信息。
如式(5)所示,T偽裝成S向U發(fā)送了虛假信息,但是因?yàn)闆](méi)有S的驗(yàn)證信息,發(fā)送者身份得不到驗(yàn)證,所以發(fā)送的信息中會(huì)包含T的身份信息,U在接收到消息后可以準(zhǔn)確的將虛假信息M'識(shí)別出來(lái)。
假設(shè)系統(tǒng)中生成誠(chéng)實(shí)節(jié)點(diǎn)區(qū)塊鏈的概率是y,生成偽造區(qū)塊鏈的概率是w,那么想要控制整個(gè)系統(tǒng)f 個(gè)節(jié)點(diǎn)的概率wf為:
偽造節(jié)點(diǎn)與誠(chéng)實(shí)節(jié)點(diǎn)之間區(qū)塊數(shù)量的變化規(guī)律,滿足了泊松分布的概率密度,期望值可用下式表示為:
偽造節(jié)點(diǎn)成功發(fā)布消息的概率Z為:
假設(shè)值的范圍在0.1-0.3之間,偽造節(jié)點(diǎn)成功發(fā)布消息的概率如圖3所示。從圖中可以看出,偽造節(jié)點(diǎn)和誠(chéng)實(shí)節(jié)點(diǎn)與之間呈反比關(guān)系。
圖3 偽造節(jié)點(diǎn)成功發(fā)布消息概率圖
在實(shí)際的物資轉(zhuǎn)運(yùn)系統(tǒng)中,誠(chéng)實(shí)節(jié)點(diǎn)和偽造節(jié)點(diǎn)的個(gè)數(shù)之差甚至比文中提到的更多,所以Z值的大小幾乎接近零。
本文利用改進(jìn)拜占庭容錯(cuò)協(xié)議,將容錯(cuò)能力控制在29%左右,且在這個(gè)范圍內(nèi)系統(tǒng)不會(huì)出現(xiàn)分叉的情況。
并且滿足:
R1和R2表示的是誠(chéng)實(shí)節(jié)點(diǎn),已經(jīng)形成網(wǎng)絡(luò)孤島的狀態(tài);F表示的是非誠(chéng)實(shí)節(jié)點(diǎn),且F內(nèi)所有節(jié)點(diǎn)可以和系統(tǒng)中任一節(jié)點(diǎn)之間進(jìn)行信息的傳輸。F如果出現(xiàn)分叉的狀態(tài),則需要在不告知R2的情況下與R1形似第二共識(shí)并發(fā)布區(qū)塊。如果與R1解散第二共識(shí),需要滿足以下條件:
而全網(wǎng)中惡意節(jié)點(diǎn)數(shù)o的最大值為:
綜合式(12)-式(14)可以得到:
根據(jù)式(9),化簡(jiǎn)式(15)得:
而全網(wǎng)中:
與式(16)矛盾,說(shuō)明系統(tǒng)容錯(cuò)能力較強(qiáng)。
為了驗(yàn)證本文方法的可行性,進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)平臺(tái)為:Inter(R)Core(TM)i7-477-CPU,內(nèi)存為16GB,操作系統(tǒng)為Windows10 64位。將本文方法和文獻(xiàn)[1]、文獻(xiàn)[2]方法在檢索性能方面進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)結(jié)果如圖4 所示。當(dāng)用戶的數(shù)量較少時(shí),本文方法與文獻(xiàn)[1]、文獻(xiàn)[2]方法相比,信息檢索的時(shí)間相差并不多;但是當(dāng)用戶數(shù)量突然猛增后,本文方法的延遲時(shí)間明顯減少,文獻(xiàn)[1]方法減少緩慢,文獻(xiàn)[2]方法減少的最慢。這主要是由于本文方法使用的是可以直接引導(dǎo)用戶查找相對(duì)應(yīng)的區(qū)塊,節(jié)省了很大一部分時(shí)間。
圖4 檢索性能對(duì)比
為了進(jìn)一步驗(yàn)證本文方法在信息加密方面的安全性,對(duì)加密前信息的ASCII值和加密后的ASCII值進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖5(a)和(b)所示。
圖5 屬性信息加密前后ASCII值分布
通過(guò)觀察圖5(a)和(b)可以很明顯的看出,利用本文方法前后ASCII 值的分布發(fā)生了很大的改變。未利用本方法前ASCII值的分布有明顯的規(guī)律可循,利用本方法后ASCII值的分布雜亂無(wú)章,攻擊者根本無(wú)法找到規(guī)律,大大增加了屬性信息的安全性。
技術(shù)的更新?lián)Q代致使社會(huì)經(jīng)濟(jì)系統(tǒng)發(fā)生巨大的改變,物資轉(zhuǎn)運(yùn)屬性信息記錄模型經(jīng)過(guò)物聯(lián)網(wǎng)、大數(shù)據(jù)和云計(jì)算的發(fā)展后,迎來(lái)了新一輪的革新-區(qū)塊鏈技術(shù)。區(qū)塊鏈技術(shù)自身具有的數(shù)據(jù)全透明、信息共享和數(shù)據(jù)防篡改以及可追溯等特性,使得物資轉(zhuǎn)運(yùn)過(guò)程更安全、高效。本文基于區(qū)塊鏈技術(shù)中的非對(duì)稱(chēng)性加密技術(shù)和去中心化實(shí)現(xiàn)了物資轉(zhuǎn)運(yùn)屬性信息的記錄,通過(guò)改進(jìn)的拜占庭協(xié)議達(dá)到節(jié)點(diǎn)共識(shí),將數(shù)據(jù)存儲(chǔ)在各級(jí)存儲(chǔ)區(qū)中,通過(guò)訪問(wèn)控制協(xié)議實(shí)現(xiàn)了數(shù)據(jù)共享和高效檢索。仿真實(shí)驗(yàn)驗(yàn)證本文方法在檢索性能和安全性方面具有較大的優(yōu)勢(shì),在物資轉(zhuǎn)運(yùn)系統(tǒng)中也得到了很好的表現(xiàn)。但是當(dāng)私鑰出現(xiàn)丟失的情況,系統(tǒng)的安全性將得不到很好的保障,針對(duì)此部分本文并未作出明確解釋?zhuān)瑢⑵渥鳛橄乱徊窖芯糠较蜻M(jìn)行更深入的研究。