dirnode.py: security bug: also use child writecap to derive child enc key,

not just the dirnode writecap. The previous code (which only hashed the
dirnode writecap) would use the same key for all children, which is very bad.
This is the correct implementation of #750.
This commit is contained in:
Brian Warner 2009-07-13 00:47:50 +01:00
parent 93ef0fb84d
commit c1d5717cf0

View File

@ -195,7 +195,7 @@ class NewDirectoryNode:
def _encrypt_rwcap(self, rwcap):
assert isinstance(rwcap, str)
IV = hashutil.mutable_rwcap_iv_hash(self._node.get_writekey())
IV = hashutil.mutable_rwcap_iv_hash(rwcap)
key = hashutil.mutable_rwcap_key_hash(IV, self._node.get_writekey())
cryptor = AES(key)
crypttext = cryptor.process(rwcap)