From: Milan Broz <mbroz@redhat.com>
To: Yves-Alexis Perez <corsac@debian.org>
Cc: dm-crypt@saout.de
Subject: Re: [dm-crypt] DM-Crypt resistance against Cold Boot Attacks
Date: Thu, 19 May 2011 10:52:12 +0200 [thread overview]
Message-ID: <4DD4DA3C.90303@redhat.com> (raw)
In-Reply-To: <1305792110.9280.4.camel@oban>
On 05/19/2011 10:01 AM, Yves-Alexis Perez wrote:
> On jeu., 2011-05-19 at 09:05 +0200, Milan Broz wrote:
>> On 05/18/2011 11:53 PM, Yves-Alexis Perez wrote:
>>> If you read the paper, you'll noticed there's nothing to change to
>>> dm-crypt, as the cypher is registered in the Crypto-API, it can be used
>>> directly.
>>
>> TBH dmcrypt keeps its own copy of key (because key it is still part
>> of the device-mapper mapping table so it must be available for
>> status commands).
>
> In that case it'll be the “dummy” key.
The logic now works that table line received from dmcrypt
is directly usable - cryptsetup uses that e.g. for resize.
Replacing the key with zeroes or something will break this.
(Note that tools for scanning memory scan for pre-calculated
AES key, not for this "plain hexa string" dmcrypt pattern,
I had some simple modification for testing luksSuspend - which
must wipe all these keys.
I had also idea to build this scanner as directly grub
loadable image - to demonstrate that most of distributions
are not able to properly shutdown system if root fs running from
encrypted disk and after "clean" reboot key is still in memory.
Finally, dracut/systemd has already idea of "shutdown pivot_root"
which allows decomposing of root devices properly - thus shutting
the dmcrypt properly and wiping the key.)
>> So there are some changes needed but basically technicaly unrelated
>> to that patch.
>> (This will hopefully change with new mapping table format soon.)
>
> Needed for what?
You mean new table format?
Currently the table format is fixed (and parsing hardcoded
in various tools) so cannot be extented.
I have several reasons to define new format (of course it will
be used only with new tools, is still must support old format).
- encryption key, once set, should be not easily accessible from
the outside of module, (FIPS is even stricter here btw).
So I want to set encryption key only though message and remove it
from new mapping table. (This even allows other source for key -
like internal kernel keyring or so.)
(See "dmsetup table --showkeys" here for demonstration of problem.)
The mechanism is already in place for luksResume command.
- any extension for table like optional discard support or
online reencryption helpers need aditional parameters - and
the table is not extensible (other DM targets use "parameter"
count field so parameter count is not fixed but not dmcrypt)
... etc.
>>
>> Anyway, it must be accepted into kernel crypto layer first.
>
> I'm not even sure it'll be submitted though.
So it is just academic exercise for conferences?
>> IMHO I think that without strong hw support these implementation
>> will have some problems but it is good that someone works on such
>> things.
>> (E.g. how it works if it is not bare hw but virtualized system?)
>
> For the AES-NI one, if the hypervisor supports it (they tested on KVM)
> yes (though the vm registers are stored in the host ram anyway).
Yes, that was my point. (AES-NI works for guests but bare hw has
of course limited hw resources.)
> If you're interested, I found that the two papers were quite clear and
> quick to read, so it might be a good idea to read them.
Sure, I will read them.
Thanks,
Milan
next prev parent reply other threads:[~2011-05-19 8:52 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-18 13:24 [dm-crypt] DM-Crypt resistance against Cold Boot Attacks Philipp Deppenwiese
2011-05-18 21:53 ` Yves-Alexis Perez
2011-05-19 7:05 ` Milan Broz
2011-05-19 8:01 ` Yves-Alexis Perez
2011-05-19 8:52 ` Milan Broz [this message]
2011-05-19 9:14 ` Yves-Alexis Perez
2011-05-19 9:36 ` Milan Broz
2011-05-18 22:03 ` Arno Wagner
2011-05-19 1:36 ` Kraktus
2011-05-19 1:37 ` Kraktus
2011-05-19 6:01 ` 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=4DD4DA3C.90303@redhat.com \
--to=mbroz@redhat.com \
--cc=corsac@debian.org \
--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.