> > * What's the last point at which we can bring up discussions about
> > significant changes (e.g. adding/dropping requirements)?
>
> That point (for firmware, i.e. "boot managers" in CRA-speak) was last
> week if you wanted the easy route. Sorry.

That... is very bad news, although I appreciate your candor. It would
have been great if these deadlines had been communicated more clearly
in advance.

The current draft seems to be designed to very tightly follow certain
UEFI Secure Boot concepts rather than define broader security goals
that an implementation can meet as it sees fit. For example,
RQ-INTEGRITY-016 says "The boot manager shall support hierarchical
trust with root and intermediate certificates." — what's the point of
that for platforms where the entire boot manager with all components
is signed by a single entity? And RQ-INTEGRITY-017 demands "The boot
manager shall support transition between certificate authorities
during ownership changes." — does that mean that all boot managers
need to use (x509?) certificates for their trust anchor and support
ownership changes (that term isn't actually defined anywhere else in
the document)? Or is it just a requirement for platforms that do? No
Android phone and no Chromebook today supports "ownership changes"
(unless that just means physically unprotecting the flash and flashing
a different key, but it sounds like they're talking about some fancy
online key exchange mechanism here?), and it's not really feasible
(and definitely not helpful to users) to redesign all their
verification mechanisms from scratch just to include this capability.
Those mechanisms don't make users more secure, they're just feature
creep that adds complexity and therefore risk. RQ-INTEGRITY-058 says
"The boot manager shall verify components using at least two distinct
verification mechanisms (e.g. hash-based and signature-based
verification)." which... doesn't make sense at all? Verifying
something with public key crypto generally always requires *both* a
signature and a hash (although you can also build secure systems with
purely shared secret HMAC-based verification instead, which can also
be a valid approach for certain device types that many of the
requirements here don't acknowledge at all FWIW...), but those aren't
"distinct mechanisms", those are two necessary steps of the same
single mechanism neither of which can really stand on its own.

It seems that a lot of things in the details (not just the formatting)
have also changed with the last revision a few weeks ago (e.g. there
was a ton of duplication between AUTH-BASE and INTEGRITY-BASE that
seems to have now been mostly cleaned up). The window between "this is
actually the finished draft worth looking at" and "it's basically
already to late to make real changes" was really not long enough to be
workable for a document of this size here. :/
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to