What is Perfect Forward Secrecy?
A feature of key-agreement protocols that ensures session keys cannot be compromised even if the server's long-term private key is compromised. Each session uses unique keys, so past communications remain secure even if future keys are exposed.
Also known as: PFS, Forward Secrecy
Perfect Forward Secrecy (PFS) protects past sessions against future compromises of secret keys. If someone steals a server's private key tomorrow, they still can't decrypt yesterday's conversations.
How It Works
- Each communication session generates new, temporary (ephemeral) keys
- These keys are used only for that session, then discarded
- The long-term keys are only used to authenticate, not encrypt
- Even if long-term keys leak, past session keys remain unknown
Why It's Critical
Without PFS
An attacker could:
- Record encrypted traffic today
- Steal the server's private key years later
- Decrypt all historical communications
With PFS
- Each session's keys are unique and ephemeral
- No single key compromise unlocks historical data
- "Harvest now, decrypt later" attacks become ineffective
Where to Look for PFS
- Messaging apps: Signal, WhatsApp, Wire use PFS
- Websites: Check for ECDHE or DHE in the cipher suite
- VPNs: WireGuard and modern OpenVPN configurations support PFS
Technical Details
PFS is typically implemented using:
- Diffie-Hellman Ephemeral (DHE)
- Elliptic Curve Diffie-Hellman Ephemeral (ECDHE)
Related Terms
End-to-End Encryption
A method of secure communication where only the communicating users can read the messages. In principle, it prevents potential eavesdroppers – including telecom providers, Internet providers, and even the provider of the communication service – from being able to access the cryptographic keys needed to decrypt the conversation.
Signal Protocol
A cryptographic protocol that provides end-to-end encryption for voice and instant messaging conversations. Developed by Open Whisper Systems, it combines the Double Ratchet Algorithm, prekeys, and a triple Diffie-Hellman handshake to provide forward secrecy and future secrecy.
TLS
Transport Layer Security is a cryptographic protocol designed to provide secure communication over a computer network. TLS encrypts the connection between your browser and web servers, ensuring privacy and data integrity. It's the technology behind HTTPS.
Related Tools
Have more questions?
Use our guided flow to get the right next privacy step for Perfect Forward Secrecy.
Open Guided Flow