Kan man ikke sette en grense for antall spørringer?
Det kan man selvfølgelig, og det er en god ide.
Nå er det jo slik at det er vanskelig å gjette seg til passord helt på måfå, de fleste bruker systemer til dette, men det er fortsatt nesten umulig å treffe, og det er sjeldent noen gidder å sitte og prøve passord i en evighet.
Det vanligste er nok ikke at noen sitter og gjetter noen millioner passord til de finner ett som virker, det vanligste er at noen får tilgang til databasen for eksempel.
Dersom man lagrer passordet direkte i databasen, så er løpet kjørt hvis noen klarer å finne en åpning, men dersom man lagrer kun hashen, så er det vanskelig å regne seg tilbake til det egentlige passordet, og det er jo det egentlige passordet som må skrives inn for å få tilgang til nettsiden, ikke hashen, den virker ikke i passordfeltet.
Derfor lagrer man kun hashen, og aldri passordet.
Så er det slik at selv gode algoritmer kan knekkes relativt raskt i dag, og knekker man et par av hashene så kan man regne seg frem til resten, og så har man alle passordene.
En unik salt gjør det uendelig mye vanskeligere å regne seg frem til passordene fra hashen, og ettersom hver hash har sitt eget salt så kan man heller ikke bruke resultatet fra et par hasher til å finne løsningen på resten, de er alle forskjellige, mens ting som SHA256 er kjente algoritmer som kan reverseres dersom man gidder.
Dette er den største sikkerhetsfordelen ved å salte hashen (høres fint ut, salte hasjen), og det gjør at regnbuetabeller og den slags plutselig ikke er særlig effektivt lengre. Samtidig så er en salt et ekstra lag med unik kompleksitet som man må gjennom, slik at det øker sikkerheten i nesten alle tilfeller svært mye.
En annen ting som er blitt mer vanlig er å bruke krypteringer som tar en angitt mengde tid.
Dagens datamaskiner er så raske at en vanlig PC relativt raskt kan teste en hash mot milliarder av muligheter, men algoritmer som tar en angitt mengde med tid vil gjøre det vanskelig.
Om det tar noen millisekunder å sjekke ett enkelt passord opp mot en hash og salt på en nettside, så spiller det ingen rolle, men noen millisekunder kan bety mye når noen prøver å sjekke milliarder av muligheter, og plutselig tar det måneder i stedet for timer å kjøre en slik test.
Mye greier ?