18
$\begingroup$

My correspondents and I would like to communicate privately by email. We used to employ PGP but that might have been shooting ourselves in the foot. PGP doesn't have forward secrecy. If any of our private keys are ever compromised (by law, hacking, or rubber hose), then all our past conversations can be immediately decrypted. And our signatures shown in court.

So we switched to instant messenger conversation with Off-the-Record (OTR) messaging because it gives

Encryption

No one else can read your instant messages.

Authentication

You are assured the correspondent is who you think it is.

Deniability

The messages you send do not have digital signatures that are checkable by a third party. Anyone can forge messages after a conversation to make them look like they came from you. However, during a conversation, your correspondent is assured the messages he sees are authentic and unmodified.

Perfect forward secrecy

If you lose control of your private keys, no previous conversation is compromised.

As explained eloquently at http://www.cypherpunks.ca/otr/otr-wpes.pdf

Is there anything like that for email?

$\endgroup$
3
  • $\begingroup$ Forward secrecy with emails is hard since you can't ask the recipient for their ephemeral key. Avoiding digital signatures is easy: Use Diffie-Hellman and a MAC instead of signing just like in OTR. $\endgroup$ Jun 26, 2013 at 18:59
  • 2
    $\begingroup$ An Internet Draft specification by Brown et al, describing a means to extend OpenPGP for forward secrecy, was published in 2001. I'm not sure if its suggestions were ever implemented, but if they were then this would probably solve your dilemma. $\endgroup$
    – user11028
    Mar 14, 2015 at 2:20
  • $\begingroup$ FTR, forward secrecy for autocrypt is being discussed at github.com/autocrypt/autocrypt/issues/444 $\endgroup$ Sep 27, 2022 at 7:56

1 Answer 1

13
$\begingroup$

OTR can provide forward secrecy because both partners create fresh ephemeral (one-time-use) keys, which are discarded afterwards, so they can't be recovered by later attackers.

The long-term public keys are only used to authenticate them, to avoid any man-in-the-middle attack.

For offline communication like e-mails this is not easily possible, since the receiver can't contribute an ephemeral key, as already mentioned by CodesInChaos.

If you can live without the forward-secrecy (only the other three properties), you can use long-term Diffie-Hellman keys, do an offline DH-exchange with them and derive from the result (preferably with some salt-like entropy input so not each mail has the same) symmetric keys for both encryption and MAC. The receiver then knows that you and her are the only ones which knew the DH result, and thus the encryption and MAC keys, so only one of you both can have sent this. But she also could have created the message herself, so you have deniability, too. Thanks to CodesInChaos for the comment.

If you can beforehand (maybe over an OTR-chat) consent with your partner about a symmetric key, you can simply use symmetric encryption and a MAC in your email, and get the encryption, authentication and deniability (the receiver could have created the same message, as she knew the same key). If both partners delete the symmetric key after the sending/receiving of the message, it is also forward-secret. But it still is not really an offline communication as the online key exchange is needed.

Of course, we could stretch a protocol like OTR over a message exchange by email. But then both mail clients (or some other software which handles the protocol) would have to store crypto status between the individual messages, which also harms the "perfect forward secrecy", since this status could be potentially recovered. (You could switch the key with each message, and discard old ones as soon as you receive the next key from your partner, and send a new message after any important message to limit the time keys have to be hold in storage.)

The paper you linked in section 6 ("EMAIL") mentions this possibility, as well as a "Ring signature", which provides slightly smaller guarantees.

$\endgroup$
4
  • 1
    $\begingroup$ I don't see why you need an online key-exchange for non forward secure encryption/mac. You could simply compute the shared DH key between the two long-term keys and prove knowledge of that key by computing a MAC. That way you get some degree of authentication and deniability. $\endgroup$ Jun 26, 2013 at 20:29
  • $\begingroup$ Hmm, you are right here. $\endgroup$ Jun 26, 2013 at 20:30
  • $\begingroup$ There is also $\:$ cs.umd.edu/~jkatz/papers/forward-enc-full.pdf . $\;\;\;$ $\endgroup$
    – user991
    Jun 26, 2013 at 21:24
  • 2
    $\begingroup$ Messaging software from OpenWhisperSystems negotiates the session keys for multiple messages in advance. This way an online key exchange is only required once, and the DH key exchange for subsequent messages can be done on top of the regular asynchronous mail. More info: whispersystems.org/blog/asynchronous-security $\endgroup$
    – Shnatsel
    Aug 24, 2015 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.