Index / 001 EN
Security Engineering: A Guide to Building Dependable Distributed Systems cover

Computer Science

Computer Science

Security Engineering: A Guide to Building Dependable Distributed Systems

Ross Anderson

A comprehensive treatment of how to build systems that remain dependable in the face of malice, error and mischance. It combines security protocols, cryptography and access control with case studies from banking, healthcare, telecommunications, military and consumer systems, and discusses the economics, psychology and policy behind real security outcomes. The complete third edition is free as a PDF from the author's website.

Prerequisites: General computing literacy and some familiarity with operating systems and networks; no prior cryptography is required, though it helps.

Difficulty Level
Intermediate
Academic Level
Advanced
security engineeringcryptographysystems securitythreat modellingopen accessTextbook

01 / Reading Guide

Reading Guide

Citation

Anderson, R. (2020). Security Engineering: A Guide to Building Dependable Distributed Systems (3rd ed.). Wiley. Free official edition: https://www.cl.cam.ac.uk/~rja14/book.html

Chapter Summary

Chapter 1: What Is Security Engineering?

Part I covers the basics. The opening chapter defines security engineering as building systems that remain dependable in the face of malice, error or mischance, and sets out a framework of four interacting elements: policy, mechanism, assurance and incentive. It illustrates the range of protection goals with four environments (a bank, a military base, a hospital and the home) and then gives careful definitions of terms such as system, principal, trust, secrecy, privacy and integrity, warning that "security" means different things to different parties.

Chapter 2: Who Is the Opponent?

This chapter surveys threat actors under four headings: spies (with material on US, Chinese and Russian capabilities drawn partly from the Snowden disclosures), crooks (the cybercrime ecosystem, botnets and malware), geeks (researchers and hackers who may report bugs responsibly) and "the swamp" (online abuse, from bullying and intimate-partner abuse to political manipulation). Its conclusion is that designers must consider "abusability" as well as usability.

Chapter 3: Psychology and Usability

Because most real attacks now target users, the chapter reviews psychology research on cognition, bias, risk perception and deception, then examines deception in practice (phishing and social engineering). Passwords serve as an extended case study, covering memorability, guessability, user training and real-world failures, and the chapter closes with CAPTCHAs.

Chapter 4: Protocols

Security protocols establish trust between principals. Starting from password eavesdropping and simple challenge-response authentication (car keys, identify-friend-or-foe systems), the chapter catalogues failures such as middleperson, reflection, replay and chosen-protocol attacks, discusses key management (including Kerberos-style schemes), and the limits of formal verification. Its advice is not to design your own protocols.

Chapter 5: Cryptography

A long chapter introduces cryptography for engineers: historical ciphers, security models (random oracle and semantic security), symmetric algorithms such as AES, modes of operation, hash functions, and asymmetric primitives based on factoring and discrete logarithms, including signatures and elliptic curves. The summary stresses that systems usually fail through misuse and implementation flaws, such as unsafe default modes, rather than broken algorithms.

Chapter 6: Access Control

Access control is examined at several levels: operating system mechanisms (groups, roles, access control lists, capabilities, and the designs of Unix, Windows, Android and others), hardware protection, and what goes wrong, from memory-safety bugs and race conditions to the limits of sandboxing.

Chapter 7: Distributed Systems

Concurrency, fault tolerance and naming are revisited with an adversarial eye: stale data and inconsistent updates, the difficulty of knowing the right time, redundancy and Byzantine failure, and why names and identity are so hard to manage securely.

Chapter 8: Economics

The last basic chapter introduces classical and information economics, game theory and auction theory, then applies them to security: why incentives often explain technical failures, network effects, lock-in, asymmetric information and the economics of vulnerabilities and privacy.

Chapters 9–11: Multilevel Security; Boundaries; Inference Control

Part II turns to applications. Chapter 9 explains security policy models, the Bell-LaPadula multilevel model and its descendants, and why military multilevel security proved hard, while mandatory access control now protects platforms such as Android, iOS and Windows. Chapter 10 discusses compartmentation and the lattice model, protecting data about endangered wildlife, and medical record privacy in depth. Chapter 11 traces inference control from census statistics to differential privacy and argues that anonymising rich personal data rarely works.

Chapter 12: Banking and Bookkeeping

Bookkeeping is presented as a long-evolved system for authenticity and accountability, formalised in the Clark-Wilson model. The chapter then covers interbank payments, ATMs, credit cards, EMV chip cards, online banking attacks (phishing, man-in-the-browser malware, SIM swaps) and non-bank payments.

Chapters 13–16: Locks and Alarms; Monitoring and Metering; Nuclear Command and Control; Security Printing and Seals

