Mailkryptering

Sec24 – Kryptering – Mailkryptering

Av: Oscar Andersson, Sec24, 2013-08-23

Det pratas ofta om hur viktigt det är att kryptera sin information och hur lätt det är att läsa ickekrypterad information. Att läsa hur lätt det är i teorin och att faktiskt uppleva det själv är två vitt skilda ting. Jag kommer därför visa hur lätt okrypterad text kan avläsas nedan och vad du kan göra för att skydda dig.

I nedanstående exempel kommer jag att skicka iväg ett okrypterat meddelande via mailklienterna Thunderbird och Outlook. Anslutning till servern sker utan SSL eller TLS.

SSL från Wikipedia: Secure Sockets Layer (SSL) är en säkerhetsmekanism som uppfanns till Netscape och används för att kryptera kommunikationen mellan två enheter. Ofta är ena sidan en webbserver (ex. onlinebutik) och den andra är en webbläsare (ex. Internet Explorer, Chrome eller Firefox). Tanken med att kryptera data som sänds till och från dessa två enheter är att ingen annan på nätverket (oftast internet) ska kunna avlyssna eller manipulera informationen. Handlar man på internet så faller det sig naturligt att man använder SSL för att kryptera ex. kreditkortsinformation. Även mindre “kritiska” data, ex. lösenord, bör krypteras men det är inte lika vanligt, då det belastar webbservern mer än om kryptering inte används. Högre belastning innebär större fördröjning och högre driftkostnader för webbservern och de kostnaderna har kanske högre prioritet än användarnas säkerhet.

SSL arbetar mellan Transportlagret och Applikationslagret i TCP-IP-modellen. Att SSL arbetar på en så hög nivå medför att utvecklarna måste implementera stöd för SSL i programvaran. Saknas stöd för SSL kan man använda sk. tunnlingsprogram för att kapsla in trafiken i SSL. Ett exempel på sådan mjukvara är Stunnel.

SSL kräver ett pålitligt transportprotokoll (ex. TCP).

SSL använder en kombination av kryptering med publika nycklar (PKI) och symmetriska nycklar. En SSL-session börjar alltid med en så kallad handskakning där klienten och servern bland annat ska komma överens om vilken kryptering som ska användas. När handskakningen är klar är anslutningen etablerad och data kan skickas. Informationen som skickas krypteras med de symmetriska nycklar som värdarna kommit överens om under handskakningen.

För att säkerställa identiteten på servern och ibland också klienten använder SSL certifikat. Certifikaten kan vara egentillverkade eller skapade av en Certificate authority (CA). Skapar man det själv kommer användaren att tillfrågas om den litar på certifikatet, något som man slipper om en CA har utfärdat certifikatet.

TLS från Wikipedia: Transport Layer Security (TLS), ’transportlagersäkerhet’, är ett kryptografiskt protokoll som är en öppen standard för säkert utbyte av krypterad information mellan datorsystem. TLS är en vidareutveckling av version 3 av SSL-protokollet, och står under IETF:s kontroll. TLS kan användas med flera olika protokoll, såsom HTTPSFTPSIMAPPOP3 och SMTP. En undersökning av de omkring 200 000 mest besökta webbsidorna som erbjuder anslutning via HTTPS visar att drygt 99 % stöder TLS 1.0, knappt 15 % stöder TLS 1.1 och 17 % stöder TLS 1.2 i augusti 2013.

Mailet som skickas iväg ser ut enligt följande:

Sec24 Sec 24 Mailkryptering kryptering PGP NSA FRA avlyssning thunderbird enigmail gnupg

Med hjälp av programmet Wireshark kan jag från en dator i samma nätverk snappa upp nätverkstrafiken som skickas. Det är bara att filtrera efter SMTP-protokollet och se vad som dyker upp.

(Simple Mail Transfer Protocol (SMTP) är det vanligaste kommunikationsprotokollet för att leverera elektronisk post. Den nuvarande specifikationen av protokollet skrevs av Jonathan B. Postel 1982, men protokollet har sedan dess fått utökningar som går utanpå den ursprungliga specifikationen.

Kommunikationen sker via TCP, normalt på port 25. På senare år har även port 587 börjat användas för att möjliggöra anpassningar för dagens verklighet där SMTP numera i stor utsträckning används av klientprogramvara som körs på en persondator. Under en period användes även port 465 för SMTPS, SMTP tunnlad genom SSL för att ge en krypterad förbindelse, men detta är förlegat och har ersatts av STARTTLS över valfri SMTP-förbindelse.

SMTP är ett enkelt protokoll och kan i ursprungsutförande bara överföra 7-bitars tecken. Det innebär att svenska tecken som å,ä och ö eller filer, så kallade bilagor, inte kan överföras utan vidare. Därför används olika typer av kodning, till exempelquoted printable för att göra om 8-bitars tecken till 7-bitars vid överföringen.

E-post som består av flera delar sätts ofta samman enligt MIME-standarden.)

Efter att ha skickat ett mail ser jag nedanstående trafik i nätverket. Auth plain innebär att autentiseringen sker i klartext, eller i vårt fall Base 64. Varför Base64 används i e-mail är framförallt för att kunna skicka bifogade filer genom ett protokoll som normalt enbart stödjer ASCII-tecken. Finns mer att läsa om det här.

Sec24 Sec 24 Mailkryptering kryptering PGP NSA FRA avlyssning thunderbird enigmail gnupg 3

Om vi högerklickar i Wireshark och väljer Follow TCP Stream får vi upp all information om mailet som finns tillgängligt.

(Transmission Control Protocol (TCP) är ett förbindelseorienterat dataöverföringsprotokoll som används för huvuddelen av all kommunikation över Internet. TCP tillhandahåller en relativt pålitlig dataström mellan två datorer och används för exempelvis HTTPFTP och e-post (SMTPIMAP och POP3). TCP är mindre lämpligt i situationer där dess felkorrigerande egenskaper kan orsaka oönskade fördröjningar, exempelvis i datorspel. Där används ofta istället transportprotokollet UDP.)

Vi kan bland annat se vilken server som mailet skickades genom, vem mailet är ifrån och till vem det skickas, användaruppgifter och lösenord “krypterat” med Base64 samt vad mailet innehöll. Wireshark kan inte tolka å,ä och ö men vad det står i mailet framgår ändå klart och tydligt. Nedan ser vi informationen samt det dekrypterade lösenordet med hjälp av kommandot echo “AHRlc3RAc2VjMjQuc2UAUGFzc3dvcmQx” | base64 -d

Sec24 Sec 24 Mailkryptering kryptering PGP NSA FRA avlyssning thunderbird enigmail gnupg 5

I Outlook ser det lite annorlunda ut men precis samma information går att få fram.

Sec24 Sec 24 Mailkryptering kryptering PGP NSA FRA avlyssning thunderbird enigmail gnupg 7

 

Sec24 Sec 24 Mailkryptering kryptering PGP NSA FRA avlyssning thunderbird enigmail gnupg 8