Avatar billede moocher Nybegynder
14. februar 2008 - 16:26 Der er 8 kommentarer og
1 løsning

Opbevaring af passwords

Hej

Jeg sidder og skal igang med et login framework til mine sider, og vil lige vende min opbevaring af passwords med jer, og om nogle har nogen input itl sikkerheden i det etc. Pt ser det sådan ud

Første gang (register)

pass = password
salt = random 6 ciffer
passcode = Sha1(salt + ciffer)
passcode = salt + passcode
Save passcode i db


Login

pass = password
salt = subst(passcode, 6)

if (passcode = Sha1(salt + pass)) {
  Login
}


Ser dette sikkert nok ud - selvom man får fat i al kildekoden og dben
Avatar billede arne_v Ekspert
14. februar 2008 - 18:57 #1
Det er ikke helt ved siden af.

* jeg ville gemme salt i et separat felt
* jeg ville overveje SHA-256 fremfor SHA-1
Avatar billede moocher Nybegynder
14. februar 2008 - 22:45 #2
Det havde jeg ikke lige tænkt over at bruge et felt mere til det :P Og jeg er ikke sikker på at serveren jeg har understøtter sha256, men det finder jeg lige ud af
Avatar billede moocher Nybegynder
14. februar 2008 - 23:30 #3
Hmmm MySql db understøtter det ikke men det kan jeg vist klare i php delen... Er salt størrelsen tilstrækkelig ??
Avatar billede arne_v Ekspert
14. februar 2008 - 23:42 #4
Den er stor nok til at der ikke er pregenererede tabeller.

Og skal crackere udregne den on the fly så er længden stort set ligegyldig.

På den anden side koster det vel ikke noget at gøre det til 6 random bytes med
256^6 muligheder fremfor 6 random digits med 10^6 muligheder.
Avatar billede arne_v Ekspert
14. februar 2008 - 23:49 #5
Jeg ved at nyere PHP understøtter SHA-256.
Avatar billede erikjacobsen Ekspert
14. februar 2008 - 23:53 #6
Jeg ville måske tilføje:

passcode = Sha1(salt + ciffer+"lang tilfældig tekst")

"lang tilfældig tekst" er selvfølgelig noget du finder på, og samme tekst skal du også bruge i forbindelse med kontrol af password.

Hvis man kun får fingre i din database, og ikke din kodes kildetekst, har man ingen chance for at gætte den tekst.
Avatar billede moocher Nybegynder
15. februar 2008 - 00:21 #7
Det var også 6 random bytes jeg mente :)

lyder som en god ide med den ekstra tekst (selvom jeg vil tro at min kildekode vil ryge før min db)
Avatar billede arne_v Ekspert
06. april 2008 - 06:13 #8
all set ?
Avatar billede moocher Nybegynder
06. april 2008 - 11:46 #9
Ja det kan man godt sige :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester