Trusted Platform Modules
A Trusted Platform Module is a security processor that protects cryptographic keys and records platform measurements. Software uses its standard commands to bind secrets and identity proofs to a device or to a measured system state.
itComputer architecture and hardware | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Trusted Platform Modules: Don't Panic
A Trusted Platform Module is a small security processor that keeps keys and a little platform state in a place ordinary software cannot casually copy. It is not a tiny security guard patrolling every program. That would be far too much responsibility for a component that mostly prefers short cryptographic conversations.
The useful picture is protected objects. A TPM can create keys and sealed-data objects beneath hierarchies, then let software store the protected blobs outside the chip. The blobs are portable in the same sense that a house key is portable when it only works in the lock it came from. The correct TPM and parent are still required before the object becomes usable.
Then come Platform Configuration Registers, or PCRs. They accumulate measurements as the platform starts. A PCR is an integrity check over an ordered chain, not a diary with readable entries. The event log is the diary. When a verifier receives a quote, it checks the fresh qualifying data and signature, replays the log, and decides whether the reported state meets its policy. A valid quote is evidence, not a medal for good behavior.
Sealing makes this practical. A disk-encryption system can ask the TPM to release a small volume key only when authorization and policy conditions match. The TPM does not encrypt every sector. It guards the small thing that lets the other system do that work. If firmware or boot state changes, release can fail. That is the design noticing change, which is useful right up until recovery material was filed under “later.”
The implementation matters. A discrete TPM, firmware TPM, and virtual TPM can offer similar commands while relying on different physical boundaries, update paths, and owners. Secure Boot also has a different job from measured boot: one controls what may execute, while the other records evidence about what did.
Read the intro when you need the architecture and operational limits. Use the slides for the relationship between objects, PCRs, sealing, and quotes. Keep the cheatsheet nearby when a failure points to policy, authorization, resources, or the event log. The references then lead into the specifications and operating-system material where the careful details live.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://trustedcomputinggroup.org/work-groups/trusted-platform-module/
Supports
- TCG defines TPM specifications and platform-specific profiles
- TPM 2.0 supports platform, software-stack, and virtualized implementations
- https://trustedcomputinggroup.org/resource/tpm-library-specification/
Supports
- TPM 2.0 defines architecture, structures, commands, algorithms, authorization, objects, and PCR behavior
- TPM 2.0 expands algorithms and authorization mechanisms beyond TPM 1.2
- TPM protected objects, hierarchies, handles, sessions, nonvolatile indexes, and quotes follow the library model
- https://trustedcomputinggroup.org/wp-content/uploads/TCG-PC-Client-Platform-TPM-Profile-Specification-for-TPM-2.0-Version-1.06-rc-1_9Jan25.pdf
Supports
- Platform profiles narrow TPM Library choices for PC clients
- PC Client TPMs define required PCR and nonvolatile behavior
- https://learn.microsoft.com/en-us/windows/security/hardware-security/tpm/trusted-platform-module-overview
Supports
- A TPM provides hardware-based security functions and protects cryptographic keys
- Windows uses TPM capabilities for platform integrity, authentication, BitLocker, and device health attestation
- TPM 2.0 Windows health attestation expects UEFI firmware
- https://learn.microsoft.com/en-us/windows/security/hardware-security/tpm/tpm-fundamentals
Supports
- TPMs can be discrete microcontrollers or protected modes in a main processor
- Endorsement keys, storage keys, sealing, key attestation, and anti-hammering have distinct roles
- TPM-protected private key material is not exposed for ordinary external use
- https://learn.microsoft.com/en-us/azure/security/fundamentals/measured-boot-host-attestation
Supports
- Measured boot extends a hash chain into PCRs and records a boot configuration log
- Host attestation combines signed platform state, an event log, and verifier assessment
- PCR values and logs must be evaluated together
- https://learn.microsoft.com/en-us/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices
Supports
- Hardware, firmware, and boot-loader changes can change PCR values
- TPM 2.0 can expose PCR banks associated with different hash algorithms
- https://support.microsoft.com/en-US/Windows/Security/Device-Security/what-s-a-trusted-platform-module-tpm
Supports
- TPMs can be separate motherboard components or integrated processor solutions
- Integrated placement changes the physical communication attack surface
- https://cdn.kernel.org/doc/html/latest/security/tpm/index.html
Supports
- Linux documents TPM measurement integrity and initial trust establishment
- Operating-system support participates in safe TPM use
- https://kernel.org/doc/html/v6.9/security/keys/trusted-encrypted.html
Supports
- Linux trusted keys can root protected key material in a TPM storage key
- Trusted keys can be sealed to selected PCR values
- TPM 2.0 objects require appropriate parent and persistent-key handling
- https://cdn.kernel.org/doc/html/latest/security/tpm/tpm-security.html
Supports
- A discrete TPM host bus can be attacked by an interposer
- Session authentication and parameter protection matter for sensitive TPM traffic
- TPM integration and provisioning affect the resulting security boundary
- https://tpm2-tools.readthedocs.io/en/stable/
Supports
- tpm2-tools provides command-line access built on the TPM2 Software Stack
- TPM software uses system APIs and transport interfaces to reach the device
- https://github.com/tpm2-software/tpm2-tss
Supports
- TPM2 Software Stack supplies multiple API layers and transport abstractions
- Applications do not ordinarily send raw device bytes without a software stack
- https://github.com/sindresorhus/awesome
Supports
- The Awesome catalog was the required starting point for ecosystem discovery
- Its security catalog links to Embedded and IoT Security
- https://github.com/fkie-cad/awesome-embedded-and-iot-security
Supports
- The fetched list covers embedded and IoT security tools and resources
- Its current curated entries do not provide a TPM-specific ecosystem set suitable for this course
- https://www.infineon.com/products/security-smart-card-solutions/optiga-embedded-security-solutions/optiga-tpm
Supports
- OPTIGA TPM is a discrete TPM family for computing and embedded platforms
- The family includes host interface and product-lifecycle choices
- https://www.st.com/stsafe-tpm
Supports
- STSAFE-TPM is a TPM family for computing, industrial, connected, and automotive designs
- ST supplies TPM variants and integration support for Linux and Windows ecosystems
- https://www.nuvoton.com/products/cloud-computing/security/trusted-platform-module-tpm/
Supports
- Nuvoton SafeKeeper supplies single-chip TPM devices implementing the TCG PC Client specification
- https://learn.microsoft.com/en-us/windows/security/hardware-security/pluton/microsoft-pluton-security-processor
Supports
- Microsoft Pluton is an integrated security processor that can provide TPM functionality on supported platforms
- Its firmware and operating-system integration are part of its security lifecycle
- https://github.com/stefanberger/swtpm
Supports
- swtpm provides libtpms-based TPM emulators with socket and virtual-device interfaces
- swtpm supports creating separate virtual TPM device instances and related provisioning data
- https://trustedcomputinggroup.org/resource/tcg-tpm-v2-0-provisioning-guidance/
Supports
- TPM provisioning needs a defined lifecycle for platform ownership, keys, and application use cases
- TPM identity workflows need consideration of recovery from TPM or motherboard failure
- https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/faq
Supports
- TPM, UEFI, Secure Boot, and firmware updates can require BitLocker protection to be suspended or tested
- BitLocker-protected data is unrecoverable without required authentication or recovery information
- TPM plus PIN adds a startup authentication factor and uses TPM anti-hammering
- https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/countermeasures
Supports
- TPM-only startup is appropriate for limited physical-access scenarios while TPM plus PIN is recommended for attackers with lengthy physical access
- Standby behavior and preboot authentication affect the protection of encrypted data
- https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/configure
Supports
- Custom PCR validation profiles affect both BitLocker security and manageability
- Firmware updates can cause recovery when selected PCR measurements change
