tpm: route system VMs through host mux and harden DevID attestation#1790
Draft
vadika wants to merge 12 commits intotiiuae:mainfrom
Draft
tpm: route system VMs through host mux and harden DevID attestation#1790vadika wants to merge 12 commits intotiiuae:mainfrom
vadika wants to merge 12 commits intotiiuae:mainfrom
Conversation
|
Enable the protocol for intervm server/agent configuration Co-authored-by: Ganga Ram <Ganga.Ram@tii.ae> Co-authored-by: shamma-alblooshi1 <shamma.alblooshi@tii.ae> Co-authored-by: Brian McGillion <bmg.avoin@gmail.com> Signed-off-by: Brian McGillion <bmg.avoin@gmail.com> Signed-off-by: vadik likholetov <vadikas@gmail.com>
retrieve the EK certs at build time and create a list of possible devices. Then link these into the spiffe workflow, so that we can validate and verify the TPM for enrollment as an attestor. Signed-off-by: Brian McGillion <bmg.avoin@gmail.com> Signed-off-by: vadik likholetov <vadikas@gmail.com>
Roll up TPM mux bring-up, VM ordering fixes, probe/readiness cleanup, and in-process TABRMD forwarder integration into one coherent step. This keeps the TPM path reliable under contention while preserving the intended SPIFFE DevID flow. Signed-off-by: vadik likholetov <vadikas@gmail.com>
Combine pytss cross-patch integration with jetpack-nixos wip-ftpm input switch and Orin fTPM/vTPM enablement so CI and Jetson targets consume one consistent TPM toolchain/kernel path. Signed-off-by: vadik likholetov <vadikas@gmail.com>
Provision and export Jetson EK certificates with robust host-side ordering, then consume the endorsement bundle from shared storage for TPM DevID attestation. Relax SPIRE server mount dependency to /etc/common so admin-vm startup does not fail on storage mount races. Signed-off-by: vadik likholetov <vadikas@gmail.com>
|
Net-vm is still not booting on the Orins. It needs to be fixed before manual testing. |
Contributor
Author
booting in my tests, how do you do it? |
We turn the Orin on and wait until we are able to connect via ssh. Instead of connecting to net-vm (like it should), the connection opens to ghaf-host. The debug logs from the host show that net-vm did not start. This is only happening with this PR and it happened with all four Orin targets. |
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
Signed-off-by: vadik likholetov <vadikas@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
vtpm-abrmd-forwarder,tpm-mux.nix, unit ordering/ready signaling) and switch system VMs (admin,audio,gui,net) to muxed TPM on non-riscv64Verification
/dev/tpm0, TPM command loops, and SPIRE TPM DevID attestation recovery foraudio-vm,gui-vm, andnet-vmNotes
backend busy/ slow responses), but the new mux path and attestation recovery logic are now functional and recoverable after reprovisionManual Runtime Validation
Build, lint, and cross-compilation checks are covered by CI/CD.
Manual validation below focuses only on runtime behavior of TPM mux, SPIFFE TPM DevID, and Jetson fTPM/vTPM integration.
1) Host TPM Mux Readiness
On deployed host, verify TPM backend and per-VM forwarders are active:
systemctl status tpm2-abrmd systemctl status ghaf-vtpm-forwarder-admin-vm ghaf-vtpm-forwarder-net-vm # x86 targets also: systemctl status ghaf-vtpm-forwarder-audio-vm ghaf-vtpm-forwarder-gui-vm ls -l /run/ghaf-vtpm/Expected:
/run/ghaf-vtpm/<vm>.tpmendpoints present2) VM Startup Ordering
systemctl status microvm@admin-vm microvm@net-vm # x86 targets also: systemctl status microvm@audio-vm microvm@gui-vmExpected:
ghaf-vtpm-forwarder-<vm>.service3) VM TPM Smoke Tests
Run in each enabled system VM:
Expected:
/dev/tpm0and/dev/tpmrm0available4) Concurrent TPM Stress Check
Run loops concurrently in multiple VMs:
Monitor host in parallel:
Expected:
5) SPIFFE TPM DevID End-to-End
In each TPM-attesting VM:
On SPIRE server side:
Expected:
tpm_devid6) Jetson-Specific Runtime Checks
Expected:
/dev/vtpmxavailable with vTPM proxy module loadedPass Criteria
Manual runtime validation is considered complete when:
tpm_devidattestation succeeds for required VMs