Autor Zpráva
snake.aas
Profil
Jeden topic nedávno mě přivedl na myšlenku, a sice:

Jak moc se v aplikacích používá salt hesla? Případně jak to řeší které frameworky?

Vím že frameworky si můžu vygooglit, ale spíš mě to zajímalo z vašeho pohledu.
Jestli jsou různé techniky, nebo se to ustálilo na jedné, případně jestli se to někde vůbec nepoužívá, nebo si to musí hlídat programátor sám?

Osobně používám dynamický salt (většinou mail+pass, nebo login+pass), statiskému se snažím vyhýbat, právě kvůli možnému průlomu databáze (sdílené servery, atp.), kde není na první pohled patrné, že mají dva uživatelé stejné heslo, a bez zdrojových kódů aplikace se to přece jen hůř hledá (resp. musí se zkoušet).

Zajímaly by mě vaše názory a zkušenosti
Alphard
Profil
V sandboxu Nette (tam to není vývojová verze, ale základ pro aplikaci) je předpřipravená metoda, která k tomu uživatele vede, je ale jen statická.
public function calculateHash($password)
{
  return md5($password . str_repeat('*enter any random salt here*', 10));
}
Nella (jeden z projektů kolem Nette) generuje náhodné stringy, ale na první pohled mi není úplně jasné, jak s tím pak pracují https://github.com/nella/framework/blob/master/Nella/Security/CredentialsEntity.php#L124. Já to neznám, můžete to trochu prohrabat.

U toho vašeho pak ale nesmíte povolit změnu mailu nebo loginu (nebo chtít zároveň heslo), nebylo by lepší k tomu připojit třeba id záznamu v db? (A pak řešit problémy, že ho předem neznáte...)
srigi
Profil
snake.aas:
Pockaj, ak solis pomocou login+pass, znamena to, ze heslo si musis niekde odlozit v plaintexte?
jenikkozak
Profil
srigi:
Pockaj, ak solis pomocou login+pass, znamena to, ze heslo si musis niekde odlozit v plaintexte?
Když nepoužiješ salt a hashuješ pouze pass, znamená to, že heslo si musíš někde uložit v plaintextu?
snake.aas
Profil
Alphard:
to je fakt, že pak není změna mailu možná.
Login bych až tak neřešil, nenapadá mě rozumný důvod změny loginu...
A chtít při změně heslo... nezdá se mi to jako špatný nápad. Je to malé plus k bezpečnosti, ale zase velké mínus co se týče otravnosti...
Nox
Profil
snake.aas:
Ale je ... akorát se pak musí udělat nové heslo
snake.aas
Profil
Nox:
Ale je ... akorát se pak musí udělat nové heslo

Teď nechápu k čemu se to vztahuje... Můžeš(te) to rozvést?
Nox
Profil
snake.aas:
Podle mě se může použít mail/login jako salt... akorát se po změně jakéhokoli z údajů, který se tam použije, musí udělat nové heslo. Tím bude asi jasné, jak že používáš při vytváření hesla daný údaj, ale to asi nevadí .... zvlášť když to kombinuješ s nějakým statickým hashem (s různými spešl znaky třeba), pak by mu generování rainbow s mailem stejně nepasovalo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: