Ensam om att kunna ditt lösenord?

För några veckor sedan så blommade det ånyo upp nyheter om att dina och mina, våra, konton är hackade och finns spridda på nätet. Man kanske har klarat sig hittills, men för de flesta av oss handlar det faktiskt inte om, utan när det annars kommer att ske att några av våra kontouppgifter får spridning.

SVT tog tillfället i akt att publicera ett verktyg för att gemene man skall kunna undersöka hur det ligger till med sitt eller sina egna konton. Ett register man kan söka i, helt enkelt.
I detta register finner jag mig själv med anledning av en tidigare läcka från linkedin.com. Detta tillsammans med 1 427 430 andra konton. Troligtvis är just denna läcka från så tidigt som 2012, och har alltså redan snurrat runt en längre tid på nätet.

Finner du också dig själv i registret?
Om ja, och om du ännu inte redan bytt lösenord så kan jag bara beklaga och hoppas att du klarat dig ifrån ovälkomna besökare.
Om nej så kan jag ändå inte gratulera. Att du inte finner dig själv i de hittills hackade och läckta listorna är iofs en ganska god sak, med det betyder dock tyvärr inte att man med säkerhet kan säga att dina kontouppgifter inte är ute på vift.

För min del så är lösenordet på mitt linkedin-konto bytt sedan länge, men dessa gamla uppgifter finns kvar. Jag har också ryggen fri då jag, som tur är, använde ett unikt lösenord när jag ursprungligen registrerade mig på linkedin. Men de flesta sitter inte i samma situation.

De uppgifter som finns läckta om oss, och våra konto, kommer att användas av flera hackare, scriptkiddies och andra nyfikna internetanvändare när de sedan försöker logga in på övriga webbplatsers konton. Och detta under lång tid framöver. Man, tillsammans med sin epostadress och lösenord sparas undan i databaser hos alla som vid något tillfälle kan tänka sig att nyttja dessa uppgifter.

Så, hur gör man då om man fått sina inloggningsuppgifter läcka på nätet?

Det första, viktigaste, är såklart att byta lösenordet på den sajten som blivit angripen. Om du sedan haft det dåliga omdömet att använda samma lösenord till din faktiska epostadress så är det även av största vikt att även byta detta. Byt det då till något unikt.
Därefter bör du byta lösenord på ALLA andra sajter där du använder samma lösenord och samma användarnamn.

Till din hjälp så skriver jag om hur du kan tänka kring bättre och unika lösenord i mitt föregående inlägg.

Lösenorder till din epostadress är ditt viktigaste lösenord.

Till din epostadress – varje epostdress – bör du ha ett unikt lösenord. Inte nog med att du inte vill att någon annan skall kunna läsa dina konversationer eller eventuella företagshemligheter. Men du vill kanske än mindre att någon skall komma åt dina ”återställ mitt lösenord”-länkar som skickas till din epostadress från alla andra sajter där du finns registrerad?

Så, hur funkar det med lösenord och databaser egentligen?

Jag som utvecklare skall inte kunna få reda på en användares lösenord, aldrig någonsin. Om webbplatsen där du är registrerad erbjuder att ”skicka ditt lösenord till dig” så är det en stor säkerhetsbrist och ett generalfel från utvecklaren. ”Generera ett nytt lösenord”, däremot, är en helt annan femma.

När du skapar ditt konto så sparas ditt lösenord i databasen i krypterad form. Ofta tillsammans med något som kallas för ”salt”. Tanken med en lösenordskryptering är att du inte skall kunna avkryptera den och på så vis aldrig kunna få reda på vilket lösenord som faktiskt är sparat. Och saltningen som då består av att du adderar ett slumpmässigt tillägg till lösenordet skall göra det än minste lätt att i slutändan få ut ditt faktiska lösenord.
Men hur, undrar du då, är det möjligt att då veta om användaren skriver in rätt lösenord eller inte?

Jo, det man gör är att man jämför den, efter inmatat lösenord, nykrypterade strängen med den som är sparad i databasen. Om dessa är likadana så vet man att användaren har skrivit in rätt lösenord.

Nedan förklarar jag lite snabbt hur det ofta går till, och jag använder här ”SHA-1” som kryptering/hash exempel:

Användaren skapar sitt konto med lösenord ”abc123”. Servern genererar då en kontrollsumma bestående av exempelvis ”1sd9fsabc123ml2323 som i sin tur krypteras.
Detta exempel skulle då skapa följande sträng: ”7a1dccbed99ddbd9d2e4d0b251daf2719abc2b95”.

Om användaren nu försöker logga in med lösenordet ”abc124” (”1sd9fsabc124ml2323”) så kommer istället följande sträng att skapas: ”27a218d5458ca1ef1fc768f8b757809b527d3709”.
Som du ser så är strängarna inte lika, och man behöver inte vara en dator för att räkna ut att lösenordet som matades in, inte var korrekt.

tl;dr

Som summering, om du nu orkat läsa ända hit, så är det enkelt att förstå att unika lösenord på varje sajt är det bästa. Om en sida attackeras och lösenorden läcks ut så funkar de inte på övriga sajter, och alltså är man trygg bortsett från den datan som finns under den sidan som blivit angripen.
Att i slutändan klara av att minnas alla dessa lösenord är dock – tyvärr – väldigt mycket svårare.

Läs också: Löjsen0wrdet och du!