In de strijd tussen concurrerende berichtenapps speelt de beveiliging van berichten een grote rol. WhatsApp en Signal bieden alle twee standaard end-to-end-encryptie voor alle berichten, bij bijvoorbeeld Telegram is dit een beperkte optie die je zelf moet instellen. Hoe werkt end-to-end-encryptie precies? En zijn er ook nadelen en risico’s aan verbonden?

Kortgeleden besteedden we in de Vraag van de Week aandacht aan twee goede alternatieven voor WhatsApp: Signal en Telegram. Aanleiding was de ophef die is ontstaan over de intenties van WhatsApp-eigenaar Facebook en de razendsnelle opkomst van die twee andere apps. Daarin schreven we dat de end-to-end-encryptie (E2EE) van berichten een populair onderdeel is van WhatsApp. Ook bij Signal zit deze E2EE standaard ingebakken. Om uit te leggen hoe dit precies werkt, gebruiken we een wat ouderwetse vergelijking.

Brief in een envelop
Als je een brief verstuurt naar je vriend in een andere stad, dan ga je ervan uit dat deze zonder problemen aankomt en dat de postbode hem onderweg zelf niet heeft gelezen. De brief zit namelijk veilig opgeborgen in een envelop. Zo werkt het ook bij berichtenapps: de zender stopt zijn bericht in een digitale envelop die alleen door de ontvanger kan worden geopend. Slechts twee mensen hebben de sleutel in handen om de brief (het berichtje) te decoderen en te lezen: jijzelf en de ontvanger.

Er bestaat nog een andere vorm van versleuteling en die heet encryptie-in-transit. Hierbij wordt een bericht versleuteld naar de app-server gestuurd en daar gedecodeerd (en opgeslagen). Vervolgens versleutelt de berichtendienst het bericht opnieuw en stuurt het door naar de ontvanger die het daarna ook weer decodeert. Dit is de standaardmethode bij berichtenapp Telegram. Door die razendsnelle tussenstap, waar je als gebruiker dan ook niets van merkt, is het bericht ‘in principe’ toegankelijk voor de berichtendienst. Je kunt bij Telegram echter ook end-to-end-encryptie toepassen, daarvoor gebruik je de optie Geheime chat starten. De berichtenapp Facebook Messenger kent die optie overigens ook, daar heet het kortweg Geheim.

Publieke en privésleutel
Bij E2EE werkt het anders. Je maakt hierbij gebruik van twee digitale sleutels: een publieke en een privésleutel. Alleen jij hebt toegang tot je eigen privésleutel, de publieke sleutel deel je met degene met wie je chat. Beide sleutels worden direct op je apparaat opgeslagen wanneer je de betreffende berichtenapp downloadt en installeert.

Wanneer je iemand als Contact toevoegt in de berichtenapp, komt de unieke publieke sleutel van dat contact mee met die informatie. Als je die persoon vervolgens een berichtje stuurt, dan wordt dit versleuteld met diens publieke sleutel. Als het berichtje aankomt, kan de ontvanger dit alleen openen met zijn eigen privésleutel. Met andere woorden: publieke sleutels worden gebruikt om berichten te vergrendelen (om de envelop dicht te plakken). De privésleutel die alleen de ontvanger heeft, wordt gebruikt om het bericht te ontgrendelen (de envelop te openen). Het bericht is ondertussen langs diverse servers gegaan over het publieke internet, maar zonder de privésleutel van de ontvanger heeft niemand anders het kunnen lezen.

 

geeks for geeks klein

(afbeelding: geeksforgeeks.org)


VOORDELEN

Omdat het bericht op deze manier is versleuteld, is het moeilijker voor hackers om erbij te komen. Zelfs als onverlaten toegang zouden krijgen tot de servers van de berichtenapp, zullen zij nog steeds niet in staat zijn om de inhoud van jouw berichten te zien. Je privacy is daarmee gegarandeerd. Ook de berichtendienst zelf kan de inhoud van je berichten niet lezen. En dus ook niet vrijgeven, wanneer jij zelf bijvoorbeeld door een telefooncrash niet meer bij je berichten kunt. Maar óók niet als ze daar door justitie met een rechterlijk bevel toe zou worden gesommeerd. En dit is niet hypothetisch: Signal is al meerdere malen door de Amerikaanse FBI gevraagd om verdachte berichten over te dragen. Achterdeurtjes bestaan – voor zover bekend - niet bij E2EE. Dicht is dicht.

