Adgangskoder, saltning og hvorfor "1234" er en dårlig idé
Al den kryptografi, vi har set på i denne pakke, kan ende med at være ligegyldig, hvis den sidste, mest menneskelige del af sikkerhedskæden svigter: adgangskoden. Kombinationer som "1234" eller "password" er stadig blandt de mest brugte adgangskoder i verden, og de kan gættes eller afprøves af en angriber på under et sekund.
Adgangskoder gemmes sjældent som klartekst
Som nævnt i artiklen om hashing bør en veldrevet tjeneste aldrig gemme din adgangskode i klar, læsbar form. I stedet gemmes en hash-værdi af adgangskoden. Når du logger ind, beregner tjenesten en ny hash af den adgangskode, du indtaster, og sammenligner den med den gemte — uden nogensinde at have brug for at kende eller gemme selve adgangskoden.
Rainbow-tables og hvorfor salt er nødvendigt
Problemet er, at hvis mange mennesker bruger samme simple adgangskode, vil den også give samme hash-værdi. En angriber, der får fat i en database med hash-værdier, kan derfor på forhånd have beregnet hash-værdierne for millioner af almindelige adgangskoder — samlet i såkaldte rainbow-tables — og hurtigt slå op, hvilke konti der bruger dem. Løsningen er saltning: inden adgangskoden hashes, tilføjes en tilfældig, unik tegnstreng, et "salt", for hver enkelt bruger. Det betyder, at selv to brugere med præcis samme adgangskode får to helt forskellige, gemte hash-værdier, og at en forberegnet rainbow-table bliver ubrugelig.
Din adgangskode er stadig det svageste led
Selv med perfekt saltning og hashing på tjenestens side kan en for kort eller for forudsigelig adgangskode stadig gættes eller afprøves systematisk. Det er derfor gængse råd fra sikkerhedsmyndigheder typisk lyder på at bruge lange, unikke adgangskoder for hver tjeneste, gerne genereret og husket af en adgangskodemanager, samt at slå topfaktorgodkendelse til, hvor det er muligt, så en stjålet adgangskode alene ikke er nok til at give adgang.
Den vigtigste pointe
Hashing og saltning er kryptografiens svar på, hvordan man opbevarer adgangskoder ansvarligt — men selv den bedste opbevaring kan ikke redde en adgangskode, der er for let at gætte i første omgang. Fra Cæsars simple bogstavforskydning til nutidens saltede hash-værdier har den røde tråd gennem hele denne pakke været den samme: kryptering handler om at gøre det, der skal være hemmeligt, praktisk umuligt for uvedkommende at regne sig frem til — uden at gøre det besværligt for dem, det er beregnet til.