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

?

云計算中基于動態(tài)虛擬化電子流密碼的安全存儲*

2019-08-12 02:10任曉莉楊建衛(wèi)李乃乾
計算機與生活 2019年8期
關鍵詞:磁盤復雜度客戶端

任曉莉,楊建衛(wèi),李乃乾

寶雞文理學院,陜西 寶雞 721016

1 引言

云計算是一種計算范式,用于促進從共享資源池(存儲、服務器、網絡等)按需隨時隨地訪問網絡,它提供了即時更新、更好的資源利用、低成本計算以及更好的存儲平臺[1-2]?,F代社會中,云服務提供商以虛擬化的形式提供服務。虛擬化環(huán)境利用虛擬化的服務器、存儲、網絡、操作系統等創(chuàng)建模型。虛擬化模型VM(virtual model)還提高了靈活性,通過虛擬化,云服務提供商(cloud service provider,CSP)將工作負載部署到其他系統而不是一個系統,以實現更高的性能[3-4]。

在文獻中,許多研究者都研究了遠距存儲數據真實性和完整性問題。例如文獻[5]針對遠距存儲數據真實性和完整性問題,討論了云模型中數據云中心虛擬化的一些方法。文獻[6]提出了一種基于分組密碼的VM磁盤安全體系結構,該加密解密方法采用適當的安全性和梅克爾哈希樹(Merkle Hash tree,MHT)來保持適當的驗證方案,同時采用Merkle一次簽名方案實現真實性,但是這種方法存在一些安全問題,如密碼分析、沖突攻擊。文獻[7]介紹了基于經典的MHT和MD5哈希函數的128位加密算法,但這種方法存在一些安全問題,如128位差分密碼分析。文獻[8]描述了一種基于安全簽名方案的最新版本的公共審計方案,以獲得適當的真實性,并支持相互認證。但是簽名方案在簽名驗證過程中耗時兩步,對于數據中心的動態(tài)更新或修改不夠及時。文獻[9]構造了一個安全短簽名方案,該方案具有更好的性能,但是該方案是一種靜態(tài)方案,通用性不強。文獻[10-13]介紹了一種新的動態(tài)第三方審計協議(third party audit,TPA),其檢查云數據中心用戶敏感數據的完整性和真實性。但由于TPA直接參與安全檢查,將有可能泄露關鍵數據。

上述方法大多基于里德-所羅門碼率-糾錯碼等糾錯碼。本文提出了一種安全的基于流密碼的加密/解密方法,以在云數據中心維持對用戶敏感數據的適當安全性。為了在VM磁盤之間保持正確的完整性和真實性,引入一個動態(tài)版本的DBHT(dynamic B+Hash tree),在沒有隨機Oracle簽名方案的情況下,使用q-SDH(q-strong Diffie-Hellman)安全短簽名。

2 基于流密碼的加密方法

本章簡要介紹基于薩爾薩電子流密碼家族成員ChaCha20的加密算法。該流密碼算法包含3個基本部分:

(1)密鑰流設置階段

該階段的基本輸入是256位初始密鑰以及96位隨機數和32位計數器。這些值是通過執(zhí)行8位小字節(jié)整數的級聯而形成的。將這些值排列成初始狀態(tài)矩陣,并在矩陣上應用四分圓函數運算,如下所示。

首先,在新的輸入明文的每128位上執(zhí)行列和對角矩陣的變換,在初始狀態(tài)矩陣上重復執(zhí)行20個循環(huán)。每個單詞更新兩次,并執(zhí)行1/4循環(huán)函數。1/4函數的符號表示為四分圓(a,b,c,d),其中a、b、c、d是ChaCha20的索引,被視為向量。例如,如果1/4輪函數應用于(0,4,8,12)到初始狀態(tài)矩陣,則1/4循環(huán)操作更新用指針符號值進行標記,最后密鑰設置階段產生64個隨機字節(jié)的輸出。

(2)基于流密碼的加密階段

在這個階段,為了加密密鑰,采取256位密鑰流,在初始狀態(tài)矩陣XORD上執(zhí)行20輪1/4循環(huán)函數,并用16個單詞明文文件執(zhí)行。加密過程見算法1所示。圖1描述了用ChaCha20算法加密過程。

算法1ChaCha20流密碼算法

(3)基于流密碼的解密階段

