Autor | Zpráva | ||
---|---|---|---|
karbon Profil * |
#1 · Zasláno: 30. 6. 2006, 20:54:57
Tak mě nedávno napadlo: co tak heslo šifrovat postupně metodou crypt, pak md5 a nakonec sha1? Má to z hlediska bezpečnosti smysl?
P.S.: Možná je to totální blbost, ale jen tak mě to napadlo |
||
WanTo Profil |
#2 · Zasláno: 30. 6. 2006, 20:57:04
IMHO stačí jen md5(). A když to chceš mít ještě bezpečnější, tak dvojnásobná md5().
|
||
karbon Profil * |
#3 · Zasláno: 30. 6. 2006, 21:00:50
Ale md5 samotné už není moc bezpečné...
|
||
WanTo Profil |
#4 · Zasláno: 30. 6. 2006, 21:03:20
Proto říkám dvojnásobná md5().
|
||
Leo Profil |
#5 · Zasláno: 30. 6. 2006, 23:16:06
Ja bych to nedramatizoval, stejne si tam vetsina lidi jako heslo zada "heslo", md5 je jeste porad dostacujici, Leo
|
||
krteczek Profil |
#6 · Zasláno: 1. 7. 2006, 08:23:36
pokud máte ochranu proti brute útoku (tak dlouho se zkouší až projde), tak je to v podstatě jedno, pokud máte nastaveno že heslo i jméno musí mít minimálně 6 znaků a v kombinaci s čísly, myslím si že není třeba ani hashovat, Pokud se někdo dostane k databázi, tak v případě že si vytáhne hashe není problém přes porovnávací tabulky hesla v krátké době dohledat.
všichni honí bezpečnost, šifrují a já nevím co ještě a když se člověk koukne na zdrojáky tak všechny scripty co se vkládají mají nazev končící *.inc, neošetřené vstupy (na spoustě hostingů ještě dnes jsou povolené register_globals) řekněme, že z jiné stránky posíláme $_GET['c'] s hodnotou = 5 <? $a=$b+$_GET['c']; echo $a; ?> kolik bude výsledek? $a=5? tady někdo spoléhá na to že $b=0, ale já můžu do adresy napsat třeba index.php?b=1000, a hned jsme s hodnotou $a na 1005 (platí jen u zaplých register_globals!!) takže správněji by ten maličký kod měl bypadat asi takhle(potřebuji celé kladné číslo): <?php $b=0; if((!empty($_GET['c']))and((int)$_GET['c']>0)) { $c=(int)$_GET['c']; $a=$b+$c; echo $a; } else { echo 'proměnná $_GET['c'] není číslo nebo je menší než 1'; } ?> ale netvrdím že je to 100% správné řešení, nicméně je funkční a bezpečné. krteczek |
||
mig Profil * |
#7 · Zasláno: 1. 7. 2006, 09:58:28
Daleko více než prolomení md5 bych se obával nezabezpečené komunikace. Pro případného útočníka je nejsnažší heslo odchytit.... a v takovém případě nepomůže ani sha1.
Dvojnásobné hashování považuju za blbost. - dvojnásobným md5 vznikne hash stále stejné délky a tedy stejně (ne)bezpečný. - hashovat do md5 a následné sha1 je taky zbytečný a úplně stačí md5 (hash 32znaků) nebo sha1 (hash 40znaků). Útočník v obou případech hledá "heslo" nebo řetězec kolidující s heslem. Podobně jako Leo md5 považuju za bezpečné. Tedy (https nebo chalenge/response) + md5 je stále dobrá volba. Kdo rozjíždí nový projekt sáhne už od začátku po sha1. |
||
WanTo Profil |
#8 · Zasláno: 1. 7. 2006, 10:03:05 · Upravil/a: WanTo
Dvojnásobné hashování považuju za blbost.
- dvojnásobným md5 vznikne hash stále stejné délky a tedy stejně (ne)bezpečný. To není pravda. Představ si, že chceš použít brute útok na prolomení samotné md5. Hesla o délce 5 znaků jsou hotová do minuty. Ale když bude md5 dvojnásobná, budeš muset hledat nejdříve druhou md5, která je dlouhá 32 znaků. To je s brute útokem záležitost na několik milionů let. |
||
WanTo Profil |
#9 · Zasláno: 1. 7. 2006, 10:04:33
Teďka jsem se nad tím pořádně zamyslel. Ano, dvojnásobná md5 je blbost :-)
|
||
krteczek Profil |
#10 · Zasláno: 1. 7. 2006, 10:18:04
pokud můžu jet brute utok, jedu obyčejným slovníkovým utokem, žádné hashe nepotřebuji.
Kolik lidí reálně používá bezpečná hesla? Tipuji že tak maximálně 3 z 10 a to ještě dva jen proto, že je k tomu nutí aplikace (heslo je alespoň 8 znaků dlouhé a je to náhodný řetězec malých, velkých písmen a čísel, případně dalších znaků). Zbytek jako hesla používají řetězce do 6 znaků a snadno zapamatovatelné. kdo by se trápil s hashi? krteczek |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0