Skip to content

Add the new tpm2-fido2 platform#446

Draft
sespiros wants to merge 7 commits intocanonical:masterfrom
sespiros:tpm2-fido2
Draft

Add the new tpm2-fido2 platform#446
sespiros wants to merge 7 commits intocanonical:masterfrom
sespiros:tpm2-fido2

Conversation

@sespiros
Copy link

@sespiros sespiros commented Jul 16, 2025

Opening it as a draft to get comments on the overall architecture.

Things that are still being worked on:

  • Allocate some platform flags to indicate that a platform supports FIDO2
  • Add missing documentation
  • Add comprehensive test suite

Jira: https://warthogs.atlassian.net/browse/FR-11176

Spyros Seimenis added 6 commits September 10, 2025 11:32
the new FIDO2 platform is not meant to be used standalone but only
as an additional factor on top of existing platforms that support it.
platforms that implement the FIDO2ProviderInterface will need to
implement the GetSymmetricKey function which will be used by the FIDO2
platform in order to retrieve a symmetric key. This symmetric key will
then be used in conjuction with a FIDO2 authenticator to derive the
final symmetric key which will be used for unlocking the disk unlocking
key.

Platform agnostic API's Keydata was extended with a new function
RecoverFIDO2Salt() which will call the handler's GetSymmetricKey if the
KeyData indicates that its handler is a platform which requires FIDO2.
the tpm2-fido2 platform extends the existing plain tpm2 platform to add
support for FIDO2 authenticators. It is essentially implemented as a
shim platform which first unseals the necessary key material from the
TPM and then passes it on to the FIDO2 platform in order to get the
final key material required for unlocking the disk unlocking key.
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.

1 participant