These chapters cover physical and metering security. Chapter 13 discusses deterrence, barriers, mechanical and electronic locks and alarm systems. Chapter 14 studies prepayment electricity meters, taxi meters, tachographs and offender curfew tags. Chapter 15 describes how nuclear weapons control produced unconditionally secure authentication codes, shared control schemes, permissive action links and treaty verification. Chapter 16 covers security printing, packaging and seals, systemic vulnerabilities and how to evaluate them.

Chapters 17–19: Biometrics; Tamper Resistance; Side Channels

Chapter 17 compares handwritten signatures, face recognition, fingerprints, iris codes and voice, explaining error-rate statistics and what goes wrong. Chapter 18 traces cycles of attack and defence in hardware security modules, smartcards and security chips, and asks what is worth protecting. Chapter 19 covers emission security, passive and active side-channel attacks between and within computers (including timing and cache attacks), environmental sensors and social side channels.

Chapter 20: Advanced Cryptographic Engineering

Where hardware and software meet, the chapter studies full-disk encryption, the Signal messaging protocol, Tor, hardware security modules, enclaves and blockchains, and ends with "crypto dreams that failed", arguing that cryptographic systems have bugs and need patching like anything else.

Chapters 21–22: Network Attack and Defence; Phones

Chapter 21 covers network protocols and service denial, malware (Trojans, worms, remote-access tools), defences from filtering to intrusion detection, cryptographic protocols such as TLS, certificate authorities and PKI, and network topology. Chapter 22 studies phone security from early fraud on fixed networks through GSM, 3G, 4G and 5G to mobile platform security, app stores and the politics of 5G.

Chapters 23–24: Electronic and Information Warfare; Copyright and DRM

Chapter 23 explains electronic warfare (jamming, deception, surveillance and target acquisition, identify-friend-or-foe, countermeasures to improvised explosive devices, directed-energy weapons) and its extension into information warfare and propaganda. Chapter 24 covers copyright protection, DRM on general-purpose computers, information hiding and watermarking, policy, and accessory control such as printer-cartridge locks.

Chapter 25: New Directions?

The last applications chapter examines four research frontiers as of 2020: autonomous and remotely piloted vehicles, the security of AI and machine learning, privacy-enhancing technologies and operational security, and elections.

Chapter 26: Surveillance or Privacy?

Part III addresses politics, management and assurance. This chapter covers government surveillance and intelligence, terrorism and overreaction, censorship, forensics and rules of evidence, privacy and data protection law (including transatlantic tensions) and freedom of information.

Chapters 27–28: Secure Systems Development; Assurance and Sustainability

Chapter 27 covers risk management, lessons from safety-critical systems, prioritising protection goals, development methodologies from waterfall to agile and DevSecOps, and managing a security team. Chapter 28 examines evaluation schemes (the Orange Book, FIPS 140, Common Criteria and safety certification), metrics of dependability, the convergence of safety and security, and the challenge of maintaining software in durable goods for decades.

Chapter 29: Beyond "Computer Says No"

A brief conclusion names three themes for the future: social complexity, sustainability of software in long-lived products, and politics, since security is a relationship rather than a scalar quantity.

Key Concepts

Chapters 1–2: Foundations and Threats

  • Policy, mechanism, assurance, incentive: the four elements that must come together for a dependable system.
  • Threat model: an explicit account of who the opponents are, what they want and how they operate.
  • Abusability: how a system could be used to harm people, considered alongside usability.

Chapters 3–5: People, Protocols and Cryptography

  • Phishing and social engineering: deception aimed at users, the main route for many real attacks.
  • Security protocol: a sequence of steps by which principals establish trust, vulnerable to replay, reflection and middleperson attacks.
  • Modes of operation: ways of using a block cipher for longer messages, whose misuse is a common cause of failure.

Chapters 6–8: Access Control, Distributed Systems and Economics

  • Access control matrix: the abstraction of which subjects may perform which operations on which objects, implemented as ACLs or capabilities.
  • Byzantine failure: failure in which faulty components behave arbitrarily or collude, not merely stop.
  • Misaligned incentives: when the party who guards a system is not the one who bears the cost of its failure.

Chapters 9–12: Policy Models and Applications

  • Bell-LaPadula model: a multilevel policy forbidding reading up and writing down between classification levels.
  • Differential privacy: a formal guarantee limiting what statistical outputs reveal about any individual.
  • Clark-Wilson model: an integrity policy based on well-formed transactions and separation of duty, drawn from bookkeeping.

Chapters 13–20: Hardware and Systems Engineering

  • Tamper resistance: protection of secrets inside devices against physical probing and manipulation.
  • Side channel: leakage of information through timing, power, emissions or shared state rather than through the intended interface.
  • Biometric error rates: the trade-off between false accepts and false rejects that governs recognition systems.

Chapters 21–25: Networks and Emerging Areas

  • Public key infrastructure: the system of certificate authorities and certificates used to bind keys to names, with its many trust problems.
  • Traffic analysis: inferring information from patterns of communication even when content is encrypted.
  • Adversarial machine learning: attacks that exploit how learning systems generalise or are trained.

Chapters 26–29: Policy, Management and Assurance

  • Security theatre: visible measures that reassure people without reducing risk.
  • Assurance and evaluation: processes such as Common Criteria for gaining confidence that a system meets its claims, often shaped by conflicting interests.
  • Sustainability: keeping software in durable goods patched and safe for decades.

Critical Analysis

Strengths

  • Unusual breadth. The book spans cryptography, protocols and access control as well as physical locks, seals, banknote printing, nuclear command and control, electronic warfare and elections. The Part II introduction explains how these applications introduce protection concepts in context, which shows students that the same failure patterns recur across very different domains.
  • Case studies grounded in real failures. Chapters are built around documented incidents and the author's research and consulting experience, from relay attacks on car keys (Chapter 4) to phishing and SIM-swap fraud in online banking (Chapter 12), so principles are tied to evidence of what actually goes wrong.
  • Economics, psychology and policy treated as core material. Chapters 3 and 8 make usability and incentives part of the basics rather than optional extras, and Part III covers surveillance, law, management and assurance, reflecting the author's argument that many failures are incentive failures.
  • Useful chapter apparatus. Almost every chapter ends with a summary, a list of research problems and annotated further reading, which helps both students and researchers find their way into the literature.

Limitations

  • Very long, and uneven in depth. At over 1,200 pages in the free PDF, the book cannot be read cover to cover in a course, and some application chapters are surveys rather than technical treatments.
  • Not a mathematical cryptography text. Chapter 5 explains concepts and pitfalls but gives few proofs or exercises; students needing formal definitions and reductions must use a dedicated cryptography book.
  • No exercises. Chapters end with research problems for further study, not graded exercises, so instructors must design their own assignments.
  • Opinionated and time-bound. The author writes in a strong personal voice with clear views on policy, and much of the material (5G, machine learning, elections) is a snapshot of around 2020.

Applications in the Book

Applications are the substance of Part II. They include multilevel military systems and data diodes, medical record systems and the protection of data on endangered wildlife, census statistics, bookkeeping, interbank payments, ATMs, credit and EMV cards and online banking, burglar alarms and locks, electricity prepayment meters, taxi meters, tachographs and curfew tags, nuclear command and control, banknote printing and seals, biometric systems, smartcards and hardware security modules, full-disk encryption, Signal, Tor and blockchains, telephone and mobile networks, electronic warfare and DRM, and in Chapter 25 autonomous vehicles, machine learning and elections.

Where It Fits in the Course

In this security and cryptography list, Anderson is a book with a systems and case-study approach. Paar, Pelzl and Güneysu's Understanding Cryptography and Easttom's Computer Security Fundamentals are generally described as introductory treatments of cryptographic algorithms and general security concepts respectively; Stallings and Brown's Computer Security: Principles and Practice is generally described as a broad textbook with exercises. A student could use Stallings and Brown or Easttom for structured coverage and Anderson for the reasons systems fail in practice.

Katz and Lindell's Introduction to Modern Cryptography and Bishop's Computer Security: Art and Science cover the formal side: provable security in cryptography, and formal security policies and models. Anderson's Chapters 5 and 9 provide intuition for these topics; students who want rigorous proofs should read the formal books after or alongside it.

How to Use This Book

Part I, according to the author, assumes no technical background beyond computer literacy and follows the first- and second-year material taught at Cambridge; some familiarity with operating systems and networks helps in Chapters 6, 7 and 21. The primary audience named in the first-edition preface is the working programmer or engineer designing real systems.

For a course, Part I (Chapters 1–8) is the core, with Chapters 3, 4, 5 and 8 most important. From Part II, choose chapters that suit the course: Chapter 12 (banking) and Chapter 21 (networks) suit a general security course; Chapters 18–20 suit hardware and applied cryptography; Chapter 22 suits mobile security. Part III (Chapters 26–28) suits courses on policy or secure development. Use each chapter's research problems as discussion or project topics and its further reading list to go deeper. The author's site also links to a set of lecture videos based on the book and an errata list.

Edition and Sources

This guide is based on the third edition (Wiley, 2020), read in the complete free PDF of all chapters published on the author's official page, https://www.cl.cam.ac.uk/~rja14/book.html (file SEv3.pdf). It draws on the three prefaces, the contents, the introductions to Parts I, II and III, and for all 29 chapters the chapter introductions, every section heading and the end-of-chapter summaries, with Chapter 1's framework section and Chapter 29 read in full.