等屬性,教師具有院系、職稱(chēng)、教齡等屬性,從而在保證安全性的同 時(shí)還實(shí)現(xiàn)了更加靈活而細(xì)致的訪問(wèn)控制。另外,該系統(tǒng)采用了密文分割方法,即由授權(quán)中心 和數(shù)據(jù)屬主分別產(chǎn)生部分密文,通過(guò)授權(quán)中心密文控制用戶(hù)訪問(wèn)權(quán)限,通過(guò)數(shù)據(jù)屬主密文 制定訪問(wèn)控制策略,當(dāng)用戶(hù)的屬性發(fā)生變化時(shí),只需授權(quán)中心更新自己部分的密文,即可實(shí) 現(xiàn)對(duì)用戶(hù)訪問(wèn)權(quán)限的實(shí)時(shí)撤銷(xiāo)。
[0029] 圖2示出了本發(fā)明提供的面向云存儲(chǔ)服務(wù)平臺(tái)的訪問(wèn)控制系統(tǒng)的訪問(wèn)控制方法 的流程,包括以下步驟:
[0030] Sl:授權(quán)中心運(yùn)行管理端,生成公共參數(shù)與主私鑰,將公共參數(shù)上傳至云存儲(chǔ)服務(wù) 平臺(tái)。
[0031] 進(jìn)一步地,生成公共參數(shù)與主私鑰的步驟(即系統(tǒng)初始化的步驟)具體可以為:
[0032] 輸入安全參數(shù)A,構(gòu)造階為素?cái)?shù)p、生成元為g的雙線性群踢,定義雙線性映射 e: ,定義屬性空間U=IU1,…,Uj,屬性空間U中每個(gè)屬性的最小權(quán)重為1、與 每個(gè)屬性分別 對(duì)應(yīng)的最大權(quán)重為L(zhǎng)1,…,Lm,同時(shí)選取隨機(jī)數(shù),_計(jì)算公共參數(shù) PK和主私鑰MK分別為:
[0033] PK= {G〇,g,h=gp,e(g,g) °}
[0034] MK={ga,0}
[0035] S2 :數(shù)據(jù)屬主運(yùn)行客戶(hù)端,向授權(quán)中心請(qǐng)求授權(quán)并發(fā)出數(shù)據(jù)上傳請(qǐng)求信息。
[0036] S3:授權(quán)中心運(yùn)行管理端,核實(shí)數(shù)據(jù)屬主身份并結(jié)合主私鑰生成對(duì)應(yīng)的用戶(hù)私鑰, 根據(jù)數(shù)據(jù)上傳請(qǐng)求信息,基于權(quán)重屬性加密機(jī)制產(chǎn)生需上傳數(shù)據(jù)的第一部分密文,將對(duì)應(yīng) 的用戶(hù)私鑰和第一部分密文發(fā)送給數(shù)據(jù)屬主。
[0037] 進(jìn)一步地,結(jié)合主私鑰生成對(duì)應(yīng)的用戶(hù)私鑰的步驟(即密鑰生成的步驟)具體可 以為:輸入主私鑰MK,定義一權(quán)重屬性集定義哈希函數(shù)H: _,之后為每一 用戶(hù)選擇隨機(jī)數(shù)之后為每一權(quán)重屬性jGS選擇隨機(jī)數(shù)5 并設(shè)置權(quán)重《 ',,之 后生成用戶(hù)私鑰SK為:
[0039] 進(jìn)一步地,基于權(quán)重屬性加密機(jī)制產(chǎn)生需上傳數(shù)據(jù)的第一部分密文的步驟(即加 密的步驟)具體可以為:構(gòu)造第一授權(quán)結(jié)構(gòu)樹(shù)巧,并根據(jù)公共參數(shù)PK和第一授權(quán)結(jié)構(gòu)樹(shù) 7 ?計(jì)算得到第一部分密文。
[0040] 其中,記第一授權(quán)結(jié)構(gòu)樹(shù)的節(jié)點(diǎn)X的門(mén)限值為kx,為每一節(jié)點(diǎn)選擇多項(xiàng)式qx,多 項(xiàng)式的度dx=kx_l,若節(jié)點(diǎn)X是葉子節(jié)點(diǎn),則有dx= 0。則第一授權(quán)結(jié)構(gòu)樹(shù)$的構(gòu)造方法 為:從根節(jié)點(diǎn)R開(kāi)始,隨機(jī)選擇e ,設(shè)定qR (〇) =S1,隨機(jī)選擇d/h子節(jié)點(diǎn)來(lái)完整定義多 項(xiàng)式%;對(duì)于其它節(jié)點(diǎn)X,設(shè)定qx (0) =qparant(index(X)),隨機(jī)選擇d/h子節(jié)點(diǎn)來(lái)完整定義 多項(xiàng)式qx。則第一部分密文CT1可表不為:
[0041 ]
[0042] 其中,U表示第一授權(quán)結(jié)構(gòu)樹(shù)$中葉子節(jié)點(diǎn)的集合,屬性u(píng)GU,《u表示授權(quán)中心 設(shè)置屬性u(píng)的最小權(quán)重值,Lu表示授權(quán)中心設(shè)置屬性u(píng)的最大權(quán)重值,qu(0)表示屬性u(píng)所 對(duì)應(yīng)的屬性值(也為當(dāng)輸入為0時(shí)多項(xiàng)式的輸出值)。
[0043] S4 :數(shù)據(jù)屬主基于權(quán)重屬性加密機(jī)制產(chǎn)生需上傳數(shù)據(jù)的第二部分密文。
[0044] 本發(fā)明中,該步驟具體可以是:構(gòu)造第二授權(quán)結(jié)構(gòu)樹(shù)f,并根據(jù)公共參數(shù)PK和第 二授權(quán)結(jié)構(gòu)樹(shù)f:,計(jì)算得到第二部分密文。
[0045] 同樣地,記第二授權(quán)結(jié)構(gòu)樹(shù)Sr的樹(shù)形結(jié)構(gòu)中的節(jié)點(diǎn)X的門(mén)限值為kx,為每一節(jié)點(diǎn) 選擇多項(xiàng)式qx,多項(xiàng)式的度dx=kx_l,若節(jié)點(diǎn)X是葉子節(jié)點(diǎn),則有dx= 0。則第二授權(quán)結(jié)構(gòu) 樹(shù):T的構(gòu)造方法為:從根節(jié)點(diǎn)R開(kāi)始,隨機(jī)選擇%e設(shè)定qR (0) =S2,隨機(jī)選擇dR個(gè)子 節(jié)點(diǎn)來(lái)完整定義多項(xiàng)式qR;對(duì)于其它節(jié)點(diǎn)X,設(shè)定qx (0) =qparant(index(X)),隨機(jī)選擇d/h 子節(jié)點(diǎn)來(lái)完整定義多項(xiàng)式qx。則第二部分密文(^2可表示為:
[0046]
[0047] 其中,Y表示第二授權(quán)結(jié)構(gòu)樹(shù)f中葉子節(jié)點(diǎn)的集合,屬性yGY,COy表示數(shù)據(jù)屬主 設(shè)置屬性y的最小權(quán)重值,1^表示數(shù)據(jù)屬主設(shè)置屬性y的最大權(quán)重值,qy (0)表示屬性y所 對(duì)應(yīng)的屬性值,w1表示屬性y的當(dāng)前權(quán)重。
[0048] S5 :數(shù)據(jù)屬主結(jié)合第一部分密文、第二部分密文生成最終密文并將最終密文作為 共享數(shù)據(jù)上傳至云存儲(chǔ)服務(wù)平臺(tái)。
[0049] 若需上傳數(shù)據(jù)(即:明文)為M、則結(jié)合第一部分密文CT1、第二部分密文(^2生成 的最終密文CT可表示為:
[0050]
[0051] S6 :共享用戶(hù)運(yùn)行客戶(hù)端,向授權(quán)中心請(qǐng)求授權(quán)。
[0052] S7:授權(quán)中心運(yùn)行管理端,核實(shí)共享用戶(hù)身份并結(jié)合主私鑰生成對(duì)應(yīng)的用戶(hù)私鑰, 將對(duì)應(yīng)的用戶(hù)私鑰發(fā)送給共享用戶(hù)。其中,結(jié)合主私鑰生成對(duì)應(yīng)的用戶(hù)私鑰與步驟S3中密 鑰生成的步驟相同,不贅述。
[0053] S8:共享用戶(hù)運(yùn)行客戶(hù)端,從云存儲(chǔ)服務(wù)平臺(tái)下載公共參數(shù)和共享數(shù)據(jù),并利用對(duì) 應(yīng)的用戶(hù)私鑰對(duì)下載的共享數(shù)據(jù)進(jìn)行解密。
[0054] 進(jìn)一步地,利用公共參數(shù)和對(duì)應(yīng)的用戶(hù)私鑰對(duì)下載的共享數(shù)據(jù)進(jìn)行解密的步驟可 包括以下步驟:
[0055] S81 :輸入共享數(shù)據(jù)CT、對(duì)應(yīng)的用戶(hù)私鑰SK、以及第一授權(quán)結(jié)構(gòu)樹(shù)<或第二授權(quán)結(jié) 構(gòu)樹(shù)f中的一個(gè)節(jié)點(diǎn)X。
[0056] S82 :若共享用戶(hù)的權(quán)重屬性滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù)<,則計(jì)算中間參數(shù)A1S:
[0060] 其中,x是輸入的節(jié)點(diǎn),i是節(jié)點(diǎn)x所對(duì)應(yīng)的屬性值即i=att(x),Oi是共享用戶(hù) 擁有輸入的節(jié)點(diǎn)X的權(quán)重值,是授權(quán)中心擁有輸入的節(jié)點(diǎn)X的最小權(quán)重值。
[0061] 本發(fā)明中,共享用戶(hù)的權(quán)重屬性是否滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù)是指:a.若輸入的節(jié) 點(diǎn)X是葉子節(jié)點(diǎn),如果iGS且CO1S? /,則認(rèn)為共享用戶(hù)的權(quán)重屬性滿(mǎn)足第一授權(quán)結(jié)構(gòu) 樹(shù)$,如果/U或iGS且《 ' ? /,則認(rèn)為共享用戶(hù)的權(quán)重屬性不滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù) 巧tb.若輸入的節(jié)點(diǎn)X是非葉子節(jié)點(diǎn),節(jié)點(diǎn)X下的所有節(jié)點(diǎn)集合為{z},則當(dāng){z}中有至少 一組節(jié)點(diǎn)滿(mǎn)足閾值條件時(shí),則認(rèn)為共享用戶(hù)的權(quán)重屬性滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù)5,而當(dāng){z} 中的每一組節(jié)點(diǎn)均不滿(mǎn)足閾值條件時(shí),則認(rèn)為共享用戶(hù)的權(quán)重屬性不滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù) Cb而若共享用戶(hù)的權(quán)重屬性不滿(mǎn)足第一授權(quán)結(jié)構(gòu)樹(shù)$ ,則返回null。
[0062] S83:若共享用戶(hù)的權(quán)重屬性滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)f、且共享用戶(hù)擁有輸入的節(jié) 點(diǎn)X的權(quán)重值CO1與數(shù)據(jù)屬主擁有輸入的節(jié)點(diǎn)X的最小權(quán)重值CO/'相等,則計(jì)算中間參數(shù) B1S:
[0064] 若共享用戶(hù)的權(quán)重屬性滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù):T、且共享用戶(hù)擁有輸入的節(jié)點(diǎn)X的 權(quán)重值^^大于數(shù)據(jù)屬主擁有輸入的節(jié)點(diǎn)X的最小權(quán)重值co,,則計(jì)算中間參數(shù)K1和中間 參數(shù)B/為:
[0067] 之后得到第二部分密文對(duì)應(yīng)的第二解碼信息A2為:
[0069] 本發(fā)明中,共享用戶(hù)的權(quán)重屬性是否滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)f是指:a.若輸入 的節(jié)點(diǎn)X是葉子節(jié)點(diǎn),《是數(shù)據(jù)屬主擁有輸入的節(jié)點(diǎn)X的最小權(quán)重值,如果ieS,且 W1S?/',則認(rèn)為共享用戶(hù)的權(quán)重屬性滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)f,如果或iGS且Co1 < ,則認(rèn)為共享用戶(hù)的權(quán)重屬性不滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)b.若輸入的節(jié)點(diǎn)X是非葉 子節(jié)點(diǎn),節(jié)點(diǎn)X下的所有節(jié)點(diǎn)集合為{z},則當(dāng){z}中有至少一組節(jié)點(diǎn)滿(mǎn)足閾值條件時(shí),則認(rèn) 為共享用戶(hù)的權(quán)重屬性滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)F,而當(dāng)Iz}中的每一組節(jié)點(diǎn)均不滿(mǎn)足閾值條 件時(shí),則認(rèn)為共享用戶(hù)的權(quán)重屬性不滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)f。.而若共享用戶(hù)的權(quán)重屬性不 滿(mǎn)足第二授權(quán)結(jié)構(gòu)樹(shù)F,則返回null。
[0070] S84 :結(jié)合第一解碼信息和第二解碼信息得到明文M,表示為:
[0072] 以下對(duì)上述面向云存儲(chǔ)服務(wù)平臺(tái)的訪問(wèn)控制系統(tǒng)的訪問(wèn)控制方法的安全性進(jìn)行 分析:
[0073] 1、在直接攻擊下的安全性:
[0074] 若攻擊者的屬性不滿(mǎn)足訪問(wèn)結(jié)構(gòu)樹(shù),同時(shí)它想對(duì)下載的共享數(shù)據(jù)解密,則必
的密鑰,計(jì)算不出該值。因此,敵手不能解密。
[0075] 2、抗共謀安全性:
[0076] 該方法中包含了用戶(hù)的密鑰生成算法,解密時(shí),系統(tǒng)先運(yùn)行該算法為用戶(hù)分配隨 機(jī)數(shù)r,生成用戶(hù)的部分私鑰D=g(a+rt/|!。在解密算法中,參數(shù)D=g(a+rt/e被植入了隨機(jī) 值,不同的用戶(hù)不能合謀恢復(fù)消息。
[0077] 以下對(duì)上述面向云存儲(chǔ)服務(wù)平臺(tái)的訪問(wèn)控制系統(tǒng)的訪問(wèn)控制方法的效率進(jìn)行分 析:
[0078] 設(shè)(?和(Sy表示群上的指數(shù)或者乘法運(yùn)算,(;表示雙線性對(duì)運(yùn)算,表示有限域 上模素?cái)?shù)P整數(shù)群,n表示系統(tǒng)中屬性的個(gè)數(shù),S'表示滿(mǎn)足授權(quán)