Data and secrets
Protect data in transit
Use authenticated TLS for network connections and understand what transport encryption does and does not protect.
8 minute lesson
TLS protects a connection from passive reading and tampering when certificate validation succeeds. Use HTTPS for the whole application.
TLS does not authorize the signed-in user, validate application input, or protect data after the endpoint processes it. Internal service traffic can carry sensitive data too. Avoid fallback paths that quietly return to plaintext.
The browser uses HTTPS, but the application sends reset requests to an internal email service over plaintext HTTP. The secure browser connection does not protect that second hop.
TLS authenticates the endpoint named by the certificate. It does not prove the signed-in user may reset another account.
Trace a password reset across every network hop and capture the scheme and certificate result for each one. Break certificate validation in a test environment and require the request to fail closed.
Lesson completed