Waarom is het zo moeilijk e-mail goed te beveiligen?

Dimitri Tokmetzis
Correspondent Surveillance & Technologie
Illustraties door onze redactioneel vormgever, Leon Postma

Het crypto-programma PGP (Pretty Good Privacy) is al bijna 25 jaar een goede manier om je e-mailverkeer te beveiligen. Maar het kan en moet beter. In deze aflevering van Red ‘t Web: waarom de revolutie in cryptografie haar eigen beloften niet waarmaakte.

It’s personal. It’s private. And it’s no one’s business but yours. Zo begint de Amerikaanse Phil Zimmermann voor zijn e-mailencryptieprogramma waar hij ruim zeven jaar aan heeft gewerkt. Het is juni 1991 en zijn doel is helder: cryptografie beschikbaar maken voor iedereen. Voortaan zou iedereen die een mail verstuurde de inhoud kunnen versleutelen en dus onleesbaar kunnen maken voor anderen. Zimmermann stuurt het programma via het prille internet naar een aantal vrienden. Binnen een paar dagen duikt PGP ook in andere landen op, zoals in Nieuw-Zeeland en in Europese landen.

Nu wordt PGP nog door honderdduizenden mensen gebruikt.

PGP was een klap in het gezicht van de inlichtingen- en veiligheidsdiensten, overal ter wereld. Op het moment dat de Britten in de Tweede Wereldoorlog de braken, was duidelijk dat encryptie een machtig wapen was. Wie versleutelde berichten van de vijand kon onderscheppen en lezen, had een voorsprong. Het ontwikkelen van nieuwe cryptografie en het verspreiden daarvan werd na de oorlog daarom nauwgezet Met de opkomst van internet in de jaren zeventig en tachtig werd dat monopolie onhoudbaar: het nieuwe medium schreeuwde om goede en vooral makkelijk toe te passen beveiliging voor iedereen. Alle berichten gingen namelijk onbeveiligd over de kabels.

Crypto voor de massa

Die beveiliging was niet direct voorhanden. Het probleem van cryptografie was namelijk dat de zender en ontvanger dezelfde sleutel moesten hebben om een bericht te ver- en ontsleutelen. Die sleutels moesten ergens bewaard worden en minstens één keer tussen zender en ontvanger worden uitgewisseld. In die uitwisseling zit een potentieel veiligheidslek, want wie de sleutel op dat moment onderschept, kan ook alle toekomstige berichten lezen.

Dat veranderde in 1975, toen de Amerikaanse computerdeskundige de zogenoemde public key encryption presenteerde. Het idee hierachter is eigenlijk heel simpel. Gebruikers hebben twee één private, die je alleen met een wachtwoord kunt gebruiken en dus met je leven bewaakt, en één publieke die je naar hartenlust kunt verspreiden.

Als ik jou een bericht wil sturen, dan neem ik jouw publieke sleutel en gebruik die om het bericht onleesbaar te maken voor anderen. Alleen jij kan dat bericht ontsleutelen met jouw private sleutel. Iedereen kan dus zijn eigen sleutel bewaren en je hoeft geen gemeenschappelijke sleutel over een mogelijk onveilige verbinding

Ideaal voor gebruik op internet.

Andere cryptografen gingen met het werk van Diffie aan de slag. Eind jaren zeventig ontwikkelden drie onderzoekers aan het Massachusetts Institute of Technology (MIT) een algoritme waarmee public key encryption makkelijker toegepast kon worden. Dit zogenoemde bediende echter vooral grote bedrijven en overheden omdat het duur en ingewikkeld was.

Tegen het zere been van Phil Zimmermann, die een deel van dit algoritme gebruikte om een programma te schrijven waar deze private en publieke sleutels aangemaakt konden worden. De gewone man en vrouw, die binnenkort ook op internet zouden komen, moesten er ook mee uit de voeten kunnen. Zimmermann bood de software gratis aan.

PGP kon aan zijn opmars beginnen. Al snel gingen andere ontwikkelaars met de code aan de slag. De Duitse Werner Koch bijvoorbeeld schreef in 1997 een open source-softwarepakket waarmee ook Windows en later Mac-gebruikers op vrij eenvoudige wijze PGP konden installeren.

De revolutie stokt

Toch heeft de PGP-revolutie niet gebracht wat de privacy-activisten ervan hadden gehoopt.

Maar eerst wat er wél goed aan PGP is.

De code is heel robuust. Uit enkele documenten die door Edward Snowden zijn gelekt, blijkt dat de National Security Agency PGP nog niet heeft kunnen kraken Dat is een flinke prestatie.

