本發(fā)明涉及云數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種基于非對稱密碼算法的數(shù)據(jù)存儲和訪問控制方法。
背景技術(shù):
目前,在云存儲環(huán)境中,出于經(jīng)濟以及便利的考慮,用戶將自己的數(shù)據(jù)外包到云服務(wù)器中,為了保護用戶數(shù)據(jù)的機密性和隱私性,訪問控制是不可缺少的保護手段。然而由于用戶并不能夠完全的信任云服務(wù)器提供商,因此傳統(tǒng)的訪問控制手段并不能夠很好的應(yīng)用到云存儲環(huán)境中。為了解決這一問題,基于屬性的加密方案(ABE)被引入到云存儲中,ABE使得數(shù)據(jù)擁有者能夠直接對自己的數(shù)據(jù)進行訪問控制,是一種有效的用戶側(cè)訪問控制手段。其中,策略與密文相關(guān)的基于屬性的加密方案(CP-ABE)被認(rèn)為是最適合在云存儲中實現(xiàn)訪問控制的手段之一。
然而由于缺乏相應(yīng)的可兼容的云端訪問控制策略,CP-ABE還是很難被直接部署到實際的公有云環(huán)境中。在目前的云端訪問控制方案中,云服務(wù)器總是被假設(shè)為完全可信的,因此這些方案很難做到與CP-ABE方案相互兼容。由于缺乏相應(yīng)的云端訪問控制,在基于CP-ABE的訪問控制方案中,云服務(wù)器始終暴露在多種安全威脅當(dāng)中,其中最重要的安全威脅之一就是拒絕服務(wù)攻擊(DoS/DDoS),惡意的用戶可以無限制的下載云服務(wù)器上其他用戶共享的文件,從而消耗云服務(wù)器上的各種資源,使得云服務(wù)器不能夠正常的工作;除此之外,由于缺乏云端訪問控制,惡意的用戶通過下載大量的文件,可以進行有關(guān)密文分析的攻擊,威脅用戶數(shù)據(jù)的機密性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于非對稱密碼算法的數(shù)據(jù)存儲和訪問控制方法,利用該方法,云服務(wù)器可以有效的對特定用戶的訪問權(quán)限進行判斷,避免惡意用戶對云存儲文件的非法下載,有效保證了云服務(wù)器自身及所存儲數(shù)據(jù)的安全性,同時非對稱密碼體制內(nèi)嵌的簽名功能能夠有效支持?jǐn)?shù)據(jù)擁有者審計云服務(wù)器的資源消耗,以保障云存儲系統(tǒng)的正常運行。
一種基于非對稱密碼算法的數(shù)據(jù)存儲和訪問控制方法,所述方法包括:
步驟1、數(shù)據(jù)擁有者根據(jù)所要上傳文件M的訪問權(quán)限需求生成進行屬性加密所需的屬性集合{A1,A2,...,An}和訪問策略A;
步驟2、所述數(shù)據(jù)擁有者生成隨機會話密鑰K以及一對公私鑰對(PK,SK),采用對稱加密算法對文件M和私鑰SK進行加密處理,根據(jù)所述訪問策略A采用屬性加密方法對隨機會話密鑰K進行加密處理,并將所得的密文記為:
CT={EK(M),EA(K),EK(SK),PK};
步驟3、所述數(shù)據(jù)擁有者上傳密文CT到云服務(wù)器進行存儲,并在本地存儲公鑰PK用作資源審計操作;
步驟4、所述云服務(wù)器生成N個隨機字符串{S1,S2,...,SN},采用公鑰加密算法利用公鑰PK加密該N個隨機字符串得到{Si,EPK(Si)}(i∈[1,N]),并更新密文為:
步驟5、當(dāng)其他用戶需要獲取所述云服務(wù)器存儲的文件M時,所述云服務(wù)器和該提出請求的用戶完成挑戰(zhàn)-應(yīng)答過程,在所述用戶獲取文件M之前驗證該用戶對文件的訪問權(quán)限;
步驟6、所述云服務(wù)器將所述用戶所請求文件M對應(yīng)密文CT中的數(shù)據(jù)密文EK(M)發(fā)送給所述用戶;
步驟7、所述用戶采用隨機會話密鑰K解密EK(M),得到所需要的文件M;
步驟8、所述數(shù)據(jù)擁有者對所述云服務(wù)器提供的資源消耗記錄進行審計,以驗證所述云服務(wù)器為該數(shù)據(jù)擁有者消耗的資源量。
由上述本發(fā)明提供的技術(shù)方案可以看出,利用上述方法可以有效的對特定用戶的訪問權(quán)限進行判斷,避免惡意用戶對云存儲文件的非法下載,有效保證了云服務(wù)器自身及所存儲數(shù)據(jù)的安全性,同時非對稱密碼體制內(nèi)嵌的簽名功能能夠有效支持?jǐn)?shù)據(jù)擁有者審計云服務(wù)器的資源消耗,以保障云存儲系統(tǒng)的正常運行。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖1為本發(fā)明實施例所提供的基于非對稱密碼算法的數(shù)據(jù)存儲和訪問控制方法流程示意圖;
圖2為本發(fā)明實施例所述訪問結(jié)構(gòu)的示意圖;
圖3為本發(fā)明實施例所提供的云服務(wù)器執(zhí)行更新過程的流程示意圖。
具體實施方式
下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。
下面將結(jié)合附圖對本發(fā)明實施例作進一步地詳細(xì)描述,如圖1所示為本發(fā)明實施例所提供的基于非對稱密碼算法的數(shù)據(jù)存儲和訪問控制方法流程示意圖,所述方法包括:
步驟1、數(shù)據(jù)擁有者根據(jù)所要上傳文件M的訪問權(quán)限需求生成進行屬性加密所需的屬性集合{A1,A2,...,An}和訪問策略A;
在該步驟中,訪問策略A為單調(diào)訪問結(jié)構(gòu),可以表示為樹形結(jié)構(gòu)。
舉例來說,如圖2所示為本發(fā)明實施例所述訪問結(jié)構(gòu)的示意圖,在圖2中:訪問策略A中對應(yīng)的屬性集合為{疾?。焊忻?,醫(yī)院:A,年齡:兒童,年齡:老人}。
步驟2、所述數(shù)據(jù)擁有者生成隨機會話密鑰K以及一對公私鑰對(PK,SK),采用對稱加密算法對文件M和私鑰SK進行加密處理,根據(jù)所述訪問策略A采用屬性加密方法對隨機會話密鑰K進行加密處理,并將所得的密文記為:
CT={EK(M),EA(K),EK(SK),PK};
在該步驟中,所述數(shù)據(jù)擁有者選取一種非對稱密碼學(xué)算法,如RSA,并生成對應(yīng)的公私鑰對(PK=(e,n),SK=d),同時生成隨機會話密鑰K,并采用對稱加密算法例如利用AES等對文件M和私鑰SK進行加密處理,得到相應(yīng)的密文EK(M)和EK(SK);
然后根據(jù)訪問策略A采用屬性加密方法對K進行加密處理,得到對應(yīng)的密鑰密文EA(K);
最終將處理后的密文記為:
CT={EK(M),EA(K),EK(SK),PK}。
步驟3、所述數(shù)據(jù)擁有者上傳密文CT到云服務(wù)器進行存儲,并在本地存儲公鑰PK用作資源審計操作;
步驟4、所述云服務(wù)器生成N個隨機字符串{S1,S2,...,SN},采用公鑰加密算法利用公鑰PK加密該N個隨機字符串得到{Si,EPK(Si)}(i∈[1,N]),并更新密文為:
步驟5、當(dāng)其他用戶需要獲取所述云服務(wù)器存儲的文件M時,所述云服務(wù)器和該提出請求的用戶完成挑戰(zhàn)-應(yīng)答過程,在所述用戶獲取文件M之前驗證該用戶對文件的訪問權(quán)限;
在該步驟中,云服務(wù)器和該提出請求的用戶完成挑戰(zhàn)-應(yīng)答過程的步驟具體包括:
所述云服務(wù)器從密文CT中隨機選擇一組未使用的{Si,EPK(Si)},并將EA(K),EK(SK)和EPK(Si)作為挑戰(zhàn)發(fā)送給該提出請求的用戶;
所述用戶根據(jù)自身的屬性解密EA(K)得到K′,使用K′解密EK(SK)得到私鑰SK′,并利用公鑰加密算法解密EPK(Si)得到S′i;
所述用戶利用所得到的私鑰SK′對S′i進行簽名得到Sign(SK′,Si′),并通過安全通道將(Si′,Sign(SK′,Si′))作為應(yīng)答發(fā)送給所述云服務(wù)器;
具體實現(xiàn)中,若用戶的屬性能夠滿足訪問策略A,如用戶的屬性為{疾病:感冒,年齡:兒童,醫(yī)院:A},則用戶能夠解密EA(K)得到會話密鑰K′;否則,用戶不能解密密文,如當(dāng)用戶的屬性為{疾?。焊忻?,年齡:兒童,醫(yī)院:B}時,用戶就不能得到會話密鑰K′。滿足訪問策略的用戶可以利用解密得到的會話密鑰K′解密EK(SK)得到私鑰SK′,并利用公鑰加密算法解密EPK(Si)得到S′i。然后用戶利用私鑰SK′對S′i進行簽名,簽名除了包含用戶解密得到的S′i以外,還應(yīng)該包含一些輔助信息,如文件的名稱FileName,訪問時間對應(yīng)的時間戳Timestamp等,最終簽名的結(jié)果可以表示為Sign(Si′)=Sign(SK,Si′,FileName,Timestamp),然后用戶通過安全通道將Si′及其簽名Sign(Si′)作為應(yīng)答發(fā)送給所述云服務(wù)器。需要說明的是,不滿足訪問結(jié)構(gòu)的惡意用戶也可以使用偽造的S′i和簽名作為應(yīng)答發(fā)送給云服務(wù)器,同時云服務(wù)器也可能會偽造這樣的簽名信息。
進一步的,所述云服務(wù)器比較所述用戶返回的(Si′,Sign(SK′,Si′))中的S′i與所選擇的{Si,EPK(Si)}中的Si,并利用公鑰PK驗證簽名,如果簽名驗證不通過,則該返回結(jié)果不能作為資源消耗的憑證,所述云服務(wù)器終止操作;
若比較結(jié)果相等,則判斷所述用戶的屬性滿足所請求文件的訪問策略,將{Si,EPK(Si)}標(biāo)記為已使用,并存儲對應(yīng)的(Si,Sign(SK,Si))作為資源消耗的憑證,進行后繼步驟6的操作;否則,判斷所述用戶的屬性不能滿足所請求文件的訪問策略,所述云服務(wù)器終止操作。
步驟6、所述云服務(wù)器將所述用戶所請求文件M對應(yīng)密文CT中的數(shù)據(jù)密文EK(M)發(fā)送給所述用戶;
步驟7、所述用戶采用隨機會話密鑰K解密EK(M),得到所需要的文件M;
步驟8、所述數(shù)據(jù)擁有者對所述云服務(wù)器提供的資源消耗記錄進行審計,以驗證所述云服務(wù)器為該數(shù)據(jù)擁有者消耗的資源量。
在該步驟8中,隨著時間的推移,云服務(wù)器會根據(jù)自己為數(shù)據(jù)擁有者消耗的資源向其收取一定的費用,當(dāng)數(shù)據(jù)擁有者對云服務(wù)器提供的特定時間段內(nèi)的資源消耗記錄保持懷疑時,數(shù)據(jù)擁有者可以要求審計云服務(wù)器這段時間內(nèi)的資源消耗記錄,該過程具體為:
所述數(shù)據(jù)擁有者向所述云服務(wù)器申請?zhí)囟〞r間段內(nèi)的資源消耗記錄;
所述云服務(wù)器向所述數(shù)據(jù)擁有者返回其申請時間段內(nèi)的資源消耗憑證{St1,Sign(SK,St1),St2,Sign(SK,St2),...,Stj,Sign(SK,Stj)};
所述數(shù)據(jù)擁有者利用所述步驟3中存儲的公鑰PK驗證所述云服務(wù)器返回的資源消耗憑證{St1,Sign(SK,St1),St2,Sign(SK,St2),...,Stj,Sign(SK,Stj)},以驗證所述云服務(wù)器在特定時間段內(nèi)的資源消耗量。
另外,隨著云服務(wù)器端所存儲的隨機字符串及其密文的消耗,云服務(wù)器需要對其進行更新操作,該更新操作為周期性執(zhí)行,或者當(dāng)均被使用過時,由所述云服務(wù)器執(zhí)行更新過程。
如圖3所示為本發(fā)明實施例所提供的云服務(wù)器執(zhí)行更新過程的流程示意圖,該過程具體為:
步驟31:所述云服務(wù)器產(chǎn)生新的N個隨機字符串{S′1,S′2,...,S′N};
步驟32:所述云服務(wù)器采用公鑰加密算法和密文中存儲的公鑰PK加密該N個隨機字符串得到{Si′,EPK(Si′)}(i∈[1,N]);
步驟33:所述云服務(wù)器使用新得到的{S′i,EPK(S′i)}(i∈[1,N])替換原有的{Si,EPK(Si)}(i∈[1,N]),完成更新過程。
綜上所述,本發(fā)明實施例所提供的方法具有如下優(yōu)點:
1)云服務(wù)器端安全性的增強:借助隨機字符串及其加密內(nèi)容{Si,EPK(Si)},云服務(wù)器只需要較小的通信開銷就可以對用戶的訪問權(quán)限進行預(yù)判,這就減少了惡意用戶申請下載云服務(wù)器端文件時云服務(wù)器側(cè)的開銷,使得云服務(wù)器能夠有效的抵御消耗通信資源的DoS/DDoS攻擊。
2)云服務(wù)器端存儲數(shù)據(jù)安全性的增強:由于云端訪問控制機制的存在,惡意用戶很難從云服務(wù)器端進行任意文件的下載,這就防止了惡意用戶針對密文分析的攻擊。
3)與現(xiàn)有用戶側(cè)訪問控制方案的高效兼容性:在傳統(tǒng)的CP-ABE訪問控制方案基礎(chǔ)上,該方法只需要數(shù)據(jù)擁有者額外產(chǎn)生一對公私鑰對,并將公鑰和加密的私鑰上傳到云服務(wù)器即可,這就使得該方法能夠高效的兼容現(xiàn)有的CP-ABE訪問控制方案。
4)數(shù)據(jù)擁有者對云端資源消耗的審計:借助于非對稱密碼體系內(nèi)嵌的簽名機制,數(shù)據(jù)擁有者能夠準(zhǔn)確地審計用戶返回的資源消耗憑證(Si,Sign(SK,Si)),這就保證了數(shù)據(jù)擁有者能夠準(zhǔn)確的對云端為其提供的資源進行審計,這種內(nèi)嵌的審計機制增強了云存儲系統(tǒng)的穩(wěn)定性。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準(zhǔn)。