Abstract-For securing databases outsourced to the cloud, it is important to allow cloud users to verify that their queries to the cloud-hosted databases are correctly executed by the cloud. Existing solutions on this issue suffer from a high communication cost, a heavy storage overhead or an overwhelming computational cost on clients. Besides, only simple SQL queries (e.g., selection query, projection query, weighted sum query, etc) are supported in existing solutions. For practical considerations, it is desirable to design a client-verifiable (or publicly verifiable) aggregation query scheme that supports more flexible queries with affordable storage overhead, communication and computational cost for users. This paper investigates this challenging problem and proposes an efficient publicly verifiable aggregation query scheme for databases outsourced to the cloud. By designing a renewable polynomial-based authentication tag, our scheme supports a wide range of practical SQL queries including polynomial queries of any degrees, variance query and many other linear queries. Remarkably, our proposed scheme only introduces constant communication and computational cost to cloud users. Our scheme is provably secure under the Static Diffie-Hellman problem, the t-Strong Diffie-Hellman problem and the Computational DiffieHellman problem. We show the efficiency and scalability of our scheme through extensive numerical analysis.
I. INTRODUCTIONBy outsourcing databases to the cloud, cloud users enjoy data sharing across geographical boundaries in addition to other benefits such as cost saving, on-demand self-service, resource elasticity, etc [15]. Despite appealing advantages, outsourcing databases to cloud also raises security concerns even for non-confidential databases. In particular, clients who query database outsourced to the cloud may wonder whether or not their queries are always correctly executed by cloud servers. This is because large-scale cloud infrastructures may suffer from hardware/software failures, errors caused by human operations, and even malicious attacks [1], [2]. To specify, clients need to verify the integrity and completeness of their queries over the outsourced databases: for any query request, we need to assure that the query is executed by the cloud on correct data and the returned results have not been modified (integrity); the results shall include the complete data set (completeness), e.g., if the query is on range [a, b], the results shall not be on other ranges [a , b ], where a = a and b = b.Related Work.