Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Sander van Voorst

Nieuwsredacteur

Personal privacy deel II

Tools om veilig te chatten

Inleiding

In dit tweede deel van de serie Personal Privacy richten we ons op tools om het uitwisselen van berichten zo veilig mogelijk te maken. In het eerste deel ging het nog over encryptie van lokale bestanden, maar soms wil je informatie uitwisselen zonder dat een derde partij kan meelezen. En waar we 'soms' zeggen, bedoelen we eigenlijk 'altijd', want waarom zou je communicatie inzichtelijk willen maken voor iemand die niets met het gesprek te maken heeft? Nu zijn er sinds de Snowden-onthullingen veel tools verschenen die claimen veilige communicatie te garanderen. Aangezien dit soort claims meteen al alarmbellen moeten doen afgaan, hebben we besloten om een aantal tools op een rijtje te zetten. Daarbij houden we ons weer aan de criteria die we ook in het eerste deel hebben toegepast.

Zo is het de bedoeling om opensourcetools te bespreken, omdat dit de mogelijkheid biedt om de code van de software te inspecteren. Dit is geen garantie op veiligheid, maar wel een vereiste voor software waarmee je mogelijk gevoelige informatie deelt.

Daarnaast hebben we gekeken naar software die gebruikmaakt van bewezen veiligheidspraktijken en waarmee niet is geprobeerd het wiel opnieuw uit te vinden. Dat is een van de redenen waarom je de chat-app Telegram met zijn eigen MTProto-encryptieprotocol niet tussen de besproken tools zult vinden. Dit is niet direct een oordeel over de veiligheid van de app, maar hij past niet tussen de andere geselecteerde programma's. WhatsApp zul je evenmin tegenkomen. Facebook heeft weliswaar door de samenwerking met Moxie Marlinspike en de implementatie van het Signal-protocol een belangrijke stap gezet, maar de broncode van WhatsApp is nog steeds niet openbaar. Dit betekent niet dat WhatsApp per se onveilig is, maar betekent alleen dat er geen oordeel te vellen is over de veiligheid.

Afbeelding van RestrictedData, CC 2.0 Generic

Een derde vereiste voor de in dit stuk opgenomen tools is dat ze gratis moeten zijn, al vloeit dit vaak voort uit het feit dat ze open source zijn. Bovendien moet het hele communicatieproces versleuteld zijn met end-to-end-encryptie, zodat bijvoorbeeld niet alleen het verkeer tussen een gebruiker en de server versleuteld is. Bij een juiste implementatie van end-to-end-encryptie is het namelijk niet mogelijk om berichten te onderscheppen en de inhoud daarvan in te zien, ook niet voor de server die verantwoordelijk is voor het doorgeven van de berichten. Daarom komen in dit artikel tools voor die weliswaar open source zijn, maar waarvan de serversoftware niet geheel toegankelijk is. In een ideale wereld zou deze ook openbaar zijn, maar de realiteit is dat er maar een zeer klein aantal tools is die deze eigenschap bezitten.

Zoals eerder aangestipt, is het natuurlijk de vraag waarom iemand gebruik zou maken van een van de tools uit dit stuk. Hiervoor kunnen uiteenlopende redenen bestaan. Sommigen willen gewoon niet dat de mogelijkheid bestaat dat hun communicatie wordt onderschept. Bijvoorbeeld door een aanbieder die de tekst analyseert en op basis daarvan een profiel voor gerichte advertenties opstelt. Anderen vinden het gewoon niet fijn dat de mogelijkheid bestaat dat berichten in verkeerde handen vallen. Deze groep is op zoek naar een tool die in alle gevallen uitkomst biedt en die op veel platforms beschikbaar is.

Er zijn genoeg redenen om aan te nemen dat communicatie in de gaten wordt gehouden en om stappen te ondernemen die de persoonlijke levenssfeer beschermen. In andere gevallen kan het voorkomen dat je eenmalig een gesprek wil beschermen, bijvoorbeeld omdat je op een netwerk zit dat je niet vertrouwt of omdat je een geweldig idee hebt dat je wil beschermen. Politieke redenen kunnen hierbij eveneens een rol spelen, bijvoorbeeld in landen met een regime dat bepaalde denkwijzen wil onderdrukken. Ook iets eenvoudigs als het eenmalig delen van wachtwoorden is een reden om geschikte software te gebruiken. Gebruikers hebben in dergelijke situaties tools nodig die eenvoudig te gebruiken zijn en snel het gewenste resultaat hebben.

In het overzicht komen verschillende tools voor die end-to-end-encryptie op hun eigen manier realiseren, bijvoorbeeld via het Signal-protocol, via Tor of via OTR. Deze manieren komen per tool aan de orde. Vooropgesteld moet worden dat geen enkele van de genoemde programma's absolute garantie biedt op veilige communicatie. We hebben geprobeerd om tools te selecteren die zoveel mogelijk stappen in de juiste richting hebben gezet om risico's te verkleinen.

Daarnaast moet worden vermeld dat ook perfecte end-to-end-encryptie geen ultieme oplossing biedt. Zo is al langer bekend dat metadata, bijvoorbeeld de duur van en de deelnemers aan een gesprek, veel over de communicatiestromen en -patronen van een persoon kan vertellen. De NSA heeft eerder gesteld erg blij te worden van het gebruik van met pgp versleutelde berichten. Het is dan weliswaar niet mogelijk om de inhoud te lezen, maar het gebruik ervan valt wel op 'als een kerstboom'. Daarom was bijvoorbeeld de stap van WhatsApp om end-to-end-encryptie in te schakelen zo belangrijk, want daarmee schoot het aantal versleutelde verbindingen omhoog.

