FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/Trusted_Platform_Module

Trusted Platform Module

Contents
Criticism
Endorsement keys
Software libraries

Trusted Platform Module
An example Trusted Platform Module, the Infineon SLB9655TT12
AbbreviationTPM
StatusPublished
Year started2009;17 years ago (2009)
Latest versionISO/IEC 11889:2015
2015;11 years ago (2015) (reconfirmed 2021; revision in progress as of 2026)
OrganizationTrusted Computing Group, ISO/IEC JTC 1
DomainSecure cryptoprocessor
Website

A Trusted Platform Module (TPM) is a secure cryptoprocessor that implements the ISO/IEC 11889 standard. Common uses are verifying that the boot process starts from a trusted combination of hardware and software and storing disk encryption keys.

A TPM 2.0 implementation is part of the Windows 11 system requirements.

TPM 2.0 Reference Implementation
DeveloperMicrosoft
Written inC, C++
TypeTPM implementation
LicenseBSD License
Websitetrustedcomputinggroup.org/tpm-library-specification
Repositorygithub.com/Microsoft/ms-tpm-20-ref

The official TCG reference implementation of the TPM 2.0 Specification has been developed by Microsoft. It is licensed under BSD License and the source code is available on GitHub.

In 2018, Intel open-sourced its Trusted Platform Module 2.0 (TPM2) software stack with support for Linux and Microsoft Windows. The source code is hosted on GitHub and licensed under BSD License.

Infineon funded the development of an open source TPM middleware that complies with the Software Stack (TSS) Enhanced System API (ESAPI) specification of the TCG. It was developed by Fraunhofer Institute for Secure Information Technology (SIT).

IBM's Software TPM 2.0 is an implementation of the TCG TPM 2.0 specification. It is based on the TPM specification Parts 3 and 4 and source code donated by Microsoft. It contains additional files to complete the implementation. The source code is hosted on SourceForge and GitHub and licensed under BSD License.

In 2022, AMD announced that under certain circumstances their fTPM implementation causes performance problems. A fix is available in form of a BIOS-Update.

Criticism

edit

The Trusted Computing Group (TCG) has faced resistance to the deployment of this technology in some areas, where some authors see possible uses not specifically related to Trusted Computing, which may raise privacy concerns. The concerns include the abuse of remote validation of software to decide what software is allowed to run, and possible ways to follow actions taken by the user and record them in a database in a manner that is completely undetectable to the user.

The TrueCrypt disk encryption utility, as well as its derivative VeraCrypt, do not support TPM. The original TrueCrypt developers were of the opinion that the exclusive purpose of the TPM is "to protect against attacks that require the attacker to have administrator privileges, or physical access to the computer". The attacker who has physical or administrative access to a computer can circumvent TPM, e.g., by installing a hardware keystroke logger, by resetting TPM, or by capturing memory contents and retrieving TPM-issued keys. The condemning text goes so far as to claim that TPM is entirely redundant. The VeraCrypt publisher has reproduced the original allegation with no changes other than replacing "TrueCrypt" with "VeraCrypt". The author is right that, after achieving either unrestricted physical access or administrative privileges, it is only a matter of time before other security measures in place are bypassed. However, stopping an attacker in possession of administrative privileges has never been one of the goals of TPM (see § Uses for details), and TPM can stop some physical tampering.

In 2015, Richard Stallman suggested replacing the term "trusted computing" with the term "treacherous computing" due to the danger that the computer can be made to systematically disobey its owner if the cryptographical keys are kept secret from them. He also considers that TPMs available for PCs in 2015 are not currentlytpmvscmgr, a command-line tool that allows creating and deleting TPM virtual smart cards on a computer.

Endorsement keys

edit

TPM endorsement keys (EKs) are asymmetric key pairs unique to each TPM. They use the RSA and ECC algorithms. The TPM manufacturer usually provisions endorsement key certificates in TPM non-volatile memory. The certificates assert that the TPM is authentic. Starting with TPM 2.0, the certificates are in X.509 DER format. After the TPM was manufactured, the EKs cannot be changed. For fTPM, the EKs are stored on CPU / chipset when it was manufactured.

These manufacturers typically provide their certificate authority root (and sometimes intermediate) certificates on their web sites.

Software libraries

edit

To utilize a TPM, the user needs a software library that communicates with the TPM and provides a friendlier API than the raw TPM communication. Currently, there are several such open-source TPM 2.0 libraries. Some of them also support TPM 1.2, but mostly TPM 1.2 chips are now deprecated and modern development is focused on TPM 2.0.

Typically, a TPM library provides an API with one-to-one mappings to TPM commands. The TCG specification calls this layer the System API (SAPI). This way, the user has more control over the TPM operations, but the complexity is high. To hide some of the complexity, most libraries also offer simpler ways to invoke complex TPM operations. The TCG specification call these two layers Enhanced System API (ESAPI) and Feature API (FAPI).

There is currently only one stack that follows the TCG specification. All the other available open-source TPM libraries use their own form of richer API.

