Chapter 8 — Computer architecture
Lesson map
Lesson 08 published. Map, example, EX022.
flowchart TD
N0["Learning outcomes"]
N1["8.1 Layers of a computer"]
N2["8.2 Privilege and memory protection"]
N3["8.3 Roots of trust and secure boot"]
N4["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Worked example"]
EX --> Q["Exercise EX022"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["8.1 Layers of a computer"]
N2["8.2 Privilege and memory protection"]
N3["8.3 Roots of trust and secure boot"]
N4["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX022"]
[Learning outcomes]
|
v
[8.1 Layers of a computer]
|
v
[8.2 Privilege and memory protection]
|
v
[8.3 Roots of trust and secure boot]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX022]
Learning outcomes
You will (1) describe CPU, memory and storage layers relevant to security; (2) explain privilege rings and memory protection; (3) explain hardware roots of trust and secure boot.
8.1 Layers of a computer
Sofia studies how processors, caches, main memory and storage work together. Daniel connects each layer to security. Caches speed up memory access but timing differences between cached and uncached data have enabled side-channel attacks such as those Anderson (2020) discusses. Main memory holds keys and secrets while programs run, so physical access or bugs can expose them. Storage keeps data at rest, which is why fare-system servers encrypt disks. Understanding layers helps an architect ask where a secret lives at each moment and which component must be trusted to protect it there.
8.2 Privilege and memory protection
Processors provide privilege levels: the operating system kernel runs with high privilege, applications with lower privilege. The memory management unit gives each process its own address space, so one program cannot read another's memory without permission. These hardware mechanisms implement complete mediation and least privilege at the lowest level. When a bug lets a program cross these boundaries, the whole system's guarantees fail. Sofia sees why virtual machines and containers depend on hardware features, and why kernel vulnerabilities are treated as critical: they undermine the boundaries every other control relies on.
8.3 Roots of trust and secure boot
A device must start from something it trusts. A hardware root of trust, such as a boot ROM and a key fused into the chip, verifies the signature of the first software loaded, which verifies the next stage, and so on: this is secure boot. Corvia's fare validators use it so that tampered firmware will not run. NIST SP 800-160 Vol. 1 Rev. 1 treats such mechanisms as part of engineering trustworthiness across the life cycle. Sofia notes the operational side: signing keys for firmware must be protected, because whoever holds them can make any firmware trusted.
Worked example
Sofia traces where a fare validator's key lives across storage, memory and cache, and explains secure boot from boot ROM to application.
Synthetic case. Device details are synthetic; Anderson (2020) and SP 800-160 Vol. 1 Rev. 1 are real.
Errors and limits
Hardware protections have had flaws requiring microcode and design fixes. Secure boot does not protect against bugs in correctly signed software.
Exercises
- EX022 — Cache timing. Why can caches create security problems? Rubric: 3 = timing differences between cached and uncached access can leak information;; 2 = timing;; 1 = vague;; 0 = none.
- EX023 — Kernel bug severity. Why are kernel vulnerabilities treated as critical? Rubric: 3 = they break the privilege and memory boundaries other controls rely on;; 2 = boundaries;; 1 = minor;; 0 = none.
- EX024 — Signing key risk. Why must firmware signing keys be protected? Rubric: 3 = whoever holds them can make any firmware trusted by secure boot;; 2 = trusted firmware;; 1 = not important;; 0 = none.
Synthesis
Hardware layers, privilege mechanisms and roots of trust form the base on which every higher security control stands.
Continue studying — chapter 08 of 50
← Chapter 07 (draft) · Course chapter index · Chapter 09 (draft) →