Trusted Platform Module
AbbreviationTPM
StatusPublished
Year started2009; 13 years ago (2009)
Latest versionISO/IEC 11889:2015
2015; 7 years ago (2015)
OrganizationTrusted Computing Group, ISO/IEC JTC 1
DomainSecure cryptoprocessor
WebsiteISO/IEC 11889-1:2015, ISO/IEC 11889-2:2015, ISO/IEC 11889-3:2015, ISO/IEC 11889-4:2015
Components of a Trusted Platform Module complying with the TPM version 1.2 standard
Components of a Trusted Platform Module complying with the TPM version 1.2 standard

Trusted Platform Module (TPM, also known as ISO/IEC 11889) is an international standard for a secure cryptoprocessor, a dedicated microcontroller designed to secure hardware through integrated cryptographic keys. The term can also refer to a chip conforming to the standard.

TPM is used for digital rights management (DRM), Windows Defender, Windows Domain logon, protection and enforcement of software licenses,[1] and prevention of cheating in online games.[2]

One of Windows 11's system requirements is TPM 2.0. Microsoft has stated that this is to help increase security against firmware and ransomware attacks.[3]

History

Trusted Platform Module (TPM) was conceived by a computer industry consortium called Trusted Computing Group (TCG). It evolved into TPM Main Specification Version 1.2 which was standardized by International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) in 2009 as ISO/IEC 11889:2009.[4] TPM Main Specification Version 1.2 was finalized on March 3, 2011, completing its revision.[5][6]

On April 9, 2014 the Trusted Computing Group announced a major upgrade to their specification entitled TPM Library Specification 2.0.[7] The group continues work on the standard incorporating errata, algorithmic additions and new commands, with its most recent edition published as 2.0 in November 2019.[8] This version became ISO/IEC 11889:2015.

When a new revision is released it is divided into multiple parts by the Trusted Computing Group. Each part consists of a document that makes up the whole of the new TPM specification.

Overview

Trusted Platform Module provides

Computer programs can use a TPM to authenticate hardware devices, since each TPM chip has a unique and secret Endorsement Key (EK) burned in as it is produced. Security embedded in hardware provides more protection than a software-only solution.[16] Its use is restricted in some countries.[17]

Uses

Platform integrity

The primary scope of TPM is to ensure the integrity of a platform. In this context, "integrity" means "behave as intended", and a "platform" is any computer device regardless of its operating system. This is to ensure that the boot process starts from a trusted combination of hardware and software, and continues until the operating system has fully booted and applications are running.

When TPM is used, the firmware and the operating system are responsible for ensuring integrity.

For example, Unified Extensible Firmware Interface (UEFI) can use TPM to form a root of trust: The TPM contains several Platform Configuration Registers (PCRs) that allow secure storage and reporting of security-relevant metrics. These metrics can be used to detect changes to previous configurations and decide how to proceed. Examples of such use can be found in Linux Unified Key Setup (LUKS),[18] BitLocker and PrivateCore vCage memory encryption. (See below.)

Another example of platform integrity via TPM is in the use of Microsoft Office 365 licensing and Outlook Exchange.[19]

An example of TPM use for platform integrity is the Trusted Execution Technology (TXT), which creates a chain of trust. It could remotely attest that a computer is using the specified hardware and software.[20]

Disk encryption

Full disk encryption utilities, such as dm-crypt and BitLocker, can use this technology to protect the keys used to encrypt the computer's storage devices and provide integrity authentication for a trusted boot pathway that includes firmware and boot sector.[21]

Other uses and concerns

Any application can use a TPM chip for:

Other uses exist, some of which give rise to privacy concerns. The "physical presence" feature of TPM addresses some of these concerns by requiring BIOS-level confirmation for operations such as activating, deactivating, clearing or changing ownership of TPM by someone who is physically present at the console of the machine.[24][25]

By organizations

The United States Department of Defense (DoD) specifies that "new computer assets (e.g., server, desktop, laptop, thin client, tablet, smartphone, personal digital assistant, mobile phone) procured to support DoD will include a TPM version 1.2 or higher where required by Defense Information Systems Agency (DISA) Security Technical Implementation Guides (STIGs) and where such technology is available." DoD anticipates that TPM is to be used for device identification, authentication, encryption, and device integrity verification.[26]

TPM implementations

Trusted Platform Module installed on a motherboard
Trusted Platform Module installed on a motherboard
TPM 2.0 Reference Implementation
Developer(s)Microsoft
Repositorygithub.com/Microsoft/ms-tpm-20-ref
Written inC, C++
TypeTPM implementation
LicenseBSD License
Websitetrustedcomputinggroup.org/tpm-library-specification

