题目: jVPFS: Adding Robustness to a Secure Stacked File System with Untrusted Local Storage Components
作者: Carsten Weinhold, Hermann Härtig
单位: Technische Universität Dresden, Germany
出版: USENIX Annual Technical Conference 2011
综述
- Virtual Private File System (VPFS) 用于保护程序数据的完整性和保密性,它结合了微内核隔离机制,复用了不可信的文件系统。
-
但是VPFS设计没有考虑忽然掉电带来的危害。本工作引入一个350行左右的可信core来处理crash recovery。
- 需求:在移动端,医生会保存病人的(诊断)记录;同时这些设备会接入不可信的WiFi设施;这些数据十分敏感,当前却缺乏有力保护手段。
- 已有方案:使用微内核隔离关键数据;使用VMM不仅隔离数据,同时隔离系统组件。
- 痛点:越强的完整性检查意味着可用性的下降,例如突然的掉电导致校验和和数据无法匹配,最终程序无法获取已有数据。
- 本文系统在完整性保持的情况下,加强鲁棒性。同时不要引入太大TCB。
贡献:
- 对文件系统TCB进行扩展,在意外掉电情况下,保证数据和元数据的confidentiality, integrity, and freshness。
- 对现有文件系统进行学习,指出如何隔离日志等一致性相关的数据。
- 提出如何在隔离情况下可信与不可信协作的方案;
- 对原型进行评估。
方案:
见原文图1。
相关工作:
- TDB的方案和本文类似,但本文对日志部分进行了分割,同时复杂文件系统不属于TCB,引入了新机制来保证可信与不可信的交互。TDB更类似在文件系统中添加了DB。
- protected file system (PFS)使用的哈希和日志方案和本文非常类似,但它工作在块设备层,本文更上层(metadata),因此PFS的TCB更大。
- SiRiUS对SUN NFS进行扩展,目标针对不可信服务器存储。 但它并没有对metadata freshness files进行一致性检查,因此无法实现还原机制。