All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anand Jain <anand.jain@oracle.com>
To: Eric Biggers <ebiggers3@gmail.com>
Cc: "Theodore Y . Ts'o" <tytso@mit.edu>,
	linux-fscrypt@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	Richard Weinberger <richard@nod.at>,
	Michael Halcrow <mhalcrow@google.com>,
	Eric Biggers <ebiggers@google.com>
Subject: Re: [PATCH] fscrypt: add a documentation file for filesystem-level encryption
Date: Tue, 22 Aug 2017 23:35:20 +0800	[thread overview]
Message-ID: <a84707f9-b9b9-fe7e-b2f5-d5edfcb9c91a@oracle.com> (raw)
In-Reply-To: <20170822030730.GB3577@zzz.localdomain>


>>>>> +fscrypt is not guaranteed to protect confidentiality or authenticity
>>>>> +if an attacker is able to manipulate the filesystem offline prior to
>>>>> +an authorized user later accessing the filesystem.
>>>>
>>>>    How does fscrypt / Android protect against Evil Maid attack. ?
>>
>>> _However_, an "Evil Maid" attacker can probably still do other, perhaps much
>>> more effective attacks --- e.g.
>> ::
>>> .  Or they could attack the actual
>>> file contents encryption which is not authenticated.  Or they could mess around
>>> with filesystem metadata on the userdata partition, which is neither encrypted
>>> nor authenticated.
>>
>>    In specific, the scenario I had in mind was the above threat.
>>
>>> I suppose that dm-integrity could be used to protect against some of those
>>> attacks, but of course it would not protect against hardware key loggers, etc.
>>
>>    OK.
>>
>>
>>    I think AE is the only good solution for this, File-name encryption at
>> this stage won't solve any kind of Evil Maid attack, (as it was quoted
>> somewhere else in ML).
>>
>>
>>   Further, below,  is define but not used.
>> -----
>>   #define FS_AES_256_GCM_KEY_SIZE		32
>> -----
>>
> 
> Yes, authenticated encryption with AES-256-GCM was in an older version of the
> ext4 encryption design document.  But unfortunately it was never really thought
> through. The primary problem, even ignoring rollback protection, is that there
> is nowhere to store the per-block metadata (GCM authentication tag and IV) *and*
> have it updated atomicly with the block contents.  Recently, dm-integrity solves
> this at the block device layer, but it uses data journaling which is very
> inefficient.  This maybe could be implemented more efficiently on a COW
> filesystem like BTRFS.  But even after that, another problem is that
> authenticated encryption of file contents only would not stop an attacker from
> swapping around blocks, files, directories, or creating links, etc.


  Some of the problems to be solved in this area are quite interesting 
and challenging and IMO BTRFS fits nicely. Per extent AE for BTRFS is 
drafted, it needs scrutiny and constructive feedback.

Thanks, Anand


> Eric
> 

  reply	other threads:[~2017-08-22 15:35 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-18 19:47 [PATCH] fscrypt: add a documentation file for filesystem-level encryption Eric Biggers
2017-08-18 21:06 ` Andreas Dilger
2017-08-20  2:32   ` Theodore Ts'o
2017-08-21 22:33     ` Eric Biggers
2017-08-21 13:44 ` Anand Jain
2017-08-21 21:02   ` Theodore Ts'o
2017-08-21 23:08   ` Eric Biggers
2017-08-22  2:22     ` Anand Jain
2017-08-22  3:07       ` Eric Biggers
2017-08-22 15:35         ` Anand Jain [this message]
2017-08-22 17:36           ` Eric Biggers
2017-08-28 12:18             ` Anand Jain
2017-08-31 18:14               ` Eric Biggers
2017-08-22  3:07       ` Theodore Ts'o
2017-08-22  2:22 ` Anand Jain
2017-08-22  2:55   ` Eric Biggers
2017-08-22 15:33     ` Anand Jain
2017-08-22 17:07       ` Eric Biggers
2017-08-28 12:18         ` Anand Jain
2017-08-28 14:22           ` Theodore Ts'o
2017-08-29  3:54             ` Anand Jain
2017-08-31 18:10               ` Eric Biggers
2017-08-31 17:50           ` Eric Biggers

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=a84707f9-b9b9-fe7e-b2f5-d5edfcb9c91a@oracle.com \
    --to=anand.jain@oracle.com \
    --cc=ebiggers3@gmail.com \
    --cc=ebiggers@google.com \
    --cc=jaegeuk@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fscrypt@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mhalcrow@google.com \
    --cc=richard@nod.at \
    --cc=tytso@mit.edu \
    /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.