The Call of the Open Sidewalk

From a place slightly to the side of the more popular path

User Tools

Site Tools


pgpfan:forward_secrecy

This is an old revision of the document!


Forward Secrecy

The PGP protocol is sometimes criticized because it lacks a feature called forward secrecy. Some process is used to come up with a temporary key known only to you and your correspondent (e.g. Diffie–Hellman key exchange). That key is used to encrypt the message. After the message is transferred and decrypted that temporary key is destroyed.

Forward secrecy requires an end to end, bidirectional communications channel to establish a temporary key. So it is normally not usable with offline messaging. Adding an offline messaging capability to a system supporting forward secrecy involves creating an extra subsystem (e.g. the Signal protocol prekey system). PGP is able to support both offline and online messaging in the same simple straightforward way. So the cost of forward secrecy is either significant extra complexity or the lack of support for an important messaging mode. The next three subsections break out the potential benefit of forward secrecy after some sort of loss of system secrecy.

Message Archives

If someone gains access to one of your private PGP encryption keys then they can decrypt all the archived email that was originally sent to the associated identity. A system with forward secrecy requires a separate system to save and encrypt archived messages. That system can't be made any more secure than a system for protecting a PGP private key. If a better system was invented then you could use it to protect your PGP keys.

There is no practical security difference between PGP and a system providing forward secrecy for the case of message archives.

Post-Compromise

If someone gains access to one of your private PGP encryption keys then they can then decrypt any intercepted email sent to the associated identity. If someone gains access to a private key associated with an identity used in a forward secrecy system then they only gain the ability to impersonate you. They still don't have access to shared keys you might negotiate with your correspondents so they can't decrypt passively intercepted messages.

Gaining access to a pass-phrase protected PGP private key requires at least enough access to install a key-logger (or equivalent). That much access would normally allow an attacker to get access to the messages in a more direct way in the case of a forward secrecy system.

A system providing forward secrecy has a theoretical advantage in this case, but in practice the advantage would likely be minimal.

Pre-Compromise

This assumes that there is someone with enough foresight to record your encrypted messages off the network. That message archive can be decrypted if they have access to your PGP private key, as before. That archive is useless in the case of a forward secrecy supporting system as the decryption key(s) have been destroyed.

This is the advantage of forward secrecy.

Conclusions

Forward secrecy removes the value of encrypted messages collected off the network before a compromise. Forward secrecy increases protocol complexity. The cost of that complexity has to be weighed against the possibility of that particular attack.

The value provided by a forward secrecy system is mostly negated for those messages that are archived. If you truly want the messages to be gone for others you have to have to make them gone for you as well. This is a fairly heavy price to pay to guard against an obscure and unlikely attack.

I should point out here that the deletion of a PGP private key removes access to all archived messages, everywhere, instantly as there is no separate archiving system. That is a benefit of the PGP encrypt once scheme. Key deletion is thus a PGP answer to forward secrecy. Modern PGP systems use separate signing and encryption keys by default so it would be reasonably easy to recover from such a deletion. That is even if you did not have the foresight to use a dedicated key for the discussion that was to be forgotten. You would still retain all your identities.

pgpfan/forward_secrecy.1591717238.txt.gz · Last modified: 2020/06/09 15:40 by b.walzer