張嘉懿
(同濟大學電子與信息工程學院,上海 201804)
無線體域網中公鑰可搜索加密方案
張嘉懿
(同濟大學電子與信息工程學院,上海 201804)
無線體域網和云平臺的結合使得數字化醫療和遠程醫療成為可能,其隱私保護是十分重要的研究內容。針對無線體域網中加密數據的檢索問題,提出使用可多關鍵詞搜索的公鑰加密算法,并通過讓云服務商參與部分解密減輕移動設備的計算壓力。用戶可以在不泄露隱私的情況下對云端存儲的加密數據進行搜索,且該方案適用于體域網設備運算能力不足的場景。從正確性、安全性和計算效率對方案進行分析。
無線體域網;公鑰可搜索加密;隱私保護;云計算
隨著電子醫療技術和互聯網的發展,云計算[1]在無線體域網領域獲得越來越多的使用。其相比傳統的自建服務器,擁有低成本、維護簡單、按需付費等優勢,另外,云計算高可用、高性能、易擴展的特點也解決了當前移動設備數據共享困難、計算能力不足等問題。因此,吸引了眾多企業和個人將大量數據放到第三方云存儲中心存放,其中就包括了無線體域網設備。然而,便捷的服務同時也帶來了相應的安全問題。由于用戶存放的數據中包含大量隱私,一旦服務商遭到攻擊或數據被服務商非法讀取,就會造成用戶隱私被泄漏。如何保護用戶數據隱私一直是無線體域網的重要研究課題之一。
為了更好地保護敏感信息,當前最有效的方案是在本地對用戶信息進行加密,然后上傳到第三方云服務器。這樣雖然有效地保證了數據的機密性和安全性,但是也給用戶檢索數據以及數據的共享帶來了困難。由于加密后的數據無異于亂碼,因此云服務提供商無法對存儲的數據進行關鍵詞搜索。而為了保證用戶的隱私,在普通加密策略下,用戶只能將自己所有的數據都下載到本地,全部解密出明文,然后才能夠對明文進行搜索。這一方案對無線體域網環境中移動設備有限的網絡帶寬、計算資源和存儲資源是完全無法接受的。然而,目前對于無線體域網中數據加密的研究主要集中于對加密數據的訪問控制上,在電子醫療系統迅速發展的當前,研究適合在無線體域網環境中應用的可搜索加密機制是十分迫切的。
密文檢索的主要實體包含數據擁有者、數據使用者和存儲服務提供商。密文檢索策略主要分為全文匹配檢索和建立索引檢索。對于全文匹配檢索,數據擁有者直接對數據明文進行加密,然后將密文上傳到云服務中心。對于密文索引策略,數據擁有者先建立關鍵詞索引,然后根據特定的關鍵詞索引加密策略對數據明文和索引分別進行加密,然后把加密后的密文和索引一起上傳到云服務中心。在搜索過程中,數據使用者將加密后的搜索關鍵詞上傳到云存儲中心,云服務中心根據不同的加密機制對密文或索引進行搜索,返回匹配成功的密文數據。密文搜索的實體間交互流程如圖1所示。由于直接對密文進行全文匹配搜索不但效率低下,還會暴露關鍵詞所處文章位置等重要信息[2]。針對這種情形,文獻[3]提出了一種基于關鍵詞索引的對稱密鑰可搜索加密機制,但其存在抗統計分析攻擊能力低的缺點,且對稱加密密鑰管理難度大、僅支持用戶搜索訪問自己上傳到第三方云平臺的數據的場景。因此,Boneh等人[4]提出了一種基于公鑰的可搜索加密算法,解決了第三方數據擁有者將數據上傳到云服務器上供數據使用者訪問的情況,并通過改進基于身份的加密機制構造了一種關鍵詞搜索的公鑰加密算法。在實際搜索時,單個關鍵詞的查詢往往不能滿足用戶實際需求,Dong等人[5]基于文獻[6]的模型,使用雙線性映射設計了一個支持多關鍵詞搜索的公鑰加密算法。然而,基于公鑰加密算法存在加密效率低的情況,考慮到移動設備上計算能力和網絡帶寬有限的問題,文獻[7]借鑒了部分解密的思路,通過讓云服務商執行部分解密,在不損失安全性的情況下降低了客戶端的計算負載,適用于無線體域網環境。

