Encryptie is overal
Encryptie is overal in ons leven. We gebruiken het elke dag, vaak zonder dat we er zelf bij stilstaan: om onze verbinding met de bank te versleutelen en om ervoor te zorgen dat onze medereizigers op hotspots in de trein onze mailtjes niet kunnen meelezen. Zelfs als we foto's uploaden naar Facebook, gebeurt dat tegenwoordig automatisch via https.
Maar betekent dit dat onze gegevens ook daadwerkelijk veilig zijn? Niet per se. Want onze verbinding mag dan wel versleuteld zijn, de data wordt in veel gevallen ofwel onversleuteld opgeslagen, of de encryptiesleutel is in handen van het bedrijf waar je je data stalt. Zo kan Google je mailtjes lezen, en dat doet het bedrijf bovendien stelselmatig - Google verdient immers geld met het tonen van gepersonaliseerde advertenties. Dropbox past deduplicatie toe: als jij hetzelfde bestand uploadt als een andere gebruiker, wordt het maar één keer opgeslagen. De meeste bedrijven kunnen de wachtwoorden van gebruikers niet achterhalen - die zijn gehasht - maar voor de rest is alles voor ze inzichtelijk.
Dat is op zichzelf al een privacybezwaar. Willen we wel dat Google, Microsoft, Facebook of Dropbox bij onze privécommunicatie en -bestanden kan als het dat wil? Maar er zijn nog meer risico's. De afgelopen driekwart jaar is duidelijk geworden dat de Amerikaanse inlichtingendiensten niet erg terughoudend zijn met het opvragen van privégegevens van Europeanen. Daarnaast is er het risico op hacks: wie Dropbox bijvoorbeeld weet te kraken, kan bij de bestanden van alle gebruikers.
Daarom duiken er steeds meer diensten op die het nul kennis-principe hanteren. Dat betekent: zo weinig mogelijk weten van gebruikers. Het is technisch noodzakelijk om bepaalde gegevens te verwerken - denk aan gebruikersnaam, wachtwoord en eventueel e-mailadres en betaalgegevens - maar voor de rest hoeven die diensten niets van hun gebruikers te weten, is het idee.
Geen sleutels
Voor chatdiensten betekent dat 'zero knowledge'-principe bijvoorbeeld end-to-end-encryptie. Daarbij communiceren twee partijen versleuteld, zonder tussenkomst van anderen. Bij mainstream-chatdiensten zet elke gebruiker een versleutelde verbinding op met de server van de chatdienst. Bij end-to-end-encryptie wordt de versleuteling echter rechtstreeks tussen de twee chattende partijen opgezet.
Dat verschil lijkt klein, maar heeft vergaande implicaties. De server van de chatdienst kan dan nog steeds als centrale spil in de communicatie tussen gebruikers fungeren, maar kan de inhoud van de communicatie niet meer inzien. Doordat de encryptie tussen de chattende partijen is opgezet, heeft de chatdienst de sleutel die nodig is om de communicatie te ontsleutelen, niet in handen.
Telegram
Nadat Facebook WhatsApp overnam, won de concurrerende chat-app Telegram in korte tijd aan populariteit. Op het eerste gezicht lijkt die app heel veel op WhatsApp: de app biedt groepchats, er is de mogelijkheid om afbeeldingen en video's te verzenden en de telefoonnummers staan centraal bij het vinden van contacten. Een feature die WhatsApp echter niet heeft, is de mogelijkheid om end-to-end-encryptie toe te passen.
Het is een feature die standaard niet aanstaat: gebruikers moeten er zelf voor kiezen om een versleuteld gesprek te starten. Voor de encryptie maakt Telegram gebruik van een eigen encryptiemethode - van die zinsnede gaan de meeste beveiligingsonderzoekers huiveren, en in dit geval lijkt dat terecht te zijn, want er is het een en ander af te dingen op de encryptie van Telegram.
Telegram heeft een aantal kwetsbaarheden - zo wordt het verouderde sha1-hashing-algoritme gebruikt - maar belangrijker wellicht is dat de gebruikers die met elkaar communiceren, geen authenticatie op elkaar toepassen: dat doen ze alleen met de server. De identiteit van de gesprekspartner kan dus niet rechtstreeks worden geverifieerd - dat kan alleen de server.
Dat betekent dat de server de berichten tussen de twee gesprekspartners zou kunnen onderscheppen en ontsleutelen. Het is niet te zeggen dat dat gebeurt - maar het kán wel, en er is geen enkele manier om als gebruiker te controleren of dat gebeurt.

Christopher Soghoian, een beveiligingsonderzoeker en privacy-activist bij de American Civil Liberties Union, loopt dan ook niet warm voor Telegram. "Aan de applicatie is niet direct af te zien dat hij is ontwikkeld met beveiliging als uitgangspunt", aldus Soghoian. "De makers zijn geen cryptografie-experts en ik heb geen vertrouwen in hun technologie." Het succes van de app noemt hij een mixed blessing. "Encryptie maakt het leven van de NSA moeilijker, zelfs als het zwakke encryptie is. Het is sowieso beter dan sms, dat helemaal niet versleuteld is. Maar je creëert wel een valse schijn van veiligheid."
De Nederlandse burgerrechtenorganisatie Bits of Freedom is het daarmee eens. "Het is goed om te zien dat mensen zich druk maken om privacy en de wijze waarop Facebook met je privégegevens omgaat", zegt de organisatie bij monde van Ton Siedsma. "Ik hoor nu zelfs op straat en in het café mensen praten over Telegram en de WhatsApp-overname. Maar aan de andere kant weten we natuurlijk niet hoe veilig de apps zijn die ze daarvoor in de plaats gebruiken. In het geval van Telegram kun je daar vraagtekens bij zetten." De organisatie steunt het idee dat data niet door één organisatie moet worden beheerd. "Het is heel goed dat er ook andere apps worden gebruikt dan enkel die van Facebook. "
Threema
De concurrerende app Threema, die minder gebruikers heeft dan Telegram en in tegenstelling tot die app betaald is, doet het beter. Die app, die door een Zwitsers bedrijf is gemaakt, controleert de identiteit van de gebruiker wel en biedt end-to-end-encryptie. Bovendien is een passphrase nodig om de encryptiesleutel te activeren; zelfs als de sleutel uitlekt, liggen de berichten nog niet op straat, al is dat bij minder lange en ingewikkelde passphrases dankzij woordenboek- en brute force-aanvallen een kwestie van tijd; een sterke passphrase is dus van belang.
Wat Soghoian tegenstaat aan Threema, is dat de app closed-source is. "We moeten zeer terughoudend zijn met het vertrouwen van closed source-software", zegt Soghoian. "Na Snowden weten we dat de NSA samenwerkt met technologiebedrijven om hun beveiliging af te zwakken." Bij opensource-code kan iedereen eventuele backdoors opsporen, benadrukt hij. "De meeste mensen zullen de broncode niet bekijken, maar het gaat er om dat onafhankelijke experts de source onder de loep kunnen nemen."

