Executing SQL over encrypted data in the database-service-provider model
Hakan HacigümüşB. IyerChen LiS. Mehrotra
Proposes an algebraic query-splitting framework that pairs coarse-grained server-side index processing with fine-grained client-side decryption, enabling efficient execution of complex SQL queries over untrusted cloud databases while preserving data privacy.
Modern organizations increasingly rely on third-party service providers to host and manage database workloads. However, outsourcing sensitive enterprise data introduces severe privacy risks, as untrusted providers or compromised servers could expose confidential records. Conventional solutions either require the provider to decrypt data during processing—compromising confidentiality—or force the client to download and decrypt entire databases locally, creating unacceptable network and computational bottlenecks.
The article develops and evaluates a framework that executes structured query language operations directly over encrypted databases hosted by untrusted providers. The primary objective is to maximize query processing on the remote server while ensuring that neither plaintext data nor exact values are revealed, leaving only minimal post-processing for the client.
To achieve this, the article introduces a data storage and query transformation model. Plaintext records are encrypted in bulk using standard encryption algorithms, while individual attribute domains are partitioned into coarse discrete intervals, or buckets, with assigned index values stored alongside the ciphertext. When a user issues a query, an algebraic rewriting framework splits it into two components: a server-side query that operates on bucket identifiers to filter candidates without decryption, and a lightweight client-side query that decrypts returned candidate rows and eliminates false positives. The authors validated this architecture using standard industry benchmarks across multiple database scales and bucket configurations.
The findings show that bucket-based query splitting effectively offloads the majority of query filtering to the remote database provider. Increasing the number of attribute buckets significantly sharpens server-side filtering, leading to steep reductions in network transmission volume and client post-processing time. Across benchmark queries, client decryption and residual filtering accounted for most client-side latency, while overall response times remained within practical operational thresholds compared to centralized architectures.
These results demonstrate that organizations can achieve strong data confidentiality without sacrificing the economic and management benefits of outsourced database services. By delegating coarse candidate filtering to untrusted infrastructure, enterprises can lower infrastructure overhead and maintain data security without prohibitive network penalties.
The article recommends adopting bucket-based coarse indexing when deploying outsourced database architectures. System designers should tune partition granularities according to query patterns to balance security and performance. Future work should focus on developing automated, cost-based optimizers to select optimal bucket partitions and extend algebraic rewriting to support more advanced analytical functions.
- Paper: Protecting Respondents' Identities in Microdata Release, Pierangela Samarati (2001). This foundational work establishes core data anonymization and domain generalization principles that inform coarse partitioning and bucket-based indexing over sensitive records.
- Paper: CryptDB: protecting confidentiality with encrypted query processing, Raluca Ada Popa et al. (2011). CryptDB advances query execution over encrypted relational databases beyond bucket-based partitioning by introducing onion encryption and dynamic, operation-specific proxy rewriting.
- Paper: Order preserving encryption for numeric data, Rakesh Agrawal et al. (2004). This paper develops order-preserving encryption schemes for numeric data to evaluate comparisons directly on ciphertext without relying on coarse bucket approximations.
