From: Robert Nichols <rnicholsNOSPAM@comcast.net>
To: dm-crypt@saout.de
Subject: Re: [dm-crypt] Possibility for safe Luks partition delete functionality
Date: Sat, 14 Dec 2013 20:55:22 -0600 [thread overview]
Message-ID: <l8j5mg$6uh$1@ger.gmane.org> (raw)
In-Reply-To: <20131211205516.GA21128@citd.de>
On 12/11/2013 02:55 PM, Matthias Schniedermeyer wrote:
> For a non-hybrid HDD a single pass is suppossed to be enough to
> permanently overwrite anything there was before, no recourse whatsoever.
> (Or only the millions of dollar range, a.k.a. "State sponsored enemys")
>
> Non-rotating-platters-of-rust, namely NAND-Flash, are much trickier. If
> you only need to defend against an attacker investing a handfull of
> dollars (a.k.a, let's connect the thing and see what we get with
> standard "get me block X"-commands) a single overwrite/TRIM/Secure Erase
> is enough.
>
> But with just slightly more money (a.k.a., let's desolder the chips and
> see what's the raw contents) it's gets tricky pretty fast. Like you have
> to overwrite the (whole(?!)) contents with random data several times and
> you would still not have a 100% guranteed that the original content is
> really overwritten and not sitting somewhere as "spare" waiting to be
> reused.
The whole point of the anti-forensic splitter in LUKS is to require that
all stripes (4000 by default) of the key material be recovered exactly
in order to get the master key. Even if you can recover 99.9% of that
material, you are no better off than brute-forcing the master key. For
a non-hybrid HDD, even the most cursory overwrite is going to destroy
_some_ of that key material.
NAND Flash is indeed much trickier. It doesn't (much**) matter what data
you overwrite with since the only thing that actually wipes the old data
is the block erase by the Flash controller. The problem is that even
though the block with the old data has been marked as not in use, there
is no guarantee as to when the controller will get around to doing the
block erase. (And, TRIM is irrelevant here -- the block was written
to. Ergo, the old one is no longer in use. TRIM is used to inform the
device of blocks that are available even though they have _not_ been
rewritten.)
**The only time that would matter would be if you _knew_ that your write
was going to be directed to a free block that had previously been used
for key material. At a minimum, you would have to write at least
enough data to fill the (unknown) number of currently unallocated
blocks to have any assurance of that happening.
--
Bob Nichols "NOSPAM" is really part of my email address.
Do NOT delete it.
next prev parent reply other threads:[~2013-12-15 2:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-11 18:59 [dm-crypt] Possibility for safe Luks partition delete functionality tada
2013-12-11 19:16 ` Heinz Diehl
2013-12-11 19:18 ` Heinz Diehl
2013-12-11 20:21 ` Arno Wagner
2013-12-11 21:48 ` Heinz Diehl
2013-12-11 22:53 ` Arno Wagner
2013-12-12 6:11 ` Heinz Diehl
2013-12-11 20:55 ` Matthias Schniedermeyer
2013-12-11 23:22 ` Sven Eschenberg
2013-12-12 0:29 ` Matthias Schniedermeyer
2013-12-12 0:49 ` Arno Wagner
2013-12-15 2:55 ` Robert Nichols [this message]
2013-12-15 12:47 ` Arno Wagner
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='l8j5mg$6uh$1@ger.gmane.org' \
--to=rnicholsnospam@comcast.net \
--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 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.