  During the last few years, the explosion of Big Data has prompted cloud
infrastructures to provide cloud-based database services as cost effective,
efficient and scalable solutions to store and process large volume of data.
Hence, NoSQL databases became more and more popular because of their inherent
features of better performance and high scalability compared to other
relational databases. However, with this deployment architecture where the
information is stored in a public cloud, protection against the sensitive data
is still being a major concern. Since the data owner does not have the full
control over his sensitive data in a cloud-based database solution, many
organizations are reluctant to move forward with Database-as-a-Service (DBaaS)
solutions. Some of the recent work addressed this issue by introducing
additional layers to provide encryption mechanisms to encrypt data, however,
these approaches are more application specific and they need to be properly
evaluated to ensure whether they can achieve high performance with the
scalability when it comes to large volume of data in a cloud-based production
environment. This paper proposes a practical system design and implementation
to provide Security-as-a-Service for NoSQL databases (SEC-NoSQL) while
supporting the execution of query over encrypted data with guaranteed level of
system performance. Several different models of implementations are proposed,
and their performance is evaluated using YCSB benchmark considering large
number of clients processing simultaneously. Experimental results show that our
design fits well on encrypted data while maintaining the high performance and
scalability. Moreover, to deploy our solution as a cloud-based service, a
practical guide establishing Service Level Agreement (SLA) is also included.