In 2006, new laptops began being sold with a built-in TPM chip. In the future, this concept could be co-located on an existing motherboard chip in computers, or any other device where the TPM facilities could be employed, such as a cellphone. On a PC, either the LPC bus or the SPI bus is used to connect to the TPM chip.

The Trusted Computing Group (TCG) has certified TPM chips manufactured by Infineon Technologies, Nuvoton, and STMicroelectronics,[27] having assigned TPM vendor IDs to Advanced Micro Devices, Atmel, Broadcom, IBM, Infineon, Intel, Lenovo, National Semiconductor, Nationz Technologies, Nuvoton, Qualcomm, Rockchip, Standard Microsystems Corporation, STMicroelectronics, Samsung, Sinosun, Texas Instruments, and Winbond.[28]

There are five different types of TPM 2.0 implementations (listed in order from most to least secure):[29][30]

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.[34] Microsoft provides a Visual Studio solution and Linux autotools build scripts.

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

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.[38] It was developed by Fraunhofer Institute for Secure Information Technology (SIT).[39]

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[40] and GitHub[41] 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.[42][43]

TPM 1.2 versus TPM 2.0

While TPM 2.0 addresses many of the same use cases and has similar features, the details are different. TPM 2.0 is not backward compatible with TPM 1.2.[44][45][46]

Specification TPM 1.2 TPM 2.0
Architecture The one-size-fits-all specification consists of three parts.[6] A complete specification consists of a platform-specific specification which references a common four-part TPM 2.0 library.[47][8] Platform-specific specifications define what parts of the library are mandatory, optional, or banned for that platform; and detail other requirements for that platform.[47] Platform-specific specifications include PC Client,[48] mobile,[49] and Automotive-Thin.[50]
Algorithms SHA-1 and RSA are required.[51] AES is optional.[51] Triple DES was once an optional algorithm in earlier versions of TPM 1.2,[52] but has been banned in TPM 1.2 version 94.[53] The MGF1 hash-based mask generation function that is defined in PKCS#1 is required.[51] The PC Client Platform TPM Profile (PTP) Specification requires SHA-1 and SHA-256 for hashes; RSA, ECC using the Barreto–Naehrig 256-bit curve and the NIST P-256 curve for public-key cryptography and asymmetric digital signature generation and verification; HMAC for symmetric digital signature generation and verification; 128-bit AES for symmetric-key algorithm; and the MGF1 hash-based mask generation function that is defined in PKCS#1 are required by the TCG PC Client Platform TPM Profile (PTP) Specification.[54] Many other algorithms are also defined but are optional.[55] Note that Triple DES was readded into TPM 2.0, but with restrictions some values in any 64-bit block.[56]
Crypto Primitives A random number generator, a public-key cryptographic algorithm, a cryptographic hash function, a mask generation function, digital signature generation and verification, and Direct Anonymous Attestation are required.[51] Symmetric-key algorithms and exclusive or are optional.[51] Key generation is also required.[57] A random number generator, public-key cryptographic algorithms, cryptographic hash functions, symmetric-key algorithms, digital signature generation and verification, mask generation functions, exclusive or, and ECC-based Direct Anonymous Attestation using the Barreto–Naehrig 256-bit curve are required by the TCG PC Client Platform TPM Profile (PTP) Specification.[54] The TPM 2.0 common library specification also requires key generation and key derivation functions.[58]
Hierarchy One (storage) Three (platform, storage and endorsement)
Root keys One (SRK RSA-2048) Multiple keys and algorithms per hierarchy
Authorization HMAC, PCR, locality, physical presence Password, HMAC, and policy (which covers HMAC, PCR, locality, and physical presence).
NVRAM Unstructured data Unstructured data, counter, bitmap, extend, PIN pass and fail

The TPM 2.0 policy authorization includes the 1.2 HMAC, locality, physical presence, and PCR. It adds authorization based on an asymmetric digital signature, indirection to another authorization secret, counters and time limits, NVRAM values, a particular command or command parameters, and physical presence. It permits the ANDing and ORing of these authorization primitives to construct complex authorization policies.[59]

Reception

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 (where the manufacturer‍—‌and not the user who owns the computer system‍—‌decides what software is allowed to run) and possible ways to follow actions taken by the user being recorded in a database, in a manner that is completely undetectable to the user.[60]

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.[61] The VeraCrypt publisher has reproduced the original allegation with no changes other than replacing "TrueCrypt" with "VeraCrypt".[62] 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.[63][64] 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.[18][20][23][24][25]

In 2015, Richard Stallman suggested to replace 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 are not currently dangerous and that there is no reason not to include one in a computer or support it in software due to failed attempts from the industry to use that technology for DRM.[65]

