Uppdatering 2024-09-01: Äntligen har säkerhetsbranschen (NIST, MSB) insett att deras tidigare rekommendationer kunde vara besvärliga och kunna leda till kontraproduktivitet. Ett bra lösenord består av en fras av 3 ord och behöver inte bytas såtillvida inte lösenordsfrasen har läckt.
Multi-faktor autentisering (2FA)
Det finns idag även andra metoder för att logga in, t.ex. med hjälp av en mobiltelefon, kallas för ”2FA” (Two-Factor Authentication), som fungerar ungefär på samma sätt som med Mobilt BankID.
Om det är möjligt att använda ”2FA” så är denna metod det bästa alternativet då den bygger på:
- något som Du vet
- något som Du har
vilket gör det svårt, men inte helt omöjligt, för en angripare att stjäla inloggningsuppgifterna då det kräver att angriparen också har tillgång till mobiltelefonen.
Vad är faran med lösenord?
Den genomsnittlige användaren har 26 lösenordsskyddade konton, men bara fem olika lösenord över dessa konton enligt en studie av Deloitte.
Detta kan ha till konsekvens att om en angripare får tag på lösenordet till ett konto så kan han/hon även få tillgång till fem andra konton.
Vilka är de absolut värsta lösenorden du kan använda?
NordPass, som utvecklar applikationer för hantering av lösenord, publicerar årligen ”Topp-200 vanligaste lösenorden” vilka fortfarande bl.a. är:
- 123456
- password
- 12345678
- qwerty
- 12345
Vad är ett komplext lösenord?
Många tjänster kräver komplexa lösenord, t.ex. att det skall innehålla minimum 8 tecken, stora och små bokstäver, siffror och specialtecken. Dessa lösenord är betydligt säkrare än namn på medlemmar inom familjen och husdjur, viktiga årtal, födelsedatum etc – uppgifter som ofta är tillgängliga på sociala nätverk som Facebook.
Men, att komma ihåg komplexa lösenord är nästan helt omöjligt. Därför bör man skaffa sig en lösenordshanterare som lagrar kontouppgifter och lösenord krypterat på din dator. För att komma åt dessa uppgifter krävs ett enda lösenord. Exempel på bra lösenordshanterare är t.ex. ”1Password” och ”LastPass”.
Vad är en lösenordsfras?
Om tjänsten inte kräver ett komplext lösenord kan istället en lösenordsfras vara likvärdig, ja ibland t.o.m ännu bättre än komplexa lösenord.
Säkerhetsföretag och IT-tekniker berättar hela tiden att vi ska använda komplexa och svåra lösenord. Men, det finns säkerhetsforskare som anser att detta är ett dåligt råd eftersom du faktiskt kan använda användbara, lätta att komma ihåg och mycket säkra lösenord.
Så låt oss dyka in i lösenordsvärlden och titta på vad som gör ett lösenord säkert i praktiska termer.
Hur hackas ett lösenord?
Tillvägagångssätten för att hacka lösenord är väldigt enkla, vanligtvis används 5 olika sätt:
Fråga: Förvånansvärt nog är detta det vanligaste sättet att få tillgång till någons lösenord. Människor berättar ofta sina lösenord för kollegor, vänner och familj. Att ha ett komplext lösenord kommer inte att förhindra detta.
Gissa: Det här är den näst vanligaste metoden för att komma åt en persons konto. Det visar sig att de flesta väljer ett lösenord som är lätt att komma ihåg, och de enklaste är de som är relaterade till dig som person. Lösenord som: ditt efternamn, din fru namn, kattens namn, födelsedatum, din favoritblomma etc. är alla ganska vanliga. Det här problemet kan bara lösas genom att välja ett lösenord utan relation till dig som person.
Brute Force Attack: Mycket enkelt att göra. En hacker försöker helt enkelt att logga in med olika lösenord ett i taget. Om ditt lösenord är “sol” så försöker han logga in med “aaa, aab, aac, aad … sog, sol” (TRÄFF). Det enda som hindrar en brute force-attack är högre komplexitet och längre lösenord (vilket är anledningen till att IT-personer vill att du ska använda just det).
Vanliga ordattacker: En enkel form av brute force-attacker där hackaren försöker logga in med en lista med vanliga ord. I stället för att försöka hitta en annan kombination av bokstäver, försöker hackaren olika ord, t.ex. “samma, sommar, sump, sol” (TRÄFF).
Ordboksattacker: Samma begrepp som vanliga ordattacker – den enda skillnaden är att hackaren nu använder hela ordboken (det finns cirka 500 000 ord på engelska).
När är ett lösenord säkert?
En angripare använder sig idag utav automatiserade och datoriserade metoder för att knäcka ett lösenord. Det finns tiotusentals listor med läckta lösenord på Internet. Crackerprogram som kör mot ordlistor och namnlistor kan göra detta med ca. 10 000 olika ord per sekund. Med hjälp av ett s.k. ”botnet” (ett nätverk av andra infekterade datorer) som samtidigt testar olika kombinationer av lösenord så går det betydligt snabbare.
Måttstocken av säkerhet bör vara “hur många lösenordsförfrågningar kan det automatiska programmet göra per sekund”. Det faktiska numret varierar, men de flesta webbapplikationer skulle inte kunna hantera mer än 100 inloggningsförfrågningar per sekund.
Detta innebär att för att hacka ett enkelt lösenord såsom “sol” tar det:
Brute-force: 3 minuter
Vanlig ordattack: 3 minuter
Ordboksattack: 1 timme 20 minuter
Detta är förstås ett mycket osäkert lösenord, men hur mycket tid krävs det för att ett lösenord ska vara säkert?
- ett lösenord som kan hackas på 1 minut är alldeles för osäkert
- 10 minuter – fortfarande alltför riskabelt
- 1 timme – fortfarande inte tillräckligt bra
- 1 dag – nu börjar det hända något. Sannolikheten för att en angripare attackerar ditt konto under en hel dag är väldigt liten. Ändå är det troligt.
- 1 månad – det här är något som bara en dedikerad angripare skulle göra.
- 1 år – nu flyttar vi från praktisk risk för teoretisk risk. Om du arbetar på NASA eller CIA så är det oacceptabelt. För resten av oss så har vi inte den typen av fiender och våra företagsuppgifter är inte så intressanta.
- 10 år – Nu pratar vi rent teoretiskt.
- En livstid: 100 år – det här är verkligen gränsen för de flesta. Vem bryr sig om att deras lösenord hackas efter att de har dött? Ändå är det trevligt att veta att du använder ett lösenord som är “säkert för livet”.
“100 år – säkert för livet”. Det har en bra klang och låter säkert. Låt oss löpa linan ut – ett lösenord som tar 1000 år att knäcka – låt oss kalla detta “säkert för evighet”. Det borde vara bra nog, eller hur?
Användbara och säkra lösenord
Låt oss titta på några exempel.
Typ | Lösenord | Metod | Tid | Säkerhet |
---|---|---|---|---|
Vanligt ord, 6 tecken | orange | Vanlig ordattack | 3 minuter | oanvändbart |
Ovanligt ord, 6 tecken | woosaa | ordboksattack | 1 tim 22 min | oanvändbart |
6 slumpmässiga tecken | jskerv | brute force | 1 månad | osäkert |
6 slumpmässiga tecken + siffror | ergs43 | brute force | 8 månader | låg risk |
6 tecken, komplext | J4fS<2 | brute force | 219 år | säkert för livet |
I det här exemplet vinner det komplexa lösenordet klart. Ett lösenord med blandade bokstäver, siffror och symboler är mycket säkrare än någonting annat. Att använda ett enkelt ord som lösenord är tydligt helt meningslöst.
Betyder det att IT-avdelningarna och säkerhetsbolagen har rätt? Nja, problemet är att det är svårt att komma ihåg ett lösenord såsom ”J4fS<2” utan någon form av lösenordshanterare (och det är inte en post-it lapp!).
Men vad med ett lösenord som du kan komma ihåg, något enkelt och något du kan skriva snabbt?
Exempel:
Typ | Lösenord | Metod | Tid | Säkerhet |
---|---|---|---|---|
2 vanliga ord | alpine fun | vanlig ordattack | 2 månader | låg risk |
3 vanliga ord | this is fun | vanlig ordattack | 2.537 år | säkert för evighet |
Med mer än ett enkelt ord som lösenord ökar du säkerheten väsentligt (från 3 minuter till 2 månader). Men genom att använda 3 ord istället för två uppstod plötsligt ett extremt säkert lösenord.
Det tar nu:
1.163.859 år att knäcka med en brute-force-metod
2.537 år med en vanligt ordattack
39.637.240 år med hjälp av en ordboksattack
Det är alltså matematiskt sett 10 gånger säkrare att använda “this is fun” som ditt lösenord än “J4fS <2”.
Om du vill vara galet säker så väljer du helt enkelt ovanliga ord som ditt lösenord – såsom:
Typ | Lösenord | Metod | Tid | Säkerhet |
---|---|---|---|---|
3 ovanliga ord | fluffy is puffy | ordboksattack | 39.637.200 år | säkert för evighet |
5 ovanliga ord | du-bi-du-bi-dub | brute force | 531.855.448.467 år | säkert för evighet |
Ett användbart och säkert lösenord är alltså ett som du kan komma ihåg – ett enkelt lösenord med 3 eller flera ord.
Det handlar inte bara om lösenord.
En sak är att välja ett säkert och användbart lösenord. En annan sak är att hindra en angripare från att hacka lösenord på servern i första hand:
Lägg till en tidsfördröjning mellan inloggningsförsöken. I stället för att låta folk logga in igen och igen och igen så lägg till en 5 sekunders fördröjning mellan varje försök.
Det är tillräckligt kort för att inte vara märkbart (det tar längre tid än 5 sekunder att inse att du har skrivit ett felaktigt lösenord och att skriva in ett nytt). Och det tvingar hackaren att bara kunna göra inloggningsförfrågningar en gång var 5: e sekund (i stället för 100 gånger per sekund).
Lägg till en straffperiod om en person har skrivit ett felaktigt lösenord mer än t.ex. 10 gånger under 5 minuter. En straffperiod på 1 timme stör allvarligt hackingskriptet från att fungera effektivt.
En hackare kan hacka lösenordet “alpine fun” på bara 2 månader om han kan attackera servern 100 gånger per sekund. Men med straffperioden och 5 sekunders fördröjning kan samma lösenord plötsligt stå emot en attack i 1.889 år.
Frekvens | Lösenord | Tid | Säkerhet |
---|---|---|---|
100 försök/sek | alpine fun | 2 månader | låg risk |
1 försök var 5:e sek | alpine fun | 63 år | säkert |
1 försök var 5:e sek+tidsfördröjning+straffperiod | alpine fun | 1.889 år | säkert för evighet |
Det hela är en avvägning mellan säkerhet och användbarhet.
Många webtjänster kräver ett komplext lösenord och detta inträffar pga att tjänsten mäter komplexiteten på lösenordet och inte säkerheten. Den söker efter närvaro av stora och små bokstäver, siffror och specialtecken.
Men rent matematiskt är ”this is fun” 10 gånger säkrare än ”J4fS <2”.
Om tjänsten inte tillåter mellanslag så är ”this-is-fun” fortfarande matematiskt säkrare än det komplexa lösenordet.
Och, istället för att använda ”this is fun” så är det bättre att använda ett 3+ ords lösenord som inte är direkt kopplat till dig eller dina närmaste intressen. Så välj inte dina tre barns namn.
Använd istället ett lösenord såsom ”flipperty flopperty flop”, ”hokus pokus filiokus” eller ”fluffy is puffy” (detta skulle ta 39.637.200 år att hacka).
Vid vissa situationer spelar komplexitet och säkerhet ingen roll. Om webtjänsten blir hackad och hackern laddar ner databasen med ditt användarnamn och lösenord från webbservern så förändrar komplexiteten inte någonting. Hackern hackade inte ditt lösenord. Han hackade servern och fick lösenordet direkt från databasen.
Du har ingen kontroll över hur en server lagrar ditt lösenord. Som användare måste du acceptera risken att servern kan hackas.
Sammanfattning
- Använd inte samma lösenord på flera tjänster.
- Om det är möjligt så använd ”2FA”, dvs en ”2-vägs autentisering” med hjälp av t.ex. mobiltelefon.
- Om du använder komplexa lösenord så införskaffa en lösenordshanterare.
- Om det är möjligt så kan du matematiskt sett använda en säker lösenordsfras, typ ”fluffy is puffy”.
Källa:
Baekdal’s artikel om skapandet av bra lösenord
Glöm lösenord du sällan använder