圖1 密文搜索實體交互流程
本文將主要探討無線體域網環境中對密文隱私數據的安全檢索,將可搜索加密技術應用到無線體域網環境中,并對方案的安全性和可行性進行分析。
1.1 雙線性映射
假設G1和G2是階數為素數p的兩個循環群,g為G1的生成元,G1為p階加法循環群,G2為p階乘法循環群。假如映射e滿足下列性質,則稱映射e:G1×G1→G2為雙線性映射[5]。
(1)雙線性
如果坌u,v∈G1,且坌x,y∈Zp*,都有e(ux,vy)=e(u,v)xy,那么我們就稱映射e:G1×G1→G2是雙線性的。
(2)非退化性
如果g為G1的一個生成元,那么e(g,g)為G2的一個生成元。
(3)可計算性
對于坌u,v∈G1,存在算法可以在多項式時間內是計算出e(u,v)。
1.2 判定雙線性Diffie-Hellman假設(DBDH Assumption)
定義1(判定雙線性Diffie-Hellman問題[5]):假設G1是一個素數p階的循環群,g為循環群G1的一個生成元。給定元組(g,gα,gβ,gγ)∈G1,判定e(g,g)αβγ=R是否成立。其中α,β,γ∈Zp*,R∈G2*,且α,β,γ,R都為隨機選取。假設有一個算法A在e(g,g)αβγ=R時輸出1,否則輸出0。那么假如公式|Pr[A(g,gα,gβ,gγ,e(g,g)αβγ)=1]-Pr[A(g,gα,gβ,gγ,R)=1]|≥ε成立,我們說算法A在解決循環群G1內的DBDH問題具有優勢ε。
定義2(判定雙線性Diffie-Hellman假設):如果任意時間t內算法A在群(G1,G2)上的DBDH問題時具有的優勢均小于ε,則稱群(G1,G2)上的(t,ε)-DBDH假設成立。
適用于無線體域網環境的可搜索加密算法應該具備安全性高,能夠保證用戶隱私不被泄漏;計算的時間和空間效率高,能夠在無線體域網的可穿戴設備上進行加解密操作;可支持多關鍵詞檢索,且搜索過程中不會暴露用戶隱私信息三個特點。公鑰可搜索加密機制雖然便于解決密文數據共享的問題,但是其也存在加解密計算復雜度的缺點。本文借鑒了文獻7通過讓云服務提供商參與部分解密來降低移動設備運算成本,并基于雙線性映射構建一個多關鍵詞公鑰可搜索加密方案的思路。方案主要由以下六個算法構成。
(1)密鑰生成
先以一個足夠大的正整數K作為輸入,得到素數p,進而計算兩個p階循環群G1和G2和一個雙線性對e:G1×G1→G2。然后隨機選擇函數F1,F2作為{0,1}*到G1*的映射,函數F3作為G2到{0,1}logp的映射,函數F4作為G2到{0,1}n的映射,其中n為明文二進制形式長度。最后隨機選擇兩個整數x,y∈Zp*。假設g是循環群G1點一個生成元,得到用戶的公私鑰對即(gx,x),服務提供商的公私鑰對為(gy,y)。
(2)可搜索加密
隨機選擇r∈Zp*和t∈{0,1}n,使用用戶的公鑰gx和服務商的公鑰gy,對數據m進行加密,得到密文Cm為(gr,F4(e(gx,gy)r)⊕t,F4(e(F2(t),gx)r)⊕m)。假設數據擁有者為文本設置了k個關鍵詞Wi,…,Wk。使用數據用戶的公鑰gx逐個對關鍵詞Wi進行加密,加密后的每個關鍵詞索引CWi為F3(e(gx,F1(Wi))r)。最后將密文和加密后的索引一起上傳到第三方存儲中心。
(3)陷門生成
數據用戶輸入查詢關鍵詞W',算法使用數據用戶的私鑰x生成陷門TW'為F1(W')x。
(4)關鍵詞匹配
根據用戶上傳的陷門TW',計算F3(e(gr,TW'))并與CWi逐一匹配,如果匹配成功返回true,否則返回false。
(5)服務器部分解密
云服務器使用私鑰y和數據用戶者的公鑰gx計算Ct為e(F2(t),gr),并將Ct與Cm一起返回給查詢者。
(6)用戶解密
數據查詢者使用私鑰x,計算Cm3⊕F4(Ctx)得到明文m。
3.1 正確性
(1)關鍵詞匹配階段
這里使用反證法對關鍵詞匹配的正確性進行證明。在關鍵詞匹配算法中,假設F3(e(gr,TW'))=CWi時,W≠W'。則根據1.1節中雙線性映射的定義,可以得到F3(e(gr,TW'))=F3(e(gr,F1(W')x))=F3(e(g,F1(W'))rx)=F3(e(gx,F1(W')r))≠F3(e(gx,F1(Wi))r)。這與F3(e(gr,TW'))=CWi矛盾,因此,得證關鍵詞匹配算法是正確的。
(2)解密階段
本節逐步對解密過程的正確性進行推導。首先,在服務器端的部分解密過程中的隨機數t可以通過使用數據用戶公鑰、服務器私鑰和密文計算得到。根據1.1節中雙線性映射的定義可得,隨機數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)。服務器在計算得到t后,就能對密文進行部分解密操作。在客戶端解密操作中,客戶端使用用戶私鑰x對部分解密結果進行運算,計算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。因此,最后通過抑或運算可以得到最終的明文m,解密階段的算法是正確的。
不難看出,最后用戶在本地解密數據的時候實際用到的Cm只有后面的Cm3部分,因此,為了節省移動設備有限的網絡帶寬和存儲資源可以僅回傳Cm3和Ct。
3.2 安全性
服務器端得知g,gx,gy,gr,根據1.2節中DBDH假設的定義,可知服務器端無法區分出e(g,g)αβγ和隨機選取的隨機數R,計算出e(g,g)xyr是困難問題。因此,攻擊方在選擇明文攻擊中企圖計算e(g,g)xyr時是困難的,該加密方案在關鍵詞搜索和部分解密操作中都是安全的,由于操作中的四個映射函數都是基于隨機預言模型的,本方案在隨機預言模型下是選擇明文攻擊安全。
3.3 計算效率
運行效率方面,這里只考慮在客戶端體域網設備上執行的加解密操作。假設雙線性映射運算的時間為tp,指數運算的時間為te,一般雙線性映射的運算時間為指數運算的數倍。因此,在加密階段客戶端所需要的運算時間為3tp+8te,運算時間隨關鍵詞索引數量增加。而解密階段客戶端所需要的運算時間僅為te。可見,通過讓云服務提供商參與部分解密,大大降低了客戶端在解密階段的運算量。但是,在加密過程中,客戶端仍然需要執行許多計算,考慮到無線體域網中數據一次加密多次查詢的場景,加密的時間消耗可以被均攤。因此,本算法的計算效率是可行的,后續可以在加密效率上對算法做進一步的優化。
隨著無線體域網和云計算的發展,將移動設備采集到的數據上傳到云端進行分析成為主流。由于這些數據包含了大量的用戶敏感信息,在上傳到第三方云存儲中心后,如何在保證用戶數據隱私的前提下對數據進行方便快速地進行檢索,同時還要兼容移動設備計算和存儲能力相對較弱的運行環境就成為了一個重要課題。
本文將可搜索加密技術運用到無線體域網環境中,討論了其安全性和適用性。在保證安全性的同時,提供了對密文的多關鍵詞搜索功能,并且通過讓云服務提供商參與部分解密,降低了可穿戴設備的計算壓力。該算法的安全性建立在隨機預言模型下,且由于體域網的搜索場景中還存在大量對數據進行范圍搜索的情況,后續的研究工作將致力于改進算法能夠在標準模型中結合對密文的范圍搜索功能。
[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]項菲,劉川意,方濱興,等.云計算環境下密文搜索算法的研究[J].通信學報,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-),男,上海人,在讀碩士研究生,研究方向云計算與可搜索加密
2016-12-06
2017-02-07