[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bf917ee9-1795-9c10-ecec-28c7d5d68345@intel.com>
Date: Mon, 12 Nov 2018 08:42:43 -0700
From: Dave Jiang <dave.jiang@...el.com>
To: Mimi Zohar <zohar@...ux.ibm.com>,
Dan Williams <dan.j.williams@...el.com>
Cc: Mimi Zohar <zohar@...ux.vnet.ibm.com>,
linux-nvdimm <linux-nvdimm@...ts.01.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
keyrings@...r.kernel.org
Subject: Re: [PATCH 02/11] libnvdimm/security: change clear text nvdimm keys
to encrypted keys
On 11/11/2018 1:09 PM, Mimi Zohar wrote:
>>> Traditionally there is a single master key for the system, which would
>>> be sealed to a set of boot time PCR values. After decrypting all of
>>> the encrypted keys, the master key would be removed from the keyring
>>> and a PCR extended. Extending a PCR would prevent the master key from
>>> being unsealed again and used to decrypt encrypted keys, without
>>> rebooting the system. Normally this would be done before pivoting
>>> root.
>>>
>>> If you're not referring to the system master key and are intentionally
>>> limiting usage to TPM 2.0, more details on the master key security
>>> requirements should be included.
>> Oh, interesting point. I think we had been assuming a local +
>> unsealed-at-runtime nvdimm master key rather than a system-wide master
>> key. Yes, we need to rethink this in terms of supporting a sealed
>> system-key. This would seem to limit security actions, outside of
>> unlock, to always requiring a reboot. I.e. the nominal case is that we
>> boot up and unlock the DIMMs, but any subsequent security operation
>> like erase, or change-passphrase would require rebooting into an
>> environment where the system-master key is unsealed. I do think
>> re-provisioning keys and erasing DIMM contents are sufficiently
>> exceptional events that a reboot requirement is tolerable.
>> Is there already existing tooling around this to be able to schedule
>> master-key related actions to be deferred to an initrd environment?
> There's the original dracut support for loading a masterkey, which is
> used by the EVM and ecryptfs dracut modules. After the last usage,
> the masterkey needs to be removed from the keyring.
How does one generate new encrypted keys with the system masterkey
removed from the keyring?
>
> Different people over the years have wanted to add support for
> calculating the boot time expected PCRs values in order to reseal keys
> (trusted key update), but I haven't looked to see if there are any
> open source tools available.
>
> Mimi
>
Powered by blists - more mailing lists