孫書豪 李大剛 符玥 都政
摘 要:云存儲應用廣泛,但云端節(jié)點的不可控特性使存儲的數(shù)據(jù)安全性得不到保障,制約了云存儲在敏感數(shù)據(jù)和關(guān)鍵數(shù)據(jù)存儲中的推廣。秘密共享技術(shù)通過將原始數(shù)據(jù)作為秘密拆分成若干秘密份額并規(guī)定訪問門限,為云存儲數(shù)據(jù)安全提供保障。雖然部分份額的損壞不會影響到數(shù)據(jù)恢復,但若超過一定限度將無法恢復原始數(shù)據(jù)。針對該問題,設計了一個基于分組的秘密共享修復模型,可以在不影響秘密共享安全保證的前提下修復丟失或受損的秘密份額,并且可以降低修復代價。該方案突破了以往份額修復的慣用方法,實現(xiàn)了安全修復和局部性統(tǒng)一,為份額修復提供了新思路,為后續(xù)研究打下了良好的基礎。
關(guān)鍵詞:云存儲;秘密共享;份額修復模型;修復冗余;修復函數(shù)
DOI:10.11907/rjdk.172681
中圖分類號:TP309
文獻標識碼:A 文章編號:1672-7800(2018)005-0205-06
Abstract:After years of rapid development, cloud storage has become widely used, but the security of data in the cloud is still highly worried, which holds back its further endorsement by highly sensitive and confidential data. Secret sharing is an important security technology that can be applied to cloud storage to improve data security. It divides the original data into shares and sets a minimum threshold on number of shares required to recover the original data. Although by nature secret sharing has certain level of fault tolerance since one or two damaged shares will not hurt the recovery capability, but such tolerance will go away if the number of remaining shares is below the threshold. Aiming at this problem we propose, a group-based secret sharing repair model in this paper to provide safe and efficient share repairement for secret sharing. This model has higher security and lower repair cost than recovering the original secret and regenerating new shares. In addition, this model provides new views for share repairing over conventional methods, which lays a sound foundation for further research.
Key Words:cloud storage; secret sharing; share repair model; repair redundancy; repair function
0 引言
云存儲的安全性體現(xiàn)為數(shù)據(jù)的機密性、完整性和可用性:云存儲中的很多數(shù)據(jù)會涉及到個人隱私信息,具有高度的隱私性和敏感性,必須確保其機密性;云存儲中節(jié)點失效等問題可能導致云數(shù)據(jù)永久丟失或在一段時間內(nèi)無法訪問,其完整性和可用性也是亟需解決的問題[1-3]。
秘密共享作為一種重要的安全技術(shù),為云存儲數(shù)據(jù)安全提供了解決方案[3-6]。以Shamir[7]的門限秘密共享方案為例,它可以將關(guān)鍵數(shù)據(jù)作為秘密拆分成n個秘密份額,并分發(fā)給n個服務器,只有得到不小于t個秘密份額時,才能對秘密進行恢復從而得到原始數(shù)據(jù)。因此,即使有攻擊者攻擊部分服務器得到少數(shù)秘密份額,也無法獲得原始數(shù)據(jù),有效保障了云數(shù)據(jù)的機密性。
秘密共享可以忍受一定數(shù)量的節(jié)點故障,在少數(shù)份額丟失或損壞的情況下仍能完成原數(shù)據(jù)的恢復。然而,這種錯誤容忍力是有限的,損壞超過(n-t)后無法恢復。因此,秘密共享也需要一個良好的數(shù)據(jù)修復機制,從而能夠及時補充丟失或受損的秘密份額,維持系統(tǒng)冗余度,以保障云數(shù)據(jù)的完整性和可用性[8]。份額修復這一重要特性在基于糾刪碼的存儲方案中得到了較好應用,但在秘密共享方案中研究不多。在秘密共享中提供份額修復能力,需要注意不要影響到秘密共享本身的門限要求和完備安全性。為此,本文做了如下工作:
(1)設計了一個基于分組的秘密共享修復模型,以分組為單位提供份額修復功能,實現(xiàn)份額修復的局部化以降低修復代價,并提出了弱修復冗余、強修復冗余以及修復函數(shù)等概念,以精確描述模型性質(zhì)。
(2)提供了修復功能與原秘密恢復獨立的新思路:用于修復的數(shù)據(jù)與秘密共享份額數(shù)據(jù)解耦,不會影響到原秘密共享的門限要求,保證其安全性。
(3)本文模型是一個通用的份額修復模型,適用于除Shamir外其它類型的秘密共享方案。除此之外,模型本身還具有較好的靈活性,在使用中可以根據(jù)實際需要選擇合適的修復能力和計算代價。
1 相關(guān)工作
秘密共享技術(shù)本身具有最原始的修復能力:在份額損壞后可以通過恢復秘密然后重新分發(fā)的方式補充損壞的份額,這也是云存儲系統(tǒng)中常用的份額修復方法。但這樣不安全,它使秘密在不是用戶訪問的情況下被恢復,增加了泄露的風險。另外,修復一份份額需要在網(wǎng)絡中傳輸至少t+1倍的數(shù)據(jù),傳輸代價較大。
針對秘密共享份額修復的研究成果較少。Herzberg等 [9]于1998年最先提出了一個針對Shamir方案的秘密共享份額恢復協(xié)議,其目的是避免各份額本身在修復過程中被曝露出來?;舅枷胧牵何磽p失份額的t個成員發(fā)送一些偽份額信息給份額受損成員,該成員利用這些信息可計算出自己的原始份額。此協(xié)議后來被學者改造用于秘密共享的新成員加入?yún)f(xié)議[10]。Guang等[11]于2014年提出了一種可修復門限秘密共享方案(GLF),利用再生碼的性質(zhì)實現(xiàn)秘密的恢復和份額的修復;2016年,Stinson等[12]提出了兩種份額修復方法,首先對Nojoumian等[13]對秘密共享新成員加入?yún)f(xié)議進行了改造,使改造后的協(xié)議用于份額修復,然后提出了一種(k,n)門限秘密共享份額修復方法,套用兩層秘密共享方案實現(xiàn)份額的修復。
除了原始修復方法外,其它份額修復方法都不具備通用性,不適用于不同類型的秘密共享方案。其中,Herzberg協(xié)議、Stinson的第一種方法以及GLF方案,彌補了原始修復方法在安全性上的不足,但為之付出的代價是巨大的網(wǎng)絡通信開銷,其通信量比原始修復方法增加了一個數(shù)量級,并且一次修復過程要訪問的節(jié)點數(shù)甚至大于恢復秘密需要訪問的節(jié)點數(shù),修復代價非常大;Stinson的第二種方法具有較低的通信復雜性,但是其產(chǎn)生的存儲開銷卻十分巨大。因此,上述方案中,尚沒有一個安全、通用且具有較高性能的份額修復方案。
本文提出的云存儲中基于分組的秘密共享修復模型具有通用性,可適用于各種類型的秘密共享方案,除此之外,該方案的分組修復能力還具有較高的安全性和靈活性,以及較小的修復代價,為秘密共享份額修復提供了一個較好的選擇。
2 基于分組的秘密共享修復模型
對國內(nèi)外相關(guān)工作調(diào)研發(fā)現(xiàn),秘密共享修復方案的修復代價與其安全性是相對的,安全性越高修復代價越大,于是嘗試均衡兩者關(guān)系,并以此展開模型設計?;舅枷胧峭ㄟ^分組降低修復份額時涉及的節(jié)點數(shù)和遠程通信代價,然后通過分組策略和修復算法設計,保證局部修復能力的引入不會影響到原秘密共享安全特性。
2.1 設計思想
模型分為3個階段:①分組階段。為了減少修復過程中的通信代價,提出了一種分組機制,在所有存儲秘密份額的服務器中,將物理距離近的服務器分到一組。這些分組只是邏輯意義上的,并不改變這些份額在秘密共享方案中的角色以及功能。將修復過程限定在組內(nèi),使組內(nèi)服務器之間互相修復受損份額,不能跨組進行;②初始化階段。在分組基礎上,每個組內(nèi)計算用于修復組內(nèi)份額的冗余并將其合理存儲。要保證這些冗余不用來恢復原始秘密,且與原秘密共享方案完全無關(guān),從而維持原秘密共享方案的安全級別;③份額修復階段。當組內(nèi)份額失效時,修復冗余與組內(nèi)其它份額合作可以恢復出一個修復函數(shù),它僅在組內(nèi)生效。通過修復函數(shù)可計算出失效份額,從而實現(xiàn)修復。
2.2 初始化階段
初始化后系統(tǒng)整體情況如圖2所示,模型將原來的n個秘密份額分為m個組,且每組都生成了修復冗余。從以上描述可知,在初始化階段,所有修復冗余實際上與原始數(shù)據(jù)的秘密份額完全無關(guān),也就是說引入的冗余并不能用于原始秘密的恢復,也就不會影響到原始秘密共享的所有安全特性。
2.3 份額修復階段
定義1:修復函數(shù)。修復函數(shù)具有修復組內(nèi)所有秘密份額功能。方案中的r-1次多項式f(x)=b0+∑r-1i=1bixi即為組內(nèi)的修復函數(shù)。
定義2:強修復冗余。如果一個冗余可以獨立確定整個修復函數(shù),則稱之為強修復冗余。例如,當修復冗余個數(shù)為r時是一種強修復冗余。
定義3:弱修復冗余。如果一個冗余可以在組內(nèi)其它服務器的協(xié)助下確定修復函數(shù),則稱之為弱修復冗余。例如,當修復冗余只為一個yr+1時,是一種弱修復冗余,也是最弱修復冗余,隨著冗余個數(shù)的增加,弱修復冗余的能力逐漸增強,當個數(shù)等于r時就成為強修復冗余。
修復函數(shù)參考shamir方案選擇多項式構(gòu)造,使修復冗余和組內(nèi)份額之間具備類似的門限關(guān)系。在份額修復階段,只要修復冗余和未失效份額的總數(shù)不小于r,就可以利用r個坐標恢復修復函數(shù)f(x)。此時將份額失效服務器的x值代入f(x)中即可求出它的份額y,從而實現(xiàn)修復。
修復冗余越強修復能力就越強。設修復冗余的個數(shù)為g,只要冗余和組內(nèi)份額的總數(shù)為r,就可以恢復修復函數(shù),所以參與恢復的組內(nèi)份額數(shù)量為r-g。因此,g越大,恢復修復函數(shù)需要的組內(nèi)份額數(shù)量就越小,可容忍的組內(nèi)份額失效數(shù)就越大,方案的修復能力就越強。所以,當模型使用者不需要方案具有較強修復能力時,就可選擇生成相對弱的修復冗余,而當需要較強的修復能力時,就可以選擇相對強的修復冗余。可按照具體應用需求選取,說明該模型具有極高的靈活性。
2.4 冗余存儲修復
設計了修復冗余的兩種存儲方式,可根據(jù)有無增加參與秘密共享的服務器進行區(qū)分。
(1)將g個修復冗余分布存儲到每組附近沒有秘密份額的g臺服務器上,將這g臺服務器加入該組,如圖3所示。以后的修復過程就以組內(nèi)的r+g臺服務器為單位進行:①當組內(nèi)服務器受損時,剩余服務器發(fā)送r個點坐標到修復服務器中,共同恢復修復函數(shù)f(x);②受損服務器Pi將xi發(fā)送到修復服務器中,即可求出自己的原始份額yi。
這一方案完全不會改變原始秘密共享的所有操作,而且所有修復過程中的數(shù)據(jù)傳輸全部局限在組內(nèi)進行,不牽涉到遠程的組間數(shù)據(jù)交換,影響更小。
(2)若使用者不想增加參與秘密共享的服務器個數(shù),就可采用這種方式,將g個修復冗余分布存儲到組外的g臺存有秘密份額的服務器上,如圖4所示。具體存儲到哪一臺是隨機的,組內(nèi)服務器并不知道。
當組內(nèi)份額損壞時,組內(nèi)服務器向所有存有份額的服務器廣播一個哈希值,組外存有該組冗余的服務器就可通過驗證哈希值,得知這個修復過程并識別出對應的冗余,進而將其發(fā)回給組內(nèi)負責修復的服務器,對受損份額進行修復。
修復代價與安全性是對立的,而在該模型中這個問題已經(jīng)得到了較好解決。利用分組將修復過程局域化,減少了修復過程中的網(wǎng)絡通信開銷,進而減小了修復代價;同時,模型在修復過程中沒有涉及到秘密的任何信息,因此在修復代價和安全性方面都比原始的修復方法更有優(yōu)勢。
3 安全性仿真實驗
云存儲中秘密共享原始的修復方法是,先由一臺服務器(稱為repair server)向未受損服務器請求份額,將原來的秘密恢復,再對受損的服務器重新分發(fā)份額。本文模型中,若將所有的份額均勻分成m組,每組r個份額,并且每組生成g個修復冗余,則稱之為(m,r,g)修復方案。為了方便比較,將門限秘密共享作為基礎的秘密共享,以此為例進行仿真實驗。
3.1 實驗設計
原始方案需要恢復出原來的秘密才能進行份額修復,一旦在修復過程中被攻擊者攻擊,秘密就極有可能泄露。例如,如果攻擊者知道這個修復過程,且知道修復過程在哪臺服務器上進行,那么在修復時間內(nèi)對這臺修復服務器不斷發(fā)起攻擊,就很有可能獲取秘密。而本文模型中,每次的修復過程并不會暴露秘密信息,倘若被攻擊者獲取,最多也只能得到該組內(nèi)的份額,無法得到秘密。
攻擊者想要獲取存儲在云服務器上的秘密數(shù)據(jù),假設該攻擊者能進行最大程度的攻擊,即對每臺服務器同時并行進行攻擊,每臺服務器被攻破的概率為p。以一輪攻擊時間為單位,設該時間段內(nèi)發(fā)生修復過程的概率為q,攻擊者攻破一臺服務器之后可以獲取這臺服務器上的全部數(shù)據(jù)。若有修復過程就包括repair server發(fā)來的請求份額進行修復的信息,那么此時這個攻擊者就可以鎖定repair server,從而在修復時間內(nèi)對這臺服務器發(fā)起攻擊。設攻擊者在修復時間內(nèi)可以對repair server發(fā)起h次攻擊,每次攻破的概率為z。
兩個測試模型為:①原始模型:應用在云存儲系統(tǒng)中的(8,12)門限秘密共享方案;②本文模型:對原始的(8,12)門限秘密共享采用(3,4,1)均勻分組的修復方案。
實驗內(nèi)容:假設攻擊者分別在原始模型和本文模型下對12臺存有份額的服務器展開時長為t0的攻擊,求這一輪攻擊結(jié)束后攻擊者獲取秘密的概率ψ0和ψ1。
制定本實驗的各個參數(shù)值。根據(jù)云存儲系統(tǒng)中的實際情況,將攻擊者一分鐘攻破一臺服務器的概率定為0.000 2。因此,本實驗將t0合理地設置為8小時,在這8小時中每臺服務器被攻破的概率為0.000 2·60·8≈0.1,因此 p=0.1。同時,參考Facebook部署的Hadoop集群的日節(jié)點失效數(shù)設定q的大小,如圖5所示。
Hadoop集群共有3 000個節(jié)點,包含大約45PB的數(shù)據(jù),每天的節(jié)點失效數(shù)平均為22個,其中最高的數(shù)目甚至高于100個[14]。根據(jù)數(shù)據(jù),假設這22個失效節(jié)點中有12個節(jié)點的失效引發(fā)了修復過程,那么平均每個節(jié)點一天內(nèi)需要修復的概率為12/3 000=0.004,每小時需要修復的概率為0.004/24≈0.000 167。因此,在本實驗的一輪攻擊時間8小時內(nèi),每個服務器份額需要修復的概率為0.000 167·8≈0.001 3。所以,在原始模型中,一輪攻擊時間內(nèi)發(fā)生修復過程的概率為q1=C\+1120.0013=0.016;在本文模型中修復是分組進行的,每組加上冗余共有5個份額,因此一輪攻擊時間內(nèi)每組發(fā)生修復過程的概率為q2= C\+130.0013=0.0065。假設修復過程持續(xù)時間為10分鐘,設h=10,那么z=0.000 2。
綜上,將系統(tǒng)參數(shù)設定為t0=8h、p=0.1、q1=0.016、q2=0.006 5、h=10、z=0.000 2,將原始模型和本文模型在相同系統(tǒng)環(huán)境下展開仿真實驗。
3.2 實驗過程
原始模型:假設攻擊者在一輪攻擊后至少攻破了1臺服務器,并且該時間段內(nèi)有修復過程,那么攻擊者就可以接收到repair server發(fā)來的請求修復信息,進而鎖定repair server進行攻擊,若攻擊成功就可獲取秘密。這樣一輪攻擊結(jié)束后,若攻擊者攻破的服務器總數(shù)超過了門限值8,或者攻擊者成功攻破了repair server,攻擊者就成功得到了秘密。
假設攻擊者在一輪攻擊后至少攻破組內(nèi)1臺服務器,并且該時間段內(nèi)該組有修復過程,那么攻擊者就可鎖定該組內(nèi)的repair server進行攻擊,若攻擊成功就可獲取到該組內(nèi)所有的服務器份額。這樣一輪攻擊結(jié)束后,攻擊者攻破的服務器個數(shù)同時加上攻擊repair server成功后拿到的份額數(shù)量總數(shù)若超過了門限值8,攻擊者就成功得到了秘密。
假設攻擊者共發(fā)起10 000 000輪攻擊,統(tǒng)計10 000 000輪攻擊中成功獲取秘密的次數(shù),同時將以上過程循環(huán)100次,實驗結(jié)果如圖6所示。
從圖6可以看出,原始模型獲取到的秘密次數(shù)遠大于本文模型。對這兩條折線取平均值,得到10 000 000輪攻擊中原始模型、本文模型平均獲取秘密的次數(shù),分別為265.11、31.85。因此,ψ0=2.7·10-5,ψ1=3.2·10-6,原始模型泄露秘密的可能性比本文模型大了一個數(shù)量級,可見通過恢復秘密進行修復對安全性造成了很大的威脅。
3.3 安全性實驗結(jié)果分析
通過對安全性進行仿真實驗測試,證明了本文所提出的模型在安全性方面明顯高于原始方案的安全性。原始方案通過恢復秘密來修復份額的方式存在很大的安全威脅,本文模型很好地解決了這個問題,具有更高的安全性。
4 修復代價仿真實驗
原始修復方法每次修復都需要恢復出秘密,在恢復秘密過程中的通信量有時延等修復代價,不僅占用了大量網(wǎng)絡資源,還降低了修復效率。本文模型采用分組機制,將服務器按照物理距離因素進行分組,將修復限定在組內(nèi),極大減小了修復過程中的修復代價。下面對本文模型與原始模型展開修復的通信量和時延進行仿真實驗。
3個測試模型為:
方案Q1:不作任何處理的(8,12)原始秘密共享方案;
方案Q2:在本文模型上對原始方案采用(3,4,1)的修復方案,并采用方式①存儲冗余;
方案Q3:在本文模型上對原始方案采用(3,4,1)的修復方案,并采用方式②存儲冗余。
4.1 通信量實驗
在網(wǎng)絡中,節(jié)點間通信會存在一定的重傳概率,通信的兩個節(jié)點距離越遠則重傳概率越大,按照實際情況合理設置重傳概率。因為組內(nèi)的服務器距離較近,因此將組內(nèi)的重傳概率設為p1=0.01,組外的服務器距離較遠,將組外的重傳概率設為p2=0.05。若數(shù)據(jù)重傳,則此次的通信量加倍。假設每個份額大小為size=10 000,系統(tǒng)中每個服務器份額在某段時間內(nèi)失效的概率為q=0.1,份額失效后即展開修復過程,求系統(tǒng)分別采用方案Q1、Q2、Q3時在該段時間內(nèi)修復所需的總通信量。
方案Q1:每次修復都需要傳輸8個份額恢復出原始秘密,且因為repair server平均距離每臺服務器較遠,因此每次通信的重傳概率為p2。
方案Q2:不管是份額受損還是冗余受損,每次修復都只需傳輸組內(nèi)4個份額恢復修復函數(shù),重傳概率為p1。
方案Q3:當組內(nèi)服務器受損時,需要傳輸組外1個冗余和組內(nèi)3個份額。傳輸組內(nèi)份額時重傳概率為p1,傳輸組外冗余則為p2;當組外冗余受損時,不僅需要對該冗余進行修復,還需要對這臺服務器上的份額進行修復,此時通信量為其它修復過程的兩倍。兩次修復都在各組內(nèi)進行,修復結(jié)束后再發(fā)給受損份額,重傳概率為p1。
在方案Q1、Q2、Q3下分別展開一輪通信量實驗并循環(huán)1 000次,將實驗結(jié)果整理到圖7中。
從結(jié)果可以看出,方案Q1所需的平均通信量大于方案Q2和方案Q3的通信量,對這3種方案的通信量求平均值得:ωQ1=102 550,ωQ2=59 870,ωQ3=62 970,可見本模型修復所需的通信量遠小于原始方案的通信量,同時模型內(nèi)部的第一種方法比第二種方法在通信量上略有優(yōu)勢。
4.2 時延實驗
在云存儲系統(tǒng)中,數(shù)據(jù)從一個節(jié)點傳輸?shù)搅硪粋€節(jié)點會產(chǎn)生通信時延,主要為發(fā)送時延、傳播時延、處理時延和排隊時延。一般來說,發(fā)送時延和傳播時延是主要因素,其中,發(fā)送時延=數(shù)據(jù)幀長度(b)/發(fā)送速率(b/s),傳播時延=信道長度(m)/信道上的傳播速率(m/s)。
在同一系統(tǒng)環(huán)境下,方案Q1、Q2和Q3每次節(jié)點間通信的數(shù)據(jù)量是一樣的,因此決定3個方案時延的主要原因是傳播時延,而傳播時延又與信道長度有關(guān),即與節(jié)點間的傳輸距離有關(guān)。因此設組內(nèi)通信時延為t1=50ms,組間通信時延為t2=300ms,其余系統(tǒng)參數(shù)與通信量一致,若數(shù)據(jù)需要重傳則時延加倍。
求系統(tǒng)分別采用方案Q1、Q2、Q3時在該段時間內(nèi)修復所需的總時延:
方案Q1:修復過程中每次通信的時延為t2=300ms,重傳概率p2=0.05,一旦需要重傳則此次通信的時延加倍。
方案Q2:不管是份額受損還是冗余受損,每次修復都只在組內(nèi)進行,因此每次通信的時延為t1=30ms,重傳概率p1=0.01。
方案Q3:當組內(nèi)服務器受損時,需要傳輸1個組外冗余和3個組內(nèi)份額,傳輸組內(nèi)份額的通信時延為t1,傳輸組外冗余則為p2,相應的重傳概率分別為p1和p2;當組外冗余受損時,通信次數(shù)為其它修復過程的兩倍,兩次修復都在各組內(nèi)進行,修復結(jié)束后再發(fā)給受損份額,時延為t1,重傳概率為p1。
在方案Q1、Q2、Q3下分別展開一輪實驗,并循環(huán)1 000次,將實驗結(jié)果整理到圖8中。
從結(jié)果可以看出,平均時延Q1>Q2>Q3,且方案Q1所需的時延遠大于方案Q2和方案Q3,對這3種方案的時延求平均值得:TQ1=1723.85ms,TQ2=306.1ms,TQ3=617.6ms,本模型修復時延遠小于原始方案的時延,同時模型的方法①比方法②所花費的時延還要小一點。
4.3 修復代價實驗結(jié)果分析
無論是從通信量還是時延來看,本文模型的修復代價都小于原始的修復方法,具有更高的性能。通信量和時延的差距原因與通信距離和參與修復的節(jié)點數(shù)有關(guān),這也證明修復模型采用的分組機制極大減小了修復代價,在不占用過多網(wǎng)絡資源的同時還能高性能地修復失效節(jié)點。
5 模型其它性能分析
5.1 模型的計算復雜性
模型中沒有編解碼過程,生成修復冗余以及恢復修復函數(shù)的過程都是求解線性方程組,沒有復雜的計算過程。
已知求解線性方程組的計算復雜度在O(n2)與O(n3)之間,模型中份額總數(shù)為n,將n個份額均勻分入m個組,每組中有r個成員,于是有:
當系統(tǒng)中的m個組中只有一組使用修復功能時,計算復雜度處于兩者之間:
可以看出,當分組結(jié)束后r確定為一個不大的常數(shù)時,計算復雜度的上界r3較小,因此整個修復過程的計算復雜度也較小。
最壞的一種情況就是系統(tǒng)中的m個組同時使用修復功能,此時的計算復雜度處于兩者之間:
可以看出,當分組結(jié)束后r確定為一個不大的常數(shù)時,計算復雜度的上界O(r2n)可以近似看成O(n),這也進一步說明了采用分組機制可以很好地提高模型性能。
5.2 模型存儲代價
假設份額總數(shù)為n,系統(tǒng)中采用(m,r,g)修復模型。假定秘密份額的存儲大小為1,則系統(tǒng)中未加入修復功能之前的存儲量為n。
若m個組都選擇存儲最弱修復冗余,則存儲量為m,這是存儲量最少的情況;而存儲量最多的情況是m個組都選擇存儲強修復冗余,為rm,因此模型增加的存儲量處于兩者之間:
可以看出,在最壞的情況下,即m個組都選擇最強修復冗余時,存儲量最多比原來增加一倍,這是非常值得的;而當m個組都選擇最弱修復冗余時,整個系統(tǒng)增加的存儲量較少,為分組個數(shù)m。因此綜合來看,模型在存儲量方面也具有較好性質(zhì)。
6 結(jié)語
云存儲安全性是一個非常重要的問題,秘密共享技術(shù)可以用于提高云端數(shù)據(jù)的安全性,但如何及時高效地修復和補充丟失或損壞的數(shù)據(jù)份額,是秘密共享技術(shù)應用中需要解決的實際問題,也是關(guān)系到云存儲技術(shù)未來發(fā)展應用的重要問題。
本文設計了一個基于分組的秘密共享修復模型,通過將修復冗余、修復過程與原秘密共享的數(shù)據(jù)和操作解耦,從而無需在暴露原始數(shù)據(jù)、不影響秘密共享安全的前提下,降低受損份額的修復代價,有效保障了數(shù)據(jù)的安全性、完整性和可用性。通過仿真實驗和理論分析,證明本文模型比原始修復方法具有更高的安全性和更低的修復代價。同時,本文模型解決了以往份額修復方案中安全性和局部性的矛盾,為份額修復提供了新思路。
參考文獻:
[1] LIN C, SU W B, MENG K, et al. Loud computing security: architecture, mechanism and modeling[J]. Chinese Journal of Computers, 2013,36(9):1765-1784.
[2] ZISSIS D, LEKKAS D. Addressing cloud computing security issues[J]. Future Generation Computer Systems, 2012,28(3):583-592.
[3] LIN H Y, TZENG W G. A secure erasure code-based cloud storage system with secure data forwarding[J]. IEEE Transactions on Parallel & Distributed Systems, 2012,23(6):995-1003.
[4] BESSANI A, CORREIA M, QUARESMA B, et al. DepSky: dependable and secure storage in a cloud-of-clouds[J]. Acm Transactions on Storage, 2011,9(4):31-46.
[5] ALZAIN M A, SOH B, PARDEDE E. MCDB: Using multi-clouds to ensure security in cloud computing[C]. IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing. IEEE Computer Society, 2011:784-791.
[6] ALSOLAMI F, BOULT T E. Cloud stash: using secret-sharing scheme to secure data, not keys, in multi-clouds[C]. International Conference on Information Technology: New Generations. IEEE Computer Society, 2014:315-320.
[7] SHAMIR A. How to share a secret[J]. Communications of the Acm, 1979,22(11):612-613.
[8] LI J, YANG S, WANG X, et al. Tree-structured data regeneration in distributed storage systems with regenerating codes[C].Conference on Information Communications. IEEE Press, 2010:2892-2900.
[9] HERZBERG A, JARECKI A. Proactive secret sharing or: how to cope with perpetual leakage[J]. Advances in Cryptology-Crypto'95, 1998(963):339-352.
[10] YU J, KONG F, HAO R. An efficient member expansion protocol for threshold schemes[C].Communication Technology, 2006. ICCT '06. International Conference on. IEEE, 2006:1-4.
[11] XUAN G, LU J, FU F W. Repairable threshold secret sharing schemes[J]. Computer Science, 2014(6):49-52.
[12] STINSON D R, WEI R. Combinatorial repairability for threshold schemes[J]. Designs Codes & Cryptography, 2016(2):1-16.
[13] NOJOUMIAN M, STINSON D R, GRAINGER M. Unconditionally secure social secret sharing scheme[J]. Iet Information Security, 2010,4(4):202-211.
[14] LIN H Y, TZENG W G. A secure erasure code-based cloud storage system with secure data forwarding[J]. IEEE Transactions on Parallel & Distributed Systems, 2012,23(6):995-1003.
(責任編輯:杜能鋼)