[dm-crypt] Managing wrapped key ciphers with cryptsetup

Hendrik Brueckner brueckner at linux.vnet.ibm.com
Mon May 15 15:56:54 CEST 2017

On Fri, Apr 28, 2017 at 09:22:22AM +0200, Arno Wagner wrote:
> I think hardware-specific stuff has no place in cryptsetup.
> Get a kernel-driver and then create a wrapper that feeds
> the key to cryptsetup, anything else is a bad design.

That's actually what we did with the paes reference implementation.
There are kernel drivers that abstract the HSM-specifics.  From a
user perspective, for example, cryptsetup, the secure (wrapped) key
is passed to the paes cipher (in-kernel crypto API).  The paes cipher
uses information from the secure key to find a HSM that is capable
to perform crypto operations with that key. There is no need for the
user to perform any HSM action.

I am about to reply on Sven's mail, covering some more details that
I do not want to repeat here.

> And if you want a system that is secure against root, then 
> do not use Linux. Seriously.

Of course, if users becomes root (or gain superuser capabilities),
they are able to access the data and obtain the wrapped key.
Secure keys (the wrapped keys with that we deal) cannot be un-wrapped.
That means, at least, root cannot obtain the inner clear key.

So with the wrapped key concept, you can harden your environment against
offline attacks.  With the wrapped key support, you also get a
2-factor-authorization for free: there is something to know,
that's the passphrase, and there is something you own, that's the HSM.
Only if both factors are there, you can decrypt the data.

Thanks and kind regards,

Hendrik Brueckner
brueckner at linux.vnet.ibm.com      | IBM Deutschland Research & Development GmbH
Linux on z Systems Development    | Schoenaicher Str. 220, 71032 Boeblingen

More information about the dm-crypt mailing list