Attacks

In 2010, Christopher Tarnovsky presented an attack against TPMs at Black Hat Briefings, where he claimed to be able to extract secrets from a single TPM. He was able to do this after 6 months of work by inserting a probe and spying on an internal bus for the Infineon SLE 66 CL PC.[66][67]

In 2015, as part of the Snowden revelations, it was revealed that in 2010 a US CIA team claimed at an internal conference to have carried out a differential power analysis attack against TPMs that was able to extract secrets.[68][69]

In 2018, a design flaw in the TPM 2.0 specification for the static root of trust for measurement (SRTM) was reported (CVE-2018-6622). It allows an adversary to reset and forge platform configuration registers which are designed to securely hold measurements of software that are used for bootstrapping a computer.[70] Fixing it requires hardware-specific firmware patches.[70] An attacker abuses power interrupts and TPM state restores to trick TPM into thinking that it is running on non-tampered components.[71]

Main Trusted Boot (tboot) distributions before November 2017 are affected by a dynamic root of trust for measurement (DRTM) attack CVE-2017-16837, which affects computers running on Intel's Trusted eXecution Technology (TXT) for the boot-up routine.[71]

In case of physical access, computers with TPM are vulnerable to cold boot attacks as long as the system is on or can be booted without a passphrase from shutdown or hibernation, which is the default setup for Windows computers with BitLocker full disk encryption.[72]

In 2021, the Dolos Group showed an attack on a discrete TPM, where the TPM chip itself had some tamper resistance, but the other endpoints of its communication bus did not. They read a full-disk-encryption key as it was transmitted across the motherboard, and used it to decrypt the laptop's SSD.[73]

2017 weak key generation controversy

Main article: ROCA vulnerability

In October 2017, it was reported that a code library developed by Infineon, which had been in widespread use in its TPMs, contained a vulnerability, known as ROCA, which generated weak RSA key pairs that allowed private keys to be inferred from public keys. As a result, all systems depending upon the privacy of such weak keys are vulnerable to compromise, such as identity theft or spoofing.[74]

Cryptosystems that store encryption keys directly in the TPM without blinding could be at particular risk to these types of attacks, as passwords and other factors would be meaningless if the attacks can extract encryption secrets.[75]

Infineon has released firmware updates for its TPMs to manufacturers who have used them.[76]

Availability

Currently, a TPM is used by nearly all PC and notebook manufacturers.

TPM

The TPM is implemented by several vendors:

There are also hybrid types; for example, TPM can be integrated into an Ethernet controller, thus eliminating the need for a separate motherboard component.[83][84]

Field upgrade

Field upgrade is the TCG term for updating the TPM firmware. The update can be between TPM 1.2 and TPM 2.0, or between firmware versions. Some vendors limit the number of transitions between 1.2 and 2.0, and some restrict rollback to previous versions.[citation needed] Platform OEMs such as HP[85] supply an upgrade tool.

Since July 28, 2016, all new Microsoft device models, lines, or series (or updating the hardware configuration of an existing model, line, or series with a major update, such as CPU, graphic cards) implement, and enable by default TPM 2.0.

While TPM 1.2 parts are discrete silicon components, which are typically soldered on the motherboard, TPM 2.0 is available as a discrete (dTPM) silicon component in a single semiconductor package, an integrated component incorporated in one or more semiconductor packages - alongside other logic units in the same package(s), and as a firmware (fTPM) based component running in a trusted execution environment (TEE) on a general purpose System-on-a-chip (SoC).[86]

Virtual TPM

Operating systems

Platforms

Virtualization

Software

Endorsement keys

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.

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

TPM software libraries

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, however 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[136] SAPI, ESAPI and FAPI
from the TCG specification
Yes No No, but there is a separate project* Yes Yes Maybe**
ibmtss[137][138] 1:1 mapping to TPM commands
+ rich API (mild layer on top)
Yes Partial Yes, "IBM ACS"[139][140] Yes Yes No
go-tpm[141] 1:1 mapping to TPM commands
+ rich API (mild layer on top)
Yes Partial Yes, "Go-attestation"[142] Yes Yes No
wolfTPM[143] 1:1 mapping to TPM commands
+ rich API (wrappers)
Yes No Yes, examples are inside the library Yes Yes Yes
TSS.MSR[144] 1:1 mapping to TPM commands
+ rich API (wrappers)
Yes No Yes, examples are inside the library Yes Yes*** No

(*) There is a separate project called "CHARRA" by Fraunhofer[145] that uses the tpm2-tss library for Remote Attestation. The other stacks have accompanying attestation servers or directly include examples for attestation. IBM offer their open-source Remote Attestation Server called "IBM ACS" on SourceForge and Google have "Go-Attestation" available on GitHub, while "wolfTPM" offers time and local attestation examples directly in its open-source code, also on GitHub.

