Trusted Platform Module

Components of a Trusted Platform Module

Trusted Platform Module (TPM) is an international standard for a secure cryptoprocessor, which is a dedicated microprocessor designed to secure hardware by integrating cryptographic keys into devices. TPM's technical specification was written by a computer industry consortium called Trusted Computing Group (TCG). International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) standardized the specification as ISO/IEC 11889 in 2009.[1]

TCG continues to revise the TPM specification. It published revision 116 of the version 1.2 of TPM specification on March 3, 2011,[2] while the draft revision 1.07 of the version 2.0 of TPM specification was published for public review on March 13, 2014 as a library specification that provides updates to the previously published main TPM specifications. Trusted Platform Module Library Specification Revision 01.16 was released in October 2014 as the latest TPM 2.0 release.[3]

Overview

Trusted Platform Module offers facilities for the secure generation of cryptographic keys, and limitation of their use, in addition to a random number generator.[4][5] It also includes capabilities such as remote attestation and sealed storage, as follows:

Software can use a Trusted Platform Module to authenticate hardware devices. Since each TPM chip has a unique and secret RSA key burned in as it is produced, it is capable of performing platform authentication.

Generally, pushing the security down to the hardware level in conjunction with software provides more protection than a software-only solution. However even where a TPM is used, a key would still be vulnerable while a software application that has obtained it from TPM is using it to perform encryption/decryption operations, as has been illustrated in the case of a cold boot attack. This problem is eliminated if key(s) used in TPM are not accessible on a bus or to external programs and all encryption/decryption is done in TPM.

Uses

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 DISA STIGs and where such technology is available." The TPM is anticipated to be used for device identification, authentication, encryption, measurement, and device integrity.[8]

An example of use is Intel's Trusted Execution Technology (TXT). Intel's TXT is used to create a "chain of trust", and to remotely attest that a computer has a specified hardware setup and is using specified software.[9]

Platform integrity

The primary scope of a TPM (in combination with other TCG implementations) is to assure the integrity of a platform. In this context "integrity" means "behave as intended", and a "platform" is generically any computer platform – not limited to PCs or a particular operating system: start the power-on boot process from a trusted condition and extend this trust until the operating system has fully booted and applications are running.

Together with the BIOS, TPM forms a "root of trust": TPM contains several PCRs (Platform Configuration Registers) that allow a secure storage and reporting of security relevant metrics. These metrics can be used to detect changes to previous configurations and derive decisions how to proceed. Good examples can be found in Linux Unified Key Setup (LUKS),[10] and in Microsoft's BitLocker Drive Encryption and PrivateCore vCage memory encryption (see below).

Therefore, the BIOS and the operating system have the primary responsibility to utilize TPM in order to assure platform integrity. Only then can applications and users running on that platform rely on its security characteristics, such as secure I/O "what you see is what you get", uncompromised keyboard entries, memory and storage operations.

Disk encryption

Full disk encryption applications, such as SecureDoc, dm-crypt in modern Linux kernels, and BitLocker Drive Encryption in some versions of MS Windows, can use this technology to protect the keys used to encrypt the computer's hard disks and provide integrity authentication for a trusted boot pathway (for example BIOS, boot sector, etc.) A number of third-party full-disk encryption products also support TPM. However, TrueCrypt does not use it.[11]

Password protection

Access to keys, data or systems is often protected and requires authentication by presenting a password. If the authentication mechanism is implemented in software only, the access typically is prone to "dictionary attacks". Since TPM is implemented in a dedicated hardware module, a dictionary attack prevention mechanism was built in, which effectively protects against guessing or automated dictionary attacks, while still allowing the user a sufficient and reasonable number of tries. With this hardware based dictionary attack prevention, the user can opt for shorter or weaker passwords which are more memorable. Without this level of protection, only passwords with high complexity would provide sufficient protection.

Other uses and concerns

Almost any encryption-enabled application can, in theory, make use of a TPM, including:

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.[13][14]

TPM hardware

Trusted Platform Module installed on a motherboard

Starting in 2006, many new laptop computers have been sold with a built-in Trusted Platform Module 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 cell phone. On a PC, either the LPC bus or the SPI bus is used to connect to the TPM.

TPM microcontrollers are currently manufactured by Atmel, Broadcom, Infineon,[15] Intel,[16] ITE,[17] Nuvoton (formerly Winbond), Sinosun, STMicroelectronics and Toshiba.

TPM 1.2 vs 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 to TPM 1.2.[18]

