[119364] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Re: [p2p-hackers] convergent encryption reconsidered -- salting and key-strengthening

daemon@ATHENA.MIT.EDU (zooko)
Wed Apr 2 11:13:39 2008

In-Reply-To: <938CF967-28CF-4331-A787-E9C5CCFBE0DB@solarsail.hcs.harvard.edu>
Cc: tahoe-dev@allmydata.org,
 Cryptography <cryptography@metzdowd.com>
From: zooko <zooko@zooko.com>
Date: Mon, 31 Mar 2008 13:19:02 -0600
To: theory and practice of decentralized computer networks <p2p-hackers@lists.zooko.com>

On Mar 31, 2008, at 4:47 AM, Ivan Krsti=C4=87 wrote:
>
> Tahoe doesn't run this service either. I can't use it to make guesses
> at any of the values you mentioned. I can use it to make guesses at
> whole documents incorporating such values, which is in most cases a
> highly non-trivial distinction.

The way that I would phrase this is that convergent encryption =20
exposes whatever data is put into it, in whatever batch-size is put =20
into it, to brute-force/dictionary attacks.

If the data that you put in is unguessable, then you needn't worry =20
about these attacks.  (Likewise, as Ben Laurie reminds us, using =20
strong passwords is a sufficient defense against these attacks on =20
passwords.)

You correctly emphasize that typical convergent encryption services =20
(which operate on "files", or, in the case of GNUnet, on 32 KiB =20
blocks), and typical uses of those services (which typically store =20
"files" as produced by apps written for traditional filesystems), =20
batch together data in such a way that the aggregate is more likely =20
to be unguessable than if each field were stored separately.  I don't =20=

disagree with this observation.

I am often reminded of Niels Ferguson's and Bruce Schneier's dictum, =20
in the excellent _Practical_Cryptography_, that security needs to be =20
a *local* property.  They argue that one should be able to tell =20
whether a component is secure by inspecting that component itself, =20
rather than by reasoning about interactions between that component =20
and other components.

Concretely, convergent encryption with a per-user added secret, as =20
currently implemented in Tahoe, can be shown to guarantee =20
confidentiality of the data, regardless of what the data is.

Traditional convergent encryption can be shown to offer =20
confidentiality only with the proviso that the data put into it =20
conform to certain criteria -- criteria that cannot be verified by a =20
computer nor by a user who is not a skilled security expert.

You may argue that the chance that a user would put non-comformant =20
data into it is small.  I don't necessarily disagree, although before =20=

I became willing to bet on it I would require more quantitative =20
investigation.

However, arguing that component A is secure as long as component B =20
behaves a certain way, and that component B is very likely to behave =20
that way, is a different sort of argument than arguing that component =20=

A is secure regardless of the behavior of component B.

For one thing, the behavior of component B may change in the future.  =20=

Concretely, people may write apps that store data in Tahoe in a way =20
that previous apps didn't.  Those people will almost certainly be =20
completely unaware of the nature of convergent encryption and brute-=20
force/dictionary attacks.

Now obviously making the security properties of a system modular in =20
this way might impose a performance cost.  In the case of Tahoe, that =20=

cost is the loss of universal convergence.  Allmydata.com analyzed =20
the space savings due to convergence among our current customers and =20
found that it was around 1% savings.  We (allmydata.com) intend to =20
monitor the potential savings of universal convergence in an on-going =20=

way, and if it turns out that there are substantial benefits to be =20
gained then I will revisit this issue and perhaps I will be forced to =20=

rely on an argument of the other form -- that users are unlikely to =20
use it in an unsafe way.

Thank you again for your thoughtful comments on this issue.

Regards,

Zooko O'Whielacronx

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo@metzdowd.com

home help back first fref pref prev next nref lref last post