The Oramfs file system has been published, which hides the nature of data access.

Kudelski Security, a company specializing in security audits, has released the Oramfs filesystem implementing ORAM (Oblivious Random Access Machine) technology, which conceals the nature of data access patterns. The project offers a FUSE module for Linux that implements a filesystem layer preventing the tracking of read and write operation structures. The Oramfs code is written in Rust and is distributed under the GPLv3 license.

ORAM technology involves creating an additional layer beyond encryption, preventing the identification of current activity when working with data. For instance, when using encryption for data storage in a third-party service, the service owners cannot know the actual data but can determine which blocks are accessed and what operations are performed. ORAM conceals information about which parts of the filesystem are accessed and what specific operations are executed (reading or writing).

Oramfs provides a universal client filesystem that simplifies data storage organization on any external storage. Data is stored in encrypted form with an optional authenticity verification. The algorithms ChaCha8, AES-CTR, and AES-GCM can be used for encryption. Access patterns for writing and reading are concealed using the Path ORAM scheme. Future developments are planned for additional schemes, but the project is currently still in the prototype stage, which is not recommended for use in production systems.

Oramfs can be used with any filesystem and is independent of the type of target external storage — file synchronization is possible with any service that can be mounted as a local directory (SSH, FTP, Google Drive, Amazon S3, Dropbox, Google Cloud Storage, Mail.ru Cloud, Yandex.Disk, and other services supported by rclone or for which FUSE modules exist for mounting). The storage size is not fixed, and if additional space is needed, the ORAM size can be dynamically increased.

Configuring Oramfs involves defining two directories — public and private, which serve as roles. server and the client. The public directory can be any directory in the local file system, which is linked to external storage by mounting them via SSHFS, FTPFS, Rclone, and any other FUSE modules. The private directory is provided by the Oramfs FUSE module and is designed for direct interaction with the files stored in ORAM. The public directory contains a file with the ORAM image. Any operation in the private directory affects the state of this image file, but this file appears to an external observer as a black box, with changes that cannot be associated with activity in the private directory, including whether a read or write operation was performed.

Oramfs can be applied in areas where the highest level of confidentiality is required, and performance can be sacrificed. Performance decreases as each operation with the storage, including read operations, leads to the reconstruction of blocks in the file system image. For example, reading a 10MB file takes about 1 second, while 25MB takes 3 seconds. Writing 10MB takes 15 seconds, and 25MB takes 50 seconds. However, Oramfs is approximately 9 times faster for reading and 2 times faster for writing compared to the UtahFS file system developed by Cloudflare, which optionally supports ORAM mode.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster