2008-03-03, 10:25
  #1
Bannlyst
Hej!

Jag har en kort fråga, det är så att för närvarande använder jag för det mesta SHA-1 som kryptering av lösenord, givetvis har jag 2st långa salter till detta. Ena en statisk som anges direkt i PHP koden, den andra är en dynamisk som baseras på när användaren skapade sitt konto.

Nu undrar jag dock, blir det hela säkrare om man hashar lösenorden två gånger, på varandra?

Dvs, såhär (PHP):
Kod:
$password = "FlashBack";
$userReg = "DynamiskSaltIfrånMysql";
$statiskSalt = "HundratalsTeckenIradMed="!#)/=?";

$shaFirst = sha1($statiskSalt."!--!".$password."!--!".$userReg);
$shaSecond = sha1($statiskSalt."!--!".$shaFirst ."!--!".$userReg);

Om jag fattat detta rätt, borde inte det göra så att crackaren även måste bruteforca fram hashen, för att ens börja köra den riktiga hashen igenom div. rainbowtabels (Om han nu har lyckats få tag på båda salterna).

För, denna metod borde väl göra det rätt svårt att få tag på RIKTIGA lösenordet?
Finns det några för/nackdeler med detta? Förklara gärna varför, för jag vill verkligen veta.
Kommer det ha någon effekt alls?

Help me out!

// p0ng
Citera
2008-03-03, 11:04
  #2
Medlem
ancides avatar
Citat:
Ursprungligen postat av p0ng
För, denna metod borde väl göra det rätt svårt att få tag på RIKTIGA lösenordet?
Finns det några för/nackdeler med detta? Förklara gärna varför, för jag vill verkligen veta.
Kommer det ha någon effekt alls?

Help me out!

// p0ng


http://www.flashback.org/showthread.php?t=611316

Den traden handlar om md5, men den tar upp samma fragestallning.
Citera
2008-03-03, 11:11
  #3
Bannlyst
Tack för svaret!
Dock svarade det inte riktigt på min fråga.

Att endast använda md5 på md5 gör ju ingen skillnad.
Men att sedan salta, den färdiga SHA-1 strängen borde ju göra nåt?

Med tanke på att salten/färdiga strängen inte blir den samma, så sha1(sha1($password)) inte fungerar?

Hmm, klurigt det här.
Citera
2008-03-03, 11:26
  #4
Medlem
ancides avatar
Citat:
Ursprungligen postat av p0ng
Tack för svaret!
Dock svarade det inte riktigt på min fråga.

Att endast använda md5 på md5 gör ju ingen skillnad.
Men att sedan salta, den färdiga SHA-1 strängen borde ju göra nåt?

Med tanke på att salten/färdiga strängen inte blir den samma, så sha1(sha1($password)) inte fungerar?

Hmm, klurigt det här.

Okej, men jag tankte mer pa sjalva principen att hasha tva ganger. Vet angriparen inte om att du hashar tva ggr sa blir det svarare. Vet han om det staller han bara in brute forcen pa att hasha 2 ggr.

Salterna hjalper absolut valdigt mycket. Samma sak med hashning tva ggr.
Vet angriparen inte salterna eller att du hashar tva ggr sa kommer varken rainbowtables eller brute force hjalpa.

Men, du borde anvanda nagon annan hash algorithm. Helldre Sha2 an Sha1 eller Md5. Bada de tva har visat sig har en hel del brister.

http://en.wikipedia.org/wiki/MD5
http://en.wikipedia.org/wiki/SHA_hash_functions

edit: stavfel.
__________________
Senast redigerad av ancide 2008-03-03 kl. 11:31.
Citera
2008-03-04, 07:38
  #5
Bannlyst
Citat:
Ursprungligen postat av ancide
Okej, men jag tankte mer pa sjalva principen att hasha tva ganger. Vet angriparen inte om att du hashar tva ggr sa blir det svarare. Vet han om det staller han bara in brute forcen pa att hasha 2 ggr.

Salterna hjalper absolut valdigt mycket. Samma sak med hashning tva ggr.
Vet angriparen inte salterna eller att du hashar tva ggr sa kommer varken rainbowtables eller brute force hjalpa.

Men, du borde anvanda nagon annan hash algorithm. Helldre Sha2 an Sha1 eller Md5. Bada de tva har visat sig har en hel del brister.

http://en.wikipedia.org/wiki/MD5
http://en.wikipedia.org/wiki/SHA_hash_functions

edit: stavfel.

Givetvis påverkar inte hashningen i sig, och om angriparen redan har fått tag på salten, så har han troligtvis tillgång till källkoden, och därmed kan se hur saltningen sker.

Att byta hashalgoritm kan bli klurigt, möjligt att jag isåfall hashar två gånger isf, för hela användardatabasen är redan SHA1ade med lång statisk salt+dynamisk.
Citera
2008-03-05, 12:47
  #6
Medlem
Skyddet mot dictionary- och rainbowattacker heter salt.
Om man redan har tillräckligt långt salt så tillför detta inget mot dictionary eller rainbow.
Citera
2008-03-05, 16:24
  #7
Medlem
aleph0s avatar
Citat:
Finns det några för/nackdeler med detta? Förklara gärna varför, för jag vill verkligen veta.

Borde inte kollitionerna bli många fler?
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in