Computerbeveiliging - Hoe je bad guys buiten de deur houdt

E-mail certificaat

14-09-2015, 12:06 door Ken055, 4 reacties
Hallo allemaal!

Er is de laatste tijd zo veel te doen om het gebruik van SSL als het gaat om het bezoeken van websites. In de eerste plaats omdat het verkeer van versleuteld is maar, indien er gebruik wordt gemaakt van een uitgebreide validatie, ook of de website ook echt van het bedrijf is waar je denkt mee verbonden te zijn. Denk hierbij aan dat groene stukje in de URL balk waarin de bedrijfsnaam staat.

Mijn vraag is: Waarom gebeurt dit niet bij e-mail?

Bij e-mail is het net zo wenselijk om de gegevens te beveiligen en misschien nog wel meer om te weten of je email wel echt van de afzender komt waarvan deze zegt te komen.
Omdat je steeds meer hoort over phising-mails die zich voordoen als een bank, of iets dergelijks, lijkt het me erg handig te weten of de e-mail ook daadwerkelijk van de bank afkomstig is.

Technisch zou dit misschien met een soortgelijk systeem kunnen werken waar webbrowsers nu gebruik van maken. Een bedrijf zou zijn mails dan met zijn private key vesleutelen zodat deze met de public key kan worden gelezen door de e-mail client. Zo weet je zeker dat de e-mail van de bank afkomstig is, lijkt me.

Het kan zijn dat ik er naast zit en dat er een rede is waarom dit niet voor e-mail wordt toegepast. Maar als dat zo is ben ik erg benieuwd waarom.
Reacties (4)
14-09-2015, 12:20 door Briolet
Door Ken055:Een bedrijf zou zijn mails dan met zijn private key vesleutelen zodat deze met de public key kan worden gelezen door de e-mail client. Zo weet je zeker dat de e-mail van de bank afkomstig is, lijkt me..

En dat kan al heel lang met de meeste browsers. b.v. via s/mime. (Secure/Multipurpose Internet Mail Extensions).

Ik heb alleen ervaring met de Apple mail client, maar daar loopt alles volledig automatisch nadat je een eigen key geïnstalleerd hebt. En die key kun je kopen, gratis laten maken, of zelf even maken via het sleutelhanger programma. (of een paar OpenSSL commando's)

Het probleem voor veel gebruikers is echter dat je als gebruiker de private keys moet beheren. Bij een website is dat de website die de private key beheert en heb je er als gebruiker geen omkijken naar.
14-09-2015, 14:16 door Erik van Straten - Bijgewerkt: 14-09-2015, 14:34
14-09-2015, 12:06 door Ken055: Bij e-mail is het net zo wenselijk om de gegevens te beveiligen en misschien nog wel meer om te weten of je email wel echt van de afzender komt waarvan deze zegt te komen.
Omdat je steeds meer hoort over phising-mails die zich voordoen als een bank, of iets dergelijks, lijkt het me erg handig te weten of de e-mail ook daadwerkelijk van de bank afkomstig is.
Exact, veel mail is helemaal niet zo vertrouwelijk, maar omdat het doodsimpel is om een afzenderadres te vervalsen, is het m.i. in veel meer gevallen wenselijk dat je redelijk zeker weet wie de afzender is. Bovendien is versleutelen complexer (daarover straks meer) en last but not least kan iedereen digitaal ondertekende mails gewoon lezen (ook als de ontvanger geen moeite doet om de handtekening te controleren).

Technisch zou dit misschien met een soortgelijk systeem kunnen werken waar webbrowsers nu gebruik van maken. Een bedrijf zou zijn mails dan met zijn private key vesleutelen zodat deze met de public key kan worden gelezen door de e-mail client. Zo weet je zeker dat de e-mail van de bank afkomstig is, lijkt me.
Versleutelen doe je nooit met een private key. Immers, ontsleutelen moet dan met de public key. Aangezien die vrij verspreid wordt kan iedereen zo'n mail decrypten. Hoewel je dat wel zekerheid geeft over de afzender, wordt in de praktijk altijd versleuteld met de public key(s) van de ontvanger(s) zodat uitsluitend die ontvangers kunnen decrypten.

Maar daarmee weet een ontvanger weer niet zeker wie de afzender is!

Daarvoor dient een digitale handtekening. Die berekent de verzender (zijn e-mail programma) door een cryptografische hash over de inhoud van de mail (en bij voorkeur ook onderwerp, datum en tijd) te bepalen. Die hash versleutelt de verzender vervolgens met zijn private key. De mail zelf kan daarna, optioneel, ook versleuteld worden (gebruikmakend van public keys van ontvangers) waarna deze wordt verzonden.

Kortom, om te kunnen versleutelen moet je exact weten wie de ontvangers zijn en moet je over hun public keys beschikken (en je moet zeker weten dat die public keys daadwerkelijk van de bedoelde ontvangers zijn).

Om, als ontvanger, een digitale handtekening (en dus de authenticiteit van een mail, d.w.z. te weten wie de afzender is) te kunnen controleren, moet je:
1) over de public key van de verzender beschikken -en-
2) zeker weten dat die public key van die verzender is -en-
3) ervan opaan kunnen dat de verzender zorgvuldig met zijn private key omgaat en zijn PC niet is gehacked.

Er bestaan twee systemen om public keys te distribueren:
1) Losse public keys waarbij je zelf moet vaststellen of die key is van wie hij zegt dat hij is;
2) Public key certificaten waarbij een derde partij, meer of minder zorgvuldig, heeft vastgesteld dat een publuc key daadwerkelijk van de opgegeven persoon is. (Aanvulling 14:33: Handig is dat dit certificaat gewoon als bijlage van de e-mail kan worden verzonden).

Beide systemen werken onvoldoende goed om digitaal gesigneerde mail een succes te laten zijn, alle pogingen ten spijt. Probleem is ook dat veel mail programma's ofwel geen van beide methodes ondersteunen, of slechts 1 waardoor er geen standaard komt "bovendrijven".

Maar het zou zeker goed zijn als er een soort EV-certificaten zouden bestaan met garanties t.a.v de identiteit van de eigenaar van een public key.

Want, als je nu toegang hebt (legitiem of illegaal) tot een mailbox kun je gratis een certificaat voor een jaar krijgen, zonder daarbij op andere wijze te hoeven aantonen dat jij jij bent. Aangezien veel mailboxes met zwakke wachtwoorden worden beschermd en/of een kleine wijziging in de spelling slechts de suggestie biedt aan een specifiek persoon toe te behoren, zijn dit soort cettificaten een wassen neus en ondermijnen het hele systeem (net als "domain validated" certificaten voor servers).
14-09-2015, 15:00 door Briolet - Bijgewerkt: 14-09-2015, 15:04
Erik heeft hierboven al een uitgebreid antwoord gegeven.

Door Ken055: Omdat je steeds meer hoort over phising-mails die zich voordoen als een bank, of iets dergelijks, lijkt het me erg handig te weten of de e-mail ook daadwerkelijk van de bank afkomstig is.

Op deze vraag kan ik alleen toevoegen dat er nu al een gangbaar mechanisme is via DKIM dat waarschijnlijk alle banken al gebruiken. Wanneer een bank iets zonder Dkim-Signature verstuurd mag je ervan uitgaan dat het niet van de bank afkomstig is. Als je in je mail header kijkt, vind je iets in de trant van:

Dkim-Signature: v=1; s=2013.addcomm.campagne; d=nl.abnamro.com; b=aWhVl60jS8U/dBXaacgauDu0RtS49yzwDZ9Ca7iHnEy3zHlY1yOLPbM26JnjnIyQa+xaj9w8Lif7N99x0FzWb9o/oakt6JPU5l4HNfYG3WcdfEQTzkKedMELb30vsEfnUKr2tlQOLr1sCsf0NGIdz3JZt/rqWsO6pdlnheKaVv1WQV3CerJtVBvjZEdOBVLJ4QZlttAVaggOMB2Wt915x9AEk7bgjCmrlw+HiphF0ICMjZ7iJXYx7RrHxMQ3D8mlC+miKlcxwqvS1Jjg4PUX7wXE7LmcVCGBUmxuEyEjETtAfwSA/UVc8xv6wqD6BOxlnzQgIFKUF8VJFJO6PvsqCg==

Hierbij is er een checksum over de mail berekend door de eigenaar van het domein die onder 'd=' staat. De checksum is het lange stuk onder 'b='. De public key om de mail te controleren staat voor iedereen vindbaar in het domein van de verzender. Het stukje achter 's=' vertelt waar de public key in het domein staat.

In dit geval weet je dat 'nl.abnamro.com' de mail ondertekent heeft. En zolang geen vreemde iets in de domeinnaam van nl.abnamro.com kan veranderen, weet je ook zeker dat het werkelijk hun public key is waarmee de mail getest wordt.

Je moet alleen wel een mail provider hebben die deze DKIM info controleert.

Authentication-Results: mailprovider; dkim=pass (2048-bit key) header.d=nl.abnamro.com

Als je eigen mailprovider 'dkim=pass' aangeeft in de header, mag je ervan uit gaan dat deze mail authentiek is. (Heel wat veiliger dan de controle van spelfouten in de tekst te laten afhangen)

Een probleem van DKIM is wel dat je als gebruiker moet weten hoe dat alles in elkaar steekt om het goed te kunnen controleren. Alleen het 'pass' van je mail provider is niet genoeg, want je moet ook controleren dat hij het domein van de bank controleert en niet een domein wat de phissingsite aangemaakt heeft. Dus controleer ook het domein achter de "d=" in de DKIM signature.
Pas met DMARC gaat dit meer automatisch, maar dat is zo nieuw dat het nog niet breed toegepast wordt.
14-09-2015, 15:43 door Anoniem
Door Ken055: Hallo allemaal!

Er is de laatste tijd zo veel te doen om het gebruik van SSL als het gaat om het bezoeken van websites. In de eerste plaats omdat het verkeer van versleuteld is maar, indien er gebruik wordt gemaakt van een uitgebreide validatie, ook of de website ook echt van het bedrijf is waar je denkt mee verbonden te zijn. Denk hierbij aan dat groene stukje in de URL balk waarin de bedrijfsnaam staat.

Mijn vraag is: Waarom gebeurt dit niet bij e-mail?

Bij e-mail is het net zo wenselijk om de gegevens te beveiligen en misschien nog wel meer om te weten of je email wel echt van de afzender komt waarvan deze zegt te komen.
Omdat je steeds meer hoort over phising-mails die zich voordoen als een bank, of iets dergelijks, lijkt het me erg handig te weten of de e-mail ook daadwerkelijk van de bank afkomstig is.

Nou, SSL is zo lek als een zeef en dus totaal geen garantie dat het verkeer ervvan versleuteld is en dus ook niet of de website ook echt van het bedrijf is waar je denkt mee verbonden te zijn. Dat groene stukje in de URL balk waarin de bedrijfsnaam staat zegt dus helemaal niets meer... Thans, als via SSL. Het is dus niet langer Secured Socked Layer maar Sucking Socker Layer ;)

En wat betreft mail, tja, stoppen met pop3 en aan de imap als thuisgebruik is best handig.
Voor bedrijven, certificaat aan mail hangen... maar dan nog, ook certificaten worden (dagelijks) misbruikt dus geen garantie, wel net wat veiliger ;)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.