2. 陕西师范大学 计算机科学学院, 陕西 西安 710119;
3. 陕西师范大学 数学与信息科学学院, 陕西 西安 710119;
4. 清华大学 计算机科学与技术系, 北京 100084
2. School of Computer Science, Shaanxi Normal University, Xi'an 710119, China;
3. School of Mathematics and Information Science, Shaanxi Normal University, Xi'an 710119, China;
4. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
近年来, 随着基于位置的服务在移动智能设备上的广泛应用, 保密探测问题已经成为移动、社交网络中保护隐私的一个研究热点.保密近感探测, 是保密探测问题的一个重要分支.保密近感探测问题研究的是移动网络中任意两个用户如何协同计算出他们的实时位置是否彼此临近而不泄漏各方的具体位置.时至今日, 保密近感探测问题已取得了一些可喜的成果[1-21], 但这些成果中除了Mu等人[1]取得的以外, 其他协议[2-21]都是采用格栅分解技术(如果参与方在相同的格栅内, 即同在一个预先设定大小的圆形区域内, 则认为参与各方毗邻)实现保密近感探测的.然而, 这种方法不满足移动或社交网络用户的个性化需求, 如:Alice正在颐和园度周末, 她想知道她的业余划船搭档Bob是否也在颐和园内, 是否可以和Bob一起参加公园里正在举办的双人划船比赛.采用格栅分解技术的近感探测只能探测到Bob是否处在以Alice为中心、预先设定半径值的圆域内.2016年, Mu等人[1]综合运用安全多方计算、Paillier[22]和ElGamal[23]同态加密方案设计了一个保密探测区域为任意凸多边形的协议.该协议满足了用户个性化的需求(用户不再预先设定保密探测区域阈值的大小, 保密探测区域可以是任意的多边形), 非常方便用户表示保密探测区域.
但文献[1]的协议仍然存在以下两个方面的不足.
(1) 文献[1]的协议除了用Paillier加密系统保密计算符号外, 还需要调用K(凸多边形的顶点数)次高计算复杂度的、由ElGamal加密方案实现的保密比较大小运算.
(2) 文献[1]的协议并未彻底解决保密近感探测问题, 只适用于解决用户参与计算区域的临近两点坐标分量差大于0的情形, 当用户参与计算区域的临近两点坐标分量差值小于0时, 该协议会输出错误的结果.原因是文献[1]的协议用Paillier加密方案直接加密负数, 并在加密负数的结果上实施同态运算.
事实上, Paillier加密方案不能直接用于加密负数, 加密负数以及在加密的负数上进行同态操作需要做额外的比特密文同态运算.关于Paillier加密方案不能直接用于加密负数, 并在加密负数的结果上实施同态运算方面的具体阐述如下.
命题1. Paillier加密方案不能直接用于加密负数.
证明:Paillier加密方案的同态实质是
设a∈Zn,
事实上, 由解密运算:
$ \begin{align} & Dec(Enc(-a))=\frac{L({{f}^{\lambda }}(a,b)\,\bmod \,{{n}^{2}})}{L({{g}^{\lambda }}\,\bmod \,{{n}^{2}})}\ \bmod \ n=\frac{\left( \frac{{{b}^{\lambda n}}(\,\bmod \,{{n}^{2}})}{{{(1+kn)}^{\lambda a}}(\,\bmod \,{{n}^{2}})}-1 \right)\,\bmod \,{{n}^{2}}}{({{(1+kn)}^{\lambda }}-1)\,\bmod \,{{n}^{2}}}\,\bmod \,n \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\frac{\left( \frac{1}{(1+\lambda kan)\ \bmod \ {{n}^{2}}}-1 \right)\,\bmod \,{{n}^{2}}}{\lambda kn\,\bmod \,{{n}^{2}}}\ \bmod \ n=\frac{\frac{-\lambda kan\,\bmod \,{{n}^{2}}}{(1+\lambda kan)\,\bmod \,{{n}^{2}}}}{\lambda kn\,\bmod \,{{n}^{2}}}\,\bmod \,n \\ & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\frac{-a\ \bmod \ {{n}^{2}}}{(1+\lambda kan)\ \bmod \ {{n}^{2}}}\ \bmod \ n \\ \end{align} $ |
得到消息-a的概率很小, 因为
同理, 已知a∈Zn在Paillier加密体制下的密文ca=garn mod n2a∈Zn无法直接通过同态计算得到c-ab=g-ab(r')n mod n2a∈Zn, 其中, b∈Zn.
用Paillier通过特殊处理可以实现对一个负数的加密, 但难以实现对若干个正、负数对应密文实施若干次同态运算.目前所采用的特殊处理方法大致可以分为3类.
(1) 明文的符号由明文所处的区间隐式地确定, 用这种方法能够加密明文的范围是
(2) 用加密加法逆元的方法实现对[-n, 0]内整数的加密:用-a表示负数, 则在Zn群上可将-a视为a的逆元n-a, 进而可以通过加密运算
(3) 明文的符号由加密额外的比特信息标识, 用此种方法能够解决[-n, n]内的问题.通信双方需要事先商定符号的数字标识, 通常规定“0”代表“+”, “1”代表“-”.由运算
$(Dec(Enc(a), Dec(Enc({s_\mu })) = \left\{ {\begin{array}{*{20}{l}} {(a, 0), {\rm{ }}a} \\ {(a, 1), {\rm{ }} - a} \end{array}} \right.$ , |
即可恢复出消息-a.
但是, 上述加密负数的方法在需要对差商对应的密文实施若干次同态运算的环境下将变得异常复杂:一方面, 多次同态运算会导致明文运算结果所处区间的变换, 这会影响多方保密计算结果的准确性; 另一方面, 在保密多方计算中, 各参与方都不想泄露自己的、哪怕是1比特的信息(在涉及坐标运算的保密计算中, 坐标符号的泄露有可能造成相对位置信息的泄露), 又有哪个无私钥的参与方愿意对外透露自己的符号信息呢?
由上述分析可得, 现有的基于位置服务的保密探测方法绝大多数只能解决保密探测区域在预先设定半径阈值的圆形内的情形, 这不能满足用户个性化的需求(用户不再预先设定保密探测区域阈值的大小, 保密探测区域可以是任意的多边形).文献[1]的协议提出了一种解决探测区域为任意凸多边形情形的很好的方法.它虽然能够满足用户个性化的需求(无需将探测区域设定为带阈值的圆形区域), 但是并未彻底解决保密探测计算中保密坐标符号计算问题.因此, 对于涉及到保密计算(正、负)符号的、利用同态加密实现的由多方协同参与的安全/保密几何计算问题以及基于位置服务的移动、社交网络隐私保护问题则需要另辟新径.
如今, 社交网络用户又对保密地探测提出了新的个性化需求:保密社交意愿筹划, 即保密社交意愿探测.保密社交意愿探测已经成为基于位置服务的社交网络用户的一个新的个性化需求.我们将如下一类问题称为保密意愿探测问题:拥有便携智能设备的用户间可以事先保密地探测他们的社交意愿——Alice由她的便携智能设备秘密地获取Bob是否处在自己愿意与Bob约会(如果Bob愿意赴约的话)的“理想区域内”, Bob由自己的便携智能设备保密地表达自己是否愿意赴约的意愿, 但双方都不想泄露各自的位置信息(Alice既不想泄露自己的位置, 也不想泄露自己的“理想区域”; Bob不想泄露自己的位置信息).
保密意愿探测可以视作保密近感探测协议[1]在移动、社交网络用户个性化需求方面的深度拓展.虽然二者都是基于位置服务的移动、社交网络用户隐私保护问题, 但它们有明显的区别:保密近感探测问题研究的是两个用户如何计算他们的实时位置是否在预先设定的距离阈值内而不泄漏双方各自的具体位置; 保密意愿探测问题研究的则是参与双方如何计算出他们是否可以在某一区域内共事而不泄漏具体的共事区域与双方计划共事的具体位置, 即保密社交筹划.
为了解决移动、社交网络用户在社交筹划方面隐私保护的个性化需求问题, 同时也为了解决基于同态加密方案与安全多方计算的保密近感探测(如文献[1]的协议)中未能彻底解决的问题(当用户参与计算区域的临近两点坐标分量差值小于0时, 文献[1]的协议会输出错误的结果), 本文首先提出了一个基于位置服务的移动、社交网络隐私保护问题:保密社交意愿探测.然后综合采用安全多方几何计算[24-26]、保密计算分数(一种新的保密比较大小方法)、同态加密以及云外包计算等技术设计了一个高效的社交网络保密意愿探测协议.
本文的主要贡献如下:
(1) 构造了一个由云辅助计算的新型同态加密方案, 该方案在预处理阶段由云服务器提前完成复杂的自模乘运算
(2) 提出了一种新的保密符号计算方法, 并利用该方法和新构造的基于云计算的同态加密方案, 设计了一个新的保密意愿探测协议.该协议对于半诚实参与者是安全的.
(3) 提出了一种新的加密思想:由加密一方自主确定一次加密需要执行多少次模乘运算.
1 预备知识 1.1 关于加密方案的安全性定义定义1(不可区分安全游戏).“加密语义安全”通常利用一个(由敌手和加密系统产生者)两方进行的思维游戏进行刻画.本文将引用文献[27]中对于文献[28]中关于公钥加密方案的选择明文攻击不可区分性(indistinguishability under chosen-plaintext attack, 简称IND-CPA)游戏
(1) 输入系统安全参数1k, 生成密钥对(Kpub, Kpri).
(2)
(3) 系统搭建者随机选择b∈{0, 1}, 然后输出一个挑战密文c=Enc(mb).
(4)
(5) 若b'=b, 则游戏输出
如果存在一个可忽略的函数δ, 满足:
$Adv_{\mathcal{A}, \mathcal{E}}^{cpa}(k) = \left| {\Pr [PubK_{\mathcal{A}, \mathcal{E}}^{cpa}(k) = 1] - \frac{1}{2}} \right| \leqslant \delta (k)$ , |
则方案
要证明一个安全多方计算协议的安全性, 需要用到定义:理想保密计算协议、半诚实参与者、协议π可被用于保密计算函数f(a, b).本文将引用文献[27]中对于学者Goldreich关于这3个定义的翻译描述.
定义2(理想保密计算协议)[27].假设TTP是网络中存在的一个绝对可信的第三方, 作为协议的参与方, Alice与Bob在TTP协助下, 可以按照如下方式协作完成一次安全计算:Alice与Bob各自将他们的秘密信息a和b分别秘密地发送给TTP, 由TTP独立计算完函数f(a, b)后, 再将计算出的函数值分别秘密地发送给Alice和Bob.其中规定函数f满足:已知a与b之一以及函数值f(a, b)时, 不能计算出a与b中的另一个.显然, 网络中这样一个简单的协议是保密程度最高的安全两方计算协议, 除此之外, 再也找不到一个用于计算f(a, b)的实际安全两方计算协议在安全性上可以超越该协议.
定义3(半诚实参与者)[27].不严格地说, 作为某安全多方计算协议的半诚实参与者, 在其执行协议的过程中绝对会按照协议规定, 执行安全计算协议的每一步, 但其可能会在协议执行过程中记录所有中间结果, 并试图利用这些记录数据去计算安全多方计算协议之外的有关其他参与者的隐私信息.
将计算概率多项式函数f=(f1, f2):{0, 1}*×{0, 1}*→{0, 1}*×{0, 1}*的协议记作π.给π输入(a, b), 在协议执行过程中, Alice和Bob的视图(view)分别记作
定义4(协议π可被用于保密计算函数f(a, b))[27]. Goldreich如下定义一个安全两方计算协议的安全性:如果存在概率多项式时间模拟算法
${\{ ({\mathcal{S}_1}(a, {f_1}(a, b)), {f_2}(a, b))\} _{a, b}}\mathop \equiv \limits^c {\{ (view_1^\pi (a, b), output_2^\pi (a, b))\} _{a, b}}$ | (1) |
${\{ ({f_1}(a, b), {\mathcal{S}_2}(a, {f_2}(a, b)))\} _{a, b}}\mathop \equiv \limits^c {\{ (output_1^\pi (a, b), view_2^\pi (a, b))\} _{a, b}}$ | (2) |
成立, 则称协议π可被用于保密计算函数f(a, b).其中,
Goldreich利用比特承诺和零知识证明理论设计了一个编译器.向该编译器输入一个在半诚实参模型下安全计算f的协议π时, 编译器会自动为我们编译输出一个安全协议π', 该协议在有恶意参与者参与协同计算情况下也能安全计算f.考虑到工程实际, 本文规定本文构造协议中的参与者皆为半诚实类型.
1.3 Paillier同态加密方案[22]Paillier构造的方案(如图 1所示)可以利用密文的运算在明文空间
1.4 高阶剩余类判定性问题
定义5(高阶剩余类判定性问题).该问题在文献[11]中被称作“decisional composite residuosity problem”, 简称为DCR).简单地讲, 如果给定两个等长大素数的乘积
文献[27]从可证明安全的需求出发, 将其用形式化语言描述为如下形式:
设D是一种区分任意两个分布
如果任意选取一个分布
$Ad{v_{\mathit{\pmb{D}}}}(\tau ) = |\Pr [{\mathit{\pmb{D}}}(n, {\mathit{\pmb{R}}}) = {D_{ran}}] - \Pr [{\mathit{\pmb{D}}}(n, {\mathit{\pmb{R}}}) = {D_\mathcal{E}}]|.$ |
DCR一直是在现代密码学中一个被公认的难解问题, 关于DCR难解性证明或阐述请参阅Paillier[22].所以, 对于任意的敌手而言, 利用任意多项式时间的概率算法D区分分布(n, R)的优势函数AdvD(τ)是一个可忽略的量, 即存在一个关于安全参数τ的可忽略函数δ(τ), 使得AdvD(τ)满足:
$ Ad{{v}_{\mathit{\pmb{D}}}}(\tau )\le \delta (\tau ). $ |
对于Paillier加密方案而言, 主要的计算开销包括gm mod n2, rn mod n2和cλ mod n2, 其中, g=1+kn,
思想1.在执行加密算法的过程中, 将运算复杂度高的模指数运算gm mod n2(或gλ mod n2)用与之运算结果等价的、运算高效的模乘运算1+m·(g-1)(mod n2)(或1+λ·(g-1)(mod n2))替代, 从而实现快速而正确的加密.
思想2.将计算开销大的模指数运算rn mod n2委托给云服务器.
2.1 具体方案此同态加密系统由4种随机算法组成:云外包随机数模指数运算算法(COR)、密钥生成算法(KGen)、加密算法(Enc)和解密算法(Dec), 其中, 云外包随机数模指数运算可以在预处理阶段完成, 也可以与密钥生成算法并行执行.在此, 我们将该加密方案记作
● COR:云服务器随机选择
● KGen:产生长度相等的两个大素数p, q, 并计算二者的乘积(n=pq)与二者分别减1后的最小公倍数
● Enc:加密一方按照如下方式执行加密计算:
(1) 从云服务器上下载集合R.
(2) 自由确定适量的自模乘运算次数(θ), 并从R上随机选择
(3) 对于m < n, 计算
$ ({{\chi }_{1}}, {{\chi }_{2}}\in \{0, \ldots , \ell \})\wedge ({{\chi }_{1}}+{{\chi }_{2}}\ge 2), c=(1+{{M}_{g}}(\text{mod}\ {{n}^{2}}))\cdot {{R}_{x}}\ \text{mod}\ {{n}^{2}}. $ |
● Dec:解密方执行解密运算:
$ m=\frac{L\left( {{c}^{\lambda }}\,\bmod \,{{n}^{2}} \right)}{L\left( (1+\lambda \cdot (g-1))\,\bmod \,{{n}^{2}} \right)}\,\bmod \,n,其中,L(u)=\frac{u-1}{n},u\in Z_{{{n}^{2}}}^{*}. $ |
显然, 云服务器计算
(1) 加密运算中引入的随机变量可以在解密运算中被成功消除.
如果解密运算能够成功将加密运算中引入的随机变量消除, 则
因为
$\begin{align} & {{R}_{x}}=R_{i}^{{{\chi }_{1}}}\cdot R_{j}^{{{\chi }_{2}}}\left( \,\bmod \,{{n}^{2}} \right) \\ & \ \ \ \ \ ={{\left( r_{i}^{n} \right)}^{{{\chi }_{1}}}}\cdot {{\left( r_{j}^{n} \right)}^{{{\chi }_{2}}}}\left( \,\bmod \,{{n}^{2}} \right) \\ & \ \ \ \ \ ={{\left( r_{i}^{{{\chi }_{1}}}r_{j}^{{{\chi }_{2}}} \right)}^{n}}\left( \,\bmod \,{{n}^{2}} \right) \\ & \ \ \ \ \ ={{\left( {{r}_{x}}+\gamma n \right)}^{n}}\left( \,\bmod \,{{n}^{2}} \right) \\ & \ \ \ \ \ =\sum\limits_{k=0}^{n}{\left( \begin{array}{*{35}{l}} n \\ k \\ \end{array} \right)}r_{x}^{n-k}{{(\gamma n)}^{k}}\left( \,\bmod \,{{n}^{2}} \right) \\ & \ \ \ \ \ =r_{x}^{n}\left( \,\bmod \,{{n}^{2}} \right) \\ \end{align}$ |
(2) 加密运算采用计算
R虽然是公开的, 但
综上所述, 加密方案
定理1. 1+m·(g-1)(mod n2)的结果与模指数运算gm mod n2的结果是等价的, 即
$ 1+m\cdot (g-1)(\text{mod}\ {{n}^{2}})\Leftrightarrow {{g}^{m}}\ \text{mod}\ {{n}^{2}}. $ |
证明:因为g=1+kn$(k \in Z_n^ + )$, 所以,
$ 1+m\cdot (g-1)(\text{mod}\ {{n}^{2}})=1+m\cdot (1+kn-1)(\text{mod}\ {{n}^{2}})=1+m\cdot kn(\text{mod}\ {{n}^{2}}); $ |
又由二项式展开定理得:
${g^m}{\rm{ }}\bmod {\rm{ }}{n^2} = {(1 + kn)^m}{\rm{ }}\bmod {\rm{ }}{n^2} = \sum\limits_{\kappa = 0}^m {\left( \begin{gathered} m \\ \kappa \\ \end{gathered} \right)} 1_x^{m - \kappa }{(kn)^\kappa }{\rm{ }}\bmod {\rm{ }}{n^2} = 1 + \left( \begin{gathered} m \\ 1 \\ \end{gathered} \right) \cdot kn{\rm{ }}\bmod {\rm{ }}{n^2} = 1 + m \cdot kn{\rm{ }}\bmod {\rm{ }}{n^2}.$ |
综上可得:1+m·(g-1)(mod n2)⇔gm mod n2
2.2.3 解密正确性因为
$ \begin{align} & c=((1+m\cdot (g-1))(\,\bmod \,{{n}^{2}}))\cdot (({{R}_{i}}\cdot {{R}_{j}}\,\bmod \,{{n}^{2}})\,\bmod \,{{n}^{2}})\,\bmod \,{{n}^{2}} \\ & \ \ \ =(1+m\cdot (1+kn-1)(\,\bmod \,{{n}^{2}}))\cdot (r_{x}^{n}\,\bmod \,{{n}^{2}})\,\bmod \,{{n}^{2}} \\ & \ \ \ =({{(1+kn)}^{m}}\,\bmod \,{{n}^{2}})\cdot (r_{x}^{n}\,\bmod \,{{n}^{2}})\,\bmod \,{{n}^{2}} \\ & \ \ \ ={{g}^{m}}r_{x}^{n}\,\bmod \,{{n}^{2}}, \\ \end{align} $ |
所以有:
$\frac{{L({c^\lambda }{\rm{ }}\bmod {\rm{ }}{n^2})}}{{L((1 + \lambda \cdot (g - 1)){\rm{ }}\bmod {\rm{ }}{n^2})}}{\rm{ }}\bmod {\rm{ }}n = \frac{{({c^\lambda }{\rm{ }}\bmod {\rm{ }}{n^2}) - 1}}{{((1 + \lambda \cdot kn){\rm{ }}\bmod {\rm{ }}{n^2}) - 1}}{\rm{ }}\bmod {\rm{ }}n = \frac{{(1 + m \cdot kn) - 1}}{{(1 + kn) - 1}}{\rm{ }}\bmod {\rm{ }}n = m.$ |
定理2.如果DCR是难解问题, 则
证明:在此先回忆一下DCR问题挑战者的工作方式.
● 在安全时间1k内, 通过执行算法
● 在Zn上随机选取一个数r, 并从{0, 1}中均匀选取一个数f.
● 若f为0, 则将R置为rn mod n2; 若f为1, 则将R置成R.
设
(1) 接收DCR挑战者发来的(n, (n, R));
(2) 令pk=(n, 1+kn);
(3) 将1n和pk发送给
(4) 接收
(5) 均匀地选取d∈{0, 1};
(6) 令
(7) 用d'表示敌手A对d的猜测结果;
(8) 输出f'(如果d=d', 则置f'=0;如果d≠d', 则置f'=1).
因为算法
$\left. \begin{gathered} \Pr [f = f'] = \Pr [f = 0]\Pr [f = f'|f = 0] + \Pr [f = 1]\Pr [f = f'|f = 1] \\ {\rm{ }} = \frac{1}{2}\Pr [f' = 0|f = 0] + \frac{1}{2}\Pr [f' = 1|f = 1] \\ {\rm{ }} = \frac{1}{2}\Pr [d = d'|f = 0] + \frac{1}{2}\Pr [d \ne d'|f = 1] \\ \end{gathered} \right\}$ | (3) |
当f=0时, DCR挑战者置R=rn mod n2.这样, 由算法
$\Pr [d = d'|f = 0] = \frac{1}{2} + \delta $ | (4) |
当f=1时, DCR挑战者将
$\Pr [d = d'|f = 1] = \frac{1}{2}$ | (5) |
成立.联立公式(3)~公式(5), 我们可以得到:
$\Pr [f = f'] = \frac{1}{2}\left( {\frac{1}{2} + \delta } \right) + \frac{1}{2} \times \frac{1}{2} = \frac{1}{2} + \frac{1}{2}\delta $ | (6) |
因此,
$\left| {\Pr [f = f'] - \frac{1}{2}} \right| = \left| {\left( {\frac{1}{2} + \frac{1}{2}\delta } \right) - \frac{1}{2}} \right| = \frac{\delta }{2}$ | (7) |
由第1.1节中定义1可知, 在DCR安全性游戏中, 利用算法
因为同态加密方案
3 保密社交意愿探测协议 3.1 保密社交意愿应用背景描述及其形式化
Alice(需求者)是保险公司的职员, 某天在某一个城市推销保险产品, 她只想约谈现在正好在某个区域内的客户(可能住在该区域, 也可能正在该区域且有空闲时间), 她与不想向不在该区域且不愿约谈的用户透露自己的活动区域, 例如她想约谈客户Bob, 但Bob只想让Alice知道他是否可被约谈而不想透露自己的具体位置.Bob和Alice怎样做才能同时实现他们的各自的目的呢?然而, 安全多方几何计算为解决这种问题提供了一种可行的方法.我们将Bob和Alice采用安全多方几何计算思路实现保密测试社交意愿的问题称为保密社交意愿探测问题, 其形式化描述如下:
Alice拥有一个有K个顶点
Bob拥有一个私有点pb=(bx, by), 表示他现在所处的位置.Alice想知道Bob是否处在自己的想活动的范围内, Bob不想透露自己的具体位置.我们设计一个这样的安全多方计算协议要实现对Alice与Bob的隐私保护.
● 协议结束时, Alice只得到一个意愿探测的结果(一个布尔值), 而Bob的具体位置信息对于Alice仍然是一个秘密.
● 协议结束时, 最多只得到Alice多边形的边数K-1(Bob没有得到意愿探测的结果), 而Alice的活动区域的形状、位置与活动区域的大小对于Bob仍然是一个秘密.
3.2 保密社交意愿探测协议 3.2.1 判定凸多边形与一个点位置关系非保密的近感探测问题实际上就是判定某个凸多边形P(有K个顶点
● 正向:3个点构成的方向角∠pi, pb, pi+1为逆时针走向(如图 3(a)所示).
● 反向:3个点构成的方向角∠pi, pb, pi+1为顺时针走向(如图 3(b)所示).
● 零向:3个点构成的方向角∠pi, pb, pi+1=180°, 即pi, pb, pi+1共线(如图 3(c)所示).
假设点pi, pb, pi+1的坐标分别为
$ \left. \begin{align} & {{D}_{i}}=\left| \begin{matrix} {{a}_{{{x}_{i}}}}-{{b}_{x}} & \ \ {{a}_{{{y}_{i}}}}-{{b}_{y}} \\ {{a}_{{{x}_{i+1}}}}-{{b}_{x}} & \ \ \ {{a}_{{{y}_{i+1}}}}-{{b}_{y}} \\ \end{matrix} \right| \\ & \ \ \ \ ={{b}_{x}}({{a}_{{{y}_{i+1}}}}-{{a}_{{{y}_{i}}}})+{{b}_{y}}({{a}_{{{x}_{i}}}}-{{a}_{{{x}_{i+1}}}})+({{a}_{{{y}_{i}}}}{{a}_{{{x}_{i+1}}}}-{{a}_{{{x}_{i}}}}{{a}_{{{y}_{i+1}}}}) \\ & \ \ \ \ ={{b}_{x}}{{a}_{{{y}_{i+1}}}}+{{b}_{y}}{{a}_{{{x}_{i}}}}+{{a}_{{{y}_{i}}}}{{a}_{{{x}_{i+1}}}}-({{b}_{x}}{{a}_{{{y}_{i}}}}+{{b}_{y}}{{a}_{{{x}_{i+1}}}}+{{a}_{{{x}_{i}}}}{{a}_{{{y}_{i+1}}}}) \\ \end{align} \right\} $ | (8) |
其中, Di > 0, Di < 0, Di=0分别对应着图 3(a)~图 3(c).
因此, 下面的算法可以正确计算出近感探测的结果.
凸多边形与点的关系判定算法.
输入:由K个按逆时针顺序访问的顶点
输出:“1”, 如果pb在P内; “0”, 否则pb不在P内.
(1) 对于i∈{1, 2, …, K-1}计算点pb与有向线段
(2) 如果对于∀i∈{1, 2, …, K-1}都有Di≤0, 则返回“1”; 否则, 返回“0”.
3.2.2 保密社交意愿探测协议利用上述凸多边形与点的位置关系判定方法、第2.1节中设计的带云辅助计算的同态加密方案以及一种新的保密符号计算方法, 设计了一个保密社交意愿探测协议.
保密社交意愿探测协议.
输入:Alice输入由K个按逆时针顺序访问的顶点
输出:“1”, 如果pb在P内; “0”, 否则pb不在P内.
1. COR:云服务器随机选
2. Alice运行加密系统
3. Alice首先从云服务器上下载集合R并随机选取
(1) 对于j∈{1, 2, …, K-1}计算(假设Alice将χ1, χ2取作χ1=χ2=1, 并置l=2):
$\begin{align} & {{E}_{\mathcal{E}}}({{a}_{{{y}_{j+1}}}})\equiv (1+{{a}_{{{y}_{j+1}}}}(g-1))\cdot {{R}_{{{A}_{j1}}}}\cdot {{R}_{{{A}_{j2}}}}\,\bmod \,{{n}^{2}},{{E}_{\mathcal{E}}}({{a}_{{{x}_{j}}}})\equiv (1+{{a}_{{{x}_{j}}}}(g-1))\cdot {{R}_{{{A}_{j3}}}}\cdot {{R}_{{{A}_{j4}}}}\,\bmod \,{{n}^{2}}, \\ & {{E}_{\mathcal{E}}}({{a}_{{{y}_{j}}}}{{a}_{{{x}_{j+1}}}})\equiv (1+{{a}_{{{y}_{j}}}}{{a}_{{{x}_{j+1}}}}(g-1))\cdot {{R}_{{{A}_{j5}}}}\cdot {{R}_{{{A}_{j6}}}}\,\bmod \,{{n}^{2}},{{E}_{\mathcal{E}}}({{a}_{{{y}_{j}}}})\equiv (1+{{a}_{{{y}_{j}}}}(g-1))\cdot {{R}_{{{A}_{j7}}}}\cdot {{R}_{{{A}_{j8}}}}\,\bmod \,{{n}^{2}}, \\ & {{E}_{\mathcal{E}}}({{a}_{{{x}_{j+1}}}})\equiv (1+{{a}_{{{x}_{j+1}}}}(g-1))\cdot {{R}_{{{A}_{j9}}}}\cdot {{R}_{{{A}_{j10}}}}\,\bmod \,{{n}^{2}},{{E}_{\mathcal{E}}}({{a}_{{{x}_{j}}}}{{a}_{{{y}_{j+1}}}})\equiv (1+{{a}_{{{x}_{j}}}}{{a}_{{{y}_{j+1}}}}(g-1))\cdot {{R}_{{{A}_{j11}}}}\cdot {{R}_{{{A}_{j12}}}}\,\bmod \,{{n}^{2}}. \\ \end{align}$ |
(2) 将密文元组
4.对于i∈{1, 2, …, K-1}, Bob收到
(1) 计算:
(2) 从云服务器上下载集合R后, 随机选择
$\begin{align} & {E_\mathcal{E}}({r_{b1}}) = (1 + {r_{b1}} \cdot {k_b} \cdot (g - 1) \cdot R_1^{{\chi _1}} \cdot R_2^{{\chi _2}} \cdot ... \cdot R_\ell ^{{\chi _\ell }}{\rm{ }}\bmod {\rm{ }}{n^2}, \\ & {E_\mathcal{E}}({k_b}({b_x}{a_{{y_{i + 1}}}} + {b_y}{a_{{x_i}}} + {a_{{y_i}}}{a_{{x_{i + 1}}}}) + {r_{b1}}) \equiv ({({E_\mathcal{E}}({b_x}{a_{{y_{i + 1}}}}){E_\mathcal{E}}({b_y}{a_{{x_i}}}){E_\mathcal{E}}({a_{{y_i}}}{a_{{x_{i + 1}}}}){\rm{ }}\bmod {\rm{ }}{n^2})^{{k_b}}}{\rm{ }}\bmod {\rm{ }}{n^2}){E_\mathcal{E}}({r_{b1}}){\rm{ }}\bmod {\rm{ }}{n^2}, \\ & {E_\mathcal{E}}({b_x}{a_{{y_i}}}) \equiv {({E_\mathcal{E}}({a_{{y_i}}}))^{{b_x}}}{\rm{ }}\bmod {\rm{ }}{n^2}, \\ & {E_\mathcal{E}}({b_y}{a_{{x_{i + 1}}}}) \equiv {({E_\mathcal{E}}({a_{{x_{i + 1}}}}))^{{b_y}}}{\rm{ }}\bmod {\rm{ }}{n^2}. \\ \end{align} $ |
(3) 随机选择
$\begin{align} & {E_\mathcal{E}}({r_{{b_2}}}) = (1 + {r_{{b_2}}} \cdot {k_b} \cdot (g - 1) \cdot R_1^{\chi _1^\prime } \cdot R_2^{\chi _2^\prime } \cdot ... \cdot R_\ell ^{\chi _\ell ^\prime }{\rm{ }}\bmod {\rm{ }}{n^2}, \\ & {E_\mathcal{E}}({k_b}({b_x}{a_{{y_i}}} + {b_y}{a_{{x_{i + 1}}}} + {a_{{x_i}}}{a_{{y_{i + 1}}}}) + {r_{{b_2}}}) \equiv ({({E_\mathcal{E}}({b_x}{a_{{y_i}}}){E_\mathcal{E}}({b_y}{a_{{x_{i + 1}}}}){E_\mathcal{E}}({a_{{x_i}}}{a_{{y_{i + 1}}}}))^{{k_b}}}{\rm{ }}\bmod {\rm{ }}{n^2}){E_\mathcal{E}}({r_{{b_2}}}){\rm{ }}\bmod {\rm{ }}{n^2}, \\ \end{align} $ |
并将
5.对于i∈{1, 2, …, K-1}, 收到
${\theta _i} = \frac{{\frac{{L({{({E_\mathcal{E}}({k_b}({b_x}{a_{{y_{i + 1}}}} + {b_y}{a_{{x_i}}} + {a_{{y_i}}}{a_{{x_{i + 1}}}}) + {r_{b1}}))}^\lambda }{\rm{ }}\bmod {\rm{ }}{n^2})}}{{L({g^\lambda })}}}}{{\frac{{L({{({E_\mathcal{E}}({k_b}({b_x}{a_{{y_i}}} + {b_y}{a_{{x_{i + 1}}}} + {a_{{x_i}}}{a_{{y_{i + 1}}}}) + {r_{b2}}))}^\lambda }){\rm{ }}\bmod {\rm{ }}{n^2}}}{{L({g^\lambda })}}}} = \frac{{L{{({E_\mathcal{E}}({k_b}({b_x}{a_{{y_{i + 1}}}} + {b_y}{a_{{x_i}}} + {a_{{y_i}}}{a_{{x_{i + 1}}}}) + {r_{b1}}))}^\lambda }{\rm{ }}\bmod {\rm{ }}{n^2})}}{{L({{({E_\mathcal{E}}({k_b}({b_x}{a_{{y_i}}} + {b_y}{a_{{x_{i + 1}}}} + {a_{{x_i}}}{a_{{y_{i + 1}}}}) + {r_{b2}}))}^\lambda }{\rm{ }}\bmod {\rm{ }}{n^2})}}.$ |
6.通过判断θi与“1”的关系, 确定Di的符号:
$Sign({D_i}) = \left\{ {\begin{array}{*{20}{l}} {1, {\rm{ }}{\theta _i} > 1} \\ {0, {\rm{ }}{\theta _i} = 1} \\ { - 1, {\rm{ }}{\theta _i} < 1} \end{array}} \right., $ |
其中, Sign(·)为符号函数.
7.如果对于∀i∈{1, 2, …, K-1}都有Di≤0, 则返回“D=1”; 否则, 返回“D=0”.
3.3 保密社交意愿探测协议保密性分析定理3.保密社交意愿探测协议可以安全地实现Alice, Bob两方的社交意愿探测.
证明:该协议安全与否的关键是协议执行后有没有造成参与者私有信息的泄露.接下来, 我们将证明保密意愿探测协议在安全计算约谈意愿的过程中, Alice(持有凸多边形的活动区域P, 由顶点
● 对于Alice数据的安全性
我们首先构造一个模拟保密探测协议执行的模拟器
● 对于Bob位置信息的私密性
我们构造一个Bob, 输入其私有位置信息以及由其随机选择的
$({p_{{a_1}}}, {p_{{a_2}}}, ..., {p_{{a_K}}}, {E_\mathcal{E}}({k_b}({b_x}{a_{{y_{i + 1}}}} + {b_y}{a_{{x_i}}} + {a_{{y_i}}}{a_{{x_{i + 1}}}}) + {r_{{b_1}}}), {E_\mathcal{E}}({k_b}({b_x}{a_{{y_i}}} + {b_y}{a_{{x_{i + 1}}}} + {a_{{x_i}}}{a_{{y_{i + 1}}}}) + {r_{{b_2}}}), D).$ |
因密文
综上所述, Alice和Bob的私密性满足安全定义的形式化等式(1)和等式(2).所以, 保密社交意愿探测协议可以安全地实现Alice、Bob两方社交意愿的探测.
4 保密社交意愿探测协议效率分析不失一般性, 我们假定Alice和Bob为文献[1]的协议和本文协议的参与者, 并假定Bob的坐标为(bx, by), Alice提供的意愿区域为K个顶点构成的凸多边形.为了进行公平比较, 此处将执行协议时花费的总开销统一用一次自模乘运算(
Alice和Bob在执行文献[1]的协议时, 总共至少需要K(8n+bx+by+2λ)次自模乘运算(
基于同态加密方案
5 结束语
本文对保密意愿探测问题进行了研究.为了高效地解决这一问题, 首先设计了一个带云辅助计算的同态加密方案; 然后, 利用该加密方案设计了一个高效的保密意愿探测协议.分析结果表明, 此协议在效率和安全性方面都优于先前的类似协议, 并且其安全性是在标准的ideal/real模型下实现的.
[1] |
Mu B, Bakiras S. Private proximity detection for convex polygons. Tsinghua Science and Technology, 2016, 21(3): 270-280.
[doi:10.1109/TST.2016.7488738] |
[2] |
Jing T, Lin P, Lu Y, Hu C, Huo Y. FPODG: A flexible and private proximity testing based on'one degree' grid. Int'l Journal of Sensor Networks, 2016, 20(3): 199-207.
[doi:10.1504/IJSNET.2016.075371] |
[3] |
Zheng Y, Li M, Lou WJ, Hou T. Location based handshake and private proximity test with location tags. IEEE Trans. on Dependable and Secure Computing, 2017, 14(4): 403-419.
http://cn.bing.com/academic/profile?id=48e05aa918bc22db527f3a0c6ff22ae4&encoded=0&v=paper_preview&mkt=zh-cn |
[4] |
Faber S, Petrlic R, Tsudik G. Unlinked: Private proximity-based off-line OSN interaction. In: Proc. of the 14th ACM Workshop on Privacy in the Electronic Society. New York: ACM Press, 2015. 121-131. https: //www.researchgate.net/publication/280305509_UnLinked_Private_Proximity-based_Off-line_OSN_Interaction
|
[5] |
Kotzanikolaou P, Patsakis C, Magkos E, Michalis K. Lightweight private proximity testing for geospatial social networks. Computer Communications, 2016, 73: 263-270.
[doi:10.1016/j.comcom.2015.07.017] |
[6] |
Zhuo G, Jia Q, Guo L, Li M, Fang Y. Privacy-preserving verifiable proximity test for location-based services. In: Proc. of the 2015 IEEE Global Communications Conf. (GLOBECOM). New York: IEEE Press, 2015. 1-6. https: //www.researchgate.net/publication/304415751_Privacy-Preserving_Verifiable_Proximity_Test_for_Location-Based_Services
|
[7] |
Gong X, Chen X, Xing K, Shin D, Zhang M, Zhang J. Personalized location privacy in mobile networks: A social group utility approach. In: Proc. of the 2015 IEEE Conf. on Computer Communications (INFOCOM). New York: IEEE Press, 2015. 1008-1016.
|
[8] |
Werner M. Privacy-protected communication for location-based services. Security and Communication Networks, 2016, 9(2): 130-138.
http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=df808e74a80efacae0d542f83ac00f6d |
[9] |
Zhong G, Goldberg I, Hengartner U. Louis, Lester and Pierre: Three protocols for location privacy. In: Proc. of the Int'l Workshop on Privacy Enhancing Technologies. Berlin, Heidelberg: Springer-Verlag, 2007. 62-76. https: //link.springer.com/chapter/10.1007%2F978-3-540-75551-7_5
|
[10] |
Narayanan A, Thiagarajan N, Lakhani M, Michael H, Boneh D. Location privacy via private proximity testing. In: Proc. of the 18th Annual Network & Distributed System Security Symp. (NDSS 2011). IETF, 2011. 1-17.
|
[11] |
Šikšnys L, Thomsen JR, Šaltenis S, Yiu M, Andersen O. A location privacy aware friend locator. In: Proc. of the Int'l Symp. on Spatial and Temporal Databases. Berlin, Heidelberg: Springer-Verlag, 2009. 405-410. https: //www.researchgate.net/publication/221471752_A_Location_Privacy_Aware_Friend_Locator
|
[12] |
Šikšnys L, Thomsen JR, Šaltenis S, Yiu M. Private and flexible proximity detection in mobile social networks. In: Proc. of the 2010 11th IEEE Int'l Conf. on Mobile Data Management (MDM). New York: IEEE Press, 2010. 75-84. https: //www.researchgate.net/publication/221422449_Private_and_Flexible_Proximity_Detection_in_Mobile_Social_Networks?_sg=cxRpkICx7AjzzjMOwNocvcGrRk3XgusNJRVvqB4YGtT4DuN0QzHdEVU5XdzjACIsBY88SkxZgmttWkri5oWbWQ
|
[13] |
Mascetti S, Freni D, Bettini C, Wang X, Jajodia S. Privacy in geo-social networks: Proximity notification with untrusted service providers and curious buddies. The VLDB Journal—The Int'l Journal on Very Large Data Bases, 2011, 20(4): 541-566.
[doi:10.1007/s00778-010-0213-7] |
[14] |
Hallgren P, Ochoa M, Sabelfeld A. Innercircle: A parallelizable decentralized privacy-preserving location proximity protocol. In: Proc. of the 2015 13th IEEE Annual Conf. on Privacy, Security and Trust (PST). New York: IEEE Press, 2015. 1-6. https: //www.researchgate.net/publication/308865460_InnerCircle_A_parallelizable_decentralized_privacy-preserving_location_proximity_protocol
|
[15] |
Patsakis C, Kotzanikolaou P, Bouroche M. Private proximity testing on steroids: An NTRU-based protocol. In: Proc. of the Int'l Workshop on Security and Trust Management. Berlin, Heidelberg: Springer-Verlag, 2015. 172-184. https: //link.springer.com/chapter/10.1007/978-3-319-24858-5_11
|
[16] |
Halevi T, Ma D, Saxena N, Xiang T. Secure proximity detection for NFC devices based on ambient sensor data. In: Proc. of the European Symp. on Research in Computer Security. Berlin, Heidelberg: Springer-Verlag, 2012. 379-396.
|
[17] |
Zhuo G, Jia Q, Guo L, Li M, Fang Y. Privacy-preserving verifiable proximity test for location-based services. In: Proc. of the 2015 IEEE Global Communications Conf. (GLOBECOM). New York: IEEE Press, 2015. 1-6. https: //www.researchgate.net/publication/304415751_Privacy-Preserving_Verifiable_Proximity_Test_for_Location-Based_Services
|
[18] |
Nielsen JD, Pagter JI, Stausholm MB. Location privacy via actively secure private proximity testing. In: Proc. of the 2012 IEEE Int'l Conf. on Pervasive Computing and Communications Workshops (PERCOM Workshops). New York: IEEE Press, 2012. 381-386. https: //www.computer.org/csdl/proceedings-article/percomw/2012/06197514/12OmNzRHOMn
|
[19] |
Niu B, Zhang T, Zhu X, Li H, Lu Z. Priority-aware private matching schemes for proximity-based mobile social networks. arXiv preprint arXiv: 1401.8064, 2014. https://arxiv.org/pdf/1401.8064
|
[20] |
Shrestha B, Saxena N, Truong HTT, Asokan N. Contextual proximity detection in the face of context-manipulating adversaries. arXiv preprint arXiv: 1511.00905, 2015. https://arxiv.org/pdf/1511.00905.pdf
|
[21] |
Li HP, Hu H, Xu J. Nearby friend alert: Location anonymity in mobile geosocial networks. IEEE Pervasive Computing, 2013, 12(4): 62-70.
[doi:10.1109/MPRV.2012.82] |
[22] |
Paillier P. Public-key cryptosystems based on composite degree residuosity classes. In: Proc. of the Int'l Conf. on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer-Verlag, 1999. 223-238. https: //www.researchgate.net/publication/321601957_Advances_in_Cryptology_-_EUROCRYPT_'99_International_Conference_on_the_Theory_and_Application_of_Cryptographic_Techniques_Prague_Czech_Republic_May_2-6_1999_Proceedings
|
[23] |
ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Trans. on Information Theory, 1985, 31(4): 469-472.
[doi:10.1109/TIT.1985.1057074] |
[24] |
Thomas T. Secure two-party protocols for point inclusion problem. arXiv preprint arXiv: 0705.4185, 2007. https://arxiv.org/pdf/0705.4185.pdf
|
[25] |
Yang B, Shao ZY, Zhang WZ. Secure two-party protocols on planar convex hulls. Journal of Information, 2012, 9(4): 915-929.
http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=282d26a1f1930dc3125144ba8fd95c7e |
[26] |
Yun Y, Liusheng H, Wei Y, Youwen Y. Efficient protocols for point-convex hull inclusion decision problems. Journal of Networks, 2010, 5(5): 559-567.
http://d.old.wanfangdata.com.cn/OAPaper/oai_doaj-articles_998eda4bde30ca6b181441e7d551cea3 |
[27] |
Gong LM, Li SD, Dou JW, Guo YM, Wang DS. Homomorphic encryption scheme and a protocol on secure computing a line by two private points. Ruan Jian Xue Bao/Journal of Software, 2017, 28(12): 3274-3292 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5239.htm[doi: 10.13328/j.cnki.jos.005239]
|
[28] |
Katz J, Lindell Y. Introduction to Modern Cryptography. 2nd ed. New York: CRC Press, 2014: 389-398.
|
[29] |
Atallah MJ, Du W. Secure multi-party computational geometry. In: Proc. of the Workshop on Algorithms and Data Structures. Berlin, Heidelberg: Springer-Verlag, 2001. 165-179. https: //link.springer.com/chapter/10.1007/3-540-44634-6_16
|
[27] |
巩林明, 李顺东, 窦家维, 郭奕旻, 王道顺.同态加密方案及安全两点直线计算协议.软件学报, 2017, 28(12): 3274-3292. http://www.jos.org.cn/1000-9825/5239.htm[doi: 10.13328/j.cnki.jos.005239]
|