Wat níet goed is aan PGP, is de gebruiksvriendelijkheid. De code mag dan de implementatie is dat niet.

Ik gebruik PGP sinds september 2013 en ik heb er de nodige problemen mee gehad. Het vinden en installeren van de juiste programma’s was niet eenvoudig, maar voor een geoefende computergebruiker wel te doen. Maar dat is natuurlijk niet de bedoeling: PGP moet voor iedereen eenvoudig te gebruiken zijn.

Het lastigste vind ik het beheer van mijn sleutels. In theorie is dat heel eenvoudig. Je maakt in GnuPG een sleutel aan en koppelt die aan een e-mailadres. Maar als je net begint, weet je nog niet goed waar je op moet letten en moet je zelf maar een weg zien te vinden in de vaak tegenstrijdige adviezen die online staan. Ik liep bijvoorbeeld tegen de volgende problemen aan:

  • Hoe sterk moet je sleutel zijn? 1024 bit? 2048 bit? Hoe meer bits je sleutel heeft, hoe moeilijker die is om te kraken. Eerlijk gezegd had ik geen idee wat een werkbare sterkte is en wat de nadelen zijn van een zeer sterke sleutel.
  • Waar laat je je publieke sleutel? Je kunt ’m uploaden naar een Daarmee word je makkelijk vindbaar. Ik heb de mijne bijvoorbeeld geüpload naar de keyserver van MIT. Pas tijdens het onderzoek voor dit artikel, kwam ik erachter dat deze server helemaal niet zo veilig is. Dat is anderhalf jaar te laat.
  • Bij mijn eerste sleutel ben ik vergeten om mijn wachtwoord op te schrijven. Ik kan mijn private sleutel dus niet gebruiken, maar ook de publieke sleutel op de keyserver van MIT niet verwijderen. Soms krijg ik dus nog mail die met deze sleutel is verpakt. Die kan ik niet openen.
  • Van mijn tweede sleutel had ik een back-up gemaakt op een andere laptop. In korte tijd zijn mijn beide laptops volledig gecrasht (een mislukt experiment voor een andere aflevering van deze reeks). Ik ben dus mijn private sleutel kwijt (het wachtwoord weet ik nog wel) en kan ook deze niet meer gebruiken.
  • Ik vind het nog steeds lastig om de authenticiteit van andermans sleutels te controleren. Het is bijvoorbeeld mogelijk dat een ‘vijand’ voor jouw e-mailadres een sleutel aanmaakt en die uploadt naar een keyserver. Als ik niet goed controleer of die sleutel echt van jou is, stuur ik jouw een mail die jij niet kan openen, maar de ‘vijand’ wel.

Tijd voor cryptodesign

Nu kun je lacherig doen over mijn gekluns - en geloof me, ik maak er soms gewoon een potje van - maar laten we eerlijk zijn: als het mij, een redelijk geoefende computergebruiker, niet lukt om PGP op een veilige manier te gebruiken, dan is het systeem niet goed ontworpen. En ik troost me met het feit dat zelfs Edward Snowden maakte met PGP toen hij contact zocht met de journalisten waar hij uiteindelijk zijn documenten aan zou lekken. Niet voor niets verzuchtte hij later dat damn near unusable

Maar Snowden heeft het crypografische vuurtje wel opnieuw opgestookt. Jonge techneuten werken aan nieuwe manieren om met name de implementatie van crypto in e-mail en chatprogramma’s beter Een voorbeeld is een programma waarmee je vrij makkelijk je eigen mailserver kan draaien en je mails kan versleutelen (al heeft Mailpile de nodige gebreken). Een ander project is het maar dat heb ik nog niet kunnen testen. Zelfs Google en Yahoo! werken aan een dienst voor versleutelde e-mails. Opvallend is dat er tegenwoordig meer aandacht lijkt te zijn voor gebruiksgemak. Het Bredase Museum of the Image heeft bijvoorbeeld een wedstrijd uitgeschreven En ook in andere landen proberen ontwerpers cryptografie toegankelijker te maken.

De NSA en andere inlichtingendiensten zullen altijd blijven proberen om de zwakheden van cryptografische systemen uit te buiten. Maar de grootste vijand is de gebruiker zelf, die cryptografie niet goed kan implementeren. Maar eerlijk gezegd ben ik vrij optimistisch dat ontwerpers en jonge techneuten het werk van Zimmermann eindelijk af kunnen maken en dat cryptografie echt in handen van de mensen komt.

Lees meer verhalen in deze reeks