999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于區(qū)塊鏈的安全云存儲方案設(shè)計

2021-04-15 03:48:04余海波
計算機應(yīng)用與軟件 2021年4期
關(guān)鍵詞:用戶

余海波 陳 潔 張 凱

1(華東師范大學 上海 200062)2(上海電力大學 上海 200090)

0 引 言

過去人們習慣于將文件或數(shù)據(jù)存儲在本地硬盤或磁盤上。但是,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息分享和交換變得更加的頻繁,需要存儲的數(shù)據(jù)呈現(xiàn)出幾何級數(shù)的增長形勢,本地存儲難以滿足用戶需求。為了處理這些大規(guī)模的數(shù)據(jù),企業(yè)和個人用戶都選擇借助于云平臺來擴大終端的存儲能力,即通過云存儲方式來存取自己的文件或數(shù)據(jù)。

云存儲[1]相比傳統(tǒng)數(shù)據(jù)存儲方式,是基于云計算[2]的發(fā)展而衍生出的新興存儲方式。以用戶的視角來看,在云服務(wù)器中存儲數(shù)據(jù)可以帶來以下好處:減少了本地存儲、維護和管理的成本;消除了對數(shù)據(jù)的訪問受地理位置的限制;避免了在建設(shè)基礎(chǔ)設(shè)施的大量投資和在人力資源上的巨大成本。

然而,把數(shù)據(jù)存儲到不受信任的第三方服務(wù)器上,可能會導致一些數(shù)據(jù)安全隱患的出現(xiàn)。一方面是云服務(wù)器會面臨著來自內(nèi)部和外部的惡意攻擊,從而威脅到存儲數(shù)據(jù)的隱私性;另一方面,用戶將數(shù)據(jù)上傳到云服務(wù)器后,對數(shù)據(jù)的控制權(quán)隨之減弱,甚至可能會失去,存儲數(shù)據(jù)是否一直保持完整難以驗證。因此,數(shù)據(jù)的隱私性和完整性是云存儲方式的兩個關(guān)鍵問題。為了解決數(shù)據(jù)隱私問題,傳統(tǒng)的解決方式是把用戶數(shù)據(jù)在通過特定的加密算法進行加密后,然后再上傳到云服務(wù)器上[3];為了解決數(shù)據(jù)完整性的問題,傳統(tǒng)的解決方式是在云存儲服務(wù)架構(gòu)的框架中引入一個假設(shè)的可信第三方(Trusted Third Party,TTP)[4-5]。基于TTP的云存儲服務(wù)架構(gòu)如圖1所示。TTP的作用就是作為用戶與云服務(wù)器間的媒介,完成數(shù)據(jù)的完整性驗證。

圖1 基于TTP的云存儲服務(wù)架構(gòu)

在引入TTP的傳統(tǒng)方案中,數(shù)據(jù)完整性的驗證結(jié)果將完全依賴于一個假設(shè)的可信第三方,而現(xiàn)實應(yīng)用中幾乎不存在完全可信的第三方。因此,如何不依賴任何可信第三方實現(xiàn)云存儲中數(shù)據(jù)的完整性證明成了一個有價值的問題。

區(qū)塊鏈作為比特幣系統(tǒng)[6]的底層技術(shù),隨著比特幣的成功而得到人們的廣泛關(guān)注。區(qū)塊鏈也被稱為分布式賬本數(shù)據(jù)庫,與傳統(tǒng)數(shù)據(jù)庫相比,區(qū)塊鏈技術(shù)的優(yōu)勢在于它提供了去中心化、匿名性、可審計、防篡改的特性。這些特性使得它逐漸被廣泛地應(yīng)用于生活中[7-8]。

本文提出一種基于區(qū)塊鏈的云存儲方案。其中數(shù)據(jù)的完整性驗證不依賴于任何可信第三方,只要用戶客戶端和云服務(wù)器的多輪互動即可完成,并且驗證結(jié)果是完全可信的。同時,通過區(qū)塊鏈的匿名性和防篡改特性,在創(chuàng)建的交易過程中不會暴露與數(shù)據(jù)和用戶相關(guān)的任何隱私信息,攻擊者也難以對區(qū)塊鏈上的數(shù)據(jù)進行篡改,從而保證數(shù)據(jù)的隱私不會受到威脅。

1 相關(guān)概念

1.1 區(qū)塊鏈結(jié)構(gòu)

區(qū)塊鏈中包含有兩個重要的數(shù)據(jù)結(jié)構(gòu),且它們都是基于哈希值的。一個是哈希鏈,它是由不同的區(qū)塊通過指針鏈接起來所形成的;另一個是梅克爾樹,它是樹狀的數(shù)據(jù)結(jié)構(gòu),作用是把每個區(qū)塊內(nèi)的不同交易的哈希值存儲到葉子結(jié)點上,并基于葉子結(jié)點的哈希值進行計算,生成根結(jié)點哈希值。

