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萬用戶
主站蜘蛛池模板: 欧美日韩另类在线| 不卡视频国产| 国产99精品久久| 国产一区亚洲一区| 国产三区二区| 成人a免费α片在线视频网站| 日韩第一页在线| 国产成人91精品| 日韩国产精品无码一区二区三区 | 成年A级毛片| 色老头综合网| 伊人久久综在合线亚洲2019| 久久伊人久久亚洲综合| 黄色成年视频| 亚洲天堂精品在线观看| 亚洲VA中文字幕| 亚洲无码视频喷水| …亚洲 欧洲 另类 春色| 3344在线观看无码| 亚洲精品色AV无码看| 免费A∨中文乱码专区| 国内熟女少妇一线天| 波多野结衣爽到高潮漏水大喷| 亚洲,国产,日韩,综合一区| 欧美精品成人| 国产欧美日韩综合在线第一| 精品无码一区二区三区在线视频| 免费毛片网站在线观看| 欧美激情成人网| 国产95在线 | 乱人伦视频中文字幕在线| 国产地址二永久伊甸园| 免费无码一区二区| 欧美激情福利| 国产成人狂喷潮在线观看2345| 日本黄色a视频| 欧美精品另类| 久久影院一区二区h| 国产农村1级毛片| 国产在线精品99一区不卡| 国产丝袜第一页| 三级国产在线观看| 欧洲在线免费视频| 狠狠色噜噜狠狠狠狠色综合久 | 丁香五月婷婷激情基地| 91黄色在线观看| 日韩天堂视频| 亚洲综合色婷婷中文字幕| 久青草免费在线视频| 国产免费人成视频网| 婷婷色丁香综合激情| 色网站免费在线观看| 欧美一级高清视频在线播放| 国产亚洲欧美在线视频| 好紧好深好大乳无码中文字幕| 国产高清无码第一十页在线观看| 2020极品精品国产| 五月天天天色| 亚洲日本中文字幕天堂网| 日本91视频| 久久人搡人人玩人妻精品一| 91九色最新地址| 无码免费视频| 亚洲自拍另类| 亚洲第一中文字幕| 久草热视频在线| 国产美女91视频| 99视频全部免费| 成人日韩欧美| 亚洲欧洲天堂色AV| 色窝窝免费一区二区三区| 国产成人高清亚洲一区久久| 67194亚洲无码| 青青草国产免费国产| 成人精品午夜福利在线播放| 午夜视频免费试看| 欧美无专区| 色婷婷亚洲十月十月色天| 中文无码毛片又爽又刺激| 久久国产精品夜色| 国产门事件在线| 国产欧美视频综合二区|