Mailen met pgp komt in het huidige overzicht nog niet voor; daaraan wordt in het derde deel van deze serie aandacht besteed. Dit overzicht beperkt zich tot diensten die te gebruiken zijn als instant messengers.

Cryptocat

De opensourcesoftware Cryptocat bestaat sinds 2011 en wordt ontwikkeld door de Libanees Nadim Kobeissi, die ook achter de MiniLock-software uit het eerste deel van deze serie zit. De software stelt gebruikers in staat om versleutelde berichten en bestanden tot 100MB uit te wisselen, inclusief geluidsbestanden. In juli van dit jaar verklaarde Kobeissi dat Cryptocat zich niet meer in de bètafase bevond. Dit maakte hij bekend tijdens de release van versie 3.2.00 van de software.

De ontwikkeling van Cryptocat ging niet altijd even gemakkelijk. In 2013 vond beveiligingsonderzoeker Steve Thomas een kritieke fout in de software, waardoor het mogelijk was om groepsgesprekken te ontsleutelen. Cryptocat was destijds nog een webapplicatie en zou later als browserextensie beschikbaar komen. In het jaar daarop voerde Least Authority een audit van de code uit, waarbij het enkele gebreken vaststelde. Ook een aparte audit van de iOS-app door iSecPartners bracht enkele tekortkomingen aan het licht, die in latere releases door de ontwikkelaars zijn opgepakt. In 2014 werd Cryptocat in een Duitse test en door de Amerikaanse organisatie EFF als zeer goed beoordeeld.

Nadat de ontwikkeling enige tijd had stilgelegen, kondigde Kobeissi in februari van dit jaar aan dat hij Cryptocat uit de Chrome-winkel zou verwijderen en dat hij de applicatie compleet opnieuw wilde opbouwen. Het lukte hem om dit voor het einde van maart voor elkaar te krijgen, waarna er bijna dagelijks updates voor de software verschenen.

Op het gebied van beveiliging gaat Cryptocat ervan uit dat een mogelijke aanvaller controle heeft over het netwerk dat voor de communicatie wordt gebruikt. Daarnaast wordt aangenomen dat een kwaadwillende op een gegeven moment in het bezit kan komen van de identiteitssleutels van een gebruiker. De applicatie is gebouwd om met deze risico’s om te gaan en stelt zich een aantal doelen om dit te bereiken. Zo kan een bericht alleen door de verzender en de ontvanger ontsleuteld worden. De applicatie maakt daarom gebruik van end-to-end-encryptie aan de hand van een protocol dat op het Double Ratchet-algoritme is gebaseerd. Dit vormt bijvoorbeeld ook de basis voor het Signal-protocol, dat gebruikt wordt in WhatsApp en Signal. Daarnaast is de open standaard Omemo toegepast om onder andere gesprekken tussen verschillende gebruikers mogelijk te maken. Alle berichten worden verstuurd via een centrale Cryptocat-server, waarbij de communicatie verloopt via xmpp, oftewel Jabber, met tls.

Authenticatie speelt daarbij een belangrijke rol. Daarom controleert Cryptocat via certificate pinning of het juiste certificaat aanwezig is voordat er een verbinding met de server wordt opgebouwd. Daarnaast maakt de software gebruik van geauthenticeerde installatiebestanden en ondertekende updates, waarmee de herkomst gecontroleerd kan worden.

Ook voor gebruikers onderling is authenticatie mogelijk. Bij een versleutelde chat is het immers van groot belang om er zeker van te zijn dat de gesprekspartner daadwerkelijk degene is die hij pretendeert te zijn. In het geval van Cryptocat is ervoor gekozen dit via device authentication te laten verlopen, waarbij een fingerprint van een apparaat wordt aangemaakt. Stel dat een vriend Cryptocat op zijn computer gebruikt, dan is het mogelijk om deze persoon in het echt te ontmoeten en de fingerprint van dat apparaat uit te wisselen. Het kan ook op een andere manier, maar een daadwerkelijke ontmoeting is de veiligste manier om de identiteit van de gesprekspartner vast te stellen. Voor alle toekomstige gesprekken kan er vervolgens van uit worden gegaan dat de communicatie in ieder geval via de computer van die vriend verloopt. Dat sluit echter niet uit dat het apparaat door iemand anders wordt gebruikt. WhatsApp maakt gebruik van een soortgelijke methode, waarbij ook een fingerprint aan de hand van een qr-code geverifieerd kan worden.

Boven op de zojuist genoemde eigenschappen implementeert Cryptocat forward secrecy en future secrecy. Dit betekent respectievelijk dat een mogelijke aanvaller geen in het verleden verzonden berichten kan ontsleutelen met een onderschepte sleutel en dat ook geen decryptie van opeenvolgende berichten mogelijk is. Op dit moment is de applicatie beschikbaar voor Windows, OS X en Linux.

Het is jammer dat er geen mobiele versies van Cryptocat zijn, maar de software maakt een solide indruk. Er zijn regelmatig updates en de ontwikkelaar heeft in de loop van de jaren ervaring kunnen opdoen in het ontwikkelen van veilige software. Een groot voordeel van Cryptocat zouden de uitgevoerde audits zijn, ware het niet dat Kobeissi begin 2016 de volledige code opnieuw heeft geschreven. In een e-mail aan Tweakers bevestigt hij dat alle code opnieuw is geschreven en dat geen enkele regel van de oude code is hergebruikt. Er zou wel een interne audit zijn uitgevoerd, maar nog niet door een externe partij. Kobeissi laat weten dat hij geïnteresseerden graag uitnodigt een audit uit te voeren. Hierdoor is het maar de vraag of de software daadwerkelijk veilig is. Kobeissi zegt daarnaast dat er geen mobiele versies van Cryptocat gepland zijn.

