Wel of geen backdoor in WhatsApp
Een fout bij de versleuteling van WhatsApp werd meteen als backdoor bestempeld, maar de ontwikkelaar denkt daar anders over. In The Guardian stond een bericht dat beveiligingsexperts een "reusachtige bedreiging voor de vrijheid van meningsuiting" gevonden hebben. Sommigen maakten van het beveiligingslek zelfs een opzettelijk opengezette backdoor waarmee derden versleutelde conversaties konden afluisteren.
Moxie Marlinspike, de ontwikkelaar van de door WhatsApp gebruikte opensource versleutelingstechniek, heeft daar vervolgens op gereageerd (zie de link). Daarvoor is het relevant kort te weten hoe de versleuteling werkt. Iedere client identificeert zich met een sleutelpaar met een public key op de server van WhatsApp en een private key op het apparaat. Uitgaande berichten worden met de public key versleuteld, onleesbaar voor de server, en naar de ontvanger gestuurd. Daar wordt er met zijn private key een leesbare tekst van gemaakt.
De deelnemers kunnen de versleuteling controleren met een securitycode. Dat werkt bij de opensource messenger Signal en de commerciële messenger Threema op dezelfde manier. Het verifiëren van de securitycode voorkomt dat een aanvaller het communicatiekanaal kan compromitteren. Zonder securitycode zou een aanvaller met toegang tot de WhatsAppserver daar de public key van een deelnemer kunnen omruilen voor zijn eigen, waar hij de private key van weet. De andere deelnemer merkt er dan niets van dat in dat geval de sleutels veranderd zijn. Het controleren van de securitycode is echter een optionele instelling.
Het blijkt nu dat een WhatsAppclient een bericht nog een keer stuurt als de andere persoon in eerste instantie offline was. In de tussentijd kan het gebeuren dat het sleutelpaar veranderd is – bijvoorbeeld omdat de ander de app opnieuw geïnstalleerd heeft. Dan wordt het bericht de tweede keer versleuteld met de nieuwe sleutels en verzonden. Daarna krijg de afzender een melding dat de sleutel van de gesprekspartner gewijzigd is – als hij die optie aangezet heeft tenminste. Bij een MITMaanval komt het bericht dan in handen van de aanvaller. Let wel: dan geldt alleen voor de berichten van na de sleutelwisseling, eerdere berichten blijven veilig.
De messenger Signal doet het net andersom, die gebruikt dezelfde versleutelingsmethode, maar test de securitycode vóór het versturen en geeft dan een melding. Volgens Marlinspike was het een designkeuze dat niet te doen. Dan zouden gebruikers erachter komen wie de meldingsfunctie aan hebben staan en wie niet. Dan weet je ook meteen wie daar kwetsbaar voor zijn.
WhatsApp heeft geen optie om berichten tegen te houden als de ontvanger opeens andere sleutels heeft. Je hebt wel de mogelijkheid dat afzenders een bericht krijgen als de sleutel van ontvangers verandert. Die staat standaard echter uit. Zet (bij iOS) bij 'Instellingen / Account / Beveiliging' de optie 'Toon beveiligingsmeldingen' aan. Dat voorkomt niet dat berichten in onrechtmatige handen komen, maar laat je in ieder geval wel weten dat de tegenpartij wellicht niet meer is wie je denkt. Dan moet je zelf beslissen of je hem blijft vertrouwen of eerst zijn securitycode wilt verifiëren.
Het lijkt al met al dus redelijk onwaarschijnlijk dat WhatsApp expres een backdoor ingebouwd heeft, volgens Marlinspike had The Guardian er dan ook beter aan gedaan eerst bij WhatsApp na te vragen hoe de vork in de steel zat. (nkr)