Beveiligde e-mail versturen via S/MIME

De afgelopen jaren is er veel nieuws geweest over privacy en versleuteling van de gegevens op internet. Maar weinig mensen weten echter hoe dit nou precies werkt, of maken er gebruik van. In de nieuwste versie van Zarafa is er functionaliteit bijgekomen voor het verzenden en ontvangen van beveiligde e-mail met behulp van 'S/MIME'. In deze blogpost gaan we daar op in.

Als je erover nadenkt om beveiligde e-mail te gaan gebruiken, lees dan vooral deze blogpost.

Wat is beveiligde e-mail?
Bij e-mail zijn er met s/mime twee manieren van beveiligen. De eerste is controleren dat een e-mail echt komt van de eigenaar van het e-mailadres dat als afzendadres in de e-mail staat. Dit kan als een e-mail door de eigenaar is 'ondertekend'. De tweede is het onleesbaar maken van de inhoud van een e-mail voor iedereen behalve de bedoelde ontvanger. Dit heet 'versleutelen'. 

Waarom is beveiliging wenselijk?
Beveiligen kan om meerdere redenen wenselijk zijn. Een reden die voor iedereen geldt, is dat een ondertekening vertrouwen kan toevoegen. Vergelijk het met een slotje in de adresbalk van je browser, als je op de website van je bank bent.En dan zijn er natuurlijk bedrijven die met gegevens werken die écht geheim moeten blijven, in alle gevallen en voor iedereen behalve de beoogde ontvanger(s). Voor hen is versleuteling een must.

Met name bij versleuteling geldt echter wel dat je ook de nadelen moet afwegen. Dit heeft met name te maken met wíe je gaat e-mailen. Bij versleuteling geldt dat de ontvanger van je e-mail de juist maatregelen moet nemen om versleutelde e-mail te kunnen lezen. Bij een publiek dat technisch onderlegd is, of dat zich bezighoudt met beveiliging en privacy, zal men wellicht enthousiast reageren. Misschien maken zij zelf al gebruik van S/MIME. Bij een consumentenpubliek (dat niet enthousiast is over techniek) is deze kans klein: zij kiezen eerder gemak boven veiligheid. Bij hen zou zelfs ondertekening al tot verwarring kunnen leiden.


Technische achtergrond

Certificaten
Ondertekenen en versleutelen kan je apart van elkaar gebruiken. Dezelfde techniek ligt er echter aan ten grondslag: certificaten. Een certificaat is een uniek stukje data dat uit twee delen bestaat: een privédeel dat je nooit deelt met anderen en een publiek deel. In dit certificaat staat wie de eigenaar ervan is. Het privégedeelte van een certificaat is beveiligd met een wachtwoord, zodat alleen de eigenaar het kan gebruiken. Het publieke deel is bedoeld voor de andere partij.

Je kunt een certificaat zelf maken, maar vaak worden certificaten afgenomen van een derde partij die door veel mensen wordt vertrouwd, vergelijkbaar met een notaris. Deze partij ondertekent het certificaat, wat extra 'vertrouwen' toevoegt aan het certificaat. Deze ondertekening is in veel gevallen een vereiste. In de praktijk zijn bij S/MIME beveiliging zelfgemaakte certificaten niet bruikbaar.

Hoe werkt ondertekenen?
Een e-mail onderteken je door certificaat te ontgrendelen met je wachtwoord. In een programma zoals Outlook of Apple Mail gebeurt dit automatisch zodra je op je Windows of Mac OS X gebruikersaccount inlogt. In de Zarafa WebApp wordt je gevraagd het wachtwoord in te voeren. Daarna kun je een stukje data aan de e-mail toevoegen dat alleen iemand met jouw privé-certificaat kan maken. De andere partij stuurt jou berichten die zijn ondertekend met zijn/haar privécertificaat. Bij het openen van de e-mail, controleert het e-mailprogramma van de ontvanger bij de uitgevende partij of het certificaat geldig is en of het behoort bij het opgegeven e-mailadres. Klopt alles, dan geeft die bijvoorbeeld vinkje weer naast jouw e-mailadres, waaruit blijkt dat het een ondertekend bericht is en dat het certificaat in orde is.

Hoe werkt versleutelen?
De achterliggende techniek van versleuteling is ingewikkelder. Simpele versleuteling (zonder certificaten) werkt als volgt: je kiest een wachtwoord, versleutelt je data daarmee, en alleen met dat wachtwoord kun je de data dan nog lezen. Dit is een prima oplossing voor jouzelf, maar wat als je aan iemand op afstand een bericht wil sturen? Dan heb je het probleem alleen maar verplaatst: want hoe krijg je nu het wachtwoord veilig naar die persoon?

Voor dit probleem is een oplossing uitgevonden die 'publiek-private versleuteling' heet. Je kunt dit vergelijken met een brievenbus op straat. Met de 'publieke' sleutel kun je er een brief in doen (e-mail versleutelen). Dat kan geen kwaad, en mag iedereen doen, en deze sleutel mag iedereen dus hebben. Met de 'private' sleutel kun je er brieven uithalen (e-mail weer leesbaar maken). Dat mag alleen jij, en deze sleutel is dus strikt persoonlijk.

Deze twee sleutels zijn inbegrepen in je certificaat. Elke keer als je iemand een ondertekende e-mail stuurt, wordt de publieke sleutel automatisch meegestuurd. Diegene kan jou daarna dus een versleutelde e-mail sturen. Als iemand dat doet, ontgrendel jij met je wachtwoord je private sleutel, en vervolgens kan jij (en alleen jij) die e-mail lezen. Om elkaar versleutelde mail te kunnen versturen, is het dus noodzakelijk om al eerder contact te hebben gehad, waarbij de publieke sleutels zijn uitgewisseld.

Wat zijn de nadelen?
Beveiligde e-mail is niet zonder nadelen en risico's. Het voornaamste nadeel van ondertekenen is dat sommige oudere e-mailprogramma's het niet ondersteunen en een ondertekening daardoor weergeven als een bijlage waar de gebruiker niets mee kan. Het aantal programma's waarvoor dit geldt neemt echter sterk af.

Een groter nadeel geldt alleen voor versleuteling. Versleuteling met S/MIME is 'echt': er zijn geen achterdeurtjes voor als je een fout maakt, ook niet voor beheerders. Wat dit onder andere betekent:

  • Een e-mail is alleen leesbaar met het bijbehorende certificaat. Als je dat certificaat kwijtraakt, is de e-mail die je daarmee hebt versleuteld of ontvangen dus definitief onleesbaar. Voor sommige mensen is dit juist wenselijk, maar de meeste bedrijven hebben bijvoorbeeld een bewaarplicht van overheidswege, of willen jaren later nog e-mail terug kunnen lezen.
  • E-mails die je versleuteld verzonden hebt zijn voor jou niet meer leesbaar. Jij hebt immers niet de benodigde private key. Ze staan dus versleuteld in de 'Zerzonden items'.
  • Certificaten hebben een beperkte geldigheidsduur van meestal één jaar, zodat eventueel misbruik niet eeuwig door kan gaan en beveiligingsstandaarden verhoogd kunnen worden. Om oude e-mails nog te kunnen lezen, moet je dus alle oude certificaten (én hun wachtwoord) bewaren.

Voordat je aan de slag gaat met versleuteling moet je dus overwegen of de voordelen groter zijn dan de nadelen en dien moet je bedenken hoe je je certificaten veilig gaat opslaan.

Wat zijn de alternatieven?
Alle internetversleuteling werkt grofweg zoals hierboven beschreven. Er zijn echter verschillende mogelijkheden. Voor e-mail zijn dat S/MIME en PGP. S/MIME wordt vooral zakelijk gebruikt en werkt met certificaten die je koopt bij een certificaatautoriteit. PGP wordt vooral privé gebruikt en door journalisten en activisten, en werkt met zelfgemaakte sleutels. De publieke sleutels van PGP sleutels zijn vaak in centrale opslagplaatsen te vinden, bij S/MIME moet je eerst een ondertekende e-mail van iemand ontvangen om de publieke sleutel te kennen.