面向位置保护的隐私距离计算与近邻检测

本研究结合并扩展了该领域部分论文结果,其中包括以下贡献:

1.基于单边检测的高效PPLP协议

2.基于多边检测的高效PPLP协议

Presentation

Description of the algorithm

1、基于AHPKE算法的单边检测PPLP协议

1.1 结构概述

我们将展示如何构建适用于移动设备进行单边检测查询(圆范围内)的高效 PPLP 协议。在我们的构建中,我们将广泛使用单向哈希函数`H:{0,1}^*→Z_p`,该函数将在安全分析中被建模为随机预言机,其中 是每个协议中选择的大素数。

考虑如下场景:A想在不知道B具体位置信息的前提下了解B的位置是否离自己较近,因此A、B建立如下交互:设置阈值`d'`,如果两者的距离d小于阈值`d'`,那么我们可以说两人间隔较近。如果集合`T={d_1,d_2,...,d_m}`表示两个相邻方之间所有可能的欧几里得距离,那么近邻检测(Proximity Detection)问题则转化为:确定距离`d`是否存在于公共集合`T`中。

同时,距离`d`也应对通信双方保密以保护隐私。因此,A不可直接输入距离`d`进行近邻检测。我们使用AHPKE协议进行加密,使得通信双方可以利用A的公钥共同计算距离 ,但B随机取值(即下文中的随机数`r`,`s` )进行计算,因此A只可获知利用随机数加密后的盲距离`d″=s*(r+d)mod p`.该距离混淆方法受到 Lester 协议的启发,并根据AHPKE协议思路稍作修改。为了让A获得近邻检测结果,我们将集合`T`映射到另一个集合`X={x_1,x_2,...,x_m}`,其中`x_i=H(d_i″)mod p=H(s*(r+d_i))mod p`。不难看出,如果`H(d_i″)∈X`;,可推出`d∈T`。在同一次交互过程中,由于随机数取定,新旧集合的映射具有唯一性。

我们使用布隆过滤器(Bloom Filter)来存储集合 中元素,以减少存储、通信成本。

1.2 基于DGK的协议

1.2.1 原理介绍

首先介绍由DGK衍生的PPLP协议,这种适用于A、B两方交互的PPLP协议原理如下所示,最终A将通过与B交互,获取近邻检测结果,即判断A、B之间距离`d`是否小于阈值`d′`。

1.2.2 协议优化

在基于DGK算法的PPLP协议中,生成盲距离的步骤可进行优化。在计算密文`c_1,c_2,c_3`时,这些与随机值相关的指数可以预先计算。

每次计算`R_i`需要使用`2.5*Φ`位指数(例如 `Φ=256`)进行完全指数运算。相比之下,位置坐标的大小和盲距离在数值上要小得多。因此,与消息(坐标信息)相关的求幂过程(例如`g^(-2*x_A)`)可以有效地在线完成。为了提高交互效率,在线阶段我们只计算与消息相关的指数,且在B方进行类似预计算。为了计算B方密文`c_d`,我们可以使用同时多重指数(具有可变基数)来加快计算速度。那么,计算量大约需要常规模幂运算的 `1.3` 倍。

1.2.3 安全性分析

(1)如果DGK在语义上是安全的,并且哈希函数H被建模为随机预言,那么上述PPLP协议是诚实但好奇模型中的安全计算。

(2)没有腐败方B可以学习诚实方A的输入集;任何被破坏的A方都无法获知由此产生的距离。由于A的所有输入都是加密的,因此 DGK 的安全性保证了对被破坏方B的安全性。因此,模拟器S只能用随机密文替换真实密文。任何区分这种变化的对手都可以用来破坏 DGK。

1.3 基于Lifted-ElGamal的协议

1.3.1 原理介绍

在本节中,我们介绍来自ElGamal加密算法的PPLP协议。ElGamal与DGK加密算法构造方法类似,然而,在线交互阶段的解密对于只需要知道近邻检测结果的用户A来说是不必要的。因此我们使用基于ECC的Lifted-Elgamal协议替换了DGK加密算法,从而提高了在线通信的复杂性。此外,当增加安全参数时,ECC运算性能明显优于DGK算法中的RSA模数,因此Lifted-Elgamal协议具有长期安全性。

1.3.2 协议优化

如果ElGamal算法在语义上是安全的,并且哈希函数`H`被建模为随机预言函数,那么上述PPLP协议是诚实但好奇模型中的安全计算