TPM 1.2 TPM 2.0
Algorithms SHA-1, RSA Agile (such as SHA-1, SHA-256, RSA and Elliptic curve cryptography P256)
Crypto Primitives RNG, SHA-1 RNG, RSA, SHA-1, SHA-256
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, PRC, locality, and physical presence).
NV RAM Unstructured data Unstructured data, Counter, Bitmap, Extend

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.[19]

Criticism

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 manufacturerand not the user who owns the computer systemdecides 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.[20]

Availability

Currently TPM is used by nearly all PC and notebook manufacturers, primarily offered on professional product lines.

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.[34][35]

See also

References

  1. "ISO/IEC 11889-1:2009". ISO.org. International Organization for Standardization. Retrieved 29 November 2013.
  2. "Trusted Platform Module (TPM) Specifications". Trusted Computing Group.
  3. "Trusted Platform Module Library". Trusted Computing Group.
  4. Alin Suciu, Tudor Carean. "Benchmarking the True Random Number Generator of TPM Chips". arXiv:1008.2223.
  5. TPM Main Specification Level 2 (PDF), Part 1 – Design Principles (Version 1.2, Revision 116 ed.), retrieved 2012-06-14, 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.
  6. "tspi_data_bind(3) – Encrypts data blob" (Posix manual page). Trusted Computing Group. Retrieved 2009-10-27.
  7. TPM Main Specification Level 2 (PDF), Part 3 – Commands (Version 1.2, Revision 116 ed.), Trusted Computing Group, retrieved 2011-06-22
  8. Instruction 8500.01 (PDF). US Department of Defense. March 14, 2014. p. 43.
  9. Greene, James (2012). "Intel Trusted Execution Technology" (PDF) (white paper). Intel. Retrieved 2013-12-18.
  10. "LUKS support for storing keys in TPM NVRAM". github.com. 2013. Retrieved 2013.
  11. Archived copy of TrueCrypt FAQ at the Wayback Machine (archived October 17, 2014).
  12. Autonomic and Trusted Computing: 4th International Conference (Google Books). ATC. 2007. Retrieved 2014-05-31.
  13. Pearson, Siani; Balacheff, Boris (2002). Trusted computing platforms: TCPA technology in context. Prentice Hall. ISBN 0-13-009220-7.
  14. "SetPhysicalPresenceRequest Method of the Win32_Tpm Class". Microsoft. Retrieved 2009-06-12.
  15. "Trusted Computing". Infineon.
  16. "Intel Trusted Platform Module User Guide". Server Products. Intel.
  17. TPM, TW: ITE.
  18. "Part 1: Architecture", Trusted Platform Module Library (PDF), Trusted Computing Group, 2014-03-13, retrieved 2014-09-02
  19. "Section 23: Enhanced Authorization (EA) Commands", Trusted Platform Module Library; Part 3: Commands (PDF), Trusted Computing Group, 2014-03-13, retrieved 2014-09-02
  20. Stallman, Richard Matthew, "Can You Trust Your Computer", Project GNU, Philosophy, Free Software Foundation
  21. Singh, Amit, "Trusted Computing for Mac OS X", OS X book.
  22. "Your Laptop Data Is Not Safe. So Fix It". PC World. 20 January 2009.
  23. "Chromebook security: browsing more securely". Chrome Blog. Google. Retrieved 2013-04-07.
  24. "Windows Hardware Certification Requirements". Microsoft.
  25. "Windows Hardware Certification Requirements for Client and Server Systems". Microsoft.
  26. "TPM. Complete protection for peace of mind". Winpad 110W. MSI.
  27. "Oracle Solaris and Oracle SPARC T4 Servers— Engineered Together for Enterprise Cloud Deployments" (PDF). Oracle. Retrieved 2012-10-12.
  28. "tpmadm" (manpage). Oracle. Retrieved 2012-10-12.
  29. "T6: TrustZone Based Trusted Kernel". Retrieved 2015-01-12.
  30. Security and the Virtualization Layer, VMware.
  31. Enabling Intel TXT on Dell PowerEdge Servers with VMware ESXi, Dell.
  32. "XEN Virtual Trusted Platform Module (vTPM)". Retrieved 2015-09-28.
  33. "QEMU Features/TPM". qemu.org. 2012-06-07. Retrieved 2015-09-28.
  34. "Replacing Vulnerable Software with Secure Hardware: The Trusted Platform Module (TPM) and How to Use It in the Enterprise" (PDF). Trusted computing group. 2008. Retrieved 2014-06-07.
  35. "NetXtreme Gigabit Ethernet Controller with Integrated TPM1.2 for Desktops". Broadcom. 2009-05-06. Retrieved 2014-06-07.

External links

This article is issued from Wikipedia - version of the Tuesday, April 26, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.