Collusion-Resistant Processing of SQL Range Predicates - Kesarwani, Manish; Kaul, Akshar; Singh, Gagandeep; Deshpande, Prasad M.; Haritsa, Jayant R. (Data Science and Engineering, 2018)
Prior solutions for securely handling SQL range predicates in outsourced Cloud-resident databases have primarily focused on passive attacks in the Honest-but-Curious adversarial model, where the server is only permitted to observe the encrypted query processing. We consider here a significantly more powerful adversary, wherein the server can launch an active attack by clandestinely issuing specific range queries via collusion with a few compromised clients. The security requirement in this environment is that data values from a plaintext domain of size N should not be leaked to within an interval of size H . Unfortunately, all prior encryption schemes for range predicate evaluation are easily breached with only O ( log 2 ψ ) range queries, where ψ = N / H . To address this lacuna, we present SPLIT, a new encryption scheme where the adversary requires exponentially more — O ( ψ ) —range queries to breach the interval constraint and can therefore be easily detected by standard auditing mechanisms. The novel aspect of SPLIT is that each value appearing in a range-sensitive column is first segmented into two parts. These segmented parts are then independently encrypted using a layered composition of a secure block cipher with the order-preserving encryption and prefix-preserving encryption schemes, and the resulting ciphertexts are stored in separate tables. At query processing time, range predicates are rewritten into an equivalent set of table-specific sub-range predicates, and the disjoint union of their results forms the query answer. A detailed evaluation of SPLIT on benchmark database queries indicates that its execution times are well within a factor of two of the corresponding plaintext times, testifying its efficiency in resisting active adversaries.