[PATCH 0/2] RFC: add fdt_add_pubkey tool
François Ozog
francois.ozog at linaro.org
Tue Nov 9 18:32:38 CET 2021
Hi Jan,
On Tue, 9 Nov 2021 at 15:00, Jan Kiszka <jan.kiszka at siemens.com> wrote:
> On 09.11.21 14:16, François Ozog wrote:
> > Hi Jan
> >
> > On Tue, 9 Nov 2021 at 13:58, Jan Kiszka <jan.kiszka at siemens.com
> > <mailto:jan.kiszka at siemens.com>> wrote:
> >
> > On 09.11.21 13:43, François Ozog wrote:
> > > Hi
> > >
> > > as we are in design discussions, I would promote the idea of not
> > pushing
> > > non hardware related things in the DTB that is passed to the
> kernel.
> >
> > This was never proposed. The public keys go into the *control* FDTs.
> >
> > great ;-)
> >
> > > Is your use case to allow U-Boot to verify the kernel's signature ?
> > > Why not putting it into an environment variable?
> >
> > This is both about validating OS FIT containers as well as SPL
> checking
> > U-Boot proper before continuing the boot there. The former case can
> be
> > replaced with UEFI logic and likely taking the key from TEE (we do
> that
> > as well in first prototypes), but the latter can't (yet).
> >
> > >
> > > If your use case is on Arm or RISC-V, both environments are working
> > > heavily to make https://arm-software.github.io/ebbr/
> > <https://arm-software.github.io/ebbr/>
> > > <https://arm-software.github.io/ebbr/
> > <https://arm-software.github.io/ebbr/>> standard available on a
> large
> > > number of boards.
> > > This offers UEFI interface and SecureBoot (and later MeasuredBoot)
> > > services. For Arm boards just check for SystemReady compliance.
> > > In this context, traditional UEFI secure variables are used to
> > deal with
> > > certificates and hashes: PK, KEK, db...
> > > You can obviously do differently but you will be on your own to
> extend
> > > the chain of trust to IMA, secure containers (rooted down to hRoT)
> and
> > > other security facilities in the Linux side.
> > > Could you describe your use case in more details?
> >
> > doc/uImage.FIT/signature.txt ;)
> >
> > More concrete: We are currently massaging board/siemens/iot2050 to
> close
> > its static chain of trust between SPL and U-Boot main, using software
> > means (vendor means do not work because FSBL key != TF-A/TEE/U-Boot
> > key).
> >
> > And will the chain of trust be continuous or with a very brief breakage
> > with this approach?
> > I other words, can you enroll the TF-A/TEE/U-Boot key so that it can be
> > trusted by FSBL key?
>
> The chain will be continuous. Both FSBL and TF-A/TEE/SPL will be
> OTP-anchored (but deployed at different times / by different
> authorities), FSBL will validate based on OTP, SPL should do that based
> on control FDT key. Therefore, we need embedding into the SPL FDT in
> this case.
>
> If the user decides to continue "classically" by loading the OS from a
> signed FIT image, also U-Boot proper needs the public key in its control
> FDT.
>
> That's just one (likely more special) scenario, but I bet there are
> plenty others on other SOCs / systems.
>
> Get it. Thanks for detailing the case, its very useful for me.
> Jan
>
> --
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
>
--
François-Frédéric Ozog | *Director Business Development*
T: +33.67221.6485
francois.ozog at linaro.org | Skype: ffozog
More information about the U-Boot
mailing list