Helpful first: Assets and the CIA triad: what we protect and how it fails
Key points
- A client request runs through DNS resolution, TCP reachability, TLS protection, and HTTP semantics, in that order.
- Identify what an on-path network observer can still see even when TLS 1.3 encrypts the HTTP payload
- Pinpoint whether an operational failure or security control belongs at the naming, transport, cryptographic, or application layer
One telemetry request from an untrusted Wi-Fi network
Imagine Meridian flight engineer Dax Mercer opening https://telemetry.chronos.orbital/v2/passes from a conference hotel Wi-Fi network to check an upcoming satellite pass. Every packet Dax’s laptop sends crosses an untrusted local access point, an ISP router, and public transit links before reaching Meridian’s edge.
When a junior engineer says "HTTPS secures the connection," they often blur four separate jobs into one word. To debug outages or design network controls accurately, you have to watch the four protocol stages execute in order.
One telemetry request from an untrusted Wi-Fi network
Telemetry request
https:
/ / telemetry. chronos. orbital/ v2/ passes Local access point
An untrusted local access point
Public transit
An ISP router and public transit links
Meridian’s edge
Packets cross public transit links before reaching Meridian’s edge.
Four separate jobs
The phrase "HTTPS secures the connection" blurs four separate jobs into one word.
The four-stage relay: DNS, TCP, TLS, and HTTP
First, DNS translates the human-readable name telemetry.chronos.orbital into an IP address such as 198.51.100.42. Standard UDP/TCP port 53 DNS queries travel in cleartext unless DoH (DNS over HTTPS) or DoT (DNS over TLS) is configured, and DNSSEC only signs the record for integrity rather than hiding the query.
Second, TCP opens a reliable, ordered byte stream between Dax’s ephemeral client port and the server’s port 443 using the three-way handshake (SYN, SYN-ACK, ACK). Third, TLS runs over that TCP socket to negotiate ephemeral keys and validate the server’s X.509 certificate against telemetry.chronos.orbital. Fourth, HTTP sends the GET /v2/passes verb, headers, and bearer token inside the encrypted TLS record layer.
| Protocol Stage | Core Job | Visible to On-Path Wi-Fi Observer | Common Security Failure |
|---|---|---|---|
| DNS | Resolves domain name to IP address | Queried hostname (unless encrypted via DoH/DoT) | Cache poisoning, registrar hijacking, or split-horizon misconfiguration |
| TCP | Reliable, ordered byte delivery and flow control | Source/destination IP addresses, port numbers (443), sequence numbers, packet timing | SYN flood exhaustion, RST injection, or blocked firewall port |
| TLS 1.3 | Channel confidentiality, transcript integrity, and server certificate authentication | ClientHello Server Name Indication (SNI, unless ECH is used) and ciphertext length | Expired certificate, hostname mismatch, or untrusted root CA |
| HTTP | Application verbs (GET, POST), paths, headers, cookies, and JSON bodies | Hidden inside TLS ciphertext (only approximate payload size and timing leak) | Broken object-level authorization (BOLA/IDOR), SQL injection, or leaked bearer token |
What TLS protects and what it leaves exposed
Once the TLS 1.3 handshake finishes, an eavesdropper on the hotel Wi-Fi cannot read the URL path (/v2/passes), the Authorization header, or the JSON response body. Nor can the attacker modify a byte in transit without breaking the AEAD authentication tag and causing the receiver to drop the connection immediately.
However, TLS is not a magic cloak over the entire network stack. The IP packet headers must remain visible so routers can forward traffic, and in standard TLS 1.3 the ClientHello includes the Server Name Indication (SNI) extension in cleartext so the server knows which certificate to present. An observer on the local network still knows that Dax’s IP address connected to telemetry.chronos.orbital on port 443 and transferred 48 kilobytes of data.
What TLS protects and what it leaves exposed
Eavesdropper
An eavesdropper on the hotel Wi-Fi cannot read the URL path (/v2/passes), the Authorization header, or the JSON response body.
AEAD authentication tag
An attacker cannot modify a byte in transit without breaking the AEAD authentication tag.
ClientHello
In standard TLS 1.3, the ClientHello includes the Server Name Indication (SNI) extension in cleartext.
48 kilobytes
Dax’s IP address connected to telemetry.chronos.orbital on port 443 and transferred 48 kilobytes of data.
Transport trust is not application authorization
A valid TLS padlock proves that the browser is talking to a server holding the private key for telemetry.chronos.orbital and that the channel between them is encrypted. It says nothing about whether the server itself is honest (attackers obtain valid certificates for phishing domains every day) and nothing about who the client user is (unless mutual TLS client certificates are enforced).
Furthermore, TLS delivers whatever HTTP payload the client sends directly to the application parser. If Dax’s bearer token is stolen by malware on the laptop, or if the API endpoint forgets to check whether Dax is authorized to read another satellite’s pass schedule, TLS will faithfully encrypt the exploit and encrypt the leaked response.
Transport trust is not application authorization
TLS padlock
The browser is talking to a server holding the private key for telemetry.
chronos. orbital, and the channel is encrypted. Server itself
The padlock says nothing about whether the server itself is honest.
Client user
The padlock says nothing about who the client user is, unless mutual TLS client certificates are enforced.
Bearer token
If Dax’s bearer token is stolen, TLS still encrypts the exploit and the leaked response.
Diagnosing failures by layer
Separating the four stages makes troubleshooting deterministic. NXDOMAIN means DNS failed before a single packet reached the server IP. A connection timeout or immediate RST on port 443 means TCP reachability or a network firewall blocked the socket before TLS started. ERR_CERT_COMMON_NAME_INVALID means TCP connected, but TLS rejected the certificate binding. And an HTTP 401 Unauthorized or 403 Forbidden proves that DNS, TCP, and TLS all succeeded, and the application gate rejected the caller’s identity or permissions.
CHECK YOUR JUDGMENT
A remote contractor at Meridian Space & Robotics (chronos.orbital) connects to https://telemetry.chronos.orbital/v2/passes over public airport Wi-Fi using standard DNS and TLS 1.3. Which piece of information can a passive packet sniffer on the airport Wi-Fi still observe?
NEXT FIELD LESSON