
structures is that it does not implement vendor spe-
cific commands and data types.
Our selection of TPMs tested was limited, how-
ever a closer look at the wolfTPM (see Section 3.1)
source, file tpm2.h specifically, suggests TPM ven-
dors do indeed add custom additional low-level com-
mands to their TPMs. This makes sense, as e.g. TPMs
for embedded projects surely benefit from additional
commands specific for embedded use. However, a
TSS must offer these.
A strictly typed API, where the command codes
are an enum(eration) of the officially specified TPM
commands, and data input and outputs are strictly de-
fined structs, may not be as easily adapted for these
low-level commands. These extra commands for each
vendor must be implemented in the TSS. So far, we
have only found wolfTPM to support them.
4 CONCLUSION
Originally this paper was motivated by the upcoming
requirements for a TPM v2 in every PC in the near
future, driven by Windows 11. Once we identified
candidate PCs in our working environment, we were
motivated to explore the finer differences between the
individual hardware and software TPM implementa-
tions. Further, as Wikipedia only provides a high-
level overview, we set out to explore the support soft-
ware stacks, their trade-offs and how to use the TPM
v2 in different languages.
This paper provides an intermediate review, a
snapshot of the ecosystem, a reflection of our insights
and experiences made. This is still a work in progress
and not an exhaustive survey. As we discovered, the
TSSs are a work in progress, too. This short paper
is another contribution in the discovery and learning
about TPM v2.
ACKNOWLEDGEMENTS
The work presented in this paper was done at the Josef
Ressel Center for Blockchain Technologies and Se-
curity Management, St. P
¨
olten University of Applied
Sciences, Austria.
The financial support by the Christian Doppler
Research Association, the Austrian Federal Ministry
for Digital, and Economic Affairs and the National
Foundation for Research, Technology and Develop-
ment is gratefully acknowledged.
REFERENCES
AMD (2022). Intermittent System Stutter Experienced
with fTPM Enabled on Windows® 10 and 11.
https://www.amd.com/en/support/kb/faq/pa-410.
Arthur, W., Challener, D., and Goldman, K. (2015). A Prac-
tical Guide to TPM 2.0: Using the Trusted Platform
Module in the New Age of Security. Apress Berkeley.
https://doi.org/10.1007/978-1-4302-6584-9.
CVE (2017). CVE-2017-15361. https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2017-15361.
CVE (2023a). CVE-2023-1017. https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2023-1017.
CVE (2023b). CVE-2023-1018. https://cve.mitre.org/cgi-
bin/cvename.cgi?name=CVE-2023-1018.
Jacob, H. N., Werling, C., Buhren, R., and Seifert, J.-P.
(2023). faulTPM: Exposing AMD fTPMs’ Deepest
Secrets. https://arxiv.org/abs/2304.14717.
Moghimi, D., Sunar, B., Eisenbarth, T., and Heninger, N.
(2020). TPM-FAIL: TPM meets timing and lattice at-
tacks. In 29th USENIX Security Symposium (USENIX
Security 20), pages 2057–2073. USENIX Association.
https://www.usenix.org/conference/usenixsecurity20/
presentation/moghimi-tpm.
Proudler, G., Dalton, C., and Chen, L. (2014). Trusted Com-
puting Platforms: TPM2.0 in Context. Springer Ver-
lag. https://doi.org/10.1007/978-3-319-08744-3.
Tarnovsky, C. (2010). Hacking the Smartcard Chip.
Blackhat DC’10. http://www.blackhat.com/html/bh-
dc-10/bh-dc-10-briefings.html#Tarnovsky.
The Trusted Computing Platform Alliance (2000). Building
A Foundation of Trust in the PC. TCPA Whitepaper,
http://www.trustedcomputinggroup.org/.
Trusted Computing Group (2013). TPM Spec-
ification Version 2.0 Revision 00.96.
https://trustedcomputinggroup.org/resource/tpm-
library-specification/.
Trusted Computing Group (2019). TCG TSS 2.0
TAB and Resource Manager Specification, Fam-
ily 2.0, Level 00 Version 1.0 Revision 18.
https://trustedcomputinggroup.org/resource/tss-
tab-and-resource-manager/.
Trusted Computing Group (2022). TCG EK Credential
Profile, For TPM Family 2.0 Version 2.5 Revision
2. https://trustedcomputinggroup.org/resource/http-
trustedcomputinggroup-org-wp-content-uploads-tcg-
ek-credential-profile-v-2-5-r2 published-pdf/.
Trusted Computing Group (2023a). TCG Algorithm
Registry, Family 2.0 Level 00 Revision 01.34.
https://trustedcomputinggroup.org/resource/tcg-
algorithm-registry/.
Trusted Computing Group (2023b). TCG
PC Client Platform TPM Profile (PTP)
Specification for TPM 2.0, Version 1.05.
https://trustedcomputinggroup.org/resource/pc-
client-platform-tpm-profile-ptp-specification/.
Trusted Computing Group (TCG) (2003a). TCG Software
Stack (TSS) Specification, Version 1.10 Golden.
https://trustedcomputinggroup.org/resource/tcg-
software-stack-tss-specification/.
A Brief Reflection on Trusted Platform Module Support
897