Diskuze: Ukládání hesel v SQL databázi
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
podle mě to je úplně jedno, hlavně že tam bude uložený hash a ne přímo heslo. Já používám název sloupce password (tak to má v sandboxu Nette)
Jo, jen mi jde o to, že jsem viděl příklady databází, kde byl sloupec se solí, což mi nepřijde úplně ok
No to mi přijde (nevím jestli to tak skutečně je) bezpečnější. Protože pro každého uživatele máš i unikátní sůl a případnému útočníkovi to stejně nepomůže když bude znát sůl, protože u každého bude jiná zatímco kdyby se nějakým způsobem dostal k jedné soli používanou pro všechny uživatele.
To dost záleží na prostředí. Třeba takové PHP produkuje řetězec, kde
je jak osolený hash, tak sůl. Ale jinde to tak být nemusí, potom bys musel
sůl samozřejmě uchovat v jiném sloupci.
A separátní sloupec je úplně ok, vždy musíš znát sůl, nejen hash.
Možná by sis měl přečíst něco o tom, proč se solí.
O kryptografii se zajímám, jen mám trochu problém s tím, jestli ten sloupec se solí nebude zranitelností v případě odcizení databáze.
Oprava: Nevšiml jsem si předposlední odpovědi.
Ne, nebude. Proto by sis měl něco přečíst o tom, jak to přesně
funguje.
Zkrátka jde o to, že potřebuješ mít pro každého uživatele jinou sůl. Je
zcela bezpečné uložit ji v plaintextu, vlastně je to nutnost, abys byl
schopen to heslo ověřit. Je jen otázka, jak to uděláš, některý přístup
spočívá v tom, že spojíš sůl a hash do jednoho stringu (a při ověření
rozdělíš), jindy ho uložíš do jiného sloupce, bezpečnost je úplně
stejná.
Každopádně bys měl mít pro každého uživatele náhodnou sůl (ne nutně
unikátní) a nepoužívat vždy tu samou, teoreticky je to lepší.
Můžeš si taky salt vygenerovat na zaklade nějakých vstupních informaci uživatele třeba cast jmena a cast příjmení a cast mailovky a mas pro každého uživatele unikátní salt Moznosti zalezi na zkušenostech v danem programovacím jazyku
Zobrazeno 8 zpráv z 8.