Kom ihåg mig?

sha1+salt

 
Ämnesverktyg Visningsalternativ
Oläst 2008-03-12, 22:59 #1
wizzos avatar
wizzo wizzo är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2006
Inlägg: 424
wizzo wizzo är inte uppkopplad
Flitig postare
wizzos avatar
 
Reg.datum: Dec 2006
Inlägg: 424
Under dem veckor som gått så verkar det låta som att dem flesta i WN rekommenderar sha1+salt för inloggningssystem.
Vissa pratar om lite mer avancerade tillägg och kombinationer vilket jag inte greppar för att kunna bygga själv.
Det här är den nivå jag klarar av, räcker det eller är jag körd om jag använder den i mitt inloggningssystem?
http://www.phpit.net/article/handling-pass...rds-safely-php/

Jag pratade med folk utanför Sverige som inte verkar ha upplevt våra hackersstormar så dem tycker att md5 fortfarande är brukligt för inloggningar. Bland annat menade en snubbe att md5 är likvärdigt med sha1+salt ur ett visst perspektiv ja ni kan ju läsa själva hur han förklarade ni som kan kryptologi. Så åter till min huvudfråga räcker det med att jag implementerar sha1+salt?

Citat:

Before you go and blindly implement something because you read that you should, try and understand what you are doing. My disclaimer is that I am not a security professional, and there may be some factual errors below, but I believe all of the concepts to be correct.

Re: MD5 is weak. MD5 is a 1 way encryption algorithm. If you these two lines will always be returned the same way:
PHP Code:
Kod:
<?php
echo md5('password') . "\n";
echo md5('god') . "\n";
Citat:

The unfortunate thing about this, is that someone can use a rainbow table of known md5 hashes (one column is the plain text version, the other is the md5) to look up your passwords. My understanding is that MD5 hashes cannot be "cracked", only "guessed". This problem exists for ALL 1 way encryption methods.

Re: Salts. Are basically just strings that are appended to another to make it more secure when encrypting it. If you are going to use a salt, you MUST save it in a secure place. If a hacker finds your salt, the salt is 100% worthless. If you forget your salt, your hashes are 100% worthless. The same salt must be appended to every string (password) that you are going to encrypt, and when you are going to compare hashes together, you must, again, append the same salt to your string (password) or you will never be able to compare the hashes. The following lines of codes will always return the same way:
PHP Code:
Kod:
<?php
$secure_salt = 'ASFK234';
echo md5('password' . $secure_salt) . "\n";
echo md5('god' . $secure_salt) . "\n";
Citat:

Truthfully, all salts do is make dictionary attacks (and rainbow tables) useless because you add a level of randomization and hopefully make the password a non-word and unguessable. If your salt is compromised, all the hacker has to do is append the salt to the rainbow table and he/she is back in business.

Re: md5 vs. sha1. Sha1 is more secure (a better algorithm is used to generate the hash), but could suffer from the same vulnerabilities of md5. I don't believe that md5 is worthless, and I think that any vulnerabilities that it has, sha1 will have as well (if not now, eventually).
wizzo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:08 #2
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Verkar okej när det gäller hantering av lösenord...

Tänk på följande saker
Lagra inte salt och lösenord tillsammans
Sätt minimum-längd på lösenorden, samt en siffra och ett specialtecken
Vid databaskoppling ska du använda PDO med prepared statements.

Och sist men inte minst...om din databas blir hackad.... tänk på att detta endast köper dig tid till att byta ut alla lösen.
Kristoffer G är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:16 #3
wizzos avatar
wizzo wizzo är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2006
Inlägg: 424
wizzo wizzo är inte uppkopplad
Flitig postare
wizzos avatar
 
