Veilig chatten als een baas
Een intieme chat met je vriend of vriendin, zonder dat het automatisch een group chat wordt omdat de geheime diensten over je schouders meekijken? Zo makkelijk is dat nog niet. De gebruikte techniek bepaalt in hoge mate hoe goed je communicatie is beveiligd tegen meelezers. Wat zijn eigenlijk de belangrijkste technische criteria waar je op moet letten bij de keuze van een veilige chatapplicatie?
Eis 1: De broncode van de applicatie moet beschikbaar zijn. Een computerprogramma, zoals de chatapplicatie op je mobiele telefoon, is opgebouwd uit twee delen. De ontwikkelaar beschrijft wat het programma precies moet doen in de broncode. Die broncode is opgesteld in een (programmeer)taal geschreven die door mensen begrepen kan worden. Uit deze broncode wordt vervolgens het programma gecompileerd zoals dat op je computer draait. Die gecompileerde code is onleesbaar voor mensen. Wil je dus zeker weten dat de programmeur geen achterdeur voor een geheime dienst heeft ingebouwd, dan is het noodzakelijk dat ook de broncode openbaar is. In jargon: de applicatie moet open source zijn.
Eis 2: De applicatie maakt gebruik van bewezen encryptie. Er worden altijd weer nieuwe manieren bedacht om gegevens te versleutelen. Maar niet alles blijkt zo sterk als het lijkt. De ontwikkelaar van een chatapplicatie kan dus het beste kiezen voor een methode van versleutelen waarvan experts unaniem zeggen dat deze niet binnen afzienbare tijd te breken is. Belangrijk is ook dat de ontwikkelaar voor elk nieuw bericht een nieuwe sleutel genereert. Mocht zo’n sleutel namelijk onderschept raken, dan zijn niet al je oude berichten ook meteen leesbaar. In jargon: de applicatie moet perfect forward secrecy ondersteunen, zoals bijvoorbeeld off-the-record (OTR) dat doet.
Eis 3: De versleuteling moet tussen jou en je gesprekspartner plaatsvinden. Je hebt als gebruiker nog steeds niets aan die goede encryptie als de sleutels die daarvoor nodig zijn op andere computers dan die van jezelf en je gesprekspartner zijn opgeslagen. Immers, als de verbinding tussen jou en een tussenliggende server is versleuteld en daarna de verbinding tussen die server en je gesprekspartner opnieuw is versleuteld, dan kan de beheerder van die server nog altijd bij de inhoud van je communicatie. Daarom is het belangrijk dat een bericht dat je verzendt op jouw eigen computer is versleuteld en alleen maar gedecodeerd kan worden op de computer van je gesprekspartner. In jargon: de applicatie moet end-to-end encryptie ondersteunen.
Eis 4: Gegevens over je gebruik worden niet op één centrale plek opgeslagen. Veel chatapplicaties, zoals Whatsapp, slaan gegevens over jouw sociale netwerk en de berichten die je verstuurt op een centrale server op. Je moet de beheerders van die servers dus maar op hun blauwe ogen vertrouwen dat ze daar zeer zorgvuldig mee omgaan – het is bovendien een one-stop-shop voor opsporings- en geheime diensten. Een applicatie die jouw communicatie écht beschermt is dus decentraal ingericht. Het liefst is het voor iedereen die technisch een kleine beetje onderlegd is, mogelijk om zelf zo’n server op te zetten en zich daarmee aan te sluiten op een groter netwerk. Kun je dat niet zelf, dan gebruik je de server van vrienden om je aan te melden. In jargon: het protocol moet federated zijn, zoals XMPP dat bijvoorbeeld is.
Maar wat als je de ballen verstand van techniek hebt? Chatten met de zekerheid dat niemand mee leest wordt er met al deze technische details niet makkelijker op. Eén troost: het is zelfs voor technische experts lastig om goed te beoordelen of een chatapplicatie écht veilig is. Maar ondoenlijk is het zeker niet en gelukkig hoef je het uitzoekwerk niet persé zelf te doen. Anderen hebben die analyse al voor je gemaakt (al moet je nu wel die anderen vertrouwen). Lees bijvoorbeeld Fighting DISHFIRE of bekijk de overzichten op The Guardian Project, PRISM-break, Security in a Box en natuurlijk onze eigen toolbox.
Los van dit alles: je hebt natuurlijk nog niets aan de ideale, superveilige chatapplicatie die door niemand wordt gebruikt. De vraag blijft dus: hoe maken jullie die afweging tussen veiligheid en gebruiksgemak?