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

TrenchBoot as a main provider of Anti Evil Maid for QubesOS for all x86 platforms #4

Open
12 tasks
miczyg1 opened this issue Jan 3, 2022 · 2 comments
Open
12 tasks
Assignees
Labels
P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: feature request Type: feature reguest. A new feature for the project. W: todo Workflow: todo. The issue is in the initial to do state.

Comments

@miczyg1
Copy link

miczyg1 commented Jan 3, 2022

Is your feature request related to a problem? Please describe.
Not related to a problem specifically, but widening the use of TrenchBoot.

Is your feature request related to a new idea or technology that
would benefit the project? Please describe.

The idea is to extend the qubes-antievilmaid to support:

  • TrenchBoot as the main provider of DRTM capable software
  • both TPM 1.2 and TPM 2.0
  • both Intel and AMD platforms
  • both UEFI and legacy boot mode

Currently, QubeOS AEM supports only Intel TXT and TPM 1.2 in legacy boot mode which significantly limits the hardware that can be used. This is a perfect hole that TrenchBoot may perfectly fill.

Describe the solution you'd like
What is needed for PoC?

What is needed for a complete solution?

  • TrenchBoot support for UEFI boot mode for AMD in GRUB and Xen. GRUB + Linux combination is rather known to work on Intel, but not on AMD.
  • TrenchBoot support for UEFI boot mode in GRUB and Xen. Xen needs the UEFI Boot Services otherwise it won't boot, so it would be necessary to implement booting Xen without Boot Services.
  • TrenchBoot support in GRUB2 merged upstream and shipped in a stable GRUB release
  • Test the solution on AMD and Intel hardware with TPM 2.0 and TPM1.2 with legacy and UEFI boot mode

Describe alternatives you've considered
None.

Additional context
Some work has been done to show AEM on AMD and TPM 2.0. What has been achieved and proven to work is:

  • TrenchBoot for AMD platform with former Landing Zone and GRUB with TrenchBoot support successfully booting Qubes OS.
  • Successfully extended PCRs 17+ when slaunch is enabled in grub.cfg.

Rewriting the scripts to use TPM 2.0 software stack has been attempted but not finished. The effort has been presented on QubesOS and 3mdeb minisummit 2020: https://youtu.be/rM0vRi6qABE

Relevant documentation you've consulted
QubesOS/qubes-issues#6793

Proposal
https://docs.dasharo.com/projects/trenchboot-aem/

@miczyg1 miczyg1 added T: feature request Type: feature reguest. A new feature for the project. P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. W: todo Workflow: todo. The issue is in the initial to do state. labels Jan 3, 2022
@pietrushnic pietrushnic self-assigned this Jan 3, 2022
@pietrushnic
Copy link
Member

I will assign it to myself for management purposes. Next step is that 3mdeb will evaluate effort required for TrenchBoot integration in Qubes OS. We initially plan to obtain founding from NLNet and if it would be not enough look for other sources.

Deadline for NLNet proposals is 1st February 2022.

@miczyg1
Copy link
Author

miczyg1 commented Mar 25, 2022

We have put up a proposal for the TrenchBoot as Anti Evil Maid provider: https://docs.dasharo.com/projects/trenchboot-aem/
Feel free to review and suggest changes, we also added a Giscus plugin to give comments under the page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: feature request Type: feature reguest. A new feature for the project. W: todo Workflow: todo. The issue is in the initial to do state.
Projects
None yet
Development

No branches or pull requests

2 participants