Autor Zpráva
karbon
Profil *
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
IMHO stačí jen md5(). A když to chceš mít ještě bezpečnější, tak dvojnásobná md5().
karbon
Profil *
Ale md5 samotné už není moc bezpečné...
WanTo
Profil
Proto říkám dvojnásobná md5().
Leo
Profil
Ja bych to nedramatizoval, stejne si tam vetsina lidi jako heslo zada "heslo", md5 je jeste porad dostacujici, Leo
krteczek
Profil
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 *
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
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
Teďka jsem se nad tím pořádně zamyslel. Ano, dvojnásobná md5 je blbost :-)
krteczek
Profil
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
Toto téma je uzamčeno. Odpověď nelze zaslat.

0