區(qū)塊鏈中的哈希鏈是以區(qū)塊作為結(jié)點,各結(jié)點間通過指針進行鏈接。任何結(jié)點中的數(shù)據(jù)修改都不會導致整個鏈的改變。任何新產(chǎn)生的區(qū)塊要加入到鏈上,必須先通過共識機制的驗證。也正是這樣,才實現(xiàn)了區(qū)塊鏈上的數(shù)據(jù)不可修改和可審計的功能。區(qū)塊鏈結(jié)構(gòu)如圖2所示。

圖2 區(qū)塊鏈結(jié)構(gòu)

區(qū)塊鏈由創(chuàng)世塊開始,下一個塊的生成需要對創(chuàng)世塊進行哈希計算,得到的結(jié)果作為下一個區(qū)塊的輸入,一直這樣循環(huán)下去,從而形成一條哈希鏈。

區(qū)塊頭和區(qū)塊體是區(qū)塊的兩個重要組成部分,每部分保存了不同的基本元素信息[9]。區(qū)塊的數(shù)據(jù)結(jié)構(gòu)如表1所示。

表1 區(qū)塊的數(shù)據(jù)結(jié)構(gòu)

區(qū)塊頭的字段含義:

(1) 版本號:區(qū)塊的版本信息。

(2) 上一區(qū)塊哈希值:基于父區(qū)塊頭進行哈希計算生成的哈希值,存儲到當前區(qū)塊的區(qū)塊頭中。

(3) 梅克爾樹:基于一個區(qū)塊中全部交易生成的256位哈希值。

(4) 時間戳:新區(qū)塊打包時的時間。

(5) 困難值:表示某個區(qū)塊的難度級別。

(6) 隨機數(shù):調(diào)整挖礦難度。

區(qū)塊體的字段含義:

(1) 交易數(shù)量:某區(qū)塊中存在的交易數(shù)目。

(2) 交易列表:具體的交易記錄,非空。

1.2 梅克爾樹

梅克爾樹(Merkle)是區(qū)塊鏈中的第二個基于哈希值的數(shù)據(jù)結(jié)構(gòu),它通過樹狀的形式把某個區(qū)塊中全部交易的哈希值保存著。若要驗證某個交易在一個特定的塊中,通過樹內(nèi)路徑就可以完成驗證。

梅克爾樹結(jié)構(gòu):樹中最底層的不同葉子結(jié)點存儲著不同交易對應(yīng)的哈希值;非葉子結(jié)點的值都是基于其相應(yīng)子結(jié)點的哈希值相加再通過哈希算法計算而得到的;沿著樹內(nèi)路徑自底向上進行計算,最終計算出的值即是根節(jié)點所對應(yīng)的哈希值。梅克爾樹結(jié)構(gòu)的優(yōu)勢就在于只需要驗證根節(jié)點的哈希值就能完成全部葉子結(jié)點的完整性認證。梅克爾樹結(jié)構(gòu)如圖3所示。

圖3 梅克爾樹結(jié)構(gòu)

梅克爾樹的計算過程如下:

假設(shè)某區(qū)塊共8個交易(T1-T8),每筆交易對應(yīng)于一個SHA256校驗值。要計算父結(jié)點的值,需要將其不同子結(jié)點的哈希值進行相加,再對相加的結(jié)果進行SHA256計算,求出的值即為父結(jié)點對應(yīng)的值。計算過程自底向上進行類推,最終得到的哈希值即為根節(jié)點H0的值。按照上面的方式進行計算,便會形成一棵二元梅克爾樹。圖3中,所有葉子結(jié)點(H7-H14)保存著交易(T1-T8)的實際哈希值;內(nèi)部結(jié)點(H1-H6)保存著由孩子結(jié)點生成的哈希值。所有內(nèi)部結(jié)點形成的路徑組合是驗證葉子結(jié)點完整性的校驗路徑可能性,因此它們也被稱為路徑哈希值。在本文方案中,為了實現(xiàn)對存儲數(shù)據(jù)提供完整性證明,梅克爾樹葉子結(jié)點保存是對數(shù)據(jù)塊通過SHA256算法進行計算所得到的哈希值。

2 基于區(qū)塊鏈的云存儲方案

2.1 系統(tǒng)框架

基于區(qū)塊鏈的云存儲方案的框架如圖4所示。

圖4 系統(tǒng)框架圖

基于區(qū)塊鏈的云存儲方案框架圖中存在如下幾個實體:

(1) 用戶:用戶實體,負責將本地文件或數(shù)據(jù)上傳到云服務(wù)器上。

(2) 區(qū)塊鏈:記錄交易的實體。

(3) 云服務(wù)器:存儲文件塊的實體。存儲用戶上傳的數(shù)據(jù)塊。

