Hello,

I'm using encfs for encrypted cloud file synchronization and it works
great. I have some thoughts about secrecy though I'd like to discuss.

Encfs is great in hiding file contents. If enabling file name
encryption, you can also hide a bit more information about what the
files contain.
However, seeing the file size, an attacker can often guess the kind of
files you're storing. A music collection has a certain file size pattern
that is different from e.g. video files, a photo collection or
documents.

Other encryption systems (like truecrypt) are better in hiding what
you're storing inside, but having one big file storing all of your data
is not feasible in many scenarios. For example when you want to do cloud
file synchronization, you can't use a system where you have to reupload
the whole directory when you only changed one small file.

I was thinking about how we could get this kind of secrecy in encfs
without having this disadvantage.

My proposal is to add a special encryption mode (the user can
enable/disable it when initializing the encrypted folder), in which we
don't encrypt single files, but bundle files together to blocks and
store these blocks of data. The block size could be configured by the
user. For the sake of this example, say we have a small folder with some
vacation photos and choose a block size of 10MB.

On the disk, we don't store an encrypted version of each picture, but we
store each encrypted block as one file. So if we have 5 pictures with 3
MB each, they would get bundled together into two blocks and stored as
two files of 10MB each.

If we have one particularly large picture > 10MB, this file would be
split up into multiple blocks.

There is still a lot to think about on how to actually implement it.
We'd probably have to store some metadata in the blocks to retrieve the
actual files stored in them, which would complicate the
encryption/decryption process a bit. But I think getting this kind of
secrecy is worth it. And I think we could do it in a way that the
mapping from the encrypted blocks to the decrypted virtual files stays
relatively simple.

What are your thoughts on this? Has this idea been discussed before?

Thanks,
Sebastian


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Encfs-users mailing list
Encfs-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/encfs-users

Reply via email to