Gå til innhold

Det beste passordet er en setning


Anbefalte innlegg

http://www.baekdal.com/tips/the-usability-of-passwords-faq

Morsomme spørsmål som kom etter artikkelen jeg linket til.

(Les svarene med Cave Johnsons stemme :p)

 

Hvordan den mener bruteforce tar kortere tid enn dictionary-attack er litt rart.

Det er rundt 500000 ord i den engelske ordboken. Har du tre ord blir det 500000 * 500000 * 500000 forsøk. Det er litt mye..

Gjorde en kjapp utregning. Med tre ord tar det omtrent like mange forsøk som en brute force forsøk på 16 bokstaver.

 

Uansett, passordet er teoretisk uknekkelig, og da er det bedre å ha et enkelt passord enn et sykt vanskelig.

Mye lettere å bytte passord også.

Lenke til kommentar
Videoannonse
Annonse

Hvordan den mener bruteforce tar kortere tid enn dictionary-attack er litt rart.

 

Det øker bl.a. antall tegn som må sjekkes.

Dog kan et langt passord skrevet med kun små bokstaver være sikrere enn et på 10-14 tegn som inneholder tegn fra hele ASCII tabellen, altså store og små bokstaver, tall og spesialtegn.

 

Spesialtegn gjør nødvendigvis heller ikke passordet sikrere. Det kommer an på hvor i passordet man bruker det.

Som påpekt: om du ikke vet om passordet inneholder spesialtegn eller ikke, sjekker du alle kombinasjoner uansett. Så passordet blir ikke automatisk sikrere av den grunn.

 

Hvordan spiller plasseringen i ordet noen rolle?

 

Å sjekke alle skrivbare tegn i ASCII tabellen tar utrolig lang tid :)

 

"Capitalizing a letter and adding a couple of numbers and a special character to a password will not achieve the same strength. If the numbers and special character are added in predictable ways, say at the beginning and end of the password,[7] they could even lower password strength compared to an all letter random password of the same length."

fra http://en.wikipedia.org/wiki/Password_strength

Lenke til kommentar

Hvordan den mener bruteforce tar kortere tid enn dictionary-attack er litt rart.

Det er rundt 500000 ord i den engelske ordboken. Har du tre ord blir det 500000 * 500000 * 500000 forsøk. Det er litt mye..

Gjorde en kjapp utregning. Med tre ord tar det omtrent like mange forsøk som en brute force forsøk på 16 bokstaver.

La oss si et passord kan bestå av a-z, A-Z, 1-9 og noen forskjellige spesialtegn. Da har man kanskje 70 forskjellige tegn å ta hensyn til.

Om vi VET passordet består av 3 ord, blir det 500 0003 muligheter med 500 000 ord. Men seriøst, 500 000 er lite reelt.

Om vi ellers VET passordet består av 10 tilfeldig tegn, blir det 70*70*70... = 7010

 

7010 / 500 0003 = 22.6 ganger flere kombinasjoner.

Lenke til kommentar

 

...snip

 

Skal slik sammenligning være korrekt må du sammenligne passord av samme lengde. F.eks vil et 11 tilfeldig tegn passord klart være mer sikkert en "this is fun" (som også er 11 tegn), pga at det første kun kan bruteforces og dictionary/common words kan ikke brukes.

 

Som jeg skriver har antall tegn stor betydning, men f.eks er et 6 tegns liten bokstav/tall passord sikrere enn et 2 ord passord av vanlige ord med 11 tegn (jf samme artikkel). I tillegg må man ta hensyn til at man ofte vil ha begrensinger på antall tegn i et passord. Særlig gjelder dette systemer som bruker salting og rsa_auth, fordi hashet blir så ekstremt langt.

 

Derfor er det langt bedre å lage et passord basert på en setning med 10 - 15 ord (noe man faktisk kan huske) enn en setning på samme lengde. Selv om begge faktisk er nesten uknekkbare. Dog stemmer ikke tidsangivelsene fra 2007 (som artikkelen er fra). Vi regner i dag at man fort har betydelig større maskinvareressurser og at det tar kortere tid.

 

Så derfor er det er sannhet med modifikasjoner at en setning er sikrere enn tilfeldige tegn, setningen må være et gitt antall tegn lengre før at den er sikrere. Men er valget mellom en setning på 15 - 20 tegn kontra et passord på 6 tegn, så er setningen uten tvil sikrere.

  • Liker 1
Lenke til kommentar

du kan alltids ha thisisfun + et random tegn, som mangedobler det igjen.

Det har jeg egentlig tatt høyde for. Og sitat:

 

Dictionary-based attacks have been known for years, so people try to find passwords that do not exist in a dictionary. They often pick a word and append a digit to it. Or they capitalize every second character. Or combine two (or more) words, with a character or a slash in between. The password is still based on words in a dictionary, and the cracker programs have kept up with these "improvements". Modern password crackers use dictionaries, and they use a large set of rules to decide how to manipulate the words.

 

(...)

The programs are even smart enough to include the user name, real name etc. (...)

 

Well known pogram of this kind include Alec Muffet's Crack (...), Solar Designer's John the Ripper and LC4.

Ca. skrevet rett av fra Innocent Code av Sverre H. Huseby.

 

Poenget: Crackerne er smartere enn deg. De har tatt hensyn til alt dette. Og selv om det øker mulighetene, har man fortsatt mye mer å gå på enn ren bruteforce.

Lenke til kommentar

 

...snip

 

Skal slik sammenligning være korrekt må du sammenligne passord av samme lengde. F.eks vil et 11 tilfeldig tegn passord klart være mer sikkert en "this is fun" (som også er 11 tegn), pga at det første kun kan bruteforces og dictionary/common words kan ikke brukes.

 

For det første, påstanden her var at "Ola og Kari har 3 voksne barn" var et sikrere passord enn "OoKh3vb".

Hvis man bruker a-zA-Z0-9 så er det 62 chars. For å sjekke alle alternativ på 7 chars er det 62^7.

 

Legg nå merke til at antall ord i setningen er like langt som antall chars i passordet, nemlig 7. For å kjøre en suksessfull dictionary bruteforce mot den setningen er det (antall ord i dictionary) ^ 7. Så, hvis dictionary er mindre enn 62 ord (og fremdeles klarer å treffe), så er det garantert mindre sikkert. I praksis er det noen ord som går oftere igjen, og noen ord er oftere brukt i forhold til hverandre, så det er ikke direkte clear cut. Men siden dictionaries vanligvis har tusenvis av ord... Så jah..

 

I tillegg må man ta hensyn til at man ofte vil ha begrensinger på antall tegn i et passord. Særlig gjelder dette systemer som bruker salting og rsa_auth, fordi hashet blir så ekstremt langt.

 

rsa auth.. ? rsa er ikke hashing.. Og input størrelse har absolutt ingenting å si for lengden på hash / salt.

 

En annen her i tråden spurte hvorfor spesialtegn gjør passord sikrere, og hvorfor plasseringen hadde betydning.

Det er i hovedsak fordi de aller fleste brute force crackerne optimiserer hvilken rekkefølge passord blir testet i, så man får mest sannsynlige kombinasjoner først.

 

F.eks, en rask test med John (passord cracker) hadde passord som

 

starless
starlest
starlers
starler1
starling
starline
starlier
starlies
starty12
[..]
badmel
badmed
badm32
badm30
badm31
badm37
badm3a
badm3r
badmda
badmdb
badmdc
badmdd
badmdi

 

ganske tidlig (top 1000 linjer), og begynte med kombinasjoner som

 

cg
e5
t5
2j
nm
rm

 

på rundt 90.000 linjers mark'en.

Endret av Terrasque
Lenke til kommentar

Anta alltid at hackerne kan få tak i en hash av passordet ditt og kan bruteforce det, og at de som lagrer passordet ditt er løker som ikke salter skikkelig. Da er et sju-åtte tegn med mixed a-z og sifre alt for veikt.

 

Med regnbuetabeller holder ikke regnestykket om at åtte tegn med a-z, sifre og simple spesialtegn skulle være så vanskelig - hvis det ikke er hashet skikkelig og de kan få fatt i hashen.

