All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Edward Shishkin <edward@namesys.com>
Cc: John Gilmore <jgilmore@glycou.com>, reiserfs-list@namesys.com
Subject: Re: Encryption/Compression and meta data (like file names)
Date: Tue, 14 Mar 2006 23:22:12 -0800	[thread overview]
Message-ID: <4417C0A4.5020000@namesys.com> (raw)
In-Reply-To: <4416CB93.2090502@namesys.com>

Edward Shishkin wrote:

> Hans Reiser wrote:
>
>> Instead of answering your questions as asked, let me explain what it
>> does.
>>
>> It encrypts the file data.  It makes some effort at avoiding
>> watermarking attacks by use of an initialization vector, but this effort
>> is not robust in that file size is not encryptable without an
>> unacceptable cost in space utilization (to encrypt file size you must
>> store each of the files with a random amount of padding proportional to
>> the size of the largest file stored),
>>
>
> Why?
> As I understand, to encrypt file size means to encrypt a 64-bit field
> in the appropriate
> stat-data extension, also we need to make sure that nobody can observe
> this attribute
> (except key owner) when inode is in memory.

If you have root, you can inspect the items on the raw device, and from
them construct the compressed size.  The problem is not encrypting the
attribute, it is preventing persons with access to the raw device from
constructing the size.

>
>> and for that reason we do not
>> encrypt file size. 
>
>
> We don't encrypt file size (and other attributes) because nobody tried
> to implement it
> (not because of unresolved problems).
>
>> Edward, do you do some minor (and not crypto-secure)
>> amount of padding?  (I think he does.)
>>  
>>
>
> We use get_random_bytes() to fill up each stream to be proportional to
> the cipher block
> size before encryption.  This is safe.

but it does not prevent determining whether the linux kernel tree is
present in a directory.  the cipher block is something like 64 bytes, so
you still have enough size info to guess that the kernel source code is
in a directory.  You will often be able to guess things like whether two
users are probably sharing the same file based on file size.

So, we offer one tool.   This tool does not meet all needs, just some
needs.  I wish I was using it on my home directory, we need to get this
stuff shipped.;-)


  reply	other threads:[~2006-03-15  7:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-13 20:41 Encryption/Compression and meta data (like file names) John Gilmore
2006-03-14  6:29 ` Hans Reiser
2006-03-14 13:56   ` Edward Shishkin
2006-03-15  7:22     ` Hans Reiser [this message]
2006-03-16 12:21       ` Edward Shishkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4417C0A4.5020000@namesys.com \
    --to=reiser@namesys.com \
    --cc=edward@namesys.com \
    --cc=jgilmore@glycou.com \
    --cc=reiserfs-list@namesys.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.