130
78

Bloom Filters in Adversarial Environments

Abstract

A Bloom filter represents a set SS of elements approximately, by using fewer bits than a precise representation. The price for succinctness is allowing some errors: for any xSx \in S it should always answer 'Yes', and for any xSx \notin S it should answer 'Yes' only with small probability. The latter are called false positive errors. In this work we study the possibility of Bloom filters in a stronger setting than the usual one, where an adversary can adaptively choose a sequence of queries according to previous results after the Bloom filter has been initialized. We consider both efficient adversaries (that run in polynomial-time) and computationally unbounded adversaries that are only bounded in the amount of queries they can make. We define a Bloom filter that maintains its error probability in this setting and say it is adversarial resilient. We show that non-trivial (memory-wise) adversarial resilient Bloom filters against computationally bounded adversaries exist if and only if one-way functions exist. The resulting construction is based on one-way permutations and is quite efficient and the proof of the necessity of one-way functions relies on the framework of adaptively changing distributions. For an unbounded adversary we show that there exist an O(nlog1ε+t)O(n\log{\frac{1}{\varepsilon}} + t) bits Bloom filter secure against tt queries (where nn is the set size and ε\varepsilon is the false positive rate of the Bloom filter); in comparison, nlog1εn\log{\frac{1}{\varepsilon}} is the best possible under a non-adaptive adversary.

View on arXiv
Comments on this paper