Lösenord

Från Wikipedia
Version från den 28 juni 2017 kl. 08.17 av InternetArchiveBot (Diskussion | Bidrag) (Räddar 0 källor och märker 1 som döda. #IABot (v1.4beta4))

Ett lösenord är ett eller flera ord eller en kombination tecken som är hemliga, för att möjliggöra autentisering. I datorsammanhang är det vanligt att lösenordet bildas av nonsensartade kombinationer av tecken. Lösenord som är avsedda att bestå endast av siffror kallas ofta PIN-kod (från engelska: "personal identification number"). Lösenord avsedda att hanteras automatiskt (i allmänhet bestående av mycket stora tal) kallas nycklar.

Den som känner till lösenordet kan använda det för att autentisera sig själv i något sammanhang, antingen för att visa att han eller hon tillhör en betrodd grupp eller för att bekräfta sin identitet, såsom för inloggningen till ett e-postkonto.

Självständiga lösenord och komplement

Lösenord kan förekomma för sig själva, som Ali Babas ”Sesam, öppna dig” eller en portkod. Vanligast är dock att lösenordet är ett komplement, som i fallet kod till bankomater, där både ett fysiskt kort och ett lösenord krävs för att ta ut pengar. I datorsammanhang är lösenordet ofta ackompanjerat av ett användarnamn, och båda måste då anges korrekt för att tillträde ska ges. Också om användarnamnet har annan användning fungerar det ofta också som en utökning av lösenordet.

Lösenord i datorsammanhang

Vid en direktsändning i TV under 1970-talet kunde en tittare se när programmets talare matade in lösenordet i datorn.[källa behövs] Efter detta skrivs lösenord aldrig ut i klartext utan endast symboltecken eller inga tecken alls visas för den som skriver in lösenordet.

Ju längre och mer avancerade lösenord man använder, desto svårare är det att knäcka dem. Samtidigt blir de svårare att minnas, varför krav på långa lösenord ofta leder till längre men enklare lösenord, lösenord som byts mer sällan och används i många olika system (varav en del kan vara opålitliga) eller lösenord som varieras på triviala sätt.

Lösenord i Unix

Lösenordens utveckling i Unix ger en bild av problematiken.

För att ett lösenord skall kunna kontrolleras måste det sparas på något sätt på det system som skall autentisera användaren. I operativsystemet Unix sparades lösenordet traditionellt i en fil som kunde läsas av alla användare, men i en form ur vilken lösenordet inte kan härledas: nollor och ett par angivna tecken (”salt”) krypterade med lösenordet. Krypteringsalgoritmen (DES) var modifierad på ett sätt som skulle göra krypteringen – och därmed masstest av lösenord – långsam också på specialkonstruerad maskinvara. En angripare som gissar lösenord måste testa lösenordet skilt för varje användare eller för varje salt.

Under 1990-talet började datorerna bli så kraftfulla att de traditionella Unix-lösenorden på högst 8 tecken ofta inte längre räckte, om angriparen fick testa lösenord på sin egen maskin. Ett välvalt lösenord på 6 tecken (26×6 ger drygt 68 miljarder möjligheter) räcker fortfarande långt, men typiska lösenord börjar vara möjliga att knäcka på en uppsättning hemdatorer. Då flyttades lösenorden över till en fil som endast kan läsas av administratören och vissa serverprogram. Därmed kan antalet gissningar per sekund begränsas, i den mån filen inte läcker ut. Parallellt med detta utvecklade man andra algoritmer, som framförallt gav möjlighet till längre lösenord, som inte är lika känsliga för hur de väljs.

Då man relaterar lösenordets längd till dess styrka gäller beräkningen i huvudsak lösenord som är att betrakta som en slumpmässig samling tecken. Man kan åstadkomma lösenord som kommer nära sådana till exempel genom att ta den andra bokstaven i varje ord i en ramsa, som inte är allmänt känd, och byta vissa bokstäver mot andra tecken: ”minns att gå till butiken varje dag!” kunde bli ”it8iuAd!” (åäö stöds inte). Beroende på språket man använder kan dock vissa tecken ha större sannolikhet än andra; lösenorden är alltid åtminstone något sämre än om tecknen valts helt slumpmässigt (om t.ex. ordens andra bokstav tenderar att vara en vokal lönar det sig att konstruera lösenordet på annat sätt).

Om lösenordet är ett riktigt ord, en kombination av ord, ett felvänt ord, ett namn, ett telefonnummer eller liknande kan det ofta gissas utan större ansträngning. Det finns datorprogram som givet en lista på lösenord i den form de sparats går igenom en uppsättning ordböcker, ord- och namnlistor och information som kan fås om användaren, modifierar dessa enligt givna mönster och testar alla kombinationer (ordboksattack). Med tillgång till lösenordsfilen kan miljoner möjligheter testas utan problem. Ett mindre antal triviala kombinationer kan testas utan tillgång till lösenordsfilen i den mån en dator tillåter inloggning över nätet.

Istället för lösenord kan man i en del system använda långa maskinellt genererade nycklar, möjligen i sin tur krypterade med hjälp av ett lösenord. Detta används till exempel av SSH, SSL och Kerberos. Nycklarna kan förvaras i en fil på den egna datorn eller en server, på en minnessticka eller på ett smartkort (vanligen specialkonstruerat för uppgiften).

Lösenordens styrka

Lösenord knäcks oftast genom Brute force- och ordboksattacker, men även "rainbow tables" kan användas för att knäcka dem. Oftast blir lösenord som krypteras till databaser och operativsystem krypterade i MD5 eller SHA-1.

Hur starkt ett lösenord är beror teoretiskt sett på dels hur många gissningar som i medeltal krävs innan man gissar rätt, dels hur lång tid en enskild gissning tar. Vanligen förvaras en "hash" av lösenordet på serverdatorn som kontrollerar lösenordet då man loggar in. Så länge hash-filen är skyddad kan man med serverprogramvaran begränsa antalet gissningar per tidsenhet, till exempel till tre försök på tre sekunder, det vill säga ungefär hundratusen gissningar per dygn. Om en angripare får tag på hash-filen kan han med en egen dator pröva hundratals miljoner gissningar per sekund, beroende på vilken hashfunktion som använts, angriparens datorresurser med mera. Ofta används så kallat salt för att tvinga angriparen att pröva lösenorden skilt för varje användare.

I praktiken har många av användarna i varje system svaga lösenord, som kan gissas med ordboksattacker.

För slumpmässiga automatiskt genererade lösenord fås styrkan genom denna formel. Om lösenordet ens till en del kan gissas ger tabellen ingen information om dess styrka.

b = "bas"
t = "antal tecken"
k = "kombinationer"

Baser Kombinationer
Bas Beskrivning 6 tecken 8 tecken 10 tecken
26 Endast små bokstäver. 0,3 mrd 21 mrd 141 167 mrd
52 Små och stora bokstäver. 20 mrd 53 459 mrd 14 455 510 mrd
62 Stora + små bokstäver och siffror. 57 mrd 218 340 mrd 839 299 365 mrd
83 Stora + små bokstäver, siffror och
specialtecken i ASCII.
327 mrd 2 252 292 mrd

Här räknas endast a–z som bokstäver. Andra bokstäver hanteras inte alltid ändamålsenligt av de berörda datorprogrammen, till exempel kan de bytas mot någon av de förstnämnda eller ignoreras då lösenordet prövas.

När man använder fraser som lösenord kan den som skall bryta lösenordet utnyttja att tecknen skall bilda ord, eller att vissa bokstavskombinationer är vanligare än andra. Om man antar att varje bokstav tillför två bitar information som inte kan härledas av omgivande bokstäver motsvarar en fras på femton tecken ett välvalt (d.v.s. lika svårgissat som ett slumpgenererat) lösenord med sex gemener (a–z) eller fem godtyckliga tecken. Ett sådant lösenord ger inte tillräckligt skydd om angriparen kan pröva lösenorden på en uppsättning egna maskiner.

Metoder för att komma runt säkerheten

Skyddet ett lösenord på datorn erbjuder behöver inte alltid vara säkert bara för att lösenordet är starkt, de kan ibland kringgås. Datormiljön erbjuder speciella utmaningar så som avlyssning av trafik, tangentloggning och även återställningfunktioner som ibland kan användas för att komma runt ett lösenord, även programsårbarheter kan användas för att komma runt lösenord.[1]

Metoder för att skapa starka lösenord

För att skapa starka lösenord kan man blanda versaler, gemener, siffror och specialtecken: använda många typers tecken. Man kan undvika kända ord och namn, eller ord och namn som någon utomstående kan koppla till lösenordets innehavare.[2][3]

Se även

Källor