Automatisk English

Password tanker

Lange passwords er sikrere end korte, men bliver de for lange så skriver folk dem ned, så find en gylden middelvej.
Dårligt råd

Giv passwords så kort udløbstid som brugerne vil være med til. Jo oftere de skiftes jo bedre. Det er reelt det eneste forsvar der er mod password læk.
Dårligt råd

Hvis passwordet ikke indholder både store og små bogstaver, og specialtegn, så er det for nemt at gætte.
Dårligt råd

passwords er som underbukser

Jeg har set på password sikkerhed i mere end ti år, og jeg stirrede mig blind på den slags råd.

Hvor lange skal de være, de passwords? Kan vi basere tallet på undersøgelser istedet for at lægge os op ad hvad andre har valgt? Og så videre, og så videre.

Det er nemt at blive fanget af logikken omkring de råd. Det er ikke det at de er forkerte. For det er de egentlig ikke. Men deres relevans er bare rustet bort.

Her er problemet: Vi mennesker har en begrænset båndbredde når vi beviser vores identitet.

Da vi gerne vil have at vores authentikering er både hurtig og gentagelig, betyder det at det er begrænset hvor mange data vi kan generere. Det betyder at mængden af alle de mulige data er forholdsvis lille. Så lille at en computer ret nemt kan bryde et menneskeligt password ved hjælp af brute-force plus nogle optimeringer.

Når jeg skriver at bryde et password mener jeg at bryde dets kryptering eller hashing.

Man bør aldrig gemme et ukrypteret password, men istedet en hash af passwordet. Et password tjek klares så ved først at hashe det og så sammenligne det med dets gemte hash værdi. Denne slags hashing gøres med en kryptografisk stærk hash funktion. Det er bare et smart navn for en envejsfunktion.

Problemet er at det er muligt med den regnekraft, som er indenfor de flestes rækkevidde, at teste alle de mulige passwords, og på denne måde "invertere" envejsfunktionen.

Der er et fint trick til at undgå denne slags invertering. Brug en beregningsmæssigt tung hash funktion. En simpel hash funktion, som en moderne SHA, er lynhurtig at regne ud. Men hvis din hash funktion er denne SHA itereret 100.000 gange, så koster den noget mærkbar regnekraft, og den er svær at brute-force. Dette rammer lige så vel én selv, så man bruger kun dette trick i setups hvor det er brugerens egen enhed der udregner hashes. Så vidt jeg ved kun til password beskyttede dokumenter.

Der er andre tricks. De er mindre overbevisende. Du kan trække det ene sløje trick efter det andet op af hatten, men kampen er tabt på forhånd. Opgavens størrelse plus den tilgængelige regnekraft er lig med en defacto invers funktion for password hashes.

Det grundlæggende problem er den føromtalte lille mængde af data vi kan generere. Da jeg nåede til denne erkendelse, indså jeg hvad der burde have været indlysende hele tiden.

Passwords er shared secrets.

Den bedste sikkerhed fåes ved at dele dem med så få som muligt. Selvfølgelig, som alle ved, med så få personer som muligt. Men desuden, hvad især en sikkerheds arkitekt bør forstå, med så få maskiner som muligt.

password smerte diagram

Ideelt set skal den eneste maskine der ser dit password være den du indtaster det på.

Minimér password spredning.

Brug dette som rettesnor når du designer eller køber løsninger. Så undgår du en lang række angrebsvektorer.

Bemærk iøvrigt at løsninger designet på denne måde automatisk løser mange af de problemer som de klassiske password råd handler om. Hvis du alligevel sætter politikker ud fra de klassiske password råd, kan det faktisk være negativt for sikkerheden. Fordi du får ulemperne uden at få fordelene.

Relateret:
Black bokse til sikkerhed
Online password tester

Made by a human Licenser RSS feed