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

?

一種基于區(qū)塊鏈的云存儲數(shù)據(jù)完整性增強(qiáng)機(jī)制

2021-08-06 08:29印一聰
現(xiàn)代計算機(jī) 2021年18期
關(guān)鍵詞:校驗完整性客戶端

印一聰

(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都610207)

0 引言

隨著云計算與大數(shù)據(jù)技術(shù)的日趨成熟,越來越多的企業(yè)和組織將業(yè)務(wù)部署到云上,以獲取更靈活的資源利用和擴(kuò)展,從而更高效快速地部署業(yè)務(wù),優(yōu)化其運(yùn)營成本。當(dāng)用戶選擇使用云計算平臺托管大量應(yīng)用和數(shù)據(jù)時,相應(yīng)地,云計算系統(tǒng)也就變?yōu)榱嗽拼鎯ο到y(tǒng)[1]。與此同時,用戶對數(shù)據(jù)的重要性愈發(fā)重視,數(shù)據(jù)安全與可靠成為云用戶在選用云服務(wù)時的重大考量之一[2]。云計算與大數(shù)據(jù)技術(shù)對社會的快速滲透,使得越來越多的用戶參與到“云化”的大環(huán)境中。然而,“云”作為一種中心化的模式,給云用戶帶來了許多安全挑戰(zhàn),包括用戶在使用云的過程中隱私、數(shù)據(jù)所有權(quán)方面的挑戰(zhàn)等。而數(shù)據(jù)量的爆炸式增長,也讓數(shù)據(jù)的使用方式變得靈活,數(shù)據(jù)的使用與分享越來越頻繁,安全風(fēng)險也逐步上升,數(shù)據(jù)完整性的保護(hù)也成為一個棘手的問題。云存儲中的數(shù)據(jù)完整性,是指數(shù)據(jù)未遭到非授權(quán)的篡改或破壞,保證數(shù)據(jù)按數(shù)據(jù)所有者的意愿完整、真實地存在[3]。在云存儲中,用戶數(shù)據(jù)從本地存儲到云端,特有的數(shù)據(jù)集中存儲方式使得用戶失去對數(shù)據(jù)的管理權(quán)。一方面,云存儲數(shù)據(jù)中心可能遭到惡意攻擊,用戶存儲在云中的數(shù)據(jù)可能受到惡意用戶的篡改、破壞或刪除,導(dǎo)致數(shù)據(jù)破壞、敏感數(shù)據(jù)丟失[4-7];另一方面,云服務(wù)提供商可能為了保護(hù)自身名聲,刻意隱瞞意外的數(shù)據(jù)篡改、損壞[8-10],給用戶帶來嚴(yán)重的不良影響。

傳統(tǒng)的云存儲完整性保護(hù)技術(shù)包括:將云存儲中的數(shù)據(jù)生成完整性證據(jù),在需要對數(shù)據(jù)進(jìn)行驗證的時候又用同樣的完整性證據(jù)生成方法生成數(shù)據(jù)副本的完整性證據(jù)并與初始的數(shù)據(jù)完整性證據(jù)進(jìn)行對比;使用冗余多副本存儲和糾刪碼技術(shù)進(jìn)行錯誤恢復(fù)[11]。這些方法在完整性證據(jù)存放環(huán)境可信時可用,然而卻沒有考慮到數(shù)據(jù)完整性證據(jù)也被破壞的情況,也就是說,一旦數(shù)據(jù)完整性證據(jù)被破壞了,那么整個數(shù)據(jù)完整性也就無從談起了。

區(qū)塊鏈技術(shù)是從比特幣中升華而來的技術(shù),也是眾多數(shù)字貨幣的核心底層技術(shù)。區(qū)塊鏈技術(shù)將Hash函數(shù)、Merkle樹、工作量證明(Proof of Work,PoW)等成熟技術(shù)進(jìn)行重組,結(jié)合公鑰密碼體系、數(shù)字簽名和零知識證明等密碼學(xué)技術(shù),創(chuàng)造出一種特殊的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),帶來去中心化、不可篡改等安全特性[12]。借助于區(qū)塊鏈技術(shù)的“去中心化”、“不可刪除”、“不可篡改”等特性,本文提出一種基于區(qū)塊鏈技術(shù)的云存儲數(shù)據(jù)完整性驗證機(jī)制BEMDICS(Blockchain-based Enhancement Mechanism on Data Integrity for Cloud Storage,BEM?DICS),將云用戶的數(shù)據(jù)完整性證據(jù)存放在區(qū)塊鏈中,使得數(shù)據(jù)完整性證據(jù)不可篡改、不可刪除,用戶可以更安全地掌握數(shù)據(jù)。

1 系統(tǒng)模型和威脅分析

1.1 完整性系統(tǒng)模型

數(shù)據(jù)中心會存在多個云存儲節(jié)點(diǎn),出于對數(shù)據(jù)冗余性的考慮,各個節(jié)點(diǎn)之間可能存在相同的數(shù)據(jù)副本。在數(shù)據(jù)完整性保護(hù)方面,系統(tǒng)會生成文件校驗信息以保護(hù)數(shù)據(jù)的完整性。系統(tǒng)會對每個數(shù)據(jù)副本都采用特定的摘要算法(如哈希算法)生成數(shù)據(jù)完整性證據(jù)并與數(shù)據(jù)副本一同存放。不同節(jié)點(diǎn)上相同副本的數(shù)據(jù)完整性證據(jù)也是一樣的。

在該模式下數(shù)據(jù)完整性的校驗過程如下:首先系統(tǒng)對存儲到某節(jié)點(diǎn)的“數(shù)據(jù)i”做哈希運(yùn)算生成對應(yīng)的“完整性證據(jù)i”并將它們復(fù)制到冗余數(shù)據(jù)節(jié)點(diǎn),在隨后的數(shù)據(jù)使用過程中,使用同樣的算法生成臨時的新的“完整性證據(jù)i*”,通過對比“完整性證據(jù)i”與“完整性證據(jù)i*”是否相同來確定“數(shù)據(jù)i”是否損壞或被惡意篡改。

1.2 完整性威脅分析

在云存儲中,如果只是某個節(jié)點(diǎn)上的數(shù)據(jù)出現(xiàn)意外損壞,則系統(tǒng)可以從云存儲的其他存儲節(jié)點(diǎn)復(fù)制該數(shù)據(jù)其它冗余副本來替代被破壞的數(shù)據(jù),可以及時發(fā)現(xiàn)和修復(fù)問題。然而,除了意外損壞,對于不懷好意的黑客來說,通過在篡改文件的同時篡改摘要信息,并且在修改了單個節(jié)點(diǎn)的完整性證據(jù)之后通過調(diào)用系統(tǒng)的接口將其它存儲節(jié)點(diǎn)上的數(shù)據(jù)副本及對于完整性證據(jù)覆蓋,通過這種方式破壞了數(shù)據(jù)的完整性,其有效發(fā)現(xiàn)和修復(fù)就變得異常困難了。

例如:在云存儲中某節(jié)點(diǎn)上,“數(shù)據(jù)a”已經(jīng)被惡意用戶修改成了“假數(shù)據(jù)a”,并且其對應(yīng)的“完整性證據(jù)a”也被修改為了“假完整性證據(jù)a”,通過調(diào)用系統(tǒng)復(fù)制接口,其它數(shù)據(jù)節(jié)點(diǎn)上的冗余副本及其完整性證據(jù)也被同步修改,這個時候想要恢復(fù)數(shù)據(jù)a則變得非常困難,而究其原因,就是因為數(shù)據(jù)的完整性證據(jù)存放不夠安全。

2 BEMDICS機(jī)制

為了保障云數(shù)據(jù)的完整性,依賴單獨(dú)存放的完整性證據(jù)是遠(yuǎn)遠(yuǎn)不夠的,必須使用分布式的獨(dú)立完整性證據(jù)“數(shù)據(jù)庫”,使得數(shù)據(jù)完整性保護(hù)得到進(jìn)一步提升。

2.1 BEMDICS組成

BEMDICS模型由三個主體構(gòu)成:(1)云用戶,(2)云存儲數(shù)據(jù)中心,(3)區(qū)塊鏈網(wǎng)絡(luò)。從邏輯上來看,區(qū)塊鏈網(wǎng)絡(luò)相當(dāng)于一個專門的第三方數(shù)據(jù)庫,用于存放云數(shù)據(jù)完整性證據(jù)。值得注意的是,區(qū)塊鏈網(wǎng)絡(luò)并非獨(dú)立于用戶與云存儲數(shù)據(jù)中心,而是在物理上集成于數(shù)據(jù)中心的控制節(jié)點(diǎn)。對于云存儲模式中的各個主體,包括云終端與數(shù)據(jù)中心的服務(wù)器節(jié)點(diǎn)在內(nèi),都是BEMDICS機(jī)制的構(gòu)成部分。各用戶、數(shù)據(jù)中心服務(wù)器節(jié)點(diǎn)都作為區(qū)塊鏈網(wǎng)絡(luò)的客戶端,都通過區(qū)塊鏈SDK與區(qū)塊鏈網(wǎng)絡(luò)交互,進(jìn)行完整性證據(jù)上傳和信息查詢。區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)運(yùn)行在以docker容器為載體的分布式網(wǎng)絡(luò)中,數(shù)據(jù)中心的控制節(jié)點(diǎn)服務(wù)器充當(dāng)了docker的載體,所有的交易認(rèn)證、打包等操作都是由各個授權(quán)的區(qū)塊鏈節(jié)點(diǎn)完成。所有的合法數(shù)據(jù)操作都被視為區(qū)塊鏈申請,由區(qū)塊鏈認(rèn)證節(jié)點(diǎn)打包到區(qū)塊鏈網(wǎng)絡(luò)中。

2.2 BEMDICS流程

云系統(tǒng)中存在CA服務(wù),用于身份驗證和簽名證書的發(fā)放,邏輯上主體的身份分為兩種:普通客戶端、礦工節(jié)點(diǎn),礦工節(jié)點(diǎn)又分為背書節(jié)點(diǎn)、排序節(jié)點(diǎn)、確認(rèn)節(jié)點(diǎn)等。BEMDICS機(jī)制具體工作流程如下:

(1)客戶端向數(shù)據(jù)中心CA服務(wù)器發(fā)送身份驗證請求,數(shù)據(jù)中心返回客戶端有效簽名信息Sign;

(2)客戶端向數(shù)據(jù)中心發(fā)送請求Command,請求可以是上傳數(shù)據(jù)或者校驗數(shù)據(jù),數(shù)據(jù)中心接收請求,根據(jù)請求類型與區(qū)塊鏈網(wǎng)絡(luò)交互;

(3)根據(jù)Command類型的不同,觸發(fā)不同操作,如果是上傳數(shù)據(jù)則觸發(fā)數(shù)據(jù)上傳操作,執(zhí)行第4-6步,若是校驗數(shù)據(jù)則觸發(fā)數(shù)據(jù)下載操作,執(zhí)行第7-10步;

(4)數(shù)據(jù)上傳操作規(guī)定:CA服務(wù)器驗證客戶端身份Sign,并將身份驗證結(jié)果返回客戶端;

(5)數(shù)據(jù)中心從客戶端發(fā)送的指令信息中提取完整性證據(jù)信息,并轉(zhuǎn)換為交易信息Transaction,數(shù)據(jù)中心的排序節(jié)點(diǎn)將Transaction排序并構(gòu)造區(qū)塊Block;

