Open Whisper Systems Denies WhatsApp Backdoor
Ashley Allen / 8 years ago
Earlier this week, The Guardian reported that Facebook-owned instant messaging app WhatsApp included a backdoor that allowed its employees to read users’ messages. The accusation, based on research by Tobias Belter, alleged that offline users could have their messages accessed through a newly-generated authentication key. Now, Open Whisper Systems, designer of the encryption protocol used by WhatsApp and creator of secure SMS app Signal, has denied that Belter’s findings constitute a backdoor, branding The Guardian story “false”.
Open Whisper Systems explains in a blog post:
“WhatsApp’s encryption uses Signal Protocol, as detailed in their technical whitepaper. In systems that deploy Signal Protocol, each client is cryptographically identified by a key pair composed of a public key and a private key. The public key is advertised publicly, through the server, while the private key remains private on the user’s device.
This identity key pair is bound into the encrypted channel that’s established between two parties when they exchange messages, and is exposed through the “safety number” (aka “security code” in WhatsApp) that participants can check to verify the privacy of their communication.
Most end-to-end encrypted communication systems have something that resembles this type of verification, because otherwise an attacker who compromised the server could lie about a user’s public key, and instead advertise a key which the attacker knows the corresponding private key for. This is called a “man in the middle” attack, or MITM, and is endemic to public key cryptography, not just WhatsApp.
One fact of life in real world cryptography is that these keys will change under normal circumstances. Every time someone gets a new device, or even just reinstalls the app, their identity key pair will change. This is something any public key cryptography system has to deal with. WhatsApp gives users the option to be notified when those changes occur.
While it is likely that not every WhatsApp user verifies safety numbers or safety number changes, the WhatsApp clients have been carefully designed so that the WhatsApp server has no knowledge of whether users have enabled the change notifications, or whether users have verified safety numbers. WhatsApp could try to “man in the middle” a conversation, just like with any encrypted communication system, but they would risk getting caught by users who verify keys.
Under normal circumstances, when communicating with a contact who has recently changed devices or reinstalled WhatsApp, it might be possible to send a message before the sending client discovers that the receiving client has new keys. The recipient’s device immediately responds, and asks the sender to reencrypt the message with the recipient’s new identity key pair. The sender displays the “safety number has changed” notification, reencrypts the message, and delivers it.
The WhatsApp clients have been carefully designed so that they will not re-encrypt messages that have already been delivered. Once the sending client displays a “double check mark,” it can no longer be asked to re-send that message. This prevents anyone who compromises the server from being able to selectively target previously delivered messages for re-encryption.
The fact that WhatsApp handles key changes is not a “backdoor,” it is how cryptography works. Any attempt to intercept messages in transmit by the server is detectable by the sender, just like with Signal, PGP, or any other end-to-end encrypted communication system.”
Effectively, Open Whisper Systems says that, yes, this “man in the middle” technique could be used to incept user messages, but those who have security notifications turned on would know that their encryption had been compromised, and WhatsApp has no way of telling who has notifications turned on or not.
Cryptography expert Frederic Jacobs, who helped design the Signal Protocol, agrees, tweeting:
https://twitter.com/FredericJacobs/status/819866979020443648