We study the security of Probabilistic Data Structures (PDS) for handling Approximate Membership Queries (AMQ); prominent examples of AMQ-PDS are Bloom and Cuckoo filters. AMQ-PDS are increasingly being deployed in environments where adversaries can gain benefit from carefully selecting inputs, for example to increase the false positive rate of an AMQ-PDS. They are also being used in settings where the inputs are sensitive and should remain private in the face of adversaries who can access an AMQ-PDS through an API or who can learn its internal state by compromising the system running the AMQ-PDS. We develop simulation-based security definitions that speak to correctness and privacy of AMQ-PDS. Our definitions are general and apply to a broad range of adversarial settings. We use our definitions to analyse the behaviour of both Bloom filters and insertion-only Cuckoo filters. We show that these AMQ-PDS can be provably protected through replacement or composition of hash functions with keyed pseudorandom functions in their construction. We also examine the practical impact on storage size and computation of providing secure instances of Bloom and insertion-only Cuckoo filters.
翻译:我们研究了用于处理近似会籍查询的概率数据结构的安全性;AMQ-PDS的突出例子有Bloom和Cuckoo过滤器。AMQ-PDS越来越多地部署在对手能够从仔细选择投入中受益的环境中,例如提高AMQ-PDS的假正率。它们还被用于输入敏感且在对手面前应该保持隐私的环境下,这些对手可以通过API进入AMQ-PDS,或者通过损害AMQ-PDS运行系统学习其内部状态。我们开发了基于模拟的安全定义,以纠正AMQ-PDS的准确性和隐私。我们的定义是一般性的,适用于广泛的对抗性环境。我们使用我们的定义来分析Bloom过滤器和只插入的Cuckoo过滤器的行为。我们表明,这些AMQ-PDS可以通过替换或组成带有关键伪体功能的仓储功能来进行保护。我们还研究了在建造中提供安全的Bloom和过滤器方面的实际影响。