Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Nerozumím osoleným heslům s hashem

Vezmu to ze siroka:

Nejprve se uzivatel zaregistroval a jmeno a heslo se ulozilo v textove forme na strane serveru do databaze a pri prihlaseni se to proti sobe overilo. Jenze kdyz nekdo ukradl databazi, tak mel okamzite pristup ke vsem jmenum a heslum.
Tak se to zacalo delat tak, ze se pri registraci ulozilo do databaze v textove forme jen jmeno, ale heslo se projelo hashovacim retezcem a ulozil se jen hash, potom se pri pristupu sparovalo jmeno a heslo se projelo hashem a ty hashe se overily jestli jsou stejne. Tudiz pri ukradeni databaze mel zlodej jen jmena a hashe, ze kterych pokud byly dostatecne bezpecne, nedokazal dostat zpatky prihlasovaci hesla.

Ted se to dela tak, ze se pri registraci ulozi do databaze zase jmeno a heslo se "osoli" pres generator nahodnych znaku nejakymi znaky navic a potom se zahashuje jako minule a ulozi takto do databaze.

Nejsou mi jasne dve veci:

1. Kdyz se pak chce uzivatel prihlasit, jak se to dokaze overit, kdyz tam jsou nahodne znaky navic?

2. V cem je tenhle pristup bezpecnejsi nez to jenom hashovat?

(Videl jsem na youtube nejaky video, jenze nejsem v anglictine moc dobrej a nedokazal jsem to z toho pochopit. :-/)

Předmět Autor Datum
1) Ty znaky se taky uloží do databáze. 2) Existují rozsáhlé databáze hashů. Zvláště obvyklá hesla je…
Wikan 13.04.2017 18:07
Wikan
Tak 2 je jasna. 1. Takze dejme tomu zadam heslo Intel, generator nahodnych znaku udela In12te38l5 a…
RedMaX 13.04.2017 20:24
RedMaX
Nemá žádný zásadní smysl přidávat ty znaky takhle složitě. Úplně stačí je přidat např. na konec. Ale…
Wikan 13.04.2017 20:38
Wikan
jeste jednou dekuju poslední
RedMaX 13.04.2017 20:49
RedMaX

1) Ty znaky se taky uloží do databáze.
2) Existují rozsáhlé databáze hashů. Zvláště obvyklá hesla je tak velmi snadné "odhashovat". Přidáním náhodných znaků vznikne náhodnější řetězec, který v těch databázích pravděpodobně nebude.

Tak 2 je jasna.

1. Takze dejme tomu zadam heslo Intel, generator nahodnych znaku udela In12te38l5 a pak se to zahashuje do 87a6a9143e48d79bbc1310fd0eca97d156bc8da1, coz se ulozi do databaze. Takze do te databaze se krome toho ulozi i xx12xx38x5? Tim padem kdyz se chci prihlasit a zase zadam Intel, tak ty znaky postupne prida k tem zadanym nahodnym znakum co jsou v databazi a vygeneruje to hash, ktery to overi? Takze v podstate pokud sam pouzivam heslo In49t72e62l4567125efho45hgfd5ss44, tak bych v podstate tu sul nepotreboval a ta se tam dodava hlavne proto, ze lide zadavaji jednoducha hesla?

dekuju

Nemá žádný zásadní smysl přidávat ty znaky takhle složitě. Úplně stačí je přidat např. na konec. Ale jinak to chápeš v zásadně správně. Pokud by všichni měli složitá a unikátní hesla a pro každou službu používali jiné heslo, tak by sůl nebyla potřeba.

Zpět do poradny Odpovědět na původní otázku Nahoru