Versleutel je e-mail met pgp
E-mailen is als een postkaart: iedereen die de mail doorgeeft, kan de mail eenvoudig inzien. Met pgp maak je het een stuk veiliger en kun je de e-mail versleutelen in een speciale map, zodat níet iedereen mee kan lezen.
Met pgp versleutel je je e-mailberichten. In deze masterclass laten we je zien wat pgp precies is, hoe het werkt en hoe je het opzet in je favoriete mailclients, zoals Mozilla Thunderbird of Microsoft Office Outlook. Pgp is echter niet beperkt tot lokale mailclients: je kunt het ook in de browser en op je mobiel gebruiken, maar daarvoor heb je wel aparte oplossingen nodig en dat is weer wat extra werk.
Wat is er nodig?
Om met pgp aan de slag te gaan, is het nodig dat je toegewijd bent. Zoals je in deze masterclass zult zien, moet je nogal wat stappen doorlopen. En niet alleen jij, óók degene met wie je versleuteld wilt gaan mailen. Als de ontvanger geen pgp gebruikt, kun je diegene geen versleutelde mail sturen, want de e-mail wordt versleuteld met de publieke sleutel van de ontvanger. Die ontbreekt in dat geval. Verder moet je per platform apart een plug-in of extensie installeren en configureren voor pgp-ondersteuning.
01 Wat is pgp?
Pgp staat voor ‘pretty good privacy’ en biedt privacy en authenticatie voor digitale communicatie. Pgp wordt niet alleen voor e-mail gebruikt: je kunt het op allerlei varianten van digitale communicatie toepassen, zoals chatten of bestanden. Encryptie van pgp werkt met een combinatie van technieken, namelijk zowel asymmetrische als symmetrische encryptie. Asymmetrische encryptie werkt met een publieke sleutel en een privésleutel. Als iemand jou een bericht wil sturen, heeft diegene jouw publieke sleutel nodig. Met die publieke sleutel wordt normaliter de inhoud versleuteld.
Vervolgens kan de inhoud alleen ingezien worden door diegene die de privésleutel heeft die bij de publieke sleutel hoort, dat ben jij dus. Elke publieke sleutel is gekoppeld aan een e-mailadres of gebruikersnaam. Asymmetrische encryptie is niet zo efficiënt voor grote tekst. Daarom gebruikt pgp ook symmetrische encryptie. Symmetrische encryptie is simpelweg een stukje tekst versleutelen met één wachtwoord. Dat wachtwoord heet in pgp de sessiesleutel en die wordt versleuteld met de asymmetrische encryptie. Jouw mailclient ontsleutelt dan eerst de sessiesleutel met je privésleutel, en ontsleutelt daarna de inhoud van de e-mail met de sessiesleutel.
02 Windows
In Windows ga je eenvoudig aan de slag met Gpg4Win. Je downloadt het programma vanaf www.gpg4win.org. Druk op de grote groene knop, klik op $0 als je niets wilt doneren en klik dan op Download. Voer het gedownloade bestand uit en volg de installatiestappen, die spreken voor zich. De standaardcomponenten die mee worden geïnstalleerd zijn prima. We gaan nu als eerste ons sleutelpaar aanmaken, door Kleopatra vanuit het startmenu te openen. Klik op File / New Certificate. De certificaatwizard opent. Klik op Create a personal OpenPGP key pair. Vul dan je naam in en het e-mailadres waarvoor je pgp wilt gaan gebruiken. Klik op Next / Create Key.
Voer dan een passphrase in, dit is simpelweg een wachtwoord waarmee je de privésleutel beveiligt. Hiermee voorkom je dat iemand die toegang heeft tot je pc, jouw privésleutel in kan zien. Zorg voor een sterk en veilig wachtwoord. Vul daarna nog eens je passphrase in om te bevestigen en klik op OK. In het witte vlak kun je willekeurige tekst intypen, waarmee de sleutel nog willekeuriger wordt. Klik op Finish om het venster te sluiten. Om nu je certificaat te verzenden zodat een ander daadwerkelijk versleutelde e-mail naar je kan sturen, exporteer je je certificaat (je publieke sleutel) en voeg je het als bijlage toe aan een e-mail. Je kunt je publieke sleutel exporteren via File / Export Certificates. Plak het asc-bestand dan in een e-mail.
©PXimport
03 Certificaat terugtrekken
Het is belangrijk om een zogenaamd revocation-certificaat klaar te hebben staan. Op het moment dat iemand je identiteit steelt en je privésleutel en publieke sleutel in handen krijgt, kan deze persoon zich voordoen als jou. Hetzelfde geldt als je de passphrase voor je privésleutel niet meer weet, dan is het ook maar het beste om je sleutel terug te trekken. Het is erg moeilijk om een sleutel in OpenPGP te verwijderen. Daarvoor gebruik je een revocation-certificaat. Als je certificaat gestolen is, upload je dan dat revocation-certificaat naar de OpenPGP-server waarna je publieke sleutel niet meer gebruikt kan worden om e-mails te versleutelen. Om daarmee aan de slag te gaan, open je de Opdrachtprompt van Windows. Voer dan het volgende commando uit:
gpg --output revoke.asc --gen-revoke sleutel-id
Vervang dan sleutel-id met de id van je certificaat. Die vind je door rechts te klikken op je certificaat in Kleopatra en dan te kiezen voor Certificate Details. Kopieer dan de waarde bij Key ID. Druk op Y in Opdrachtprompt om je keuze te bevestigen. Geef een reden op, je kunt hier simpelweg voor 0 kiezen, druk op Enter bij extra opmerkingen. Daarna wordt om je passphrase gevraagd omdat er even toegang verkregen moet worden tot je privésleutel. Het revocation-bestand staat nu in de map C:\Users\[gebruikersnaam] genaamd revoke.asc. Bewaar het op een veilige plek, voor als je het ooit nodig hebt.
©PXimport
Het is belangrijk om een zogenaamd revocation-certificaat klaar te hebben staan.
-
04 Certificaat verspreiden
Een van de manieren om je certificaat te verspreiden, is dus door het handmatig per e-mail te versturen naar iedereen. Je kunt dan dus bijvoorbeeld in elke mail je asc-bestand toevoegen of je kunt de tekst direct uit het asc-bestand kopiëren en in je handtekening zetten, want het is simpelweg een tekstbestand. Er is nog een manier om je certificaat te verspreiden: je kunt het uploaden naar een OpenPGP-server.
Op die manier kan iedereen jouw certificaat vinden en zo versleuteld e-mailen. Bovendien hoef je dan niet naar iedereen zelf je publieke sleutel te sturen, omdat die eenvoudig online te vinden is. Iedereen kan een OpenPGP-server opzetten, dat is goed, want je wilt zo veel mogelijk dat je publieke sleutel verspreid wordt. Je moet wel zelf aangeven waar je ‘m uploadt. Selecteer je certificaat en klik op File / Export Certificates to Server. Er verschijnt een melding dat je nog geen OpenPGP-servers hebt geconfigureerd. Klik op Continue om de standaardserver, keys.gnupg.net, te gebruiken. Klik dan nog eens op Continue en upload je certificaat.
©PXimport
Mailproviders
Als je dit nu allemaal te veel moeite vindt, dan kun je ook eens kijken naar een versleutelde mailprovider. Een van die providers is bijvoorbeeld ProtonMail, een mailprovider die pgp ingebouwd heeft. Het Zwitserse bedrijf heeft zowel een gratis als betaalde variant en zelfs ProtonMail zelf kan je e-mail niet inzien. Een alternatief is Hushmail. Daarvoor betaal je vijftig dollar per jaar, dan krijg je 10 GB opslag en toegang tot alle apps, zodat je er ook op je mobiel bij kunt. Ook Hushmail biedt ingebouwde OpenPGP-bescherming. Bij ProtonMail stel je een wachtwoord in voor de e-mail. De ontvanger krijgt dan een e-mail met een link, waar het wachtwoord ingevuld kan worden waarna de e-mail zichtbaar wordt. Bij Hushmail stel je een vraag aan de ontvanger waar jullie beide het antwoord op weten. Daarmee wordt dan je e-mail versleuteld.
05 Ontvangen e-mail ontsleutelen
Stel nu dat iemand jou een versleuteld e-mailbericht stuurt, dan wil je die e-mail kunnen ontsleutelen. Gpg4Win installeert voor Outlook standaard de extensie GpgOL mee, die werkt met Outlook 2003 tot en met versie 2016. Als je een versleutelde e-mail ontvangt, kun je deze eenvoudig lezen door de e-mail in een apart venster te openen. Klik dan in het Lint op GpgOL en klik op Decrypt. Het e-mailbericht wordt door Kleopatra voor je ontsleuteld.
©PXimport
06 E-mail versleutelen
Om zelf een versleutelde e-mail te versturen, is het nodig dat je van iemand anders de publieke sleutel in handen krijgt. Heb je die in handen, dan importeer je die in Kleopatra met de knop Import certificate. Je ziet het certificaat terug op het tabblad Other Certificates. Om nu een e-mail te versleutelen, stel je een nieuw bericht op en voer je de ontvanger in van wie je het certificaat hebt. Ga dan in het Lint naar GpgOL en klik op Encrypt. Kies voor OpenPGP en vink eventueel de optie Show all recipients aan. Kies dan het certificaat van de ontvanger uit de lijst en klik op OK. De tekst wordt vervangen door de versleutelde tekst. Verstuur je bericht zoals normaal. Degene aan de andere kant kan dan op dezelfde manier als eerst het bericht ontsleutelen.
©PXimport
Ondertekenen of versleutelen
Tot nu toe hebben we alleen laten zien hoe je e-mail versleutelt. PGP heeft nog een optie: namelijk e-mail ondertekenen. Dat staat los van versleutelen. Als je een e-mail ondertekent, voeg je een hash toe aan de e-mail. Die hash is gemaakt op basis van de inhoud van de e-mail. Als een derde partij onderweg de e-mail wijzigt, dan kan de ontvanger dat daarmee detecteren door de hashes te vergelijken. Er is een probleem: niets houdt een derde partij tegen om onderweg de hash te vervangen. Daarom versleutel je de hash met je eigen privésleutel. De ontvanger kan de hash dan alleen ontsleutelen met jouw publieke sleutel, waarmee gegarandeerd wordt dat de mail van jou is. Als iemand dit dan aanpast, kan de hash niet meer ontsleuteld worden met jouw publieke sleutel, tenzij diegene je privésleutel in handen heeft. Om een e-mail te ondertekenen, klik je in GpgOL op Sign.
07 Thunderbird
Om in Thunderbird aan de slag te gaan met pgp, is het nodig om een extra extensie te installeren, namelijk Enigmail. Open daarvoor Thunderbird, druk op de Alt-toets om de menubalk weer te geven en ga dan naar Extra / Add-ons. Bij Alle add-ons doorzoeken typ je Enigmail. Klik op Installeren bij de juiste add-on en herstart Thunderbird achteraf om de installatie te voltooien. Na het opnieuw starten wordt de configuratiewizard van Enigmail gestart. Klik op Verdergaan.
We kiezen voor een standaardconfiguratie, dus klik weer op Verdergaan. Enigmail kiest vanzelf al de juiste gpg-installatie en heeft je sleutels uit Gpg4Win al gevonden. Klik dus op je privésleutel uit de lijst en klik weer op Verdergaan / Gereed. Als je nu een nieuwe e-mail opstelt, zie je de Enigmail-werkbalk erbij. Klik op het slotje om een e-mail te versleutelen. Je kunt ook eenvoudig zo je publieke sleutel versturen door te kiezen voor Mijn publieke sleutel bijvoegen. Verstuur dan je bericht zoals normaal.
©PXimport
08 Mailvelope opzetten
Wat je tot nu toe hebt gezien, is nogal wat werk. Certificaten beheren, terugtrekken, importeren, exporteren en uitwisselen. Het kan eenvoudiger, maar dat geldt alleen als je vooral webmail in Google Chrome of Mozilla Firefox gebruikt. Dan kun je namelijk gebruikmaken van Mailvelope. Download en installeer de add-on voor je favoriete browser. Wij installeren het in Chrome. Om Mailvelope te configureren, klik je op het icoon en dan op Opties. We hebben al een sleutel met Gpg4Win, die moeten we eerst exporteren. In Kleopatra klik je op je certificaat en dan op File / Export Secret Keys. Vink de optie ASCII armor aan, kies waar je het bestand op wilt slaan en geef het een naam. Klik op OK. Terug in Mailvelope klik je op Sleutel importeren en blader je naar het zojuist geëxporteerde asc-bestand. Importeer daarna ook je publieke sleutel door in Kleopatra te kiezen voor Export Certificates zoals eerder uitgelegd, en importeer ook deze sleutel op dezelfde manier in Mailvelope.
Om zelf een versleutelde e-mail te versturen, is het nodig dat je van iemand anders de publieke sleutel in handen krijgt.
-
09 Mailvelope verzenden
Om nu een versleuteld bericht te versturen met Mailvelope, ga je naar je webmailprovider en stel je een bericht op. Er verschijnt dan meteen een pictogram in de tekst in de inhoud van de e-mail. Klik daarop en voeg hier je ontvanger toe en typ hier de daadwerkelijke inhoud van het e-mailbericht. Klik op Versleutelen om je e-mail te versleutelen. De versleutelde tekst verschijnt en je kunt de e-mail zoals normaal verzenden. Je kunt in Mailvelope verder je publieke sleutel uploaden, zodat deze makkelijker voor anderen vindbaar is. Klik daarvoor op het Mailvelope-icoon en kies voor Opties. Ga naar Sleutels weergeven en klik op Publieke sleutel uploaden.
©PXimport
10 Android en iOS
Voor iOS is een van de beste opties iPGMail. Deze app geeft je de mogelijkheid om versleutelde e-mail te lezen en te openen. De standaard mail-app van iOS zal pgp-bijlages automatisch openen met iPGMail, zodat je niet de ciphertext hoeft te kopiëren en plakken. Je kunt je sleutelpaar importeren via AirDrop of met iTunes. Exporteer je bestaande sleutels zoals we eerder ook deden voor Mailvelope. Die sleutel kun je dan importeren met AirDrop of met iTunes. Daarvoor ga je naar je apparaat in iTunes en dan naar Apps en onderaan Bestandsdeling. Je kunt iPGMail verder koppelen aan Dropbox voor toegang tot bestanden die je dan ook versleuteld kunt versturen.
Voor Android kun je kijken naar bijvoorbeeld OpenKeychain, een OpenPGP-app die integreert goed met K-9 Mail. Zorg er dus voor dat je beide apps gebruikt. Zet als eerste OpenKeychain op. Zorg dat je sleutel op je Android-apparaat staat en kies dan in OpenKeychain voor Sleutel importeren uit bestand en kies het bestand. Zet dan K-9 Mail op door je e-mailaccountinstellingen te configureren zoals normaal. Ga achteraf naar het menu / Instellingen / Account instellingen. Klik op Cryptografie / OpenPGP app en kies voor OpenKeychain. Stel dan een mail op en tik op het rode slot. OpenKeychain opent en tik op Toegang toestaan om K-9 Mail toegang te geven.
©PXimport
Beperkingen van pgp
Een nadeel van pgp is dat het geen ‘forward secrecy’ heeft. Dat houdt in dat als iemand jouw pgp-privésleutel in handen krijgt, deze aanvaller alle eerdere én toekomstige communicatie van jou in kan zien. Een ander nadeel is dat pgp heel erg zichtbaar is. Als een internetprovider deep-packet inspection toepast, kan deze heel erg eenvoudig mails met pgp herkennen. Je maakt jezelf dan dus zichtbaar voor de autoriteiten. Bovendien doet pgp niets aan de metadata: pgp kan niet de ontvangers en verzenders versleutelen, dus het is duidelijk met wie je precies communiceert. Pgp kán overigens de onderwerp-regel versleutelen, maar die functie wordt bijna niet gebruikt. Als laatste is het nadeel dat geen een platform native pgp ondersteunt, behalve misschien sommige Linux-desktopomgevingen. Je moet dus steeds weer andere apps hiervoor gebruiken.
In het vizier
Is pgp onveilig? In maart gingen er wat nieuwsberichten rond die dit suggereerden, maar we kunnen je geruststellen. Wat was er dan gebeurd? De Nederlandse politie liet naar eigen zeggen ‘de onderwereld sidderen’ door een grote hoeveelheid pgp-sleutels in beslag te nemen die werden gebruikt op BlackBerry’s. Het ging om een inval bij een bedrijf dat aangepaste BlackBerry’s verkocht waarmee kopers automatisch via pgp mailden. Hoewel de dienst zich niet specifiek richtte op criminelen, bleek het overgrote merendeel van het klantenbestand daar wel uit te bestaan. Opvallend was dat de sleutels om de berichten te kunnen lezen niet lokaal werden gegenereerd, maar op de server waar de berichten overheen liepen. Een erg slechte manier van beveiligen, waar de politie handig gebruik van heeft gemaakt. Wat de nieuwsberichten suggereerden – dat pgp was gekraakt – was dus niet het geval. De politie wist alleen specifieke sleutels te bemachtigen die op een onzorgvuldige manier waren gecreëerd. Gelukkig is pgp tot op de dag van vandaag niet te kraken, integendeel: uit het politieonderzoek kwam juist naar voren dat de politie moeite had met het kraken van de standaard.