(**) There is an application note[146] about an example project for the AURIX 32-bit SoC using the tpm2-tss library.

(***) Requires additional libraries (dotnet) to run on Linux.

These TPM libraries are sometimes also called TPM stacks, because they provide the interface for the developer or user to interact with the TPM. As seen from the table, the TPM stacks abstract the operating system and transport layer, so the user could migrate one application between platforms. For example, by using TPM stack API the user would interact the same way with a TPM, regardless if the physical chip is connected over SPI, I2C or LPC interface to the Host system.

See also

References

  1. ^ "Use network protection to help prevent connections to bad sites".
  2. ^ Stanton, Rich (September 7, 2021). "Valorant leads the charge on enforcing Windows TPM to perma-ban cheaters' hardware". PC Gamer.
  3. ^ Warren, Tom (June 25, 2021). "Why Windows 11 is forcing everyone to use TPM chips". The Verge. Retrieved November 13, 2021.
  4. ^ "ISO/IEC 11889-1:2009 – Information technology – Trusted Platform Module – Part 1: Overview". ISO.org. International Organization for Standardization. May 2009. Archived from the original on January 28, 2017. Retrieved November 30, 2013.
  5. ^ "TPM 1.2 Main Specification". Trusted Computing Group. Retrieved November 8, 2021.
  6. ^ a b "Trusted Platform Module (TPM) Specifications". Trusted Computing Group. March 1, 2011. Archived from the original on October 22, 2017. Retrieved October 30, 2016.
  7. ^ "Trusted Computing Group Releases TPM 2.0 Specification for Improved Platform and Device Security". Trusted Computing Group. April 1, 2014. Retrieved November 8, 2021.
  8. ^ a b "TPM Library Specification 2.0". Trusted Computing Group. Archived from the original on October 29, 2016. Retrieved October 30, 2016.
  9. ^ Alin Suciu, Tudor Carean (2010). "Benchmarking the True Random Number Generator of TPM Chips". arXiv:1008.2223 [cs.CR].
  10. ^ TPM Main Specification Level 2 (PDF), vol. Part 1 – Design Principles (Version 1.2, Revision 116 ed.), archived (PDF) from the original on February 24, 2021, retrieved September 12, 2017, Our definition of the RNG allows implementation of a Pseudo Random Number Generator (PRNG) algorithm. However, on devices where a hardware source of entropy is available, a PRNG need not be implemented. This specification refers to both RNG and PRNG implementations as the RNG mechanism. There is no need to distinguish between the two at the TCG specification level.
  11. ^ "Understanding Machine-Level and User-Level RSA Key Containers".
  12. ^ "tspi_data_bind(3) – Encrypts data blob" (Posix manual page). Trusted Computing Group. Archived from the original on November 29, 2013. Retrieved October 27, 2009.
  13. ^ Trusted Platform Module Library Specification, Family "2.0" (PDF), vol. Part 1 – Architecture, Section 12, TPM Operational States (Level 00, Revision 01.59 ed.), Trusted Computing Group, archived (PDF) from the original on January 9, 2021, retrieved January 17, 2021
  14. ^ 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
  15. ^ Microsoft Article on TPM, archived from the original on January 2, 2021, retrieved April 1, 2021
  16. ^ "TPM – Trusted Platform Module". IBM. Archived from the original on August 3, 2016.
  17. ^ "Windows 11 TPM 2.0 requirement has a special exception". SlashGear. June 28, 2021. Archived from the original on June 28, 2021. Retrieved June 29, 2021.
  18. ^ a b "LUKS support for storing keys in TPM NVRAM". github.com. 2013. Archived from the original on September 16, 2013. Retrieved December 19, 2013.
  19. ^ "Microsoft Office Outlook Exchange Error 80090016 After a System Board Replacement". Archived from the original on June 28, 2021. Retrieved December 23, 2020.
  20. ^ a b Greene, James (2012). "Intel Trusted Execution Technology" (PDF) (white paper). Intel. Archived (PDF) from the original on June 11, 2014. Retrieved December 18, 2013.
  21. ^ "TPM Encryption". Archived from the original on June 28, 2021. Retrieved March 29, 2021.
  22. ^ "Get Started with Virtual Smart Cards: Walkthrough Guide". Archived from the original on March 24, 2021. Retrieved December 23, 2020.
  23. ^ a b Autonomic and Trusted Computing: 4th International Conference (Google Books). ATC. 2007. ISBN 9783540735465. Archived from the original on August 19, 2020. Retrieved May 31, 2014.
  24. ^ a b Pearson, Siani; Balacheff, Boris (2002). Trusted computing platforms: TCPA technology in context. Prentice Hall. ISBN 978-0-13-009220-5. Archived from the original on March 25, 2017. Retrieved July 21, 2016.
  25. ^ a b "SetPhysicalPresenceRequest Method of the Win32_Tpm Class". Microsoft. Archived from the original on May 19, 2009. Retrieved June 12, 2009.
  26. ^ Instruction 8500.01 (PDF). US Department of Defense. March 14, 2014. p. 43. Archived (PDF) from the original on June 17, 2015. Retrieved July 21, 2016.
  27. ^ "TPM Certified Products List". Trusted Computing Group. Archived from the original on October 14, 2016. Retrieved October 1, 2016.
  28. ^ "TCG Vendor ID Registry" (PDF). September 23, 2015. Archived (PDF) from the original on October 28, 2016. Retrieved October 27, 2016.
  29. ^ Lich, Brian; Browers, Nick; Hall, Justin; McIlhargey, Bill; Farag, Hany (October 27, 2017). "TPM Recommendations". Microsoft Docs. Microsoft. Archived from the original on January 11, 2018. Retrieved January 10, 2018.
  30. ^ "Trusted Platform Module 2.0: A Brief Introduction" (PDF). Trusted Computing Group. October 13, 2016. Archived (PDF) from the original on February 3, 2019. Retrieved March 31, 2018.
  31. ^ "TPM Certified Products".
  32. ^ https://trustedcomputinggroup.org/wp-content/uploads/TPM-2.0-A-Brief-Introduction.pdf[bare URL PDF]
  33. ^ GCE Shielded VM - Virtual Trusted Platform Module (vTPM)
  34. ^ "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.
  35. ^ "Intel Open-Sources New TPM2 Software Stack - Phoronix". Archived from the original on August 10, 2020. Retrieved April 5, 2020.
  36. ^ "Linux TPM2 & TSS2 Software". GitHub. Archived from the original on July 9, 2020. Retrieved April 5, 2020.
  37. ^ "The TPM2 Software Stack: Introducing a Major Open Source Release | Intel® Software". Archived from the original on April 9, 2020. Retrieved April 5, 2020.
  38. ^ "Open source TPM 2.0 software stack eases security adoption". August 17, 2018. Archived from the original on June 18, 2019. Retrieved April 5, 2020.
  39. ^ "Infineon Enables Open Source Software Stack for TPM 2.0". August 17, 2018. Archived from the original on February 3, 2021. Retrieved April 5, 2020.
  40. ^ "IBM's Software TPM 2.0 download | SourceForge.net". Archived from the original on June 12, 2019. Retrieved April 5, 2020.
  41. ^ "IBM SW TPM 2.0". GitHub. Archived from the original on September 18, 2020. Retrieved June 2, 2021.
  42. ^ "Intermittent System Stutter Experienced with fTPM Enabled on Windows 10 and 11". AMD. March 8, 2022. Retrieved July 2, 2022.((cite web)): CS1 maint: url-status (link)
  43. ^ Paul Alcorn (March 7, 2022). "AMD Issues Fix and Workaround for Ryzen's fTPM Stuttering Issues". Tom's Hardware. Retrieved July 2, 2022.
  44. ^ "Part 1: Architecture" (PDF), Trusted Platform Module Library, Trusted Computing Group, October 30, 2014, archived (PDF) from the original on October 28, 2016, retrieved October 27, 2016
  45. ^ "TPM 1.2 vs. 2.0 Features | Dell US".
  46. ^ "TPM 1.2, 2.0 and FTPM (Firmware-based TPM) Information". Archived from the original on February 6, 2020. Retrieved August 31, 2020.
  47. ^ a b Arthur, Will; Challener, David; Goldman, Kenneth (2015). A Practical Guide to TPM 2.0: Using the New Trusted Platform Module in the New Age of Security. New York City: Apress Media, LLC. p. 69. doi:10.1007/978-1-4302-6584-9. ISBN 978-1430265832. S2CID 27168869.
  48. ^ "PC Client Protection Profile for TPM 2.0 – Trusted Computing Group". trustedcomputinggroup.org. Archived from the original on October 31, 2016. Retrieved October 30, 2016.
  49. ^ "TPM 2.0 Mobile Reference Architecture Specification – Trusted Computing Group". trustedcomputinggroup.org. Archived from the original on November 1, 2016. Retrieved October 31, 2016.
  50. ^ "TCG TPM 2.0 Library Profile for Automotive-Thin". trustedcomputinggroup.org. March 1, 2015. Archived from the original on April 26, 2017. Retrieved April 25, 2017.
  51. ^ a b c d e "Archived copy" (PDF). Archived (PDF) from the original on October 30, 2016. Retrieved October 29, 2016.((cite web)): CS1 maint: archived copy as title (link)
  52. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 30, 2016. Retrieved October 29, 2016.((cite web)): CS1 maint: archived copy as title (link)
  53. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 30, 2016. Retrieved October 29, 2016.((cite web)): CS1 maint: archived copy as title (link)
  54. ^ a b "Archived copy" (PDF). Archived (PDF) from the original on October 9, 2016. Retrieved October 29, 2016.((cite web)): CS1 maint: archived copy as title (link)
  55. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 31, 2016. Retrieved October 30, 2016.((cite web)): CS1 maint: archived copy as title (link)
  56. ^ "Archived copy" (PDF). Archived (PDF) from the original on January 23, 2019. Retrieved January 23, 2019.((cite web)): CS1 maint: archived copy as title (link)
  57. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 31, 2016. Retrieved October 30, 2016.((cite web)): CS1 maint: archived copy as title (link)
  58. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 28, 2016. Retrieved October 27, 2016.((cite web)): CS1 maint: archived copy as title (link)
  59. ^ "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
  60. ^ Stallman, Richard Matthew, "Can You Trust Your Computer", Project GNU, Philosophy, Free Software Foundation, archived from the original on June 29, 2011, retrieved July 21, 2016
  61. ^ "TrueCrypt User Guide" (PDF). truecrypt.org. TrueCrypt Foundation. February 7, 2012. p. 129 – via grc.com.
  62. ^ "FAQ". veracrypt.fr. IDRIX. July 2, 2017.
  63. ^ Culp, Scott (2000). "Ten Immutable Laws Of Security (Version 2.0)". TechNet Magazine. Microsoft. Archived from the original on December 9, 2015 – via Microsoft TechNet.
  64. ^ Johansson, Jesper M. (October 2008). "Security Watch Revisiting the 10 Immutable Laws of Security, Part 1". TechNet Magazine. Microsoft. Archived from the original on April 10, 2017 – via Microsoft TechNet.
  65. ^ "Can You Trust Your Computer? - GNU Project - Free Software Foundation". www.gnu.org. Retrieved August 11, 2021.
  66. ^ "Black Hat: Researcher claims hack of processor used to secure Xbox 360, other products". January 30, 2012. Archived from the original on January 30, 2012. Retrieved August 10, 2017.((cite web)): CS1 maint: bot: original URL status unknown (link)
  67. ^ Szczys, Mike (February 9, 2010). "TPM crytography cracked". HACKADAY. Archived from the original on February 12, 2010.
  68. ^ Scahill, Jeremy ScahillJosh BegleyJeremy; Begley2015-03-10T07:35:43+00:00, Josh (March 10, 2015). "The CIA Campaign to Steal Apple's Secrets". The Intercept. Archived from the original on August 9, 2017. Retrieved August 10, 2017.
  69. ^ "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.
  70. ^ a b Seunghun, Han; Wook, Shin; Jun-Hyeok, Park; HyoungChun, Kim (August 15–17, 2018). A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping (PDF). 27th USENIX Security Symposium. Baltimore, MD, USA: USENIX Association. ISBN 978-1-939133-04-5. Archived (PDF) from the original on August 20, 2019.
  71. ^ a b Cimpanu, Catalin (August 29, 2018). "Researchers Detail Two New Attacks on TPM Chips". Bleeping Computer. Archived from the original on October 7, 2018. Retrieved September 28, 2019.
  72. ^ Melissa Michael (October 8, 2018). "Episode 14| Reinventing the Cold Boot Attack: Modern Laptop Version" (Podcast). F-Secure Blog. Archived from the original on September 28, 2019. Retrieved September 28, 2019.
  73. ^ "Trusted platform module security defeated in 30 minutes, no soldering required". August 3, 2021.
  74. ^ Goodin, Dan (October 16, 2017). "Millions of high-security crypto keys crippled by newly discovered flaw". Ars Technica. Condé Nast. Archived from the original on October 19, 2018. Retrieved October 18, 2017.
  75. ^ "Can the NSA Break Microsoft's BitLocker? – Schneier on Security". www.schneier.com. Archived from the original on August 10, 2017. Retrieved August 10, 2017.
  76. ^ ""TPM Update - Infineon Technologies"". Archived from the original on February 5, 2021. Retrieved March 19, 2021.
  77. ^ "Trusted Platform Module (TPM) im LAN-Adapter". Heise Online. Archived from the original on January 7, 2019. Retrieved January 7, 2019.
  78. ^ a b "Home – Microchip Technology". www.atmel.com. Archived from the original on October 5, 2016. Retrieved October 4, 2016.
  79. ^ "AN_8965 TPM Part Number Selection Guide – Application Notes – Microchip Technology Inc" (PDF). www.atmel.com. Archived (PDF) from the original on October 5, 2016. Retrieved October 4, 2016.
  80. ^ "Home – Microchip Technology". www.atmel.com. Archived from the original on October 5, 2016. Retrieved October 4, 2016.
  81. ^ "Nuvoton TPM".
  82. ^ "STSAFE-TPM" (PDF).
  83. ^ "Replacing Vulnerable Software with Secure Hardware: The Trusted Platform Module (TPM) and How to Use It in the Enterprise" (PDF). Trusted computing group. 2008. Archived (PDF) from the original on July 14, 2014. Retrieved June 7, 2014.
  84. ^ "NetXtreme Gigabit Ethernet Controller with Integrated TPM1.2 for Desktops". Broadcom. May 6, 2009. Archived from the original on June 14, 2014. Retrieved June 7, 2014.
  85. ^ "HP TPM Configuration Utility".
  86. ^ "TPM vs PTT: What are the main differences between these technologies?". August 9, 2021.
  87. ^ "Shielded VMs". Google Cloud. Archived from the original on April 12, 2019. Retrieved April 12, 2019.
  88. ^ "libtpms Virtual TPM". GitHub. October 27, 2021.
  89. ^ Microsoft. "Windows 11 Specs and System Requirements | Microsoft". Windows. Retrieved October 2, 2021.
  90. ^ "Windows 11 update: TPM 2.0 and PC Health Check confusion". SlashGear. June 24, 2021. Archived from the original on June 24, 2021. Retrieved June 24, 2021.
  91. ^ "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.
  92. ^ "TPM 2.0 Support Continues Maturing In Linux 4.4 - Phoronix". Archived from the original on March 5, 2021. Retrieved April 5, 2020.
  93. ^ "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.
  94. ^ "Chromebook security: browsing more securely". Chrome Blog. Archived from the original on April 25, 2016. Retrieved April 7, 2013.
  95. ^ "Oracle Solaris and Oracle SPARC T4 Servers— Engineered Together for Enterprise Cloud Deployments" (PDF). Oracle. Archived (PDF) from the original on October 24, 2012. Retrieved October 12, 2012.
  96. ^ "tpmadm" (manpage). Oracle. Archived from the original on November 14, 2012. Retrieved October 12, 2012.
  97. ^ Singh, Amit, "Trusted Computing for Mac OS X", OS X book, archived from the original on July 21, 2011, retrieved August 2, 2011.
  98. ^ "Your Laptop Data Is Not Safe. So Fix It". PC World. January 20, 2009. Archived from the original on November 4, 2013. Retrieved August 22, 2013.
  99. ^ "TPM. Complete protection for peace of mind". Winpad 110W. MSI. Archived from the original on May 13, 2013. Retrieved May 20, 2013.
  100. ^ Security and the Virtualization Layer, VMware, archived from the original on November 4, 2013, retrieved May 21, 2013.
  101. ^ Enabling Intel TXT on Dell PowerEdge Servers with VMware ESXi, Dell, archived from the original on March 16, 2014, retrieved May 21, 2013.
  102. ^ "XEN Virtual Trusted Platform Module (vTPM)". Archived from the original on September 15, 2015. Retrieved September 28, 2015.
  103. ^ "QEMU 2.11 Changelog". qemu.org. December 12, 2017. Archived from the original on February 9, 2018. Retrieved February 8, 2018.
  104. ^ "Changelog for VirtualBox 7.0". virtualbox.org. October 10, 2022. Archived from the original on November 6, 2022. Retrieved November 6, 2022.
  105. ^ "Windows Hardware Certification Requirements". Microsoft. Archived from the original on June 29, 2021. Retrieved July 23, 2013.
  106. ^ "Windows Hardware Certification Requirements for Client and Server Systems". Microsoft. Archived from the original on July 1, 2015. Retrieved June 5, 2015.
  107. ^ "What's new in Hyper-V on Windows Server 2016". Microsoft. Archived from the original on March 25, 2017. Retrieved March 24, 2017.
  108. ^ tpmtool | Microsoft Docs
  109. ^ tpmvscmgr | Microsoft Docs
  110. ^ AMD EK RSA Root Certificate
  111. ^ AMD EK ECC Root Certificate
  112. ^ AMD EK Ryzen 6000 RSA Intermediate Certificate
  113. ^ AMD EK Ryzen 6000 ECC Intermediate Certificate
  114. ^ Infineon Root Certificate
  115. ^ Intel EK Root Certificate
  116. ^ Intel EK Intermediate Certificate
  117. ^ NationZ EK Root Certificate
  118. ^ NationZ EK Intermediate Certificate
  119. ^ NationZ EK Intermediate Certificate
  120. ^ NationZ EK Intermediate Certificate
  121. ^ Nuvoton EK Root Certificate 1110
  122. ^ Nuvoton EK Root Certificate 1111
  123. ^ Nuvoton EK Root Certificate 2110
  124. ^ Nuvoton EK Root Certificate 2111
  125. ^ Nuvoton EK Root Certificate 2112
  126. ^ ST Micro EK GlobalSign Certificate
  127. ^ ST Micro EK Root Certificate
  128. ^ ST Micro EK Intermediate Certificate
  129. ^ ST Micro EK Intermediate Certificate
  130. ^ ST Micro EK Intermediate Certificate
  131. ^ ST Micro EK Intermediate Certificate
  132. ^ ST Micro EK Intermediate Certificate
  133. ^ ST Micro EK GlobalSign ECC Certificate
  134. ^ ST Micro EK ECC Root Certificate
  135. ^ ST Micro EK ECC Intermediate Certificate
  136. ^ tpm2-software/tpm2-tss, Linux TPM2 & TSS2 Software, November 18, 2020, archived from the original on November 12, 2020, retrieved November 20, 2020
  137. ^ "IBM TSS for TPM 2.0". Archived from the original on June 29, 2021. Retrieved June 2, 2021.
  138. ^ "IBM TSS for TPM 2.0". GitHub. Archived from the original on June 29, 2021. Retrieved June 2, 2021.
  139. ^ "IBM TPM Attestation Client Server". Archived from the original on March 2, 2021. Retrieved November 20, 2020.
  140. ^ "IBM TPM Attestation Client Server". GitHub. Archived from the original on June 29, 2021. Retrieved June 2, 2021.
  141. ^ google/go-tpm, November 18, 2020, archived from the original on December 14, 2020, retrieved November 20, 2020
  142. ^ google/go-attestation, November 19, 2020, archived from the original on November 19, 2020, retrieved November 20, 2020
  143. ^ wolfSSL/wolfTPM, wolfSSL, November 18, 2020, archived from the original on November 20, 2020, retrieved November 20, 2020
  144. ^ TSS.MSR, archived from the original on June 26, 2021, retrieved June 17, 2021
  145. ^ Fraunhofer-SIT/charra, Fraunhofer Institute for Secure Information Technology, August 26, 2020, archived from the original on October 29, 2020, retrieved November 20, 2020
  146. ^ AG, Infineon Technologies. "OPTIGA™ TPM SLI 9670 A-TPM board - Infineon Technologies". www.infineon.com. Archived from the original on August 6, 2020. Retrieved November 20, 2020.

