Oramfs文件系统已发布,隐藏数据访问的本质

Kudelski Security是一家专门从事安全审计的公司,它发布了Oramfs文件系统,该系统采用了ORAM(Oblivious Random Access Machine)技术,可以掩盖数据访问模式。 该项目提出了一个适用于 Linux 的 FUSE 模块,该模块实现了不允许跟踪写入和读取操作的结构的文件系统层。 Oramfs 代码是用 Rust 编写的,并根据 GPLv3 获得许可。

ORAM 技术除了加密之外还涉及创建另一层,这使得人们在处理数据时无法确定当前活动的性质。 例如,如果在第三方服务中存储数据时使用加密,则该服务的所有者无法找到数据本身,但可以确定访问了哪些块以及执行了哪些操作。 ORAM 隐藏有关 FS 的哪些部分正在被访问以及正在执行哪种操作(读或写)的信息。

Oramfs 提供了一个通用文件系统层,允许您简化任何外部存储上的数据存储组织。 数据通过可选的身份验证进行加密存储。 ChaCha8、AES-CTR 和 AES-GCM 算法可用于加密。 使用路径 ORAM 方案隐藏写入和读取访问的模式。 未来还计划实施其他方案,但就目前的形式而言,开发仍处于原型阶段,不建议在生产系统中使用。

Oramfs 可以与任何文件系统一起使用,并且不依赖于目标外部存储的类型 - 可以将文件同步到任何可以以本地目录形式挂载的服务(SSH、FTP、Google Drive、Amazon S3) 、Dropbox、Google Cloud Storage、Mail.ru Cloud、Yandex.Disk 和 rclone 支持的其他服务或有 FUSE 模块可供安装)。 存储大小不固定,如果需要额外空间,ORAM 大小可以动态增加。

设置 Oramfs 归结为定义两个目录 - 公共目录和私有目录,分别充当服务器和客户端。 公共目录可以是本地文件系统中的任何目录,通过 SSHFS、FTPFS、Rclone 和任何其他 FUSE 模块挂载来连接到外部存储。 私有目录由 Oramfs FUSE 模块提供,旨在直接处理存储在 ORAM 中的文件。 ORAM 映像文件位于 public 目录中。 对私有目录的任何操作都会影响这个镜像文件的状态,但是这个文件对于外部观察者来说就像一个黑匣子,其中的变化无法与私有目录中的活动相关联,包括是否执行了写或读操作。

Oramfs 可用于需要最高级别隐私且可能牺牲性能的区域。 性能下降是因为每个存储操作(包括数据读取操作)都会导致文件系统映像中块的重建。 例如,读取10MB的文件大约需要1秒,25MB则需要3秒。 写入 10MB 需要 15 秒,写入 25MB 需要 50 秒。 同时,与由 Cloudflare 开发并可选支持 ORAM 模式的 UtahFS 文件系统相比,Oramfs 的读取速度大约快 9 倍,写入速度大约快 2 倍。

来源: opennet.ru

添加评论