云存儲(chǔ)中基于抵抗主動(dòng)攻擊的完整性驗(yàn)證方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于通信安全領(lǐng)域,特別設(shè)及一種數(shù)據(jù)完整性驗(yàn)證方法,可用于云存儲(chǔ)中 支持客戶端在失去數(shù)據(jù)所有權(quán)的前提下完成數(shù)據(jù)完整性的驗(yàn)證。
【背景技術(shù)】
[0002] 云存儲(chǔ)作為一種新型的存儲(chǔ)模型,具有遠(yuǎn)程存儲(chǔ)數(shù)據(jù)的能力,已經(jīng)得到了廣泛的 應(yīng)用。越來越多的公司,通過外包公司的數(shù)據(jù)到云端,W減小本地?cái)?shù)據(jù)存儲(chǔ)的壓力。隨著運(yùn) 些優(yōu)勢的出現(xiàn),云存儲(chǔ)的安全性也成為了人們所關(guān)注的焦點(diǎn)問題,尤其是在云存儲(chǔ)中,當(dāng)用 戶失去了對(duì)數(shù)據(jù)的所有權(quán)時(shí),攻擊者和不安全云服務(wù)商對(duì)用戶數(shù)據(jù)造成的數(shù)據(jù)損壞成為一 個(gè)主要的安全問題。因此,數(shù)據(jù)完整性驗(yàn)證成為了一個(gè)熱口話題。
[000;3]在由Rashmi M.Jogdand and R.H.Goudar撰寫的"Enabling public verifi曰bility 曰nd 曰v曰il曰bility for secure d曰t曰 storage in cloud computing"論 文中首次提出了哈希樹的概念,極大地提升了用戶驗(yàn)證數(shù)據(jù)完整性的性能,但該文卻沒有 考慮到不安全云所帶來的重放攻擊和本地用戶在失去數(shù)據(jù)所有權(quán)時(shí)所帶來的驗(yàn)證問題。
[0004] 針對(duì)上述安全問題Mehdi Sooldiak,Abdullah Gani,M址ammad Khurram Khan and Rajkumar Buyya在論艾'Dynamic remote data auditing for securing big data storage in cloud computing"中提出了一種在失去數(shù)據(jù)所有權(quán)情況下的遠(yuǎn)程數(shù)據(jù)完整性 驗(yàn)證的方法,并且此方法可W在云端動(dòng)態(tài)地更新用戶數(shù)據(jù),并利用DCT模型(Divide and Conquer化ble)減少了數(shù)據(jù)更新帶來的計(jì)算復(fù)雜度。但是該方法的缺陷在于,主動(dòng)攻擊者 惡意地修改云端存儲(chǔ)的用戶數(shù)據(jù)后,并截獲云服務(wù)商發(fā)送的完整性證明信息并加 W修改, 隨后發(fā)送修改過的證明信息給用戶,此證明信息可W欺騙用戶,通過用戶的驗(yàn)證,但實(shí)際上 用戶存放在云端的數(shù)據(jù)已經(jīng)被惡意篡改,面對(duì)運(yùn)樣的主動(dòng)攻擊,該方法卻無法抵抗。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)存在的無法抵抗主動(dòng)攻擊的安全問題,提出 一種抵抗主動(dòng)攻擊的數(shù)據(jù)完整性驗(yàn)證方法,W在完成數(shù)據(jù)完整性驗(yàn)證和動(dòng)態(tài)更新數(shù)據(jù)的過 程中避免對(duì)云端數(shù)據(jù)的惡意篡改,提高抵抗主動(dòng)攻擊的能力。
[0006] 本發(fā)明的技術(shù)思想是:通過密碼學(xué)哈希函數(shù),如MD5,SHA-1保護(hù)云服務(wù)提供商CSP 所生成的過于裸露的證明信息;利用哈希函數(shù)的單向性,使得主動(dòng)攻擊者在截獲證明消息 后,無法通過普通的計(jì)算來任意修改證明信息,從而無法通過后續(xù)用戶端的驗(yàn)證階段,制止 惡意攻擊者對(duì)用戶到欺騙。
[0007] 根據(jù)W上思路,本發(fā)明的實(shí)現(xiàn)方案包括如下:
[0008] (1)用戶初始化步驟:
[0009] 用戶將文件F分為η塊,生成分塊文件{/(嘴;li,通過{/〇')枯,生成分塊文件的主標(biāo) 簽巧紅和輔助標(biāo)簽
[0010] 用戶選擇密碼學(xué)哈希函數(shù)H,偽隨機(jī)函數(shù)f,偽隨機(jī)置換函數(shù)31,并本地保存兩個(gè)標(biāo) 簽巧};'=1,儀估;
[0011] (2)用戶通信與詢問步驟:
[001 ^ 他)用戶發(fā)送分塊文件{/(OKU給云服務(wù)提供商CSP,隨后本地刪除{/(/)忙1,W節(jié) 省用戶存儲(chǔ)空間;
[0013] (2b)用戶為偽隨機(jī)函數(shù)f選擇第一安全參數(shù)ki,為偽隨機(jī)置換31選擇第二安全參數(shù) k2,并選擇所要驗(yàn)證文件分塊數(shù)量C,生成詢問信息chal = k,ki,k2}發(fā)送給云服務(wù)提供商 CSP;
[0014] 其中C不少于分塊文件總數(shù)量η的10%,第一安全參數(shù)ki的長度不少于512比特,第 二的安全參數(shù)k2的長度不少于51化k特。
[0015] (3)抵抗主動(dòng)攻擊步驟:
[0016] (3a)云服務(wù)提供商CSP接收詢問信息后,通過用戶所需驗(yàn)證的C個(gè)分塊文件 {/(餅;=,,生成證明信息proof給用戶,其中:
[0017]
[0018] 其中,H( ·)表示哈希函數(shù),Sy( ·)表示代數(shù)簽名函數(shù),丫表示伽羅瓦域中的一個(gè) 元素,aj表示偽隨機(jī)函數(shù)生成的第j個(gè)系數(shù),f(ij)表示第個(gè)文件分塊,表示偽隨機(jī)置換 函數(shù)生成的第j個(gè)文件分塊的序號(hào),j表示用戶所需驗(yàn)證的C個(gè)分塊文件的序號(hào),1 < j < c,c表示用戶選擇驗(yàn)證文件分塊數(shù)量。
[0019] (3b)用戶通過哈希函數(shù)Η的單向性特性,對(duì)主動(dòng)攻擊者修改證明信息proof的行為 進(jìn)行抵抗,使攻擊者的攻擊結(jié)果失敗,保護(hù)證明信息proof無法任意修改;
[0020] (4)用戶驗(yàn)證步驟:
[0021] (4a)用戶在抵抗了主動(dòng)攻擊的行為后,利用本地保存C個(gè)主標(biāo)簽件/f%,和C個(gè)輔助 標(biāo)簽{與.}%1生成本地用戶的驗(yàn)證信息μ:
[0022]
[0023] 其中,馬表示第1^個(gè)主標(biāo)簽,表示第1^個(gè)輔助標(biāo)簽;
[0024] (4b)利用用戶的驗(yàn)證信息μ的哈希值Η(μ)對(duì)收到的證明信息proof再進(jìn)行驗(yàn)證:
[0025] 如果等式H(y)=proof成立,則用戶認(rèn)為保存在云服務(wù)提供商CSP的用戶數(shù)據(jù)完 整;
[00%]否則,用戶認(rèn)為數(shù)據(jù)被破壞。
[0027] 本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
[0028] 1.本發(fā)明中,用戶通過本地保存的主標(biāo)簽和輔助標(biāo)簽所生成的證明信息對(duì)云服務(wù) 提供商返回的證明信息進(jìn)行驗(yàn)證,可完成對(duì)遠(yuǎn)程數(shù)據(jù)的完整性驗(yàn)證任務(wù)。
[0029] 2.本發(fā)明中,由于用戶僅發(fā)送文件分塊,而不發(fā)送用戶自己生成的主標(biāo)簽與輔助 標(biāo)簽,從而減少了數(shù)據(jù)的通信量。
[0030] 3.本發(fā)明中,由于云服務(wù)提供商在發(fā)送證明信息時(shí),通過使用哈希函數(shù)保護(hù)證明 信息,利用哈希函數(shù)的單向性特性,保護(hù)了證明信息不被破壞,從而抵抗了主動(dòng)攻擊的行 為。
【附圖說明】
[0031] 圖1為本發(fā)明的實(shí)現(xiàn)流程圖。
[0032] 圖2為本發(fā)明中抵抗主動(dòng)攻擊的子流程圖。
【具體實(shí)施方式】
[0033] 下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。
[0034] 參照?qǐng)D1,本發(fā)明的實(shí)現(xiàn)步驟如下:
[0(X3日]步驟1,用戶初始化。
[0036] (la)對(duì)文件進(jìn)行分塊:
[0037] 當(dāng)用戶需要將本地文件F發(fā)送給云服務(wù)提供商CSP時(shí),用戶首先要進(jìn)行文件的分塊 操作,文件的分塊技術(shù)包括均勻分塊技術(shù),重疊分塊技術(shù),變長分塊技術(shù)等,本實(shí)例選擇均 勻分塊技術(shù),即用戶需將所要存儲(chǔ)的文件F均勻等分成η塊,設(shè)文件F長度為L,生成分塊文件 {/(0),"=,,每個(gè)分塊長度為^,當(dāng)最后一個(gè)分塊不能達(dá)到分塊長度^時(shí),在其后面補(bǔ)0,使 ^巧」 L巧- 其長度達(dá)到^; _η _
[0038] (化)用戶通過下式將分塊文件{/貸拉1生成分塊文件的主標(biāo)簽巧枯,和輔助標(biāo)簽 :
[0039] Ti=s 丫 (f(i)N (idfI lillkllVi))
[0040] Ci = S 丫(IDfIUI |Li| |Vi)
[0041] 其中,f(i)表示第i個(gè)分塊文件,i表示分塊文件f(i)在整體文件中的序號(hào),l<i< n,n表示分塊文件的塊數(shù),II符號(hào)表示參數(shù)的級(jí)聯(lián),I化表示文件的唯一身份信息,u表示分 塊文件f(i)在分治表DCT中序號(hào),其中分治表DCT表示一種順序存儲(chǔ)數(shù)據(jù)的模型,該模型是 由一般的順序存儲(chǔ)模型切割所得,并將切割所得到的存儲(chǔ)空間進(jìn)行標(biāo)號(hào)即可,Vi表示分塊 文件f(i)在分治表DCT中的版本號(hào),Sy( ·)表示代數(shù)簽名函數(shù),是一種具有代數(shù)性質(zhì)的哈希 函數(shù),其主要代數(shù)性質(zhì)滿足
丫表示伽羅瓦域中的一個(gè)元素;
[0042] (Ic)用戶選擇密碼學(xué)哈希函數(shù)H:
[0043] 在眾多哈希函數(shù)算法中,數(shù)字簽名算法細(xì)A-1,信息-摘要算法5即MD5,最為常用, 本實(shí)例用戶選擇信息-摘要算法5即MD5作為密碼學(xué)哈希函數(shù)H;
[0044] (Id)在眾多偽隨機(jī)函數(shù)中,基于隨機(jī)表查找的偽隨機(jī)函數(shù)和Monte Carlo偽隨機(jī) 函數(shù)最為普遍,本實(shí)例用戶選擇Mon t e Car 1 0偽隨機(jī)函數(shù)爲(wèi),其函數(shù)形式為: 爲(wèi):!(川.4 X觀皆心巧^祗皆,k讀示偽隨機(jī)函數(shù)Λ的安全參數(shù),X表示偽隨機(jī)變換函數(shù)爲(wèi) 的輸入長度,1表示偽