32 spesialtegn, mellomrom, a-z, A-Z og 0-9 blir 95 kombinasjoner. Man skulle kanskje tro at åtte tegn (95^8 = 6634204312890625 kombinasjoner - over seks billiarder) er så mye at det "ikke går an" - men her kan du laste ned en 380GB regnbuetabell og sette i gang - og knekke det på minutter.

 

 

Edit: Det beste*) passordet er "en setning med skrivefeil". En setning som beskrevet i artikkelen er heller å beskrive som "en huskeregel for et svakt passord".

 

 

*) Litt ut fra hva man velger som kriterier for "beste".

Endret av Trondster
Lenke til kommentar

En fin, rar måte å forklare at hele setninger er tryggere enn første bokstav fra hvert ord:

 

Anse hvert ord som et enkelt tegn fra et utvidet tegnsett.

Da vil forkortelsen som må bruteforce-knekkes være for eksempel åtte tegn fra et tegnsett på kanskje 255 mulige tegn.

Mens hele setninga som kan dictionary-knekkes være åtte "tegn" fra en ordbok på kanskje 500 000 mulige "tegn".

 

Altså har du et tegnsett som er betydelig større i forhold til ascii, og det blir betydelig mye tøffere å knekke.

 

Så, hvis du er ekstra tøff, tar du BÅDE forkortelsen av en setning, en hel annen setning, og et par spesialtegn slik at dictionary-angrep heller ikke er mulig. Bland inn noen skrivefeil og et ord fra samisk og et fra Wales, så får du en ganske sterk passfrase.

Endret av tommyb
Lenke til kommentar

Godt å få et passord som er vanskelig å knekke. Nå har jeg byttet ut alle passordene mine med det dere anbefaler her.

 

OoKh3vb

 

Litt vanskelig å huske, men når man tenker på Ola og Kari som har 3 voksne barn, så blir det straks mye lettere.

 

Flott og opplysende artikkel, også så lettlest i forhold til den langt fyldigere artikkelen/guiden dere hadde for 6-7 år siden. Godt jobbet!

 

http://www.hardware.no/artikler/god_passordpolitikk/8910/1

 

Passordet er bra men det beskytter deg ikke om du bruker det samme passordet overalt. Det er noen nettsider som følger dårlig praksis og lagrer passord som klartekst i databasen. Om vedkommende som eier siden roter bort en databasedump eller siden blir hacket er passordet ikke lengre sikkert. Om siden som er rammet har din epost og ett passord i klartekst er det første en hacker vil gjøre å se om passordet fungerer på din gmail, hotmail eller en annet eposttilbyder. Når hackeren har tilgang til epostkontoen kan du bare si hade til din Facebook osv., fordi du kan resette passordet ditt på de fleste steder som krever innlogging.

Lenke til kommentar

I jobbsammenheng kom eg en gang over en database til en website med flere hundre medlemmer med navn, adresse, primær e-postadresse, alternativ e-postadresse, passord, mobilnummer og fødselsnummer. Alt lagret i samme tabell uten noen forsøk på å kryptere, hashe eller i det hele tatt å skjule noe.

 

Det var da eg innså realiteten om utviklere. Moralen er, benytt vanskelige passord, ikke bruk samme passord på flere siter, ikke registrer deg ukritisk noen steder og bruk alternativ e-postadresse der hvor du kan. :)

Lenke til kommentar

I jobbsammenheng kom eg en gang over en database til en website med flere hundre medlemmer med navn, adresse, primær e-postadresse, alternativ e-postadresse, passord, mobilnummer og fødselsnummer. Alt lagret i samme tabell uten noen forsøk på å kryptere, hashe eller i det hele tatt å skjule noe.

 

Det var da eg innså realiteten om utviklere. Moralen er, benytt vanskelige passord, ikke bruk samme passord på flere siter, ikke registrer deg ukritisk noen steder og bruk alternativ e-postadresse der hvor du kan. :)

Det har jeg ikke opplevd heldigvis, men jeg har sett at nettsider har sendt meg det opprinnelige passordet i klartekst - noe som ikke er mulig med mindre de lagrer selve passordstrengen, eller bruker en reverserbar metode, istedenfor å bare lagre hash'en slik de skal. Det er skremmende å tenke på at enkelte utviklere er så slepphendte.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...