Jvpfs

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

题目: 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。

    1. 需求:在移动端,医生会保存病人的(诊断)记录;同时这些设备会接入不可信的WiFi设施;这些数据十分敏感,当前却缺乏有力保护手段。
    2. 已有方案:使用微内核隔离关键数据;使用VMM不仅隔离数据,同时隔离系统组件。
    3. 痛点:越强的完整性检查意味着可用性的下降,例如突然的掉电导致校验和和数据无法匹配,最终程序无法获取已有数据。
    4. 本文系统在完整性保持的情况下,加强鲁棒性。同时不要引入太大TCB。

贡献:

  1. 对文件系统TCB进行扩展,在意外掉电情况下,保证数据和元数据的confidentiality, integrity, and freshness。
  2. 对现有文件系统进行学习,指出如何隔离日志等一致性相关的数据。
  3. 提出如何在隔离情况下可信与不可信协作的方案;
  4. 对原型进行评估。

方案:

见原文图1。

相关工作:

  1. TDB的方案和本文类似,但本文对日志部分进行了分割,同时复杂文件系统不属于TCB,引入了新机制来保证可信与不可信的交互。TDB更类似在文件系统中添加了DB。
  2. protected file system (PFS)使用的哈希和日志方案和本文非常类似,但它工作在块设备层,本文更上层(metadata),因此PFS的TCB更大。
  3. SiRiUS对SUN NFS进行扩展,目标针对不可信服务器存储。 但它并没有对metadata freshness files进行一致性检查,因此无法实现还原机制。