BACKGROUND

An organization typically stores a considerable amount of enterprise data whereby data security/privacy during data storage and communication is a serious concern. Cloud computing environments provide additional challenges, such as when data is migrated to a cloud database management system (DBMS) from an on-premises computing system. Some challenges relate to database encryption, where sensitive columns are encrypted before being stored in a network resource. Conventional encryption schemes also make it difficult to perform computations without at least temporarily decrypting the data in an untrusted environment. These challenges make it difficult to provide a secure database-as-a-service paradigm in the cloud computing environment.

Often, database management systems use insecure software components to run data processing tasks on behalf of a client application. These systems sometimes rely upon resource-limited devices for security, but these devices become overloaded with query processing without significantly more computational and storage capacities. In general, this arrangement leads to an inefficient utilization of secure computational power in the devices and bandwidth on the network between the hardware devices and clients. This limits the achievable performance for most applications, including high-throughput applications running data processing tasks in the cloud computing environment.

SUMMARY

This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.

Briefly, various aspects of the subject matter described herein are directed towards secure data processing over sensitive data using trusted hardware. In one aspect, the trusted hardware includes one or more dedicated secure processing units of which each unit is in a trusted state/relationship with machines operated by data owners/consumers/clients. These machines include computing devices that download or upload the sensitive data onto or from network resources. Such resources include data stores maintained over a network, including a database management system running within a cloud computing environment.

In one aspect, the dedicated trusted hardware augments or extends the database management system with secure expression evaluation services. When interpreting expressions, the database management system simulates homomorphic encryption functionality by migrating expression evaluation to the dedicated trusted hardware instead of performing such evaluation at untrusted components running within the database management system. Using this approach, the database management system can assure database users of the sensitive data's protection from misappropriation. Furthermore, limiting the trusted hardware's footprint enables the use of more efficient and reconfigurable secure processing units to implement trusted hardware functionality.

In another aspect, supporting general-purpose query processing may involve restricting expression evaluation over the sensitive data to a tightly-coupled secure coprocessor-database management system architecture. This architecture integrates custom-designed or reconfigured trusted hardware with commodity hardware and traditional database management system, improving resource utilization/performance while securing the sensitive data.

In one aspect, the trusted hardware implements a set of data centric primitives that, during runtime, process expressions involving real values contained in encrypted fields/columns of a database table. Accordingly, data management and staging tasks are offloaded onto computational resources in an untrusted database management system. Furthermore, only values that the trusted hardware reads are transferred by the untrusted database management system, conserving bandwidth to the network. In one aspect, the database management system fetches and feeds the appropriate database pages to the trusted hardware, which performs related computation(s).

Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.