(6)排序節(jié)點(diǎn)將Block同步至提交節(jié)點(diǎn),提交節(jié)點(diǎn)驗證Transaction合法性后將Block提交至區(qū)塊鏈網(wǎng)絡(luò),同時調(diào)用云接口上傳數(shù)據(jù);

(7)數(shù)據(jù)下載操作規(guī)定:CA服務(wù)器驗證客戶端身份Sign,并將身份驗證結(jié)果返回客戶端;

(8)下載云數(shù)據(jù),將計算好的待校驗數(shù)據(jù)完整性證據(jù)構(gòu)造交易Transaction'并發(fā)送至云端,云端將該信息提交至驗證節(jié)點(diǎn);

(9)驗證節(jié)點(diǎn)根據(jù)Transaction'查找交易信息在區(qū)塊鏈中所在的位置;

(10)根據(jù)區(qū)塊中的Merkel樹結(jié)構(gòu)計算摘要信息是否匹配,并返回結(jié)果;

(11)返回相關(guān)結(jié)果。

3 實驗與分析

通過實驗對本文所提出的BEMDICS機(jī)制有效性進(jìn)行測試,以驗證BEMDICS機(jī)制是否能夠?qū)υ拼鎯?shù)據(jù)完整性證據(jù)有效記錄以及對數(shù)據(jù)完整性有效驗證。

3.1 實驗設(shè)置

本文區(qū)塊鏈服務(wù)采用開源區(qū)塊鏈平臺Hyperledger Fabric 1.4,云存儲平臺采用Apache Hadoop分布式文件系統(tǒng),基于虛擬機(jī)環(huán)境搭建一個3節(jié)點(diǎn)的云存儲平臺,并在控制節(jié)點(diǎn)Name Node上運(yùn)行區(qū)塊鏈平臺Hyperledger Fabric。實驗使用斯坦福大學(xué)的“Cars Da?taset”訓(xùn)練集中的前8000個文件充當(dāng)云存儲文件,并在初始階段使用SHA-256算法計算并保存所有文件的完整性證據(jù)信息。實驗采用8組對比實驗,數(shù)據(jù)集規(guī)格分別為1000,2000,3000,4000,5000,6000,7000,8000個文件,客戶端使用讀寫腳本對存儲集群進(jìn)行數(shù)據(jù)讀寫操作并驗證完整性。

詳細(xì)實驗環(huán)境如下:操作系統(tǒng)為Windows 10家庭中文版64位,CPU為AMD Ryzen 7 4800H@2.9GHz,內(nèi)存大小為16.00GB,硬盤大小為512GB固態(tài)硬盤,VM?ware版本為15.0,Hadoop版本為2.9.2,nodejs版本為v8.17.0,npm版本為6.13.4,JKD版本為1.8,docker版本為18.06.3-ce,Python版本為2.7.6。

3.2 有效性分析

為了驗證BEMDICS機(jī)制的有效性,采用前后對比實驗的方式來檢驗。首先使用批量處理工具將數(shù)據(jù)集中的后4000個文件進(jìn)行篡改后與未更改的前4000個文件組合生成對比數(shù)據(jù)集,將原數(shù)據(jù)集與對比數(shù)據(jù)集先后進(jìn)行集群讀寫操作。

定義1:若集群讀寫過程中數(shù)據(jù)完整性驗證結(jié)果和跟初始完整性證據(jù)信息表對比相同,則定義此次驗證為有效驗證。

對比原生集群讀寫的有效驗證數(shù)與集成BEM?DICS機(jī)制的集群讀寫有效驗證數(shù),取多次數(shù)據(jù)集驗證結(jié)果計算平均驗證有效率P,有效率由公式(1)計算。

其中v為有效驗證數(shù),t為總驗證數(shù),實驗結(jié)果如表1所示。

表1 有效率實驗結(jié)果

圖形化展示如圖1所示。

圖1 驗證有效率

