Chapter 11 — Networks and protocols
Lesson map
Lesson 11 published. Map, example, EX031.
flowchart TD
N0["Learning outcomes"]
N1["11.1 The path of a reading"]
N2["11.2 What TLS 1.3 provides"]
N3["11.3 End-to-end authentication"]
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 The path of a reading"]
N2["11.2 What TLS 1.3 provides"]
N3["11.3 End-to-end authentication"]
N4["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX031"]
[Learning outcomes]
|
v
[11.1 The path of a reading]
|
v
[11.2 What TLS 1.3 provides]
|
v
[11.3 End-to-end authentication]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX031]
Learning outcomes
You will (1) trace how meter data crosses networks; (2) explain what TLS 1.3 protects and what it does not; (3) choose where to authenticate and encrypt.
11.1 The path of a reading
A reading leaves a meter over a low-power radio link to a neighbourhood collector, travels over a cellular network to Ridgeway's gateway, then crosses the utility's internal network to the billing database. Aiyana draws each hop and asks who could read or modify data there: a nearby radio listener, the cellular carrier, an insider on the internal network. Each hop has different attackers. Drawing the path first prevents a common error, protecting one link strongly while leaving another open, and it shows where end-to-end protection from meter to database would remove dependence on intermediate hops.
11.2 What TLS 1.3 provides
Between collector and gateway, Ridgeway uses TLS 1.3, specified in RFC 8446. TLS provides confidentiality, integrity and server authentication for the connection, using an ephemeral key exchange such as X25519 from RFC 7748 so that recorded traffic cannot be decrypted later even if long-term keys leak, a property called forward secrecy. Aiyana notes what TLS does not do: it protects data only while in transit on that connection. Once the gateway decrypts it, readings are plaintext inside the utility, and TLS says nothing about whether the meter itself was honest.
11.3 End-to-end authentication
Because TLS ends at the gateway, Aiyana proposes that each meter also attach an HMAC tag to every reading, using its per-meter key from Chapter 5. The billing database verifies the tag directly, so a compromised gateway or collector cannot alter readings undetected. This layering, transport security plus message authentication, is common in critical infrastructure. She documents which layer defends against which attacker: TLS against carriers and eavesdroppers on that link, HMAC against any intermediate system modifying readings. Overlap is deliberate, so one failure does not remove all protection.
Worked example
Aiyana's diagram shows four hops; TLS 1.3 protects collector to gateway, and per-meter HMAC tags protect readings from meter to database.
Synthetic case. Ridgeway's network is invented; RFC 8446 and RFC 7748 are real.
Errors and limits
TLS does not authenticate data origin beyond the endpoint; message-level controls are needed when intermediaries are untrusted. Radio links to meters may need separate protection.
Exercises
- EX031 — Hop attackers. Name the attacker Aiyana associates with the cellular hop. Rubric: 3 = the cellular carrier or anyone on its network;; 2 = network;; 1 = vague;; 0 = none.
- EX032 — Forward secrecy. What does forward secrecy mean in TLS 1.3? Rubric: 3 = recorded traffic cannot be decrypted later even if long-term keys leak, due to ephemeral key exchange;; 2 = ephemeral keys;; 1 = encryption;; 0 = none.
- EX033 — Why HMAC too. Why add HMAC tags when TLS is already used? Rubric: 3 = TLS ends at the gateway; HMAC lets the database detect altered readings from compromised intermediaries;; 2 = layering;; 1 = redundant;; 0 = none.
Synthesis
Network security means mapping each hop's attackers and layering transport and message protections so no single endpoint is trusted blindly.
Continue studying — chapter 11 of 50
← Chapter 10 (draft) · Course chapter index · Chapter 12 (draft) →