ISO/IEC 11889-1:2015(E)
Introduction
Collectively the four parts of ISO/IEC 11889 specify the architecture, data structures, command interface
and behavior of a Trusted Platform Module (TPM). A properly constructed platform that incorporates a
TPM meeting the requirements may enable establishing trust in platform scenarios involving security and
privacy.
TPMs require hardware protections to provide three roots of trust: storage, measurement, and reporting.
Basing TPM roots of trust in hardware is an improvement over software based solutions whose
protections are vulnerable to malicious software. The architecture defines a TPM that is a passive
component that receives commands and returns responses. The commands defined have meticulous
descriptions and perform primitive actions on data confidential to the TPM. Typical implementations
integrate a TPM in the context of a platform like a laptop or a mobile device. By sending commands to a
TPM and processing the responses, security benefits accrue for the platform as a whole. Properly
constructed platforms with a TPM can provide hardware based roots of trust for storage, measurement
and/or reporting.
The root of trust for storage consists primarily of creating, managing and protecting cryptographic keys
and other data values. Artifacts protected by or associated with encryption keys, like passwords,
certificates or other credentials, can be used for authentication and many other security scenarios.
Cryptographic keys can be created with restrictions on their use or management.
EXAMPLE 1 Cryptographic keys can be created that require a password to be used, have a single purpose (e.g.
signing), or cannot be exported elsewhere.
Separate from cryptographic key management, the root of trust for storage also allows data values to be
stored in a TPM so they are protected from unauthorized modification or can only be changed in defined
ways.
EXAMPLE 2 A data value protected by the TPM might be defined so it can be incremented but not decremented.
Typical use cases can include storing security policy information that can only be updated by an
authorized entity or incrementing a value to keep track of failed password entry attempts.
The root of trust for measurement is intended to reflect what software is running on a platform in a trusted
way. This root consists of the TPM and other components of a platform that start a chain of
measurements. Before software runs, its measurement is calculated and stored in the TPM by sending a
command. Later software can add more measurements, but cannot erase its own measurement that was
recorded before it started running. If the measurement process unconditionally starts when a platform is
powered on, the TPM ends up holding an accurate measurement of all the software running on the
system from each power-on. Across power cycles, the same software running on a platform results in the
same measurements being present in the TPM. Combining the root of trust for measurement with the
root of trust for storage, it is possible to create keys or store data using the TPM that only software with
specific measurements can use. The result is specific software on a platform can maintain its own keys,
confidential data or security policy information that is not accessible and not able to be tampered with by
other software that may run on the platform.
The root of trust for reporting helps entities external to a platform establish trust in platform software
measurements or cryptographic keys by proving the values exist in a TPM. TPMs have Endorsement
Keys that are essentially unique identities for a TPM. Through commands the TPM provides, it is
possible to prove keys exist in a TPM with a specific Endorsement Key. Establishing that a key exists in a
TPM permits services external to the TPM to trust a key is protected by a TPM’s root of trust for storage.
Also, if a key is known to be in a TPM, and the key is used to sign measurements of software, evidence of
what software is running on a platform can be shared with an external entity in a trusted way. This
enhances privacy protections as the need to share the TPM’s Endorsement Key identity directly with a
remote verifier can be avoided, resulting in a platform that can anonymously prove to a remote verifier
what software is running.
Not all privacy and security use cases enabled by this International Standard are relevant for all
platforms. For this reason, this International Standard is defined as a generic library of commands,
cryptographic algorithms and capabilities for which a subset can be used to meet the needs of a specific
© ISO/IEC 2015 – All rights reserved xv