Cambridge A-Level Computer Science 9618 – Encryption, SSL/TLS and Digital Certificates
17.1 Encryption, Encryption Protocols and Digital Certificates
Learning Objective
Show awareness of the Secure Socket Layer (SSL) / Transport Layer Security (TLS) protocol, its role in securing data transmission, and the supporting concepts of encryption and digital certificates.
1. Why SSL/TLS is Needed
Confidentiality – data must be unreadable to eavesdroppers.
Integrity – ensure data is not altered in transit.
Authentication – verify the identity of the communicating parties.
2. Core Cryptographic Concepts Used by SSL/TLS
Symmetric encryption – fast, used for bulk data after a secure channel is established.
Asymmetric encryption (public‑key) – used to exchange symmetric keys securely.
Hash functions – provide message integrity (e.g., SHA‑256).
Digital signatures – prove authenticity of certificates.
3. The SSL/TLS Handshake – Step by Step
ClientHello – client proposes TLS version, cipher suites, and a random value ClientRandom.
ServerHello – server selects protocol version, cipher suite, sends its own random value ServerRandom, and its digital certificate.
Certificate \cdot erification – client validates the server’s X.509 certificate against trusted root CAs.
Key Exchange – depending on the cipher suite:
RSA: client encrypts a pre‑master secret with the server’s public key and sends it.
Diffie‑Hellman (DHE/ECDHE): both parties exchange public parameters and compute a shared secret.
Generate Session Keys – both sides compute the master secret and derive symmetric keys:
The server decrypts with its private key d, n to recover the same pre‑master secret, after which both sides derive the master secret and session keys as shown earlier.
7. Security Considerations
Always use the latest TLS version (TLS 1.3) – it removes obsolete algorithms and reduces handshake round‑trips.
Prefer cipher suites with forward secrecy (e.g., ECDHE) to protect past sessions if long‑term keys are compromised.