張楚雯,常 遠(yuǎn),史聞博,郝旭龍,董國(guó)芳+
(1.云南民族大學(xué) 電氣信息工程學(xué)院,云南 昆明 650500;2.東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110167;3.東北大學(xué)秦皇島分校 計(jì)算機(jī)與通信工程學(xué)院,河北 秦皇島 066004)
隨著無(wú)線通信和傳感器技術(shù)的快速發(fā)展,越來(lái)越多的用戶運(yùn)用群智感知系統(tǒng)收集處理數(shù)據(jù),系統(tǒng)中的任務(wù)匹配效率變得越發(fā)重要[1],而其中的云服務(wù)器常被認(rèn)為是半可信的[2],它會(huì)執(zhí)行要求的操作,但也會(huì)與惡意用戶合謀和泄露隱私。并且系統(tǒng)中一些惡意用戶會(huì)為了利益而對(duì)其它用戶的真實(shí)身份和數(shù)據(jù)進(jìn)行惡意操作,因此系統(tǒng)面臨的安全問(wèn)題是不能忽視的。
在傳統(tǒng)的公鑰加密方案中存在對(duì)多個(gè)證書進(jìn)行同時(shí)管理的問(wèn)題,雖然基于身份的加密解決了這一問(wèn)題,但仍不能實(shí)現(xiàn)一對(duì)多數(shù)據(jù)共享,因此屬性加密算法(attribute-based encryption,ABE)被提出,它有效提高了匹配效率,而基于密文策略的屬性加密算法(attribute encryption based on ciphertext policy,CP-ABE)是將訪問(wèn)策略作為密文,根據(jù)相應(yīng)屬性生成密鑰[3],因此它較基于密鑰策略的屬性加密算法(attribute encryption based on key policy,KP-ABE)更適用于任務(wù)匹配系統(tǒng)[4,5]。
在用戶數(shù)量巨大的群智感知系統(tǒng)中,單一權(quán)威機(jī)構(gòu)ABE方案并不適用[6],因?yàn)闄C(jī)構(gòu)生成密鑰時(shí)的計(jì)算開(kāi)銷會(huì)隨著用戶數(shù)量的增加而增大,若不使用計(jì)算能力非常強(qiáng)大的設(shè)備且用戶注冊(cè)請(qǐng)求很頻繁時(shí),系統(tǒng)將會(huì)面臨嚴(yán)重的性能瓶頸問(wèn)題。此外,在CP-ABE方案中會(huì)有多個(gè)具有相同屬性的用戶使用相同的密鑰,一些惡意用戶會(huì)非法共享其密鑰來(lái)獲利,這就很難追究密鑰濫用者的責(zé)任。
由于群智感知系統(tǒng)的研究已經(jīng)成為了熱點(diǎn),而任務(wù)匹配的隱私保護(hù)一直是該系統(tǒng)中的一個(gè)重要問(wèn)題,其主要包括兩個(gè)方面[7],首先是身份隱私保護(hù),惡意用戶可能會(huì)根據(jù)匹配屬性和結(jié)果推測(cè)出具體身份進(jìn)行惡意攻擊。其次是數(shù)據(jù)隱私保護(hù),任務(wù)和感知數(shù)據(jù)中存在用戶的屬性和位置等隱私信息,惡意用戶會(huì)通過(guò)這些數(shù)據(jù)推斷出用戶的身份,而且任務(wù)內(nèi)容也可能會(huì)被惡意利用。關(guān)于任務(wù)匹配隱私保護(hù)的研究主要有權(quán)威機(jī)構(gòu)性能瓶頸,密鑰濫用和訪問(wèn)策略隱藏問(wèn)題。
首先,為解決權(quán)威機(jī)構(gòu)的性能瓶頸問(wèn)題,Liu等[8]創(chuàng)建了任務(wù)分配中心和數(shù)據(jù)中心,但是它使用盲身份進(jìn)行通信,用戶隱私信息會(huì)有或多或少的泄露。Zhang等[9]構(gòu)建了一個(gè)由多個(gè)權(quán)威機(jī)構(gòu)和多個(gè)屬性授權(quán)機(jī)構(gòu)基于與門的CP-ABE模型,但是該方案容量有限,不能靈活地支持訪問(wèn)控制策略。Liu等[10]也是通過(guò)引入屬性授權(quán)機(jī)構(gòu)進(jìn)行密鑰托管解決權(quán)威機(jī)構(gòu)的性能瓶頸問(wèn)題。
其次,為解決密鑰濫用和用戶身份驗(yàn)證問(wèn)題,Guo等[11]將用戶自己的身份標(biāo)識(shí)和屬性集提交給權(quán)威機(jī)構(gòu),由其根據(jù)惡意用戶私鑰計(jì)算出身份標(biāo)識(shí)符對(duì)密鑰濫用者進(jìn)行追蹤。Wang等[12]使用目錄管理用戶,并通過(guò)嵌入與用戶身份相關(guān)的隨機(jī)數(shù)實(shí)現(xiàn)可追溯性。Liu等[10]采用Boneh-Boyen短簽名算法實(shí)現(xiàn)非法共享其密鑰用戶的可追溯性機(jī)制。Ling等[13]采用Camenisch-Lysyanskaya(CL)簽名方案實(shí)現(xiàn)可追溯。Zuo等[14]和Fan等[15]結(jié)合區(qū)塊鏈驗(yàn)證用戶身份及其密鑰的合法性。Yan等[16]采用多域追溯法對(duì)密鑰濫用者進(jìn)行追蹤。Zhang等[17]的方案支持大范圍和多權(quán)威性。Si等[18]雖然采用了布隆過(guò)濾器完成用戶身份的快速驗(yàn)證,但是沒(méi)有進(jìn)行惡意用戶的追蹤。
最后,為解決訪問(wèn)策略可能會(huì)泄露用戶隱私的問(wèn)題,Liu等[10]對(duì)訪問(wèn)策略進(jìn)行了完全隱私,并提出了一種具有白盒可追溯性的多權(quán)限ABE方案。Hu[19]對(duì)訪問(wèn)結(jié)構(gòu)進(jìn)行了部分隱藏,發(fā)送到云服務(wù)器的訪問(wèn)結(jié)構(gòu)只包含屬性名,不包含具體屬性值,保護(hù)了用戶隱私安全。Cao等[20]提出的方案雖然支持策略隱藏和數(shù)據(jù)動(dòng)態(tài)更新,但是用的是可搜索加密,它只允許來(lái)自持有密鑰的單個(gè)用戶的查詢,不能很好應(yīng)用于多用戶任務(wù)匹配。
為解決這些問(wèn)題,本文結(jié)合群智感知任務(wù)匹配系統(tǒng)自身特點(diǎn),提出了一個(gè)防止密鑰濫用的任務(wù)匹配隱私保護(hù)方案。主要工作如下:
(1)為了解決權(quán)威機(jī)構(gòu)的性能瓶頸問(wèn)題,對(duì)系統(tǒng)的各個(gè)實(shí)體采用分工操作,由于解密密鑰生成過(guò)程中使用了大量的屬性,因此引入多個(gè)屬性授權(quán)機(jī)構(gòu)來(lái)進(jìn)行密鑰的生成,每個(gè)屬性授權(quán)機(jī)構(gòu)獨(dú)立地控制一組互不相交的屬性。權(quán)威機(jī)構(gòu)只負(fù)責(zé)生成公共參數(shù)和認(rèn)證用戶身份。
(2)為了防止用戶進(jìn)行密鑰濫用,本文基于計(jì)數(shù)布隆過(guò)濾器(count Bloom filter,CBF)和多棵默克爾帕特麗夏樹(shù)(multiple Merkle Patricia trees,MMPT)構(gòu)造了一個(gè)高效且安全的數(shù)據(jù)結(jié)構(gòu)CBF-MMPT。其中:CBF用來(lái)對(duì)數(shù)據(jù)進(jìn)行快速驗(yàn)證,實(shí)現(xiàn)用戶身份驗(yàn)證的高效性;MMPT用來(lái)存儲(chǔ)相應(yīng)的用戶私鑰及確保其安全性。引入一個(gè)用于存儲(chǔ)該數(shù)據(jù)結(jié)構(gòu)的誠(chéng)實(shí)代理,將云服務(wù)器中的數(shù)據(jù)與之進(jìn)行對(duì)比實(shí)現(xiàn)用戶身份和私鑰的驗(yàn)證。
(3)運(yùn)用完全隱藏訪問(wèn)策略實(shí)現(xiàn)用戶的隱私保護(hù)。通過(guò)理論安全和實(shí)驗(yàn)性能分析驗(yàn)證了本文方案的安全有效性,該方案能夠防止匹配系統(tǒng)中的密鑰濫用問(wèn)題并實(shí)現(xiàn)隱私保護(hù)。
本章介紹了系統(tǒng)模型、威脅模型和方案的設(shè)計(jì)目標(biāo),并對(duì)相關(guān)預(yù)備知識(shí)進(jìn)行了說(shuō)明。
本文考慮群智感知系統(tǒng)中任務(wù)匹配隱私保護(hù)場(chǎng)景,設(shè)計(jì)的系統(tǒng)模型如圖1所示。
該系統(tǒng)由任務(wù)發(fā)布者(data owner,DO)、感知用戶(data user,DU)、權(quán)威機(jī)構(gòu)(trusted-authority,CA)、云服務(wù)平臺(tái)(cloud server platform,CSP)、多個(gè)屬性密鑰授權(quán)機(jī)構(gòu)(attribute-key authorities,AAs)和誠(chéng)實(shí)代理(honest agent,HA)6個(gè)實(shí)體組成:①DO根據(jù)自身需求制定感知任務(wù),將任務(wù)內(nèi)容進(jìn)行加密后上傳至云服務(wù)器,用于獲取滿足需求的感知數(shù)據(jù)。與CSP和HA相比,DO的計(jì)算和存儲(chǔ)能力較低。②DU是滿足訪問(wèn)策略的用戶,它收集感知數(shù)據(jù)并返回給任務(wù)發(fā)布者,是不可信的。③CA是可信機(jī)構(gòu),它只用于公共參數(shù)的生成和用戶的注冊(cè),不涉及任何密鑰生成。④CSP是半可信的,它具有強(qiáng)大的計(jì)算和存儲(chǔ)能力,負(fù)責(zé)執(zhí)行感知任務(wù)的匹配,包括存儲(chǔ)任務(wù)信息和確定感知用戶權(quán)限,但它也會(huì)為了利益而存在共謀攻擊、泄露隱私等情況。⑤AAs承擔(dān)用戶屬性密鑰分發(fā)工作,減少了CA的工作量,提高整個(gè)系統(tǒng)的效率。⑥HA是可信實(shí)體,具有一定的計(jì)算和存儲(chǔ)能力,用于存儲(chǔ)、查找、添加和刪除用戶身份和私鑰,并進(jìn)行匹配前的驗(yàn)證操作。
該系統(tǒng)模型為防止密鑰濫用的任務(wù)匹配隱私保護(hù)方案模型,方案的具體過(guò)程可描述如下:
初始化階段:CA對(duì)參與用戶進(jìn)行身份認(rèn)證,頒發(fā)屬性集,由AAs為用戶生成加密和解密的密鑰,并將用戶數(shù)據(jù)發(fā)送給HA,HA先使用CBF進(jìn)行用戶身份的存儲(chǔ),再指定到相應(yīng)的默克爾帕特麗夏樹(shù)(Merkle Patricia trees,MPT),將該用戶對(duì)應(yīng)的私鑰存入到指定MPT中。
數(shù)據(jù)加密上傳階段:DO先用自己隨機(jī)生成的對(duì)稱密鑰加密任務(wù),再加密該對(duì)稱密鑰,并對(duì)訪問(wèn)策略進(jìn)行完全隱藏。最后將計(jì)算出的密文和訪問(wèn)策略上傳到CSP,CSP進(jìn)行密文的存儲(chǔ)。
用戶匹配驗(yàn)證階段:DU向CSP發(fā)送任務(wù)請(qǐng)求,CSP將接收到的DU的身份和私鑰發(fā)送給HA,HA進(jìn)行合法有效性驗(yàn)證,若驗(yàn)證成功,則返回響應(yīng),此時(shí)認(rèn)為該DU為誠(chéng)實(shí)可信的。
密文解密階段:CSP先驗(yàn)證DU的屬性是否滿足訪問(wèn)策略,若滿足,則將任務(wù)密文發(fā)送給該DU,DU解密得到對(duì)稱密鑰,再用對(duì)稱密鑰解密得到任務(wù)內(nèi)容。
本文考慮3種類型的攻擊:
虛假身份攻擊:不可信的DU可能會(huì)自己構(gòu)造一個(gè)虛假身份試圖參與到任務(wù)匹配的解密操作,它可能是被撤銷了身份的用戶,但是自己仍然擁有屬性集和私鑰,以此來(lái)解密任務(wù)密文,然后返回一個(gè)低質(zhì)量的感知數(shù)據(jù)來(lái)獲利,使得匹配效率低下。當(dāng)DU偽造多個(gè)虛假身份時(shí)可以發(fā)動(dòng)女巫攻擊。
密鑰濫用攻擊:不可信的DU會(huì)將自己的私鑰分享出去獲取更多利益,而那些未經(jīng)授權(quán)和認(rèn)證的用戶得到該私鑰后可能會(huì)推測(cè)出該DU的屬性隱私,或者是已經(jīng)經(jīng)過(guò)認(rèn)證的用戶可以解密出更多的密文。
共謀攻擊:半可信的CSP與不可信的DU進(jìn)行共謀,對(duì)于未經(jīng)驗(yàn)證但擁有屬性集和私鑰的非法用戶DU,CSP直接將任務(wù)密文發(fā)送給他實(shí)現(xiàn)共謀攻擊來(lái)獲得相應(yīng)的利益。
本文方案基于上述系統(tǒng)模型,設(shè)計(jì)實(shí)現(xiàn)以下安全目標(biāo):
用戶身份隱私保護(hù):在該系統(tǒng)中,用戶需要上傳包括其屬性的訪問(wèn)策略和解密私鑰,但由于存在惡意用戶,需避免其根據(jù)訪問(wèn)策略和結(jié)果推測(cè)出用戶的真實(shí)身份來(lái)進(jìn)行惡意操作。
數(shù)據(jù)隱私保護(hù):在任務(wù)匹配過(guò)程中,所有數(shù)據(jù)都是加密后再進(jìn)行計(jì)算處理的,這是為了防止系統(tǒng)中的惡意用戶和CSP推測(cè)出真實(shí)數(shù)據(jù)內(nèi)容進(jìn)行惡意處理。
操作效率:整個(gè)系統(tǒng)中的參與用戶數(shù)量巨大,在添加、查找、修改和刪除的數(shù)據(jù)處理操作中需要保證操作效率,避免操作遲緩而導(dǎo)致整個(gè)任務(wù)匹配系統(tǒng)效率低下。
計(jì)算開(kāi)銷小,低延遲:由于群智感知系統(tǒng)中的用戶和交易數(shù)量非常龐大,只有減小實(shí)體的計(jì)算開(kāi)銷和通信開(kāi)銷,使得整個(gè)系統(tǒng)的計(jì)算時(shí)間和通信時(shí)間較短,才能實(shí)現(xiàn)群智感知系統(tǒng)中任務(wù)匹配在現(xiàn)實(shí)應(yīng)用中的有效性和高效性。
本小節(jié)對(duì)雙線性映射、離散對(duì)數(shù)問(wèn)題、計(jì)算Diffie-Hellman密鑰交換算法問(wèn)題、布隆過(guò)濾器和默克爾帕特麗夏樹(shù)進(jìn)行了介紹。
2.4.1 雙線性映射[21]
2.4.2 離散對(duì)數(shù)(discrete logrithm,DL)問(wèn)題[22]
設(shè)G為生成元g的素?cái)?shù)p階的循環(huán)群,對(duì)于給定的h∈G, 計(jì)算a∈p值是很困難的,使得h=ga。
2.4.3 計(jì)算Diffie-Hellman密鑰交換算法(computational Diffie-Hellman,CDH)問(wèn)題[23]
令G為一素?cái)?shù)階p的循環(huán)群,對(duì)a隨機(jī)選取一個(gè)生成元g和隨機(jī)數(shù)a,b∈p, 給定 (g,ga,gb)∈G, 很難計(jì)算gab。
2.4.4 布隆過(guò)濾器(Bloom filter,BF)[24]
布隆過(guò)濾器提供了一種元素的快速篩選算法,它不需要存儲(chǔ)元素本身,并且可以表示全部集合。相比于其它數(shù)據(jù)結(jié)構(gòu),布隆過(guò)濾器在空間和時(shí)間方面都有很大的優(yōu)勢(shì)。BF的具體實(shí)現(xiàn)方法如下:首先,選擇k個(gè)相互獨(dú)立的哈希函數(shù)并建立一個(gè)m位數(shù)組,每個(gè)哈希函數(shù)的范圍都是 {1,2,…m}, 對(duì)于n個(gè)元素的集合S={s1,s2,…sn}, 將每個(gè)元素si∈S輸入到這些哈希函數(shù)中,其中i∈[1,k],將哈希值與位數(shù)組進(jìn)行映射,把相應(yīng)的位置h1(si),h2(si),…h(huán)k{si} 都置為1,其它位置則設(shè)置為0。
MPT樹(shù)結(jié)合了字典樹(shù)和默克爾樹(shù)的優(yōu)點(diǎn),在根節(jié)點(diǎn)保存整棵樹(shù)的哈希校驗(yàn)和,而校驗(yàn)和的生成則是采用了和默克爾樹(shù)生成一致的方式,又采用了壓縮整體的樹(shù)高,降低操作的復(fù)雜度的優(yōu)化方法,提供了一個(gè)自校驗(yàn)防篡改的數(shù)據(jù)結(jié)構(gòu),用來(lái)存儲(chǔ)鍵值對(duì)關(guān)系。本文主要用此結(jié)構(gòu)來(lái)存儲(chǔ)用戶私鑰和屬性,以此來(lái)與感知用戶提交的私鑰進(jìn)行比較驗(yàn)證其身份和私鑰是否合法有效。
本章首先介紹了CBF-MMPT數(shù)據(jù)結(jié)構(gòu)的構(gòu)成,并以此為基礎(chǔ)提出了防止密鑰濫用的任務(wù)匹配隱私保護(hù)方案。本文方案所用的符號(hào)定義見(jiàn)表1。
表1 本文方案中的符號(hào)定義
為了在任務(wù)匹配時(shí)避免密鑰濫用情況發(fā)生,需要讓感知用戶在進(jìn)行身份ID和私鑰skID,m對(duì)應(yīng)關(guān)系的查找驗(yàn)證時(shí)快速準(zhǔn)確,而且由于用戶的身份和私鑰需要實(shí)時(shí)添加和刪除,還需要考慮動(dòng)態(tài)操作的效率和用戶數(shù)據(jù)隱私問(wèn)題。因此本文提出了一個(gè)新型數(shù)據(jù)結(jié)構(gòu)作為驗(yàn)證標(biāo)準(zhǔn),以防止密鑰濫用問(wèn)題發(fā)生。
3.1.1 數(shù)據(jù)結(jié)構(gòu)描述
首先,為了驗(yàn)證用戶身份的合法有效性,本文使用了布隆過(guò)濾器BF判斷用戶ID是否在集合中。BF是一種空間效率高的概率型數(shù)據(jù)結(jié)構(gòu),它專門用來(lái)檢測(cè)集合中是否存在特定的元素。但由于哈希沖突使BF不能夠準(zhǔn)確判斷一個(gè)元素不在集合內(nèi),并且隨著存入的元素?cái)?shù)量增加,誤算率隨之增加,因此引入最小完美哈希函數(shù),它是完全不會(huì)沖突的哈希函數(shù)。又由于BF不能進(jìn)行元素的刪除,而計(jì)數(shù)布隆過(guò)濾器(CBF)可以,它通過(guò)增加計(jì)數(shù)器,給對(duì)應(yīng)的k(k為哈希函數(shù)個(gè)數(shù))個(gè)計(jì)數(shù)器的值進(jìn)行加1和減1來(lái)實(shí)現(xiàn)元素的添加和刪除。又因?yàn)镃BF只是對(duì)用戶的ID進(jìn)行了驗(yàn)證,并沒(méi)有存儲(chǔ)其對(duì)應(yīng)的私鑰,因此還需要一個(gè)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)來(lái)存儲(chǔ)私鑰。本文使用了多棵MPT樹(shù)來(lái)存儲(chǔ)屬性m和私鑰skID,m, 因?yàn)樵摂?shù)的整體的樹(shù)高較默克爾樹(shù)低,操作的復(fù)雜度較小。最后,將驗(yàn)證用戶身份ID的CBF和存儲(chǔ)私鑰的MPT用連接函數(shù)連接起來(lái)以實(shí)現(xiàn)ID和私鑰skID,m的關(guān)系驗(yàn)證。
圖2 CBF-MMPT數(shù)據(jù)結(jié)構(gòu)
3.1.2 動(dòng)態(tài)操作
本文設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)除了支持用戶密鑰驗(yàn)證外,還應(yīng)包括用戶身份/屬性添加和注銷動(dòng)態(tài)操作,以此適應(yīng)任務(wù)匹配系統(tǒng)時(shí)的實(shí)時(shí)更新?tīng)顟B(tài)。
身份/屬性添加:該情況是指新用戶參與到任務(wù)匹配系統(tǒng)中來(lái),其身份ID和私鑰skID,m需要添加到CBF-MMPT中。假設(shè)系統(tǒng)需要添加新用戶x和用戶ID1的新私鑰sky: 對(duì)于新用戶x, 首先用k個(gè)哈希函數(shù)將其映射到CBF相應(yīng)的位置中,并在這些位置加1,再通過(guò)構(gòu)造的函數(shù)f(H(x))=Mj將x連接到存放私鑰的第j棵MPT樹(shù)上;對(duì)于新私鑰sky, 則通過(guò)CBF和f(H(ID1))=Mj+1直接插入第j+1棵MPT中。具體插入結(jié)構(gòu)如圖3所示。
中國(guó)的磷肥工業(yè)“大器晚成”,從過(guò):磷酸鈣、鈣鎂磷肥、硝酸磷肥、磷酸銨到現(xiàn)在的磷復(fù)肥,整整摸索了半個(gè)世紀(jì)之久。在1953年開(kāi)始的第一個(gè)國(guó)民經(jīng)濟(jì)“五年計(jì)劃”中,國(guó)家確定了磷肥工業(yè)實(shí)行酸法、熱法并舉的方針,重點(diǎn)安排在南京和太原分別建設(shè)兩個(gè)年產(chǎn)40萬(wàn)噸和20萬(wàn)噸的普鈣廠。1958年,南京磷肥廠率先建成投產(chǎn),宣告了我國(guó)磷肥工業(yè)的誕生。5年后,利用大煉鋼鐵時(shí)代留下的高爐,我國(guó)科學(xué)家在江西撫州市東鄉(xiāng)磷肥廠成功研制出可以直接使用16%P2O5低品位磷礦作原料的鈣鎂磷肥。
圖3 CBF-MMPT數(shù)據(jù)插入結(jié)構(gòu)
身份/屬性撤銷:對(duì)于惡意用戶需要對(duì)其進(jìn)行撤銷操作(具體情況本文不討論),其身份ID和私鑰skID,m需要從CBF-MMPT中刪除。假設(shè)系統(tǒng)需要撤銷惡意用戶x和用戶ID1的私鑰sky: 對(duì)于惡意用戶x, 首先用k個(gè)哈希函數(shù)將其映射到CBF相應(yīng)的位置中,并在這些位置減1;對(duì)于私鑰sky, 則通過(guò)CBF和f(H(ID1))=Mj+1找到存放的第j+1棵MPT,再進(jìn)行刪除操作。具體撤銷結(jié)構(gòu)如圖4所示。
圖4 CBF-MMPT數(shù)據(jù)刪除結(jié)構(gòu)
群智感知系統(tǒng)中防止密鑰濫用的任務(wù)匹配隱私保護(hù)方案的協(xié)議由初始化、數(shù)據(jù)加密上傳、用戶匹配驗(yàn)證和密文解密4個(gè)階段構(gòu)成,具體可由SystemSetup、AASetup、USKeyGen、Encrypt、CReencrypt和Decrypt這6個(gè)算法來(lái)描述。
首先介紹每個(gè)算法的具體實(shí)現(xiàn):
協(xié)議具體過(guò)程如下:
初始化階段:首先CA運(yùn)行SystemSetup算法進(jìn)行系統(tǒng)初始化,得到公共參數(shù)GP, 然后對(duì)DU,DO進(jìn)行身份認(rèn)證,并頒發(fā)唯一身份標(biāo)識(shí)符ID和屬性集SID, 將GP,ID和SID發(fā)送給AAs。AAs根據(jù)GP,ID和SID執(zhí)行AASetup和USKeyGen生成解密密鑰skID,m發(fā)送給DU。接著AAj將該DU的H(ID),H(skID,m) 和H(m) 存儲(chǔ)在HA的CBF-MMPT數(shù)據(jù)結(jié)構(gòu)中用于后續(xù)驗(yàn)證。
數(shù)據(jù)加密上傳階段:具體分為3部分:
對(duì)稱密鑰:選擇一個(gè)隨機(jī)元素R∈GT(密鑰種子)計(jì)算s=H1(R,MSG) 和對(duì)稱密鑰Ksym=H2(R)。
加密:DO運(yùn)行Encrypt算法對(duì)MSG進(jìn)行加密和上傳,將所得密文CT和完全隱藏的訪問(wèn)策略 (Ml×n,ρ) 發(fā)送給CSP,將H(CT) 上傳到區(qū)塊鏈上,防止惡意用戶篡改數(shù)據(jù),保證密文的完整性(本文不具體討論)。
用戶匹配驗(yàn)證階段:假設(shè)具有一組屬性SID的DUID想要解密密文CT, 首先發(fā)送H(ID) 和H(skID,m) 給CSP,CSP將H(ID) 和H(skID,m) 發(fā)送給HA,HA根據(jù)數(shù)據(jù)結(jié)構(gòu)驗(yàn)證該用戶身份是否合法,并且檢驗(yàn)其私鑰是否對(duì)應(yīng)于該身份標(biāo)識(shí)符,若驗(yàn)證不通過(guò),則拒絕該請(qǐng)求,若通過(guò),HA則生成重加密密鑰ReKeym給CSP,CSP運(yùn)行CReencrypt算法計(jì)算出新密文CTCSP, 然后查看其屬性集SID是否與訪問(wèn)控制匹配,若SID|≠(Ml×n,ρ), 則該算法輸出⊥。否則,CSP將CT′={CT1,CTCSP} 發(fā)送給該DU。
本章利用博弈假設(shè)的方法,證明所提方案滿足匹配的正確性和可靠性,用戶身份和數(shù)據(jù)的隱私性。
定理1 匹配正確性。CSP通過(guò)HA驗(yàn)證后進(jìn)行重加密,DU進(jìn)行解密操作能夠得到正確任務(wù)MSG。
Di=C1,ie(kID,ρ(i),1,C2,i)e(H(ID),C′3,i)e(kID,ρ(i),2,C4,i)=
e(g,g)λie(g,g)αρ(i)ri·
e(gαρ(i)H(ID)βρ(i)+vρ(i)H(ρ(i))tρ(i),g-ri)·
e(H(ID),gβρ(i)rigvρ(i)rigwi)e(gtρ(i),H(ρ(i))ri)=
e(g,g)λie(H(ID),g)wi
可得
定理2 驗(yàn)證可靠性。CSP只有真正通過(guò)訪問(wèn)HA進(jìn)行用戶身份和私鑰驗(yàn)證才能得到真實(shí)重加密密鑰ReKeym, 否則驗(yàn)證不通過(guò)不能進(jìn)行后續(xù)解密操作。
因此不能計(jì)算MSG,上述假設(shè)不成立,敵手使用ReKey′m作為重加密密鑰使DU不能得到正確Ksym, 因此不能解密出任務(wù)內(nèi)容,抵御了共謀攻擊。
定理3 身份隱私保護(hù)。CSP不能從所得數(shù)據(jù)中推測(cè)用戶的真實(shí)身份。在數(shù)據(jù)上傳階段,CSP不能從加密密文中獲取DO真實(shí)身份;在匹配驗(yàn)證階段,CSP不能根據(jù)DU發(fā)送的數(shù)據(jù)獲取其真實(shí)ID。
定理4 數(shù)據(jù)隱私保護(hù)。DU和CSP 不能從獲得的數(shù)據(jù)中得出密文的原始數(shù)據(jù)。在數(shù)據(jù)上傳階段,CSP 不能從獲取數(shù)據(jù)中得知真實(shí)任務(wù)MSG;在匹配驗(yàn)證階段,CSP不能根據(jù)重加密密鑰ReKeym從密文CT′中獲得MSG,DU也不能直接從密文CT′中獲得MSG。
本章主要從理論和實(shí)驗(yàn)分析方案的計(jì)算開(kāi)銷和通信開(kāi)銷。表2總結(jié)了性能分析中使用的符號(hào)。
表2 性能分析中使用的符號(hào)定義
對(duì)本方案所需的計(jì)算和通信開(kāi)銷進(jìn)行理論分析。
5.1.1 計(jì)算開(kāi)銷
本方案的計(jì)算開(kāi)銷分析主要是對(duì)解密密鑰生成、用戶驗(yàn)證、加密和解密4個(gè)階段,并與方案[10]、方案[16]、方案[17]進(jìn)行比較。首先在解密密鑰生成階段,本方案中的AAs需要根據(jù)屬性對(duì)DU生成解密私鑰skID,m, 其中包括兩部分kID,m,1=gαH(m)H(ID)βH(m)+vmH(m)tm和kID,m,2=gtm, 其計(jì)算量為Nm(2E+2H)。 然后在數(shù)據(jù)上傳階段,DO對(duì)任務(wù)進(jìn)行加密計(jì)算出密文CT, 所需計(jì)算量為lH+(2l+1)ET+4lE+(l+1)MT+lM, 在進(jìn)行用戶驗(yàn)證時(shí),HA中的計(jì)算開(kāi)銷為:CBF用于驗(yàn)證用戶身份,查找驗(yàn)證時(shí)間復(fù)雜度為O(1); MMPT用來(lái)存儲(chǔ)私鑰skID,m, 其檢索復(fù)雜度為O(logn), CSP接收到HA的ReKeym對(duì)CT進(jìn)行了重加密生成新密文CT′, 計(jì)算開(kāi)銷為lE+lM, 最后DU使用解密密鑰解密得到密文MSG的計(jì)算量為3IP+IET+4IMT+H。 本文方案與Liu等[10]提出的一種具有白盒可追溯性的多權(quán)限ABE方案,Yan等[16]采用的多域追溯方法和Zhang等[17]提出的支持大范圍和多權(quán)威的追蹤方案進(jìn)行對(duì)比,具體計(jì)算開(kāi)銷結(jié)果見(jiàn)表3。
表3 計(jì)算開(kāi)銷對(duì)比
5.1.2 通信開(kāi)銷
本方案的通信開(kāi)銷分析主要是對(duì)公共參數(shù)長(zhǎng)度、解密密鑰長(zhǎng)度和密文長(zhǎng)度,具體對(duì)比見(jiàn)表4。本方案的公共參數(shù)長(zhǎng)度與方案[10]和方案[17]相同,比方案[16]少一個(gè)元素。相比與其它方案,本方案的解密密鑰長(zhǎng)度也要小得多,通信開(kāi)銷較小。
表4 通信開(kāi)銷對(duì)比
在實(shí)驗(yàn)中,對(duì)本文提出的防止密鑰濫用的任務(wù)匹配隱私方案從解密密鑰生成、任務(wù)加密和解密的時(shí)間開(kāi)銷進(jìn)行性能評(píng)估,又由于現(xiàn)有方案都是對(duì)密鑰濫用的惡意用戶進(jìn)行追蹤而本方案對(duì)密鑰濫用情況進(jìn)行了避免,因此將本文的用戶驗(yàn)證與其它方案的追蹤時(shí)間進(jìn)行對(duì)比。實(shí)驗(yàn)在配置為Intel Corei5-10200H CPU和16 GB RAM的筆記本電腦上的Ubuntu 16.04系統(tǒng)上運(yùn)行,采用C語(yǔ)言進(jìn)行編譯,算法是基于雙線性配對(duì)的密碼(PBC)庫(kù)(版本號(hào)為0.5.14)和GNU多精度算法(GMP)。具體時(shí)間比較如圖5所示。在實(shí)驗(yàn)中觀察屬性個(gè)數(shù)從2增加到20的時(shí)間開(kāi)銷,并且由圖5可以看出各個(gè)步驟的時(shí)間均隨屬性個(gè)數(shù)線性增加,具體步驟如下:①密鑰生成階段時(shí)間開(kāi)銷:首先由AAs生成用戶解密密鑰,主要開(kāi)銷源于冪乘和哈希計(jì)算。圖5(a)看出相比于方案[10]、方案[17]中的AAs和方案[16]中的CA計(jì)算時(shí)間都要??;②數(shù)據(jù)加密階段時(shí)間開(kāi)銷:圖5(b)看出相比于方案[10]和方案[17]都要小,雖然在加密階段比方案[16]的時(shí)間開(kāi)銷大,但是方案[16]采用了短簽名和環(huán)簽名技術(shù)對(duì)惡意用戶進(jìn)行追蹤,在生成解密密鑰和追蹤用戶階段的開(kāi)銷都比本方案大,因此本方案進(jìn)行數(shù)據(jù)解密時(shí)的時(shí)間開(kāi)銷是可以接受的;③數(shù)據(jù)解密階段時(shí)間開(kāi)銷:圖5(c)看出相比于方案[10]、方案[16]和方案[17]都要??;④由于現(xiàn)有方案都只是對(duì)密鑰濫用進(jìn)行了惡意用戶的追蹤,而本文設(shè)計(jì)的方案是避免了密鑰濫用情況發(fā)生,因此將本方案中的用戶驗(yàn)證時(shí)間和其它方案的追蹤時(shí)間進(jìn)行對(duì)比,從圖5(d)可以看出驗(yàn)證時(shí)間比方案[10]、方案[16]和方案[17]都要小,因此本文設(shè)計(jì)的方案是合理有效的。
圖5 時(shí)間開(kāi)銷
本文提出了一個(gè)防止密鑰濫用的任務(wù)匹配隱私保護(hù)方案。為了解決任務(wù)匹配中存在的中心機(jī)構(gòu)性能瓶頸和密鑰濫用的問(wèn)題,首先引入了AAs為用戶生成解密密鑰,分擔(dān)了CA的工作量,解決了CA性能瓶頸問(wèn)題;其次構(gòu)造了CBF-MMPT數(shù)據(jù)結(jié)構(gòu)來(lái)進(jìn)行用戶身份和私鑰的快速高效驗(yàn)證,避免密鑰濫用發(fā)生。實(shí)驗(yàn)結(jié)果表明,該方案是有效的,且具有更低的時(shí)間開(kāi)銷。但目前并未考慮感知用戶傳輸虛假信息的情況,如何高效且安全地解決虛假信息攻擊并對(duì)惡意用戶進(jìn)行撤銷將是下一步的研究方向。