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

fTPM on ARM #3862

Open
eriknordmark opened this issue Apr 17, 2024 · 1 comment
Open

fTPM on ARM #3862

eriknordmark opened this issue Apr 17, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@eriknordmark
Copy link
Contributor

We can currently use discrete TPM chips on ARM and Intel/AMD, and on Intel/AMD that transparently support firmware TPMs (since they look the same to Linux user space), but not firmware TPM on ARM.

We do build the OP-TEE firmware for ARM (in pkg/optee-os) so we have the infrastructure to run fTPM firmware. But need the actual firmware built, and perhaps more challenging, figure out what is the manufacturing/install workflow which ensures that each fTPM gets its unique root of trust.

@eriknordmark eriknordmark added the enhancement New feature or request label Apr 17, 2024
@rene
Copy link
Contributor

rene commented Apr 24, 2024

Run fTPM as a regular TA is not a big deal, we have the infrastructure almost ready for devices running OPTEE-OS. However, in this approach the fTPM is initialized from EVE, so we must evaluate the security aspects to ensure there is no attack surface between boot and EVE initialization.... fTPM uses regular encrypted files under the filesystem for key storage, we could use /persist, for instance...

Another approach would be run fTPM as a PTA, i.e., directly within OPTEE-OS. In this way fTPM would be initialized at early boot along with OPTEE-OS. However, the main issue with this approach is the storage device. I think the only way would be use the RPMB secure storage, but it must be provisioned in advance and it's only available for eMMCs.... OPTEE-OS used to allow write files from Secure to Normal World to a specific place (/data/tee), but AFAIK this support was removed in favor of security...

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

No branches or pull requests

2 participants