TextSecure
Een applicatie die volgens Soghoian zowel veilig als opensource is, is TextSecure. Die gratis Android-app, die onder meer door de bekende beveiligingsonderzoeker Moxie Marlinspike is ontwikkeld, bestond al langer als app om versleuteld mee te sms'en. Afgelopen week kreeg de applicatie echter een update, waardoor de dienst nu via internet communiceert en vergelijkbaar is met Telegram en Threema. "TextSecure is gebouwd door alom gerespecteerde beveiligingsexperts", aldus Soghoian. Er wordt nog gewerkt aan een iOS-versie.
Het project heeft geen businessmodel en wordt gesponsord door giften; volgens Soghoian heeft onder meer Mark Shuttleworth, de man achter de Ubuntu-Linuxdistributie, geld gedoneerd aan het project. "Moxie heeft volgens mij geen businessmodel, hij wil de wereld oprecht een betere plek maken." Het team achter TextSecure heeft bovendien een app ontwikkeld om versleuteld mee te bellen. Daarbij wordt gebruikgemaakt van voip.
Off the record
Mega, het bedrijf van MegaUpload-oprichter Kim Dotcom, werkt eveneens aan een end-to-end-messagingdienst. Dat zegt de Nederlandse ontwikkelaar Bram van der Kolk, de hoofdontwikkelaar bij Mega. "In april komt een browserversie. Mobiele apps voor Android en iOS volgen later. Ik wil niet te optimistisch zijn, maar ik gok wel ergens in augustus of september", aldus de Nederlander, die net als Dotcom verdachte is in de MegaUpload-zaak maar het proces in relatieve vrijheid mag afwachten.
De applicatie is volgens Van der Kolk het beste te vergelijken met een hybride vorm van WhatsApp en Skype: het is zowel mogelijk om te chatten, als te bellen, waarbij ook ondersteuning voor versleutelde videochats is. "Daarbij is alles echt end to end encrypted. Ook passen we off the record toe", zegt Van der Kolk. Daarbij wordt per chatsessie een nieuwe cryptografische sleutel aangemaakt. "Op het moment dat je stopt met chatten, zijn daardoor alle sleutels weg." Dat heeft als nadeel dat er geen gespreksgeschiedenis kan worden opgeslagen. "We zitten er aan te denken om gebruikers dat optioneel in te laten schakelen. Dan is de gespreksgeschiedenis alleen lokaal toegankelijk", aldus Van der Kolk.
De chatdienst van Mega moet het mogelijk maken om vanaf meerdere apparaten te kunnen chatten. Multi-party off the record is volgens Van der Kolk lastig te implementeren. "Je wil zeker weten dat alle apparaten die zijn ingelogd, van dezelfde gebruiker zijn", aldus de ontwikkelaar. "Een chatdienst maken is niet zo moeilijk; de cryptografie in orde krijgen is het ingewikkeldst."
Ook een van de oprichters van The Pirate Bay, Peter Sunde, werkt aan een veilige berichtendienst. Heml.is gaat gebruikmaken van xmpp en pgp, beproefde technologieën om veilig te communiceren. Wanneer de dienst komt, is echter nog onduidelijk. Een andere chatdienst die off the record-messaging aanbiedt is Cryptocat. Voor elke chat worden nieuwe cryptografische sleutels gegenereerd. Overigens kampte Cryptocat wel met een bug, waardoor gedurende een halfjaar groepsgesprekken konden worden ontsleuteld.
Silent Circle
Onlangs bleek dat KPN de software van het Amerikaanse bedrijf Silent Circle gaat aanbieden. Dat bedrijf biedt ook versleutelde chat-apps, tegen betaling. "Wij willen zo weinig mogelijk van onze klanten weten en slaan dus zo weinig mogelijk op", zei directeur Mike Janke van Silent Circle afgelopen week op de RSA Conference in San Francisco. "Wij willen een systeem opzetten dat niet draait om het te gelde maken van data van klanten."
Volgens Janke moeten internetters meer controle krijgen over hun privégegevens: "Op internet ruil je je privacy in voor gratis diensten. Maar ik heb niet het gevoel dat ik Google ooit toestemming heb gegeven om een heel dossier samen te stellen over mijn leven." Dat terwijl er een minicomputer in iedereens zak zit die precies datgene doet, tekent de Silent Circle-ceo aan.
Silent Circle werkt bovendien aan een telefoon waarbij privacy centraal staat, de Blackphone. Die telefoon draait op een aangepaste Android-versie en bevat tweaks voor de privacy. Zo wordt wifi uitgeschakeld als een gebruiker niet in de buurt van een bekend wifi-netwerk is, waarmee wifi-tracking moet worden tegengegaan. Daarnaast zijn de Silent Circle-apps standaard geïnstalleerd en krijgt een koper vier jaarabonnementen op de diensten van het bedrijf: een voor hemzelf, en drie voor de mensen met wie hij communiceert.
Laagdrempelig
Een voordeel van chatdiensten die de versleuteling voor de gebruiker regelen, is de laagdrempeligheid. Via pgp/gpg en off the record-messaging in xmpp is het al veel langer mogelijk om versleuteld te communiceren, maar dat is vooralsnog niet weggelegd voor de massa. "Pgp is zó ingewikkeld in gebruik, zelfs voor beveiligingsexperts", zegt Irippuge Milinda Perera tegen Tweakers. Hij doet aan de universiteit van New York onderzoek naar cryptografie en sprak afgelopen week op de RSA Conference. "Er zijn zoveel dingen waar je op moet letten."
Mega-ontwikkelaar Van der Kolk is het daarmee eens. "Wij willen onze applicatie zo laagdrempelig mogelijk maken. Een gebruiker moet van de encryptie eigenlijk niets merken: het moet aanvoelen als een normale dienst", zegt hij.
De Nederlander Arne Renkema-Padmos, die onderzoek doet aan een Duitse universiteit in Darmstadt, doet sinds zes maanden onderzoek naar het eenvoudiger maken van e-mailcryptografie. "De gemiddelde burger is nu niet geïnteresseerd in cryptografie. Veel mensen hebben bovendien geen idee hoe internet en e-mail in elkaar zitten", aldus Renkema-Padmos. "Dat verbaast me wel."
Uit onderzoek blijkt daarnaast dat mensen het principe van pgp, dat leunt op asymmetrische encryptie, niet begrepen. "In één onderzoek begonnen mensen elkaar hun privésleutels te sturen", zegt Renkema-Padmos. Dat terwijl ze juist hun publieke sleutel moeten sturen: de privésleutel is enkel bedoeld voor de ontvanger, om mail die met de publieke sleutel is versleuteld te ontsleutelen.
/i/1393553647.png?f=imagenormal)
Concrete voorstellen over hoe e-mailcryptografie eenvoudiger kan worden gemaakt, heeft Renkema-Padmos nog niet. "Maar ik heb wel wat ideeën. Ik zou me bijvoorbeeld een polsband kunnen voorstellen die automatisch publieke sleutels uitwisselt. Als je dan iemand ontmoet en je schudt zijn hand, zou je automatisch zijn publieke pgp-sleutel hebben", aldus Renkema-Padmos.
Bits of Freedom vindt het een goed idee als pgp makkelijker te gebruiken zou zijn. "Als pgp niet meer een interface en de gebruikersvriendelijkheid uit de jaren tachtig zou hebben, zou een grote hindernis om jezelf te beschermen worden weggenomen", zegt woordvoerder Siedsma.
Een opensource-webmailclient die probeert om cryptografie toegankelijker te maken, is Mailpile. Die software heeft ondersteuning voor pgp ingebouwd, waar dat bij andere mailclients moet gebeuren via een plug-in. "E-mail zal nog lange tijd bij ons blijven", zei ontwikkelaar van de client Bjarni Rúnar Einarsson afgelopen zomer tegen Wired. "We moeten doen wat we kunnen om het veilig te maken."
Xmpp en een single point of failure
Wat ook veel wordt gebruikt om vertrouwelijk te communiceren, onder meer door hackers en journalisten, is het opensource-chatprotocol xmpp in combinatie met een off the record-plugin. Onderzoeker Soghoian: "Een probleem daarbij is dat heel veel mensen de server van de CCC gebruiken." Die Duitse hackersclub heeft een openbare XMPP-server. "Begrijp me niet verkeerd: ik hou van de CCC en wat ze doen. Maar die xmpp-server is een single point of failure."
Volgens Soghoian is het veilig om aan te nemen dat elke inlichtingendienst heeft geprobeerd om in te breken op de chatserver. "Dus dan kun je ook aannemen dat het in ieder geval een paar inlichtingendiensten is gelukt. Ik denk dus niet dat het een goed idee is om één computer al die communicatie toe te vertrouwen."
Leugens
De leugen hield vrij lang stand. "De bestanden worden versleuteld opgeslagen en zijn alleen inzichtelijk met je wachtwoord", verzekerde Dropbox zijn klanten. Maar hoe kan het dan, schreef beveiligingsonderzoeker Christopher Soghoian in 2011, dat Dropbox deduplicatie toepaste?
Deduplicatie is een principe dat ervoor zorgt dat een bestand maar eenmaal hoeft te worden opgeslagen als het meerdere malen voorkomt op een server. Handig, want dat scheelt opslagruimte. Maar om deduplicatie te kunnen toepassen, moet je wel bestanden kunnen uitlezen. Als bestanden écht voor elke gebruiker apart versleuteld zouden zijn, dan zouden identieke bestanden voor de server eruitzien als compleet andere bestanden, doordat de encryptiesleutel verschilt.
De beveiligingsonderzoeker Ashkan Soltani ontdekte dat Dropbox deduplicatie toepaste. Een uniek bestand van 6,8MB genereerde 7,4 megabyte aan netwerkverkeer. Maar een bestand van 6,4MB dat eerder naar een ander Dropbox-account was geupload, genereerde slechts 16KB aan netwerkverkeer. Conclusie: Dropbox kan wél bij de bestanden van gebruikers; Dropbox heeft dat later ook toegegeven.
Er zijn echter ook opslagdiensten die écht niet in bestanden van gebruikers kunnen kijken. Eén daarvan is het Amerikaanse SpiderOak. Dat bedrijf biedt een synchronisatiedienst aan die vergelijkbaar is met Dropbox. "Onze filosofie is dat we zeer weinig van onze gebruikers weten", zei ceo Ethan Oberman van Spideroak op de RSA Conference. "Je hoeft ons niet te vertrouwen met de data, want we weten niet eens wat je opslaat."
SpiderOak claimt dat het niet eens de bestandsnamen kan uitlezen; het enige dat de dienst weet, is hoeveel de gebruiker heeft opgeslagen. De inhoud van de bestanden en zelfs de bestandsnamen zijn voor de opslagdienst een brij van versleutelde data. De encryptiesleutels worden door de clientside-software van SpiderOak gegenereerd, en passeren - claimt SpiderOak - de servers van het bedrijf niet.
/i/1393553043.png?f=imagenormal)
De enige manier waarop SpiderOak of een kwaadwillende toegang tot bestanden zou kunnen krijgen, is als een gebruiker inlogt op de website van SpiderOak. Dat is dan ook iets wat het bedrijf zijn klanten afraadt, al claimt het dat het zijn best doet om de website zo goed mogelijk te beveiligen.
Wachtwoord vergeten
Het opslaan van bestanden bij een dienst die niet weet wat je opslaat, heeft een belangrijk nadeel: er is geen 'wachtwoord vergeten'-functionaliteit. Zou die er wel zijn, dan heeft de opslagdienst de encryptiesleutel immers alsnog ergens opgeslagen. "Als jij als enige de encryptiesleutel hebt, is dat ook meteen het single point of failure", zegt onderzoeker Milinda Perera.
Milinda Perera: "Je moet daarom goed afwegen of je dat risico wel wil lopen." Volgens de onderzoeker zou het een goed idee zijn als gebruikers de keuze zouden kunnen maken of ze de sleutel zelf willen bewaren, of het gemak van een 'wachtwoord vergeten'-functionaliteit willen hebben. "Je zou dan een vinkje kunnen zetten als je zelf je sleutels wil beheren", zegt Milinda Perera. "Het zou goed zijn als je die keuze zelf zou kunnen maken, in plaats van dat de beheerders van de dienst dat voor jou beslissen."
Een andere dienst die op dezelfde manier opereert, is Mega, van MegaUpload-oprichter Kim Dotcom. Net als SpiderOak weet Mega niets van zijn klanten, claimt Van der Kolk. "Ook de bestandsnamen zijn versleuteld. We weten wel de bestandsgrootte."
De achilleshiel bij Mega is de website: de encryptie gebeurt in javascript. "Er zijn mensen die zeggen dat versleuteling in javascript niet kan, onder meer omdat er geen random number generator is ingebouwd. Drie jaar geleden was dat waar, maar inmiddels niet meer", aldus Van der Kolk. Daarnaast kunnen gebruikers desgewenst een browserextensie installeren die de versleuteling op zich neemt.
Ook zou Mega in theorie een backdoor kunnen inbouwen in de javascript-code. "Maar het voordeel van javascript is dat de broncode inzichtelijk is. Je zou eventuele backdoors dus kunnen detecteren", zegt Van der Kolk. "Bij binaries is dat niet zo."
Do it yourself
Een manier om zeker te weten dat de opslagdienst je data niet kan ontsleutelen, is door de encryptie zelf op je te nemen. Een veelgebruikte cryptografietool is het opensource-programma Truecrypt, waarmee beveiligde 'containers' kunnen worden gemaakt. Alle bestanden die in die container worden geplaatst, worden versleuteld.
Op het eerste gezicht is Truecrypt daarmee goed geschikt voor encryptie in cloudopslagdiensten, maar er is één belangrijk nadeel. Dropbox en andere opslagdiensten werken vrij efficiënt: als je in een bestand tien bytes wijzigt, worden enkel die tien bytes gesynchroniseerd, en de rest van het bestand niet. Maar als in een Truecrypt-container één bestand wordt gewijzigd, verandert de samenstelling van de gehele container. Daardoor moet het hele bestand opnieuw worden gesynchroniseerd. Bij grotere containers is dat niet efficiënt.
Een Duits bedrijf heeft daarom software ontwikkeld die wel geschikt is voor het versleutelen van bestanden in clouddiensten. Boxcryptor, dat voor alle grote opslagdiensten beschikbaar is, versleutelt alle bestanden los, en creëert dus geen container. De software is er zowel in gratis als betaalde varianten. Onder meer voor het versleutelen van bestandsnamen is de betaalde versie nodig, die voor particulieren 36 euro per jaar kost.
Voor Linux-gebruikers is Boxcryptor niet eens vereist: het bestandssysteem EncFS, dat inmiddels standaard onderdeel uitmaakt van de Linux-kernel, biedt dezelfde functionaliteit.
Achilleshiel
Uiteindelijk vormen ook bij zero knowledge-diensten en end-to-end-encryption de gebruikte software en diensten de achilleshiel. Voor normale gebruikers is niet te ontdekken of er daadwerkelijk end-to-end-encryptie wordt toegepast en er geen backdoor in de software zit, zeker als de software closed-source is.
Uiteindelijk is het een kwestie van vertrouwen, zegt beveiligingsgoeroe Bruce Schneier tegen Tweakers. "We vertrouwen er ook op dat dit gebouw nu niet instort. Jij drinkt nu een Dr. Pepper, je gaat er ook van uit dat die niet vergiftigd is. Ik vertrouw mijn iPhone, en ik vertrouw mijn Windows-computer. Uiteindelijk moet je iemand vertrouwen."
Bovendien is de mate van beveiliging uiteindelijk altijd beperkt: als inlichtingendiensten bijvoorbeeld écht bij je data willen komen, kunnen ze dat alsnog, bijvoorbeeld via een kwetsbaarheid in je hardware. "Cryptografie maakt het leven van de NSA moeilijker", zegt Schneier. "Maar we weten ook dat de NSA geavanceerde tools tot z'n beschikking heeft. Als ze écht achter je aan willen komen, dan lukt ze dat. Maar als mensen cryptografie gebruiken, kan dat niet meer op massale schaal."