在圖4的框架下,首先需要將用戶的文件或數(shù)據(jù)在本地進行劃分,文件或數(shù)據(jù)塊的大小保持相同,再對生成的塊通過加密算法進行加密,最后上傳這些塊到云服務(wù)器中。利用區(qū)塊鏈技術(shù),作為用戶和云存儲服務(wù)提供商的交易機制,保存存儲數(shù)據(jù)塊的位置索引和一些額外信息到交易中。我們在此架構(gòu)中選擇使用隨機文件塊放置策略[10],而不是選擇多文件副本放置策略[11-12],這不僅能夠減少存儲的壓力,也方便用戶可以從云服務(wù)器中快速檢索文件并減少分布式存儲網(wǎng)絡(luò)的負擔。另外,通過梅克爾樹驗證存儲文件的數(shù)據(jù)完整性時,先利用云服務(wù)器上存儲的梅克爾樹結(jié)構(gòu)生成新的樹根root,將其發(fā)送到區(qū)塊鏈上進行比較,這與文獻[13]不同,后者是在區(qū)塊鏈上通過執(zhí)行預設(shè)的智能合約生成root再進行對比,前者進一步減少了云服務(wù)器與區(qū)塊鏈間的通信,從而更加高效。

2.2 上傳文件

用戶上傳文件到云服務(wù)器可以分為:

(1) 將文件劃分成大小相等的塊(不足的用0進行填充),對文件和所有文件塊進行加密。

(2) 對加密文件和全部加密文件塊根據(jù)SHA256算法進行計算得到相應(yīng)的哈希值。

(3) 利用步驟(2)中的所有加密文件塊的哈希值構(gòu)造梅克爾樹。

(4) 存儲步驟(3)中的梅克爾樹的樹根哈希值root到區(qū)塊鏈上。

(5) 用戶客戶端上傳所有加密文件塊以及公共梅克爾哈希樹到云存儲服務(wù)器中。

(6) 云存儲服務(wù)器返回所有文件塊位置索引URL給用戶客戶端。

文件上傳的流程設(shè)計如圖5所示。

圖5 文件上傳流程設(shè)計

2.3 創(chuàng)建交易

創(chuàng)建交易就是為了將關(guān)于文件的信息(而不是文件本身)永久保存在區(qū)塊鏈上,也便于對文件的完整性進行驗證。創(chuàng)建的交易中保存的相關(guān)信息如圖6所示。

圖6 區(qū)塊體中的交易信息

可以看出,存儲用戶ID、用戶IP、文件哈希值、所有文件塊的URLs等信息到創(chuàng)建的交易中,而不是將文件塊本身存儲到區(qū)塊鏈中。值得注意的是,每個用戶客戶端都會擁有區(qū)塊鏈中所有交易的副本,并且這些交易信息的字節(jié)大小相對于用戶客戶端的硬盤存儲空間來講完全可以忽略不計,因此這樣既可以為用戶節(jié)約大量的存儲空間,也使得攻擊者幾乎不可能對區(qū)塊鏈上的存儲信息進行任何的篡改。另一方面,因為只有文件塊URLs和哈希值存儲在區(qū)塊鏈上,攻擊者無法從區(qū)塊鏈上獲得有關(guān)存儲數(shù)據(jù)和用戶的任何其他信息,從而對數(shù)據(jù)和用戶進行了良好的隱私保護。

2.4 文件完整性驗證

文件完整性驗證流程設(shè)計如圖7所示。

圖7 完整性驗證流程設(shè)計

為了實現(xiàn)文件完整性的檢測,需要進行以下幾個步驟:

(1) 用戶客戶端發(fā)送挑戰(zhàn)數(shù)si到云服務(wù)器(表示對第i文件塊進行驗證)。

(2) 云服務(wù)器對文件塊i和si挑戰(zhàn)數(shù)進行SHA256計算,生成哈希摘要j。

(3) 云服務(wù)器根據(jù)哈希摘要j,利用服務(wù)器上存儲的梅克爾樹結(jié)構(gòu)生成新的梅克爾樹根值root’。

(4) 云服務(wù)器發(fā)送新的梅克爾樹根值root’到區(qū)塊鏈上。

(5) 比較root’和區(qū)塊鏈上存儲的root。若相等,則存儲的文件完整;反之,則文件已經(jīng)被破壞。

(6) 區(qū)塊鏈將步驟(5)得到的驗證結(jié)果返回給用戶客戶端。

3 實驗及分析

為了驗證研究方案的可行性及高效性,通過實驗?zāi)M了客戶端和云服務(wù)器,區(qū)塊鏈系統(tǒng)由以太坊實現(xiàn)。在實驗中,將4 GB大小的文件劃分成不同數(shù)量的塊,且保持每個文件塊大小一致。然后,對梅克爾樹生成時間和完整性驗證時間與文件塊數(shù)量之間的關(guān)系進行測驗。相應(yīng)的實驗結(jié)果分別對應(yīng)于圖8和圖9。

