De end-to-end-encryptie die in WhatsApp is geïmplementeerd, is onvolledig en niet te vertrouwen concludeert het Duitse Heise Security na een analyse van de populaire chatclient. Zo ondersteunen iPhones geen e2e-encryptie en is het encryptieproces onvoldoende transparant.
WhatsApp heeft sinds november vorig jaar in de Android-versies van zijn chatclient end-to-end-encryptie standaard geactiveerd, maar dat geeft de gebruiker allerminst de garantie dat zijn berichten versleuteld worden verstuurd, zo stelt Heise Security. Zij bekeken met tools als Wireshark en Yowsup het berichtenverkeer dat WhatsApp genereert bij zowel het verzenden als het ontvangen van berichten.
Tijdens testen door middel van een klassieke man-in-the-middle-opstelling bleek dat berichten tussen twee Android-clients daadwerkelijk 'end-to-end' werden versleuteld via het zogeheten TextSecure-protocol. Als er echter een bericht naar een iOS-client werd gestuurd, werd TextSecure niet toegepast. Dat komt doordat de WhatsApp-app voor iPhones deze vorm van versleuteling niet ondersteunt. Het was daardoor vrij eenvoudig om het testbericht tussentijds te onderscheppen en te ontsleutelen.
Om berichten basaal te versleutelen, gebruikt WhatsApp al enige tijd RC4-encryptie als er geen end-to-end-encryptie tussen clients mogelijk is. Dit algoritme wordt al langer als onvoldoende veilig gezien, maar een aanvaller moet nog wel moeite doen om een bericht te ontsleutelen. Daardoor biedt RC4 enige zekerheid tegen het op grote schaal ontsleutelen van data, bijvoorbeeld door de backbone af te tappen. Een ander zwak punt is dat voor elk bericht de sleutel gegenereerd wordt op basis van een gebruikerswachtwoord. Doordat volgens Heise WhatsApp nooit inzage heeft gegeven in hoe zijn servers omgaan met deze minder sterke versleuteling, blijft ook dit een kwetsbaar punt.
Volgens Heise zijn er nog meer problemen met de huidige implementatie van e2e-encryptie in WhatsApp. Zo is onduidelijk of deze vorm van encryptie altijd wordt gebruikt als dat technisch mogelijk is. Zo bestaat de mogelijkheid dat in bepaalde gevallen encryptie uitgeschakeld wordt, bijvoorbeeld op verzoek van inlichtingendiensten. In ieder geval is er een mechanisme om end-to-end-encryptie uit te schakelen, bijvoorbeeld als er naar een iPhone een berichtje wordt gestuurd. Verder is het door de propriëtaire code van de WhatsApp-client niet zeker of de gebruikte sleutel niet alsnog door een derde bemachtigd kan worden. Ten slotte wijzen de testers erop dat de WhatsApp-client de gebruiker niet laat weten of er e2e-encryptie wordt gebruikt.
De bedenker van het e2e-protocol, Open Whisper Systems, heeft inmiddels op Reddit gereageerd op het artikel van Heise. Zij stellen dat er nog volop wordt gesleuteld aan de implementatie van end-to-end-encryptie voor WhatsApp en dat die stapsgewijs zal plaatsvinden.
Update, 11:00: Reactie van Open Whisper Systems is toegevoegd.