Tdb

Posted by Maxul's Technical Notes on June 1, 2018

题目: How to Build a Trusted Database System on Untrusted Storage

作者: Umesh Maheshwari, Radek Vingralek, William Shapiro

单位: STAR Lab, InterTrust Technologies Corporation, Santa Clara

出版: OSDI 2000

介绍:

  1. 应用程序需要在存储设备上维护敏感状态,但是这些设备未必可信。
  2. 本文提出TDB(可信数据库)在不可信存储设备上维护一小块可信区域。该区域经过加密和验证,保证不可信程序不能在不被发现的情况下修改存储。
  3. 该数据库使用底层实现,同时保护数据和元数据。初步实验说明TDB在性能上胜过了当时常见的嵌入式数据库。加密和哈希引入的开销在6%左右。

可信处理环境:

将CPU和内存视为可信,外存储不可信。可以等价于现有SGX-CPU和SGX-EPC内存储。

未来工作:

  1. 将目标定位为不可信服务器;
  2. 实现可信换页:现有设计将整个运行时保护在CPU和内存中,但换页机制可能将部分状态泄露到不可信存储中,可以使用page fault handler实现加密换页;
  3. Steal buffer management:当前修改后的对象直到transaction commits才从缓存写出,在大数据处理下性能表现不好。
  4. Logical logging:逻辑化日志可以减少需要加密、哈希的数据容量,需要修改chunk store的实现。

体会:

  • 本文的威胁模型和SGX一样,即如何在不可信系统上保证可信数据库的secrecy和tamper detection。