[guardian-dev] Quick IOCipher Questions

Abel Luck abel at guardianproject.info
Mon Nov 19 12:50:14 EST 2012


Hi Mark,

One of the main IOCipher developers here. Hope these answers are
satisfactory, don't hesitate to follow up if need be.

Might I ask, what is the book you're writing about?

Mark Murphy:
> I am looking to add a short section in my book on IOCipher, and I
> wanted to make sure that my interpretation of a few things is correct:
> 
> 1. The VirtualFileSystem is initializing a magic, behind the scenes,
> native-level global that File uses, right?
> 
Correct.

> 2. The reason for #1 is to minimize changes in the File API from the
> java.io edition, or something else?
> 
Yes (to the former). We wanted to provide an as seamless as possible
transition path from java.io to IOCipher. This was definitely a tradeoff.

We did consider many possible usecases for IOCipher and spoke to a few
developers, and decided the majority of developers will only use a
single filesystem.

> 3. As a result of #1, we cannot have multiple VirtualFileSystem objects, right?
> 
Correct, within the same Android Application at least.

Personally, I'm not opposed to the idea of adding some way to use
multiple VFS' in one app, however the idea of maintaining all the
additional interface code scares me.

> 4. mount(), instead of mount(String key), creates an unencrypted
> VirtualFileSystem, right?
> 
This is correct.

In the future we plan to support throw-away filesystems to provide a way
to securely "delete" files. These will be VirtualFileSystem's created
with random keys stored only in memory. To "delete" files, one merely
needs to forget the key. This might be implemented by mount(), though,
more likely it will be a different function.

> 5. In the pantheon of stability (production, RC, beta, alpha,
> pre-alpha, "if it doesn't cause a rupture in the space-time continuum,
> we will be relieved"), where do you consider IOCipher to be at
> present?
>
pre-alpha

There are several known issues with IOCipher, one of which is an elusive
data loss bug.

We're actively working with other developers interested in using
IOCipher in production code to resolve these bugs. I would like to have
an official stable release of IOCipher out before the end of the year.

Cheers,

Abel



More information about the Guardian-dev mailing list