This paper introduces Zero-Knowledge Location Privacy (ZKLP), enabling users to prove to third parties that they are within a specified geographical region while not disclosing their exact location. ZKLP supports varying levels of granularity, allowing for customization depending on the use case. To realize ZKLP, we introduce the first set of Zero-Knowledge Proof (ZKP) circuits that are fully compliant to the IEEE 754 standard for floating-point arithmetic. Our results demonstrate that our floating point implementation scales efficiently, requiring only $69$ constraints per multiplication for $2^{15}$ single-precision floating-point multiplications. We utilize our floating point implementation to realize the ZKLP paradigm. In comparison to the state-of-the-art, we find that our optimized implementation has $14.1 \times$ less constraints utilizing single precision floating-point values, and $11.2 \times$ less constraints when utilizing double precision floating-point values. We demonstrate the practicability of ZKLP by building a protocol for privacy preserving peer-to-peer proximity testing - Alice can test if she is close to Bob by receiving a single message, without either party revealing any other information about their location. In such a configuration, Bob can create a proof of (non-)proximity in $0.27 s$, whereas Alice can verify her distance to about $250$ peers per second
翻译:本文提出了零知识位置隐私(ZKLP),使用户能够向第三方证明其位于指定地理区域内,同时不泄露其确切位置。ZKLP支持不同粒度的定制,可根据具体应用场景进行调整。为实现ZKLP,我们首次提出了一套完全符合IEEE 754浮点运算标准的零知识证明(ZKP)电路。实验结果表明,我们的浮点实现具有良好的可扩展性,在$2^{15}$次单精度浮点乘法中,每次乘法仅需$69$个约束。我们利用该浮点实现来构建ZKLP范式。与现有最优方法相比,我们的优化实现在单精度浮点值下约束数量减少了14.1倍,双精度浮点值下减少了11.2倍。我们通过构建隐私保护的端到端邻近性测试协议证明了ZKLP的实用性——Alice只需接收一条消息即可检测自己是否靠近Bob,且双方均不会泄露任何其他位置信息。在这种配置下,Bob可在0.27秒内生成(非)邻近性证明,而Alice每秒可验证约250个对等节点的距离。