Lion Cipher Lab

Keep your clock honest, Part 2: authenticate your time source with NTS in chrony

Why it matters

In Part 1 you saw that a wrong clock breaks TLS, Kerberos, one-time codes and forensic timelines. The uncomfortable follow-up is that classic NTP lets anyone on the network path decide what your clock says: the replies carry no proof of who sent them or whether they were altered. An attacker on hotel Wi-Fi, a compromised router or a rogue DHCP server can push a machine an hour forward or two days back, and every control that trusts the clock trusts the attacker. Network Time Security (NTS) is the fix, and chrony already speaks it. This lab gets you from never having heard of NTS to running an…

What you'll learn

Steps in this lab

  1. Recap Part 1 in one minute, and what this lab adds
  2. Why plain NTP can be forged, and why that is a security problem
  3. How NTS works: a TLS handshake once, then authenticated NTP packets
  4. Set up a throwaway Debian container with chrony
  5. Be an NTS client of two public servers, and read `chronyc -N authdata`
  6. Simulate a blocked port 4460 and see how NTS fails
  7. Run your own NTS server with a private certificate authority
  8. Point a client at your server, then prove the trust is real
  9. Measure what an attacker gains, with and without NTS (a simulation)
  10. Read the results: the before-and-after
  11. Honest negatives: what NTS does not stop
  12. The judgment: when to use NTS, when not to, and how a pro deploys it

Open the full interactive lab →