Overview
ISO/IEC 11889-2:2015 - Trusted Platform Module Library: Part 2: Structures defines the data model used to communicate with a Trusted Platform Module (TPM). The standard specifies the constants, flags, base types, structure and union definitions, enumerations, handles and attribute layouts that underlie TPM commands and functions. Values in this part are referenced by other TPM parts (for example the TPM command set and function specifications), making it essential for implementers, integrators and security tool developers.
Key topics and technical requirements
- Data notation and naming conventions: formal notation for named constants, typedefs, enumerations, arrays, conditional types, unions and bitfields.
- Base types and primitive definitions: canonical data type aliases and primitive types used across the TPM library.
- Constants and enumerations: algorithm identifiers (TPM_ALG_ID), command codes (TPM_CC), response codes (TPM_RC), ECC curves and other enumerated constants.
- Handles and handle ranges: handle types (TPM_HT), permanent handles (TPM_RH), persistent handle sub-ranges and handle value constants.
- Attribute structures: definitions for object, session and platform attribute fields (for example TPMA_OBJECT, TPMA_SESSION, TPMA_LOCALITY).
- Interface types (TPMI_*): typed handles and interfaces such as TPMI_DH_OBJECT, TPMI_SH_AUTH_SESSION and algorithm-selection types (TPMI_ALG_HASH, TPMI_ALG_SIG_SCHEME).
- Sized buffers and hash structures: TPM2B_* sized buffer types (TPM2B_DIGEST, TPM2B_AUTH, etc.), TPMU_HA and TPMT_HA digest/hash structures.
- Validation and robustness: parameter limits, size checking, data alignment rules and parameter unmarshaling error definitions to ensure interoperability and secure parsing.
- Documentation metadata: normative references, terms and definitions, symbols and abbreviations used throughout the TPM library.
Practical applications and users
This part is critical for:
- TPM firmware and hardware vendors implementing the TPM command interface and internal data structures.
- Operating system and hypervisor developers integrating TPM services (secure boot, measured boot, attestation).
- Security software and middleware (key management, remote attestation, credential storage) that marshals/unmarshals TPM commands and responses.
- Device manufacturers and system integrators ensuring interoperable use of the TPM as a hardware root of trust.
- Conformance testers and auditors verifying implementations against the TPM library specification.
Practical uses include secure key storage, platform attestation, device identity, secure boot flows and cryptographic operations mediated by the TPM.
Related standards
- ISO/IEC 11889 family: other parts define commands, interfaces and usage guidance referenced by Part 2. Values in this part are consumed by the TPM command and function specifications.
Keywords: Trusted Platform Module, TPM structures, ISO/IEC 11889-2, TPM constants, TPM data types, TPM commands, TPM2B, TPMT_HA, secure boot, hardware root of trust, device attestation.