Tox

tox logoHet Tox-project bestaat sinds 2013 en is in het leven geroepen na de onthullingen van Edward Snowden. Het doel was om een communicatiesysteem te ontwikkelen dat geen gebruikmaakt van een centrale server en dat end-to-end-encryptie toepast. Ook moest het voor een gemiddelde gebruiker te begrijpen zijn. De software kan gezien worden als alternatief voor Skype, omdat er tekstberichten mee kunnen worden verstuurd en gesprekken mee kunnen worden gevoerd.

Het project is gebouwd rond de opensource-Tox-core, die voornamelijk is ontwikkeld door GitHub-gebruiker ‘irungentoo’, over wie verder weinig bekend is. Samen met vijf andere actieve ontwikkelaars staat hij sinds kort aan het hoofd van het project in de vorm van een soort raad van bestuur. Deze komt wekelijks bij elkaar en is verantwoordelijk voor de ontwikkeling van de software. Hoewel de werkzaamheden aan Tox sinds 2013 gestaag zijn doorgegaan, zijn er in de afgelopen week vragen gerezen rond het project. In een Reddit-thread vraagt een gebruiker of het project ‘dood’ is, waarop hij een bevestigend antwoord krijgt van een gebruiker die claimt een Tox-ontwikkelaar te zijn. Er is echter nog geen officiële informatie over de status van het project beschikbaar, waardoor het nog te vroeg lijkt om definitieve conclusies te trekken. In 2015 ontstond er enige ophef rond het project en vertrokken enkele ontwikkelaars, omdat bepaalde fondsen voor onduidelijke doeleinden waren ingezet.

Om de uitwisseling van versleutelde berichten mogelijk te maken hebben de Tox-ontwikkelaars de NaCl-bibliotheek geïmplementeerd, die bijvoorbeeld ook wordt gebruikt in de beveiligde chat-app Threema. Het feit dat er van een als veilig bekendstaande bibliotheek gebruik is gemaakt, wil echter nog niet zeggen dat de software veilig is. De implementatie van de bibliotheek speelt daarbij een belangrijke rol. Een manier om na te gaan of de implementatie juist is gedaan, is het uitvoeren van een audit. Daar zijn echter vaak grote kosten aan verbonden en tot nu toe heeft er dan ook geen audit van Tox plaatsgevonden.

De ontwikkelaars zijn in het verleden wel ingegaan op kritiek op de software. Zo voegden zij onion routing aan de applicatie toe na berichten over het mogelijk lekken van metadata. In 2014 werd een bericht op het development blog geplaatst waarin de werking van de achterliggende cryptografie wordt toegelicht, zonder echter in te gaan op de precieze implementatie. Deze is wel in de broncode terug te vinden.

Rond de core zijn verschillende clients beschikbaar voor Tox. Zo zijn er qTox en uTox voor desktopbesturingssystemen, naast Antidote voor iOS en Antox voor Android. De uTox-desktopclient is voorzien van een eenvoudige interface, waarin de eigen ‘Tox ID’ een prominente plek inneemt. Deze komt overeen met het publieke gedeelte van een sleutelpaar dat bij het starten van de applicatie wordt aangemaakt. Aan de hand daarvan kunnen gebruikers onderling contact leggen door de id te delen. Hier komt echter een van de tekortkomingen van de software aan het licht. Het is namelijk niet mogelijk om de identiteit van de persoon achter een id vast te stellen, wat betekent dat deze via een ander kanaal vastgesteld moet worden.

Onder de streep blijft Tox een twijfelachtig product. Het is duidelijk dat er lange tijd werk is verzet en de applicatie lijkt te doen wat zij moet doen. Ook zijn er veel clients beschikbaar, wat de bruikbaarheid vergroot. Daartegenover staat dat de implementatie van de beveiliging niet is getest en dit is juist essentieel voor het product. Daar komt bij dat de applicatie ontstaan is op 4chan, wat niet het voordeligste label is, maar dat zegt uiteraard nog niets over de kwaliteit van de software. Dit, samen met het feit dat de ontwikkeling nu stil lijkt te liggen, maakt van Tox niet de beste optie voor degene die een garantie van veiligheid eist.

Verschillende OTR-clients

Off the Record

Het Off-the-Record-protocol, waarvan het TextSecure- of Signal-protocol weer een afgeleide is, kan gebruikt worden met een groot aantal clients. Daarvan wordt hier een aantal besproken. Het protocol werd in 2004 gepresenteerd als een alternatief voor pgp. De reden voor de ontwikkeling van een alternatief was het feit dat pgp gebruikmaakt van encryptiesleutels die lange tijd gebruikt worden. Daarom bestaat het risico dat ze op een gegeven moment in de verkeerde handen vallen.

Ook maakt pgp gebruik van authenticatie door middel van een digitale handtekening. Dit maakt het minder geschikt voor ‘snelle’ communicatie, zoals die vaak plaatsvindt via instant messaging, zo stelden de OTR-auteurs Borisov, Goldberg en Brewer destijds. Hun alternatief is daarom ook voorzien van perfect forward secrecy en repudiability. Daardoor betekent het in verkeerde handen vallen van encryptiesleutels nog niet dat in het verleden gevoerde conversaties ontsleuteld kunnen worden.

Daarnaast zorgt repudiability ervoor dat de gesprekspartners op het moment dat de communicatie plaatsvindt er zeker van kunnen zijn dat zij met geauthenticeerde berichten te maken hebben, maar dat op een later tijdstip niet bewezen kan worden wie aan het gesprek heeft deelgenomen. Een nadeel van het OTR-protocol is dat er geen groepsgesprekken mogelijk zijn.

De OTR-bibliotheek libotr, waarmee clients het protocol kunnen gebruiken, is open source en er is een community waar ontwikkelaars elkaar kunnen vinden en aan de code kunnen werken. Ook is er documentatie beschikbaar. Door een in maart gepatchte kritieke kwetsbaarheid bleek het mogelijk te zijn om willekeurige code uit te voeren, waardoor applicaties die gebaseerd zijn op de bibliotheek, kwetsbaar waren. Beveiligingsbedrijf Elttam besloot in augustus uit eigen beweging libotr aan een audit te onderwerpen, daarbij werden geen nieuwe, kritieke kwetsbaarheden vastgesteld.

ChatSecure

chatsecure logoDeze client is beschikbaar voor iOS en Android, en stelt zijn broncode publiekelijk beschikbaar. De app maakt gebruik van OTR voor end-to-end-encryptie en versleutelt berichten op het apparaat zelf met de opensourcesoftware SqlCipher. Net als Cryptocat verstuurt ChatSecure berichten via xmpp en tls in combinatie met certificate pinning. De software wordt onderhouden door The Guardian Project, een groep ontwikkelaars die zich richten op het schrijven van opensourcesoftware. Deze groep zit bijvoorbeeld ook achter de Orbot-app, waarmee Android-gebruikers verbinding kunnen maken met het Tor-netwerk. Met ChatSecure kunnen gebruikers chatberichten uitwisselen.

Bij het starten van de app worden verschillende opties getoond. Daarbij is te kiezen uit het aanmelden met een Google- of Jabber-account, of het aanmaken van een nieuw account. Daarnaast is het mogelijk om zonder account te communiceren met gebruikers op hetzelfde wifi- of mesh-netwerk, of om een anoniem account aan te maken. Voor die laatste optie is het vereist om ook van Orbot gebruik te maken. Daarna kan een gesprek met een contactpersoon gestart worden. Ook deze app biedt de mogelijkheid om de gesprekspartner te authenticeren door middel van een fingerprint.

Het voordeel van ChatSecure is dat Quarkslab in 2014 een audit van de app heeft doorgevoerd. Naar aanleiding van deze doorlichting van de code is een aantal verbeteringen doorgevoerd. In de toekomst moet ondersteuning voor meer dan één apparaat mogelijk worden door gebruik van de Omemo-standaard, die ook wordt ingezet in Cryptocat. ChatSecure maakt een goede indruk en heeft veel updates met een uitgebreide updategeschiedenis. De software kent ook enkele beperkingen. Zo is deze alleen beschikbaar op iOS en Android, en kan er alleen via chats gecommuniceerd worden.

Jitsi

jitsi logoToen de ontwikkeling van Jitsi in 2003 aan de universiteit van Straatsburg begon, stond de software nog bekend als SIP Communicator. Het is opensourcesoftware waarmee gebruikers chatberichten kunnen versturen, en via spraak en video kunnen communiceren. In eerste instantie was de software een eenmansproject van student Emil Ivov, maar tegenwoordig wordt Jitsi onderhouden door een groot team ontwikkelaars. Een groot deel van hen was werkzaam bij het bedrijf Bue Jimp, dat in 2015 is overgenomen door softwarebedrijf Atlassian. Er zijn versies beschikbaar voor Windows, Linux, OS X en Android. Jitsi ondersteunt verschillende protocollen, zoals xmpp, Google Talk, sip en Yahoo Messenger. In het startscherm van Jitsi kan dan ook met bestaande accounts ingelogd worden.

De beveiliging van tekstberichten gebeurt via OTR. Gebruikers kunnen ervoor kiezen om hun chats op die manier te beveiligen; dit kan per gesprek of automatisch. Ook in Jitsi is het mogelijk om een gesprekspartner aan de hand van een fingerprint te verifiëren. Daarnaast biedt de software de optie om het account met een hoofdwachtwoord te beveiligen. De beveiliging van gesprekken gebeurt onder andere via het zrtp-protocol, dat is ontwikkeld door pgp-uitvinder Phil Zimmermann. Signal gebruikt dit bijvoorbeeld ook voor het beveiligen van spraak. Daarnaast is het mogelijk om Jitsi in combinatie te gebruiken met de tool Ostel, die zorgt voor end-to-end-encryptie voor telefoongesprekken. Ostel is net als ChatSecure een softwareproduct van The Guardian Project.

Jitsi is voorzien van veel documentatie en voor ondersteuning kunnen gebruikers terecht bij de mailinglijst. De laatste versie is 2.8, uitgekomen in maart 2015. Dat betekent dat er al enige tijd geen release meer heeft plaatsgevonden. Op de roadmap is te zien dat Jitsi 3.0 voor 2015 was gepland met ondersteuning voor html 5 en groepsgesprekken met meer dan honderd personen. Het is onduidelijk wat de status hiervan is.

Over het algemeen maakt Jitsi een goede indruk met een groot team aan ontwikkelaars en veel functionaliteit. Het is beschikbaar op verschillende platforms, waarbij de Android-client echter nog in een alfastadium blijkt te zijn. Ook is de code niet onderworpen aan een audit.

Pidgin

pidgin logoPidgin is opensourcesoftware die al sinds de jaren '90 bestaat. Toen stond het nog bekend onder de naam Gaim, omdat het als alternatief voor de AIM-tool van AOL was geschreven. Net als de overige clients maakt het gebruik van de libotr-bibliotheek voor de implemenatie van OTR. Pidgin is beschikbaar voor Windows en Linux, en ondersteunt een grote hoeveelheid protocollen, bijvoorbeeld Bonjour, Google Talk, irc, xmpp en MSN.

De software voorziet niet native in ondersteuning voor versleutelde berichten via OTR, maar dit is op te lossen door de plug-in genaamd Off-the-Record-Messaging te installeren. In de bijgaande readme wordt uitgelegd hoe de installatie van de plug-in uit te voeren is en hoe hij te gebruiken is. Ook zijn er online verschillende handleidingen te vinden. De chatsoftware is gebouwd op basis van de libpurple-bibliotheek, die de basis vormt voor veel instant messaging-applicaties. De veiligheid van deze bibliotheek laat vaak nogal te wensen over; er zijn dan ook veel kwetsbaarheden in te vinden. De kritiek die vaak wordt geuit, is dat beveiliging slechts in de vorm van een plug-in verkrijgbaar is. Dit is problematisch, omdat een dunne laag beveiliging op een grote codebase met veel lekken niet veel vertrouwen wekt.

De ontwikkeling van Pidgin is zeer actief en er is een uitgebreide versiegeschiedenis beschikbaar. De software biedt veel mogelijkheden en ondersteunt veel protocollen, waardoor het een aantrekkelijke alles-in-eenoplossing is. Bovendien is Pidgin te gebruiken in zeventig verschillende talen. Het gebruik van libpurple geeft echter reden om aan de veiligheid van de software te twijfelen.

Adium

adiumWie ondersteuning voor OS X miste bij Pidgin, kan gebruikmaken van Adium. In feite is de opensourcesoftware een OSX-gui voor libpurple op basis van Cocoa. Het verschil met Pidgin is dat Adium OTR-encryptie ingebouwd heeft en geen gebruikmaakt van een plug-in. De software is echter nog steeds afhankelijk van libpurple, wat de nodige problemen met zich meebrengt. De 1.0-versie van Adium kwam beschikbaar in 2001. De software was toen geschreven door de student Adam Iser. Intussen wordt het programma onderhouden door het Adium-team, dat onder leiding staat van tweaker Thijs Alkemade of xnyhps.

Adium biedt de mogelijkheid om gesprekken per account of per contact te versleutelen, waarbij bijvoorbeeld gekozen kan worden voor automatische encryptie.

Signal

De opensourcesoftware Signal stond eerst bekend als twee aparte apps: Redphone en TextSecure. Deze waren respectievelijk gericht op versleuteld bellen en berichten versturen. Eind 2015 werden deze apps op het Android-platform samengevoegd tot de app Signal, die al wel op iOS onder deze naam beschikbaar was. De software wordt ontwikkeld door het bedrijf Open Whisper Systems, dat in 2013 is opgericht door de bekende beveiligingsonderzoeker Moxie Marlinspike. Daarvoor werkte hij aan de software onder de naam Whisper Systems; dit bedrijf werd in 2011 overgenomen door Twitter. Open Whisper Systems in een non-profitorganisatie die zich richt op het ontwikkelen van vrije software. Signal is beschikbaar voor iOS en Android. In april is er een publieke bèta voor de desktopclient van start gegaan. Deze is beschikbaar als Chrome-app voor bijvoorbeeld Chrome of Chromium.

De werking van Signal komt in grote mate overeen met die van WhatsApp. Zo stelt de software gebruikers in staat om tekstberichten en bestanden met individuele gebruikers of groepen te delen, en gesprekken te voeren via spraak. In het geval van Signal zijn al deze communicatievormen versleuteld. Dit gebeurt aan de hand van het Signal-protocol, dat daarvoor bekendstond als Axolotl. Dit protocol is op zijn beurt een afgeleide van OTR, waarop weer andere applicaties zijn gebaseerd. Een voordeel van het Signal-protocol is dat het ondersteuning biedt aan versleutelde groepsgesprekken. Ook bouwt het voort op de sterke eigenschappen van OTR, zoals forward secrecy en authenticatie. Een beschrijving van de werking van het Signal-protocol is te vinden in de achtergrond over de beveiliging van WhatsApp, dat ook gebruikmaakt van deze vorm van encryptie.

In Signal zijn alle gesprekken met anderen standaard versleuteld; er is dus geen optie om de beveiliging uit te schakelen. De gesprekspartner kan aan de hand van een qr-code geverifieerd worden, bijvoorbeeld door fysiek af te spreken of de fingerprint via de telefoon op te lezen. Hiermee kan bijvoorbeeld uitgesloten worden dat een kwaadwillende een man-in-the-middle-aanval op de verbinding heeft uitgevoerd.

Android-gebruikers kunnen lokaal opgeslagen berichten beveiligen door een wachtwoordzin te kiezen, hoe langer hoe veiliger. Het is mogelijk om in te stellen dat niet elke keer het wachtwoord ingevoerd moet worden bij het openen van de app. Er is geen manier om een vergeten wachtwoordzin terug te halen. De app moet in dat geval geheel opnieuw geïnstalleerd worden, wat het verlies van alle berichten tot gevolg heeft.

Op iOS is de berichtendatabase versleuteld als er een wachtwoordzin voor het lockscreen is ingesteld. Dit is belangrijk, omdat end-to-end versleutelde berichten alleen zijn versleuteld totdat ze op een apparaat aankomen. Daarom is het ook belangrijk te beschikken over een zo veilig mogelijk toestel.

Die clientsoftware voor Signal is open source en online beschikbaar. Ook de software die op de server wordt gebruikt om berichten te routeren, is in te zien, in tegenstelling tot de code voor het afwerken van gesprekken. Er is echter geen ondersteuning en documentatie voor het opzetten voor een eigen server, hoe vaak deze vraag ook terugkomt in de mailinglijsten. De metadata die op de Signal-server wordt opgeslagen, is volgens Marlinspike beperkt tot het tijdstip wanneer een client voor het laatst contact heeft gelegd met de server. Open Whisper Systems kondigde eind maart aan dat de Signal-builds voor Android volledig te reproduceren zijn. Dat moet ervoor zorgen dat het mogelijk is om te verifiëren dat de code op GitHub dezelfde is als wat daadwerkelijk in de app wordt gebruikt.

Op dit punt is het goed om te vermelden dat de officiële Android-app zelf alleen via Google Play te verkrijgen is en niet als apk. Open Whisper Systems stelt dat dit nodig is voor de beveiliging, omdat op die manier gebruikers snel voorzien kunnen worden van updates. Daarnaast zou Google Cloud Messaging, dat alleen met Play Services werkt, vereist zijn voor de push-functionaliteit. Gebruikers die liever niet met Google werken kunnen dit als groot nadeel ervaren en ook voor een app die privacy als zwaartepunt heeft, is het een tekortkoming. Naast de vermelding in de faq heeft Marlinspike een antwoord geformuleerd op een GitHub-issue over het onderwerp. En voor wie zich afvraagt waarom de app veel permissies vraagt, is er een faq-item aangemaakt met uitleg.

Als je naar de OTR-clients kijkt, zitten deze redelijk goed in elkaar en doen zij hun werk. De vraag is echter hoe makkelijk het is om vrienden en familie zover te krijgen dat ze de overstap maken. De software die dit probleem voor een groot deel wegneemt, is Signal. Het netwerkeffect van WhatsApp is sterk, maar Signal biedt vrijwel overeenkomende functionaliteit met de voordelen van opensourcesoftware. De app wordt ontwikkeld door een gerenommeerd team en maakt gebruik van bewezen encryptieprotocollen. Er is geen poging gedaan tot het ontwikkelen van eigen crypto, zoals Telegram heeft gedaan. Er zijn clients voor zowel iOS als Android, waar sinds kort de bètadesktopclient bij is gekomen. Dit was een van de grootste mankementen van Signal. Dit, in combinatie met de audits van 2013 en 2014, maakt Signal tot een goede keuze voor iedereen die zo veilig en eenvoudig mogelijk wil communiceren

Ricochet

ricochetDe opensourcesoftware Ricochet werd in eerste instantie ontwikkeld door de Amerikaan John Brooks, die zijn werk baseerde op het inmiddels stilgelegde project rond TorChat. Ricochet heeft een eigenschap met Tox gemeen, namelijk dat de software geen gebruikmaakt van een centrale server. De communicatie verloopt decentraal via het versleutelde Tor-netwerk en zogenoemde hidden services.

In 2014 besloot een aantal bekende namen in de beveiligingswereld om soortgelijke software te schrijven, zonder van het bestaan van Ricochet af te weten. Onder deze namen zijn Metasploit-bedenker HD Moore, journalist Patrick Gray en onderzoeker The Grugq. Na de aankondiging van hun eigen project onder de naam 'Invisible IM' nam Brooks contact op met het team en wees op zijn eigen project. Het Invisible-team was onder de indruk van zijn software en besloot om met Ricochet verder te gaan in plaats van aan het eigen project door te werken. Dit maakte het in 2014 bekend.

Een van de eerste wijzigingen aan Ricocet als gevolg van de samenwerking was de introductie van een nieuw protocol waarmee de communicatie tussen twee Ricochet-gebruikers via het Tor-netwerk plaatsvindt. De overgang werd gefinancierd door de organisatie Blueprint for Free Speech, die zich inzet voor de vrijheid van meningsuiting. Sindsdien hebben er meer releases plaatsgevonden en de software bevindt zich inmiddels bij versie 1.1.2, die in februari uitkwam. Ricochet is beschikbaar voor Windows, OS X en Linux. Gebruikers kunnen via de software alleen berichten versturen, geen bestanden.

Een van de voordelen van het gebruiken van een decentraal communicatienetwerk in plaats van een centrale server is dat daarmee het probleem van metadata wordt opgelost. Zonder centrale server kan een kwaadwillende derde partij immers niet alle verbindingen in kaart brengen. Zoals in de inleiding al is besproken, kan metadata een partij veel inzicht geven in het netwerk van een persoon, zonder dat de inhoud van berichten inzichtelijk hoeft te zijn. Ricochet doet dit door een hidden service aan te maken. Dit is een manier om bijvoorbeeld een website op het Tor-netwerk aan te bieden, zonder de locatie ervan prijs te geven. Dit werkt ook voor instant messengers als Ricochet. Daarbij kiest de verborgen dienst een aantal introductiepunten op het Tor-netwerk en plaatst deze in een database. Op die manier weet een tweede partij hoe verbinding gemaakt moet worden met de introductiepunten, zonder te weten waar de dienst zich precies op het netwerk bevindt.

In het geval van Ricochet wordt bij het starten een id in de vorm van een onion-adres aangemaakt, die ertoe dient om contact te maken met een gesprekspartner. De id kan vervolgens tussen aanstaande gesprekspartners uitgewisseld worden, bijvoorbeeld door deze via een andere weg te delen. Ricochet kan een binnenkomend communicatieverzoek authenticeren door de id van de verzoeker te berekenen aan de hand van de meegestuurde publieke sleutel en daarna te vergelijken met de handtekening van het verzoek. Het verkeer tussen twee gesprekspartners verlaat het Tor-netwerk nooit.

Een ander voordeel van Ricochet is dat er in februari van dit jaar een audit heeft plaatsgevonden van de code. De daarbij geïdentificeerde tekortkomingen zijn vervolgens aangepakt in de laatste release van de software. Een van de problemen was de mogelijkheid om de anonimiteit van gebruikers op te heffen. De audit werd uitgevoerd door de NCC Group.

De interface van Ricochet is zeer eenvoudig, wat de gebruiksvriendelijkheid van de software ten goede komt. Het idee en de uitvoering van de software maken een goede indruk en hoewel een audit geen garantie op veiligheid biedt, spreekt dit wel in het voordeel van Ricochet. Het nadeel is het ontbreken van mobiele clients. De ontwikkelaar heeft echter laten weten dat dit tot de mogelijkheden behoort. Ook het overdragen van bestanden, spraak en video zou te implementeren zijn.

Wire

wire logoVoor de waarschijnlijk weinigen die bekend zijn met Wire, zal deze app een vreemde eend in de bijt zijn in dit overzicht. Tot voor kort was de broncode van deze app namelijk niet publiek beschikbaar. In juli heeft het Zwitserse bedrijf er echter voor gekozen de software volledig open source te maken. Jonathan Christensen, Alan Duric en Priidu Zilmer hebben het bedrijf in 2012 opgericht. Zij werkten daarvoor bij Microsoft aan Skype. Wire was niet altijd voorzien van end-to-end-encryptie; dit werd in maart van dit jaar ingevoerd. Het bedrijf wordt gesteund door een collectief van ontwerpers en ingenieurs onder de naam Iconical.

Het is belangrijk om op dit punt te vermelden dat Wire afwijkt van andere apps die in dit overzicht zijn genoemd. De encryptie van Wire is weliswaar op het Signal-protocol gebaseerd, maar is geen implementatie van een bestaand protocol. Het bedrijf heeft ervoor gekozen een eigen variant in Rust te maken met de naam Proteus. De beschrijving van dit protocol is beschikbaar in een white paper. Dit betekent niet dat de encryptie volledig zelf is gemaakt, maar dat het om een afgeleide gaat die tot nu toe nog niet aan een audit is onderworpen. Enige voorzichtigheid is daarom geboden.

De reden voor deze keuze is onduidelijk; er zijn enkele berichten te vinden die spreken van een conflict tussen Wire en Open Whisper Systems, de maker van Signal. Daarbij stelt Wire dat Moxie Marlinspike een bedrag van 2,5 miljoen dollar eiste voor het gebruik van het Signal-protocol en stelt de andere kant dat Wire zich niet aan de voorwaarden van de geldende gpl-licenties wilde houden.

Een van de eigenschappen die spreekt voor Wire, is dat de app beschikbaar is voor Windows, OS X, iOS en Android. Daarnaast is er een webclient beschikbaar. De app doet wat je van een volwaardige chat-app zou verwachten, zoals het kunnen delen van bestanden en de mogelijkheid om groepsgesprekken te voeren. Daarnaast ondersteunt Wire bijvoorbeeld versleutelde spraak- en videogesprekken en is er integratie voor gifjes en verschillende streamingplatforms. Het bedrijf claimt geen gebruiksgegevens aan derde partijen te verkopen en geen individuele profielen op te stellen.

Encryptie is standaard ingeschakeld voor alle soorten gesprekken, zowel tussen twee personen als in groepen. Berichten en afbeeldingen worden versleuteld aan de hand van het Axolotl- of Signal-protocol. Voor spraak geldt de webrtc-standaard en dtls met srtp levert de beveiliging. Totdat er een audit van de software heeft plaatsgevonden, blijft Wire echter een twijfelgeval, maar dankzij de veelzijdigheid aan functies en de aanwezigheid op verschillende platforms, waaronder Windows, is het interessant om het project in de gaten te houden.

Tot slot

Dit overzicht is uiteraard geen uitputtende bespreking van de beschikbare tools. Toch denken we dat een groot aantal gebruikers met de huidige selectie uit te voeten kan. Zo zijn er tools die het mogelijk maken om incidenteel beveiligde berichten te versturen. Cryptocat is daarvan een voorbeeld. Er zijn geen mobiele clients en daarom is de software alleen geschikt voor desktops, wat invloed heeft op het soort gebruik. Zoals voor de meeste beveiligde communicatiemiddelen geldt, zul je eerst de gesprekspartner moeten overhalen om naar het communicatiemiddel van je keuze over te stappen. Bij Cryptocat is deze stap vrij eenvoudig en kan er snel communicatie opgebouwd worden. Het gebrek aan een audit van de herschreven versie van het programma maakt echter dat het niet het onze eerste keuze is. Zo is in hetzelfde geval bijvoorbeeld ook te kiezen voor Ricochet, dat veel eigenschappen met Cryptocat deelt. Alleen verloopt de communicatie hierbij via het Tor-netwerk en niet via een centrale server. Ook is de broncode door een audit aan de tand gevoeld, wat in het voordeel van Ricochet spreekt.

Toch zijn dit programma's die niet elke dag met een grote groep gesprekspartners in te zetten zijn, bijvoorbeeld door het gebrek aan gebruikers, functies of clients op verschillende platforms. Daarvoor zou je dan toch naar oplossingen als Signal of Wire moeten kijken, waarbij Signal de eerste keuze is en Wire een mogelijk interessante optie voor de toekomst. Signal heeft in feite alles wat een chat-app nodig heeft en maakt gebruik van een bewezen encryptieprotocolSignal heeft in feite alles
wat een chat-app nodig heeft
en gebruikt een bewezen encryptieprotocol
. Zoals eerder besproken is het netwerkeffect van WhatsApp of Telegram groot, maar met Signal bestaat de meeste kans om vrienden, familie en kennissen zover te krijgen om het ook te gebruiken. Een van de grote argumenten tegen Signal was het ontbreken van een desktopclient. De huidige bètaclient maakt gebruik van Chrome en is nog niet in een ideale staat, maar dat kan in de toekomst nog veranderen.

Een tool als Tox heeft het voordeel dat hij veel functies bezit en beschikt over mobiele en desktopclients. Toch zijn er maar weinig redenen te bedenken om deze tool boven Signal te verkiezen. Hetzelfde geldt voor de OTR-clients. Deze zijn handig als je bijvoorbeeld communiceert via verschillende accounts, zoals Google Talk en Jabber. Via deze clients zijn al deze accounts in een keer te beheren en te gebruiken. Ook zijn verschillende clients in combinatie met elkaar te gebruiken, waarmee bijvoorbeeld het nadeel van het ontbreken van een mobiele versie van een client voor een deel wordt weggenomen. Voor een deel, want bijvoorbeeld ChatSecure heeft weliswaar een audit gehad, wat de veiligheid ten goede komt, maar dit voordeel verdwijnt deels zodra een van de andere, minder veilige desktopclients wordt gebruikt.

Tool

Opensource-
client/server
Audit Beveiliging Pluspunten Minpunten

Cryptocat

Windows, Linux, OS X

Ja/nee Ja, niet recent

O.b.v. Double Ratchet

Eenvoudig te gebruiken client en interface, en mogelijkheid om bestanden te delen Nieuwe versie heeft geen audit gehad, geen mobiele client

Tox

Windows, Linux, OS X, iOS, Android, FreeBSD

Ja/nvt Nee Tox-protocol en NaCl Veel functies en verschillende clients, en mogelijkheid tot het voeren van spraakgesprekken Ontwikkeling lijkt niet meer voortgezet te worden en heeft geen audit gehad

ChatSecure

IOS, Android

Ja/nee

Ja

OTR Eenvoudig te gebruiken en er heeft een audit plaatsgevonden Alleen mobiele clients

Jitsi

Windows, Linux, OS X, Android

Ja/nee Nee OTR Biedt veel mogelijkheden voor verschillende protocollen Heeft geen audit gehad en mist uitgerijpte mobiele clients

Pidgin + OTR

Windows, Linux, OS X

Ja/nee Nee OTR 'Zwitsers zakmes' onder de OTR-clients Libpurple brengt problemen met zich mee en software mist een audit

Adium

OS X

Ja/nee Nee OTR Ingebouwde OTR-ondersteuning Alleen voor OS X en mist een audit

Signal

Android, iOS, Chrome (desktopclient)

Ja/gedeeltelijk Ja Signal-protocol Software heeft een audit gehad en biedt een bètaclient voor de desktop. Mogelijkheid tot het voeren van spraakgesprekken Door kleine groep ontwikkelaars komen nieuwe functies langzaam beschikbaar, desktopclient via Chrome

Ricochet

Windows, Linux, OS X

Ja/nvt Ja O.b.v. Tor Decentrale structuur en communicatie zonder metadata. Heeft een audit gehad Geen mobiele clients en alleen mogelijkheid tot chatten

Wire

Windows, OS X, Android, iOS, webclient

Ja/nee Nee Proteus-protocol o.b.v. Axolotl/Signal Veel functies, zoals tekenen en gifsupport. Veel platforms, inclusief desktop. Eigen encryptieprotocol, wel gebaseerd op bestaand protocol

Reacties (121)

Wijzig sortering
Altijd handig om je 'dank memes' versleuteld te versturen. Het zou een drama zijn als je jouw meest zeldzame Pepe zomaar op internet tegen zou komen, moet er maar niet aan denken :o :(
Had ook graag retroshare in het overzicht gezien (https://retroshare.github.io).
Het is een veel completere software (meer dan enkel "chat") met sterke privacy & security ideologie.


Het is wel duidelijk dat er nog geen betrouwbaar alternatief is voor Skype, jammer.
-edit-
Hier had ik per ongeluk de reactie aan Beuzelarij gepost in plaats van direct in reactie op hem. Die is hierrrr terug te lezen. Excuses. ;)

[Reactie gewijzigd door WhatsappHack op 24 augustus 2016 00:56]

Mooi artikel, een aantal van deze tools kende ik nog niet. Goed om te zien dat er een hoop ontwikkeld wordt om in controle te blijven over onze eigen privacy, en onze persoonlijke communicatie uit handen te houden van data-hongerige overheden.

Op dit item kan niet meer gereageerd worden.


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Google

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True