Enabling Strong Database Integrity using Trusted Execution Environments
Immutable and consistent sharing of data across organization boundaries enabl es a new class of applications. Because conventional datastores cannot provide this functionality, blockchain s have been proposed as one possible solution. Yet public blockchains are energy inefficient, hard to scale and suffer from limited throughput and high latencies, while permissioned blockchains depend on specially designated nodes, potentially le ak meta-information, and also suffer from scale and performance bottlenecks. This paper presents CreDB, a datastore that provides blockchain-like guarante es of integrity using trusted execution environments. CreDB employs three novel mechanisms to support a new class of applications. First, it creates a permanent record of every transaction, known as a witness , that clients can then use not only to audit the database, but to prove to thi rd parties that desired actions took place. Second, it associates with every object an inseparable and inviolable securit y policy, which not only performs access control but enables the datastore to i mplement state machines whose behavior is amenable to analysis. Finally, CreDB provides a protected function evaluation mechanism that allows integrity-protected computation over private data. The paper describes these mechanisms, and the applications they collectively enable, in detail. We have fully implemented CreDB on Intel SGX. Evaluation shows that these new mechanisms do not adversely affect performance.
READ FULL TEXT