TPM Architecture
A Trusted Platform Module is a small, self-contained security controller that combines a cryptographic engine, a hardware random number generator, protected non-volatile storage, and a set of tamper-evident integrity registers behind a narrow command interface. Its architecture is shaped by a single organizing idea: the module must keep its secrets even when the processor it serves is running attacker-controlled code. That constraint dictates the separation of silicon, the deliberately limited interface, the extend-only measurement registers, and the authorization model, and it explains why the same design scales from an inexpensive chip on an engine control unit to the attestation service behind a cloud provider's confidential computing offering.
TPM architecture has evolved significantly from the original 1.2 specification to the modern 2.0 standard, reflecting lessons learned from deployment, changing security requirements, and advances in cryptographic techniques. This architectural evolution addresses real-world challenges including cryptographic agility, privacy protection, platform diversity, and the need for flexible implementation options ranging from discrete chips to firmware and virtual solutions.
TPM 1.2 Architecture and Specifications
The TPM 1.2 specification, released by the Trusted Computing Group in 2003, established the foundational architecture for hardware-based trusted computing. This design centered on a fixed set of cryptographic capabilities: RSA for asymmetric cryptography, with deployed endorsement and storage root keys standardized on 2048-bit RSA; SHA-1 for hashing; and HMAC for authentication. The architectural decision to bind the design to these fixed algorithms simplified implementation but created long-term challenges as cryptographic standards evolved and SHA-1 was found vulnerable to collision attacks.
The core architectural components included a cryptographic processor for performing RSA and hash operations, non-volatile memory for storing keys and configuration data, volatile memory for operational state, a random number generator for key creation and nonces, and platform configuration registers (PCRs) for storing integrity measurements. The specification defined 24 PCRs, with specific allocations for BIOS measurements, boot loader measurements, and operating system usage. This rigid structure worked well for PC platforms but proved inflexible for other use cases.
Authorization in TPM 1.2 relied primarily on authorization data (essentially passwords) associated with keys and data. The Object-Specific Authorization Protocol (OSAP) and Object-Independent Authorization Protocol (OIAP) provided mechanisms for proving knowledge of authorization values without transmitting them in cleartext. While functional, these protocols lacked the flexibility needed for complex authorization policies. The Attestation Identity Key (AIK) mechanism enabled pseudonymous attestation but required interaction with a Privacy CA, creating operational complexity and a party that could correlate identities. Direct Anonymous Attestation was added during the 1.2 era precisely to remove that dependency, but the RSA-based scheme was costly for the hardware of the day and saw little deployment.
TPM 1.2's architectural limitations became apparent as deployment expanded. The inability to upgrade cryptographic algorithms meant that as SHA-1 weaknesses were discovered, implementations were locked into using a deprecated hash function. The authorization model proved cumbersome for complex scenarios requiring multi-factor authentication or policy-based access control. The Privacy CA requirement for attestation created dependencies on external infrastructure. These factors, combined with the need to support diverse platforms beyond traditional PCs, motivated the comprehensive architectural redesign that became TPM 2.0.
TPM 2.0 Enhancements and Architecture
TPM 2.0 represents a fundamental architectural redesign rather than an incremental update. The library specification was published in October 2014 and subsequently adopted as an international standard, ISO/IEC 11889:2015. It introduces cryptographic agility as a core principle, allowing implementations to support multiple algorithm suites. A TPM 2.0 device might support RSA, ECDSA, and ECDAA for asymmetric operations; SHA-1, SHA-256, SHA-384, and SHA-512 for hashing; and AES for symmetric encryption. This flexibility allows security policies to evolve without hardware replacement and enables optimization for specific use cases.
The hierarchical architecture was redesigned around three primary hierarchies: the endorsement hierarchy for device identity, the storage hierarchy for protecting user keys and data, and the platform hierarchy for firmware and pre-boot operations. A fourth hierarchy, the null hierarchy, supports objects that do not persist across reboots. Each hierarchy has independent authorization and can be enabled or disabled separately. This structure provides clear separation between different security domains and allows fine-grained control over TPM capabilities.
Enhanced Authorization (EA) represents one of TPM 2.0's most significant architectural improvements. Rather than simple password-based authorization, EA supports policy-based access control where complex conditions must be satisfied before operations are permitted. Policies can require specific PCR values, command parameters, timing constraints, locality restrictions, or combinations of these factors. Authorization can use passwords, HMAC sessions, or policy evaluations, with session-based protocols protecting against replay attacks and ensuring confidentiality of authorization data.
The command set was completely restructured for clarity and consistency. TPM 1.2 exposed its functions as a large set of command ordinals whose naming and parameter conventions had accreted across successive revisions. TPM 2.0 reorganized commands into logical groupings—context management, session management, object management, duplication, signing, symmetric encryption—with consistent parameter handling and error reporting. This architectural cleanup significantly improved implementation quality and reduced integration errors. Separate platform-specific profiles then narrow the general library into implementable subsets suited to particular environments.
The library specification has continued to evolve since its first publication. Revision 01.59, released in 2020, added the authenticated countdown timer (ACT), a timer that fires unless it is periodically reset with proper authorization and can therefore force a recovery action on an unresponsive machine; TPM2_CertifyX509, which lets a TPM issue attestation evidence in a form that ordinary X.509 tooling can consume; and commands for securely handing a TPM-protected object to an attached component. Because the specification is versioned rather than frozen, TPM vendors state the library revision their parts implement, and platform profiles in turn state the minimum revision they require.
Discrete TPM Chip Implementations
Discrete TPM implementations consist of dedicated security chips mounted on the system motherboard, typically communicating with the main processor through the Low Pin Count (LPC) bus, the Serial Peripheral Interface (SPI), or, in embedded and automotive designs, I2C. This architectural approach provides the highest level of physical security and isolation since the TPM operates on completely independent silicon with its own processor, memory, and cryptographic accelerators. The physical separation makes it extremely difficult for software running on the main CPU to compromise TPM operations or extract protected keys.
The internal architecture of discrete TPMs typically includes a security-focused microcontroller running at modest clock speeds (10-50 MHz), as cryptographic operations dominate over general computation. Dedicated cryptographic accelerators handle intensive operations like RSA exponentiation, elliptic curve point multiplication, and AES encryption, achieving performance that would be impractical in software on the embedded processor. Secure memory includes non-volatile storage (often EEPROM or Flash) for persistent keys and configuration, plus SRAM for operational state and session data.
Physical security features distinguish discrete TPMs from other implementations. The chip package incorporates tamper-detection mechanisms including protective coatings, mesh layers, and sensors that monitor for voltage glitching, clock manipulation, and temperature excursions. Side-channel countermeasures protect against attacks that observe power consumption, electromagnetic emissions, or timing variations to extract cryptographic keys. These protections come at a cost—both monetary and in terms of board space—but provide security assurance that software-based implementations cannot match.
The physical separation that makes discrete TPMs strong also creates their most practical weakness: the bus between the chip and the processor is exposed. Researchers have repeatedly shown that a low-cost logic analyzer clipped to the LPC or SPI traces can capture a volume encryption key as the TPM releases it during an unattended boot, defeating full-disk encryption on a stolen laptop in minutes. Nothing in the TPM is broken by such an attack; the key travels in the clear because the platform never asked for anything else. TPM 2.0 provides the remedy in the form of encrypted sessions, which establish a shared secret with the module and encrypt sensitive command and response parameters so that a bus observer sees only ciphertext, and the same sessions can bind a request to a specific object to defeat interposition. Board designers reduce exposure further by burying the TPM traces in inner layers, and platform vendors increasingly avoid the problem entirely by moving the TPM on-die.
Communication protocols define how discrete TPMs interface with the platform. For PC-class systems the TCG PC Client Platform TPM Profile specifies two register-level interface types. The FIFO interface carries forward the register layout of the older TPM Interface Specification (TIS), in which the host writes a command byte by byte into a data port and polls status bits for the response. The Command Response Buffer (CRB) interface instead exposes a single memory-mapped buffer that holds an entire command or response, with a small control area used to signal start and completion; it suits memory-mapped and firmware TPMs better than byte-at-a-time transfers. Both layouts replicate their registers once per locality, so the address a component uses to reach the TPM is itself the assertion of its privilege level. The size of the command buffer bounds the largest single operation, which is why bulk data is hashed or encrypted in sequences of smaller transactions rather than in one call. Discrete TPMs typically implement deep sleep modes to minimize power consumption when idle while maintaining persistent state.
Integrated TPM Implementations
Integrated TPMs place TPM functionality inside a larger chip—a chipset, a system-on-chip, or a network processor—rather than in a package of its own. This approach removes a component from the bill of materials and frees board space while retaining hardware isolation from the main CPU cores, because the TPM logic runs on a dedicated security block with its own memory partitions and cryptographic accelerators.
The line between an integrated TPM and a firmware TPM is drawn by what executes the TPM logic. An integrated TPM has hardware provisioned specifically for the purpose; a firmware TPM is software occupying a general-purpose trusted execution environment that also hosts other secure services. In practice the two blur, and the implementations most users encounter—Intel's Platform Trust Technology and AMD's fTPM—sit on the firmware side of the line even though the silicon that runs them is integrated into the chipset or the processor package. Purely integrated designs appear most often in embedded system-on-chip products whose vendors chose to harden a TPM block rather than add a separate device.
The security architecture of integrated TPMs relies on hardware partitioning and access controls within the SoC. The security processor that implements TPM functions operates in an isolated domain, with hardware-enforced separation preventing the main CPU from directly accessing TPM memory or observing cryptographic operations. Cryptographic accelerators may be shared with other security functions but use arbitration logic to prevent information leakage between operations. Non-volatile storage for TPM keys and data typically resides in dedicated flash regions with access controls enforced by the SoC's memory controller.
Performance characteristics of integrated TPMs can exceed discrete implementations for some operations due to higher clock speeds and more sophisticated cryptographic accelerators. However, they may share silicon resources with other functions, potentially creating contention. The integration reduces latency for TPM operations since communication does not traverse external buses—commands and responses transfer through internal interconnects operating at chip speeds. This makes integrated TPMs particularly well-suited for applications requiring frequent TPM interactions, such as disk encryption key unsealing during boot.
The main security trade-off with integrated implementations involves the expanded attack surface. While the TPM logic is isolated, it shares silicon with other functions that may have vulnerabilities. Side-channel attacks become more complex to analyze and defend against when the TPM shares power supplies and clock distribution with other components. Physical attacks on the package affect the entire chip rather than just the TPM. These considerations make integrated TPMs appropriate for most commercial applications while discrete implementations remain preferred for highest-security environments.
Firmware TPM Solutions
Firmware TPM (fTPM) implementations execute TPM functionality as firmware running in a trusted execution environment, typically on a processor separate from the main CPU. In Arm-based systems, this often uses TrustZone technology, which partitions the processor into secure and non-secure worlds. Intel implements the same idea as Platform Trust Technology, running the TPM as an application on the Management Engine or Converged Security and Management Engine, and AMD runs its fTPM on the Platform Security Processor. Microsoft's Pluton design goes a step further, placing a security processor that can present a TPM 2.0 interface on the same die as the CPU. This approach eliminates the need for dedicated TPM silicon while providing hardware-based security through processor isolation mechanisms.
The architectural foundation of fTPM relies on the security properties of the execution environment. Arm TrustZone creates separate processor modes with independent memory spaces, interrupt handling, and peripheral access. Code running in the secure world can access both secure and non-secure resources, while non-secure world code cannot access secure resources. The TPM firmware executes in the secure world, using this isolation to protect cryptographic keys and operations from compromise of the rich operating system running in the non-secure world.
Cryptographic operations in fTPM implementations use a combination of software algorithms and hardware accelerators. Trusted execution environments typically include hardware cryptographic engines for symmetric encryption, hashing, and random number generation. Asymmetric operations like RSA and elliptic curve cryptography may execute in software within the secure environment or use hardware accelerators if available. Performance varies significantly based on the cryptographic capabilities of the underlying processor, with dedicated accelerators providing orders of magnitude better performance than software implementations.
Storage architecture for fTPM requires careful design to protect persistent state. The TPM's endorsement key, storage root key, and other persistent objects must survive power cycles and remain protected even if the non-secure operating system is compromised. Solutions include encrypted storage in normal flash memory with keys maintained in secure storage, use of replay-protected memory blocks in embedded multimedia cards, or secure storage partitions accessible only to secure world code. The security of the entire fTPM implementation depends critically on the integrity and correct implementation of these storage protection mechanisms.
fTPM implementations offer significant cost advantages since they reuse existing processors rather than requiring dedicated chips. They are particularly attractive for mobile devices and embedded systems where board space is constrained. However, the security rests entirely on the integrity of the trusted execution environment, and that assumption has been tested. The 2019 TPM-FAIL work recovered ECDSA private keys from Intel's firmware TPM through a timing side channel in its scalar multiplication, and from a certified discrete part from STMicroelectronics as well, demonstrating that neither firmware implementation nor formal certification precludes an exploitable leak. Later research extracted AMD firmware TPM secrets by fault-injecting the security processor that hosts them, an attack that requires physical access but no exotic equipment. Both classes of problem were addressed by firmware updates, which points to the compensating advantage of the approach: a discrete chip with a flawed ROM may be unfixable in the field, whereas a firmware TPM can be patched. The trade-off makes fTPM well suited to consumer and commercial platforms, while discrete parts remain preferred where the threat model includes a determined local adversary.
Virtual TPM Systems
Virtual TPM (vTPM) implementations extend TPM capabilities to virtualized environments, providing each virtual machine with its own isolated TPM instance. This architecture enables cloud computing platforms to offer TPM services to guest operating systems while maintaining the security and isolation properties that applications expect. The vTPM architecture consists of a TPM emulator running in a secure context, per-VM vTPM instances, and management components that handle vTPM lifecycle and migration.
The architectural foundation typically uses a software TPM implementation running in a privileged virtual machine or host operating system component. This base TPM, sometimes called the hardware TPM or root TPM when backed by physical TPM hardware, serves as the root of trust. Each vTPM instance is implemented as a separate software TPM, but its endorsement key and storage root are protected by the root TPM. This creates a hierarchy where the hardware TPM protects the vTPM implementations, which in turn provide TPM services to guest virtual machines.
Isolation between vTPM instances is crucial for multi-tenant security. Each vTPM maintains completely separate key hierarchies, platform configuration registers, and non-volatile storage. The hypervisor or virtualization layer enforces access controls ensuring that one VM cannot access another VM's vTPM state. Cryptographic operations for different vTPMs should not leak information through shared resources, requiring careful attention to side-channel protection in the implementation. Some architectures use hardware features like Intel SGX or Arm TrustZone to provide additional isolation for the vTPM implementations themselves.
State persistence and migration present unique challenges for vTPM architectures. When a VM is suspended, migrated, or backed up, its vTPM state must be preserved correctly. The vTPM state is typically encrypted under keys protected by the hardware TPM, ensuring that even backups or migration streams do not expose cryptographic keys. During migration to a different physical host, the vTPM state must be securely transferred, requiring protocols that prove the destination is trustworthy before releasing protected data. Attestation in virtualized environments becomes more complex since the measured boot chain includes the hypervisor and virtual machine manager in addition to guest firmware and operating system.
Performance considerations for vTPM implementations differ from hardware TPMs. Software cryptographic operations can leverage main CPU capabilities including AES-NI acceleration and high clock speeds, potentially exceeding discrete TPM performance for some operations. However, the virtualization overhead and need for secure communication between guest and vTPM add latency. Cloud providers typically implement optimizations like batching TPM operations, caching frequently used values, and using para-virtualized interfaces to reduce overhead. The result is vTPM performance adequate for most applications while enabling cloud-scale deployment of trusted computing capabilities.
TPM Command Set Architecture
The TPM command set defines the interface through which software interacts with TPM capabilities, and its architecture significantly impacts both functionality and usability. TPM 2.0's command set represents a comprehensive redesign from TPM 1.2, organizing over 100 commands into logical groupings with consistent parameter handling and error reporting. Understanding command architecture is essential for implementing TPM software stacks and applications that leverage TPM capabilities.
Command structure in TPM 2.0 follows a consistent pattern: a command header specifying the tag (indicating sessions or no sessions), command size, and command code; command parameters specific to the operation; and authorization sessions if required. Responses mirror this structure with a response header (tag, size, response code), response parameters, and authorization session data. This consistency simplifies command parsing and generation compared to TPM 1.2's more varied structure. Variable-length parameters use a size-prefixed format, and complex structures can be nested to arbitrary depth.
Command categories organize related functionality. Startup and self-test commands initialize the TPM and verify correct operation. Context management commands save and load context for long-running operations. Object management commands create, load, and delete keys and data objects. Signing and encryption commands perform cryptographic operations. Duplication commands enable controlled key migration. Session commands establish authorization and encryption contexts. This logical organization helps developers navigate the extensive command set and understand relationships between operations.
Authorization architecture integrates deeply with the command set through sessions. An authorization session can provide password authentication, HMAC authentication proving knowledge of a secret, or policy authentication demonstrating that specified conditions are met. Sessions can also encrypt command parameters and response data, protecting sensitive information from observation. A single command may require multiple authorization sessions if it accesses multiple protected objects. The authorization architecture provides flexibility but adds complexity that TPM software stacks must manage to present simpler interfaces to applications. The TCG's TPM Software Stack answers this with layers: a resource manager arbitrates between processes competing for the TPM's handful of object and session slots, swapping contexts in and out so that each caller appears to have the TPM to itself; a system API exposes the commands one for one; an enhanced API handles session creation, HMAC computation, and parameter encryption automatically; and a feature API reduces common tasks such as sealing a secret or producing a quote to a single call.
Error handling and reporting in TPM 2.0 commands follows a structured approach. Response codes indicate success, warnings (operation completed with caveats), or failures (operation did not complete). The format field in error responses indicates which parameter or session caused the error, significantly improving debuggability compared to TPM 1.2's less specific error reporting. Warnings might indicate that resources are low or that retry is necessary, while errors definitively prevent the operation. This detailed error reporting enables robust software implementations that can handle exceptional conditions gracefully.
Locality Mechanisms
Locality represents a critical architectural feature that enables TPMs to distinguish between different software contexts accessing the TPM, providing a hardware-enforced privilege model. The locality mechanism recognizes that BIOS firmware, bootloader, operating system kernel, and applications have different trust levels and should have different TPM access rights. TPM 2.0 defines five standard locality values (0 through 4), with hardware mechanisms ensuring software cannot impersonate a higher-privilege locality; the specification also reserves extended locality values above 31 for platform-defined uses. Localities 1 through 4 are tied to the dynamic root of trust and gate access to the dynamically resettable PCRs (PCRs 17 through 22).
The architectural implementation of locality varies by TPM interface type. For discrete TPMs connected via LPC, the locality is communicated through specific LPC bus signals that cannot be directly controlled by software. SPI-connected TPMs use specific register addresses to indicate locality. Integrated and firmware TPMs implement locality through the SoC's hardware partitioning—firmware running in System Management Mode or secure world can access higher localities that normal operating system code cannot reach. This hardware enforcement prevents privileged software operations from being exploited by malicious applications.
Locality 0 is the default, lowest-privilege level, associated with the static root of trust and used by general operating system code and the legacy environment. Localities 1 through 4 are reserved for the dynamic root of trust for measurement (DRTM) and are exercised in sequence during a measured launch. Locality 4 is the highest privilege level: it is asserted by trusted hardware or CPU microcode when the dynamic launch instruction executes (for example, Intel TXT GETSEC[SENTER] or AMD SKINIT), allowing the dynamic core root of trust for measurement (D-CRTM) to reset the dynamic PCRs and begin a fresh trust chain without rebooting. The DRTM configuration environment then runs at locality 3, and the launched measured environment at locality 2, with locality 1 available to an operating system that wishes to extend measurements into the dynamic chain. Because locality 4 can only be asserted by hardware, software—even fully privileged operating system code—cannot forge it.
Certain TPM operations are restricted to specific localities, creating a hardware-enforced access control model. Resetting the dynamic PCRs (17 through 22) requires locality 4, so only a hardware-initiated measured launch—not operating system software—can begin a new dynamic measurement chain. Conversely, the static PCRs measured during ordinary boot can be reset only by a platform reset, not by any locality. Some recovery and platform-management operations are likewise gated behind elevated localities so that malicious operating system code, which is confined to locality 0, cannot invoke them. This locality-based access control enables security policies that software alone cannot implement, as even a fully compromised operating system cannot reach higher-locality operations.
Software stacks must account for locality in their design. TPM Software Stack (TSS) implementations typically run in locality 0, with specific system firmware components accessing higher localities during boot. Applications should not generally concern themselves with locality—it operates as an architectural underpinning rather than an application-visible feature. However, security architects designing boot sequences and platform firmware must carefully consider locality requirements to ensure security-critical operations execute at appropriate privilege levels with protection from lower-privilege code.
Physical Presence Interface
The physical presence interface provides a mechanism for users to authorize sensitive TPM operations by demonstrating physical access to the system, defending against remote attacks that attempt to modify TPM configuration or clear ownership. This architectural feature recognizes that certain operations—such as clearing the TPM, which destroys all keys and data—should require user intervention at the console rather than being possible through software alone. The interface has evolved significantly from simple BIOS prompts to more sophisticated implementations.
Traditional physical presence implementations used BIOS setup interfaces requiring users to enter the setup utility during boot and navigate to TPM configuration menus. To clear the TPM, the user would select the clear operation, reboot, and confirm the operation during a subsequent boot cycle. This multi-step process provided assurance of physical presence but created usability friction that sometimes caused users to disable TPM functionality entirely. The implementation relied on the assumption that only someone with physical access could interact with the BIOS setup interface.
Modern PC platforms standardize this exchange through the TCG PC Client Platform Physical Presence Interface specification, which uses ACPI as the bridge between the operating system and platform firmware. Software calls a device-specific method on the TPM's ACPI device to request an operation such as clearing the TPM. The firmware records the pending request in storage that survives the transition out of the operating system—CMOS, a flash variable, or a TPM NV index—and the machine then reboots. On the next boot, before any operating system code runs, the firmware displays a prompt describing the requested operation and waits for a keystroke that only a person at the keyboard can supply. If the user consents, the firmware issues the corresponding command, such as TPM2_Clear, and records a response code the operating system can read once it loads. This design keeps the security decision in the pre-boot environment while letting ordinary administrative tools initiate it, which is how Windows performs TPM clearing and provisioning.
The architectural challenge with physical presence involves distinguishing legitimate physical access from remote attacks while maintaining usability. A truly secure implementation should resist software-only attacks regardless of privilege level—even a fully compromised operating system with administrative rights should not be able to simulate physical presence. However, overly cumbersome physical presence requirements lead to poor user experiences. Different platforms resolve this tension differently: enterprise systems may require administrator passwords and multiple confirmations, while consumer systems might use simpler interfaces accepting that some level of physical security is maintained by device possession.
Physical presence requirements vary by operation and platform policy. Clearing the TPM is the canonical example, because the operation destroys the storage and endorsement hierarchy seeds and therefore every key derived from them; a remote attacker who could invoke it at will would have a denial-of-service primitive against every disk encrypted with a TPM-sealed key. PC Client platforms consequently gate clearing behind a physical presence confirmation. Changing hierarchy authorization values and enabling or disabling the TPM are handled the same way, so that malware cannot lock legitimate software out of the device. However, normal TPM operations like key creation, signing, and encryption do not require physical presence—they use the standard authorization mechanisms. This distinction allows TPMs to provide strong security for routine operations while reserving physical presence for operations that fundamentally change the TPM's configuration or security state.
TPM Profiles and Platform Specifications
TPM 2.0 introduced the concept of profiles—platform-specific specifications that define how TPMs integrate into particular system types. This architectural approach recognizes that a TPM in a vehicle control unit faces different requirements than one in a laptop, even though both implement the core TPM 2.0 library specification. Profiles specify which optional TPM features are required, how PCRs are allocated, and how platform-specific mechanisms like physical presence operate in that environment.
The PC Client Platform Profile represents the most mature and widely deployed specification, defining TPM integration for traditional desktop and laptop computers. This profile specifies the allocation of all 24 PCRs—which measurements go into which registers during UEFI boot, how Secure Boot interacts with TPM measurements, and how operating systems should use TPM capabilities. It defines the ACPI interface for TPM discovery and physical presence, the required cryptographic algorithms, and minimum performance requirements. Systems claiming PC Client compliance must implement these requirements consistently, ensuring that Windows BitLocker, Linux LUKS, and other applications work across different vendor implementations.
Servers largely reuse the PC Client profile rather than following a profile of their own, but they stress it in distinctive ways. A rack-mount machine may boot from the network, run for months without anyone touching its chassis, and be administered entirely through a baseboard management controller. Physical presence, which the PC Client model resolves with a keystroke at a firmware prompt, has no natural equivalent in a lights-out data center, so operators rely instead on controlled access to the management network and on procedures that treat a TPM clear as a physical maintenance action. Network boot lengthens the measured chain to include firmware fetched over the wire, and fleet-scale attestation shifts the design problem from a single verifier to a service that must evaluate thousands of quotes and event logs against known-good reference values.
The TPM 2.0 Mobile Common Profile addresses phones, tablets, and similar devices by defining a medium-scale subset of TPM capabilities. It is written for platforms that have no equivalent of a PC BIOS, that may lack analogues of the TPM restart and resume transitions the PC Client model assumes, and that may not implement multiple localities at all. A companion mobile reference architecture describes how such a TPM is expected to be realized as a protected application inside a trusted execution environment rather than as a separate chip. Trading away features that only make sense on a PC keeps the implementation small enough for cost- and power-constrained hardware while preserving the core value of key protection, measurement, and attestation.
The TPM 2.0 Automotive Thin Profile takes the reduction further. It defines a deliberately minimal TPM for vehicle electronic control units, aimed at three concrete jobs: proving the identity of an individual control unit, reporting which software that unit is running, and supporting remote deployment of maintenance updates. A vehicle may contain dozens of control units, so per-unit cost dominates the design, and the profile omits capabilities a PC would consider essential in order to fit a small, inexpensive part. Automotive-qualified TPM chips built to this profile are commercially available with extended temperature ratings and I2C or SPI interfaces suited to in-vehicle wiring.
What the profiles share is a discipline: the library specification stays general, and each profile pins down the specific answers—which algorithms, how many PCRs and how they are allocated, how much NV space, which interface, how physical presence works—that an implementer and a verifier must agree on. Without them, a claim of TPM 2.0 compliance would say little about whether a given piece of software would actually run on a given part.
Cryptographic Architecture
The cryptographic architecture of TPM 2.0 represents one of its most significant improvements over TPM 1.2, introducing algorithm agility that allows implementations to support multiple cryptographic suites. This architectural decision enables TPMs to adapt to evolving cryptographic requirements without hardware replacement, addresses diverse regulatory requirements across jurisdictions, and allows optimization for specific use cases. Understanding the cryptographic architecture is essential for implementing TPMs and for security architects making deployment decisions.
Algorithm selection in TPM 2.0 works through a capability advertisement and selection mechanism. When the TPM initializes, it advertises which algorithms it supports for various cryptographic operations. Applications can query these capabilities and select appropriate algorithms for their security policies. A TPM might support RSA-2048, RSA-3072, ECDSA with NIST P-256, and ECDSA with NIST P-384 for asymmetric operations; SHA-256, SHA-384, and SHA-512 for hashing; and AES-128 and AES-256 for symmetric encryption. This flexibility allows a single TPM design to address markets with different cryptographic requirements.
The cryptographic object structure ties algorithms to keys and data. When creating a key object, the application specifies the algorithm, key size, and parameters as part of the key template. The TPM generates or imports the key material consistent with those parameters. All subsequent operations with that key use the specified algorithm—RSA keys perform RSA operations, ECDSA keys perform elliptic curve operations. This explicit algorithm binding prevents algorithm substitution attacks and ensures that key material is always used consistently.
The choice of hash algorithms ripples through the rest of the design. TPM 2.0 organizes platform configuration registers into banks, one per supported hash algorithm, and each bank is sized to its own digest: a SHA-256 bank holds 256-bit registers, a SHA-384 bank holds 384-bit registers. A measurement is normally extended into every allocated bank at once, so supporting an additional algorithm costs a full extra set of registers plus the extension work on every measured event. Many PC Client parts ship with SHA-1 and SHA-256 banks allocated, and firmware can reallocate the banks—dropping SHA-1, adding SHA-384—through a command that resets the registers and therefore requires a reboot. Multiple banks also ease migration: a verifier that still consumes SHA-1 quotes and one that requires SHA-256 can both be satisfied from the same boot, which is how the industry moved off SHA-1 measurement without invalidating existing sealing policies overnight.
Cryptographic performance varies dramatically across implementations and algorithms. Discrete TPMs with dedicated RSA accelerators may perform RSA-2048 signatures in tens of milliseconds, while software implementations might take hundreds of milliseconds. Elliptic curve operations at comparable security strength are far cheaper than RSA—an ECDSA signature on NIST P-256 involves a single point multiplication over a 256-bit field rather than an exponentiation modulo a 2048-bit number—and they need much less NV space per key, which makes them attractive for constrained implementations. Symmetric operations like AES benefit enormously from hardware acceleration, with specialized implementations achieving orders of magnitude better performance than software. These performance characteristics significantly impact user experience and architectural decisions about when to use TPM cryptography versus CPU-based alternatives.
Memory Architecture and Resource Management
TPM memory architecture encompasses both non-volatile storage for persistent data and volatile memory for operational state, with carefully designed resource limits and management mechanisms. Understanding these architectural constraints is essential because TPMs have significantly more limited resources than general-purpose computers, requiring applications and TPM software stacks to manage resources explicitly rather than assuming unlimited availability.
Non-volatile storage in TPMs maintains data that survives power cycles: the endorsement key hierarchy seed, storage hierarchy seed, platform hierarchy seed, persistent objects created by applications, and NV indices for configuration data. Platform profiles set a floor on the NV space that must be available to platform firmware and to applications, and typical PC Client parts provide on the order of a few kilobytes to a few tens of kilobytes. This might seem tiny compared to modern flash storage, but it reflects the cost and security trade-offs of secure storage. Every byte of TPM NV storage must be protected against unauthorized access and modification, often using encryption or integrity protection mechanisms that add overhead.
The architecture distinguishes between ordinary NV storage (read/write with authorization) and specialized types including write-once NV indices for immutable data, counter NV indices that only increment, and bit field NV indices for flags. Platform configuration data, policy digests, and authorization values commonly use NV storage. The limited NV capacity means applications must carefully plan their usage—creating hundreds of persistent keys in the TPM is impractical. Instead, applications typically create keys in volatile memory and use a few persistent storage root keys to protect external storage of key material.
Volatile memory in TPMs holds objects loaded for immediate use, authorization sessions, and context for ongoing operations. The PC Client profile sets the floor low—on the order of three simultaneously loaded transient objects—because the resources are expensive to provide securely, and while many parts exceed the minimum, portable software cannot assume they do. When volatile memory fills, applications must save object context to external memory using the TPM's context save commands, free the volatile memory, and later restore the context when needed. This explicit memory management differs from typical application programming but reflects the TPM's resource constraints.
Session resource management presents similar challenges. Authorization sessions consume volatile memory for session state, keys, and nonces. A TPM may hold only about three sessions in volatile memory at once, though it can track a considerably larger number of saved sessions whose context has been moved out to host memory, so complex authorization scenarios require deliberate management. The architecture provides commands to start sessions, manage session state, and flush sessions when complete. Applications that fail to properly flush sessions can cause resource exhaustion preventing subsequent TPM operations. TPM software stacks typically implement session management automatically, but understanding the underlying constraints helps diagnose issues when resources are exhausted.
Garbage collection and resource recovery mechanisms protect against resource exhaustion. TPMs implement timeouts for saved contexts—objects or sessions not used within a timeout period may be flushed to recover resources. The architecture allows applications to extend timeouts if needed. When faced with resource exhaustion, some implementations use least-recently-used eviction to make space for new objects. However, relying on automatic eviction creates unpredictability, so robust applications explicitly manage resources rather than depending on TPM garbage collection.
Power Management and Platform States
TPM architecture must address platform power management, maintaining security properties across sleep states, hibernation, and power loss while minimizing energy consumption. The interactions between TPM state and platform power states significantly impact both security and user experience, requiring careful architectural design to balance protection with operational requirements.
The TPM receives explicit notification of platform state changes through TPM2_Startup and TPM2_Shutdown commands. When the platform enters sleep or hibernation, software should issue TPM2_Shutdown to inform the TPM of the orderly state transition. The TPM saves critical state to non-volatile memory and enters a low-power mode. During platform resume, TPM2_Startup indicates whether this is a resume from sleep (STATE) or a cold boot (CLEAR). This distinction affects whether volatile state is preserved—after TPM2_Startup CLEAR, all volatile objects and sessions are destroyed, while TPM2_Startup STATE preserves certain volatile state across sleep transitions.
Volatile state preservation creates security considerations. If PCR values and loaded objects persist across sleep states, an attacker might trigger sleep/resume cycles to bypass security checks. The architecture addresses this through policy—sealed data and authorization policies can require specific PCR values that include sleep/wake events, detecting if the platform entered potentially vulnerable states. The TPM's own dictionary attack counters are held in non-volatile memory precisely so that power cycling cannot reset them; an attacker who reboots the machine after a run of failed authorization attempts finds the lockout still in force.
A related protection guards the memory outside the TPM. Keys that the TPM releases—a volume encryption key handed to the operating system after a successful unseal, for example—live in ordinary DRAM, where a cold boot attack can recover them by cutting power and immediately restarting into a program that dumps memory before the contents decay. The TCG Platform Reset Attack Mitigation specification addresses this with a memory overwrite request bit that software sets whenever secrets are resident. The bit persists across resets, and firmware that finds it set must clear system memory before continuing to boot, so the attacker's dump program encounters zeros rather than keys. The mechanism illustrates a general point about TPM architecture: the module protects what is inside its boundary, and the platform must be designed to protect what the module hands out.
Power loss scenarios require special handling. If power fails without orderly TPM2_Shutdown, the TPM may be in an inconsistent state on subsequent startup. The architecture uses techniques like atomic write operations and rollback protection to ensure that NV storage remains consistent even after unexpected power loss. Some operations may be in progress when power fails; the TPM must detect and safely complete or abort these operations during the next startup. This requires careful design of NV write ordering and state machine implementation.
Discrete TPMs implement sophisticated power management to minimize energy consumption when idle. They may enter deep sleep states reducing power consumption to microwatts while maintaining NV storage content through low-power retention. Wake-up from deep sleep adds latency to the first TPM command after idle periods, creating a trade-off between power consumption and response time. Integrated and firmware TPMs typically tie their power management to the SoC's power states, entering lower-power modes when the security processor idles. Understanding these power characteristics is important for battery-powered devices where TPM power consumption contributes to overall system energy budget.
Security Architecture and Threat Model
The TPM security architecture addresses a specific threat model: protecting cryptographic keys and platform integrity measurements from extraction or modification even when the platform's main processor and operating system are fully compromised. This model assumes a powerful adversary with privileged software access but not unlimited physical access. Understanding this threat model is essential for correctly applying TPM capabilities and recognizing their limitations.
The architectural security foundation relies on hardware isolation. In discrete TPMs, physical separation between the TPM chip and main processor prevents direct memory access attacks. The TPM's processor and memory are completely independent, with communication only through defined interfaces that enforce access controls. Even an attacker with operating system kernel privileges cannot directly read TPM memory or modify TPM code. This isolation is the fundamental security property that makes TPMs effective against software-based attacks.
Cryptographic key protection architecture ensures that private keys generated in the TPM never leave in cleartext. The TPM generates key material internally using its hardware random number generator. For keys that must never be exposed, the TPM sets attributes preventing export even in encrypted form. Operations using these keys occur entirely within the TPM's protected boundary, with only signatures or encrypted outputs leaving the TPM. This architecture defeats attacks that attempt to extract keys from system memory after use, as the keys simply never exist outside the TPM.
Platform measurement architecture creates an immutable log of boot components through the extend-only PCR mechanism. An adversary cannot retroactively change PCR values to hide the execution of malicious code, as PCRs only support extend operations combining the current value with new measurements. The chained hash structure means that achieving a specific PCR value requires executing exactly the sequence of components that created that value. Combined with sealing data to specific PCR values, this enables detection of platform compromise even if the attack occurs before the TPM unseals protected data.
Physical attack resistance in discrete TPMs includes multiple defensive layers. Tamper-detection mechanisms monitor for invasive attacks such as package delamination or die removal. Power analysis countermeasures randomize operation timing and power consumption to prevent extraction of cryptographic keys through side channels. Glitching attacks that manipulate voltage or clock signals trigger protection mechanisms that halt operations or clear sensitive data. These protections significantly raise the bar for physical attacks, though nation-state adversaries with sophisticated equipment may still succeed—TPMs provide commercial-grade physical security rather than military-grade protection.
Authorization architecture defends against unauthorized use of TPM capabilities even by privileged software. The enhanced authorization model in TPM 2.0 allows complex policies that combine multiple factors: knowledge of authorization values, platform state as indicated by PCRs, command parameters, locality, and time bounds. An attacker who compromises the operating system gains access to locality 0 but cannot access higher-locality operations or use objects with policy requirements they cannot satisfy. Dictionary attack protection prevents brute-force attacks on authorization values by implementing exponentially increasing lockout periods after failed attempts.
The threat model explicitly excludes certain attacks. An adversary with prolonged physical access and sophisticated equipment may extract keys through advanced side-channel analysis, invasive probing, or fault injection. TPMs do not protect against attacks at the silicon foundry or supply chain attacks that compromise the device before deployment. They cannot detect all classes of hardware backdoors if those are present in the TPM itself. Software vulnerabilities in TPM firmware or drivers could undermine security properties. Understanding these limitations is as important as understanding the protections TPMs provide, ensuring they are applied appropriately within a defense-in-depth strategy.
Attestation Architecture
Attestation architecture enables a TPM to cryptographically prove to a remote party what software executed on the platform, providing verifiable evidence of platform state. This capability is fundamental to trusted computing, enabling scenarios from enterprise endpoint verification to cloud server attestation. The architecture encompasses attestation identity keys, quote generation, measurement logs, and privacy-preserving protocols.
The attestation identity key (AIK) mechanism in TPM 1.2 provided anonymous attestation through Privacy CA protocols. An AIK is a signing key certified by a Privacy CA as belonging to a genuine TPM without revealing which specific TPM. The platform generates a quote—a signed statement of PCR values—using the AIK. A verifier can trust the quote came from a real TPM because the Privacy CA certified the AIK, but cannot correlate quotes from the same TPM across sessions. This privacy property prevents remote parties from tracking devices.
Direct Anonymous Attestation removes the Privacy CA from the loop. Rather than obtaining a fresh certificate for each pseudonym, the TPM joins a group once and thereafter produces signatures that any verifier can confirm came from a member of the group without learning which member. The idea reached the TPM in the 1.2 era as an RSA-based protocol that proved too expensive for the hardware of the time. TPM 2.0 revisits it as ECDAA, built on pairing-friendly Barreto-Naehrig curves, which cuts the TPM's share of the work to something a small security processor can perform in reasonable time. ECDAA remains an optional capability rather than a universal one, and its most visible deployment is outside classic platform attestation: FIDO authenticators use it so that an authenticator can prove it is a genuine device of a certified model without becoming a global correlation handle for its user.
TPM 2.0 also keeps a certificate-based path, since many deployments prefer traceable identities to anonymous ones. The endorsement key is not a signing key, so it cannot sign a quote itself; instead the platform creates a restricted signing key—an attestation key—and proves to a certificate authority that this key resides in the same TPM as a specific endorsement key. The authority encrypts a challenge to the endorsement key, and only a TPM that genuinely holds both objects can recover it and release the credential. Enterprises use this flow to bind attestation keys to inventoried machines, accepting the loss of anonymity in exchange for knowing exactly which device produced a quote.
Quote generation combines platform measurements with freshness proofs. The verifier provides a nonce—a random value unique to this attestation exchange. The TPM includes this nonce in the signed quote along with selected PCR values. The verifier confirms the signature is valid, the nonce matches the expected value (proving freshness), and the PCR values match expected values for a trustworthy platform. This protocol defeats replay attacks and verifies current platform state rather than historic state.
The event log complements binary PCR values by providing semantic meaning to measurements. While PCRs contain cryptographic hashes that verify integrity, they do not indicate what was measured. The event log records what components were measured and in what order, allowing a verifier to understand what the PCR values represent. The verifier can reconstruct PCR values from the event log and compare to values in the quote, confirming both the measurements and their meaning. This architecture enables nuanced policies—accepting platforms with specific versions of firmware or bootloader configurations rather than simply requiring exact PCR matches.
Remote attestation protocols build on these primitives to enable distributed trust verification. An enterprise might require endpoint attestation before granting network access, verifying that devices boot approved firmware and operating systems. Cloud platforms use attestation to verify that virtual machine hosts maintain expected configurations, providing assurance to tenants. Industrial systems attest to expected firmware configurations before accessing control networks. The attestation architecture provides the foundation for these use cases while allowing flexibility in trust policies and verification procedures.
Interoperability and Standards Compliance
TPM architectural specifications must enable interoperability across diverse implementations from multiple vendors while providing conformance testing and certification mechanisms. The Trusted Computing Group maintains specifications, test suites, and compliance programs ensuring that TPMs from different manufacturers work consistently with software stacks and applications. This interoperability is essential for TPM adoption—applications must work across vendor implementations without requiring vendor-specific code.
The library specification defines the core TPM functionality in a vendor-neutral manner, specifying command structures, algorithm parameters, and operational requirements without mandating specific implementation approaches. Vendors can optimize their implementations for cost, performance, or security properties while maintaining compliance. The specification includes both normative requirements (must implement) and optional features (may implement), with platform profiles specifying which optional features are required for specific use cases.
Conformance testing architecture includes both functional and security testing. Functional test suites verify that commands behave correctly, return proper error codes, and maintain state consistently. Security tests verify authorization mechanisms work correctly, resources are properly isolated, and cryptographic operations produce correct results. The TCG provides reference test suites that implementations can use to verify compliance before submission for certification. These tests cover normal operation, error conditions, and boundary cases, providing comprehensive verification of specification conformance.
Certification programs provide third-party verification of compliance. Implementations undergo evaluation by accredited test labs, producing test reports demonstrating compliance with specifications. The certification process includes functional testing, security analysis, and review of design documentation. For discrete TPMs the usual route is Common Criteria evaluation against the TCG's PC Client Specific TPM protection profile, with commercial parts typically certified at EAL4 augmented with additional vulnerability-analysis assurance—a level that reflects meaningful resistance to attack rather than mere functional correctness. Organizations can name the required protection profile and assurance level in procurement, which is how security requirements reach the supply chain in practice.
FIPS 140 certification represents an important additional standard for cryptographic modules in government and regulated industries. FIPS 140 Level 1 provides basic cryptographic validation, while Level 2 adds tamper-evidence requirements appropriate for discrete TPMs. The current revision, FIPS 140-3, aligns U.S. validation with the international ISO/IEC 19790 standard and has succeeded the long-running FIPS 140-2 program for new validations. The FIPS validation process evaluates not just the TPM but the cryptographic boundary, key management procedures, and operational environment. FIPS-validated TPMs can be deployed in systems requiring cryptographic module validation, expanding TPM applicability to government and financial sectors.
International standards adoption extends TPM interoperability globally. ISO/IEC adopted the TPM 2.0 library specification as ISO/IEC 11889, providing recognition beyond the TCG's industry consortium. National standards bodies reference these specifications in procurement requirements and security frameworks. This standards ecosystem creates incentives for vendor compliance and enables global interoperability, ensuring that TPM technology provides consistent security properties across implementations and jurisdictions.
Future Architectural Directions
TPM architecture continues evolving to address emerging security requirements, new attack vectors, and changing computing paradigms. Understanding likely future directions helps inform current design decisions and prepares for migration as new capabilities emerge. Several architectural trends are shaping the next generation of trusted platform modules.
Post-quantum cryptography integration represents a critical architectural evolution. Current TPM cryptography relies on RSA and elliptic curve algorithms that quantum computers could potentially break. The architecture must evolve to support post-quantum algorithms like lattice-based cryptography, hash-based signatures, or code-based encryption while maintaining backward compatibility with existing deployments. This requires cryptographic agility at an even deeper level than current TPM 2.0 algorithm support, potentially including the ability to update cryptographic implementations through firmware while maintaining security properties.
Confidential computing integration brings TPM attestation to encrypted memory environments. Technologies like Intel SGX, AMD SEV, and Arm Confidential Computing Architecture create encrypted execution environments that protect workloads from privileged software and even some physical attacks. Integrating TPM measurement and attestation with these technologies enables verification of both platform boot integrity and runtime execution environment. The architectural challenge involves extending the measurement chain into encrypted enclaves and providing attestation that combines platform measurements with enclave measurements.
Heterogeneous computing platforms with multiple processors, accelerators, and security domains require rethinking the single-TPM model. A system might include CPUs, GPUs, FPGAs, and AI accelerators, each with security-critical firmware. Should each component have its own TPM, or should a coordinating TPM aggregate measurements from multiple roots of trust? The architecture must address how to measure, attest, and secure platforms where no single component has visibility into the entire system. Compositional attestation that builds overall platform trust from multiple attested components represents one architectural approach.
Edge and IoT deployments drive requirements for lighter-weight TPM implementations with even lower resource requirements than current embedded profiles. Devices with kilobytes of memory and milliwatts of power budget need TPM capabilities but cannot support full PC Client implementations. Future architectures might define minimal TPM profiles that provide core capabilities—key protection, measurement, attestation—with greatly reduced resource requirements. The challenge involves maintaining meaningful security properties while adapting to extreme constraints.
Zero-trust architecture integration makes TPM attestation a continuous process rather than a point-in-time verification. Traditional TPM usage measures boot components but provides limited visibility into runtime state changes. Emerging architectures extend measurement to runtime, continuously verifying that executing code matches expectations. This requires architectural changes to measurement protocols, PCR management, and attestation semantics. Rather than attesting to a boot-time state, systems would attest to current runtime state, enabling detection of attacks that occur after successful boot.
The architectural evolution must balance innovation with backward compatibility. Existing TPM deployments number in the hundreds of millions of devices, a base that grew sharply once Windows 11 made TPM 2.0 a baseline requirement. New capabilities must coexist with legacy systems, software stacks must support both old and new TPM features, and migration paths must allow gradual adoption without breaking existing security properties. This tension between innovation and compatibility will shape TPM architectural evolution for years to come, requiring careful design to advance security capabilities while maintaining the interoperability and reliability that enabled widespread TPM adoption.
Conclusion
TPM architecture brings together a cryptographic processor, hardware random number generator, protected non-volatile storage, platform configuration registers, and a hardware-enforced privilege model to deliver a compact but capable root of trust. The redesign from TPM 1.2 to TPM 2.0 traded a fixed RSA-and-SHA-1 design for cryptographic agility, a clean four-hierarchy model, enhanced authorization policies, and platform profiles that span everything from data-center servers to deeply embedded devices. The same logical specification can be realized as a discrete chip, integrated into a chipset, executed as firmware in a trusted execution environment, or virtualized for cloud tenants, with each form factor making different trade-offs among physical security, cost, and performance.
Used well, a TPM protects keys and integrity measurements even against a fully compromised operating system, yet it is not a universal defense: its threat model assumes a bounded physical adversary and depends on the correctness of platform firmware and the software stack around it. Treating the TPM as one layer within a broader defense-in-depth strategy—paired with measured boot, sound key management, and remote attestation—is what turns its architectural guarantees into practical platform security.