Further reading

  1. Challener, David; Goldman, Kenneth; Arthur, Will (2015), A Practical Guide to TPM 2.0 (PDF), Apress, doi:10.1007/978-1-4302-6584-9, ISBN 978-1-4302-6584-9, S2CID 27168869.
  2. Trusted Platform Module (TPM) (Work group web page and list of resources), Trusted Computing Group.
  3. PC Client Platform TPM Profile (PTP) Specification (Additional TPM 2.0 specifications as applied to TPMs for PC clients), Trusted Computing Group.
  4. PC Client Protection Profile for TPM 2.0 (Common Criteria Protection Profile for TPM 2.0 as applied to PC clients), Trusted Computing Group.
  5. "OLS: Linux and trusted computing", LWN.
  6. Trusted Platform Module (podcast), GRC, 24:30.
  7. TPM Setup (for Mac OS X), Comet way.
  8. "The Security of the Trusted Platform Module (TPM): statement on Princeton Feb 26 paper" (PDF), Bulletin (press release), Trusted Computing Group, February 2008.
  9. "Take Control of TCPA", Linux journal.
  10. TPM Reset Attack, Dartmouth.
  11. Trusted Platforms (white paper), Intel, IBM Corporation, CiteSeerX 10.1.1.161.7603.
  12. Garrett, Matthew, A short introduction to TPMs, Dream width.
  13. Martin, Andrew, Trusted Infrastructure "101" (PDF), PSU.
  14. Using the TPM: Machine Authentication and Attestation (PDF), Intro to trusted computing, Open security training.
  15. A Root of Trust for Measurement: Mitigating the Lying Endpoint Problem of TNC (PDF), CH: HSR, 2011.
  16. TPM 1.2 Protection Profile (Common Criteria Protection Profile), Trusted Computing Group.