Portál AbcLinuxu, 29. července 2025 19:48
Rozšiřuji aplikaci, která by potřebovala přístup k uživatelským heslům. Ve stručnosti: pro cca několik desítek uživatelů provádí služba pravidelné připojování do nastavených systémů a něco nastavuje. Nyní se lidé musí přihlásit do webového rozhraní té aplikace a nastavování provádět "manuálně", protože v databázi ukládám jen hashe a jsem odpůrcem uklání hesel v db. V praxi to ale znamená množství problémů.
Proto potřebuji ukládat v databázi nějak bezpečně hesla. Napadlo mě alespoň zvýšit úroveň zabezpečení šifrováním hesel nějakým klíčem, který by nebyl uložený v databázi => pokud někdo jen ukradne data z databáze a nehackne příp. celý systém, pak nemá rovnou plaintexty.
Co si myslíte o tomto přístupu a obecně o ukládání hesel v databázi? Obecně mi to jde proti srsti, ale ta aplikace stejně potřebuje nějak komunikovat s těmi systémy, jen s těmi hashi v db by příp. útočním musel chvíli poslouchat a ne jen ukrást všechna data.
Jde o přístup do databází a ukládání či spíše hlavně čtení nějakých historií a statistik. K těm je potřeba právě to heslo. A ano, lze to zabezpečit tak, že případné hacknutí systému nedovolí zničit cílová data, ale jde hlavně o to, že lidé si prostě dávají stejné heslo všude - v práci i doma. Proto to heslo chci nějak šifrovat, ale bohužel ho skutečně potřebuji znát.
Ještě mě napadl jeden způsob šifrování. Mít program, kterému bych při spouštění zadal manuálně heslo a z mé aplikace bych mu jen posílal data k šifrování/dešifrování. Takže klíč k dešifrování dat by byl jen v RAM.
Nepouzivat pro prihlaseni k tem systemum heslo uzivatele, ale jen vygenerovany hashBezpečnost systému nezávisí na tom, kolikrát při jeho popisu použijete slovo "hash". Asi jste nemyslel hash, ale náhodně vygenerované heslo, ne?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.