15

The Signal Protocol is a relatively new secure messaging protocol that was recently implemented in Signal, WhatsApp, and several other messenging apps. According to Wikipedia, the Signal protocol is an evolution of the OTR protocol (https://otr.cypherpunks.ca/otr-wpes.pdf).

One of the major new features of Signal is that it allows for asynchronous messaging (i.e. both participants need not be online at the same time).

What are the other important differences between these protocols? Are there any instances in which OTR would be better suited than Signal?

Ilmari Karonen
  • 46,700
  • 5
  • 112
  • 189
therealrootuser
  • 251
  • 2
  • 4

2 Answers2

1

The the Signal protocol can be divided into three stages. The original key exchange called X3DH (extended triple Diffie-Hellman) which combines long-tern medium-term and ephemeral Diffie-Hellman keys to produce a common root key. •A ratchet stage in which users alternately send ephemeral keys to generate chain keys that provide forward-secrecy to the protocol.

A ratchet stage in which key generation functions are used to generate symmetric keys from chain keys.

The X3DH protocol uses the concept of prekeys to allow the sending of asynchronous messages.

Bob first sends to the server a set of keys that he has generated that contains.

The OTR protocol was built to provide perfect forward secrecy and deniability. By deniability we mean that the parties involved can verify the authenticity of the messages but cannot prove it to a third party. The OTR v3 protocol will be analyzed. Initially the OTR assumes that the network will deliver the packet send in the correct order but that some packets will also be lost. In order for Alice to communicate with Bob, she must notify him that she wishes to use OTR. This can be done either by sending an OTR Query Message to Bob or by including a special tag consisting of whitespace characters in one of the messages he will send to Bob. When Bob receives the message he will start the Authenticated Key Exchange. A variant of the SIGMA protocol is used as AKE.

Pegasus
  • 130
  • 3
0

Check out the blog post by Whisper Systems regarding the triple ratchet of OTR verses the double ratchet of Signal. Also, a prior article about synchronous versus asynchronous messaging is worth the read. Both of those should answer all of your questions.

Aaron Toponce
  • 246
  • 2
  • 12