Trusted Computing, TPM and TCB
Trusted Computing is a security paradigm in which hardware and software work together so that a system behaves consistently in expected ways, and that behavior can be verified (attested) by the owner or remote parties. In the CSSLP Secure Software Architecture and Design domain, it supports principles such as defense in depth, least privilege, and complete mediation by anchoring trust in tamper-resistant hardware rather than relying solely on software controls that can be subverted. The Trusted Platform Module (TPM) is the hardware foundation of Trusted Computing, defined by the Trusted Computing Group (TCG). It is a dedicated, tamper-resistant cryptographic chip (or firmware equivalent) that provides: secure generation and storage of cryptographic keys (endorsement, storage root, and attestation keys); Platform Configuration Registers (PCRs) that record hash measurements of firmware, bootloader, and OS components to enable measured and secure boot; sealing/binding of secrets so data is only released when the platform is in a known-good state; and remote attestation, allowing a verifier to confirm the platform's integrity. Architects leverage TPMs for full-disk encryption (e.g., BitLocker), device identity, and root-of-trust for measurement (RTM) and reporting (RTR). The Trusted Computing Base (TCB) is the totality of hardware, firmware, and software components critical to enforcing a system's security policy. If any TCB element is compromised, the security of the whole system is undermined. It includes the security kernel, reference monitor, memory management, and privileged processes. A key design goal is to keep the TCB as small, simple, and verifiable as possible (economy of mechanism), because a larger TCB expands the attack surface and complicates assurance and evaluation (e.g., Common Criteria). In summary, Trusted Computing is the concept, the TPM is the hardware root of trust enabling it, and the TCB is the minimal set of trusted components whose integrity the TPM helps measure and protect. Together they let secure software architects design systems with verifiable integrity from boot through runtime.
Trusted Computing, TPM and TCB — CSSLP Domain 3 (Secure Software Architecture and Design) Study Guide
Every security control a developer writes ultimately depends on something underneath it being trustworthy. If the operating system, firmware, or hardware is compromised, application-level encryption, authentication and access control become meaningless because an attacker below the application can intercept keys, patch code in memory, or simply lie about what is running. Trusted Computing answers the question: what is the minimum set of things we must trust, and how do we prove that those things have not been tampered with?
For the CSSLP, this topic sits in Domain 3 (Secure Software Architecture and Design) and connects directly to secure design principles (economy of mechanism, complete mediation, least privilege), to threat modeling (identifying trust boundaries), and to Domain 7 (Secure Software Deployment, Operations and Maintenance) where measured boot, attestation and key protection are operational realities. Exam writers love this area because it tests whether you understand where trust originates rather than just memorizing control names.
2. Core Definitions You Must Know
Trusted Computing — A set of hardware- and software-based technologies, promoted by the Trusted Computing Group (TCG), designed to make a computing platform behave in expected ways and to allow that behavior to be verified. Key idea: trust is anchored in hardware and extended upward through a chain of measurements.
Trusted Computing Base (TCB) — The totality of protection mechanisms within a system (hardware, firmware, and software) that together enforce the security policy. The term comes from the Orange Book (TCSEC, DoD 5200.28-STD). If any component of the TCB fails or is compromised, the security of the entire system can be compromised. Everything outside the TCB can fail without violating policy.
Trusted Platform Module (TPM) — A dedicated, tamper-resistant microcontroller (specified by TCG and standardized as ISO/IEC 11889) that provides a hardware root of trust. It securely generates and stores cryptographic keys, records platform integrity measurements, and can report (attest) those measurements to a remote party.
Root of Trust (RoT) — A component that must be trusted implicitly because its misbehavior cannot be detected. TCG defines three: Root of Trust for Measurement (RTM), Root of Trust for Storage (RTS), and Root of Trust for Reporting (RTR). The TPM provides RTS and RTR; the earliest boot code (Core RTM in BIOS/UEFI) provides RTM.
Chain of Trust — Each stage of boot measures (hashes) the next stage before handing off control, so trust established in hardware is extended step by step to firmware, bootloader, OS kernel, drivers and applications.
3. The Trusted Computing Base in Depth
3.1 What is inside the TCB?
Typically: the hardware (CPU, memory management unit, TPM), the firmware (BIOS/UEFI), the security kernel of the operating system, trusted device drivers, and any privileged processes that enforce or bypass the security policy. Application code is normally outside the TCB unless it runs with privilege that could subvert the policy.
3.2 The Security Perimeter
The imaginary boundary separating the TCB from the rest of the system. Communication across the perimeter must go through controlled, well-defined interfaces. Architects should minimize the number and complexity of these interfaces.
3.3 The Reference Monitor and Security Kernel
The reference monitor is an abstract concept: a mechanism that mediates every access by a subject to an object according to the security policy. The security kernel is the hardware, firmware and software that actually implements the reference monitor. For the reference monitor to be effective it must satisfy three properties, which the exam frequently tests:
• Complete mediation (always invoked) — it cannot be bypassed; every access is checked.
• Tamperproof (isolation) — it cannot be modified by untrusted subjects.
• Verifiable (small enough to be analyzed and tested) — it must be simple enough that its correctness can be assured.
3.4 Why a Small TCB Is a Design Goal
This is the principle of economy of mechanism (keep it simple) and minimizing the attack surface. The larger the TCB, the more code must be trusted, the more bugs it will contain, and the harder it is to verify. Good secure architecture pushes functionality out of the TCB wherever possible: run services unprivileged, use microkernel designs, separate privileged helper processes, and avoid making the whole application part of the TCB.
3.5 Trusted Path and Trusted Channel
A trusted path is a protected communication path between the user and the TCB (for example, Ctrl+Alt+Del to reach the secure logon screen so that malware cannot spoof the password prompt). A trusted channel is a protected path between the TCB and another trusted IT product. Both exist to prevent spoofing and interception at the perimeter.
3.6 Assurance and the TCB
Assurance is confidence that the TCB enforces policy correctly. Historically measured by TCSEC (D through A1) and now by the Common Criteria (ISO/IEC 15408) with Evaluation Assurance Levels EAL1–EAL7. Higher assurance means more rigorous design, testing and, at the top, formal verification of the TCB.
4. The Trusted Platform Module in Depth
4.1 What the TPM Is and Is Not
The TPM is a passive security coprocessor. It does not scan the system, block malware, or execute application code. It responds to commands from software (BIOS, OS, applications). It is also not a high-performance crypto accelerator and not a general-purpose Hardware Security Module (HSM); it is a low-cost component designed to protect secrets and record integrity state on a single platform.
4.2 Internal Components
• Platform Configuration Registers (PCRs) — A set of registers (24 in TPM 2.0 per bank) that store hashes of measured components. PCRs cannot be written directly; they can only be extended: new value = Hash(old value || new measurement). This makes the recorded history tamper-evident — you cannot undo or reorder a measurement.
• Endorsement Key (EK) — A unique asymmetric key pair burned in or generated at manufacture that identifies the TPM. The private part never leaves the TPM. Used to prove the TPM is genuine. Because it is unique and permanent, it raises privacy concerns, so it is not used directly for signing attestations.
• Storage Root Key (SRK) — The root of the key hierarchy stored in the TPM. Other keys are wrapped (encrypted) under the SRK and stored outside the TPM, allowing unlimited keys with limited internal memory.
• Attestation Identity Keys (AIKs) / Attestation Keys (AKs) — Aliases for the EK used to sign PCR values during attestation, preserving privacy (TPM 2.0 uses Attestation Keys and may use a Privacy CA or Direct Anonymous Attestation).
• Random Number Generator — A true hardware RNG for key generation and nonces.
• Cryptographic engine — RSA (and in TPM 2.0 also ECC), SHA hashing, HMAC, and symmetric algorithms for internal use.
• Non-volatile memory (NVRAM) — Small, access-controlled persistent storage for keys, certificates and counters.
4.3 Core TPM Functions
• Secure key generation and storage — Keys created inside the TPM can be marked non-migratable so the private part can never be exported in plaintext.
• Measured boot / integrity measurement — Each boot component is hashed and extended into PCRs. The result is a record of exactly what code executed.
• Sealing — Encrypting data (such as a disk encryption key) so that the TPM will only release it when the PCRs match the values they had at sealing time. If the boot chain changes (rootkit, modified bootloader), the data cannot be unsealed. This is how BitLocker protects its volume master key.
• Binding — Encrypting data with a TPM-held key so only that TPM can decrypt it, without the PCR condition.
• Remote attestation — The TPM signs a quote of PCR values (plus a nonce for freshness) with an attestation key; a remote verifier compares them to known-good values to decide whether the platform is in a trusted state before granting access (used in network access control, zero trust, and cloud confidential computing).
4.4 TPM 1.2 vs TPM 2.0
TPM 1.2 was tied to SHA-1 and RSA. TPM 2.0 introduces algorithm agility (SHA-256, ECC, multiple PCR banks), a richer authorization model (policies, multiple hierarchies: Platform, Storage/Owner, Endorsement, Null), and is required by Windows 11. Form factors include discrete TPM (dTPM chip), firmware TPM (fTPM running in the CPU's trusted execution environment), integrated TPM, and virtual TPM (vTPM) for virtual machines.
4.5 Secure Boot vs Measured Boot — A Classic Exam Distinction
• Secure Boot (UEFI feature) — Enforces: each component's digital signature is verified against trusted certificates before it is allowed to run; unsigned or untrusted code is blocked.
• Measured Boot (TPM feature) — Records: each component is hashed into PCRs regardless of whether it is good or bad; nothing is blocked, but the measurements can later be used for sealing or attestation to detect tampering.
Remember: Secure Boot prevents, Measured Boot detects and proves. They are complementary.
5. Related Concepts Often Tested Alongside
Hardware Security Module (HSM) — A dedicated, high-performance, tamper-resistant device (network appliance or PCIe card) for generating, storing and using keys at scale (PKI CAs, payment systems, database TDE). Compare: TPM = per-platform, low-cost, integrity + key protection; HSM = enterprise, high throughput, FIPS 140-2/140-3 Level 3 or 4.
Trusted Execution Environment (TEE) — An isolated execution area in the main processor (ARM TrustZone, Intel SGX enclaves, AMD SEV) that protects code and data confidentiality and integrity even from a compromised OS. The TEE is a place to run trusted code; the TPM is a place to store secrets and measurements. TEEs are the foundation of confidential computing.
Secure Element — Tamper-resistant chip in mobile devices and smart cards for credentials and payment.
Hardware Root of Trust for Software — Code signing and verified boot extend to applications: a signed application can be measured, and a TPM policy or attestation service can refuse to release secrets to a modified binary.
Trust Boundaries in Threat Modeling — When drawing data flow diagrams, the TCB perimeter is a trust boundary. Data crossing it must be validated; components inside it should be minimal and hardened.
6. How a CSSLP Applies This in Design
• Identify what constitutes your application's TCB and document it; keep privileged code minimal and separate (principle of least privilege and separation of privilege).
• Do not re-implement what the platform's TCB already provides — leverage existing, vetted components (TLS libraries, OS access control, TPM-backed key stores, Windows CNG/Platform Crypto Provider, Linux tpm2-tools, Android Keystore, Apple Secure Enclave).
• Protect secrets at rest with TPM sealing or TEE-based storage rather than hard-coding keys or storing them in configuration files.
• Use remote attestation for high-assurance scenarios (IoT fleet integrity, zero-trust device health checks, cloud confidential VMs) so that services only talk to platforms in a known-good state.
• Design with fail-secure behavior: if attestation or unsealing fails, deny access and alert rather than falling back to an unprotected mode.
• Plan for the operational side: PCR values change with legitimate firmware or OS updates, so sealing policies and attestation baselines need lifecycle management; TPM ownership, clearing and recovery keys must be governed.
• Understand the limits: the TPM does not defend against runtime exploitation after boot, physical bus sniffing on some discrete TPMs, or a flawed application that leaks data it legitimately decrypted.
7. Exam Tips: Answering Questions on Trusted Computing, TPM and TCB
Tip 1 — Map keywords to concepts.
• 'Totality of protection mechanisms' / 'if compromised the whole system is compromised' → TCB.
• 'Mediates every access' / 'always invoked, tamperproof, verifiable' → Reference monitor (concept) or Security kernel (implementation).
• 'Boundary between trusted and untrusted components' → Security perimeter.
• 'Hardware chip stores keys and integrity measurements' → TPM.
• 'Registers that can only be extended' → PCRs.
• 'Release the key only if the system boots in the expected state' → Sealing.
• 'Prove to a remote server that the platform is unmodified' → Remote attestation.
• 'Block unsigned bootloaders' → Secure Boot; 'record what booted' → Measured Boot.
• 'High-throughput key operations for a CA or payment system' → HSM, not TPM.
• 'Run code isolated from a compromised OS' → TEE / enclave.
• 'Protect the user from a fake login prompt' → Trusted path.
Tip 2 — When asked for the BEST design choice, favor the smallest TCB. Answers that minimize privileged code, reuse platform-provided trusted components, or move functionality outside the security perimeter are usually correct. Answers that add complexity to privileged components or embed secrets in application code are distractors.
Tip 3 — Remember the TPM is passive and local. If an option says the TPM 'scans for malware', 'blocks attacks', 'encrypts network traffic at line rate', or 'stores unlimited keys internally', it is wrong. The TPM stores and protects; the software must ask it to act.
Tip 4 — Distinguish prevent vs detect. CSSLP questions often hinge on whether a control stops an event or merely records it. Secure Boot and the reference monitor prevent; measured boot, PCRs and attestation detect and prove.
Tip 5 — Know the three reference monitor properties cold. If a scenario describes a security check that can be bypassed by calling an alternate API, the violated property is complete mediation. If an unprivileged process can modify the check, it is tamperproof/isolation. If the component is too large to be tested, it is verifiability.
Tip 6 — Watch for privacy angles. If the question mentions user tracking concerns with hardware identity, the answer involves not using the Endorsement Key directly but using Attestation Identity Keys (via a Privacy CA or Direct Anonymous Attestation).
Tip 7 — Think like an architect, not an administrator. The CSSLP asks how to design software to leverage these mechanisms (use TPM-backed key storage APIs, define trust boundaries, implement attestation checks, fail securely) rather than how to configure a specific vendor's BIOS.
Tip 8 — Eliminate distractors by scope. TCB is a system-wide conceptual term; TPM is a specific hardware component; HSM is an enterprise appliance; TEE is a processor execution mode. If the question asks about a concept and the options are products (or vice versa), narrow accordingly.
8. Practice Questions
Q1. An architect wants a laptop's full-disk encryption key to be released only when the firmware, bootloader and kernel have not been modified. Which TPM capability should the design use?
A. Binding B. Sealing C. Remote attestation D. Secure Boot
Answer: B. Sealing ties key release to specific PCR values. Binding encrypts to the TPM without a PCR condition; attestation reports to a remote party; Secure Boot is a UEFI signature check, not a TPM key-release mechanism.
Q2. Which of the following is NOT a required property of a reference monitor?
A. It must be invoked on every access B. It must be tamperproof C. It must be small enough to verify D. It must be implemented in hardware
Answer: D. The reference monitor is an abstract concept; the security kernel implementing it may use hardware, firmware and software.
Q3. A development team proposes placing input validation, business logic and the authorization engine in a single privileged service running as root to simplify deployment. From a trusted computing perspective, what is the primary concern?
A. Performance B. It enlarges the TCB and attack surface C. It violates separation of duties among developers D. It prevents use of a TPM
Answer: B. Bundling unrelated functionality into a privileged component expands the TCB, making it harder to verify and increasing impact of any bug.
Q4. A cloud service must verify that an IoT device's firmware is unmodified before accepting its telemetry. Which mechanism BEST meets this requirement?
A. Code obfuscation B. Remote attestation using TPM PCR quotes C. Secure Boot alone D. TLS client certificates
Answer: B. Only attestation lets a remote party verify the measured state. Secure Boot enforces locally but gives the server no proof; a client certificate proves identity, not integrity.
Q5. Which component stores a cumulative hash of every boot component such that previous values cannot be overwritten?
A. Endorsement Key B. Storage Root Key C. Platform Configuration Register D. NVRAM index
Answer: C. PCRs support only the extend operation, producing a tamper-evident chain.
9. One-Page Summary
• TCB = everything that must work correctly for the security policy to hold; keep it small, isolated, and verifiable.
• Reference monitor = always invoked, tamperproof, verifiable; the security kernel implements it; the security perimeter bounds the TCB; the trusted path protects user-to-TCB interaction.
• Trusted Computing = hardware-anchored roots of trust (RTM, RTS, RTR) extended via a chain of trust.
• TPM = passive, tamper-resistant chip (ISO/IEC 11889, TPM 2.0 adds algorithm agility) providing PCRs, EK, SRK, AIKs, RNG, sealing, binding, measured boot and remote attestation.
• Secure Boot prevents; Measured Boot detects.
• TPM vs HSM vs TEE: per-device secrets and integrity vs enterprise key operations vs isolated code execution.
• In design: leverage platform trust mechanisms, minimize privileged code, protect keys in hardware, attest before trusting, fail secure, and manage the lifecycle of measurements and keys.