◇ OpenCyber Academy
Bachelor's · Chapter 11 · English

Chapter 11 — Operating systems

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 11 — Operating systems

Lesson map

Lesson 11 published. Map, example, EX031.

flowchart TD
  N0["Learning outcomes"]
  N1["11.1 Keys in the operating system"]
  N2["11.2 Secure randomness"]
  N3["11.3 Full-disk encryption"]
  N4["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Worked example"]
  EX --> Q["Exercise EX031"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["11.1 Keys in the operating system"]
  N2["11.2 Secure randomness"]
  N3["11.3 Full-disk encryption"]
  N4["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX031"]
[Learning outcomes]
    |
    v
[11.1 Keys in the operating system]
    |
    v
[11.2 Secure randomness]
    |
    v
[11.3 Full-disk encryption]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX031]

Learning outcomes

You will (1) explain how operating systems store and protect keys; (2) use the system's secure random generator; (3) configure full-disk encryption sensibly.

11.1 Keys in the operating system

Operating systems provide key stores: protected areas where applications keep private keys and certificates, often backed by hardware such as a trusted platform module. Priya examines how Tidewell's staff laptops store the certificates used to connect to the staff wiki. The private key is marked non-exportable, so applications can use it to sign but cannot copy it out. She learns that this design limits damage from malware: an attacker may misuse the key while on the machine but cannot take it elsewhere, and removing the malware ends the misuse.

11.2 Secure randomness

The operating system collects unpredictable events and offers a cryptographically secure random generator. Python's secrets module uses it, while the random module does not and must never be used for keys, tokens or salts. Priya reviews a library volunteer's script that generated temporary portal passwords with random.choice and replaces it with secrets.choice. She explains that random's outputs can be predicted after observing enough of them, which would let someone guess other patrons' temporary passwords. NIST SP 800-90A describes the generator designs operating systems build on.

11.3 Full-disk encryption

Tidewell's laptops use full-disk encryption, which protects data if a laptop is lost while powered off. Priya checks the configuration: recovery keys are stored in the consortium's management system, not on sticky notes; laptops require a PIN at start-up in addition to the hardware module; and sleep mode is replaced by hibernation, since memory contents, including disk keys, persist during sleep. She documents that full-disk encryption does not protect a laptop that is stolen while unlocked, so screen locks remain essential.

Worked example

Priya confirms non-exportable laptop keys, replaces random.choice with secrets.choice for temporary passwords, and tightens full-disk encryption with central recovery keys and start-up PINs.

Synthetic case. Tidewell's laptops are invented; SP 800-90A is real.

Errors and limits

Non-exportable keys can still be misused while malware runs. Full-disk encryption offers nothing once the system is unlocked.

Exercises

Synthesis

Operating systems protect keys with non-exportable stores, secure randomness and full-disk encryption when configured carefully.

Continue studying — chapter 11 of 40

← Chapter 10 (draft) · Course chapter index · Chapter 12 (draft) →