DM-Crypt Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kjörling" <michael@kjorling.se>
To: dm-crypt@saout.de
Subject: Re: [dm-crypt] The future of disk encryption with LUKS2
Date: Thu, 4 Feb 2016 09:20:17 +0000	[thread overview]
Message-ID: <20160204092017.GA25029@yeono.kjorling.se> (raw)
In-Reply-To: <56B30DE8.1060502@gmail.com>

On 4 Feb 2016 09:38 +0100, from gmazyland@gmail.com (Milan Broz):
> On 02/03/2016 08:46 PM, Sven Eschenberg wrote:
>> Personally I'd love to see FEC extensions in a v2 on-disk-format.
> 
> Anyway, if you have some real use cases for FEC (and specifically some
> real-world examples of data corruption it can fix), please share it, I am
> very interested to see that. (I know the problem exist and that FEC could
> be useful but seems nobody is able provide any hard data...)

Plain data duplication seems both easier to implement and likely to
allow recovery from the same as well as other classes of errors.
Reed-Solomon and similar FEC is useful when a read is marginal, but
useless when a read fails completely, which I believe is a far more
common failure mode in the layers of storage that we are interested
in.

Storing the LUKS header in two separate locations on disk could
probably do the trick. For example, right at the start *and* right at
the end of the LUKS container, which would avoid any issues with
having to remap a location in the middle of the container. Put a
counter in the header, ensure that all copies are in sync when the
header is read or written to, and if they are out of sync, use the one
with the highest counter value that works and rewrite the other. Add a
checksum (could be something really simple even, like CRC32, but it
would be good to make this extensible without needing to change the
on-disk format) to protect against any corruption that somehow manages
to slip past the FEC in the storage layer.

In fact, that would be similar to how ZFS and Btrfs already solves
pretty much the same problem.