通過密鑰流對密文文本文件進行異或運算,電子流密碼的解密操作與加密操作相同。為了保持不同的VM磁盤之間的完整性,使用改進的動態(tài)Merkle B+哈希樹(dynamic Merkle B+Hash tree,DMBHT)算法進行流密碼的解密,具體在下章中進行描述。

Fig.1 ChaCha20 stream cipher algorithm flow圖1 ChaCha20流密碼算法流程

3 動態(tài)Merkle B+哈希樹算法

3.1 算法描述

在現代云計算環(huán)境中,客戶端更傾向于將其數據存儲到云數據中心。云服務提供商(CSP)將該信息以元數據的形式存儲在定位區(qū)域的一小部分中。為了使用消息摘要MD(message digest),任何客戶端或用戶可以從分配的部分檢索數據。為了執(zhí)行此過程,使用一種稱為DMBHT的方案,本節(jié)設計了一種DMBHT的動態(tài)改進方案。

首先,對哈希樹的葉層哈希值個數進行設置:H(M1),H(M2),…,H(Mn)(SHA-512哈希函數)。這種結構具有O(logn)的最壞情況復雜度。DMBHT的每個葉節(jié)點都由left(t)、right(t)和rank(t)三部分構成,即秩表示一個節(jié)點上的依賴下降的總數:

式中:

U(t)=h[U(left)||U(right)||U(middle)||ρ(t)||rank(t)]

U(elem)=h(H(M))

為了在客戶機和服務器之間保持正確的真實性,在密鑰生成方法中生成私鑰[Signprvt_key(U(W))],在DBHT的根節(jié)點R上簽署了一個不帶隨機預測的短簽名方案,并最終將數據文件連同簽名φ、DMHT(dynamic Merkle Hash tree)和U(W)一起部署到云數據中心。圖2描繪了算法結構。

DBHT算法描述過程中主要包括以下參數:

(1)Key_generation(λk)→(pub_key,prvt_key):這一階段的算法以安全令牌λ為輸入,生成一對公鑰和私鑰。在更新和簽名期間使用這些密鑰。

Fig.2 DBHT algorithm description圖2 DBHT算法描述

(2)Preparation(pub_key,FB,FBtag)→(φ,Signprvt_key(U(W)),DMBHT):這一階段的算法通過使用速率φ偽擦除Tornado-z代碼生成塊標記(flagged block,FB),用于對塊中的數據文件進行編碼,并在DMBHT(Mi)葉層面形成這些塊標簽的哈希值,形式為(FBtags)FBtag={H(Mi)},0≤i≤n。同時,它在DMBHT的非葉節(jié)點上生成一組簽名φi。最后,它在根節(jié)點R上簽名作為該步驟的輸出。

(3)Challenge_generation(1)→Qr:在該算法的步驟中,客戶端生成動態(tài)樹的葉級數據文件塊的每個索引查詢集和隨機值si∈Zp,并為所有數據文件塊標簽集定義(ID=id1,id2,…,idk)。最后,客戶端向服務器端發(fā)送(Qri,si)的計算值作為服務器端的塊標簽驗證步驟。

(5)Verification:在該算法中,客戶端運行驗證功能,驗證VM磁盤數據的真實性。在驗證階段,客戶端在根節(jié)點R上生成Signprvt_key(U(W))值。為實現驗證有效性,可通過檢查存儲在葉級上的VM磁盤數據e(δ,δ)獲得:

(6)Updation Process:假設將DMHT的葉級存儲在VM磁盤的kth塊中,K的任何用戶都希望從M到M!更新數據,用戶請求用UPDATE_REQUEST()進行更新:

現服務器有兩個驗證值{Prold,Prnew},并將這些值發(fā)送給客戶端。在從服務器端接收證明值時,客戶端通過執(zhí)行UPDATE_VERIFICATION()函數驗證這些證明,并生成輸出(True,False)。DBHT的插入、更新和刪除操作如圖3所示。

3.2 簽名方案

(1)退化:e(P,Q)≠1。

最后,簽名方案具有安全性參數(G,GT,e,p,g,Zp[+1]),其中Zp[+1]可定義為:

簽名方案過程具體如下:

Fig.3 Insert,update and delete operations in DBHT圖3 DBHT中的插入、更新和刪除操作

3.3 VM磁盤數據安全性和完整性

