WhatsApp flaw could allow attackers to decrypt messages
WhatsApp uses the same RC4 encryption key for incoming and outgoing streams, a Dutch developer said
IDG News Service - The popular mobile messaging application WhatsApp Messenger has a major design flaw in its cryptographic implementation that could allow attackers to decrypt intercepted messages, according to a Dutch developer.
The problem is that the same key is used to encrypt both outgoing and incoming streams between the client and the WhatsApp server, said Thijs Alkemade, a computer science and mathematics student at Utrecht University in the Netherlands and lead developer of the open-source Adium instant messaging client for Mac OS X.
"RC4 is a PRNG [pseudo-random number generator] that generates a stream of bytes, which are xored [a crypto operation] with the plaintext that is to be encrypted. By xoring the ciphertext with the same stream, the plaintext is recovered," Alkemade said Tuesday in a blog post that describes the issue in detail.
Because of this, if two messages are encrypted with the same key and an attacker can intercept them, like on an open wireless network, he can analyze them to cancel out the key and eventually recover the original plaintext information.
Reusing the key in this manner is a basic crypto implementation error that the WhatsApp developers should have been aware of, Alkemade said Wednesday. It's a mistake made by the Soviets in the 1950s and by Microsoft in its VPN software in 1995, he said.
Alkemade released proof-of-concept exploit code for the vulnerability, but initially tested it on the WhatsPoke open-source library, not on the official WhatsApp client. Since then he has confirmed that the issue exists in the WhatsApp clients for Nokia Series 40 and Android devices.
"I don't think the situation will be different with the iOS client," he said.
WhatsApp also uses the same RC4 encryption key for HMAC (hash-based message authentication code) operations to authenticate messages.
This allows an attacker to intercept a message sent by a user to the server and resend it back to the user as if it came from the WhatsApp server, but this is not something that can be easily exploited, Alkemade said.
The Dutch developer didn't attempt to contact WhatsApp before disclosing the issue publicly. "I thought that it's important for people to know that WhatsApp is not secure and I didn't expect them to fix it rapidly," he said.
Fixing this doesn't require rethinking the entire encryption implementation, Alkemade said. If they add a method to generate different keys for encryption in both directions, as well as for message authentication, then the problem is solved, he said.
According to Alkemade, users for now should assume that anyone who can intercept their WhatsApp connections can also decrypt their messages and should consider their previous WhatsApp conversations compromised.
- Path Selection Infographic Path Selection Infographic
- Hyperconvergence Infographic A wide range of observers agree that data centers are now entering an era of "hyperconvergence" that will raise network traffic levels faster...
- Preparing Your Infrastructure for the Hyperconvergence Era From cloud computing and virtualization to mobility and unified communications, an array of innovative technologies is transforming today's data centers.
- How WAN Optimization Helps Enterprises Reduce Costs If you wanted to break down innovation into a tidy equation, it might go something like this: Technology + Connectivity = Productivity. Productivity...
- Cloud Knowledge Vault Learn how your organization can benefit from the scalability, flexibility, and performance that the cloud offers through the short videos and other resources...
- LIVE EVENT: 5/7, The End of Data Protection As We Know It. Introducing a Next Generation Data Protection Architecture. Traditional backup is going away, but where does this leave end-users? All Encryption White Papers | Webcasts