Flera företag har nyligen erkänt att de har lagrat lösenord i klartextformat. Det är som att lagra ett lösenord i Anteckningar och spara det som en .txt-fil. Lösenord ska saltas och hasas av säkerhet, så varför händer det inte 2019?
Varför lösenord inte bör lagras i vanlig text
När ett företag lagrar lösenord i ren text kan vem som helst med lösenordsdatabasen - eller vilken annan fil som lösenorden lagras i - läsa dem. Om en hackare får tillgång till filen kan de se alla lösenord.
Att lagra lösenord i klartext är en hemsk metod. Företagen bör salta och haska lösenord, vilket är ett annat sätt att säga "lägga till extra data till lösenordet och sedan krypa på ett sätt som inte kan vändas." Vanligtvis betyder det att även om någon stjäl lösenorden ur en databas är de oanvändbara. När du loggar in kan företaget kontrollera att ditt lösenord matchar den lagrade krypterade versionen - men de kan inte "fungera bakåt" från databasen och bestämma ditt lösenord.
Så varför lagrar företag lösenord i klartext? Tyvärr tar företagen ibland inte säkerheten på allvar. Eller så väljer de att kompromissa med säkerheten i bekvämlighets namn. I andra fall gör företaget allt rätt när du lagrar ditt lösenord. Men de kan lägga till överdrivna loggningsfunktioner, som registrerar lösenord i vanlig text.
Flera företag har felaktigt lagrade lösenord
Du kan redan påverkas av dålig praxis på grund av Robin Hood , Google , Facebook , GitHub, Twitter och andra lagrade lösenord i ren text.
När det gäller Google så hashade och saltade företaget tillräckligt lösenord för de flesta användare. Men G Suite Enterprise-kontolösenord lagrades i klartext. Företaget sa att detta var övertag från när det gav domänadministratörer verktyg för att återställa lösenord. Om Google hade lagrat lösenorden ordentligt hade det inte varit möjligt. Endast en process för återställning av lösenord fungerar för återställning när lösenord lagras korrekt.
När Facebook också tillåtet att lagra lösenord i vanlig text gav den inte den exakta orsaken till problemet. Men du kan härleda problemet från en senare uppdatering:
... vi upptäckte ytterligare loggar över Instagram-lösenord som lagras i ett läsbart format.
Ibland gör ett företag allt rätt när du först lagrar ditt lösenord. Och lägg sedan till nya funktioner som orsakar problem. Förutom Facebook, Robin Hood , Github och Twitter av misstag loggade lösenord för vanlig text.
Loggning är användbart för att hitta problem i appar, hårdvara och till och med systemkod. Men om ett företag inte testar loggningsförmågan noggrant kan det orsaka fler problem än det löser.
När det gäller Facebook och Robinhood, när användare angav sitt användarnamn och lösenord för att logga in, kunde loggningsfunktionen se och registrera användarnamn och lösenord när de skrevs. Den lagrade sedan loggarna någon annanstans. Alla som hade tillgång till loggarna hade allt de behöver för att ta över ett konto.
Vid sällsynta tillfällen kan ett företag som T-Mobile Australia bortse från vikten av säkerhet, ibland för att göra det bekvämare. I en sedan borttaget Twitter-utbyte , förklarade en T-Mobile-representant för en användare att företaget lagrar lösenord i klartext. Genom att lagra lösenord så kunde kundtjänstrepresentanter se de fyra första bokstäverna i ett lösenord för bekräftelse. När andra Twitter-användare på lämpligt sätt påpekade hur illa det skulle vara om någon hackade företagets servrar, svarade rep:
Vad händer om detta inte händer eftersom vår säkerhet är otroligt bra?
Företaget tog bort dessa tweets och meddelade senare det alla lösenord skulle snart saltas och hashas . Men det var inte så länge innan företaget någon hade brutit mot sina system . T-Mobile sa att de stulna lösenorden var krypterade, men det är inte lika bra som hashing-lösenord.
Hur företag ska lagra lösenord
Företag bör aldrig lagra lösenord för ren text. Istället bör lösenord vara saltad och sedan hasad . Det är viktigt att veta vad saltning är och skillnaden mellan kryptering och hashing .
Saltning lägger till extra text till ditt lösenord
Saltning av lösenord är ett enkelt koncept. Processen lägger i huvudsak till extra text till lösenordet du angav.
Tänk på det som att lägga till siffror och bokstäver i slutet av ditt vanliga lösenord. Istället för att använda "Lösenord" för ditt lösenord kan du skriva "Password123" (använd aldrig något av dessa lösenord). Saltning är ett liknande koncept: innan systemet hasher ditt lösenord lägger det till extra text till det.
Så även om en hackare bryter sig in i en databas och stjäl användardata, blir det mycket svårare att fastställa vad det riktiga lösenordet är. Hackaren vet inte vilken del som är salt och vilken del som är lösenord.
Företag ska inte återanvända saltad data från lösenord till lösenord. Annars kan den stulas eller brytas och därmed gör den värdelös. Lämpligt varierande saltad data förhindrar också kollisioner (mer om det senare).
Kryptering är inte det lämpliga alternativet för lösenord
Nästa steg för att korrekt lagra ditt lösenord är att haska det. Hashing bör inte förväxlas med kryptering.
När du krypterar data transformerar du den något baserat på en nyckel. Om någon känner till nyckeln kan de ändra data tillbaka. Om du någonsin har spelat med en avkodningsring som säger "A = C" har du krypterat data. Att veta att "A = C" kan du sedan ta reda på att meddelandet bara var en Ovaltine-reklam.
Om en hackare bryter in i ett system med krypterad data och de lyckas stjäla krypteringsnyckeln, kan dina lösenord lika gärna vara ren text.
Hashing förvandlar ditt lösenord till Gibberish
Lösenordshashing förvandlar i grunden ditt lösenord till en rad oförklarlig text. Den som tittar på en hash skulle se gibberish. Om du använde "Password123" kan hashing ändra data till "873kldk # 49lkdfld # 1." Ett företag bör hash ditt lösenord innan det lagras någonstans, på det sättet har det aldrig register över ditt faktiska lösenord.
Den här typen av hashing gör det till en bättre metod för att lagra ditt lösenord än kryptering. Medan du kan dekryptera krypterad data, kan du inte "ta bort" data. Så om en hackare bryter sig in i en databas hittar de inte en nyckel för att låsa upp den hashade informationen.
Istället måste de göra vad ett företag gör när du skickar in ditt lösenord. Salta ett lösenord gissning (om hackaren vet vilket salt som ska användas), hash det och jämför det sedan med hash på filen för en matchning. När du skickar in ditt lösenord till Google eller din bank följer de samma steg. Vissa företag, som Facebook, kan till och med ta extra "gissningar" för att ta hänsyn till ett skrivfel .
Den huvudsakliga nackdelen med hashing är att om två personer har samma lösenord kommer de att hamna med hash. Det resultatet kallas en kollision. Det är en annan anledning att lägga till salt som ändras från lösenord till lösenord. Ett tillräckligt saltat och hashat lösenord har inga matchningar.
Hackare kan så småningom bryta sig igenom hashdata, men det är oftast ett spel att testa alla tänkbara lösenord och hoppas på en match. Processen tar fortfarande tid, vilket ger dig tid att skydda dig själv.
Vad du kan göra för att skydda dig mot dataintrång
Du kan inte hindra företag från att felaktigt hantera dina lösenord. Och tyvärr är det vanligare än det borde vara. Även när företag lagrar ditt lösenord ordentligt kan hackare bryta mot företagets system och stjäla hashdata.
Med tanke på den verkligheten bör du aldrig återanvända lösenord. Istället bör du tillhandahålla en olika komplicerade lösenord till varje tjänst du använder. På det sättet, även om en angripare hittar ditt lösenord på en webbplats, kan de inte använda det för att logga in på dina konton på andra webbplatser. Komplicerade lösenord är oerhört viktiga eftersom ju lättare ditt lösenord är att gissa desto snabbare kan en hackare bryta igenom hashingprocessen. Genom att göra lösenordet mer komplicerat köper du tid för att minimera skadan.
Att använda unika lösenord minimerar också den skadan. Högst kommer hackaren att få tillgång till ett konto, och du kan ändra ett enda lösenord lättare än dussintals. Komplicerade lösenord är svåra att komma ihåg, så vi rekommendera en lösenordshanterare . Lösenordshanterare genererar och kommer ihåg lösenord åt dig, och du kan justera dem så att de följer lösenordsreglerna på nästan vilken webbplats som helst.
Några gillar LastPass och 1Lösenord , även erbjuda tjänster som kontrollerar om dina nuvarande lösenord äventyras.
Ett annat bra alternativ är att aktivera tvåstegsautentisering . På det sättet, även om en hackare äventyrar ditt lösenord, kan du fortfarande förhindra obehörig åtkomst till dina konton.
Du kan inte hindra ett företag från att hantera dina lösenord men du kan minimera nedfallet genom att säkra dina lösenord och konton ordentligt.
RELATERAD: Varför ska du använda en lösenordshanterare och hur du kommer igång