Re: [PATCH] x86/efi: pull NV+BS variables out before we exit bootservices

From: James Bottomley
Date: Tue Mar 19 2013 - 14:23:40 EST


On Tue, 2013-03-19 at 17:25 +0000, Matthew Garrett wrote:
> On Tue, Mar 19, 2013 at 05:17:27PM +0000, James Bottomley wrote:
> > On Tue, 2013-03-19 at 16:35 +0000, Matthew Garrett wrote:
> > > On Tue, Mar 19, 2013 at 08:14:45AM +0000, James Bottomley wrote:
> > >
> > > > Any security assumptions that rely on inability to read certain
> > > > information aren't really going to be that secure. Inability to modify,
> > > > sure, but inability to read, not really.
> > >
> > > Well, I guess that's public/private key cryptography screwed.
> >
> > Well, OK, it's ex-BIOS writers we're dealing with, so I won't say no-one
> > would be stupid enough to come up with a security scheme embedding
> > Private Keys in BS+NV variables, but I would have thought the fact that
> > Linux would blow the lid off it might be a good incentive not to do it
> > and thus a plus point for this patch.
>
> The hibernation scheme we'd discussed involved having the first stage
> loader generating a keypair and handing half of it to the OS for
> encryption of the hibernation partition, then handing the other half to
> the OS on the next boot so it can decrypt it. That requires non-RT
> variables to be restricted from OS visibility.

The scheme we discussed, unless something radically changed, was to
convey a temporary key pair via a mechanism to later verify the
hybernate kernel on a resume. That only requires reboot safe knowledge
of the public key. The private key can be conveyed in BS only (not NV),
and should be consumed (as in deleted) by the OS when it receives it, so
it wouldn't be exposed by this patch.

James



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/