-
Notifications
You must be signed in to change notification settings - Fork 574
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
Extend TPM 2.0 support #3877
Comments
In #3910 we introduced a nice way of marking specific modules as deprecated. However this change did not set the lifecycles of any specific modules. Additionally, officially deprecate the TPM support which is pretty obsolete and these days not well tested. (GH #3877) Mark various headers and classes that are entirely deprecated as such to provide some additional compile time warning for users.
In #3910 we introduced a nice way of marking specific modules as deprecated. However this change did not set the lifecycles of any specific modules. Additionally, officially deprecate the TPM support which is pretty obsolete and these days not well tested. (GH #3877) Mark various headers and classes that are entirely deprecated as such to provide some additional compile time warning for users.
Current StatusTPM 1.2 is deprecated as of 9000137. @atreiber94 and me will work on (limited) TPM 2.0 support. Work Items
Knowledge SpaceThis will require a new (optional) dependency to tpm2-tss. This library provides several layers of API abstraction:
The "Enhanced System API" is probably want we want. The "Feature API" seems very convenient but it maintains state on the user's hard drive and is quite obviously geared towards use in applications. We'll (optionally) implement the crypto callbacks to allow tpm2-tss to use Botan's primitives and to avoid a transitive dependency to another crypto library. Note that this requires the use of tpm2-tss 4.0 or newer (January 2023), before |
Current SituationThe pull requests merged so far (slated for release with Botan 3.6.0) provide limited support to create and use TPM-hosted keys (both RSA and ECDSA), as well as an interface to the TPM's random number generator. Also, a feature-complete "crypto backend" (requires TSS 4.x) was added. With that, the underlying TSS can utilize Botan's crypto algorithms for securely communicating with the TPM. Below there's a list of current limitations (adapted from #4337) that may stand as an (incomplete) list of TODOs. Currently we don't have immediate plans to tackle any of those, but that may change. Therefore, this ticket is not assigned to any release milestone for the time being. Limitations aka. TODO
|
The ToDo list currently lists this for TPM support:
Is the first one still desired? Given that TPM 1.2 standard was first released in 2003 and superseded by TPM 2.0 in 2014, I'd suggest to deprecate TPM 1.2 support for removal in 4.0 and add basic TPM 2.0 support as a replacement (if still desired).
The text was updated successfully, but these errors were encountered: