SSCP Systems Security Certified PractitionerCryptographyMedium

A system architect is designing a secure communication protocol between a client application and a server. They need to ensure that even if the server's private key is eventually compromised, past communication sessions cannot be decrypted by an attacker who recorded the encrypted traffic. Which cryptographic property is essential to achieve this goal?

  1. AKey escrow
  2. BKey stretching
  3. CPerfect Forward Secrecy (PFS)
  4. DHomomorphic encryption
Show answer & explanation

Correct answer: C. Perfect Forward Secrecy (PFS)

Perfect Forward Secrecy (PFS) ensures that if a long-term secret key (like a server's private key) is compromised, it does not compromise the confidentiality of past session keys. This is achieved by generating ephemeral (temporary) session keys for each communication session.

Why the other options are wrong

  • A. Key escrow is the practice of storing a copy of encryption keys, which would contradict the goal of protecting past sessions if the key is compromised.
  • B. Key stretching is used to make brute-force attacks on passwords more difficult, not to protect past sessions from a compromised long-term key.
  • D. Homomorphic encryption allows computations on encrypted data without decrypting it, which is unrelated to protecting past communication sessions from a compromised long-term key.

Perfect Forward Secrecy (PFS)

A property of a key-agreement protocol that ensures that a session key derived from a set of long-term secret keys will not be compromised even if one of the long-term secret keys is compromised in the future.

  • Achieved by using ephemeral session keys (e.g., through Diffie-Hellman or ECDH).
  • Prevents mass decryption of past communications if a server's private key is stolen.
  • A crucial security feature for modern secure communication protocols like TLS.

Memory trick: PFS: Past is safe, even if key's a goner!

More Cryptography questions