[OpenAFS-devel] Re: [GSoC 2010] Encrypted storage

Andrew Deason adeason@sinenomine.net
Sat, 3 Apr 2010 16:29:28 -0500


Just my impressions below... others here can probably provide more
authoritative answers.

On Sat, 03 Apr 2010 11:31:45 -0400
omalleys@msu.edu wrote:

> If you encrypt the cachemanager, what happens to the cache when you  
> use multiple local accounts and a single afs account, or single afs  
> account and multiple afs accounts? or mults of each in combinations?  
> (I do this a lot..) Do i end up having to recache everything for
> each local and afs account? If so, doesn't this defeat part of the
> purpose of the cachemgr?

My impression of the current idea is that the CM would be storing the
encrypted data in the cache; that is, the same data that you get from
the fileserver. Decrypting the data for reads would happen on the fly.
Accessing from multiple different identities would be the same if the
data is cached vs if it is not; you just skip the trip to the
fileserver.

That said, for this GSoC, I believe only the single-user case is really
in play, here.

> If I understand this correctly, I have a single master key, that
> encrypts all the volumes..

My guess is that any particular key would be used for at most a single
volume. (That is, the key used to encrypt the data, not the user's keys)

> If I want to change this key, I have to unencrypt the volumes with the
> old key and re-encrypt them with the new key.

My (limited) understanding of this type of encryption is that you use a
key (key X) to encrypt all of the data. Then you encrypt key X with the
user's key, and store that encrypted key along with the data. So, to
change what keys can access the data, you just need to re-encrypt key X,
not all of the data.

> Oh, just one more thing...
> If you are going to be using the exact same way to encrypt the cache  
> as you do your volumes on the fileserver, wouldn't this make it
> easier for an attacker to decrypt your master key? IE I make a change
> in my local cache, and then I can see what changes were made to the
> cache, then I probe for the differences and I can get the master key?
> (or does way refer to the algorithm and not the key?)

My impression is that you would use different keys for encrypting
different sets of data. That is, if user X encrypts their homedir, and
user Y encrypts their homedir, none of the keys involved with encrypting
either are related at all.

-- 
Andrew Deason
adeason@sinenomine.net