張嘉懿
(同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804)
無(wú)線體域網(wǎng)中公鑰可搜索加密方案
張嘉懿
(同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804)
無(wú)線體域網(wǎng)和云平臺(tái)的結(jié)合使得數(shù)字化醫(yī)療和遠(yuǎn)程醫(yī)療成為可能,其隱私保護(hù)是十分重要的研究?jī)?nèi)容。針對(duì)無(wú)線體域網(wǎng)中加密數(shù)據(jù)的檢索問(wèn)題,提出使用可多關(guān)鍵詞搜索的公鑰加密算法,并通過(guò)讓云服務(wù)商參與部分解密減輕移動(dòng)設(shè)備的計(jì)算壓力。用戶(hù)可以在不泄露隱私的情況下對(duì)云端存儲(chǔ)的加密數(shù)據(jù)進(jìn)行搜索,且該方案適用于體域網(wǎng)設(shè)備運(yùn)算能力不足的場(chǎng)景。從正確性、安全性和計(jì)算效率對(duì)方案進(jìn)行分析。
無(wú)線體域網(wǎng);公鑰可搜索加密;隱私保護(hù);云計(jì)算
隨著電子醫(yī)療技術(shù)和互聯(lián)網(wǎng)的發(fā)展,云計(jì)算[1]在無(wú)線體域網(wǎng)領(lǐng)域獲得越來(lái)越多的使用。其相比傳統(tǒng)的自建服務(wù)器,擁有低成本、維護(hù)簡(jiǎn)單、按需付費(fèi)等優(yōu)勢(shì),另外,云計(jì)算高可用、高性能、易擴(kuò)展的特點(diǎn)也解決了當(dāng)前移動(dòng)設(shè)備數(shù)據(jù)共享困難、計(jì)算能力不足等問(wèn)題。因此,吸引了眾多企業(yè)和個(gè)人將大量數(shù)據(jù)放到第三方云存儲(chǔ)中心存放,其中就包括了無(wú)線體域網(wǎng)設(shè)備。然而,便捷的服務(wù)同時(shí)也帶來(lái)了相應(yīng)的安全問(wèn)題。由于用戶(hù)存放的數(shù)據(jù)中包含大量隱私,一旦服務(wù)商遭到攻擊或數(shù)據(jù)被服務(wù)商非法讀取,就會(huì)造成用戶(hù)隱私被泄漏。如何保護(hù)用戶(hù)數(shù)據(jù)隱私一直是無(wú)線體域網(wǎng)的重要研究課題之一。
為了更好地保護(hù)敏感信息,當(dāng)前最有效的方案是在本地對(duì)用戶(hù)信息進(jìn)行加密,然后上傳到第三方云服務(wù)器。這樣雖然有效地保證了數(shù)據(jù)的機(jī)密性和安全性,但是也給用戶(hù)檢索數(shù)據(jù)以及數(shù)據(jù)的共享帶來(lái)了困難。由于加密后的數(shù)據(jù)無(wú)異于亂碼,因此云服務(wù)提供商無(wú)法對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行關(guān)鍵詞搜索。而為了保證用戶(hù)的隱私,在普通加密策略下,用戶(hù)只能將自己所有的數(shù)據(jù)都下載到本地,全部解密出明文,然后才能夠?qū)γ魑倪M(jìn)行搜索。這一方案對(duì)無(wú)線體域網(wǎng)環(huán)境中移動(dòng)設(shè)備有限的網(wǎng)絡(luò)帶寬、計(jì)算資源和存儲(chǔ)資源是完全無(wú)法接受的。然而,目前對(duì)于無(wú)線體域網(wǎng)中數(shù)據(jù)加密的研究主要集中于對(duì)加密數(shù)據(jù)的訪問(wèn)控制上,在電子醫(yī)療系統(tǒng)迅速發(fā)展的當(dāng)前,研究適合在無(wú)線體域網(wǎng)環(huán)境中應(yīng)用的可搜索加密機(jī)制是十分迫切的。
密文檢索的主要實(shí)體包含數(shù)據(jù)擁有者、數(shù)據(jù)使用者和存儲(chǔ)服務(wù)提供商。密文檢索策略主要分為全文匹配檢索和建立索引檢索。對(duì)于全文匹配檢索,數(shù)據(jù)擁有者直接對(duì)數(shù)據(jù)明文進(jìn)行加密,然后將密文上傳到云服務(wù)中心。對(duì)于密文索引策略,數(shù)據(jù)擁有者先建立關(guān)鍵詞索引,然后根據(jù)特定的關(guān)鍵詞索引加密策略對(duì)數(shù)據(jù)明文和索引分別進(jìn)行加密,然后把加密后的密文和索引一起上傳到云服務(wù)中心。在搜索過(guò)程中,數(shù)據(jù)使用者將加密后的搜索關(guān)鍵詞上傳到云存儲(chǔ)中心,云服務(wù)中心根據(jù)不同的加密機(jī)制對(duì)密文或索引進(jìn)行搜索,返回匹配成功的密文數(shù)據(jù)。密文搜索的實(shí)體間交互流程如圖1所示。由于直接對(duì)密文進(jìn)行全文匹配搜索不但效率低下,還會(huì)暴露關(guān)鍵詞所處文章位置等重要信息[2]。針對(duì)這種情形,文獻(xiàn)[3]提出了一種基于關(guān)鍵詞索引的對(duì)稱(chēng)密鑰可搜索加密機(jī)制,但其存在抗統(tǒng)計(jì)分析攻擊能力低的缺點(diǎn),且對(duì)稱(chēng)加密密鑰管理難度大、僅支持用戶(hù)搜索訪問(wèn)自己上傳到第三方云平臺(tái)的數(shù)據(jù)的場(chǎng)景。因此,Boneh等人[4]提出了一種基于公鑰的可搜索加密算法,解決了第三方數(shù)據(jù)擁有者將數(shù)據(jù)上傳到云服務(wù)器上供數(shù)據(jù)使用者訪問(wèn)的情況,并通過(guò)改進(jìn)基于身份的加密機(jī)制構(gòu)造了一種關(guān)鍵詞搜索的公鑰加密算法。在實(shí)際搜索時(shí),單個(gè)關(guān)鍵詞的查詢(xún)往往不能滿(mǎn)足用戶(hù)實(shí)際需求,Dong等人[5]基于文獻(xiàn)[6]的模型,使用雙線性映射設(shè)計(jì)了一個(gè)支持多關(guān)鍵詞搜索的公鑰加密算法。然而,基于公鑰加密算法存在加密效率低的情況,考慮到移動(dòng)設(shè)備上計(jì)算能力和網(wǎng)絡(luò)帶寬有限的問(wèn)題,文獻(xiàn)[7]借鑒了部分解密的思路,通過(guò)讓云服務(wù)商執(zhí)行部分解密,在不損失安全性的情況下降低了客戶(hù)端的計(jì)算負(fù)載,適用于無(wú)線體域網(wǎng)環(huán)境。
圖1 密文搜索實(shí)體交互流程
本文將主要探討無(wú)線體域網(wǎng)環(huán)境中對(duì)密文隱私數(shù)據(jù)的安全檢索,將可搜索加密技術(shù)應(yīng)用到無(wú)線體域網(wǎng)環(huán)境中,并對(duì)方案的安全性和可行性進(jìn)行分析。
1.1 雙線性映射
假設(shè)G1和G2是階數(shù)為素?cái)?shù)p的兩個(gè)循環(huán)群,g為G1的生成元,G1為p階加法循環(huán)群,G2為p階乘法循環(huán)群。假如映射e滿(mǎn)足下列性質(zhì),則稱(chēng)映射e:G1×G1→G2為雙線性映射[5]。
(1)雙線性
如果坌u,v∈G1,且坌x,y∈Zp*,都有e(ux,vy)=e(u,v)xy,那么我們就稱(chēng)映射e:G1×G1→G2是雙線性的。
(2)非退化性
如果g為G1的一個(gè)生成元,那么e(g,g)為G2的一個(gè)生成元。
(3)可計(jì)算性
對(duì)于坌u,v∈G1,存在算法可以在多項(xiàng)式時(shí)間內(nèi)是計(jì)算出e(u,v)。
1.2 判定雙線性Diffie-Hellman假設(shè)(DBDH Assumption)
定義1(判定雙線性Diffie-Hellman問(wèn)題[5]):假設(shè)G1是一個(gè)素?cái)?shù)p階的循環(huán)群,g為循環(huán)群G1的一個(gè)生成元。給定元組(g,gα,gβ,gγ)∈G1,判定e(g,g)αβγ=R是否成立。其中α,β,γ∈Zp*,R∈G2*,且α,β,γ,R都為隨機(jī)選取。假設(shè)有一個(gè)算法A在e(g,g)αβγ=R時(shí)輸出1,否則輸出0。那么假如公式|Pr[A(g,gα,gβ,gγ,e(g,g)αβγ)=1]-Pr[A(g,gα,gβ,gγ,R)=1]|≥ε成立,我們說(shuō)算法A在解決循環(huán)群G1內(nèi)的DBDH問(wèn)題具有優(yōu)勢(shì)ε。
定義2(判定雙線性Diffie-Hellman假設(shè)):如果任意時(shí)間t內(nèi)算法A在群(G1,G2)上的DBDH問(wèn)題時(shí)具有的優(yōu)勢(shì)均小于ε,則稱(chēng)群(G1,G2)上的(t,ε)-DBDH假設(shè)成立。
適用于無(wú)線體域網(wǎng)環(huán)境的可搜索加密算法應(yīng)該具備安全性高,能夠保證用戶(hù)隱私不被泄漏;計(jì)算的時(shí)間和空間效率高,能夠在無(wú)線體域網(wǎng)的可穿戴設(shè)備上進(jìn)行加解密操作;可支持多關(guān)鍵詞檢索,且搜索過(guò)程中不會(huì)暴露用戶(hù)隱私信息三個(gè)特點(diǎn)。公鑰可搜索加密機(jī)制雖然便于解決密文數(shù)據(jù)共享的問(wèn)題,但是其也存在加解密計(jì)算復(fù)雜度的缺點(diǎn)。本文借鑒了文獻(xiàn)7通過(guò)讓云服務(wù)提供商參與部分解密來(lái)降低移動(dòng)設(shè)備運(yùn)算成本,并基于雙線性映射構(gòu)建一個(gè)多關(guān)鍵詞公鑰可搜索加密方案的思路。方案主要由以下六個(gè)算法構(gòu)成。
(1)密鑰生成
先以一個(gè)足夠大的正整數(shù)K作為輸入,得到素?cái)?shù)p,進(jìn)而計(jì)算兩個(gè)p階循環(huán)群G1和G2和一個(gè)雙線性對(duì)e:G1×G1→G2。然后隨機(jī)選擇函數(shù)F1,F(xiàn)2作為{0,1}*到G1*的映射,函數(shù)F3作為G2到{0,1}logp的映射,函數(shù)F4作為G2到{0,1}n的映射,其中n為明文二進(jìn)制形式長(zhǎng)度。最后隨機(jī)選擇兩個(gè)整數(shù)x,y∈Zp*。假設(shè)g是循環(huán)群G1點(diǎn)一個(gè)生成元,得到用戶(hù)的公私鑰對(duì)即(gx,x),服務(wù)提供商的公私鑰對(duì)為(gy,y)。
(2)可搜索加密
隨機(jī)選擇r∈Zp*和t∈{0,1}n,使用用戶(hù)的公鑰gx和服務(wù)商的公鑰gy,對(duì)數(shù)據(jù)m進(jìn)行加密,得到密文Cm為(gr,F(xiàn)4(e(gx,gy)r)⊕t,F(xiàn)4(e(F2(t),gx)r)⊕m)。假設(shè)數(shù)據(jù)擁有者為文本設(shè)置了k個(gè)關(guān)鍵詞Wi,…,Wk。使用數(shù)據(jù)用戶(hù)的公鑰gx逐個(gè)對(duì)關(guān)鍵詞Wi進(jìn)行加密,加密后的每個(gè)關(guān)鍵詞索引CWi為F3(e(gx,F(xiàn)1(Wi))r)。最后將密文和加密后的索引一起上傳到第三方存儲(chǔ)中心。
(3)陷門(mén)生成
數(shù)據(jù)用戶(hù)輸入查詢(xún)關(guān)鍵詞W',算法使用數(shù)據(jù)用戶(hù)的私鑰x生成陷門(mén)TW'為F1(W')x。
(4)關(guān)鍵詞匹配
根據(jù)用戶(hù)上傳的陷門(mén)TW',計(jì)算F3(e(gr,TW'))并與CWi逐一匹配,如果匹配成功返回true,否則返回false。
(5)服務(wù)器部分解密
云服務(wù)器使用私鑰y和數(shù)據(jù)用戶(hù)者的公鑰gx計(jì)算Ct為e(F2(t),gr),并將Ct與Cm一起返回給查詢(xún)者。
(6)用戶(hù)解密
數(shù)據(jù)查詢(xún)者使用私鑰x,計(jì)算Cm3⊕F4(Ctx)得到明文m。
3.1 正確性
(1)關(guān)鍵詞匹配階段
這里使用反證法對(duì)關(guān)鍵詞匹配的正確性進(jìn)行證明。在關(guān)鍵詞匹配算法中,假設(shè)F3(e(gr,TW'))=CWi時(shí),W≠W'。則根據(jù)1.1節(jié)中雙線性映射的定義,可以得到F3(e(gr,TW'))=F3(e(gr,F(xiàn)1(W')x))=F3(e(g,F(xiàn)1(W'))rx)=F3(e(gx,F(xiàn)1(W')r))≠F3(e(gx,F(xiàn)1(Wi))r)。這與F3(e(gr,TW'))=CWi矛盾,因此,得證關(guān)鍵詞匹配算法是正確的。
(2)解密階段
本節(jié)逐步對(duì)解密過(guò)程的正確性進(jìn)行推導(dǎo)。首先,在服務(wù)器端的部分解密過(guò)程中的隨機(jī)數(shù)t可以通過(guò)使用數(shù)據(jù)用戶(hù)公鑰、服務(wù)器私鑰和密文計(jì)算得到。根據(jù)1.1節(jié)中雙線性映射的定義可得,隨機(jī)數(shù)t=t⊕F4(e(gx,gy)r)⊕F4(e(gx,gy)r)=t⊕F4(e(gx,gy)r)⊕F4(e(g,g)xyr)=t⊕F4(e(gx,gy)r)⊕F4(e(gx,gy)y)=Cm2⊕F4(e(gx,Cm1)y)。服務(wù)器在計(jì)算得到t后,就能對(duì)密文進(jìn)行部分解密操作。在客戶(hù)端解密操作中,客戶(hù)端使用用戶(hù)私鑰x對(duì)部分解密結(jié)果進(jìn)行運(yùn)算,計(jì)算Cm3⊕F4(Ctx)=F4(e(F2(t),gx)r)⊕m⊕F4(Ctx)=F4(e(F2(t),gx)r)⊕F4(e(F2(t),gr)x)⊕m= F4(e(F2(t),gx)r)⊕F4(e(F2(t),gx)r)⊕m=m。因此,最后通過(guò)抑或運(yùn)算可以得到最終的明文m,解密階段的算法是正確的。
不難看出,最后用戶(hù)在本地解密數(shù)據(jù)的時(shí)候?qū)嶋H用到的Cm只有后面的Cm3部分,因此,為了節(jié)省移動(dòng)設(shè)備有限的網(wǎng)絡(luò)帶寬和存儲(chǔ)資源可以?xún)H回傳Cm3和Ct。
3.2 安全性
服務(wù)器端得知g,gx,gy,gr,根據(jù)1.2節(jié)中DBDH假設(shè)的定義,可知服務(wù)器端無(wú)法區(qū)分出e(g,g)αβγ和隨機(jī)選取的隨機(jī)數(shù)R,計(jì)算出e(g,g)xyr是困難問(wèn)題。因此,攻擊方在選擇明文攻擊中企圖計(jì)算e(g,g)xyr時(shí)是困難的,該加密方案在關(guān)鍵詞搜索和部分解密操作中都是安全的,由于操作中的四個(gè)映射函數(shù)都是基于隨機(jī)預(yù)言模型的,本方案在隨機(jī)預(yù)言模型下是選擇明文攻擊安全。
3.3 計(jì)算效率
運(yùn)行效率方面,這里只考慮在客戶(hù)端體域網(wǎng)設(shè)備上執(zhí)行的加解密操作。假設(shè)雙線性映射運(yùn)算的時(shí)間為tp,指數(shù)運(yùn)算的時(shí)間為te,一般雙線性映射的運(yùn)算時(shí)間為指數(shù)運(yùn)算的數(shù)倍。因此,在加密階段客戶(hù)端所需要的運(yùn)算時(shí)間為3tp+8te,運(yùn)算時(shí)間隨關(guān)鍵詞索引數(shù)量增加。而解密階段客戶(hù)端所需要的運(yùn)算時(shí)間僅為te??梢?jiàn),通過(guò)讓云服務(wù)提供商參與部分解密,大大降低了客戶(hù)端在解密階段的運(yùn)算量。但是,在加密過(guò)程中,客戶(hù)端仍然需要執(zhí)行許多計(jì)算,考慮到無(wú)線體域網(wǎng)中數(shù)據(jù)一次加密多次查詢(xún)的場(chǎng)景,加密的時(shí)間消耗可以被均攤。因此,本算法的計(jì)算效率是可行的,后續(xù)可以在加密效率上對(duì)算法做進(jìn)一步的優(yōu)化。
隨著無(wú)線體域網(wǎng)和云計(jì)算的發(fā)展,將移動(dòng)設(shè)備采集到的數(shù)據(jù)上傳到云端進(jìn)行分析成為主流。由于這些數(shù)據(jù)包含了大量的用戶(hù)敏感信息,在上傳到第三方云存儲(chǔ)中心后,如何在保證用戶(hù)數(shù)據(jù)隱私的前提下對(duì)數(shù)據(jù)進(jìn)行方便快速地進(jìn)行檢索,同時(shí)還要兼容移動(dòng)設(shè)備計(jì)算和存儲(chǔ)能力相對(duì)較弱的運(yùn)行環(huán)境就成為了一個(gè)重要課題。
本文將可搜索加密技術(shù)運(yùn)用到無(wú)線體域網(wǎng)環(huán)境中,討論了其安全性和適用性。在保證安全性的同時(shí),提供了對(duì)密文的多關(guān)鍵詞搜索功能,并且通過(guò)讓云服務(wù)提供商參與部分解密,降低了可穿戴設(shè)備的計(jì)算壓力。該算法的安全性建立在隨機(jī)預(yù)言模型下,且由于體域網(wǎng)的搜索場(chǎng)景中還存在大量對(duì)數(shù)據(jù)進(jìn)行范圍搜索的情況,后續(xù)的研究工作將致力于改進(jìn)算法能夠在標(biāo)準(zhǔn)模型中結(jié)合對(duì)密文的范圍搜索功能。
[1]Armbrust M,Fox A,Griffith R.Above the Clouds:a Berkeley View of Cloud Computing[EB/OL].http://www.eecs.berkeley.edu/Pubs/ TechRpts/2009/EECS-2009-28.html,2009.
[2]項(xiàng)菲,劉川意,方濱興,等.云計(jì)算環(huán)境下密文搜索算法的研究[J].通信學(xué)報(bào),2013,34(7):143-153.
[3]Song D X,Wagner D,Perrig A.Practical Techniques for Searches on Encrypted data[C]//Security and Privacy,2000.S&P 2000.Proceedings.2000 IEEE Symposium on.IEEE,2000:44-55.
[4]Boneh D,Di Crescenzo G,Ostrovsky R,et al.Public Key Encryption with Keyword Search[C].International Conference on the Theory and Applications of Cryptographic Techniques.Springer Berlin Heidelberg,2004:506-522.
[5]Park D J,Kim K,Lee P J.Public Key Encryption with Conjunctive Field Keyword Search[C].International Workshop on Information Security Applications.Springer Berlin Heidelberg,2004:73-86.
[6]Golle P,Staddon J,Waters B.Secure Conjunctive Keyword Search Over Encrypted Data[C].International Conference on Applied Cryptography and Network Security.Springer Berlin Heidelberg,2004:31-45.
[7]Liu Q,Wang G,Wu J.An Efficient Privacy Preserving Keyword Search Scheme in Cloud Computing[C].Computational Science and Engineering,2009.CSE'09.International Conference on.IEEE,2009,2:715-720.
Public Key Encryption with Keyword Search in Wireless Body Area Network
ZHANG Jia-yi
(College of Electronics and Information Engineering,Tongji University,Shanghai 201804)
The combination of wireless body area network(WBAN)and cloud computing makes digital health and remote treatment possible.Privacy protection is a major concern.Proposes to use a public key encryption with conjunctive keyword search scheme,which reduces the computational overhead of WBAN devices by enabling service provider to participate in partial decipherment.This scheme protects user data privacy during the search process,and it is suitable for the WBAN device.Analyzes the scheme in correctness,security and efficiency.
WBAN;PEKS;Privacy Protection;Cloud Computing
1007-1423(2017)05-0014-04
10.3969/j.issn.1007-1423.2017.05.004
張嘉懿(1991-),男,上海人,在讀碩士研究生,研究方向云計(jì)算與可搜索加密
2016-12-06
2017-02-07