From: David Sterba <dsterba@suse.cz>
To: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
Cc: Johannes Thumshirn <jth@kernel.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
Eric Biggers <ebiggers@google.com>,
Richard Weinberger <richard@nod.at>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH v3 3/3] btrfs: document btrfs authentication
Date: Mon, 25 May 2020 13:26:22 +0200 [thread overview]
Message-ID: <20200525112622.GP18421@suse.cz> (raw)
In-Reply-To: <SN4PR0401MB35983AAF3D05F84AACCF8CF59BB30@SN4PR0401MB3598.namprd04.prod.outlook.com>
On Mon, May 25, 2020 at 10:57:13AM +0000, Johannes Thumshirn wrote:
> On 24/05/2020 21:56, David Sterba wrote:
> > On Thu, May 14, 2020 at 11:24:15AM +0200, Johannes Thumshirn wrote:
> > For metadata the per-transaction salt is inherently there as the hash is
> > calculated with the header included (containing the increasing
> > generation) and the filesystem UUID (available via blkid) or chunk tree
> > UUID (not so easy to user to read).
> >
> > So there's an obvious discrepancy in the additional data besides the
> > variable contents of the data and metadata blocks.
> >
> > The weakness of the data blocks may aid some attacks (I don't have a
> > concrete suggestion where and how exatly).
>
> Yes but wouldn't this also need a hash that is prone to a known plaintext
> attack or that has known collisions? But it would probably help in
> brute-forcing the key K of the filesystem. OTOH fsid, generation and the
> chunk-tree UUID can be read in plaintext from the FS as well so this would
> only mitigate a rainbow table like attack, wouldn't it?
The goal here is to make attacks harder at a small cost.
> > Suggested fix is to have a data block "header", with similar contents as
> > the metadata blocks, eg.
> >
> > struct btrfs_hash_header {
> > u8 fsid[BTRFS_FSID_SIZE];
> > u8 chunk_tree_uuid[BTRFS_UUID_SIZE];
> > __le64 generation;
> > };
> >
> > Perhaps also with some extra item for future extensions, set to zeros
> > for now.
>
> This addition would be possible, yes. But if we'd add this header to every
> checksum in the checksum tree it would be an incompatible on-disk format
> change.
No. It's only in-memory and is built from known pieces of information
exactly to avoid storing it on disk.
next prev parent reply other threads:[~2020-05-25 11:27 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-14 9:24 [PATCH v3 0/3] Add file-system authentication to BTRFS Johannes Thumshirn
2020-05-14 9:24 ` [PATCH v3 1/3] btrfs: rename btrfs_parse_device_options back to btrfs_parse_early_options Johannes Thumshirn
2020-05-14 9:24 ` [PATCH v3 2/3] btrfs: add authentication support Johannes Thumshirn
2020-05-27 13:24 ` David Sterba
2020-05-27 13:54 ` Johannes Thumshirn
2020-05-27 14:01 ` Johannes Thumshirn
2020-05-27 18:04 ` Johannes Thumshirn
2020-06-01 14:30 ` David Sterba
2020-06-01 14:35 ` David Sterba
2020-05-14 9:24 ` [PATCH v3 3/3] btrfs: document btrfs authentication Johannes Thumshirn
2020-05-14 12:26 ` Jonathan Corbet
2020-05-14 14:54 ` Johannes Thumshirn
2020-05-14 15:14 ` Richard Weinberger
2020-05-14 16:00 ` Jonathan Corbet
2020-05-14 16:05 ` Richard Weinberger
2020-05-24 19:55 ` David Sterba
2020-05-25 10:57 ` Johannes Thumshirn
2020-05-25 11:26 ` David Sterba [this message]
2020-05-25 11:44 ` Johannes Thumshirn
2020-05-25 13:10 ` [PATCH v3 0/3] Add file-system authentication to BTRFS David Sterba
2020-05-26 7:50 ` Johannes Thumshirn
2020-05-26 11:53 ` David Sterba
2020-05-26 12:44 ` Johannes Thumshirn
2020-06-01 14:59 ` David Sterba
2020-05-27 2:08 ` Qu Wenruo
2020-05-27 11:27 ` David Sterba
2020-05-27 11:58 ` Qu Wenruo
2020-05-27 13:11 ` David Sterba
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=20200525112622.GP18421@suse.cz \
--to=dsterba@suse.cz \
--cc=Johannes.Thumshirn@wdc.com \
--cc=corbet@lwn.net \
--cc=ebiggers@google.com \
--cc=jth@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=richard@nod.at \
/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.