本發(fā)明涉及一種基于ABE的云存儲(chǔ)數(shù)據(jù)安全共享實(shí)現(xiàn)方法,屬于云存儲(chǔ)安全保密領(lǐng)域。
背景技術(shù):
云計(jì)算系統(tǒng)借助虛擬機(jī)化技術(shù)來實(shí)現(xiàn)資源的動(dòng)態(tài)分配、彈性部署,虛擬化技術(shù)通過對(duì)硬件資源的抽象封裝實(shí)現(xiàn)了系統(tǒng)級(jí)的隔離,為不同安全等級(jí)的應(yīng)用和服務(wù)提供了互不影響的運(yùn)行環(huán)境,也為系統(tǒng)安全監(jiān)控軟件部署提供了有利條件。云存儲(chǔ)是在云計(jì)算的基礎(chǔ)上實(shí)現(xiàn)的具有彈性伸縮能力的存儲(chǔ)服務(wù),當(dāng)用戶上傳自身明文數(shù)據(jù)到云存儲(chǔ)系統(tǒng)時(shí),明文數(shù)據(jù)可能會(huì)被云存儲(chǔ)服務(wù)商或者其他惡意用戶篡改或破壞;當(dāng)用戶上傳自身密文數(shù)據(jù)到云存儲(chǔ)系統(tǒng)時(shí),這種方式不利于數(shù)據(jù)的共享。
中國(guó)專利文獻(xiàn)CN103747279A公開了一種云存儲(chǔ)共享編碼視頻加密與訪問控制策略更新方法,該方法是在編碼視頻數(shù)據(jù)上載到云中之前,將編碼視頻數(shù)據(jù)分為關(guān)鍵數(shù)據(jù)和非關(guān)鍵數(shù)據(jù);對(duì)關(guān)鍵數(shù)據(jù)采用CP-ABE進(jìn)行加密,加密后密文關(guān)聯(lián)了訪問控制策略,規(guī)定了具有哪些屬性的用戶能夠訪問本視頻;當(dāng)更新訪問控制策略時(shí),只需要從云中取回關(guān)鍵數(shù)據(jù)包解密后用新的訪問控制策略重新加密;但是,該專利中數(shù)據(jù)訪問者提供個(gè)人屬性時(shí)是明文傳輸?shù)?,明文傳輸容易受到破壞?/p>
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于ABE的云存儲(chǔ)數(shù)據(jù)安全共享實(shí)現(xiàn)方法;
本發(fā)明解決了現(xiàn)有技術(shù)中密文數(shù)據(jù)的共享問題,能夠提供云存儲(chǔ)數(shù)據(jù)的細(xì)粒度訪問控制,用于多租戶的安全數(shù)據(jù)共享。
術(shù)語解釋:
ABE,Attribute-Based Encryption,基于屬性加密或?qū)傩曰用埽?/p>
PKG,Private-Key-Generator,私鑰生成器;
AC-CP,訪問策略;
Au,個(gè)人屬性;
PK,Public Key,公鑰;
SK,Secret Key,私鑰;
本發(fā)明的技術(shù)方案為:
一種基于ABE的云存儲(chǔ)數(shù)據(jù)安全共享實(shí)現(xiàn)方法,包括:
A、加密發(fā)送方上傳的數(shù)據(jù)
當(dāng)用戶上傳數(shù)據(jù)M至云存儲(chǔ)系統(tǒng)后,構(gòu)建對(duì)應(yīng)數(shù)據(jù)M的訪問策略AC-CP,調(diào)用Encrypt(PK,M,AC-CP):C,生成密文數(shù)據(jù)C;
B、用戶訪問數(shù)據(jù)
當(dāng)用戶訪問數(shù)據(jù)M時(shí),向PKG提供該用戶的屬性,用戶的屬性,例如,中國(guó)、山東、濟(jì)南等;由數(shù)據(jù)M的發(fā)送方發(fā)送數(shù)據(jù)M對(duì)應(yīng)的訪問策略AC-CP,PKG判斷用戶的屬性是否滿足訪問策略AC-CP,如果滿足,由PKG下發(fā)密文數(shù)據(jù)C的公鑰、私鑰,用戶讀取數(shù)據(jù)M的內(nèi)容,否則,用戶不能讀取數(shù)據(jù)M的內(nèi)容。
本專利采用屬性的簽名證書向PKG提供屬性的方式,這種方式有效地防止惡意用戶偽造證書。發(fā)送屬性證書以后由PKG負(fù)責(zé)驗(yàn)證,驗(yàn)證通過以后,下發(fā)云存儲(chǔ)數(shù)據(jù)的解密密鑰,從而實(shí)現(xiàn)發(fā)送方數(shù)據(jù)的細(xì)粒度訪問控制及共享,并且這種方法也能夠?qū)崿F(xiàn)加密與訪問控制的融合。
根據(jù)本發(fā)明優(yōu)選的,所述步驟A,包括:采用對(duì)稱加密算法對(duì)上傳至云存儲(chǔ)系統(tǒng)的數(shù)據(jù)M進(jìn)行加密。
加密密鑰由基于存儲(chǔ)加密系統(tǒng)保護(hù),當(dāng)用戶要訪問數(shù)據(jù)時(shí),通過基于存儲(chǔ)加密系統(tǒng)獲取對(duì)稱加密的密鑰,然后解密相關(guān)數(shù)據(jù),這個(gè)過程在此不詳述。
根據(jù)本發(fā)明優(yōu)選的,所述對(duì)稱加密算法為DES。
根據(jù)本發(fā)明優(yōu)選的,云存儲(chǔ)系統(tǒng)提供數(shù)據(jù)上傳接口,發(fā)送方借助該數(shù)據(jù)上傳接口完成數(shù)據(jù)的加密上傳。
根據(jù)本發(fā)明優(yōu)選的,所述數(shù)據(jù)上傳接口的型號(hào)為S3Rest API。
根據(jù)本發(fā)明優(yōu)選的,所述步驟B,包括:
訪問策略AC-CP為訪問結(jié)構(gòu)控制樹,PKG判斷用戶的屬性是否滿足該訪問結(jié)構(gòu)控制樹的訪問控制結(jié)構(gòu),即用戶的屬性參與訪問結(jié)構(gòu)控制樹,如果運(yùn)算結(jié)果為True,則滿足,由PKG下發(fā)與用戶訪問的數(shù)據(jù)M相關(guān)的公鑰PK、私鑰SK,用戶讀取數(shù)據(jù)M的內(nèi)容,如果運(yùn)算結(jié)果為Flase,則不滿足,用戶不能讀取數(shù)據(jù)M的內(nèi)容。
本發(fā)明的有益效果為:
1、本發(fā)明采用屬性的簽名證書來實(shí)現(xiàn)用戶屬性的傳遞,有效地防止用戶屬性為惡意篡改,導(dǎo)致用戶無法正常使用云存儲(chǔ)服務(wù);并且,這種方式可以有效防止非法用戶偽造證書,從而防止惡意用戶非法訪問云存儲(chǔ)服務(wù)。
2、本發(fā)明可有效防止用戶(含系統(tǒng)管理員)對(duì)云存儲(chǔ)數(shù)據(jù)的未授權(quán)訪問,實(shí)現(xiàn)云存儲(chǔ)數(shù)據(jù)的細(xì)粒度訪問控制;除此之外,還實(shí)現(xiàn)了加密與訪問控制的統(tǒng)一,用戶在構(gòu)建相關(guān)的安全系統(tǒng)時(shí),不需要對(duì)加密和訪問控制構(gòu)建兩套系統(tǒng),可以在一套系統(tǒng)內(nèi)既實(shí)現(xiàn)數(shù)據(jù)加密,也實(shí)現(xiàn)數(shù)據(jù)的訪問控制。
附圖說明
圖1為本發(fā)明基于ABE的云存儲(chǔ)數(shù)據(jù)安全共享實(shí)現(xiàn)方法流程框圖。
具體實(shí)施方式
下面結(jié)合說明書附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步限定,但不限于此。
實(shí)施例
一種基于ABE的云存儲(chǔ)數(shù)據(jù)安全共享實(shí)現(xiàn)方法,如圖1所示,包括:
A、加密發(fā)送方上傳的數(shù)據(jù)
當(dāng)用戶上傳數(shù)據(jù)M至云存儲(chǔ)系統(tǒng)后,構(gòu)建對(duì)應(yīng)數(shù)據(jù)M的訪問策略AC-CP,調(diào)用Encrypt(PK,M,AC-CP):C,生成密文數(shù)據(jù)C;
B、用戶訪問數(shù)據(jù)
當(dāng)用戶訪問數(shù)據(jù)M時(shí),向PKG提供該用戶的屬性Au,用戶的屬性Au包括中國(guó)、山東、濟(jì)南、個(gè)人收入等,由數(shù)據(jù)M的發(fā)送方發(fā)送數(shù)據(jù)M對(duì)應(yīng)的訪問策略AC-CP,該訪問策略AC-CP中的用戶屬性包含山東或者個(gè)人收入大于10萬元,具體可以為一個(gè)訪問結(jié)構(gòu)控制樹,如圖1所示,滿足訪問控制結(jié)構(gòu)的用戶屬性才能解密相關(guān)數(shù)據(jù),PKG判斷用戶的屬性是否滿足發(fā)送者發(fā)送的訪問策略AC-CP,具體是通過判定用戶發(fā)送的用戶屬性參與訪問結(jié)構(gòu)控制樹運(yùn)算結(jié)果是否為True,例如,一個(gè)用戶是山東,個(gè)人收入為9萬元,則該用戶的判定結(jié)果為True;如一個(gè)用戶是河北,個(gè)人收入為11萬元,該用戶的判定也為True;而如果一個(gè)用戶是河北,個(gè)人收入為9萬元,該用戶的判定也為False,如果為True,由PKG下發(fā)與用戶訪問的數(shù)據(jù)相關(guān)的公鑰PK、私鑰SK,用戶讀取數(shù)據(jù)內(nèi)容,否則,用戶不能讀取數(shù)據(jù)內(nèi)容。