-
随着云计算和无线传感器网络的迅速发展,无线体域网(WBAN)得到了广泛的应用[1]。在WBAN中包含3类节点:1) 医疗数据采集节点,该类节点部署在被检测对象的身体上,负责采集人体的生理数据,并通过个人基站(如PDA、智能手机等)将采集的数据上传到指定服务器;2) 服务器节点,该类节点往往位于医院指定的区域,负责接受授权病人发送来的医疗数据,并执行授权用户(病人的责任医生)发来的查询请求;3) 数据用户节点,授权用户通过该类节点向服务器发送数据查询请求,获得相应的查询结果。
然而,WBAN模型存在重大的安全隐患。由于用于采集数据的无线传感器网络与用于存储数据的服务器处在不同的安全领域,服务器可能泄漏其敏感医疗数据,导致病人隐私信息泄漏。近年来,医疗数据保护问题导致个人隐私信息泄漏的事件频发[2],为无线体域网设计出相应的数据安全传输、查询、及分析协议至关重要。
本文研究隐私保护下的k邻近(k-nearest neighbor, kNN)查询问题。kNN在无线体域网中扮演重要的角色,医生可根据某疾病的特征值查询出患者医疗数据中与该病症特征值最邻近的k个数据来快速确定出现该病症的具体时间,进而掌握该患者的发病规律,制定出相应的治疗方案。
如何在无线体域网中实现隐私保护kNN查询是一个极具挑战性的问题:1) 为了实现对病人数据的隐私保护,个人基站需对数据加密后再提交给服务器;同样,数据用户需对查询条件进行加密后发送给服务器进行查询处理。因此,需要解决服务器在既不知道数据的真实值,也不知道查询条件的情况下的kNN查询问题。2) 为了防止数据用户滥用病人医疗数据导致隐私信息的泄漏,需要从数据级上解决用户访问权限及访问权限的迁移问题。
目前对无线体域网中的数据安全研究集中在身份认证上[3-5],鲜有文献讨论数据的隐私保护和访问控制问题。文献[6-8]研究了无线传感网中的安全认证协议,在两层传感器网络中,研究者就网络安全查询协议开展了大量的研究[9-13],目前还没有工作探讨安全kNN查询协议。在云计算中,文献[14]提出了一种基于非对称矩阵向量积保值的加密机制ASPE,并证明该机制能抵抗已知部分明文攻击(KPA),随后研究者基于ASPE机制提出了其他隐私保护协议[15-16]。
-
文献[14]提出了一种基于ASPE的隐私保护安全kNN查询机制。假设数据采集单元采集的数据为集合D,D中数据有u个属性,表示为 ${A^1}, {A^2}, \cdots, {A^u}$ ,D中某条数据表示为 $({d^1}, {d^2}, \cdots, {d^u})$ 。查询条件是{q, k}, q与数据D在同一维度空间,即q $ = ({q^1}, {q^2}, \cdots, {q^u})$ 。kNN的查询结果是返回数据集合D中与查询条件q距离最近的k个数据。di和dj $(1 \le i, j \le n, i \ne j)$ 为采集到的两条数据,需判断di和dj哪一个距离查询条件q更近。
为了对数据进行隐私保护,D中所有病人的数据在上传给服务器前都要进行加密,用Enc(D)表示。为了保证kNN查询的安全,通常采用可恢复距离加密方法(distance-recoverable encryption, DRE),该方法能通过密文Enc(D)计算di和dj间的距离dist(di, dj)。例如,使用密钥K分别对数据di和dj进行加密,得到Enc(di, K)、Enc(dj, K),DRE可利用Enc(di, K)、Enc(dj, K)计算得到dist(di, dj)。
ASPE的基本思路是通过密文计算得到数据记录与查询条件之间的距离关系。设Enc(d, Kd)表示用密钥Kd加密后的采集数据d;Enc(q, Kq)表示用密钥Kq加密后的查询条件q;ASPE须满足条件:
$$ {{\boldsymbol{d}}_{\boldsymbol{i}}}^{\rm{T}}{\boldsymbol{q}} = {\rm{Enc}}{({{\boldsymbol{d}}_{\boldsymbol{i}}},{{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}}{\rm{Enc}}({\boldsymbol{q}},{{\boldsymbol{K}}_{\boldsymbol{q}}}) $$ $$ {{\boldsymbol{d}}_{\boldsymbol{i}}}^{\rm{T}}{{\boldsymbol{d}}_{\boldsymbol{j}}} \ne {\rm{Enc}}{({{\boldsymbol{d}}_{\boldsymbol{i}}},{{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}}{\rm{Enc}}({{\boldsymbol{d}}_{\boldsymbol{j}}},{{\boldsymbol{K}}_{\boldsymbol{d}}}) $$ 可见, ${\mathit{\boldsymbol{d}}^{\rm{T}}}\mathit{\boldsymbol{Iq}} = ({\mathit{\boldsymbol{d}}^{\rm{T}}}\mathit{\boldsymbol{M}})({\mathit{\boldsymbol{M}}^{ - 1}}\mathit{\boldsymbol{q}})$ 。为了满足ASPE,加密过程为: ${\rm{Enc}}({{\boldsymbol{d}}_{\boldsymbol{i}}}, {{\boldsymbol{K}}_{\boldsymbol{d}}}) = {\mathit{\boldsymbol{M}}^{\rm{T}}}{{\boldsymbol{d}}_{\boldsymbol{i}}}$ , ${\rm{Enc}}({\boldsymbol{q}}, {{\boldsymbol{K}}_{\boldsymbol{q}}}) = {\mathit{\boldsymbol{M}}^{ -1}}{\boldsymbol{q}}$ 。
-
假设di距离q比dj更近,则不等式成立:
$$ {\rm{dist}}({{\boldsymbol{d}}_{\boldsymbol{i}}},{\boldsymbol{q}}) \le {\rm{dist}}({{\boldsymbol{d}}_{\boldsymbol{j}}},{\boldsymbol{q}}) $$ $$ \sqrt {{{\left\| {{{\boldsymbol{d}}_{\boldsymbol{i}}}} \right\|}^2} + 2{{\boldsymbol{d}}_{\boldsymbol{i}}}^{\rm{T}}{\boldsymbol{q}} + {{\left\| {\boldsymbol{q}} \right\|}^2}} \le \sqrt {{{\left\| {{{\boldsymbol{d}}_{\boldsymbol{j}}}} \right\|}^2} + 2{{\boldsymbol{d}}_{\boldsymbol{j}}}^{\rm{T}}{\boldsymbol{q}} + {{\left\| {\boldsymbol{q}} \right\|}^2}} $$ $$ {\left\| {{{\boldsymbol{d}}_{\boldsymbol{i}}}} \right\|^2} - {\left\| {{{\boldsymbol{d}}_{\boldsymbol{j}}}} \right\|^2} + 2({{\boldsymbol{d}}_{\boldsymbol{j}}}^{\rm{T}} - {{\boldsymbol{d}}_{\boldsymbol{i}}}^{\rm{T}}){\boldsymbol{q}} \le 0 $$ (1) 可见,ASPE能对 ${{\boldsymbol{d}}^{\rm{T}}}{\boldsymbol{q}}$ 的值进行隐私保护。每一个数据d对应的 $\left\| {\boldsymbol{d}} \right\|$ 是一个定值,为了方便后续计算,将 $\left\| {\boldsymbol{d}} \right\|$ 与数据d一同进行预存储。因此,加密前将数据d增加到u+1维,用向量 ${\boldsymbol{\hat d}}$ 表示,并将第u+1维设为 $ -0.5{\left\| {\boldsymbol{d}} \right\|^2}$ ,即 ${{\boldsymbol{\hat d}}^{\rm{T}}} = ({{\boldsymbol{d}}^{\rm{T}}}, -0.5{\left\| {\boldsymbol{d}} \right\|^2})$ ;为了使 ${\boldsymbol{q}}$ 与d在同一维度空间,将q也增加到u+1维,并将第u+1维设为1,即 ${\boldsymbol{\hat q}} = ({{\boldsymbol{q}}^{\rm{T}}}, 1)$ 。为了使每个q都不可估计,对其乘以随机系数r,表示为向量 ${\boldsymbol{\hat q}} = r({{\boldsymbol{q}}^{\rm{T}}}, 1)$ 。
$$ \left\| {\boldsymbol{d}} \right\| = \sqrt {{{({d^1})}^2} + {{({d^2})}^2} + \cdots + {{({d^u})}^2}} $$ (2) 数据di和dj增加一维后得到向量 ${{\boldsymbol{\hat d}}_{\boldsymbol{i}}}{\rm{, }}{{\boldsymbol{\hat d}}_{\boldsymbol{j}}}$ ,使用ASPE对向量 ${\boldsymbol{\hat d}}$ 和 ${\boldsymbol{\hat q}}$ 加密,对于di, dj通过计算 $({\rm{Enc}}{({{\boldsymbol{d}}_{\boldsymbol{i}}}, {{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}} -{\rm{Enc}}{({{\boldsymbol{d}}_{\boldsymbol{j}}}, {{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}}){\rm{Enc}}({\boldsymbol{q}}{\rm{, }}{{\boldsymbol{K}}_{\boldsymbol{q}}})$ 的值来判断di和dj哪一个距离查询条件q更近。
使用矩阵M加密di和dj,并使用 ${{\boldsymbol{M}}^{ -1}}$ 加密q,M是(u+1)*(u+1) 维的矩阵。可见加密后的的矩阵向量积与加密前相等:
$$ ({\rm{Enc}}{({{\boldsymbol{\hat d}}_{\boldsymbol{i}}},{{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}} - {\rm{Enc}}{({{\boldsymbol{\hat d}}_{\boldsymbol{j}}},{{\boldsymbol{K}}_{\boldsymbol{d}}})^{\rm{T}}}){\rm{Enc}}({\boldsymbol{\hat q}},{{\boldsymbol{K}}_q}) = $$ $$ {({{\boldsymbol{M}}^{\rm{T}}}{{\boldsymbol{\hat d}}_{\boldsymbol{i}}} - {{\boldsymbol{{\rm M}}}^{\rm{T}}}{{\boldsymbol{\hat d}}_{\boldsymbol{j}}})^{\rm{T}}}{{\boldsymbol{M}}^{ - 1}}{\boldsymbol{\hat q}} = {({{\boldsymbol{\hat d}}_{\boldsymbol{i}}} - {{\boldsymbol{\hat d}}_{\boldsymbol{j}}})^{\rm{T}}}{\boldsymbol{\hat q}} $$ (3) ${{\boldsymbol{\hat d}}_{\boldsymbol{i}}}, {{\boldsymbol{\hat d}}_{\boldsymbol{j}}}$ 和 ${\boldsymbol{\hat q}}$ 的相对距离:
$$ {({{\boldsymbol{\hat d}}_{\boldsymbol{i}}} - {{\boldsymbol{\hat d}}_{\boldsymbol{j}}})^{\rm{T}}}{\boldsymbol{\hat q}} = $$ $$ {({{\boldsymbol{d}}_{\boldsymbol{i}}} - {{\boldsymbol{d}}_{\boldsymbol{j}}})^{\rm{T}}}r{\boldsymbol{q}} + ( - 0.5{\left\| {{{\boldsymbol{d}}_{\boldsymbol{i}}}} \right\|^2} + 0.5{\left\| {{{\boldsymbol{d}}_{\boldsymbol{j}}}} \right\|^2}) = $$ $$ 0.5r(({\left\| {{{\boldsymbol{d}}_{\boldsymbol{j}}}} \right\|^2} + 2{{\boldsymbol{d}}_{\boldsymbol{j}}}{\boldsymbol{q}} + {{\boldsymbol{q}}^2}) - ({\left\| {{{\boldsymbol{d}}_{\boldsymbol{i}}}} \right\|^2} + 2{{\boldsymbol{d}}_{\boldsymbol{i}}}{\boldsymbol{q}} + {{\boldsymbol{q}}^2})) = $$ $$ 0.5r({\rm{dist}}{({{\boldsymbol{d}}_{\boldsymbol{j}}},{\boldsymbol{q}})^2} - {\rm{dist}}{({{\boldsymbol{d}}_{\boldsymbol{i}}},{\boldsymbol{q}})^2}) $$ (4) 可得出:
$$ {({{\boldsymbol{\hat d}}_{\boldsymbol{i}}} - {{\boldsymbol{\hat d}}_{\boldsymbol{j}}})^{\rm{T}}}{\boldsymbol{\hat q}} > 0 \Leftrightarrow {\mathop{\rm dist}\nolimits} ({{\boldsymbol{d}}_{\boldsymbol{i}}},{\boldsymbol{q}}) < {\rm{dist}}({{\boldsymbol{d}}_j},{\boldsymbol{q}}) $$ (5) -
为了提高ASPE加密过程中数据的随机性,在上述ASPE机制中引入随机划分向量S,并根据S对d和q进行划分。S是由0和1组成的向量,由数据采集单元与数据用户共享,用于将d划分为 ${\boldsymbol{d'}}$ 和 ${\boldsymbol{d''}}$ 、将q划分为 ${\boldsymbol{q'}}$ 和 ${\boldsymbol{q''}}$ 。当S[i]=1时, ${\boldsymbol{d}}[i] = {\boldsymbol{d'}}[i] + {\boldsymbol{d''}}[i]$ , ${\boldsymbol{q}}[i] = {\boldsymbol{q'}}[i] = {\boldsymbol{q''}}[i]$ ,其中 ${\boldsymbol{d'}}[i]$ 随机。当S[i]=0时, ${\boldsymbol{d}}[i] = {\boldsymbol{d'}}[i] = {\boldsymbol{d''}}[i]$ , ${\boldsymbol{q}}[i] = {\boldsymbol{q'}}[i] + {\boldsymbol{q''}}[i]$ ,其中 ${\boldsymbol{q'}}[i]$ 随机。
对划分后的d和q,使用M1和M2加密。加密过程表示为: $E({\boldsymbol{d'}}) = {{\boldsymbol{M}}_1}^{\rm{T}}{\boldsymbol{d'}}$ , $E({\boldsymbol{d''}}) = {{\boldsymbol{M}}_2}^{\rm{T}}{\boldsymbol{d''}}$ , $E({\boldsymbol{q'}}) = {{\boldsymbol{M}}_1}^{ -1}{\boldsymbol{q'}}$ , $E({\boldsymbol{q''}}) = {{\boldsymbol{M}}_2}^{ -1}{\boldsymbol{q''}}$ ,如式(6) 所述,加密后 ${{\boldsymbol{d}}^{\rm{T}}}{\boldsymbol{q}}$ 的值不被泄露。
$$ E{({\boldsymbol{d'}})^{\rm{T}}}E({\boldsymbol{q'}}) + E{({\boldsymbol{d''}})^{\rm{T}}}E({\boldsymbol{q''}}) = $$ $$ {({{\boldsymbol{M}}_1}^{\rm{T}}{\boldsymbol{d'}})^{\rm{T}}}{{\boldsymbol{M}}_1}^{ - 1}{\boldsymbol{q'}} + {({{\boldsymbol{M}}_2}^{\rm{T}}{\boldsymbol{d''}})^{\rm{T}}}{{\boldsymbol{M}}_2}^{ - 1}{\boldsymbol{q''}} = $$ $$ {{\boldsymbol{d'}}^{\rm{T}}}{\boldsymbol{q'}} + {{\boldsymbol{d''}}^{\rm{T}}}{\boldsymbol{q''}} = {{\boldsymbol{d}}^{\rm{T}}}{\boldsymbol{q}} $$ (6) -
假定某传感单元采集了n个u维数据,BRtree剪枝后剩余计数α。表 1给出了本文协议在最坏情况下的计算复杂度、通信开销,及空间复杂度。
表 1 本文协议的算法复杂度分析
计算复杂度 通信开销 空间复杂度 数据采集单元 O(n×u2)查询 O(n×u) 存储节点 O(α×u2)BRtree查询 O(n×u) O(nu) 数据用户 O(u2)查询条件处理 O(u) -
本文提出的协议能够有效保护数据隐私。1) 假设存储节点被妥协,攻击者没有加密密钥,仅通过存储节点存储的密文数据来计算明文数据是十分困难的。2) 无线体域网络中数据维数大,未知量计数远超已知密文信息的维度。因此,当暴露部分明文数据记录、密文索引信息时,攻击者仍无法计算出密钥,也无法从密文中获取有用的明文信息。
Privacy Preserving kNN Query Protocol for Wireless Body Sensor Networks
-
摘要: 针对无线体域网中的数据隐私问题,提出了一种适用于无线体域网的安全kNN查询协议,能够保护数据隐私与访问权限控制。该协议主要分3个部分,首先采用非对称矩阵向量积保值加密机制(ASPE)对数据和查询条件分别进行加密,从而保护数据的隐私;其次基于R树的桶划分索引结构BRtree,将数据划分到桶节点后采用剪枝策略去除不必要的查询来提高查询效率;最后基于数据层面的访问权限授予与回收机制,从ASPE加密密钥中分解出权限密钥,通过可信第三方实现了访问权限控制和访问权限迁移。并在真实移动健康数据集上验证了该方案的有效性。Abstract: For the data privacy in wireless body area network (WBAN), a secure privacy preserving k-nearest neighbor (kNN) query protocol for WBAN is proposed. This protocol can protect data privacy and access control by encrypting both data and queries with asymmetric scalar-product-preserving encryption (ASPE). To improving searching efficiency, we combine the technologies of R-tree and bucket partition and propose a data structure, named BRtree, for indexing data items. BRtree can significantly eliminate the unnecessary searching branches. In order to achieve access control, we separate an access key from the encryption key and introduce a trusted third authority to manage access rights and access rights transferring. The experimental results validate the efficiency of our scheme.
-
Key words:
- access control /
- matrix encryption /
- secure k-nearest neighbor query /
- WBAN
-
表 1 本文协议的算法复杂度分析
计算复杂度 通信开销 空间复杂度 数据采集单元 O(n×u2)查询 O(n×u) 存储节点 O(α×u2)BRtree查询 O(n×u) O(nu) 数据用户 O(u2)查询条件处理 O(u) -
[1] MOVASSAGHI S, ABOLHASAN M, LIPMAN J, et al. Wireless body area networks:a survey[J]. IEEE Communications Survey & Tutorials, 2014, 16(3):1658-1686. doi: 10.1109/SURV.2013.121313.00064 [2] TEC. Behind the medical data leak who moved the patient's cheese[EB/OL].[2016-10-25]. http://www.ip-guard.net/blog/?p=1664. [3] SHI L, LI M, YU S, et al. Bana:Body area network authentication exploiting channel characteristics[J]. IEEE Journal on Selected Areas in Communications, 2013, 31(9):1803-1816. doi: 10.1109/JSAC.2013.130913 [4] LIU J, ZHANG Z, CHEN X, et al. Certificateless remote Anonymous authentication schemes for wireless body area networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(2):332-342. doi: 10.1109/TPDS.2013.145 [5] ZHAO Z. An efficient anonymous authentication scheme for wireless body area networks using elliptic curve cryptosystem[J]. Journal of Medical Systems, 2014, 38(2):1-7. doi: 10.1007%2Fs10916-014-0013-5.pdf [6] 韩坚华, 吴柳飞.无线传感器网络EMSR协议的安全性分析[J].电子科技大学学报, 2009, 38(3):401-405. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200903021.htm HAN Jian-hua, WU Liu-fei. Analysis on security of EMSR protocol in wireless sensor network[J]. Journal of University of Electronic Science and Technology of China, 2009, 38(3):401-405. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200903021.htm [7] 贾晨军, 廖永建, 陈抗生.无线传感器网络中的高效签名算法[J].电子科技大学学报, 2009, 38(4):537-541. http://youxian.cnki.com.cn/yxdetail.aspx?filename=JFYZ201709015&dbname=CJFDPREP JIA Chen-jun, LIAO Yong-jian, CHEN Kang-sheng. Efficient signature algorithm in wireless sensor network[J]. Journal of University of Electronic Science and Technology of China, 2009, 38(4):537-541. http://youxian.cnki.com.cn/yxdetail.aspx?filename=JFYZ201709015&dbname=CJFDPREP [8] 汪小芬, 李胜强, 肖国镇.认证群密钥协商协议的安全性分析与改进[J].电子科技大学学报, 2009, 38(1):51-54. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200901015.htm WANG Xiao-fen, LI Sheng-qiang, XIAO Guo-zhen. Analysis and improvement of an authenticated group key agreement protocol[J]. Journal of University of Electronic Science and Technology of China, 2009, 38(1):51-54. http://www.cnki.com.cn/Article/CJFDTOTAL-DKDX200901015.htm [9] YI Ye-qing, LI Rui, CHEN Fei, et al. A digital watermarking approach to secureand precise range query processing in sensor networks[C]//IEEE Conference on Computer Communications(INFOCOM 2013). Turin, Italy:IEEE, 2013. [10] ZHANG Rui, SHI Jing, ZHANG Yan-chao, et al. Secure top-k query processing in unattended tiered sensor networks[J]. IEEE Transactions on Vehicular Technology (TVT), 2014, 9(63):4681-4693. https://www.eecis.udel.edu/%7Eruizhang/paper/zhang-TVT14.pdf [11] 范永健, 陈红, 张晓莹, 等.两层传感器网络中可验证隐私保护的top-k查询协议[J].计算机学报, 2014, 37(4):915-926. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201203003.htm FAN Yong-jian, CHEN Hong, ZHANG Xiao-ying, et al. Verifiable privacy-preserving top-k query protocol in two-tiered sensor networks[J]. Chinese Journal of Computers, 2014, 37(4):915-926. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201203003.htm [12] LIAO X, LI J. Privacy-preserving and secure top-k query in two-tiered wireless sensor[C]//Proceedings of IEEE Global Communications Conference(GLOBECOM).[S.l.]:IEEE, 2012:335-341. [13] 李睿, 林亚平, 易叶青, 等.两层传感器网络中安全Top-k查询协议[J].计算机研究与发展, 2012, 49(9):1947-1958. http://cdmd.cnki.com.cn/Article/CDMD-10293-1016294234.htm LI Rui, LIN Ya-ping, YI Ye-qing, et al. A secure top-k query protocol in two-tiered sensor networks[J]. Computer Research and Development, 2012, 49(9):1947-1958. http://cdmd.cnki.com.cn/Article/CDMD-10293-1016294234.htm [14] WONG W K, CHEUNG D W, KAO B, et al. Secure kNN computation on encrypted database[C]//the 2009 ACM SIGMOD International Conference on Management of Data (SIGMOD2009). New York:ACM, 2009:139-152. [15] YUAN Jia-wei, YU Shu-cheng. Efficient privacypreserving biometric identification in cloud computing[C]//IEEE Conference on Computer Communications. Turin, Italy:IEEE, 2013:2652-2660. [16] CAO Ning, WANG Cong, LI Ming, et al. Privacypreserving multi-keyword ranked search over encrypted cloud data[C]//2011 IEEE Conference on Computer Communications (INFOCOM2011).[S.l.]:IEEE, 2011:829-837.