Updated WhatsApp’s end-to-end encryption can be potentially exploited by determined snoops to intercept and read encrypted messages, it was claimed today. Essentially, if an attacker can reroute a redelivered encrypted message, it is possible to decrypt the text.
Facebook-owned WhatsApp stresses this is not a serious flaw nor a deliberate backdoor in its code. Users can detect and stop the surveillance, if it happens, by activating security notifications in the application's settings.
At the heart of the matter is the exchange of cryptographic keys when two people start chatting to each other: their public keys are sent through Facebook's servers, and ideally the two people need to verify outside of WhatsApp that their keys haven't been tampered with during the handover.
If it's not possible to verify the keys, or there isn't an opportunity to verify the keys, you're potentially open to man-in-the-middle surveillance. For example, a snooper could stop a WhatsApp message from being sent, take over the recipient's phone number, trigger a public key exchange between the sender and the snooper's handset that's now using the recipient's hijacked number, receive the redelivered text before the sender has a chance to verify the new public key, and decrypt the message they're not supposed to read. This is non-trivial to exploit and rather easy to detect when it happens, rendering it pointless.
The problem – which is "endemic to public key cryptography" – was raised in April last year, and at the time WhatsApp said it wasn't a serious enough design flaw to spend time fixing.
Now allegations that WhatsApp deliberate knackered its security have flared up again, this time reported in The Guardian. In response, the Facebook-owned messaging service said it designed its app to redeliver messages as described above to allow texts to be sent in parts of the world where people frequently swap devices and SIM cards.
Today WhatsApp reminded us it is possible to configure the software to notify you when a key is changed if you're worried about state-level surveillance:
Over 1 billion people use WhatsApp today because it is simple, fast, reliable, and secure. At WhatsApp, we’ve always believed that people’s conversations should be secure and private. Last year, we gave all our users a better level of security by making every message, photo, video, file and call end-to-end encrypted by default. As we introduce features like end-to-end encryption, we focus on keeping the product simple and take into consideration how it's used every day around the world.
In WhatsApp's implementation of the Signal Protocol, we have a “Show Security Notifications” setting (option under Settings > Account > Security) that notifies you when a contact's security code has changed. We know the most common reasons this happens are because someone has switched phones or reinstalled WhatsApp. This is because in many parts of the world, people frequently change devices and SIM cards. In these situations, we want to make sure people's messages are delivered, not lost in transit.
The alleged weakness in WhatsApp’s encryption system was documented by Tobias Boelter, a cryptography and security researcher at the University of California, and branded a "backdoor" today in The Grauniad. The paper fears governments can abuse the messenger app's design, which is based on Open Whisper's Signal protocol, to snoop on people's conversations.
Some infosec bods are critical of Facebook’s design decisions in rolling out its end-to-end encryption in WhatsApp.
Neil Cook, chief security architect at Open-Xchange, commented: “WhatsApp has already broken their promise not to share user data with Facebook, and now it seems that their promise of end-to-end encrypted messaging isn’t quite as secure as everyone had hoped, particularly given the involvement of Open Whisper Systems. It’s worth noting that this error in the encryption protocol is not present in Signal, so the team at WhatsApp have made the change intentionally.”
Matthew Aldridge, solutions architect at Webroot, added: “This flaw allows Facebook/WhatsApp to intercept messages if they choose to, by having the sender’s software automatically flip across to a second encryption key. The functionality is designed to create a seamless user experience for users who have connectivity issues or drop offline for a time during a conversation, but it has resulted in a situation where it could be used to intercept messages by WhatsApp. For those sending highly sensitive messages, or simply looking to avoid this, you should switch on the key change warnings in settings, and always check that the two ticks appear after sending messages in an active conversation.”
Others fault Facebook for failing to respond quickly enough.
Jacob Ginsberg, senior director at Echoworx, an expert in end-to-end messaging encryption, said: “The fact that Facebook has known about this vulnerability since April is doubly damming. Not only could this be seen by many as supporting on-going government data collection interventions, it means their talk of encryption and privacy has been nothing more than lip service. The company needs to actively address its security measures.” ®
Updated to add
In a follow-up statement, WhatsApp denied accusations that it had inserted what amounted to a backdoor in its messaging code:
The Guardian posted a story this morning claiming that an intentional design decision in WhatsApp that prevents people from losing millions of messages is a “backdoor” allowing governments to force WhatsApp to decrypt message streams. This claim is false.
WhatsApp does not give governments a “backdoor” into its systems and would fight any government request to create a backdoor. The design decision referenced in the Guardian story prevents millions of messages from being lost, and WhatsApp offers people security notifications to alert them to potential security risks. WhatsApp published a technical white paper on its encryption design, and has been transparent about the government requests it receives, publishing data about those requests in the Facebook Government Requests Report.
Meanwhile, cryptographers aren't so sure this is such a serious issue – rather, it's an issue with all public-private-key encryption systems:
It's ridiculous that this is presented as a backdoor. If you don't verify keys, authenticity of keys is not guaranteed. Well known fact.— Frederic Jacobs (@FredericJacobs) January 13, 2017