Summary of the existing open-source TPM libraries
TPM Libraries API TPM 2.0 TPM 1.2 Attestation server or example Microsoft
Windows
Linux Bare metal
tpm2-tss SAPI, ESAPI and FAPI
from the TCG specification
No, but there is a separate project Yes Yes Yes Yes Yes Yes Yes Yes
  1. ↑ There is a separate project called "CHARRA" by FraunhoferWarren, Tom (2021-06-25). "Why Windows 11 is forcing everyone to use TPM chips". The Verge. Archived from the original on 2023-12-07. Retrieved 2021-11-13.
  2. ↑ "TPM 1.2 Main Specification". Trusted Computing Group. Archived from the original on 2024-06-11. Retrieved 2021-11-08.
  3. 1 2 3 "TPM 2.0 Library". Trusted Computing Group. Archived from the original on 21 December 2019. Retrieved 6 August 2026.
  4. ↑ "TPM 1.2 vs. 2.0 Features | Dell US".
  5. ↑ "TPM Library Specification 2.0". Trusted Computing Group. Archived from the original on 29 October 2016. Retrieved October 30, 2016.
  6. ↑ "TCG TPM 2.0 Library Profile for Automotive-Thin". trustedcomputinggroup.org. 1 March 2015. Archived from the original on April 26, 2017. Retrieved April 25, 2017.
  7. 1 2 3 4 5 "TPM Main Specification Level 2 Version 1.2, Revision 103: Part 1 Design Principles" (PDF). July 9, 2007. Archived (PDF) from the original on August 31, 2025. Retrieved February 16, 2024.
  8. 1 2 3 4 "TCG Algorithm Registry" (PDF). Archived (PDF) from the original on January 23, 2019. Retrieved January 23, 2019.
  9. ↑ "Section 23: Enhanced Authorization (EA) Commands", Trusted Platform Module Library; Part 3: Commands (PDF), Trusted Computing Group, March 13, 2014, archived (PDF) from the original on September 3, 2014, retrieved September 2, 2014
  10. ↑ "Understanding Machine-Level and User-Level RSA Key Containers". October 22, 2014. Archived from the original on June 2, 2022. Retrieved June 2, 2022.
  11. ↑ TPM Main Specification Level 2 (PDF), vol. Part 3 – Commands (Version 1.2, Revision 116 ed.), Trusted Computing Group, archived (PDF) from the original on September 28, 2011, retrieved June 22, 2011
  12. ↑ "Windows 11 TPM 2.0 requirement has a special exception". SlashGear. 2021-06-28. Archived from the original on June 28, 2021. Retrieved 2021-06-29.
  13. 1 2 Greene, James (2012). "Intel Trusted Execution Technology" (PDF) (white paper). Intel. Archived (PDF) from the original on June 11, 2014. Retrieved December 18, 2013.
  14. ↑ "TCG Vendor ID Registry" (PDF). 23 September 2015. Archived (PDF) from the original on 28 October 2016. Retrieved 27 October 2016.
  15. ↑ "TPM Certified Products". Archived from the original on 2025-03-06. Retrieved 2022-09-06.
  16. ↑ "GitHub - microsoft/ms-tpm-20-ref: Reference implementation of the TCG Trusted Platform Module 2.0 specification". GitHub. Archived from the original on October 27, 2020. Retrieved April 5, 2020.
  17. ↑ "The TPM2 Software Stack: Introducing a Major Open Source Release Intel Software". Archived from the original on April 9, 2020. Retrieved April 5, 2020.
  18. ↑ "IBM's Software TPM 2.0 download | SourceForge.net". Archived from the original on June 12, 2019. Retrieved April 5, 2020.
  19. ↑ Paul Alcorn (2022-03-07). "AMD Issues Fix and Workaround for Ryzen's fTPM Stuttering Issues". Tom's Hardware. Archived from the original on 2026-03-14. Retrieved 2022-07-02.
  20. ↑ "FAQ". veracrypt.fr. IDRIX. 2 July 2017. Archived from the original on 25 February 2025. Retrieved 11 January 2018.
  21. ↑ Autonomic and Trusted Computing. Lecture Notes in Computer Science. Vol. 4610. 2007. doi:10.1007/978-3-540-73547-2. ISBN 978-3-540-73546-5."SetPhysicalPresenceRequest Method of the Win32_Tpm Class". Microsoft. Archived from the original on May 19, 2009. Retrieved June 12, 2009.
  22. ↑ Messmer, Ellen (January 30, 2012). "Black Hat: Researcher claims hack of processor used to secure Xbox 360, other products". Network World. Archived from the original on January 30, 2012. Retrieved August 10, 2017.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  23. ↑ Chen, Liqun; Ryan, Mark (2010). "Attack, Solution and Verification for Shared Authorisation Data in TCG TPM". Formal Aspects in Security and Trust. Lecture Notes in Computer Science. Vol. 5983. pp. 201–216. doi:10.1007/978-3-642-12459-4_15. ISBN 978-3-642-12458-7.
  24. ↑ "TPM Vulnerabilities to Power Analysis and An Exposed Exploit to Bitlocker – The Intercept". The Intercept. Archived from the original on July 9, 2017. Retrieved August 10, 2017.
  25. 1 2 "Can the NSA Break Microsoft's BitLocker? – Schneier on Security". www.schneier.com. 10 March 2015. Archived from the original on August 10, 2017. Retrieved August 10, 2017.
  26. ↑ "Trusted platform module security defeated in 30 minutes, no soldering required". August 3, 2021. Archived from the original on July 28, 2026. Retrieved August 9, 2021.
  27. ↑ "AN_8965 TPM Part Number Selection Guide – Application Notes – Microchip Technology Inc" (PDF). www.atmel.com. Archived from the original (PDF) on October 5, 2016. Retrieved October 4, 2016.
  28. ↑ "},"date":{"wt":""},"website":{"wt":""},"publisher":{"wt":"Microchip Technology"},"access-date":{"wt":"2024-02-14"},"quote":{"wt":""},"archive-date":{"wt":"2025-02-14"},"archive-url":{"wt":"https://web.archive.org/web/20250214203949/https://www.microchip.com/en-us/products/security/security-ics/tpm"},"url-status":{"wt":"live"}},"i":0}}]}'/>""Trusted Platform Module"". Microchip Technology. Archived from the original on 2025-02-14. Retrieved 2024-02-14.
  29. ↑ "STSAFE-TPM" (PDF). Archived (PDF) from the original on 2025-03-06. Retrieved 2021-07-06.
  30. ↑ "HP TPM Configuration Utility". Archived from the original on 2022-04-21. Retrieved 2021-09-28.
  31. ↑ "Amazon EC2 Now Supports NitroTPM and UEFI Secure Boot". AWS News Blog. 11 May 2022. Retrieved February 1, 2025.
  32. ↑ Chabaud, Florent (November 15–16, 2022). "Setting Hardware Root-of-Trust from Edge to Cloud, and How to Use it" (PDF). In le Guernic, Gurvan (ed.). Proceedings of the 29th Computer & Electronics Security Application Rendezvous. Rennes, France: C&ESAR 2022. pp. 115–130. Archived (PDF) from the original on 2025-03-06. Retrieved 2024-01-08. Location: Université de Rennes 1, Campus de Beaulieu, IRISA/Inria Rennes, 263 avenue du Général Leclerc, 35042 RENNES cedex.
  33. ↑ "TPM 2.0 Support Sent In For The Linux 3.20 Kernel - Phoronix". Archived from the original on February 28, 2021. Retrieved April 5, 2020.
  34. ↑ "With Linux 4.4, TPM 2.0 Gets Into Shape For Distributions - Phoronix". Archived from the original on August 14, 2020. Retrieved April 5, 2020.
  35. ↑ "tpmadm" (manpage). Oracle. Archived from the original on November 14, 2012. Retrieved October 12, 2012.
  36. ↑ "A brief history of Mac enclaves and exclaves". The Eclectic Light Company. 15 June 2024. Archived from the original on 12 February 2025. Retrieved 1 February 2025.
  37. ↑ Enabling Intel TXT on Dell PowerEdge Servers with VMware ESXi, Dell, archived from the original on March 16, 2014, retrieved May 21, 2013.
  38. ↑ "Changelog for VirtualBox 7.0". virtualbox.org. October 10, 2022. Archived from the original on November 6, 2022. Retrieved November 6, 2022.
  39. ↑ "What's new in Hyper-V on Windows Server 2016". Microsoft. Archived from the original on March 25, 2017. Retrieved March 24, 2017.
  40. ↑ AMD EK RSA Root Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  41. ↑ AMD EK Ryzen 6000 ECC Intermediate Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  42. ↑ Intel EK Intermediate Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  43. ↑ NationZ EK Intermediate Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  44. ↑ Nuvoton EK Root Certificate 1111, archived from the original on 2021-07-26, retrieved 2021-07-26
  45. ↑ Nuvoton EK Root Certificate 2112, archived from the original on 2021-07-26, retrieved 2021-07-26
  46. ↑ ST Micro EK Intermediate Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  47. ↑ ST Micro EK Intermediate Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  48. ↑ ST Micro EK ECC Root Certificate, archived from the original on 2021-07-23, retrieved 2021-07-23
  49. ↑ Fraunhofer-SIT/charra, Fraunhofer Institute for Secure Information Technology, 2020-08-26, archived from the original on October 29, 2020, retrieved 2020-11-20
  50. ↑ "IBM TSS for TPM 2.0". GitHub. Archived from the original on June 29, 2021. Retrieved June 2, 2021.
  51. ↑ google/go-tpm, 2020-11-18, archived from the original on December 14, 2020, retrieved 2020-11-20
  52. ↑ TSS.MSR, archived from the original on June 26, 2021, retrieved June 17, 2021
1–9999
10000–19999
20000–29999
30000+

View original on Wikipedia | Back | FazBrowse Home