Hoewel tegenwoordig een groot deel van de online communicatie via tekstberichten in sociale media en instant messengers plaatsvindt, spelen e-mails nog altijd een belangrijke rol. Vooral vertrouwelijke inhoud, zoals contracten en bankgegevens, verstuurt men liever via e-mail dan via een chatbericht en in veel bedrijven hoort het regelmatig uitwisselen van e-mails bij de dagelijkse praktijk. Aan dit e-mailverkeer is echter ook een risico verbonden; het gevaar bestaat dat de inhoud door derden wordt gelezen. Vooral criminelen die vertrouwelijke gebruikersgegevens willen achterhalen, maar ook inlichtingendiensten die op zoek zijn naar bruikbare informatie, profiteren van onversleutelde berichten. Om veilig te mailen en ervoor te zorgen dat onbevoegden geen toegang tot je mails krijgen, is het noodzakelijk om je e-mails te beveiligen.
De zogenoemde PGP-beveiliging biedt een uitstekende mogelijkheid om je mail te beveiligen en zo informatie te beschermen. Oorspronkelijk werd het begrip PGP – een afkorting van ‘Pretty Good Privacy’ (Engels voor: ‘behoorlijk goede privacy’) – gebruikt voor een reeds in 1992 door Phil Zimmermann ontwikkelde software om e-mails te beveiligen via versleuteling. In de loop van de jaren werd de naam steeds vaker gebruikt voor de versleutelingsmethode die door deze software wordt ingezet.
De versleuteling met PGP is gebaseerd op publieke sleutel-cryptografie. Er wordt een sleutelpaar gebruikt, dat uit een publieke sleutel en een privésleutel bestaat. De publieke sleutel wordt beschikbaar gemaakt voor potentiële e-mailcontacten, wanneer je deze direct doorgeeft of uploadt op een externe sleutelserver. Met deze sleutel kunnen je contacten de e-mails die ze naar jou toe sturen versleutelen. De privésleutel is alleen voor jou toegankelijk en meestal aanvullend beveiligd met een wachtwoord. Met behulp hiervan ontsleutel je ontvangen e-mails, die eerder door de afzender met jouw publieke sleutel zijn gecodeerd. Om op deze manier beveiligd te communiceren, moet ook degene met wie je contact hebt PGP gebruiken en jou toegang geven tot zijn of haar publieke sleutel. Publieke sleutel- tekstcryptografie wordt ook wel asymmetrische cryptografie genoemd, omdat de twee partijen verschillende sleutels gebruiken. Het gebruik van een digitale handtekening is tevens een methode om de authenticiteit van je berichten te garanderen, al staat dit los van het versleutelen en beveiligen van e-mails. PGP-beveiliging gaat namelijk nog een stap verder om je bericht veilig te versturen.
Het versleutelen van de eigen e-mailcommunicatie met PGP lijkt in eerste instantie een complexe opgave te zijn. Eerst moet je een open of voordelige PGP-software downloaden en installeren. Tijdens de installatie wordt het sleutelpaar weliswaar automatisch aangemaakt; voor de rest is de gebruiker zelf verantwoordelijk. De privésleutel wordt op het eigen systeem gearchiveerd, terwijl de publieke sleutel op een externe server (bijvoorbeeld op de eigen webserver) wordt geüpload of direct via mail naar de gewenste contactpersonen wordt gestuurd. Dit is echter nog niet genoeg, omdat deze contacten zelf ook gebruik moeten maken van PGP-versleuteling en jou hun publieke sleutel moeten geven. Het is bovendien jouw eigen taak om de betrouwbaarheid van de verkregen sleutels te controleren en de eigen sleutels te beheren. Wie deze moeite doet, kan er echter wel zeker van zijn dat de e-mails daadwerkelijk beveiligd zijn.
De stappen die nodig zijn om de versleuteling in te stellen, hebben minder ervaren gebruikers er vaak van weerhouden om voor PGP-beveiliging te kiezen. Om een breder publiek toegang te geven tot beveiligde mails, zijn de afgelopen jaren plug-ins als OutlookPrivacyPlugin en Mailvelope ontwikkeld. Deze worden in gebruikelijke e-mailclients en browsers geïmplementeerd en ondersteunen gebruikers bij de configuratie. Ook talrijke gevestigde e-mailaanbieders hechten tegenwoordig veel waarde aan dit thema en bieden plug-ins aan voor een PGP-beveiliging, samen met configuratie-assistenten. Daardoor is het nu veel eenvoudiger dan vroeger om je eigen e-mailaccount van een PGP-versleuteling te voorzien. Ook het opslaan van publieke sleutels in een databank van de aanbieder is een gebruikelijke service.
Veel e-mailaanbieders hebben tegenwoordig pakketten waarmee je een PGP-versleuteling kunt realiseren. Zo kun je een beveiligde e-mail ontvangen. Meestal hoort daar ook een begrijpelijke handleiding bij. Als dit niet het geval is, moet je de bovengenoemde handelingen zelfstandig uitvoeren. De onderstaande PGP-tutorial helpt je, door middel van een gedetailleerd stappenplan, om het versleutelingssysteem te implementeren.
Als eerste moet je op zoek gaan naar geschikte PGP-software, die compatibel is met het gebruikte besturingssysteem en het gekozen e-mailprogramma. Voor Linux-gebruikers is de in 1997 gepubliceerde open source-oplossing GnuPG (Gnu Privacy Guard) een goede keuze. De software draait op bijna alle GNU/Linux-distributies en maakt versleuteling, volgens de OpenPGP-standaard, mogelijk met alle belangrijke mailprogramma's (zoals Evolution, Kmail en Thunderbird). De iets oudere versie 1.4 is op veel systemen standaard geïnstalleerd. De nieuwste versie kun je downloaden op de officiële website.
Gebruikers van Windows of OS X vinden hier ook binaire bestanden, waarmee ze de systeem-specifieke Gpg4win en Mac GPG, die op GnuPG gebaseerd zijn, kunnen installeren.
Als het PGP-programma is geïnstalleerd, kan een sleutelpaar worden gemaakt. In Linux open je hiervoor de commandoregel en gebruik je het commando dat in de handleiding van het gebruikte programma staat. Voor de reeds genoemde software GnuPG luidt het commando:
sudo gpg --gen-key
Vervolgens kies je de versleutelingssoort. Wijk alleen van de standaardinstellingen (‘RSA en RSA’) af, als je over de benodigde kennis beschikt. Vervolgens geef je de sleutellengte in bits aan. Hoe langer sleutels zijn, hoe beter de beveiliging, maar ook hoe trager de werking. Beveiligingsexperts raden bij RSA-sleutels een lengte van 4096 bit aan. Daarna moet je de geldigheidsduur van de sleutel aangeven en vervolgens de naam en het e-mailadres waarvoor het sleutelpaar moet gelden. Tot slot bevestig je de gegevens en kies je een wachtwoord voor je privésleutel. Dit heb je later nodig om je e-mail te beveiligen met een sleutel en later te ontsleutelen.
In Windows en Mac OS X kun je sleutels via grafische programma's laten genereren. Onafhankelijk van PGP-software en platform, wordt je vaak gevraagd het genereren van sleutels te ondersteunen door op willekeurige toetsen te drukken of muisbewegingen te maken.
De aangemaakte sleutel beheer je in Linux ofwel via de terminal, ofwel met een grafisch programma zoals Seahorse (voor Gnome/Unity) of KGpg (voor KDE). De commando's voor GnuPG zijn bijvoorbeeld
sudo gpg --list-secret-keys
sudo –K
voor de privésleutels en
sudo gpg --list-keys
sudo -K
voor een lijst van alle gegenereerde publieke sleutels. De sleutels die in de lijst staan kun je natuurlijk niet alleen raadplegen, maar ook direct exporteren. Bij het exporteren maak je een .asc-bestand aan, dat vervolgens direct per mail (als bijlage) naar de gewenste contacten kan worden gestuurd, op een certificaatserver kan worden geüpload of op een USB-stick kan worden opgeslagen. Als een contact je publieke sleutel heeft ontvangen en eveneens een programma heeft om sleutels te beheren, kan diegene jou voortaan versleutelde berichten sturen. Deze kun je dan ontsleutelen met de bijbehorende privésleutel, inclusief wachtwoord. Als je een versleutelde e-mail naar deze persoon wilt terugsturen, heb je zijn of haar publieke sleutel nodig.
Naast de optie om programma's op het eigen systeem te installeren, bestaat de mogelijkheid om online PGP-tools te gebruiken voor het genereren van sleutelparen en het versleutelen en ontsleutelen van e-mails. Een goed voorbeeld hiervan is de PGP Key Generator.
De webtool PGP Key Generator is een programma op basis van JavaScript, dat via de gebruikelijke webbrowser kan worden gebruikt om sleutelparen te genereren. De open source-dienst is gratis en je hoeft geen account aan te maken. Om te beginnen vul je op de website in het ‘Options’-formulier de gewenste specificaties voor de sleutel in: je naam, het e-mailadres, het gewenste versleutelingsalgoritme (RSA/ECC), de sleutellengte (tot 4096 bit), de geldigheidsduur (maximaal 8 jaar) en een wachtwoord. Door op ‘Generate Keys’ te klikken, worden de sleutels gegenereerd. Dit kan enkele ogenblikken duren. Zodra het proces is afgesloten, worden de publieke sleutel en je privésleutel in gelijknamige vensters weergegeven. Via de download-button download je de sleutels als .asc-bestand.
Deze stappen doorloop je allemaal via de browser, op de met TLS beveiligde website van de aanbieder. De tool gebruikt een TLS-certificaat dat door Amazon is geverifieerd. De beheerders van de webdienst slaan persoonlijke gegevens, e-mailadressen en gegenereerde sleutels niet op op hun eigen servers (Amazon S3 en CloudFront). Alleen Google Analytics bewaart gegevens voor webanalyse. Net zoals bij alle andere JavaScript-applicaties, kan het echter zijn dat criminelen beveiligingslekken vinden. Via deze lekken kunnen ze aanvallen op je systeem starten en toegang verkrijgen tot gegenereerde sleutels, wachtwoorden of andere vertrouwelijke gegevens.
De browserextensie Mailvelope is zeer geschikt wanneer je voornamelijk via webmaildiensten als Gmail, Yahoo of Outlook.com communiceert. De add-on is gebaseerd op OpenPGP.js, een JavaScript-implementatie van de OpenPGP-standaard, en is beschikbaar voor Google Chrome en Mozilla Firefox. De links voor het downloaden van de extensie zijn te vinden op de website van Mailvelope. Zodra je de extensie hebt geïnstalleerd, verschijnt in de symboollijst van je browser het icoontje van Mailvelope, waarmee je de gebruikersinterface kunt openen. Hier kun je je eigen sleutels genereren en kun je alle sleutels – ook de publieke sleutels van je contacten – importeren en beheren. Bovendien is het mogelijk om aangemaakte publieke sleutels op een publieke sleutelserver te uploaden.
Zodra je Mailvelope hebt geïnstalleerd en je postvak opent, zoekt de add-on in het postvak naar met PGP versleutelde berichten. Op deze manier kan de extensie specifieke elementen weergeven die versleuteld of ontsleuteld moeten worden, als er een PGP-mail is binnengekomen. Onder instellingen kun je de PGP-versleuteling voor Gmail, Outlook etc. activeren en deactiveren. Je klikt in de lijst met ondersteunde webmaildiensten gewoon de gewenste aanbieder aan en reguleert de status met behulp van de on/off-button. Mailvelope is standaard geactiveerd voor alle genoemde aanbieders.
Om PGP-versleuteling op Android-toestellen te kunnen gebruiken, heb je een e-mailclient die deze versleuteling ondersteunt en software voor sleutelbeheer nodig. Twee apps zijn hierbij erg nuttig: het gratis e-mailprogramma Squeaky Mail en de betaalde applicatie PGP KeyRing, die ook beschikbaar is als testversie (beperkt tot één privésleutel en twee publieke sleutels).
Eerst installeer je Squeaky Mail en richt je met behulp van de assistent een postvak met je e-mailadres in. Vervolgens kun je met PGP KeyRing je sleutelpaar importeren en de publieke sleutel met je contacten delen. Als zij jou nu een versleutelde e-mail sturen, vraagt Squeaky Mail naar je wachtwoord en wordt de inhoud van de e-mail pas weergegeven als je je wachtwoord juist hebt ingevuld. Om zelf ook door versleuteling een beveiligde e-mail te versturen, importeer je vervolgens de publieke sleutels van je contacten. Je kunt dan voordat je een e-mail verstuurt aangeven dat je deze wilt versleutelen, en de bijbehorende sleutel kiezen.
Veel gebruikers denken dat ze al met SSL- of TLS-certificaten versleutelde e-mails met hun contacten kunnen uitwisselen, maar dit klopt niet helemaal. Het inzetten van zo’n certificaat betekent alleen dat de overdrachtsroute die e-mails afleggen is gecodeerd. Het nadeel is dat de berichten tijdens het uploaden naar de server door derden kunnen worden onderschept en gelezen. Aan de andere kant is het met SSL/TLS mogelijk om onderdelen van een e-mail te versleutelen met SSL/TLS die PGP onversleuteld laat; bijvoorbeeld informatie over afzender, ontvanger en onderwerp. Een combinatie van PGP-versleuteling en SSL/TLS is in de praktijk dan ook de optimale oplossing voor het beveiligen van je e-mails.