Reg.datum: Dec 2006
Inlägg: 424
Citat:
Lagra inte salt och lösenord tillsammans
Hur menar du då i den enkla guiden då sade dem att saltet kommer att sparas i databasen.
http://www.phpit.net/article/handling-pass...rds-safely-php/
Lösenorden måste ju sparas på samma databas så dem kommer ju att ligga på samma ställe. Vart sparar man annars saltet som ska implementeras på alla sha1 pölsade lösenord?
wizzo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:23 #4
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Många sparar det siom på bilden jag bifogat. Spara det absolut inte i samma table, och helst inte ens i samma databas.
Bifogade bilder
Filtyp: png post-4-1205356981.png (7.6 KB, 4 visningar)
Kristoffer G är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:30 #5
wizzos avatar
wizzo wizzo är inte uppkopplad
Flitig postare
 
Reg.datum: Dec 2006
Inlägg: 424
wizzo wizzo är inte uppkopplad
Flitig postare
wizzos avatar
 
Reg.datum: Dec 2006
Inlägg: 424
ic då får jag försöka att koppla ihop 2 databaser för mina class filer isåfall. Kommer ta ett tag innan jag lyckas med det OOP är forfarande som grötkod i mina ögon :blink: tar mig evigheter att förstå och kunna modifiera småsaker som skulle gått på sekunder i procedural programming.
wizzo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:33 #6
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Gör så... bara du på något sätt kan separera lösen och salt. Lyckas man dumpa din databas och får tag i hash+salt så spelar saltet inte någon roll längre och man är tillbaka där man började... ett hashat lösenord.

Man kan då helt enkelt köra hashet mot rainbow tables...
Kristoffer G är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-12, 23:38 #7
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Du kan även köra med multiple runs (tror det heter så)... det betyder att du loop-hashar ihop hash+salt, x antal gånger och sen sparar x precis som salt...separat.

Alltså... när ett lösenord ska sparas händer följande:

Du hashar lösenordet
Du skapar ett salt
Du slumpar fram ett tal
Du fogar ihop salt+hash till en hash om och om igen (så många gånger som talet du slumpade fram är)


EDIT*

På så sätt behöver en hackare lösenordet, saltet och x.
Kristoffer G är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-13, 00:07 #8
Kays avatar
Kay Kay är inte uppkopplad
Medlem
 
Reg.datum: May 2004
Inlägg: 292
Kay Kay är inte uppkopplad
Medlem
Kays avatar
 
Reg.datum: May 2004
Inlägg: 292
Liten sidofråga.

Jag har en tabell med MD5-hashade lösenord utan salt och vill lägga till salt till denna. Hur går man lämpligen tillväga? Ska man flagga upp det vid nästa användarinloggning, kolla att det är rätt lösenord och sedan lägga till salt och uppdatera hashen eller kan man göra det på annat vis?
Kay är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-13, 00:09 #9
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Saltet kan du med gott samvete spara i samma tabell då det inte är hemligt, använd dock ett dynamiskt så inte samma salt används.
Om Brazzan har bra förklaring varför du ska spara det på annat ställe är jag väldigt nyfiken på det svaret

SHA1(lösenordet+salt)
lösenordet bör vara krav på längd, tecken osv och saltet dynamiskt. Sen får man kämpa om du ska knäcka alla lösenord.
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-13, 00:30 #10
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Kristoffer G Kristoffer G är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2007
Inlägg: 1 014
Citat:
Originally posted by nosnaj@Mar 13 2008, 00:09
Saltet kan du med gott samvete spara i samma tabell då det inte är hemligt, använd dock ett dynamiskt så inte samma salt används.
Om Brazzan har bra förklaring varför du ska spara det på annat ställe är jag väldigt nyfiken på det svaret

SHA1(lösenordet+salt)
lösenordet bör vara krav på längd, tecken osv och saltet dynamiskt. Sen får man kämpa om du ska knäcka alla lösenord.
Får du tag i varje salt för varje lösenord så försvinner ju lite syftet med saltet... även om det är dynamiskt. Du har ju då en sträng som du vet används i sammanfogningen.

Dock vet jag inte hur pass enkelt eller svårt det är när man har saltet... men varför chansa? Tar inte många minuter att fixa en separat lösning.
Kristoffer G är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 16:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017