I would discourage complex features; in cryptography, simple and easy
to validate should be the name of the game, and simply storing the
same data in two distinct locations is _far_ easier to understand than
code to calculate and use FEC data.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
                 “People who think they know everything really annoy
                 those of us who know we don’t.” (Bjarne Stroustrup)

  reply	other threads:[~2016-02-04  9:20 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-03 13:13 [dm-crypt] The future of disk encryption with LUKS2 .. ink ..
2016-02-03 14:02 ` Yves-Alexis Perez
2016-02-03 14:17 ` Milan Broz
2016-02-03 17:07   ` Arno Wagner
2016-02-03 19:46   ` Sven Eschenberg
2016-02-04  8:38     ` Milan Broz
2016-02-04  9:20       ` Michael Kjörling [this message]
2016-02-04 10:02         ` Milan Broz
2016-02-04 11:01           ` Arno Wagner
2016-02-04 16:34         ` Sven Eschenberg
2016-02-04 17:23           ` Arno Wagner
2016-02-04 18:42             ` Michael Kjörling
2016-02-04 20:51               ` Sven Eschenberg
2016-02-05 10:56               ` Arno Wagner
2016-02-05 15:08             ` Robert Nichols
2016-02-05 15:57               ` Arno Wagner
2016-02-05 23:51                 ` Sven Eschenberg
2016-02-06  2:58                   ` Arno Wagner
2016-02-06  3:18                     ` Sven Eschenberg
2016-02-06 10:01                       ` Michael Kjörling
2016-02-06 14:29                         ` Arno Wagner
2016-02-06 18:56                         ` Sven Eschenberg
2016-02-06 19:09                           ` Michael Kjörling
2016-02-06 19:18                             ` Sven Eschenberg
2016-02-07  0:09                               ` Lars Winterfeld
2016-02-07 23:05                               ` Arno Wagner
2016-02-08  0:25                                 ` Sven Eschenberg
2016-02-08 11:34                                   ` Michael Kjörling
2016-02-08 16:57                                     ` Arno Wagner
2016-02-08 20:19                                       ` f-dm-c
2016-02-08 16:41                                   ` Arno Wagner
2016-02-08 17:26                                     ` Sven Eschenberg
2016-02-08 18:49                                       ` Arno Wagner
2016-02-08 19:08                                         ` Sven Eschenberg
2016-02-08 20:31                                     ` f-dm-c
2016-02-08 20:51                                       ` Sven Eschenberg
2016-02-08 21:10                                         ` Arno Wagner
2016-02-08 21:43                                         ` f-dm-c
2016-02-08 22:04                                           ` Sven Eschenberg
2016-02-08 21:08                                       ` Arno Wagner
2016-02-08 21:45                                         ` f-dm-c
2016-02-06 14:20                       ` Arno Wagner
2016-02-06 19:13                         ` Sven Eschenberg
2016-02-07  7:09                       ` f-dm-c
2016-02-07 23:17                         ` Arno Wagner
2016-02-08  0:40                           ` Sven Eschenberg
2016-02-08  2:06                           ` f-dm-c
2016-02-08  2:46                             ` Sven Eschenberg
2016-02-08  3:43                               ` f-dm-c
2016-02-08  4:32                                 ` Sven Eschenberg
2016-02-08  6:09                                   ` f-dm-c
2016-02-08 16:51                                     ` Arno Wagner
2016-02-08 20:05                                       ` f-dm-c
2016-02-08 20:11                                       ` f-dm-c
2016-02-08 20:35                                         ` Sven Eschenberg
2016-02-08 17:27                                     ` Sven Eschenberg
2016-02-08 16:48                                   ` Arno Wagner
2016-02-08 19:49                                     ` f-dm-c
2016-02-08 19:57                                       ` Arno Wagner
2016-02-08 20:05                                       ` Sven Eschenberg
2016-02-04  9:35       ` Sumaya1960
2016-02-04 10:48         ` Arno Wagner
     [not found]           ` <56B4AC42.7070408@gmx.de>
2016-03-01 12:50             ` [dm-crypt] LUKS NVMe M.2 SSD - save disklayout Sumaya1960
2016-03-01 18:18               ` Sven Eschenberg
2016-03-04 22:05                 ` doark
2016-03-10 12:13                   ` Matthias Schniedermeyer
2016-03-14 18:23                   ` Sven Eschenberg
2016-02-04 16:29   ` [dm-crypt] The future of disk encryption with LUKS2 Yves-Alexis Perez
2016-02-04 17:17     ` Arno Wagner
2016-02-05  6:30       ` Yves-Alexis Perez
2016-02-05 11:02         ` Arno Wagner
2016-02-05 13:13           ` Yves-Alexis Perez
2016-02-05 13:31             ` Arno Wagner
2016-02-05 15:01               ` Yves-Alexis Perez
2016-02-05 15:24                 ` Arno Wagner
2016-02-05 15:44                   ` Milan Broz
2016-02-05 19:45                     ` Arno Wagner
2016-02-05 22:43                       ` Arno Wagner
2016-02-05 16:50                   ` Yves-Alexis Perez
2016-02-05 19:53                     ` Arno Wagner
2016-02-05 21:09                       ` Arno Wagner
     [not found]             ` <20160205133123.GA31320@das-labor.org>
2016-02-05 13:49               ` Zaolin
2016-02-05 15:15                 ` Arno Wagner
2016-02-08 21:51   ` Milan Broz
2016-02-08 22:36     ` Sven Eschenberg
2016-02-09  0:27       ` Milan Broz
2016-02-09  1:02     ` Arno Wagner
2016-02-09 22:08     ` Lars Winterfeld
2016-02-09 23:35       ` Arno Wagner
2016-02-10  0:20         ` Sven Eschenberg
2016-02-10  8:37         ` Milan Broz
2016-02-10 11:47           ` Arno Wagner
2016-02-10 13:48           ` Sven Eschenberg
2016-02-10 14:35             ` Robert Nichols
2016-02-10 15:09               ` Sven Eschenberg
2016-02-10 15:39                 ` Milan Broz
2016-02-10 16:22                   ` Arno Wagner
2016-02-10 17:13                     ` Sven Eschenberg
2016-02-10 16:48                   ` Sven Eschenberg
2016-02-11  5:09                 ` Robert Nichols
2016-02-11  6:44                   ` Milan Broz
2016-02-14  8:20             ` Milan Broz
2016-02-14 21:32               ` Sven Eschenberg
  -- strict thread matches above, loose matches on Subject: below --
2016-03-12 21:20 David Niklas
2016-03-16  6:36 ` Ondrej Kozina
2016-03-25 21:09   ` David Niklas

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=20160204092017.GA25029@yeono.kjorling.se \
    --to=michael@kjorling.se \
    --cc=dm-crypt@saout.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox