Security Engineering & Identity book cover

Your technical library

Security Engineering & Identity

13 modules · 64 topics

About this book
Concepts · Security Engineering & Identity

Security Engineering & Identity

Most real breaches are not broken cryptography. They are a token accepted by the wrong audience, a check made on the wrong object, a key trusted for the wrong tenant, a server fetching a URL an attacker chose, or a build that signed whatever it was given. This course teaches each of those failure classes as the consequence of a design decision, so you can recognise it in a system you have never seen and design, review and argue about the defence. It assumes no security background: OAuth libraries, cloud permission consoles and secret stores are explained before they are relied on, and the depth aims past what a senior staff engineer is expected to know. It builds on Computer Networking, for cryptography and TLS, and Operating Systems, for protection and memory-corruption exploits.

Threat modelling says what a security claim means and against whom. Server-side vulnerability classes covers injection, server-side request forgery, insecure deserialization, request smuggling and race conditions, and the browser security model covers the same-origin policy, cookies, cross-site request forgery, cross-site scripting and content security policy. Identity follows: authentication, self-contained tokens such as JSON Web Tokens, and delegated authorization: OAuth 2 and OpenID Connect.

Authorization models and policy languages and evaluation decide what an authenticated party may do. Keys and secrets keeps the keys, zero trust and workload identity authenticates services as well as people, tenant isolation keeps customers apart in a shared system, and software supply chain checks that the code you run is the code you meant to build. Case studies traces two real incidents through everything before.

64 topics across 13 modules, in dependency order.

This course is planned; no lessons are written yet. The map shows every module and topic so its coverage can be reviewed before authoring. Each topic will open with what to read first and close with what it leaves open.