從圖1中可以發(fā)現(xiàn),前4000個數(shù)據(jù)集文件中,云存儲原生完整性驗證機(jī)制(以下簡稱原生機(jī)制)與BE?MDICS機(jī)制均能對云存儲數(shù)據(jù)完整性進(jìn)行有效驗證。而在后4000個文件的驗證中,原生機(jī)制的驗證有效率逐漸下降,而BEMDICS機(jī)制驗證有效率為100%,表明原生機(jī)制在篡改文件的情況下是無法進(jìn)行完整性驗證的,BEMDICS機(jī)制則能保持合理的驗證有效率。因為在后4000的文件中,數(shù)據(jù)被篡改的時候其對應(yīng)的完整性證據(jù)也被同步篡改了,對于原生機(jī)制來說,這種情況下是能通過完整性驗證的,但實際上是由于被篡改的數(shù)據(jù)生成的新完整性證據(jù)與被篡改的完整性證據(jù)能一一對應(yīng),卻與數(shù)據(jù)初始狀態(tài)下的完整性證據(jù)無法對應(yīng),數(shù)據(jù)已然出現(xiàn)安全故障,原生機(jī)制卻難以發(fā)現(xiàn)。而BEMDICS機(jī)制能進(jìn)行驗證,是因為完整性證據(jù)被安全地存放到了區(qū)塊鏈中,數(shù)據(jù)的完整性證據(jù)無法被篡改和刪除,故能進(jìn)行有效驗證。

3.3 驗證時延分析

針對區(qū)塊鏈對數(shù)據(jù)完整性證據(jù)的查詢時延開銷進(jìn)行分析,對比云存儲原生系統(tǒng)對完整性校驗的時間開銷與BEMDICS機(jī)制對完整性校驗的時間開銷,每組實驗重復(fù)5次結(jié)果取平均值,統(tǒng)計的單個文件完整性校驗時延如表2所示。

表2 時延實驗結(jié)果

圖形化展示如圖2所示,從圖中可以發(fā)現(xiàn),總體來看,BEMDICS機(jī)制的集成會使得云存儲數(shù)據(jù)完整性的校驗時延有所增加,但也整體保持在一個較為合理的水平,性能開銷相對較低,證明了BEMDICS機(jī)制性能開銷的可靠性。

圖2 BEMDICS校驗時延分析

4 結(jié)語

本文總結(jié)了當(dāng)前云存儲模式中數(shù)據(jù)完整性保護(hù)機(jī)制,并指出當(dāng)前數(shù)據(jù)完整性保護(hù)機(jī)制的不足,針對這種不足提出一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)完整性增強(qiáng)機(jī)制,將云存儲中的數(shù)據(jù)完整性證據(jù)分布式存放,且不可刪除、不可篡改,解決了在云存儲模式中數(shù)據(jù)在云端完整性被破壞而得不到驗證的問題。實驗表明,BEM?DICS機(jī)制雖然會帶來額外的性能開銷,但能解決云存儲數(shù)據(jù)完整性保護(hù)的不足,實現(xiàn)了對云數(shù)據(jù)完整性的有效記錄和驗證。

猜你喜歡
校驗完整性客戶端
“人民網(wǎng)+客戶端”推出數(shù)據(jù)新聞
——穩(wěn)就業(yè)、惠民生,“數(shù)”讀十年成績單
復(fù)雜多耦合仿真模型校驗工具研究
酶可提高家禽的胃腸道完整性和生產(chǎn)性能
使用Excel朗讀功能校驗工作表中的數(shù)據(jù)
電能表在線不停電校驗技術(shù)
精通文件校驗的“門道”
虛擬專用網(wǎng)絡(luò)訪問保護(hù)機(jī)制研究
新華社推出新版客戶端 打造移動互聯(lián)新聞旗艦
淺析IEEE 802.1x及其客戶端軟件
談書法作品的完整性與用字的準(zhǔn)確性