cloudflare / utahfs

UtahFS is an encrypted storage system that provides a user-friendly FUSE drive backed by cloud storage.
BSD 3-Clause "New" or "Revised" License
814 stars 49 forks source link

Support for reverse mode, and thus non-S3 compatible cloud storage #26

Open jcrowthe opened 4 years ago

jcrowthe commented 4 years ago

This is a feature request to support --reverse mode, similar to gocryptfs, or encfs.

Description of this mode from EncFS man page:

Normally EncFS provides a plaintext view of data on demand. Normally it stores enciphered data and displays plaintext data. With --reverse it takes as source plaintext data and produces enciphered data on-demand. This can be useful for creating remote encrypted backups, where you do not wish to keep the local files encrypted.

Today UtahFS handles two aspects of encrypted file storage: at-rest data security, and shipment of data. This request is to allow usage of the former without the latter, or rather to gain the benefits of UtahFS' strong encryption and data handling without also relying on UtahFS to ship and retrieve data from an S3 compatible storage provider.

In this mode, UtahFS (via FUSE mounts) would mount an encrypted view of the plaintext data found on disk, without actually encrypting data until a READ operation is made. With this mode, operators may use UtahFS with non-S3 compatible cloud storage providers as shipment and retrieval of encrypted data is delegated to software provided by, and optimized by, the storage vendor (such as Dropbox/OneDrive/Google Drive native desktop applications).

Bren2010 commented 4 years ago

This mode doesn't make a lot of sense to me, because the nice thing about UtahFS is that all your data is encrypted while also being easy to access (ie, you don't have to get an external hdd out of the closet). So if you have more of a cold backup use-case, then why not just use encfs?