根據所提方法,將加密敏感數據存儲在VM的磁盤中,并創(chuàng)建DBHT葉級VM磁盤的大散列值。不可偽造簽名方案用于在所有非葉節(jié)點上進行簽名,并實現在DBHT根上簽名(δ)。此過程表示如下:

(1)每當用戶/客戶端想要在數據中心上傳數據時,則使用電子流密碼ChaCha20對數據進行加密。

(2)找到VM磁盤的散列值,并將大量散列值安排到DBHT中。

(3)將DBHT連同簽名一起發(fā)送給服務器。

(4)在下載時,首先檢查VM磁盤的完整性和真實性,然后通過VMM(virtual machine monitor)級別存儲的初始矢量以小的結尾格式存儲在VM磁盤上解密數據。

圖4中描述了從云數據中心下載數據的完整性驗證過程。

Fig.4 Cloud data center download data integrity verification圖4 云數據中心下載數據完整性驗證

4 安全性分析

4.1 流密碼的安全性分析

在所提算法構造中,提出了利用塊函數生成的256位密鑰流{0,1}256×{0,1}128→{0,1}512。這個函數將16字節(jié)作為輸入,64字節(jié)作為輸出。選擇明文攻擊下的不可區(qū)分性安全問題:

(1)如果對手能夠區(qū)分由初始加密E0與相同長度的隨機比特串生成的(C,T),則對手贏得游戲。因此,對手獲勝的可能性是:

(2)如果對手可通過改變輸出元組(N,A,C,T)來偽造密文Dk(N,A,C,T)=(N,A,P)≠⊥,其中(N,A,C,T)可能不是由加密和解密Oracle輸出⊥所設置的正確密文,其是無效的,那么它將顯示對手可以改變CT值。對手獲勝的可能性是:

4.2 基于DBHT的安全性分析

定理1假設在n-塊文件FB上的重復證明器表現良好,且它是∈可容許的。令E=1/#Block+(?Y)l/(Y-C+1)C,假設(∈-E)是正的和不可忽略的,在欺騙O(Y/∈-?)的時間內,可以在時間 O(Y2+(1+∈Y2)(Y)/(∈-E)內恢復編碼的文件塊。

證明提取器在每個點的知識是一個子空間D,由一個t×n矩陣A表示的行降級。假設有助于提取器知識的查詢響應對:

同時,VM=W,其中V是t×n矩陣的行是{qi},W是t×s矩陣,其行是。行降階矩陣A與V有關的A=UV,其中U是t×t矩陣,其非高斯行列式應用于高斯消去法計算。

(1)提取器的知識最初是空的,即K=0。

(2)提取器重復以下行為直到#freeK≥ρn。

提取器選擇在B上運行的隨機查詢Q。假設B選擇回答給出答案 (μ,…,μs)。令Q超過指數I∈[1,n],并用矢量符號表示為q。現在把Q分為三個步驟:(1)q?K;(2)q∈K,但是I!?freeK;(3)I?freeK。

對于查詢,提取器將Q添加到其知識K,并獲得如下新知識D1。它通過獲得對應于W的響應的V1和行來添加與查詢V對應的行。并獲得具有A1=U1V1的W1變換矩陣U和U1。顯然,如果一維K等于n,則類型1查詢增加維度K,則freeK=n≤ρm。查詢最多構成查詢空間的一個(1/#B)部分。因為:

由此定理1得證。

定理2給定編碼文件FB的Y塊的分數部分,可以完全可忽略的概率檢索完整原始文件FB。

證明在所提算法模型中,使用速率偽刪除碼(Tornado-z)來編碼DMBHT的葉級上的塊標簽(FB)。根據Tornado-z碼的性質(k=d+h),客戶端/用戶能夠從小部分(冗余塊)檢索完整文件塊。具有速率偽擦除碼的Tornado-z碼以原始數據(d)的形式與冗余數據(h)結合,即r=d+h。任何客戶端/用戶都可很容易地從足夠的部分或多個塊分組中獲得原始消息。

4.3 簽名方案的安全性分析

定理3假設(G1,G2)中的簽名方案(q,T!,∈!),則在自適應選擇消息攻擊下簽名模型是(T,qs,∈),其信息偽造攻擊為qs=q,∈≥2t!+qs,p≈2∈!和T≤T!-θ(q2t),其中t是G1、G2和Zp中冪次運算的最大時間。

證明假設偽造者將打破簽名方案(T,qs,t)?,F在,生成與A交互算法B,并嘗試在時間T!中基于優(yōu)勢∈!解決q-SDH問題。算法B提供在(G1,G2)中q-SDH問題的隨機細節(jié)(g1,e1,e2,…,eq,g2,F),其中e1=對于v∈Zp/{-v},算法B的目的是生成一對利用這個定理,給出所提算法對明文攻擊的安全性。

5 實驗分析

在對云計算中基于動態(tài)虛擬化電子流密碼安全存儲過程進行驗證過程中,采用實驗硬件:處理器是i7-6400K,內存是4 GB ddr4 2 400 KB,實驗平臺選取Matlab2013b。對比算法選取兩種已有的云存儲安全算法,分別見文獻[14-15]所示。其中,文獻[14]采取的是密鑰配對檢測方法,文獻[15]采取的是數據的遠程密鑰審核策略。

5.1 計算復雜度分析

(1)檢測概率

假定實驗過程中存儲文件的大小是1 GB、10 GB、100 GB和1 000 GB四種不同規(guī)模。設置檢測概率變化區(qū)間是P=90%、95%和99%三種變化區(qū)間。通過實驗分析對所提算法在響應和驗證兩個算法階段的計算成本指標隨著存儲文件大小變化情況見圖5所示。

Fig.5 Experimental comparison of computation cost(detection probability)圖5 計算成本實驗對比(檢測概率)

按照圖5所示計算成本實驗對比結果可知,檢測概率參數對計算成本指標具有直接的影響關系,檢測概率越高需要算法的計算復雜度越大。原因在于檢測概率參數越大需選取的存儲文件的質詢消息數量越大,這會造成算法的計算過程趨緩,產生更多的計算步驟。對于不同的文件規(guī)模,在算法的響應過程中,其計算復雜度與存儲文件的大小關系不大,響應計算復雜度曲線呈現出相對平穩(wěn)的變化趨勢。而在算法的驗證過程中,對于不同的文件規(guī)模,驗證計算過程的復雜度曲線變化較為明顯,這表明在這個過程中存儲文件大小對于算法的計算復雜度影響較大。

(2)q-SDH安全短簽名長度

假定實驗過程中存儲文件大小是1 GB、10 GB、100 GB和1 000 GB四種不同規(guī)模。設置q-SDH安全短簽名長度為SL=16 bit、32 bit、64 bit、128 bit和256 bit。通過實驗分析所提算法數據傳輸成本指標隨著存儲文件大小變化情況見圖6所示。

按照圖6所示計算成本實驗對比結果可知,對于設定的1~10 GB變化區(qū)間的文件大小,因為本文實驗過程中配置的硬件資源較高,且均未超出數據傳輸帶寬上限,因此q-SDH安全短簽名長度這個指標對于數據傳輸成本指標的影響較小,基本呈現出接近于0的傳輸成本。而對于10~1 000 GB文件大小區(qū)間,q-SDH安全短簽名長度這個指標對于數據傳輸成本影響較大,q-SDH安全短簽名長度指標越大,算法的數據傳輸成本越高。

Fig.6 Experimental comparison of data transmission cost(q-SDH short signature length)圖6 數據傳輸成本實驗對比(q-SDH短簽名長度)

(3)D&CTs數據結構影響

動態(tài)數據更新過程中,D&CTs數據結構對于數據更新具有重要的作用。為降低算法的計算復雜度,需要針對選取的存儲文件數據塊m對數據結構參數k的值進行設置。實驗過程中,首先定義實驗場景對D&CTs數據結構的動態(tài)更新影響情況進行分析:更新外包文件f的大小變化區(qū)間是1~100 GB,數據塊的數量變化區(qū)間是125 000~1 125 000。存儲文件數據塊分解數量設定為10~353。插入、更新和刪除操作的總數上限設定為2 000。對數據塊位置進行隨機選取,并且在實驗分析過程中保持相對的恒定。實驗結果見圖7所示。

Fig.7 Experimental comparison of computation cost(D&CTs data structure)圖7 計算成本實驗對比(D&CTs數據結構)

按照圖5所示計算成本實驗對比結果可知,數據塊數量的增加會造成云存儲過程中安全性檢驗過程的計算復雜度增加??傮w來看,相對最佳數據塊數量是在kopt=354時的數據塊數量125 000。同時,根據圖7所示實驗結果可知,更新請求的增加會導致算法的計算成本增加,兩者之間存在直接的關聯。例如,若參數k的取值從k=100變化到k=354過程中,對文件大小為1 GB的1 000個數據塊進行安全性驗證的計算復雜度大約是0.140~0.218 s,呈現出增加趨勢。

圖8所示為在選取的大型存儲文件上,執(zhí)行存儲更新100次,所需要的算法計算成本對比實驗結果。實驗過程中,參數的具體設置為P=90%,數據塊規(guī)模為16 KB,數據的存儲損壞比例是0.02%,q-SDH安全短簽名長度SL=256 bit。對比算法仍然選擇上述文獻[14-15]兩種算法。

根據圖8所示算法對比實驗結果可知,隨著存儲文件大小的增加,本文算法在云存儲節(jié)點實現再平衡所需的計算時間變化幅度不大,主要原因是本文算法是一種動態(tài)計算方法,而對比算法隨著存儲文件大小的增加,云存儲節(jié)點實現再平衡所需的計算時間呈現出增加趨勢。文獻[14]算法是靜態(tài)的云存儲數據審計方法,云存儲文件在10~60 MB區(qū)間內變化時,算法大約產生380 ms的計算復雜度,而文獻[15]大約可產生405 ms的計算復雜度,上述實驗結果體現了本文算法的動態(tài)計算效率。

Fig.8 Algorithms contrast experiments圖8 算法對比實驗

5.2 成功檢索實驗對比

為證明所提算法魯棒性,設定有關模型參數取值:節(jié)點數n=1 024,數據塊大小k=256,測試樣本閾值u=1~35,p為實驗中用到的素數。對比算法是文獻[4-5]以及文獻[6],數據損壞率指標選擇ε=1%、5%、10%及20%,四種算法的成功率對比實驗結果如圖9所示。

Fig.9 Comparisons of successful retrieval probabilities圖9 成功檢索概率對比

根據圖9所示結果,如果數據損壞率指標增大,則對于相同的成功率指標設定結果,本文需要進行的服務器查詢數量最小,表明本文算法在檢索成功率指標上具有更加優(yōu)異的性能表現。文獻[5]計算得到的成功率指標結果在集中算法中最差,但是文獻[6]相對于本文算法和文獻[4]算法,在數據損壞率指標增大時的性能降低幅度最快,逐漸接近于文獻[5]算法性能結果。

6 結束語

本文提出了一種云計算中基于電子流密碼的安全動態(tài)更新存儲策略。主要貢獻是提出一種新的Merkle哈希散列B+樹的動態(tài)版本,采用Q-SDH安全短簽名,在DBHT的葉級上采用有效的碼率作為偽刪除碼(Tornado-z碼),可有效保持虛擬機磁盤之間的完整性和真實性。

上述算法主要是針對單服務器云存儲情形進行設計的,但是單服務器云存儲存在的問題是對數據損壞問題缺乏有效的恢復措施。因為其沒有數據的備份功能,所以在今后的工作中,主要是將算法方案進行分布式云服務器的適應性設計,提高數據損壞恢復的魯棒性。

猜你喜歡
磁盤復雜度客戶端
你的手機安裝了多少個客戶端
“人民網+客戶端”推出數據新聞
——穩(wěn)就業(yè)、惠民生,“數”讀十年成績單
一類長度為2p2 的二元序列的2-Adic 復雜度研究*
毫米波MIMO系統中一種低復雜度的混合波束成形算法
它的好 它的壞 詳解動態(tài)磁盤
Kerr-AdS黑洞的復雜度
解決Windows磁盤簽名沖突
非線性電動力學黑洞的復雜度
Windows系統下動態(tài)磁盤卷的分析與研究
媒體客戶端的發(fā)展策略與推廣模式
潮安县| 乌审旗| 新平| 滦南县| 三亚市| 五大连池市| 南京市| 泽普县| 南乐县| 集贤县| 青海省| 峡江县| 嘉鱼县| 大姚县| 五峰| 泌阳县| 永州市| 垦利县| 六安市| 闸北区| 建昌县| 德安县| 虞城县| 大庆市| 昔阳县| 南木林县| 平昌县| 军事| 永川市| 安庆市| 林周县| 三明市| 江安县| 嘉兴市| 若尔盖县| 泗阳县| 鄯善县| 贵溪市| 桐乡市| 扎兰屯市| 卓资县|