張曉琴 姚遠(yuǎn) 王穎
摘要:在大數(shù)據(jù)爆發(fā)式增長(zhǎng)背景下,云存儲(chǔ)服務(wù)的發(fā)展為用戶數(shù)據(jù)存儲(chǔ)帶來(lái)了極大的方便,按需服務(wù)特性使其備受青睞。但由于失去了對(duì)云服務(wù)器中數(shù)據(jù)的直接控制,不確定因素可能導(dǎo)致用戶的數(shù)據(jù)損壞,這給云存儲(chǔ)發(fā)展帶來(lái)極大挑戰(zhàn)。筆者提出輕量級(jí)計(jì)算和驗(yàn)證的數(shù)據(jù)審計(jì)方案,簡(jiǎn)化了用戶在上傳數(shù)據(jù)之前的標(biāo)簽計(jì)算操作,保證用戶上傳數(shù)據(jù)的安全性。此外,云服務(wù)器和審計(jì)者的計(jì)算任務(wù)也得到減輕,進(jìn)一步降低計(jì)算開(kāi)銷。為保護(hù)用戶數(shù)據(jù)隱私,借鑒了圖像加密中的置亂加密,讓用戶使用隨機(jī)函數(shù)對(duì)數(shù)據(jù)塊的位置進(jìn)行置亂,同時(shí)讓審計(jì)者計(jì)算出數(shù)據(jù)塊的真實(shí)位置,完成審計(jì)操作。實(shí)驗(yàn)結(jié)果表明,該方案有效節(jié)省了審計(jì)流程中用戶和服務(wù)器、審計(jì)者3方的計(jì)算資源,提升流程效率。
關(guān)鍵詞:數(shù)據(jù)審計(jì);云服務(wù)器;隱私保護(hù);置亂加密;隨機(jī)函數(shù)
中圖分類號(hào):TP333????????? 文獻(xiàn)標(biāo)志碼:A????? 文章編號(hào):1000-582X(2024)02-075-09
Lightweight privacy protection scheme for cloud audit
ZHANG Xiaoqin1, YAO Yuan2, WANG Ying3
(1. Chongqing Communication Design Institute Company Ltd., Chongqing 400041, P. R. China;
2.? Information Center of Xiyuan Hospital, China Academy of Chinese Medical Sciences, Beijing 100091, P. R. China; 3. College of Big Data and Software, Chongqing University,
Chongqing 401331, P. R. China)
Abstract: In the context of the explosive growth of big data, the emergence of cloud storage services has significantly facilitated user data storage. The on-demand nature of cloud servers further contributes to their widespread popularity. However, this convenience comes at the expense of direct user control over data stored in the cloud, exposing it to potential damage from various uncertain factors. This brings great challenges to the advancement of cloud storage. To address these challenges, a data auditing scheme is proposed, emphasizing lightweight calculation and verification. This solution streamlines the users label calculation operation before uploading data, ensuring data security during the upload process. This approach concurrently reduces the calculation tasks of both the cloud server and the auditor, minimizing overall calculation overhead. To protect user data privacy, the scheme incorporates scrambling encryption inspired by image encryption. This enables users to use random functions to scramble the data blocks location, while still allowing the auditor to calculate the actual data block location for successful auditing. The results show that the proposed solution effectively saves computing resources for users, servers, and auditors during the audit process, thereby improving overall process efficiency.
Keywords: data audit; cloud server; privacy protection; scrambling encryption; random function
云計(jì)算服務(wù)具有按需服務(wù),接入網(wǎng)絡(luò)便捷,存儲(chǔ)資源豐富,靈活性高等特性,已吸引越來(lái)越多的組織和個(gè)人用戶關(guān)注[1?2]。通過(guò)將數(shù)據(jù)存儲(chǔ)遷移到云服務(wù)器或?qū)⒂?jì)算任務(wù)交由云服務(wù)代理完成,用戶可節(jié)省大量計(jì)算資源。云計(jì)算在數(shù)據(jù)量巨大、計(jì)算任務(wù)繁重領(lǐng)域如電商、車聯(lián)網(wǎng)[3]、醫(yī)療護(hù)理[4]中得到廣泛應(yīng)用。但隨著云存儲(chǔ)大范圍使用,數(shù)據(jù)安全問(wèn)題也日益凸顯[5?7],數(shù)據(jù)一旦被遷移到云服務(wù)器后,用戶就不能夠?qū)ζ溥M(jìn)行直接操作控制,在此情況下傳統(tǒng)方法驗(yàn)證數(shù)據(jù)的完整性和正確性不再適用。云服務(wù)代理可能在未經(jīng)用戶許可情況下使用用戶數(shù)據(jù),侵犯用戶隱私。除云服務(wù)代理之外,網(wǎng)絡(luò)中還存在著外部攻擊者有意監(jiān)聽(tīng)或篡改用戶數(shù)據(jù)的風(fēng)險(xiǎn)。因此,對(duì)于使用云服務(wù)的用戶而言,能夠驗(yàn)證被遷移數(shù)據(jù)完整性和正確性的數(shù)據(jù)審計(jì)方案具有重要研究意義。
近年來(lái),國(guó)內(nèi)外對(duì)審計(jì)的研究成果相當(dāng)豐富。在審計(jì)架構(gòu)方面主要有兩種方案:①基于私有審計(jì)架構(gòu)[8?9]。Juels等[10]首次提出了可恢復(fù)性證明模型(proofs of retrievability,PoR),它可使用戶遠(yuǎn)程驗(yàn)證半可信服務(wù)器中的數(shù)據(jù)完整性。但PoR是一個(gè)私有審計(jì)方案,不支持對(duì)數(shù)據(jù)的動(dòng)態(tài)更新;②公有審計(jì)架構(gòu)[11?12]。Ateniese等[13]提出了可證明數(shù)據(jù)所有模型(provable data posession,PDP),首次提出了公開(kāi)審計(jì)概念。Shacham等[14]提出了新穎的公開(kāi)審計(jì)方案,該方案使用BLS簽名。與傳統(tǒng)基于RSA簽名相比,BLS簽名的長(zhǎng)度更短,對(duì)于降低通信成本有顯著表現(xiàn)。此方案提出后,許多方案也采用BLS簽名來(lái)節(jié)省通信計(jì)算量和實(shí)現(xiàn)批量審計(jì)功能。Curtmola等[15]提出了多副本PDP模型方案,使用該方案的用戶需要在服務(wù)器上存儲(chǔ)一個(gè)文件的多個(gè)副本。當(dāng)某些文件被破壞時(shí),可利用其他副本對(duì)文件進(jìn)行快速恢復(fù)。私有審計(jì)方案雖然能很好滿足當(dāng)時(shí)用戶需求,但隨著信息基礎(chǔ)設(shè)施快速升級(jí),審計(jì)結(jié)果可信度也易受質(zhì)疑。私有審計(jì)模型由于需要用戶承擔(dān)大量通信和計(jì)算開(kāi)銷,目前也無(wú)法滿足用戶的全部需求。相比之下,公有審計(jì)模型加入了一個(gè)可信第三方審計(jì)員,用戶可將數(shù)據(jù)審計(jì)的任務(wù)委派給第三方完成,節(jié)約自己的資源。這一概念最早由Wang等提出,第三方審計(jì)者可代表用戶進(jìn)行數(shù)據(jù)驗(yàn)證,幫助用戶節(jié)省因?qū)徲?jì)產(chǎn)生的開(kāi)銷。盡管第三方審計(jì)者在之后的審計(jì)方案中得到了廣泛應(yīng)用,但仍存在一些缺點(diǎn),如缺少對(duì)審計(jì)者的有效監(jiān)管。
綜上所述,私有審計(jì)方案架構(gòu)簡(jiǎn)單、安全性較高,且能夠最大限度保證審計(jì)結(jié)果的真實(shí)性。但是,該方案要求用戶定期進(jìn)行數(shù)據(jù)審計(jì),頻繁與云服務(wù)器進(jìn)行交互,嚴(yán)重消耗用戶自身的網(wǎng)絡(luò)和計(jì)算資源,與用戶使用云服務(wù)器目的背道而馳。對(duì)于公開(kāi)審計(jì)而言,雖然引入了第三方審計(jì)者,用戶可以對(duì)第三方審計(jì)者進(jìn)行授權(quán),委托其執(zhí)行數(shù)據(jù)審計(jì)工作[16?18]。第三方審計(jì)者通常都被假設(shè)為是完全可信的,實(shí)際上第三方審計(jì)者仍可能會(huì)與云服務(wù)提供商共同向用戶隱藏?cái)?shù)據(jù)損壞或丟失的事實(shí)。而且第三方審計(jì)者作為中心化的一方,一旦受到外部攻擊或發(fā)生內(nèi)部故障,審計(jì)過(guò)程都會(huì)被影響。為解決上述審計(jì)中存在的資源消耗嚴(yán)重且用戶隱私得不到保證的問(wèn)題,研究以最小化計(jì)算開(kāi)銷和保護(hù)用戶數(shù)據(jù)隱私為重心,設(shè)計(jì)了輕量級(jí)計(jì)算方法和審計(jì)流程,其主要貢獻(xiàn)在于:
1)借鑒了圖像加密中的置亂加密,使用偽隨機(jī)函數(shù)對(duì)文件內(nèi)數(shù)據(jù)塊的順序進(jìn)行置亂,不增加用戶額外開(kāi)銷;
2)在數(shù)據(jù)存儲(chǔ)階段,偽隨機(jī)函數(shù)的種子使用雙線性映射結(jié)合用戶私鑰計(jì)算,保證只有用戶和第三方審計(jì)者才能計(jì)算出數(shù)據(jù)塊正確順序;
3)用戶在計(jì)算數(shù)據(jù)塊簽名時(shí)也采用了偽隨機(jī)函數(shù)種子,具體可驗(yàn)證標(biāo)簽則由云服務(wù)器生成,可有效節(jié)省審計(jì)流程中用戶和服務(wù)器、審計(jì)者三方計(jì)算資源。
1 系統(tǒng)模型及設(shè)計(jì)目標(biāo)
1.1 建立系統(tǒng)模型
方案采用了傳統(tǒng)的云數(shù)據(jù)公開(kāi)審計(jì)模型,系統(tǒng)模型中包含3個(gè)角色:用戶、云服務(wù)提供商和可信第三方審計(jì)者。不同角色在方案中的定位和功能如下所述:
用戶(data owner,DO):用戶擁有一定容量數(shù)據(jù),但自身的存儲(chǔ)和計(jì)算能力有一定限制,選擇將數(shù)據(jù)外包給云服務(wù)器。用戶需要確保自己的數(shù)據(jù)完整保存在云服務(wù)器上,并且授權(quán)可信第三方審計(jì)者對(duì)自己的數(shù)據(jù)進(jìn)行定期審查。在審計(jì)方案中,用戶需承擔(dān)的計(jì)算和通信開(kāi)銷應(yīng)盡可能最小。
云服務(wù)提供商(cloud service provider,CSP):云服務(wù)提供商即管理著足量的云服務(wù)器提供大量存儲(chǔ)和計(jì)算資源角色。用戶將自己的數(shù)據(jù)交由云服務(wù)提供商存儲(chǔ)到云服務(wù)器中,同時(shí)要求云服務(wù)提供商保證數(shù)據(jù)完整性。
可信第三方審計(jì)者(trusted third party authority,TPA):審計(jì)者的作用是獲得用戶的委托和授權(quán),對(duì)云服務(wù)器中對(duì)應(yīng)用戶的數(shù)據(jù)進(jìn)行定期審計(jì),將審計(jì)結(jié)果發(fā)送給用戶,確保在數(shù)據(jù)受損時(shí)用戶能及時(shí)發(fā)現(xiàn)采取后續(xù)措施。在這個(gè)過(guò)程中,假設(shè)第三方審計(jì)者是半可信的,即審計(jì)者會(huì)誠(chéng)實(shí)完成審計(jì),但會(huì)對(duì)用戶的數(shù)據(jù)保持好奇,試圖通過(guò)審計(jì)數(shù)據(jù)恢復(fù)出用戶原始數(shù)據(jù)。因此,審計(jì)流程需要在保證審計(jì)效果前提下,保護(hù)用戶數(shù)據(jù)的安全性。
本方案提出了一種輕量級(jí)的計(jì)算方法和審計(jì)方法,其簡(jiǎn)要步驟為:首先,用戶對(duì)需要上傳到云服務(wù)器的數(shù)據(jù)進(jìn)行預(yù)處理,生成可驗(yàn)證數(shù)據(jù)標(biāo)簽和其他信息,以便審計(jì)者進(jìn)行審計(jì);其次,將處理后的數(shù)據(jù)及數(shù)據(jù)標(biāo)簽上傳到云服務(wù)器,授權(quán)第三方審計(jì)者對(duì)自己的數(shù)據(jù)進(jìn)行審計(jì)。審計(jì)者將定期對(duì)云服務(wù)器發(fā)起審計(jì)挑戰(zhàn),云服務(wù)器計(jì)算出相應(yīng)的數(shù)據(jù)擁有證明并將其發(fā)送給對(duì)應(yīng)審計(jì)者。審計(jì)者收到數(shù)據(jù)擁有證明后進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果發(fā)送給用戶。如果驗(yàn)證成功,則說(shuō)明數(shù)據(jù)仍然保持完整;如果驗(yàn)證失敗,則說(shuō)明數(shù)據(jù)的完整性受損,用戶需要及時(shí)采取對(duì)應(yīng)措施。
為更好保護(hù)用戶隱私,本方案在數(shù)據(jù)預(yù)處理階段引入圖像加密中的置亂加密操作,即用戶在對(duì)數(shù)據(jù)塊生成可驗(yàn)證標(biāo)簽后,使用偽隨機(jī)函數(shù)對(duì)同一文件中數(shù)據(jù)塊的順序置亂。然后,用戶將打亂數(shù)據(jù)塊順序的文件發(fā)送給云服務(wù)器,防止數(shù)據(jù)隱私泄露。偽隨機(jī)函數(shù)的隨機(jī)種子采取密鑰交換原理,由用戶的私鑰和第三方審計(jì)者私鑰共同生成,保證對(duì)云服務(wù)器的保密性。對(duì)于用戶對(duì)第三方審計(jì)者進(jìn)行授權(quán)操作,用戶可為審計(jì)者生成相應(yīng)證書(shū),以證明審計(jì)者獲得了用戶授予的審計(jì)權(quán)限。證書(shū)可以使用簽名、加密算法等方式生成,并用于驗(yàn)證審計(jì)者的身份。
1.2 設(shè)計(jì)系統(tǒng)目標(biāo)
筆者提出的方案主要目標(biāo)是實(shí)現(xiàn)可靠的審計(jì)結(jié)果。同時(shí)減少方案參與者處理數(shù)據(jù)所需的計(jì)算資源,減輕用戶的資源消耗,加強(qiáng)對(duì)用戶數(shù)據(jù)的隱私保護(hù)。本方案有如下設(shè)計(jì)目標(biāo):
1)用戶原始數(shù)據(jù)隱私保護(hù):在用戶預(yù)處理過(guò)程中,采用圖像加密中的置亂加密對(duì)用戶文件中的數(shù)據(jù)塊進(jìn)行亂序操作。該操作不需要額外存儲(chǔ)空間,能有效保護(hù)用戶原始數(shù)據(jù)的隱私。
2)減輕參與者的計(jì)算消耗:在能夠保證審計(jì)效果以及審計(jì)流程安全性前提下,簡(jiǎn)化用戶預(yù)處理步驟,修改數(shù)據(jù)標(biāo)簽計(jì)算方法。此外,減少計(jì)算時(shí)間,將部分?jǐn)?shù)據(jù)標(biāo)簽的生成操作轉(zhuǎn)移到云服務(wù)器進(jìn)行,減少審計(jì)過(guò)程中的計(jì)算資源消耗。
2 方案詳細(xì)設(shè)計(jì)
本方案體包括5個(gè)階段:
1)初始化:用戶確定進(jìn)行數(shù)據(jù)上傳所需的各類參數(shù)和計(jì)算函數(shù),云服務(wù)提供商以及第三方審計(jì)者也需要生成自己的公私鑰對(duì)。
2)數(shù)據(jù)存儲(chǔ):參數(shù)生成完畢后,用戶開(kāi)始處理將外包給云服務(wù)器的數(shù)據(jù)。用戶需要對(duì)文件進(jìn)行分塊、生成可驗(yàn)證數(shù)據(jù)標(biāo)簽、數(shù)據(jù)塊亂序以及發(fā)送等操作。
3)數(shù)據(jù)審計(jì):第三方審計(jì)者接受用戶的授權(quán)和委托,對(duì)云服務(wù)器發(fā)起審計(jì)挑戰(zhàn)。
4)證明生成:云服務(wù)器根據(jù)收到的挑戰(zhàn)信息計(jì)算數(shù)據(jù)擁有證明,并將其發(fā)送給第三方審計(jì)者。
5)數(shù)據(jù)驗(yàn)證:第三方審計(jì)者驗(yàn)證數(shù)據(jù)擁有證明是否正確。
以上5個(gè)階段即為本方案主要流程,同時(shí)還支持用戶對(duì)云服務(wù)器中數(shù)據(jù)動(dòng)態(tài)操作。本方案中使用的符號(hào)如表1所示。
2.1 初始化階段
在初始化階段,用戶、云服務(wù)器以及第三方審計(jì)者都需要生成自己的參數(shù)以及一些函數(shù)。對(duì)于用戶,首先用戶需要確定一個(gè)大素?cái)?shù)p。接著,選擇2個(gè)以大素?cái)?shù)p為階的循環(huán)群G,G_T,設(shè)定雙線性映射e:G×G→G_T。設(shè)H為哈希函數(shù)〖{0,1}〗^*→G上的映射,〖{0,1}〗^*表示由0和1組成的任意長(zhǎng)度字符串;其次生成用戶的公鑰和私鑰:用戶隨機(jī)選擇元素α∈Z_p以及g,u∈G,設(shè)β=g^α。然后用戶選擇隨機(jī)簽名密鑰對(duì)(sk,pk),用于對(duì)數(shù)據(jù)進(jìn)行簽名;最終,本方案中用戶的參數(shù)為私鑰SK=(sk,α),公鑰PK=(pk,β,g,u)。用戶的參數(shù)確定后,云服務(wù)器隨機(jī)選擇元素y∈Z_p作為自己的私鑰,對(duì)應(yīng)的公鑰為Y=g^y,第三方審計(jì)者從Z_p中隨機(jī)選擇元素z作為私鑰,并令公鑰Z=g^z。以上參數(shù)中私鑰均由生成者保存并保證其私密性,公鑰保持公開(kāi),即任何第三方都可以獲得。
2.2 數(shù)據(jù)存儲(chǔ)階段
參數(shù)初始化完畢后,用戶對(duì)需要上傳到云服務(wù)器的數(shù)據(jù)進(jìn)行預(yù)處理。首先對(duì)文件進(jìn)行分塊,一個(gè)文件會(huì)被分為若干個(gè)大小相同的數(shù)據(jù)塊,假設(shè)一個(gè)文件可被分為n塊,記為F={m_1,m_2,…,m_n}。同時(shí)用戶為每個(gè)文件分配唯一標(biāo)識(shí)號(hào),令文件F的標(biāo)識(shí)號(hào)為F_ID。文件分割完成后,用戶開(kāi)始為數(shù)據(jù)塊生成簽名,首先用戶計(jì)算t=e〖(Y,Z)〗^α,然后計(jì)算數(shù)據(jù)塊的簽名
σ_i=t?u^(m_i ),1≤i≤n ,????? (1)
接著,用戶開(kāi)始對(duì)文件F中的數(shù)據(jù)塊進(jìn)行置亂操作。假設(shè)t為偽隨機(jī)函數(shù)種子,計(jì)算數(shù)據(jù)塊新的排布位置,計(jì)算方式為k_i=τ_t (i),1≤i≤n。計(jì)算完成后,用戶根據(jù)k_i對(duì)文件重新進(jìn)行排布,得到F^'={…,m_(k_i ) 〖,…}〗_(1≤i≤n)。為保證文件唯一標(biāo)識(shí)號(hào)完整性,用戶需要為文件生成文件標(biāo)簽T=F_ID ||sig_sk (F_ID),其中sig_sk (F_ID)表示使用私鑰sk為文件標(biāo)識(shí)號(hào)生成的簽名,并令所有數(shù)據(jù)塊簽名的集合為σ={σ_i }_(1≤i≤n)。最終用戶將{F',σ,T}發(fā)送給云服務(wù)器保存,并刪除本地存儲(chǔ)數(shù)據(jù)。
收到用戶發(fā)送數(shù)據(jù)后,云服務(wù)器還需要使用雙線性映射e進(jìn)一步計(jì)算其可驗(yàn)證標(biāo)簽。云服務(wù)器根據(jù)收到的數(shù)據(jù)塊簽名計(jì)算可驗(yàn)證標(biāo)簽方式為:θ_i=e(σ_i,β);計(jì)算完所有數(shù)據(jù)塊的可驗(yàn)證標(biāo)簽后,云服務(wù)器將它們組成的集合記為θ={θ_i }_(1≤i≤n)。同時(shí),云服務(wù)器將用于數(shù)據(jù)驗(yàn)證的θ和T與文件F'一同保存。
2.3 數(shù)據(jù)審計(jì)階段
用戶將數(shù)據(jù)上傳至云服務(wù)器后,授權(quán)并委托第三方審計(jì)者代表自己對(duì)云服務(wù)器發(fā)起審計(jì)挑戰(zhàn)。在發(fā)起挑戰(zhàn)之前,審計(jì)者需先通過(guò)驗(yàn)證文件標(biāo)簽是否正確來(lái)確認(rèn)該文件是否屬于該用戶。審計(jì)者從云服務(wù)器處獲得T,并通過(guò)用戶的簽名公鑰pk驗(yàn)證其是否正確。驗(yàn)證失敗即中止本次審計(jì)并向用戶提交錯(cuò)誤報(bào)告;驗(yàn)證成功則審計(jì)者獲取到F_ID并可繼續(xù)生成挑戰(zhàn)信息。審計(jì)者構(gòu)造挑戰(zhàn)信息為chal={F_ID,i,s_i 〖,l,}〗_(i∈I,l∈L)。由于存儲(chǔ)在云服務(wù)器中的數(shù)據(jù)塊順序和可驗(yàn)證簽名順序不對(duì)應(yīng),在挑戰(zhàn)信息中審計(jì)者需要為受到挑戰(zhàn)的數(shù)據(jù)塊生成數(shù)據(jù)塊序號(hào)集合和簽名序號(hào)集合。挑戰(zhàn)信息中L為此次受到挑戰(zhàn)的數(shù)據(jù)塊可驗(yàn)證標(biāo)簽的索引集合,包含從{1,2,…n}中挑選的c個(gè)元素。I為與可驗(yàn)證標(biāo)簽對(duì)應(yīng)的數(shù)據(jù)塊索引集合。為得到集合I,審計(jì)者需要先使用自己的私鑰以及用戶和云服務(wù)器的公鑰計(jì)算隨機(jī)函數(shù)種子,即t=h(e〖(β,Y)〗^Z),I={i=τ_t (l)|l∈L}。s_i則與i一一對(duì)應(yīng),從Z_p中選取的c個(gè)元素。為防止云服務(wù)器的被攻擊,每一次挑戰(zhàn)信息中的集合L和s_i都是隨機(jī)選擇,保證每次挑戰(zhàn)的信息都不同。挑戰(zhàn)信息生成完畢后,審計(jì)者將chal發(fā)送給云服務(wù)器,并等待其回復(fù)。
2.4 證明生成階段
在收到審計(jì)者發(fā)來(lái)的挑戰(zhàn)信息后,云服務(wù)器需要計(jì)算對(duì)應(yīng)的數(shù)據(jù)擁有證明,以證明自己所保存的該用戶數(shù)據(jù)完整性。為此,云服務(wù)器首先生成可驗(yàn)證標(biāo)簽證明
Θ=∏_(i∈I,l∈L)?θ_l^(s_i )? ,? (2)
基于可驗(yàn)證數(shù)據(jù)標(biāo)簽的同態(tài)性,多個(gè)數(shù)據(jù)塊的標(biāo)簽可被聚合為一個(gè),在此用Θ表示。然后,云服務(wù)器計(jì)算數(shù)據(jù)證明
M=∑_(i∈I)?〖s_i?m_i 〗 , (3)
計(jì)算完成后,云服務(wù)器將數(shù)據(jù)擁有證明{Θ,M}發(fā)送給第三方審計(jì)者。
2.5 數(shù)據(jù)驗(yàn)證階段
收到數(shù)據(jù)擁有證明后,審計(jì)者使用如下表達(dá)式對(duì)其進(jìn)行驗(yàn)證
Θ=e(∏_(i∈I)?〖t^(s_i )?u^M,β〗) ,??? (4)
若審計(jì)者驗(yàn)證成功,則說(shuō)明云服務(wù)器完整保存了用戶數(shù)據(jù),否則數(shù)據(jù)的完整性受到了破壞,需要用戶立即采取相應(yīng)措施。
2.6 數(shù)據(jù)批量審計(jì)
在實(shí)際應(yīng)用中,如果審計(jì)者能一次性批量審計(jì)多個(gè)用戶數(shù)據(jù),將極大提高審計(jì)者的工作效率,最大程度確保每個(gè)用戶數(shù)據(jù)都按時(shí)定期進(jìn)行完整性檢驗(yàn)。
假設(shè)有γ個(gè)用戶數(shù)據(jù)需要進(jìn)行審計(jì),且將用戶集合記為U={1,2,…γ},其中的某個(gè)用戶用U_ω表示,ω∈U。用戶U_ω的私鑰用α_ω∈Z_p表示,公鑰用β_ω=g^(α_ω )表示。用戶仍然隨機(jī)選擇u_ω∈G以及隨機(jī)簽名密鑰對(duì)(sk_ω,pk_ω)系統(tǒng)的全局參數(shù)與單用戶數(shù)據(jù)審計(jì)相同,有雙線性映射e:G×G→G_T以及H和h2個(gè)哈希函數(shù),其中H為〖{0,1}〗^*→G上的映射,h為〖{0,1}〗^*→Z_p上的映射。云服務(wù)器的私鑰為從Z_p中隨機(jī)選取的元素y,公鑰為Y=g^y,第三方審計(jì)者的私鑰為從Z_p中隨機(jī)選取的元素z,公鑰為Z=g^z。接下來(lái)的步驟與單用戶數(shù)據(jù)審計(jì)相似。
1)數(shù)據(jù)存儲(chǔ)
設(shè)用戶U_ω需要上傳的文件為F_ω,需要將其切分為同等大小的n個(gè)數(shù)據(jù)塊,表示為F_ω={m_(ω,1),m_(ω,2),…,m_(ω,n)},文件的標(biāo)識(shí)符為F_(ω,ID)。切分完成后,用戶首先計(jì)算t_ω=h(e〖(Y,Z)〗^(α^ω )),然后為每個(gè)數(shù)據(jù)塊生成簽名
σ_(ω,i)=h(t_ω)?u_ω^(m_i ),1≤i≤n ,???? (5)
簽名計(jì)算后,用戶接著對(duì)文件進(jìn)行置亂,打亂數(shù)據(jù)塊順序,用戶計(jì)算k_(ω,i)=τ_(t_ω ) (i),1≤i≤n,然后按照k_(ω,i)來(lái)對(duì)數(shù)據(jù)塊進(jìn)行重新排序,記為F_ω^'={…,m_(k_(ω,i) ),…}1≤i≤n。然后用戶基于F_(ω,ID)為文件生成標(biāo)簽T_ω=F_(ω,ID) ‖sigm_(sk_ω ) (F_(ω,ID))┤,將對(duì)數(shù)據(jù)塊的簽名集合記為θ_ω={θ_(ω,i) }_(1≤i≤n)。再將{F_ω^',θ_ω,T_ω}上傳至云服務(wù)器進(jìn)行保存,刪除本地的數(shù)據(jù)文件,完成數(shù)據(jù)存儲(chǔ)操作。
云服務(wù)器收到用戶U_ω發(fā)來(lái)的數(shù)據(jù)后,再基于用戶的數(shù)據(jù)塊簽名為其計(jì)算出可驗(yàn)證標(biāo)簽θ_(ω,i)=e(θ_(ω,i),β_ω),其合集記為θ_ω={θ_(ω,i)}U_(1≤i≤n)。然后云服務(wù)器存儲(chǔ){F_ω^',θ_ω,T_ω}。
2)發(fā)起挑戰(zhàn)
對(duì)于U_ω∈U,審計(jì)者生成挑戰(zhàn)信息chal_ω={F_(ω,ID),i,s_i 〖,l}〗_(i∈I_ω,l∈L)。挑戰(zhàn)信息內(nèi)各參數(shù)的意義與單用戶審計(jì)相同。為便于計(jì)算,假設(shè)審計(jì)者為所有用戶選取的數(shù)據(jù)標(biāo)簽索引集合L均為同一個(gè),使用不同為隨機(jī)函數(shù)種子生成對(duì)應(yīng)用戶的數(shù)據(jù)塊索引集合I_ω,S_i仍為隨機(jī)選取的Z_p中的元素。
3)生成數(shù)據(jù)證明
接收到來(lái)自審計(jì)者挑戰(zhàn)信息后,云服務(wù)器需要為每個(gè)用戶分別生成可驗(yàn)證標(biāo)簽證明Γ_?=∏_(ω∈U) Γ_ω和數(shù)據(jù)證明M_ω,然后將標(biāo)簽證明聚合到一起,聚合公式為:Γ_?=∏_(ω∈U) Γ_ω。聚合完成后,云服務(wù)器將{Γ_?,M_? |ω∈U|}發(fā)送給審計(jì)者。
4)數(shù)據(jù)驗(yàn)證
對(duì)于聚合證明,審計(jì)者通過(guò)如下表達(dá)式進(jìn)行數(shù)據(jù)驗(yàn)證
Γ_?=∏_(ω∈U)?e(∏_(i∈I_ω)?h(t_ω )^(S_i )·u^(M_ω ),β), (6)
若上述等式成立,表示所有受到挑戰(zhàn)的文件數(shù)據(jù)都完整無(wú)損,否則這些文件中有一些受到了損壞或篡改。
3 方案安全性分析
對(duì)用戶而言,其上傳的數(shù)據(jù)需要能夠抵抗惡意攻擊者的偽造攻擊,同時(shí)云服務(wù)器無(wú)法使用偽造的數(shù)據(jù)擁有證明通過(guò)審計(jì)。具體安全性分析如下:
1)惡意攻擊者無(wú)法對(duì)用戶上傳到云服務(wù)器的數(shù)據(jù)進(jìn)行偽造攻擊。
在用戶上傳數(shù)據(jù)過(guò)程中,可能會(huì)遭遇惡意攻擊者的數(shù)據(jù)偽造攻擊。攻擊者會(huì)截獲用戶發(fā)送的文件并將其替換為自己的數(shù)據(jù),然后使用自己生成的參數(shù)計(jì)算出其他信息后再將其發(fā)送給云服務(wù)器。但在用戶發(fā)送給云服務(wù)器的數(shù)據(jù){F',σ,T}中包含了用戶生成的簽名σ_i=h(t)·u^(m_i ),其中t由用戶的私鑰計(jì)算而成,即攻擊者無(wú)法在有限時(shí)間內(nèi)推測(cè)出h(t)的值,也就無(wú)法偽造出正確的用戶簽名。
2)云服務(wù)器無(wú)法使用假冒的數(shù)據(jù)擁有證明通過(guò)審計(jì)。
當(dāng)云服務(wù)器中存儲(chǔ)的用戶數(shù)據(jù)因某些原因受到損壞時(shí),云服務(wù)器可能會(huì)試圖偽造數(shù)據(jù)擁有證明應(yīng)對(duì)審計(jì)者的審計(jì)挑戰(zhàn)。但審計(jì)者每次發(fā)起審計(jì)時(shí)都會(huì)選取隨機(jī)生成的數(shù)據(jù)作為挑戰(zhàn)值,且每次受到挑戰(zhàn)的數(shù)據(jù)塊都不同,云服務(wù)器需要根據(jù)審計(jì)者發(fā)送的信息計(jì)算數(shù)據(jù)擁有證明。用戶對(duì)文件內(nèi)的數(shù)據(jù)塊排列順序進(jìn)行了置亂。如果云服務(wù)器想事先計(jì)算出所有可能受到挑戰(zhàn)的數(shù)據(jù)塊組合對(duì)應(yīng)的數(shù)據(jù)擁有證明,云服務(wù)器會(huì)消耗更多存儲(chǔ)空間保存數(shù)據(jù)擁有證明。本方案假設(shè)云服務(wù)器中存儲(chǔ)了n個(gè)數(shù)據(jù)塊-可驗(yàn)證標(biāo)簽對(duì),設(shè)挑戰(zhàn)信息為{F_ID,i,s_i 〖,l.}〗_(i∈I,l∈L),有c個(gè)數(shù)據(jù)塊將被挑戰(zhàn),其中1≤c≤n,即存在C_n^c個(gè)有可能數(shù)據(jù)塊的排列組合。由于c∈{1,2,…,n},那么所有可能受到挑戰(zhàn)的數(shù)據(jù)塊集個(gè)數(shù)為C_n^1+C_n^2+…+C_n^n=2^n-1。如果云服務(wù)器要實(shí)現(xiàn)計(jì)算出數(shù)據(jù)擁有證明然后再刪除數(shù)據(jù)就需要存儲(chǔ)2^n-1個(gè)聚合數(shù)據(jù)證明和標(biāo)簽證明。當(dāng)n≥2時(shí)2^n-1>n,在本文的方案中數(shù)據(jù)塊和數(shù)據(jù)標(biāo)簽的順序并不是按照存儲(chǔ)順序一一對(duì)應(yīng),云服務(wù)器如果進(jìn)行計(jì)算出所有可能的數(shù)據(jù)擁有證明,所需的存儲(chǔ)量將遠(yuǎn)大于2^n-1。且所有可能的數(shù)據(jù)擁有證明數(shù)量會(huì)隨著原數(shù)據(jù)的增加而呈現(xiàn)指數(shù)級(jí)增加,因此,這種行為對(duì)于云服務(wù)器是不可取的。即使云服務(wù)器提前計(jì)算出了所有可能數(shù)據(jù)擁有證明,用戶對(duì)文件中數(shù)據(jù)塊的亂序操作也會(huì)使有c個(gè)數(shù)據(jù)塊受到挑戰(zhàn)時(shí),正確數(shù)據(jù)證明和標(biāo)簽證明對(duì)應(yīng)方式只有一種,即云服務(wù)器只有1?(C_n^(C^(C_( n)^C ) ) )的概率通過(guò)這次審計(jì),在數(shù)據(jù)數(shù)量足夠大時(shí),這幾乎是不可能的。
4 方案性能分析
對(duì)所提方案的性能進(jìn)行實(shí)驗(yàn),與現(xiàn)有審計(jì)方案進(jìn)行對(duì)比分析。首先選擇了提出DHT這一數(shù)據(jù)結(jié)構(gòu)來(lái)輔助審計(jì)的Tian等人[16]提出的DHT-PA方案,接著對(duì)比經(jīng)典的Wang等人[17-18]提出的W-PoR方案。性能指標(biāo)主要包括:所要評(píng)估的環(huán)節(jié)包括用戶生成驗(yàn)證標(biāo)簽、云服務(wù)器生成數(shù)據(jù)擁有證明以及第三方審計(jì)者進(jìn)行數(shù)據(jù)驗(yàn)證的計(jì)算開(kāi)銷。所有的實(shí)驗(yàn)使用配備了Windows7操作系統(tǒng),2.4GHz Intel Core i7-4500U CPU,以及4GBRAM的計(jì)算機(jī)進(jìn)行,實(shí)驗(yàn)代碼使用C++語(yǔ)言編寫(xiě),密碼學(xué)算法則是基于0.5.14版本的配對(duì)基礎(chǔ)密碼(PBC)庫(kù),使用A類配對(duì)參數(shù)模擬運(yùn)行,其中循環(huán)群的階長(zhǎng)度為160 bit。
表2列出了方案中使用的一些基礎(chǔ)運(yùn)算操作,表3總結(jié)了在方案不同階段所需的計(jì)算量,并與其他審計(jì)方案進(jìn)行對(duì)比,表中:n代表數(shù)據(jù)塊的總量;c代表受到審計(jì)挑戰(zhàn)的數(shù)據(jù)塊個(gè)數(shù)。
由于將計(jì)算可驗(yàn)證標(biāo)簽的任務(wù)交由云服務(wù)器來(lái)完成,且云服務(wù)器計(jì)算可驗(yàn)證數(shù)據(jù)標(biāo)簽采用了不同計(jì)算方式,使整個(gè)計(jì)算開(kāi)銷得到顯著降低。雖然用戶部分計(jì)算也外包給了云服務(wù)器,但數(shù)據(jù)簽名的計(jì)算中加入了由用戶私鑰計(jì)算出的參數(shù),并且利用雙線性映射性質(zhì),第三方審計(jì)者也可以計(jì)算出該參數(shù),該參數(shù)被看做是用戶對(duì)于審計(jì)者的委托授權(quán),只有得到授權(quán)的審計(jì)者才能正確審計(jì)用戶的數(shù)據(jù),用戶不擔(dān)心受到偽造數(shù)據(jù)攻擊。云服務(wù)器雖然承擔(dān)了生成可驗(yàn)證標(biāo)簽名的計(jì)算任務(wù),但生成過(guò)程只需要在用戶最初上傳數(shù)據(jù)時(shí)進(jìn)行一次即可,之后需要生成數(shù)據(jù)擁有證明時(shí)可直接使用之前生成的可驗(yàn)證標(biāo)簽,這部分開(kāi)銷對(duì)于云服務(wù)器而言是恒定的。相同地,用戶在生成數(shù)據(jù)標(biāo)簽后對(duì)文件中數(shù)據(jù)塊進(jìn)行置亂操作需要使用偽隨機(jī)函數(shù),該操作只需要在數(shù)據(jù)上傳階段進(jìn)行,且偽隨機(jī)函數(shù)的計(jì)算消耗與群上的哈希運(yùn)算相近,帶來(lái)的計(jì)算開(kāi)銷也是用戶可以承受的。在發(fā)出審計(jì)挑戰(zhàn)階段,生成可驗(yàn)證標(biāo)簽索引集合后,審計(jì)者還需要使用偽隨機(jī)函數(shù)生成對(duì)應(yīng)數(shù)據(jù)塊索引集,這會(huì)消耗一部分計(jì)算資源,但保證安全性。由于偽隨機(jī)函數(shù)種子在計(jì)算過(guò)程中用到了第三方審計(jì)者私鑰,能防止審計(jì)者和云服務(wù)器共謀,使用之前數(shù)據(jù)擁有證明通過(guò)審計(jì)。
本方案與其他方案對(duì)比了用戶生成數(shù)據(jù)標(biāo)簽所消耗的時(shí)間及云服務(wù)器生成數(shù)據(jù)擁有證明時(shí)間,如圖1?2所示。在W-PoR方案中,驗(yàn)證標(biāo)簽計(jì)算和擁有證明生成所需時(shí)間較長(zhǎng),且隨數(shù)據(jù)塊數(shù)量增長(zhǎng)增長(zhǎng)較快,而DHT-PA方案則與本方案耗時(shí)相近。在數(shù)據(jù)上傳階段,W-PoR方案中采取比本方案更耗時(shí)的指數(shù)運(yùn)算來(lái)計(jì)算可驗(yàn)證標(biāo)簽。本方案中標(biāo)簽計(jì)算方式雖然與DHT-PA方案相同,但提出的方案在標(biāo)簽計(jì)算中加入了由用戶私鑰計(jì)算出的參數(shù),這可以防止數(shù)據(jù)上傳過(guò)程中惡意攻擊者的數(shù)據(jù)偽造攻擊, DHT-PA方案無(wú)法抵抗這種攻擊。在擁有證明生成階段,由于標(biāo)簽的計(jì)算方式不同,云服務(wù)器所進(jìn)行的標(biāo)簽聚合操作也存在類似趨勢(shì)的時(shí)間消耗。
在圖3中各個(gè)方案在數(shù)據(jù)驗(yàn)證階段所需的時(shí)間消耗進(jìn)行了比較,本方案中數(shù)據(jù)驗(yàn)證所需時(shí)間花費(fèi)短,且隨著數(shù)據(jù)增多也能基本保持穩(wěn)定。這對(duì)第三方審計(jì)者非常重要,可進(jìn)一步支持審計(jì)者進(jìn)行批量審計(jì),為更多用戶提供更好審計(jì)服務(wù)。
5 結(jié)束語(yǔ)
筆者提出一種旨在加強(qiáng)用戶隱私保護(hù)和降低用戶計(jì)算消耗的云數(shù)據(jù)審計(jì)方案。方案主要目的是在實(shí)現(xiàn)公開(kāi)審計(jì)方案基本功能前提下,進(jìn)一步加強(qiáng)對(duì)于用戶原數(shù)據(jù)的隱私保護(hù),減少審計(jì)方案各階段計(jì)算開(kāi)銷。在與其他方案進(jìn)行對(duì)比時(shí),一些方案通過(guò)在用戶文件數(shù)據(jù)塊中隨機(jī)插入混淆數(shù)據(jù)塊以保護(hù)用戶隱私,這會(huì)增加用戶通信開(kāi)銷和云服務(wù)器存儲(chǔ)開(kāi)銷。研究提出的方案則以圖像加密中置亂加密為啟發(fā)點(diǎn),使用偽隨機(jī)函數(shù)對(duì)文件內(nèi)數(shù)據(jù)塊的順序進(jìn)行置亂,同時(shí)不增加額外開(kāi)銷。此外,偽隨機(jī)函數(shù)種子使用雙線性映射結(jié)合用戶的私鑰計(jì)算,保證只有用戶和第三方審計(jì)者才能計(jì)算出數(shù)據(jù)塊正確順序。最后,通過(guò)實(shí)驗(yàn)對(duì)比,本方案有效節(jié)省審計(jì)流程中用戶和服務(wù)器、審計(jì)者三方的計(jì)算資源,提升了整個(gè)流程效率。
參考文獻(xiàn)
[1]? Armbrust M, Fox A, Griffith R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4): 50-58.
[2]? Butoi A, Tomai N. Secret sharing scheme for data confidentiality preserving in a public-private hybrid cloud storage approach[C]//2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing. December 8-11, 2014. London, UK: IEEE, 2015: 992-997.
[3]? Naseer Qureshi K, Bashir F, Iqbal S. Cloud computing model for vehicular ad hoc networks[C]//2018 IEEE 7th International Conference on Cloud Networking (CloudNet). October 22-24, 2018. Tokyo, Japan: IEEE, 2018: 1-3.
[4]? Cao S, Zhang G X, Liu P F, et al. Cloud-assisted secure eHealth systems for tamper-proofing EHR via blockchain[J]. Information Sciences, 2019, 485: 427-440.
[5]? Diao Z, Wang Q H, Su N Z, et al. Study on data security policy based on cloud storage[C]//2017 IEEE 3rd International Conference on Big Data Security on Cloud (Big Data Security), IEEE International Conference on High Performance and Smart Computing (Hpsc), and Ieee International Conference on Intelligent Data and Security (IDS), May 26-28, 2017, Beijing, China, IEEE, 2017: 145-149.
[6]? Markandey A, Dhamdhere P, Gajmal Y. Data access security in cloud computing: a review[C]//2018 International Conference on Computing, Power and Communication Technologies (GUCON). September 28-29, 2018, Greater Noida, India: IEEE, 2019: 633-636.
[7]? Kumar R, Goyal R. On cloud security requirements, threats, vulnerabilities and countermeasures: a survey[J]. Computer Science Review, 2019, 33: 1-48.
[8]? 王靖, 傅劍峰. 關(guān)于政務(wù)私有云日志審計(jì)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 長(zhǎng)江信息通信, 2021, 34(4): 185-187.
Wang J, Fu J F. Design and implementation of government private cloud log audit system[J]. Changjiang Information & Communications, 2021, 34(4): 185-187.(in Chinese)
[9]? 饒水林. 云計(jì)算技術(shù)的審計(jì)私有云模式建設(shè)與優(yōu)化探討[J]. 中國(guó)內(nèi)部審計(jì), 2017(10): 92-95.
Rao S L. Discussion on the construction and optimization of audit private cloud mode of cloud computing technology[J]. Internal Auditing in China, 2017(10): 92-95.(in Chinese)
[10]? Juels A, Kaliski B S. Pors: proofs of retrievability for large files[C]//Proceedings of the 14th ACM conference on Computer and Communications Security, 2 November 2007, Alexandria, Virginia, USA. New York: ACM, 2007: 584-597.
[11]? Wang Q, Wang C, Li J, et al. Enabling public verifiability and data dynamics for storage security in cloud computing[C]//European Symposium on Research in Computer Security. Berlin, Heidelberg: Springer, 2009: 355-370.
[12]? Wang C, Chow S S M, Wang Q, et al. Privacy-preserving public auditing for secure cloud storage[J]. IEEE Transactions on Computers, 2013, 62(2): 362-375.
[13]? Ateniese G, Burns R, Curtmola R, et al. Provable data possession at untrusted stores[C]//Proceedings of the 14th ACM conference on Computer and Communications Security, 2 November 2007, Alexandria, Virginia, USA. New York: ACM, 2007: 598-609.
[14]? Shacham H, Waters B. Compact proofs of retrievability[C]//International Conference on the Theory and Application of Cryptology and Information Security. Berlin, Heidelberg: Springer, 2008: 90-107.
[15]? Curtmola R, Khan O, Burns R, et al. MR-PDP: multiple-replica provable data possession[C]//2008 the 28th International Conference on Distributed Computing Systems, June 17-20, 2008, Beijing, China. IEEE, 2008: 411-420.
[16]? Tian H, Nan F L, Chang C C, et al. Privacy-preserving public auditing for secure data storage in fog-to-cloud computing[J]. Journal of Network and Computer Applications, 2019, 127: 59-69.
[17]? Wang H Q. Proxy provable data possession in public clouds[J]. IEEE Transactions on Services Computing, 2013, 6(4): 551-559.
[18]? Wang C, Wang Q, Ren K, et al. Ensuring data storage security in cloud computing[C]//2009 17th International Workshop on Quality of Service, July 13-15, 2009, Charleston, SC. IEEE, 2009: 1-9.
(編輯? 侯湘)