NADELEN EN RISICO'S
Geen enkel systeem is perfect en ook end-to-end encryptie niet, er zijn ook risico’s. Een daarvan is een gevoel van schijnveiligheid, een ander is een gerichte inbraakpoging.

Man-in-the-middle
Als een hacker jouw beveiligde bericht wil lezen, maar erachter komt dat hij de envelop niet kan openen, kan hij besluiten om de hele envelop mee te nemen. Dit gaat als volgt te werk: de onverlaat doet voorkomen alsof hij de ontvanger is door zijn apparaat in het midden van de communicatie te plaatsen. Zodra de communicatiesleutels worden uitgewisseld, krijgt deze derde partij daarmee ook de publieke sleutel in handen. Je berichtje zal dan nooit bij de ontvanger aankomen. Omdat die persoon zich tussen de verzender en de ontvanger wringt, wordt dit een man-in-the-middle-aanval genoemd.

mitm cpanel.net

Dit is te voorkomen met een tweede set sleutels. Die worden dan tegen elkaar geverifieerd vóórdat de berichten heen en weer gestuurd worden. Op die manier weet je zeker dat je met de juiste ontvanger aan het chatten bent en dat er niemand tussen jullie tweeën in staat die de berichtjes onderschept. Berichten-app Signal heeft een andere manier om zo’n dergelijke aanval te voorkomen, namelijk door voor elk nieuw berichtje aan een contactpersoon een nieuwe publieke sleutel aan te maken.

Metadata wel opgeslagen
De inhoud van berichten is dus goed geregeld bij E2EE, dus in die zin is je privacy gegarandeerd. Maar behalve inhoud bevat het bericht ook metadata: onder welke naam en wanneer het bericht is verstuurd, naar wie en vanaf welk IP-adres. Om de vergelijking met de briefpost nog even door te trekken: dat wat er allemaal op de buitenkant van de envelop staat.
De berichtenapp kan die informatie over jouw app-gebruik opslaan en daar een profiel uit herleiden. Het is aan de betreffende app-leverancier om te bepalen (en jou duidelijk te informeren) hoe die daarmee omgaat. Bovendien kunnen deze ‘technische’ metadata bij een verdenking wél worden opgeëist door justitie, zoals eerder ook regelmatig gebeurd is. Geen probleem voor wie niets te verbergen heeft, zou je kunnen denken, maar het gaat in dit geval om het principe en over de werking.

Back-up
We noemden eerder de term schijnveiligheid: je berichten op de smartphone of tablet kunnen dan wel E2EE-beveiligd zijn, maar wat als je gebruikmaakt van automatische back-ups in de cloud? Zo biedt WhatsApp back-ups aan naar Google Drive voor Android-toestellen en naar iCloud voor iPhones. iMessage back-upt uiteraard standaard op in iCloud. Je berichten zijn dan wel E2EE-versleuteld, maar is de cloud-back-up dat ook? Bij iCloud in ieder geval niet, zo werd recent bekend.

Signal en Telegram-app hebben – bewust - geen back-up-opties naar de cloud, dus daar speelt dit niet. Je kunt wel een lokale back-up op je maken en die ook exporteren wanneer je een nieuw toestel gaat gebruiken.

Apparaat beveiligen
Tot slot zijn je berichtjes natuurlijk net zo goed beveiligd als je smartphone of tablet dat zelf is. Een pincode, wachtwoordpatroon of vingerafdruk- en gezichtsherkenning zijn tegenwoordig standaard aanwezig op alle telefoons en tablets. Daarnaast kun je voor de meeste berichtenapps een vorm van tweestapsverificatie instellen, waarbij je via mail of sms een code krijgt toegestuurd. Of je krijgt een QR-code die je moet scannen. Lees hier over de tweestapsverificatie in WhatsApp en hier een algemenere uitleg over hoe de verificatie werkt. Sommige wachtwoordmanagers zoals LastPass bieden ook tweestapsverificatie aan.
Daarnaast zijn er zogenaamde authenticator-apps dieje helpen je om je toestel of app extra te beveiligen. Bekende voorbeelden zijn Google Authenticator voor Android en iOS en Microsoft Authenticator (voor meerdere platforms). Hiervoor heb je wel een Google- of Microsoft-account nodig.

Naast end-to-end-encryptie zijn dit goede manieren om je berichten voor jezelf te houden.