TLS

Problem

Your browser communicates with bank.com through networks controlled by strangers. You need: * confidentiality, * integrity, * authentication.

Solution — TLS

The server presents its certificate. The browser validates the server identity, and the handshake establishes shared session secrets.
Browser ← handshake → bank.com
              ↓
        session keys
              ↓
Browser ← encrypted → bank.com
Application data can then travel through an authenticated encrypted channel.
Core idea: TLS creates an authenticated, confidential and integrity-protected connection.