abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:33 | Nová verze

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Zajímavý projekt

    TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.

    Ladislav Hagara | Komentářů: 0
    včera 17:00 | Nová verze

    Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 1
    27.4. 21:33 | Nová verze Ladislav Hagara | Komentářů: 0
    26.4. 23:00 | Komunita

    V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.

    Ladislav Hagara | Komentářů: 0
    26.4. 20:22 | Zajímavý článek

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    26.4. 15:22 | Zajímavý projekt

    Berkeley Humanoid Lite (Onshape, GitHub) je open source humanoidní robot. V amerických cenách jej lze sestavit do 5000 dolarů.

    Ladislav Hagara | Komentářů: 13
    25.4. 18:44 | Nová verze

    Jakub Jelínek oznámil vydání verze 15.1 (15.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 15. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 3
    25.4. 03:55 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.

    Ladislav Hagara | Komentářů: 37
    24.4. 16:55 | IT novinky

    Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.

    Ladislav Hagara | Komentářů: 7
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 473 hlasů
     Komentářů: 18, poslední 17.4. 12:41
    Rozcestník

    Dotaz: Význam, použití, bezpečnost saltů u hashů

    8.8.2010 03:54 vasek
    Význam, použití, bezpečnost saltů u hashů
    Přečteno: 438×
    Tak jsem začal pročítat různá fóra a články a mám pocit že teď vím o solení hesel ještě míň než před tím. Někdo tvrdí, že se dá salt z hesla oddělit a pak je vlastně zbytečný, někde se píše že je to blbost, někde že musí být salt utajen, jinde že salt může být klidně veřejný ... Jak to tedy je? Prosím vysvětlete mi to od píky nebo mě odkažte na nějaký článek, ve kterém píšou pravdu :-). Je mi jasný, že si heslo mohu osolit "po svěm" tím, že za něj prostě připojím nějaký řetězec, který bude znát jen daná aplikace: heslo+retezec. Nerozumím ale moc principům těch funkcí, které solí hesla, co s tím vlastně udělají apod. Např. moc nechápu co přesně provede s heslem třeba funkce v PHPčku crypt('heslo', '$6$sul$'). Jasně, vytvoří to sha512 osolený druhým parametrem, ale co se rozumí tím solením - přidání řetězce na začátek hesla nebo zašifrování hesla tím saltem... ?

    Odpovědi

    8.8.2010 08:25 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    Výhoda solení je, pokud máte hesel víc. Stejná hesla pak díky soli mají různý hash, takže nemá význam třídit hashe a hádat podle četnosti které heslo asi je nbusr123.
    8.8.2010 09:36 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    To se má tak. Proč se hesla hashují? Aby z jejich uložené podoby (v souboru, v databázi, ...) nebylo to heslo hned zřejmé. Když někdo znásilní takovou databázi, aby neměl hned hesla všech uživatelů (které můžou používat i k jiným účelům).

    Jenže. Hashovací funkce je udělaná tak, aby na stejný vstup dávala stejný výstup (proto máme sha součty u stažených souborů atd.) Takže když někdo bude vědět že hashem hesla "franta" je hodnota 1234, tak mu stačí najít 1234 v databázi a bude vědět, že daný uživatel má heslo "franta". Tomuhle útoku kde máme předpočítanou tabulku hashů se říká rainbow tables attack.

    A tady do hry vstupuje ta sůl. To je prostě několik náhodně vygenerovaných znaků navíc - např. "asdf". Hashuje se pak řetězec který vznikne spojením hesla a soli, tedy "asdffrata". Dejme tomu, že ten hash je 4567. V databázi pak máme hash a sůl, tedy "asdf|4567". Znamená to "zeptej se uživatele na heslo a k tomu co ti řekl přilep asdf, zahashuj, a pokud ti vyjde 4567 tak je zadané heslo správné".

    S tímto přístupem už nelze mít předpočítanou tabulku hashů, protože sůl může být u každého hesla "franta" jiná a tudíž i hash bude jiný. Velikost soli se obvykle volí tak, aby nebylo praktické mít předpočítané všechny soli. Jedinou možností je teď útok hrubou silou, kde zkoušíme k soli z databáze přilepit různá hesla, hashujeme a díváme se, jestli nevyšel ten správný hash. To je ale výpočetně nesrovnatelně více náročné než ta rainbow tabulka.

    V tomto schematu není sůl o nic víc tajná než její náležící heslo-hash. Jinak určitě může existovat ještě 150 dalších krypto schemat, kde má sůl úplně jinou roli.
    In Ada the typical infinite loop would normally be terminated by detonation.
    8.8.2010 10:58 koso
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    Mozeme pouzit jednoduchy priklad:

    Predstavte si, ze ste utocnik a nejakym sposobom sa vam podarilo ziskat hash hesla konkretneho uzivatela z DB a nech je to hash1 = ab24a...............34cd.

    Kedze absolutna vacsina uzivatelov su laici a volia hesla tak aby si ich pamatali, a nie tak aby boli bezpecne -> skusite pri hladani hesla vyuzit slovnik, resp. databazu najpouzivanejsich hesiel. Ku kazdemu heslu zo zoznamu vypocitate hash (alebo najdeme uz predpocitane na internete), a porovnate ho s hash1. Pripadne mozete generovat vsetky hesla do urcitej dlzky pozostavajuce z pismen a cislic, ale to uz je komplikovanejsie. Ak mate dostatok stastia, tak hladane heslo bolo zmysluplne a bolo v slovniku = vyhrali ste.

    Teraz si ale predstavte, ze je pouzita sol. Ta svojim sposobom modifikuje zadane heslo pred vypoctom hashu. Zvolme sol tak, ze osolene heslo uz nebude pozostavat len z abecedy a cislic. Je silne nepravdepodobne, ze by takto modifikovane heslo bolo zmysluplne, alebo ze by sa nachadzalo v nejakom slovniku najpravdepodobnejsich hesiel, a tak sa utok vyrazne komplikuje. Ak by sme aj chceli generovat vsetky mozne hesla, mame 2 zasadne problemy ... nevieme dlzku (nestaci odpozorovat pocet stlacenych klaves) a kazdy bajt hesla moze mat 256 moznych hodnot .. co je vyrazne viac, ako keby heslo pozostavalo len z pismen a cislic. Ak je sol, resp. postup modifikacie hesla pred hashovanim, kvalitne navrhnuty, tak pri utoku sa stracaju vsetky vyhody predosleho pripadu a utok zacina byt ekvivalentny s hladanim "first preimage".
    8.8.2010 11:04 koso
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    Este dodatok k druhemu pripadu:

    Ak sa vam aj nejakou nahodou podari najst retazec, ktory dava hash1, ziskate tak len heslo PO osoleni. Za predpokladu, ze sol zostava utajena a nie je trivialna, by bolo viacmenej nerealne ziskat povodne heslo.
    8.8.2010 13:23 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    MD5 hash slova "secret" je "dd02c7c2232759874e1c205587017bed". Ak utocnik ziska md5 nesolene hashe tak staci polozit dotaz do googlu a hned vie ze heslo je "secret". Velke mnozstvo beznych vyrazov sa takto da cez google najst bez nutnosti pouzit brute force. Ak pouzijes salt tak aj ked sa utocnik dozvie ten salt tak cez google dane hashe nenajde lebo nikdo nebude davat na web md5 sucty osolene vsetkymi moznymi solami. Proste solenie mierne zvysuje bezpecnost.
    8.8.2010 16:18 vasek
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    Zde je příklad z php.net k fci crypt:
    crypt('rasmuslerdorf', '$1$rasmusle$') = $1$rasmusle$rISCgZzpwk3UhDidwXvin0
    
    Řetězec za "$1$rasmusle$" je zaheslované heslo s pomocí saltu. rasmusle je v hesle jako celý plaintext proč? Třeba u SHA-512 je tam jen kus toho plaintextu viz. http://php.net/manual/en/function.crypt.php.
    8.8.2010 16:59 fraxinus | skóre: 20 | blog: fraxinus
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    lebo crypt je blba funkcia. Ja solim takto:
      $password = 'secret';
      $salt = 'jablko';
      $s = sha1($password.$salt);   
      echo $s;                      // vypise 176b05b6e83a3669639eef184f33d651d48e3eb4
    
    9.8.2010 10:23 dzim
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    Cimz v podstate vytvarite novou (obskurovanou) hashovasci funkci na misto saltovani.
    8.8.2010 17:44 koso
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    U SHA-512 je to orezane, pretoze podla specifikacie funkcie crypt (ten isty link) je ako salt pozadovany vstup 16 znakov ... tie zvysne su pravpodobne ignorovane pri samotnom vypocte, ale to si mozete velmi jednoducho vyskusat.
    8.8.2010 19:03 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Význam, použití, bezpečnost saltů u hashů
    rasmusle je v hesle jako celý plaintext proč?

    Sůl musí být dodána plain jinak byste při kontrole hesla nevěděl co k heslu přidat.
    In Ada the typical infinite loop would normally be terminated by detonation.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.