圖8 梅克爾樹生成時間與文件塊數(shù)量之間的關(guān)系

圖9 數(shù)據(jù)完整性驗證時間與文件塊數(shù)量之間的關(guān)系

由圖8可以看出,隨著對相同文件劃分的文件塊越來越多,梅克爾樹的葉子結(jié)點相應(yīng)增加,梅克爾樹的生成時間也增加。從圖9可知,文件塊數(shù)量增加,數(shù)據(jù)完整性的驗證時間也隨之增加,但是仍然能在較短時間內(nèi)完成數(shù)據(jù)驗證,這是可以接受的。

4 結(jié) 語

隨著云存儲的廣泛應(yīng)用,如何確保數(shù)據(jù)的完整性和隱私性得到了廣泛的關(guān)注。本文將區(qū)塊鏈技術(shù)引入到云存儲系統(tǒng)中,對傳統(tǒng)的云存儲架構(gòu)進行改進,提出一種基于區(qū)塊鏈的云存儲方案,有效地解決了這兩個問題。首先,利用區(qū)塊鏈中的梅克爾樹屬性對存儲數(shù)據(jù)的完整性進行驗證,使得驗證過程不經(jīng)過任何可信第三方,解決了數(shù)據(jù)完整性問題。其次,由于區(qū)塊鏈的匿名性,并在數(shù)據(jù)存儲的過程對文件或數(shù)據(jù)進行加密并進行分塊,將所有分塊存儲到云服務(wù)器上,有效保證數(shù)據(jù)的隱私性。同時,通過文件塊的冗余存儲也有助于對已破壞的文件或數(shù)據(jù)進行恢復。

猜你喜歡
用戶
雅閣國內(nèi)用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應(yīng)用
Camera360:拍出5億用戶
100萬用戶
主站蜘蛛池模板: 色婷婷色丁香| 巨熟乳波霸若妻中文观看免费| 久久久久免费看成人影片| 久久婷婷色综合老司机| 亚洲大学生视频在线播放| 国产91丝袜在线观看| 日韩国产亚洲一区二区在线观看| 无码精油按摩潮喷在线播放| 日本高清有码人妻| 成人福利在线免费观看| 亚洲中文字幕国产av| 伦伦影院精品一区| 日本一本正道综合久久dvd| 成人免费视频一区| 欧美中文一区| 国产精品网址在线观看你懂的| 国产亚洲精品97AA片在线播放| 国产欧美综合在线观看第七页| 亚洲精品国产自在现线最新| 99久久人妻精品免费二区| av一区二区无码在线| 亚洲欧美日韩中文字幕一区二区三区 | 国产91精品最新在线播放| 毛片免费视频| 国产精品人人做人人爽人人添| 波多野结衣无码中文字幕在线观看一区二区 | 女人爽到高潮免费视频大全| 亚洲色大成网站www国产| 国产 在线视频无码| 无码中字出轨中文人妻中文中| 亚洲人在线| 91久久国产热精品免费| 国产一区二区三区夜色| 日韩av无码DVD| 99久久人妻精品免费二区| 国产精品露脸视频| 久久网欧美| 91美女视频在线| 亚洲成年人网| 幺女国产一级毛片| 久久久久久尹人网香蕉| 国产精品林美惠子在线播放| 色哟哟国产精品一区二区| 国产九九精品视频| 中文字幕久久亚洲一区| 久久久久久尹人网香蕉 | 欧美成a人片在线观看| a毛片基地免费大全| 91成人在线观看视频| 国产亚洲欧美日本一二三本道| 青青操视频在线| 国产午夜人做人免费视频| 九九线精品视频在线观看| 国产电话自拍伊人| 国国产a国产片免费麻豆| 超碰91免费人妻| 91国内在线观看| 情侣午夜国产在线一区无码| 亚洲第一天堂无码专区| 青青草91视频| 亚洲高清资源| 国产成人精品亚洲日本对白优播| 最新午夜男女福利片视频| 成年人国产网站| 67194亚洲无码| 精品国产福利在线| 国产精品一区二区国产主播| 国产精品不卡永久免费| 国产一区亚洲一区| 精品无码人妻一区二区| 亚洲国产精品不卡在线| 国产精品久久久久久搜索| 色综合狠狠操| 91精品aⅴ无码中文字字幕蜜桃| 国产亚洲欧美在线视频| 免费人成网站在线观看欧美| a级毛片在线免费观看| 亚洲an第二区国产精品| 怡春院欧美一区二区三区免费 | 在线观看91精品国产剧情免费| 欧美日本在线观看| 日本黄网在线观看|