專(zhuān)利名稱(chēng):一種基于屬性加密的云計(jì)算安全訪問(wèn)控制方法
—種基于屬性加密的云計(jì)算安全訪問(wèn)控制方法技術(shù)領(lǐng)域
本發(fā)明是一種云計(jì)算環(huán)境的安全解決方案。主要用于解決云計(jì)算訪問(wèn)控制結(jié)構(gòu)的安全性和隱私保護(hù)性問(wèn)題,屬于云計(jì)算安全技術(shù)領(lǐng)域。
背景技術(shù):
云計(jì)算是建立在虛擬化,并行分布計(jì)算上的一種全新的計(jì)算架構(gòu)。近幾年來(lái),云計(jì)算升級(jí)為IT屆最有效最具影響力的產(chǎn)業(yè)之一,許多企業(yè)紛紛將大量業(yè)務(wù)移植到云服務(wù)中心。一方面,用戶(hù)不再需要投資大量的軟件和硬件設(shè)施雇傭軟件人才維護(hù)這些設(shè)施,從而節(jié)省了基礎(chǔ)設(shè)施建設(shè)費(fèi)用和人力成本。另一方面,云計(jì)算按照較低的價(jià)格,按照用戶(hù)的服務(wù)需求付費(fèi),有著很高的靈活性和便利性。
云存儲(chǔ)的外包存儲(chǔ)服務(wù)模式導(dǎo)致了特權(quán)用戶(hù)的存在,他們具有非授權(quán)訪問(wèn)用戶(hù)數(shù)據(jù)的能力,易導(dǎo)致數(shù)據(jù)信息和隱私泄露等內(nèi)部攻擊問(wèn)題。安全性是制約云計(jì)算技術(shù)廣泛使用的重要因素之一,因此研究云計(jì)算環(huán)境下的安全問(wèn)題具有重要意義。訪問(wèn)控制模型的研究是解決安全性問(wèn)題的一大熱點(diǎn)。
訪問(wèn)控制模型的三大主要問(wèn)題是(1)信任機(jī)制的劃分。(2)訪問(wèn)控制控樹(shù)的建立。(3)訪問(wèn)用戶(hù)細(xì)粒度的劃分。過(guò)去的方法在這三個(gè)問(wèn)題的實(shí)現(xiàn)上有一定的缺陷和不足。目前大部分研究人員僅對(duì)第二個(gè)問(wèn)題有大量研究,如密鑰策略屬性加密方案 KP-ABE (key-policy attribute-based encryption)和密文策略屬性加密方案 CP-ABE(ciphertext-policy attribute-based encryption),第(I)和第(3)個(gè)問(wèn)題的研究還處于初步階段。而一個(gè)完善而且實(shí)用的訪問(wèn)控制系統(tǒng)僅僅靠單一的信任機(jī)構(gòu)和單一的用戶(hù)群是遠(yuǎn)遠(yuǎn)不夠的,會(huì)帶來(lái)各種安全性和隱私性問(wèn)題。這些問(wèn)題的存在給云計(jì)算的推廣帶來(lái)了一定的難度。發(fā)明內(nèi)容
技術(shù)問(wèn)題本次發(fā)明的目的是在CP-ABE的基礎(chǔ)上,提出一種全新的框架 ΜΑΗ-ΑΒΕ (Multiple and Hierarchical attribute based encryption)訪問(wèn)控制模型,來(lái)解決云計(jì)算訪問(wèn)控制系統(tǒng)中的安全性和隱私性問(wèn)題,本發(fā)明提供了一種基于屬性加密的云計(jì)算安全訪問(wèn)控制方法,達(dá)到高效,靈活,細(xì)粒度的特點(diǎn)。
技術(shù)方案本發(fā)明提出一種具有等級(jí)的分領(lǐng)域多信任機(jī)構(gòu)的ABE安全框架-MAH-ABE.框架不僅按照私人領(lǐng)域和公共領(lǐng)域來(lái)區(qū)分屬性,而且將公共領(lǐng)域的屬性按照信任機(jī)構(gòu)的等級(jí)來(lái)劃分,使不同權(quán)限的信任機(jī)構(gòu)掌管不同的屬性密鑰分發(fā)機(jī)制,大大降低了單一信任機(jī)構(gòu)的工作量,同時(shí)提高了用戶(hù)的數(shù)據(jù)隱私保護(hù)性。
雙線性配對(duì)是設(shè)計(jì)ABE加密方案時(shí)非常關(guān)鍵的工具之一。首先給出雙線性配對(duì)的定理選取兩個(gè)階為一個(gè)大素?cái)?shù)P的群G1和G2,定義一個(gè)可有效計(jì)算的雙線性映射 e = G1 XG1 — G2,該映射必須滿(mǎn)足:
(a)雙線性-一個(gè)映射⑴匕父匕一^具有雙線性’當(dāng)“匕^^匕^^對(duì)于所有的g,h e G1和所有的a,b e Zp。
(b)非退化性存在g,h e G1,使得e(g,h) Φ I。即不能將所有G1XG1的元素都映射到G2中某個(gè)相同元素。
一、體系結(jié)構(gòu)
圖I給出了 MAH-ABE的系統(tǒng)模型圖,主要由以下幾個(gè)主體組成,云服務(wù)提供端(a cloud service provider)簡(jiǎn)稱(chēng)CSP,—個(gè)第一級(jí)可信機(jī)構(gòu),多個(gè)區(qū)域可信機(jī)構(gòu),數(shù)據(jù)主體和數(shù)據(jù)用戶(hù)。CSP提供云存儲(chǔ)服務(wù),數(shù)據(jù)主體將加密好的數(shù)據(jù)存儲(chǔ)在云端,供數(shù)據(jù)用戶(hù)分享。 為了獲取云端數(shù)據(jù),數(shù)據(jù)用戶(hù)從云端下載他們所需要的加密文件進(jìn)行解密。與傳統(tǒng)的訪問(wèn)控制結(jié)構(gòu)相比較,這種結(jié)構(gòu)主要修改了 5個(gè)部分(I)等級(jí)可信機(jī)構(gòu)的劃分(2)屬性結(jié)構(gòu)的分層(3)公共領(lǐng)域和私人領(lǐng)域的用戶(hù)群分類(lèi)(4)多領(lǐng)域訪問(wèn)控制樹(shù)的建立(5)訪問(wèn)控制樹(shù)中轉(zhuǎn)化節(jié)點(diǎn)的設(shè)置。修改了這些部分,對(duì)基于屬性加密模型的開(kāi)銷(xiāo)的增加是很小的,但是對(duì)整個(gè)訪問(wèn)控制結(jié)構(gòu)的高效和細(xì)粒度的提高是很大的,并且系統(tǒng)的安全性和隱私性不受損。
下面我們給出幾個(gè)具體部分的說(shuō)明
公共領(lǐng)域和私人領(lǐng)域本發(fā)明中劃分了兩種領(lǐng)域,公共領(lǐng)域(PUD)和私人領(lǐng)域 (PRD)0 PRD主要面向一部分有特殊權(quán)限的用戶(hù),如數(shù)據(jù)主體的家人,私人助理等,在主體同意授權(quán)時(shí),這類(lèi)群體不僅可以有閱讀權(quán)限,也可以有管理文件,修改文件等權(quán)限。這個(gè)領(lǐng)域的特點(diǎn)是用戶(hù)少,屬性集規(guī)模小,易于管理,PUD主要面向大環(huán)境用戶(hù),如集團(tuán)公司的員工, 醫(yī)療保險(xiǎn)公司的客戶(hù),由于用戶(hù)量龐大,屬性個(gè)數(shù)繁多,需要細(xì)粒度的屬性分配機(jī)制。而數(shù)據(jù)屬主并不需要知道具體是哪些用戶(hù)在PUD環(huán)境中。
密鑰分配方式在PRD環(huán)境中,由于用戶(hù)少,屬性規(guī)模小,米用CP ABE訪問(wèn)控制方式即可。用戶(hù)主體可以委托可信機(jī)構(gòu)分發(fā)和管理密鑰,或者自己親自參與密鑰的分發(fā)和管理。PRD中的用戶(hù)獲得的屬性叫做數(shù)據(jù)屬性(data attribute),它為文件的分類(lèi)屬性。每一個(gè)文件都貼上數(shù)據(jù)屬性,如blog_file, photo_file等。所以用戶(hù)密鑰的大小和獲得的數(shù)據(jù)屬性的個(gè)數(shù)成線性關(guān)系。而PUD環(huán)境中,由于用戶(hù)量龐大,屬性個(gè)數(shù)繁多,因此我們采用具有等級(jí)的區(qū)域可信機(jī)構(gòu)(domain authority, DA)來(lái)管理用戶(hù)屬性,不同的DA有不同大小的權(quán)限,而每一個(gè)DA都由他的父可信機(jī)構(gòu)授權(quán)管轄,形成具有等級(jí)的機(jī)構(gòu)。PUD中的用戶(hù)具有角色屬性(role attribute, RA),每個(gè)DA負(fù)責(zé)分發(fā)和管理它所管轄的用戶(hù)的私鑰。在 PUD領(lǐng)域里,用戶(hù)在加密上傳文件的時(shí)候并不需要知道哪些用戶(hù)具有訪問(wèn)權(quán)限,只需要規(guī)定有指定RA的用戶(hù)可以訪問(wèn)該文件,大大減輕了用戶(hù)主體的工作量。
分層密鑰結(jié)構(gòu)^PUD中,本方案采用分層密鑰結(jié)構(gòu),如圖2所示。假設(shè)密鑰的層次為2,則第一層為屬性個(gè)體或者屬性集合,第二層只能為屬性個(gè)體。如{D印t =Hospital A, Addr:ffest, {Position:physician, level:3}, {Position:nurse,level:4}},第一層為{Dept Hospital A, Addr:West}記作 A。,第二層為{{Position:physician, level: 3}, {Position:nurse, level:4}},記作A1和A2。綜上所述,記用戶(hù)密鑰結(jié)構(gòu)為 A= {A0, A1, . . .,AJ,Atl表不第一層密鑰,Ai表不第二層密鑰的第i個(gè)屬性集合 (I ^ i ^ m).這樣我們可以將這個(gè)密鑰結(jié)構(gòu)簡(jiǎn)單表示成Atl=IO, Dept MospitalAhA1=U, Position:physician}, A2= {2, Position:nurse}。
訪問(wèn)控制樹(shù)和轉(zhuǎn)化節(jié)點(diǎn)在兩種領(lǐng)域中,我們均采用訪問(wèn)控制樹(shù),葉節(jié)點(diǎn)為屬性值,而非葉節(jié)點(diǎn)是門(mén)限值。假設(shè)numx為節(jié)點(diǎn)的孩子個(gè)數(shù),kx為節(jié)點(diǎn)X的門(mén)限值,如AND和OR的匕值分別為2和I。同時(shí)我們定義函數(shù)parent (X)返回x的父節(jié)點(diǎn),index (x)返回節(jié)點(diǎn) X的序號(hào),att(x)返回葉節(jié)點(diǎn)代表的屬性值。如果一個(gè)屬性結(jié)構(gòu)滿(mǎn)足一個(gè)訪問(wèn)控制樹(shù),則至少該屬性結(jié)構(gòu)的一個(gè)屬性集滿(mǎn)足訪問(wèn)控制樹(shù)的所有屬性。一般來(lái)說(shuō),不同屬性集之間的屬性聯(lián)合起來(lái)滿(mǎn)足訪問(wèn)控制樹(shù)是不允許的。但是由于PUD領(lǐng)域?qū)傩约倍?,我們定義了一種節(jié)點(diǎn)叫做轉(zhuǎn)換節(jié)點(diǎn)(translating node),轉(zhuǎn)換節(jié)點(diǎn)的孩子節(jié)點(diǎn)的屬性值可以來(lái)自不同的屬性集,即允許聯(lián)合屬性。
本發(fā)明的基于屬性加密的云計(jì)算安全訪問(wèn)控制方法所包含的步驟為
步驟I).劃分兩種用戶(hù)環(huán)境,公共領(lǐng)域PM)和私人領(lǐng)域PRD ;
步驟2).可信機(jī)構(gòu)首先隨機(jī)選擇生成元,生成雙線性群和雙線性映射,接著選擇 PUD領(lǐng)域的密鑰層次,生成PUD的主密鑰和公鑰,主密鑰保留,公鑰公開(kāi);
步驟3).可信機(jī)構(gòu)利用步驟2生成的雙線性群和雙線性映射,生成PRD的主密鑰和公鑰,主密鑰保留,公鑰公開(kāi);
步驟4).可信機(jī)構(gòu)創(chuàng)建下一層可信子機(jī)構(gòu),分配第一層屬性個(gè)體或?qū)傩约?,并生成主密鑰,下一層可信機(jī)構(gòu)能創(chuàng)建更小的子機(jī)構(gòu),分配第二層屬性個(gè)體或者屬性集合,第二層屬性個(gè)體或?qū)傩约蠟榈谝粚訉傩詡€(gè)體或?qū)傩约系淖蛹⒎峙涿荑€,依次類(lèi)推;
步驟5).用戶(hù)向可信機(jī)構(gòu)提供相關(guān)信息,申請(qǐng)相關(guān)領(lǐng)域的合法用戶(hù)權(quán)限,如果申請(qǐng)PUD領(lǐng)域的權(quán)限,執(zhí)行步驟6,申請(qǐng)PRD領(lǐng)域的權(quán)限執(zhí)行步驟7 ;
步驟6).可信機(jī)構(gòu)根據(jù)用戶(hù)提交的信息,判斷該用戶(hù)能否申請(qǐng)到PUD領(lǐng)域的權(quán)限, 如果不能,則返回空;如果能,將根據(jù)該用戶(hù)信息發(fā)送給相應(yīng)可信子機(jī)構(gòu),相應(yīng)的可信子機(jī)構(gòu)分配對(duì)應(yīng)的屬性個(gè)體或?qū)傩约希梢粋€(gè)密鑰組件,發(fā)送給用戶(hù);跳轉(zhuǎn)執(zhí)行步驟8 ;
步驟7).可信機(jī)構(gòu)根據(jù)用戶(hù)提交的信息,判斷該用戶(hù)能否申請(qǐng)到PRD領(lǐng)域的權(quán)限, 如果不能,則返回空,如果能,將根據(jù)該用戶(hù)提供的信息分配對(duì)應(yīng)的數(shù)據(jù)屬性,生成密鑰組件,發(fā)送給用戶(hù);
步驟8).數(shù)據(jù)屬主為上傳到云端的文件選取唯一標(biāo)識(shí)對(duì)文件對(duì)稱(chēng)加密,保留密鑰,并選取公共領(lǐng)域?qū)傩约M成公共訪問(wèn)控制樹(shù),選取私人領(lǐng)域?qū)傩约M成私人訪問(wèn)控制樹(shù),用兩種樹(shù)對(duì)文件密鑰加密生成密文,并發(fā)送到云端;
步驟9).用戶(hù)向云端發(fā)起對(duì)文件的訪問(wèn),云端返回對(duì)應(yīng)文件的密文,用戶(hù)輸入步驟6或7生成的私鑰,和密文里的訪問(wèn)控制樹(shù)T進(jìn)行匹配,若匹配得到對(duì)應(yīng)文件密鑰,解密后獲得文件,若不匹配,返回空;
步驟10).數(shù)據(jù)屬主向可信機(jī)構(gòu)發(fā)出通知,撤銷(xiāo)相關(guān)用戶(hù)屬性,遞交相關(guān)屬性序列和失效時(shí)間,委托可信機(jī)構(gòu)更新相關(guān)用戶(hù)權(quán)限;
步驟11).可信機(jī)構(gòu)向相關(guān)可信子機(jī)構(gòu)發(fā)出通知,可信子機(jī)構(gòu)更新相關(guān)屬性的失效時(shí)間,生成新的私鑰組建,發(fā)送給相關(guān)用戶(hù);
步驟12).數(shù)據(jù)屬主向云端發(fā)出通知,更新訪問(wèn)控制樹(shù),遞交相關(guān)屬性序列和失效時(shí)間,委托云端更新訪問(wèn)控制結(jié)構(gòu)樹(shù);
步驟13).云端接收到更新信息后,生成相關(guān)組件,最后更新到相關(guān)訪問(wèn)控制樹(shù)中,并輸出新密文,替換原來(lái)的密文;
步驟14).用戶(hù)屬主撤銷(xiāo)文件,將文件標(biāo)識(shí)和自己的簽名發(fā)送到云端;
步驟15).云端確認(rèn)簽名后將該文件刪除,返回屬主刪除成功的信息。
所述的PUD,其密鑰結(jié)構(gòu)為分層密鑰結(jié)構(gòu),所述的可信機(jī)構(gòu)為具有等級(jí)的可信機(jī)構(gòu)。
訪問(wèn)控制樹(shù)為公共訪問(wèn)控制樹(shù)和私人訪問(wèn)控制樹(shù)兩種,公共訪問(wèn)控制樹(shù)中的節(jié)點(diǎn)存在聯(lián)合節(jié)點(diǎn),支持聯(lián)合屬性集訪問(wèn)。
有益效果本發(fā)明方法針對(duì)云計(jì)算環(huán)境下的安全性和隱私性問(wèn)題,在CP-ABE的基礎(chǔ)上,提出MAH-ABE新的訪問(wèn)控制模型,劃分了公共領(lǐng)域和私人領(lǐng)域,私人領(lǐng)域采用CP-ABE 密文訪問(wèn)控制,公共領(lǐng)域采用等級(jí)多信任機(jī)構(gòu)來(lái)管理屬性和密鑰,減少了管理復(fù)雜度。同時(shí),模型引入失效時(shí)間這個(gè)屬性來(lái)執(zhí)行屬性更新操作。該模型是高效,靈活,細(xì)粒度并且安全的。下面我們給出具體的說(shuō)明。
[劃分了不同領(lǐng)域]本發(fā)明基于用戶(hù)群的不同特性,劃分了公共領(lǐng)域和私人領(lǐng)域不兩種領(lǐng)域。在過(guò)去的模型當(dāng)中,所有的用戶(hù)都是在一個(gè)領(lǐng)域當(dāng)中,受同一種訪問(wèn)控制模型的約束,有同一種密鑰管理和分配方式。給有特殊權(quán)限的用戶(hù)帶來(lái)了不便。比如個(gè)人健康記錄云計(jì)算系統(tǒng)中,私人領(lǐng)域?yàn)閿?shù)據(jù)屬主的親人,朋友,他們享有特殊的權(quán)限,數(shù)據(jù)屬主可以授權(quán)這類(lèi)用戶(hù)管理自己的文件系統(tǒng)。公共領(lǐng)域?yàn)楦鱾€(gè)醫(yī)院的醫(yī)生,護(hù)士,保險(xiǎn)公司的工作人員等。他們有查看用戶(hù)屬主數(shù)據(jù)的權(quán)限等。這兩種領(lǐng)域的屬性應(yīng)具有不同的特質(zhì),應(yīng)該享有不同的密鑰管理和分配方式。本發(fā)明劃分了兩種不同類(lèi)型的用戶(hù)群,使數(shù)據(jù)的訪問(wèn)更加靈活,用戶(hù)的管理更加細(xì)粒度。
[等級(jí)可信機(jī)構(gòu)的劃分]本發(fā)明劃分了具有等級(jí)的多信任可信機(jī)構(gòu),突破了單一可信機(jī)構(gòu)管理所有用戶(hù)的傳統(tǒng)方法。采用單一的信任機(jī)制,用戶(hù)和信任機(jī)構(gòu)的頻繁交互不僅給系統(tǒng)負(fù)載能力帶來(lái)瓶頸,同時(shí)增加了潛在的安全隱患。一旦可信機(jī)構(gòu)被沒(méi)有權(quán)限的不合法用戶(hù)竊取,則他有可能利用不合法手段竊取所有用戶(hù)的數(shù)據(jù),給團(tuán)體用戶(hù)帶來(lái)巨大的損失。而且將所有的密鑰分發(fā)工作都交給一個(gè)TA,在實(shí)際運(yùn)用當(dāng)中并不可行,不同的機(jī)構(gòu)應(yīng)該有不同的職責(zé),各自管轄自己的子機(jī)構(gòu)。各個(gè)子機(jī)構(gòu)應(yīng)該在自己的權(quán)力范圍之內(nèi)定義和指定各種屬性集合,并分發(fā)給部門(mén)所管轄的用戶(hù)。本發(fā)明中的用戶(hù)處在不同的可信機(jī)構(gòu), 即使某一可信機(jī)構(gòu)受到安全威脅,也不會(huì)影響到其他可信機(jī)構(gòu)的安全性,用戶(hù)的隱私性得到了保護(hù)。
[訪問(wèn)控制樹(shù)的建立]本發(fā)明為不同領(lǐng)域的用戶(hù)建立了不同的訪問(wèn)控制樹(shù),在公共領(lǐng)域中,由于屬性繁多,建立了支持不同屬性集之間的聯(lián)合的訪問(wèn)控制樹(shù)。在大量的以 CP-ABE為基礎(chǔ)的模型中,用在訪問(wèn)控制結(jié)構(gòu)中的屬性集合只有一個(gè),即數(shù)據(jù)屬主只能在一個(gè)屬性集合當(dāng)中,選取屬性進(jìn)行各種組合來(lái)滿(mǎn)足訪問(wèn)策略。屬性集之間是完全孤立的,不能建立屬性集之間的聯(lián)系。這大大降低了訪問(wèn)控制的靈活性。因?yàn)樵诒匾臅r(shí)候用戶(hù)需要跨越多個(gè)屬性集合,選取屬性來(lái)滿(mǎn)足某一訪問(wèn)控制結(jié)構(gòu)。本發(fā)明的訪問(wèn)控制樹(shù)的節(jié)點(diǎn)有兩種類(lèi)型普通節(jié)點(diǎn)和聯(lián)合節(jié)點(diǎn)。普通節(jié)點(diǎn)只支持單個(gè)集合內(nèi)屬性的關(guān)聯(lián),聯(lián)合節(jié)點(diǎn)支持跨越單個(gè)集合的多個(gè)屬性集合的聯(lián)合訪問(wèn),大大提高了訪問(wèn)控制結(jié)構(gòu)的靈活性。
圖I是本發(fā)明的系統(tǒng)模型圖。
圖2是PUD環(huán)境的用戶(hù)的分層密鑰結(jié)構(gòu)示意圖。
具體實(shí)施方式
方法流程
I.系統(tǒng)參數(shù)生成
在PUD中,Setup (d=2) — (PK. MK) · d為密鑰的層次,假設(shè)為2??尚艡C(jī)構(gòu)首先隨機(jī)選擇生成元為g,階為P的雙線性群Gtl和雙線性映射^GciXGci=Gt,隨機(jī)選擇隨機(jī)數(shù) α,β i e Zp,V/'{1,2)生成公鑰和主密鑰為
PKfld ==^\e{g,g)a)
MKpud= (β !, β 2, g°)
在PRD中,隨機(jī)選取參數(shù)a 3,β 3 e Zp生成公鑰和主密鑰為
PKprd = KG^gJh= ^ Ag,gT}
MKpmH、
2.生成用戶(hù)私鑰
分配PRD用戶(hù)私鑰.PRD中,用戶(hù)u獲得的屬性集為)=0^2,...,&丨,隨機(jī)選取 r e Zp,并為每一個(gè)屬性a」選擇一個(gè)隨機(jī)值rj e Zp,調(diào)用keyGen生成用戶(hù)u的私鑰為SK11 = {D=g^ ;^a^ A-Dj =/.mjf ,4 =g。}
第一級(jí)區(qū)域可信機(jī)構(gòu)授權(quán).在PUD中,每一個(gè)第一級(jí)DA由兩部分組成ID和他管轄的屬性集合A=Mtl, A1, . . . AmI其中Ai=Iaia, aij2, . . . Si, J ,aUj表示Ai個(gè)屬性集合中的第j 個(gè)屬性。第一級(jí)DA為權(quán)限最大者,如公司的各個(gè)分公司。如果有新的第一級(jí)DA(設(shè)為DAi) 加入,可信機(jī)構(gòu)通過(guò)調(diào)用CreateDA(PK,MK,A)方法為DAi創(chuàng)造主密鑰。獲得權(quán)限后的DAjf 有權(quán)限為下一級(jí)的DA分配權(quán)限,如子公司的各個(gè)部門(mén)。DAiK得到的主密鑰形勢(shì)結(jié)果如下
^ J), ^ ^ '' .HyutS'',
IJij = g .0 < /< / . 1< j< η^
£尸兄丨1 J </</ )
其中,A為屬性結(jié)構(gòu),r{u}是該DA的唯一 ID,也是Atl的ID,/f}是每個(gè)屬性集Ai的 ID, Ei用于不同Ai之間的轉(zhuǎn)換,這在下文中的解密部分會(huì)詳細(xì)講述。
下級(jí)DA/用戶(hù)私鑰結(jié)構(gòu).⑴DAi為下級(jí)DA授權(quán)私鑰,記為DAi+1, 調(diào)用createNewDA{MK”DAmA ;⑵DAi為該DAi內(nèi)的用戶(hù)授權(quán)私鑰,調(diào)用 createNewUseri^MKpU^A) 飛一1user/DA的屬性結(jié)構(gòu),它必定是上一級(jí)DA的屬性結(jié)構(gòu)的一個(gè)子集,如A= {A0, A1, AJ ,^=丨4>,<丨。下一級(jí)user/DA私鑰結(jié)構(gòu)為
SKJMK‘a(chǎn)~D =「^
=
I). , = g,J " 丨J ,0 < /< "/,I < /< ",,
]、二 g /'
3.文件創(chuàng)建
用戶(hù)主體為上傳到云端的文件選取唯一 ID,隨機(jī)選取密鑰FEK,對(duì)文件對(duì)稱(chēng)加密, 即Edek(F) — FEK0接著用戶(hù)主體調(diào)用Encrypt方法對(duì)密鑰FEK加密生成密文CT,并生成由屬性資源組成的訪問(wèn)控制樹(shù)T,T=(Tpud)OR(Tped), Tpro為PUD中訪問(wèn)控制樹(shù),Tped為PRD中訪問(wèn)控制樹(shù)。最后存儲(chǔ)在云端的密文形式為E(F) =〈CT,Efek (F) >.
建立訪問(wèn)控制樹(shù)Tpud過(guò)程如下
i.為訪問(wèn)控制樹(shù)中的每一個(gè)節(jié)點(diǎn)選取一個(gè)多項(xiàng)式qx,多項(xiàng)式的階為dx,則 dx=kx-l。
ii.為根節(jié)點(diǎn)R隨機(jī)選取s e Zp,滿(mǎn)足qK (O)=S,用多項(xiàng)式插值法隨機(jī)選取qK個(gè)值來(lái)定義多項(xiàng)式qR。
iii.對(duì)于樹(shù)上除根節(jié)點(diǎn)以外的節(jié)點(diǎn)X,令qx (O) =qparent(x) (index (x))然后再隨機(jī)選取dx個(gè)點(diǎn)把所有多項(xiàng)式定義完整。
按照以上三步驟,再為PRD環(huán)境中創(chuàng)建訪問(wèn)控制樹(shù)TPKD。
令Y為葉節(jié)點(diǎn)的集合,X為轉(zhuǎn)換節(jié)點(diǎn)的集合(只在Trai中用到X),則明文M按如下公式加密
權(quán)利要求
1.一種基于屬性加密的云計(jì)算安全訪問(wèn)控制方法,其特征在于該方法所包含的步驟為步驟I).劃分兩種用戶(hù)環(huán)境,公共領(lǐng)域PUD和私人領(lǐng)域PRD ;步驟2).可信機(jī)構(gòu)首先隨機(jī)選擇生成元,生成雙線性群和雙線性映射,接著選擇PUD領(lǐng)域的密鑰層次,生成PUD的主密鑰和公鑰,主密鑰保留,公鑰公開(kāi);步驟3).可信機(jī)構(gòu)利用步驟2生成的雙線性群和雙線性映射,生成PRD的主密鑰和公鑰,主密鑰保留,公鑰公開(kāi);步驟4).可信機(jī)構(gòu)創(chuàng)建下一層可信子機(jī)構(gòu),分配第一層屬性個(gè)體或?qū)傩约?,并生成主密鑰,下一層可信機(jī)構(gòu)能創(chuàng)建更小的子機(jī)構(gòu),分配第二層屬性個(gè)體或者屬性集合,第二層屬性個(gè)體或?qū)傩约蠟榈谝粚訉傩詡€(gè)體或?qū)傩约系淖蛹?,并分配密鑰,依次類(lèi)推;步驟5).用戶(hù)向可信機(jī)構(gòu)提供相關(guān)信息,申請(qǐng)相關(guān)領(lǐng)域的合法用戶(hù)權(quán)限,如果申請(qǐng)PUD 領(lǐng)域的權(quán)限,執(zhí)行步驟6,申請(qǐng)PRD領(lǐng)域的權(quán)限執(zhí)行步驟7 ;步驟6).可信機(jī)構(gòu)根據(jù)用戶(hù)提交的信息,判斷該用戶(hù)能否申請(qǐng)到PUD領(lǐng)域的權(quán)限,如果不能,則返回空;如果能,將根據(jù)該用戶(hù)信息發(fā)送給相應(yīng)可信子機(jī)構(gòu),相應(yīng)的可信子機(jī)構(gòu)分配對(duì)應(yīng)的屬性個(gè)體或?qū)傩约希梢粋€(gè)密鑰組件,發(fā)送給用戶(hù);跳轉(zhuǎn)執(zhí)行步驟8 ;步驟7).可信機(jī)構(gòu)根據(jù)用戶(hù)提交的信息,判斷該用戶(hù)能否申請(qǐng)到PRD領(lǐng)域的權(quán)限,如果不能,則返回空,如果能,將根據(jù)該用戶(hù)提供的信息分配對(duì)應(yīng)的數(shù)據(jù)屬性,生成密鑰組件, 發(fā)送給用戶(hù);步驟8).數(shù)據(jù)屬主為上傳到云端的文件選取唯一標(biāo)識(shí)對(duì)文件對(duì)稱(chēng)加密,保留密鑰,并選取公共領(lǐng)域?qū)傩约M成公共訪問(wèn)控制樹(shù),選取私人領(lǐng)域?qū)傩约M成私人訪問(wèn)控制樹(shù),用兩種樹(shù)對(duì)文件密鑰加密生成密文,并發(fā)送到云端;步驟9).用戶(hù)向云端發(fā)起對(duì)文件的訪問(wèn),云端返回對(duì)應(yīng)文件的密文,用戶(hù)輸入步驟6 或7生成的私鑰,和密文里的訪問(wèn)控制樹(shù)T進(jìn)行匹配,若匹配得到對(duì)應(yīng)文件密鑰,解密后獲得文件,若不匹配,返回空;步驟10).數(shù)據(jù)屬主向可信機(jī)構(gòu)發(fā)出通知,撤銷(xiāo)相關(guān)用戶(hù)屬性,遞交相關(guān)屬性序列和失效時(shí)間,委托可信機(jī)構(gòu)更新相關(guān)用戶(hù)權(quán)限;步驟11).可信機(jī)構(gòu)向相關(guān)可信子機(jī)構(gòu)發(fā)出通知,可信子機(jī)構(gòu)更新相關(guān)屬性的失效時(shí)間,生成新的私鑰組建,發(fā)送給相關(guān)用戶(hù);步驟12).數(shù)據(jù)屬主向云端發(fā)出通知,更新訪問(wèn)控制樹(shù),遞交相關(guān)屬性序列和失效時(shí)間,委托云端更新訪問(wèn)控制結(jié)構(gòu)樹(shù);步驟13).云端接收到更新信息后,生成相關(guān)組件,最后更新到相關(guān)訪問(wèn)控制樹(shù)中,并輸出新密文,替換原來(lái)的密文;步驟14).用戶(hù)屬主撤銷(xiāo)文件,將文件標(biāo)識(shí)和自己的簽名發(fā)送到云端;步驟15).云端確認(rèn)簽名后將該文件刪除,返回屬主刪除成功的信息。
2.根據(jù)權(quán)利要求I所述的基于屬性加密的云計(jì)算安全訪問(wèn)控制方法,其特征在于,所述的公共領(lǐng)域PUD,其密鑰結(jié)構(gòu)為分層密鑰結(jié)構(gòu),所述的可信機(jī)構(gòu)為具有等級(jí)的可信機(jī)構(gòu)。
3.根據(jù)權(quán)利要求I所述的基于屬性加密的云計(jì)算安全訪問(wèn)控制方法,其特征在于,訪問(wèn)控制樹(shù)為公共訪問(wèn)控制樹(shù)和私人訪問(wèn)控制樹(shù)兩種,公共訪問(wèn)控制樹(shù)中的節(jié)點(diǎn)存在聯(lián)合節(jié)點(diǎn),支持聯(lián)合屬性集訪問(wèn)。
全文摘要
本發(fā)明提供一種基于屬性加密的云計(jì)算安全訪問(wèn)控制方法,主要用于解決云計(jì)算訪問(wèn)控制結(jié)構(gòu)的安全性和隱私保護(hù)性問(wèn)題,本次發(fā)明的目的是在CP-ABE的基礎(chǔ)上,提出一種全新的框架MAH-ABE(MultipleandHierarchicalattributebasedencryption)訪問(wèn)控制模型,是一種具有等級(jí)的分領(lǐng)域多信任機(jī)構(gòu)的ABE安全框架-MAH-ABE.框架不僅按照私人領(lǐng)域和公共領(lǐng)域來(lái)區(qū)分屬性,而且將公共領(lǐng)域的屬性按照信任機(jī)構(gòu)的等級(jí)來(lái)劃分,使不同權(quán)限的信任機(jī)構(gòu)掌管不同的屬性密鑰分發(fā)機(jī)制,大大降低了單一信任機(jī)構(gòu)的工作量,同時(shí)提高了用戶(hù)的數(shù)據(jù)隱私保護(hù)性。提供了達(dá)到高效,靈活,細(xì)粒度的特點(diǎn)。
文檔編號(hào)H04L29/06GK102916954SQ20121038984
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者陳丹偉, 邵菊 申請(qǐng)人:南京郵電大學(xué)