Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] FDO client demo #3859

Draft
wants to merge 11 commits into
base: 11.0-stable
Choose a base branch
from

Conversation

eriknordmark
Copy link
Contributor

@eriknordmark eriknordmark commented Apr 17, 2024

Some things to enable an FDO demo which fills in /config/server and /config/root-certificate.pem using Fido Device Onboarding, plus a binary blob of the FDO client from Intel.

This images produced with this PR require that there be an FDO setup since the images do not include /config/server nor /config/root-certificate.pem. But the first three commits can be pushed to master at some point in time since they merely make EVE robust against /config/server and /config/root-certificate.pem not being initially present when the device boots (avoiding log.Fatals in such a case.)

Also, the pkg/pillar/fdo-alpine-3.16/linux-client is a binary blob and in due time it makes sense to either build that from source or pull it from e.g., docker hub.

Last but not least, in a production setup the manufacturer would create the secrets corresponding to the FDO ownership voucher in the TPM, and then the FDO client would read those. For the purposes of making the demo easier (and not rely on TPM clear) they are instead in pkg/pillar/fdo-alpine-3.16/data/

Signed-off-by: eriknordmark <erik@zededa.com>
XXX need to add callout to fdo script

Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
Signed-off-by: eriknordmark <erik@zededa.com>
@eriknordmark eriknordmark marked this pull request as draft April 17, 2024 16:17
@eriknordmark eriknordmark changed the title [DO NOT MERGE] Fdo client demo [DO NOT MERGE] FDO client demo Apr 17, 2024
@shjala
Copy link
Contributor

shjala commented Apr 19, 2024

There is need to 1) create the FIDO vouchers on the device, 2) import them on the destination controller. Sure it is standard and good, but I have hard time seeing the benefits (for our use case) compared to implanting the countroler public key and onboarding them in a secure environment, because with FIDO now there is extra manual steps (importing/exporting vouchers) to benefit from the mutual authentication.

@eriknordmark
Copy link
Contributor Author

There is need to 1) create the FIDO vouchers on the device, 2) import them on the destination controller. Sure it is standard and good, but I have hard time seeing the benefits (for our use case) compared to implanting the countroler public key and onboarding them in a secure environment, because with FIDO now there is extra manual steps (importing/exporting vouchers) to benefit from the mutual authentication.

Correct, which is why this is just for a demo for now.

The benefit we would get (if/when the hardware manufacturer generates the vouchers and put the corresponding private key ib the TPM) is that we can have a single EVE image which is not yet tied to a particular controller (server and root-certificate.pem) but instead have FDO provide that.

If hardware manufacturers start doing that FDO work we can later expore using this for other aspects (such as side-loading application images etc).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants