张嘉懿
(同济大学电子与信息工程学院,上海 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