JUNE 2019

TPM 2.0
A Brief Introduction

Trusted Computing Group3855 SW 153rd Drive
Beaverton, OR 97003
Tel (503) 619-0562
Fax (503) 644-6708
admin@trustedcomputinggroup.org
www.trustedcomputinggroup.org© 2019 Trusted Computing Group | All Rights Reserved

TPM 2.0:
A Brief Introduction

TRUSTED PLATFORM MODULE(TPM) 2.0: A BRIEF INTRODUCTIONTATTRIBUTES OF THE TPM INCLUDE:

he Trusted Computing Group (TCG) has beenaddressing the trust issue – and related security
benefits - for PCs, servers, networking gear andembedded systems for more than a decade, driven
by the Trusted Platform Module (TPM) specification.

■■

The TPM standard defines a hardware root of trust(HRoT) widely accepted as more secure than softwarethat can be more easily breached by attackers.

■■

High quality random numbers■■

Cryptographic services■■

The TPM is used with software to enable features;open source APIs are available and custom software
can be developed. Additional resources for software
support also are provided later in this paper.

Support for bulk (symmetric) encryption
in the platform■■

A protected persistent store for small amountsof data, sticky- bits, monotonic counters andextendible registers
A protected pseudo-persistent store forunlimited amounts of keys and data

In many systems, the TPM provides integrity
measurements, health checks and authentication
services.

■■

TPM EVOLVES■■

Platform identities■■

Support for platform privacy

While the earlier TPM 1.2 standard was incorporated
into billions of PCs, servers, embedded systems,
network gear and other devices, the evolving Internetof Things and increasing demand for security beyond
traditional PC environment led TCG to develop a new
TPM specification, which recently was adopted as aninternational standard ISO/IEC 11889:2015.

■■

For more flexibility of application and to enable morewidespread use of the specification, TCG created
TPM 2.0 with a “library” approach. This allows users
to choose applicable aspects of TPM functionality fordifferent implementation levels and levels of security.
Also, new features and functions were added, suchas algorithm agility, the ability to implement new
cryptographic algorithms as needed.

TPM 2.0: A Brief Introduction

An extensive choice of authorization methods
to access protected keys and dataSigning and verifying digital signatures(normal, anonymous, pseudonymous)■■

Certifying the properties of keys and data■■

Auditing the usage of keys and data

IN A TRUSTED PLATFORM
THE TPM ALSO PROVIDES:■■■■—2—Attestation: reporting platform state
Sealing: using platform state to authorize
access to keys and data

©2019 Trusted Computing Group | All Rights Reserved

TPM 2.0:
A Brief Introduction

A TPM FOR MANY APPLICATIONSWith TPM 2.0, TCG created a library specification that describes all the commands/features that could beimplemented and might be needed in platforms from servers to laptops to embedded systems. Each platform
can choose the features needed and the level of security or assurance required. In this way, TPM 2.0 is much
more flexible than the original TPM specification. That flexibility allows the newest TPMs to be applied to many
embedded applications, including automotive, industrial, smart home and many more – and for designers anddevelopers to select with more granularity the appropriate TPM capabilities for the targeted use case.

FOUR TYPES OF TPM ARE POPULAR TODAY, OFFERING DIFFERENT TRADE-OFFS BETWEEN COST,FEATURES, AND SECURITY. TCG CONTINUES TO EVALUATE MARKET REQUIREMENTS TO FURTHEREVOLVE THE TPM.

123DISCRETE TPM provides the highest level of security, as might be needed for a TPM used to secure

the brake controller in a car. The intent of this level is to ensure that the device it’s protecting does
not get hacked via even sophisticated methods. To accomplish this, a discrete chip is designed, builtand evaluated for the highest level of security that can resist tampering with the chip, including
probing it and freezing it with all sorts of sophisticated attacks.
INTEGRATED TPM is the next level down in terms of security. This level still has a hardware TPM but

it is integrated into a chip that provides functions other than security. The hardware implementation
makes it resistant to software bugs, however, this level is not designed to be tamper-resistant.
FIRMWARE TPM is implemented in protected software. The code runs on the main CPU, so aseparate chip is not required. While running like any other program, the code is in a protectedexecution environment called a trusted execution environment (TEE) that is separated from the restof the programs that are running on the CPU. By doing this, secrets like private keys that might beneeded by the TPM but should not be accessed by others can be kept in the TEE creating a moredifficult path for hackers.
In addition to the lack of tamper resistance, the downside to the TEE or firmware TPM is that now
the TPM is dependent on many additional aspects to keep it secure, including the TEE operating
system, bugs in the application code running in the TEE, etc.

4SOFTWARE TPM can be implemented as a software emulator of the TPM. However, a software

TPM is open to many vulnerabilities, not only tampering but also the bugs in any operating systemrunning it. It does have key applications: it is very good for testing or building a system prototype
with a TPM in it. For testing purposes, a software TPM could provide the right solution/approach.

Many IoT systems include sensors and cloud processing, which means virtualization. In a cloud environment,
one clever way to implement a TPM is through a virtual TPM. The virtual TPM is part of the cloud-based
environment and it provides the same commands that a physical TPM would but it provides those commands
separately to each virtual machine.

TPM 2.0: A Brief Introduction—3—©2019 Trusted Computing Group | All Rights Reserved

TPM 2.0:
A Brief Introduction

TPM SOLUTIONS FOR DIFFERENT NEEDSThe five variations of TPM, discussed roughly in order of security level, are shown in Table 1. To get a better
handle on the cost and security level impact, the TPM supplier needs to be consulted.
TRUST ELEMENTSECURITY LEVELSECURITY FEATURESTYPICAL APPLICATIONDISCRETE TPM

HIGHESTTAMPER RESISTANT
HARDWARE

CRITICAL SYSTEMSINTEGRATED TPM

HIGHER

HARDWAREGATEWAYSFIRMWARE TPM

HIGH

TEE

ENTERTAINMENTSYSTEMSSOFTWARE TPM

NANA

TESTING &PROTOTYPINGVIRTUAL TPM

HIGH

HYPERVISORCLOUDENVIRONMENTTPM RESOURCESBOOKS:
An “open access” book intended to get one started with TPMs:
A Practical Guide to TPM 2.0 - Using the Trusted Platform Module in the New Age of Security;
Arthur, ChallenerXX
http://www.springer.com/us/book/9781430265832■■

A reference book intended to help explain TPMs:
Trusted Computing Platforms - TPM2.0 in Context;
Proudler, Chen, Dalton; Springer
XX
http://www.springer.com/us/book/9783319087436■■

SOFTWARE:
XX
https://sourceforge.net/projects/ibmswtpm2/
XX
https://github.com/vbendeb/tpm2_serverXX
http://research.microsoft.com/en-US/downloads/35116857-e544-4003-8e7b-584182dc6833/default.aspx
XX
https://github.com/PeterHuewe/linux-tpmdd/tree/tpm-emulator
XX
https://github.com/PeterHuewe/linux-tpmdd/commit/9329f13c403daf1f4bd1e715d2ba0866e089fb1dXX
https://github.com/PeterHuewe/linux-tpmdd/commit/bbf2f7064c1452b47f11dfad340326b1205d863a

TPM 2.0: A Brief Introduction—4—©2019 Trusted Computing Group | All Rights Reserved