Versleutel je e-mail dit jaar
Tegenwoordig hoor je zoveel over versleuteling. Websites op internet met “https” en een “slotje” sturen en ontvangen versleuteld informatie. Berichtjes die je stuurt met Whatsapp of met Signal zijn automatisch versleuteld. Ministers die een reservesleutel willen hebben, om in je berichten te kunnen koekeloeren. Als je je browser, Whatsapp of Signal gebruikt, dan heb je helemaal niet in de gaten dat je berichtenverkeer versleuteld is. Alles wordt afgehandeld door het programma. Je hoeft er zelf niets voor te doen. Het programma maakt zelf openbare en privé-sleutels aan en gebruikt deze om de berichten te versleutelen. Het zou fijn zijn, als dat met e-mail ook zo zou zijn. Voor een deel is dat nu ook zo. Werden de berichten vroeger over het net in gewone tekst verzonden, de laatste jaren wordt het transporteren van e-mail via het berichten-protocol SMTP eerst versleuteld met het encryptie-protocol TLS. Je e-mail provider zorgt hiervoor en daar hoef je alleen bij de installatie van je e-mail programma even rekening mee te houden. Maar e-mail is zo nog steeds niet “end-to-end” versleuteld. De provider zet namelijk het versleutelde bericht bij aankomst voor je om in gewone tekst om het daarna in je mailbox op te slaan. De provider kan je bericht daarmee, theoretisch gezien, ook lezen. Als de provider het kan lezen, dan zou onze minister het ook kunnen lezen. Als je vindt dat je niets te verbergen hebt lees dan even dit stukje van Bits of Freedom. Het is gelukkig mogelijk je e-mail zo te versleutelen, zodat het versleuteld bij de provider aankomt, en pas bij het lezen door de ontvanger ontsleuteld wordt. Het instellen van deze “end-to-end”-versleuteling bij e-mail is niet gemakkelijk. Het helpt ook niet, dat er verschillende mogelijke protocollen voor deze versleuteling zijn: S/MIME en Open PGP. Toch zijn er tegenwoordig e-mail providers die dit versleutelen een beetje makkelijker maken.
Geheim: ik vind je leuk
Als kind heb je misschien wel eens geprobeerd iets geheims op te schrijven wat alleen jij zou kunnen lezen. Of alleen jij en nog iemand anders die zou weten hoe die het zou moeten lezen. Een voorbeeld van zo'n manier: gebruik steeds een letter later in het alfabet. “Jl wjoe kf mfvl” betekent dan “ik vind je leuk”. Om dit te ontcijferen heb je de sleutel nodig: het alfabet, en de encryptie-operatie: één letter later. Nu is het zo, dat als eenmaal deze sleutel bekend is, iedereen het geheime bericht kan ontcijferen. Men wilde het daarom wat veiliger maken, zodat het bericht alleen door de ontvanger ontcijferd kan worden. Daarom is het wat ingewikkelder gemaakt. De ontvanger heeft een openbare en een privé-sleutel. En jij, als verzender, hebt ook twee van deze sleutels. Jij weet de openbare sleutel van de ontvanger. Die heeft hij jou gegeven, of die kun je opzoeken in een groot sleutelboek, waarin per e-mailadres een openbare sleutel staat. Jij versleutelt het geheime bericht met deze openbare sleutel van de ontvanger, en met jouw eigen privé sleutel. De ontvanger kan dan dit bericht weer tevoorschijn toveren door het te ontsleutelen met zijn privé sleutel en jouw openbare sleutel. Ja, hoe is dat nou mogelijk? Ik heb eerlijk gezegd geen idee. We noemen het maar de “magie” van de wiskunde. Die openbare sleutel en de privé-sleutel zijn samen natuurlijk geen toevallige combinatie. Berichten die je met de openbare sleutel hebt versleuteld, kun je met de privé sleutel ontcijferen. Op de een of andere manier zijn dit daarom getallen die in verband met elkaar staan en waarmee je samen met een andere combinatie van openbare en privésleutel berichten kunt versleutelen en ontsleutelen.
Hoofdbrekens
Het is jammer dat bij e-mail die versleuteling niet automatisch gaat. Waarom moeten wij ons hoofd breken over die ingewikkelde sleutelzaken? Het kan zijn, dat dat komt doordat je bij e-mail vrij bent om je eigen e-mail programma te kiezen. Whatsapp berichten bijvoorbeeld, sturen alleen maar naar andere Whatsapp programma's. Daardoor kan het Whatsapp programma zelf bijhouden wat de openbare sleutels zijn van de personen in je contactenlijst. De privé sleutel heeft Whatsapp of Signal snel aangemaakt tijdens de installatie van de app op je telefoon. Je hoeft dus niet zelf je openbare sleutel met anderen uit te wisselen. Dit idee is er ook bij het S/MIME protocol, waarbij er X.509 certificate servers bijhouden wie wie is en welke openbare sleutel daar dan ook bijhoort. Je hoeft zo je eigen openbare sleutel niet aan je vrienden te versturen. Het S/MIME protocol is er al jaren en het is beschikbaar in veel e-mail programma's. Toch is dit protocol nooit doorgebroken. En dat kan komen doordat je, in tegenstelling tot wat er gebeurt bij apps als Whatsapp en Signal, je eigen certificaat moet aanvragen bij zo'n server. In dit certificaat komt dan je openbare sleutel te staan. Vervolgens moet je dat certificaat nog eens inladen in je e-mail programma. “Laat maar zitten, ik heb toch niks te verbergen.”, is dan de gemakzuchtige reactie. Ook Open PGP is niet gemakkelijk te configureren. Maar er zijn tegenwoordig email-providers die het Open PGP protocol in hun web-omgeving ondersteunen. Je hoeft daarvoor in ieder geval dit registratieproces niet te doorlopen. En dat maakt de drempel om deze versleuteling te gebruiken iets lager.
Ik ben echt wel wie ik ben
Je ziet nu dat er sommige emailproviders aan de slag zijn gegaan met de versleuteling volgens het protocol Open PGP in plaats van S/MIME. Met Open PGP hoef je je niet te registreren bij een “trusted third party” en een certificaat aan te vragen dat je kunt gebruiken om te versleutelen en te tekenen. Je geeft je openbare sleutel gewoon aan je vriend. Die moet jou dan maar vertrouwen dat je bent die je bent. En in de meeste gewone contacten is dat ook geen probleem, want die kennen je van de echte wereld. Die sleutel wordt dan voornamelijk gebruikt om te versleutelen, en niet om te bewijzen dat je bent die je zegt te zijn. Toch is het ook binnen dit protocol mogelijk enige mate van vertrouwen aan een openbare sleutel toe te kennen. Je vrienden kunnen jouw sleutel tekenen, en er voor instaan dat jij bent die je zegt te zijn. Hoe meer vrienden zeggen dat jij werkelijk bent die je zegt te zijn, hoe betrouwbaarder jouw identeit gezien wordt. Voor een deel is dit hetzelfde als bij het S/MIME protocol, alleen is er bij S/MIME maar één belangrijke “trusted party” nodig die er voor instaat dat jij bent die je zegt te zijn. Maar om een akkoord van deze partij te krijgen moet je voor het aanmelden naar het postkantoor met je paspoort en van alles en nog wat. Een heel gedoe, en het is dan ook niet verwonderlijk dat dit geen grote vlucht heeft genomen bij de gewone man en vrouw.
Alleen versleutelen
In de praktijk worden de openbare sleutels met PGP voornamelijk gebruikt om de berichten te versleutelen samen met de eigen privésleutel. Misschien dat dat in de toekomst nog wel gaat veranderen, en dat we echt een hele “Web of Trust” krijgen van openbare sleutels, die niet, weinig of door veel andere mensen zijn bevestigd. Het aanmaken van een openbare sleutel bij zulke providers is een fluitje van een cent. Er komt geen paspoort of postkantoor bij kijken. Alleen wat klikken met de muis op de goede plek. Er zijn al veel providers die PGP-versleuteling makkelijker maken. Ik kan je laten zien hoe het bij freedom.nl is geregeld. Freedom.nl van Bits of Freedom, wordt zoals je misschien weet nu gebruikt door ex-medewerkers van internet-provider XS4ALL, uit onvrede met het KPN beleid om de provider XS4ALL in te kapselen in het grote KPN-lichaam. Je kunt er nu al e-mail abonnementen kopen voor vijftig euro per jaar, waarbij je zelfs een eigen domein kunt kiezen voor je postadres. Bijvoorbeeld anneskantoor.nl voor post@anneskantoor.nl. of post@paulsplekje.nl. Zo zit je niet vast aan freedom.nl en kun je verhuizen naar een andere provider zonder dat je je e-mailadres hoeft te veranderen.
We gaan versleutelen!
Bij freedom.nl kun je je sleutelpaar in de webmail-omgeving handig aanmaken. Ga naar instellingen, PGP-sleutels en druk beneden op het plusje. Je krijgt dan de mogelijkheid om voor de identiteit waarmee je bent ingelogd sleutels aan te maken. Verzin een goed wachtwoord of wachtwoordzin. Klaar! Is dat alles? Het enige wat je nog moet doen om een versleutelde mail te sturen is een vinkje aanzetten bij het opstellen van je e-mail. Je ontvanger moet dan wel je versleutelde e-mail kunnen ontsleutelen. Dat wil zeggen, hij of zij moet hetzelfde gedaan hebben als jij en beschikken over een publieke en privésleutel. Jullie moeten elkaars publieke sleutels ook uitwisselen. Het is ook mogelijk om meteen tijdens het versturen van je mail, je publieke sleutel mee te sturen als attachment. Als je wil dan kun je je openbare sleutel publiceren door het te uploaden op een “key-server” zoals bijvoorbeeld keys.openpgp.org. Hier vind je er meer.
Nu wil je natuurlijk ook de versleutelde e-mails kunnen ontvangen. Het enige wat daar nu nog voor nodig is, is dat je de publieke sleutel van degene die jou een versleuteld bericht wil sturen, importeert in de mail-omgeving van je mailprovider. Bij Freedom.nl is het dan weer naar instellingen, PGP-sleutels en importeren. Je ziet hier ook dat je de sleutels van een keyserver zou kunnen halen.
Lokaal
Jouw sleutels worden bewaard op de emailserver van de provider. Je kunt ze ook exporteren en gebruiken in een e-mail programma, zoals Thunderbird of het pakket Evolution. Je kunt zelfs helemaal zonder die e-mail-provider, een sleutel aanmaken en deze gebruiken in je lokale e-mail programma. Het kan namelijk zijn dat je helemaal niemand je sleutel wil geven. Dus ook niet je e-mail provider. Dat is een kwestie van vertrouwen. In feite doe je dan hetzelfde als op de webserver van je webmailprovider. Het is alleen wat bewerkelijker. De meeste e-mail programma's kunnen zelf een sleutelpaar genereren. Als dat niet kan, dan kun je je toevlucht zoeken in de terminal van je operating systeem en de opensource gpg software gebruiken om die aan te maken. Als je de sleutels al hebt gemaakt bij je webmail, dan kun je deze sleutels ook importeren op je computer. Die komen dan in een kluisje van je operating systeem terecht en zijn dan door het email-programma op te halen door het key-id te gebruiken. Om dit voor elkaar te krijgen moet je dus eerst je sleutelpaar exporteren naar een bestand op je computer. Bij freedom.nl klik je dan bij pgp-sleutels en boven in de hoek op exporteren. Vervolgens importeer je de sleutels op je systeem. Hiervoor zul je een gpg-commando in je terminalvenster moeten uitvoeren. Met gpg-software kun je pgp-versleuteling bewerkstelligen. Mocht je de GnuPG nog niet geinstalleerd hebben, dan kun je die voor je besturingssysteem hier vinden.
gpg2 --import Naamvanexportbestandje.asc
Je krijgt dan vervolgens de vraag naar het wachtwoord voor de geheime sleutel. Die vul je dan in en dan staan je sleutels op je computer.
gpg: sleutel 8D7KKP99: publieke sleutel "bla <pietje@puk.nl>" geïmporteerd
gpg: sleutel 8D7KKP99: "Peter <jantje@plok.nl>" niet veranderd
gpg: sleutel 8D7KKP99: geheime sleutel geïmporteerd
gpg: sleutel 8D7KKP99: "Peter Plok <jantje@plok.nl>" niet veranderd
gpg: Totaal aantal verwerkt: 3
gpg: Geimporteerd: 1
gpg: Onveranderd: 2
gpg: Geheime sleutels gelezen: 1
gpg: Geheime sleutels geimporteerd: 1
Je kunt eventueel alle sleutels bekijken met:
gpg2 -k
Daarna is het voldoende het key-id in te vullen bij eigenschappen van het e-mail-adres waarvan je de mails in je e-mail programma wil ontvangen. In mijn Evolution applicatie klik ik daarvoor op eigenschappen voor het email-account en ga naar “beveiliging”. Vermoedelijk is het bij andere mail-programma's niet veel anders. Mocht je het Key-Id zijn vergeten, dan heb je die snel weer opgezocht in je webmail-omgeving. Een klein testje laat zien dat het versleuteld versturen en ontvangen van e-mail helemaal goed werkt!
Waar zijn mijn sleutels?
Veel in ons leven gaat om vertrouwen. Vertrouw je de “trusted third party” als die zegt dat iemand werkelijk is, zoals die zich voordoet? Het DigiNotar schandaal laat zien, dat ook dit hiërarchisch vertrouwenssysteem zijn gebreken heeft. Daarom kun je je ook afvragen in hoeverre je het opslaan van je sleutels wel in de cloud, dus bij zo'n e-mail provider moet doen. In de voorbeelden hier zijn de sleutels aangemaakt en opgeslagen door je e-mail provider. De providers die jouw pgp-sleutels opslaan, hebben ieder zo hun eigen manier om dit zo veilig te doen, dat ze zelf jouw sleutel niet kunnen bekijken. Startmail bijvoorbeeld, genereert de sleutel op hun server en zet het in een versleutelde gebruikerskluis, waar ze zelf niet bij kunnen. Protonmail laat het genereren in je browser en vervolgens versleutelen, voordat het bij hun op de server gezet wordt. En ook bij freedom.nl, dat gebruik maakt van soverin.net mail kan men niet bij je privé-sleutel. Als je toch besluit je privésleutel lokaal te houden, maak er dan een goede backup van. En dan niet in de cloud opslaan, want dan kun je het net zo goed bij je emailprovider laten staan.
#deletegmail
Er is, zoals gezegd, een aantal e-mailproviders die de nadruk legt op privacy. Gmail is dat natuurlijk niet. Met gmail verstuur je weliswaar versleuteld je e-mail over het internet, maar de e-mail die bij je binnen komt wordt als gewone tekst opgeslagen. Google kan dan zien wat er in de e-mail staat, en wil je vanuit die inhoud ook diensten en advertenties aanbieden. Als je bijvoorbeeld vliegtickets hebt binnengekregen, dan waarschuwt Google je, wanneer het tijd is om naar het vliegveld te gaan. Dat is handig, maar ook een beetje griezelig. Ik was verrast, toen ik dat een aantal jaren voor het eerst merkte en kreeg er een dubbel gevoel over. Google wil je helpen, Google weet bijna alles. En Google kan niet anders. Het is haar verdienmodel. Het is aan onszelf en onze nationale en Europese politiek om ons te beschermen tegen die grote drang om alles van ons te weten en aan ons geld te verdienen. Dus hier is een lijstje met mailproviders die zeggen privacy op de eerste plaats te stellen.
Sommige providers bieden voor je smartphone apps aan, waarin alles, net als bij Signal of Whatsapp geregeld is, zodat je weinig zelf hoeft te doen. Maar google () eens voor jezelf. Als je voor het nieuwe jaar echt van gmail af wil, bedenk dan ook dat sommige e-mail providers ook agenda's ondersteunen. Wil je ook af van Google Calendar, dan heb je meteen twee vliegen in één klap bij de keuze van een nieuwe e-mail provider. Ja, je moet iets betalen, maar je krijgt er iets waardevols voor terug.
Dagje wellness
Ook bij end-to-end encryptie ben je niet helemaal verlost van spiedende ogen, want zogenaamde “meta-data” over je berichten zijn bij de provider meestal wel bekend. Facebook, dat nu eigenaar is van Whatsapp, kan nu niet in je berichten kijken, maar weet wel naar wie je berichten verstuurt. Als je ook je locatiegeschiedenis aan hebt staan, dan zou het kunstmatige slimpie van Facebook kunnen achterhalen dat je naar het ziekenhuis bent gegaan, en onderweg, terug naar huis, naar je moeder een berichtje hebt gestuurd. Misschien is er iets ergs gebeurd? Wil je advertenties voor medicijnen tegen hartaanvallen, bloeddrukverlagers misschien? Of ja, wellness en een dagje sauna zou je goed doen.
2020
Het lijkt erop dat zelfs deze metadata niet genoeg zijn voor minister Grapperhaus. Die wil ook nog in je berichten kunnen kijken. Laten we als antwoord daarop onze e-mail ook maar helemaal gaan versleutelen. Als de overheid de burgers niet vertrouwt, en de bewijslast maar al te graag aan de verkeerde kant legt, kunnen we het beste ook de overheid voorlopig maar niet meer vertrouwen, al hebben we die zelf gekozen. Kies een goede provider, betaal er een beetje voor, en ga beter beschermd het nieuwe jaar in. Hopelijk gaan regenten komend jaar inzien dat we niet allemaal criminelen zijn en begrijpen dat angst een heel slechte raadgever is. Alleen met beleid dat goed is voor de gewone mens, kunnen we èchte criminelen onverdeeld samen aanpakken.