一種基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于云存儲(chǔ)服務(wù)技術(shù)領(lǐng)域,尤其設(shè)及一種基于表格屬性的云存儲(chǔ)密文訪問 控制系統(tǒng)。
【背景技術(shù)】
[0002] 在云存儲(chǔ)服務(wù)平臺(tái)中,由于采用數(shù)據(jù)遠(yuǎn)程托管技術(shù),云存儲(chǔ)服務(wù)提供商是數(shù)據(jù)的 物理擁有者,卻與數(shù)據(jù)屬主并不在同一個(gè)信任域中。云存儲(chǔ)服務(wù)提供商管理著多個(gè)用戶及 其資源,當(dāng)用戶跨邊界訪問其它用戶資源時(shí),需要采用一定的訪問控制策略來控制對(duì)數(shù)據(jù) 和服務(wù)的訪問。但實(shí)際中,由于云存儲(chǔ)服務(wù)平臺(tái)是采用虛擬化存儲(chǔ)技術(shù),云存儲(chǔ)服務(wù)同底層 硬件環(huán)境之間是松禪合的,不同用戶的數(shù)據(jù)間缺乏固定不變的安全邊界,由此增加了在云 存儲(chǔ)服務(wù)平臺(tái)對(duì)數(shù)據(jù)實(shí)施訪問控制的難度。
[0003] 現(xiàn)有技術(shù)中,基于屬性的加密(Attribute-basedEnciTption,ABE:)方案W屬性描 述用戶身份,用戶私鑰和密文分別與一組屬性相關(guān),當(dāng)用戶私鑰屬性與密文屬性相互匹配 度達(dá)到設(shè)定口限值時(shí),用戶才能成功解密密文。
[0004] 但ABE方案僅能支持口限訪問控制策略,為了表達(dá)更靈活的訪問控制策略,基于 密文策略的屬性加密(CipherF*olixyAttribute-basedEnciyption,CP-AB巧方案被提 出。在CP-ABE方案中,密文與訪問策略相關(guān),用戶私鑰與屬性集合相關(guān),當(dāng)且僅當(dāng)用戶私鑰 的屬性滿足密文的訪問策略時(shí),用戶才能成功解密密文。CP-ABE方案極大地降低了數(shù)據(jù)共 享細(xì)粒度訪問控制帶來的網(wǎng)絡(luò)帶寬和結(jié)點(diǎn)計(jì)算的開銷,是最適合于云存儲(chǔ)平臺(tái)的密文訪問 控制技術(shù)之一。
[0005] 對(duì)于采用CP-ABE方案的云存儲(chǔ)平臺(tái),考慮企業(yè)應(yīng)用場(chǎng)景,屬性與訪問策略需要通 過表格部署。但由于屬性集合較為龐大,訪問結(jié)構(gòu)十分復(fù)雜,CP-ABE方案在云存儲(chǔ)平臺(tái)中 的執(zhí)行效率很低。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng),旨在解決 現(xiàn)有采用CP-ABE方案的云存儲(chǔ)平臺(tái)通過表格部署屬性與訪問策略,由于屬性集合龐大、訪 問結(jié)構(gòu)復(fù)雜,使得CP-ABE方案執(zhí)行效率低的問題。
[0007] 本發(fā)明是運(yùn)樣實(shí)現(xiàn)的,一種基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng),所述系統(tǒng) 包括:
[0008] 由認(rèn)證中屯、運(yùn)行的管理端,用于生成并向每一合法用戶分發(fā)用戶私鑰,所述用戶 私鑰與對(duì)應(yīng)用戶的屬性相關(guān)聯(lián);
[0009] 由用戶運(yùn)行的客戶端,用于在上傳數(shù)據(jù)到云端時(shí),對(duì)需上傳的數(shù)據(jù)選取會(huì)話密鑰 并進(jìn)行加密,之后根據(jù)訪問結(jié)構(gòu)樹上每一葉子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的闊值是否為1、來對(duì)各 葉子節(jié)點(diǎn)進(jìn)行分類,并進(jìn)一步根據(jù)父節(jié)點(diǎn)類型的不同、對(duì)父節(jié)點(diǎn)的闊值為1的葉子節(jié)點(diǎn)的 集合進(jìn)行分類,之后根據(jù)分類結(jié)果對(duì)所述會(huì)話密鑰加密W得到會(huì)話密鑰密文,之后將所述 會(huì)話密鑰密文和加密后的數(shù)據(jù)上傳到云端,還用于在從云端下載數(shù)據(jù)時(shí),從云端下載會(huì)話 密鑰密文和對(duì)應(yīng)的共享數(shù)據(jù),并當(dāng)與自身用戶私鑰相關(guān)聯(lián)的屬性滿足訪問結(jié)構(gòu)樹時(shí),由會(huì) 話密鑰密文解密得到會(huì)話密鑰,之后利用解密得到的所述會(huì)話密鑰解密所述對(duì)應(yīng)的共享數(shù) 據(jù)。
[0010] 本發(fā)明的另一目的在于提供一種如上所述的基于表格屬性的云存儲(chǔ)密文訪問控 制系統(tǒng)的訪問控制方法,所述方法包括:
[0011] 認(rèn)證中屯、運(yùn)行管理端,生成系統(tǒng)公鑰與主私鑰,將所述系統(tǒng)公鑰上傳至云端;
[0012] 認(rèn)證中屯、運(yùn)行管理端,根據(jù)用戶發(fā)出的系統(tǒng)加入請(qǐng)求,認(rèn)證用戶是否為合法用戶, 并當(dāng)用戶為合法用戶時(shí),計(jì)算用戶的用戶私鑰,并分發(fā)給用戶;
[0013] 數(shù)據(jù)屬主運(yùn)行客戶端,對(duì)需上傳的數(shù)據(jù)選取會(huì)話密鑰并進(jìn)行加密,之后根據(jù)訪問 結(jié)構(gòu)樹上每一葉子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的闊值是否為1、來對(duì)各葉子節(jié)點(diǎn)進(jìn)行分類,并進(jìn)一步 根據(jù)父節(jié)點(diǎn)類型的不同、對(duì)父節(jié)點(diǎn)的闊值為1的葉子節(jié)點(diǎn)的集合進(jìn)行分類,之后根據(jù)分類 結(jié)果對(duì)所述會(huì)話密鑰加密W得到會(huì)話密鑰密文,之后將所述會(huì)話密鑰密文和加密后的數(shù)據(jù) 上傳到云端;
[0014] 共享用戶運(yùn)行客戶端,從云端下載會(huì)話密鑰密文和對(duì)應(yīng)的共享數(shù)據(jù),并當(dāng)與自身 用戶私鑰相關(guān)聯(lián)的屬性滿足訪問結(jié)構(gòu)樹時(shí),由會(huì)話密鑰密文解密得到會(huì)話密鑰,之后利用 解密得到的所述會(huì)話密鑰解密所述對(duì)應(yīng)的共享數(shù)據(jù)。
[0015] 本發(fā)明提供的基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)及其訪問控制方法中,數(shù) 據(jù)屬主在加密過程中,根據(jù)訪問結(jié)構(gòu)樹上每一葉子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的闊值是否為1、來對(duì) 各葉子節(jié)點(diǎn)進(jìn)行分類,并進(jìn)一步根據(jù)父節(jié)點(diǎn)類型的不同、對(duì)父節(jié)點(diǎn)的闊值為1的葉子節(jié)點(diǎn) 的集合進(jìn)行分類,之后根據(jù)分類結(jié)果對(duì)數(shù)據(jù)加密后上傳至云端。運(yùn)樣,數(shù)據(jù)屬主得到的密 文長(zhǎng)度、加密計(jì)算量和后續(xù)共享用戶的解密計(jì)算量均只與父節(jié)點(diǎn)闊值不為1的屬性集合有 關(guān),而在訪問結(jié)構(gòu)樹中,闊值為1對(duì)應(yīng)或n,否則對(duì)應(yīng)與n,因此可W說,系統(tǒng)開銷只與父節(jié) 點(diǎn)為與口的屬性集合有關(guān),當(dāng)訪問結(jié)構(gòu)樹中的或口增加時(shí),相對(duì)于現(xiàn)有的CP-ABE方案,系 統(tǒng)的計(jì)算代價(jià)和通信開銷將大為降低,從而能夠更高效的為用戶提供隱私保護(hù)、數(shù)據(jù)共享 與訪問控制服務(wù)。
【附圖說明】
[0016] 圖1是本發(fā)明提供的基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)的結(jié)構(gòu)圖;
[0017] 圖2是本發(fā)明提供的基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)的訪問控制方法 的流程圖;
[0018] 圖3是本發(fā)明的一種訪問結(jié)構(gòu)樹實(shí)例圖。
【具體實(shí)施方式】
[0019] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,W下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用W解釋本發(fā)明,并 不用于限定本發(fā)明。
[0020] 針對(duì)現(xiàn)有技術(shù)存在的問題,考慮到表格屬性具有如下兩個(gè)特點(diǎn):一、屬性是分類 的,如下表1所示為一企業(yè)的花名冊(cè):
[00川 表I[0022]
[0023] 上表中,所有屬性被分為5種類型;二、訪問結(jié)構(gòu)樹中同種屬性類型或口(OR口) 多于與口(AND口),如上表所示,序號(hào)OOlOR002OR003發(fā)生概率較大,序號(hào)OOlAND002 AND003發(fā)生概率極低。從而,本發(fā)明中,數(shù)據(jù)屬主在加密過程中,根據(jù)訪問結(jié)構(gòu)樹上每一葉 子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的闊值是否為1、來對(duì)各葉子節(jié)點(diǎn)進(jìn)行分類,并進(jìn)一步根據(jù)父節(jié)點(diǎn)類型 的不同、對(duì)父節(jié)點(diǎn)的闊值為1的葉子節(jié)點(diǎn)的集合進(jìn)行分類,之后根據(jù)分類結(jié)果對(duì)數(shù)據(jù)加密 后上傳至云端。
[0024]圖1示出了本發(fā)明提供的基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)的結(jié)構(gòu),為了 便于說明,僅示出了與本發(fā)明相關(guān)的部分。
[00巧]具體而言,本發(fā)明的系統(tǒng)包括:由認(rèn)證中屯、運(yùn)行的管理端11,用于生成并向每一 合法用戶分發(fā)用戶私鑰,用戶私鑰與對(duì)應(yīng)用戶的屬性相關(guān)聯(lián);由用戶運(yùn)行的客戶端12,用 于在上傳數(shù)據(jù)到云端時(shí),對(duì)需上傳的數(shù)據(jù)選取會(huì)話密鑰并進(jìn)行加密,之后根據(jù)訪問結(jié)構(gòu)樹 上每一葉子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的闊值是否為1、來對(duì)各葉子節(jié)點(diǎn)進(jìn)行分類,并進(jìn)一步根據(jù)父 節(jié)點(diǎn)類型的不同、對(duì)父節(jié)點(diǎn)的闊值為1的葉子節(jié)點(diǎn)的集合進(jìn)行分類,之后根據(jù)分類結(jié)果對(duì) 會(huì)話密鑰加密W得到會(huì)話密鑰密文,之后將會(huì)話密鑰密文和加密后的數(shù)據(jù)上傳到云端,還 用于在從云端下載數(shù)據(jù)時(shí),從云端下載會(huì)話密鑰密文和對(duì)應(yīng)的共享數(shù)據(jù),并當(dāng)與自身用戶 私鑰相關(guān)聯(lián)的屬性滿足訪問結(jié)構(gòu)樹時(shí),由會(huì)話密鑰密文解密得到會(huì)話密鑰,之后利用解密 得到的會(huì)話密鑰解密對(duì)應(yīng)的共享數(shù)據(jù)。
[0026]本發(fā)明中,系統(tǒng)的合法用戶可被區(qū)分為數(shù)據(jù)屬主和共享用戶,數(shù)據(jù)屬主、共享用戶 分別是客戶端12的運(yùn)行主體,認(rèn)證中屯、是管理端11的運(yùn)行主體。其中,數(shù)據(jù)屬主是指云端 上共享數(shù)據(jù)的提供方,數(shù)據(jù)屬主制定訪問策略,并基于訪問策略對(duì)需上傳的數(shù)據(jù)進(jìn)行加密, 之后將加密后的數(shù)據(jù)托管至云端;共享用戶(即訪問者)是指從云端下載共享數(shù)據(jù)方,共享 用戶訪問云端存儲(chǔ)的密文數(shù)據(jù),只有當(dāng)共享用戶的用戶私鑰中的屬性滿足密文中定義的訪 問策略,共享用戶才能成功解密密文;認(rèn)證中屯、是指除數(shù)據(jù)屬主和共享用戶之外、與云端交 互的可信第=方,認(rèn)證中屯、建立系統(tǒng)并接受用戶注冊(cè),負(fù)責(zé)為每個(gè)用戶生成關(guān)聯(lián)其各自屬 性的用戶私鑰。應(yīng)當(dāng)理解,定義數(shù)據(jù)屬主與共享用戶的目的是為了區(qū)別運(yùn)行客戶端12的主 體在系統(tǒng)某次運(yùn)行過程中的功能是上傳數(shù)據(jù)或下載數(shù)據(jù),因而在系統(tǒng)某次運(yùn)行過程中的數(shù) 據(jù)屬主可W是另一次運(yùn)行過程中的共享用戶,同樣地,在系統(tǒng)某次運(yùn)行過程中的共享用戶 可W是另一次運(yùn)行過程中的數(shù)據(jù)屬主。
[0027] 本發(fā)明的基于表格屬性的云存儲(chǔ)密文訪問控制系統(tǒng)的工作原理是:系統(tǒng)建立后, 認(rèn)證中屯、運(yùn)行管理端11,生成系統(tǒng)公鑰與主私鑰,將系統(tǒng)公鑰上傳至云端。
[0028] 用戶若希望加入系統(tǒng),則運(yùn)行客戶端12,向認(rèn)證中屯、發(fā)出系統(tǒng)加入請(qǐng)求,認(rèn)證中屯、 運(yùn)行管理端11,根據(jù)該系統(tǒng)加入請(qǐng)求,認(rèn)證該用戶是否為合法用戶,是則計(jì)算該用戶的用戶 私鑰,并分發(fā)給該用戶。
[0029] 當(dāng)數(shù)據(jù)屬主上傳數(shù)據(jù)時(shí),數(shù)據(jù)屬主運(yùn)行客戶端12,對(duì)需上傳的數(shù)據(jù)選取會(huì)話密鑰 并進(jìn)行加密,之后根據(jù)訪問結(jié)構(gòu)樹上每一葉子節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)的