Prečo by webové stránky mali posypať soľ hashmi, aby chránili vaše heslá

Napriek svojim nedostatkom sú heslá stále de facto štandardom pre autentifikáciu na webe.

ExpressVPN už písal o výhodách vytvárania bezpečných hesiel pomocou Diceware, používania správcov hesiel a budovania ďalšej úrovne zabezpečenia okolo vašich účtov pomocou dvojfaktorovej autentifikácie..

Čo sa však deje v zákulisí? Aké opatrenia môžu a mali by prevádzkovatelia webových stránok vykonať, aby zabezpečili vaše heslá?

Zrod počítačového hackingu

Prvý počítačový systém, ktorý používal heslá, bol Kompatibilný systém zdieľania času v Massachusetts Institute of Technology, postavený v roku 1960. Zdieľanie času umožnilo počítaču rozdeliť ho a použiť ho ako niekoľko pracovných staníc..

Stále však bolo viac výskumných pracovníkov ako pracovných staníc a používateľom bolo v systéme pridelených obmedzené množstvo času (čo niektorí vyčerpali dosť rýchlo). Aby sa zabezpečilo, že vedci zostanú v rámci svojich limitov, každému z nich bolo pridelené jedinečné heslo, pomocou ktorého sa môžu prihlásiť.

Ale samozrejme, s prvým heslom prišiel prvý hacker. Jeden výskumný pracovník, Allan Scherr, využil systém, ktorý umožňoval používateľom tlačiť súbory pomocou dierovacích kariet (počítače nemali v 60. rokoch žiadne obrazovky). Scherr vyhľadal a vytlačil súbor, v ktorom sú uložené heslá, čo mu umožnilo prihlásiť sa ako ostatní používatelia a dlhšie používať počítač.

Dnes sa považuje za hrubú nedbanlivosť ukladať heslá v čistom texte v systéme, hoci hack z ruského webu sociálnych médií VK.com z roku 2016 ukazuje, že niektoré veľké weby stále existujú. Heslá VK.com od 100 miliónov používateľov boli ukradnuté a teraz sú na predaj.

Prečo hash funkcie sú jednosmerné ulice

Hašovacia funkcia je jednosmerné šifrovanie a správa sa podobne ako odtlačok prsta. Každý súbor, slovo alebo textový reťazec je označený hash „fingerprint“, ktorý jednoznačne identifikuje presný obsah pôvodného súboru.

Hashes možno použiť na určenie informácií, ale nie to, čo údaje predstavujú. Jeden jednoduchý spôsob, ako si predstaviť, ako hash funguje, je číselný súčet (súčet všetkých číslic čísla).

Číselný súčet 9807347 je 9 + 8 + 0 + 7 + 3 + 4 + 7 = 38

Aj keď je ľahko vidieť, že číselný súčet 987347 je 38, z čísla 38 nie je možné vypočítať 987347.

Zabezpečte heslá hashmiSHA-256 hash pre rôzne textové reťazce a obrazový súbor.

SHA-256 ponúka vesmír permutácií

Je neuveriteľné, že 256 bitov je dostatočne dlhý výstup na jednoznačnú identifikáciu každý atóm v pozorovateľnom vesmíre (2 ^ 256 = 1,157920892 × 10⁷⁷).

Teoreticky by však mohli existovať dve rôzne hodnoty, ktoré majú rovnaké hash SHA-256. Takáto udalosť sa nazýva hashová kolízia a bezpečnosť akejkoľvek hashovacej funkcie spočíva v tom, že sú nezistiteľné.

Je známe, že predchodca SHA-2 (ktorého SHA-256 je variantom) – kedysi populárny algoritmus SHA-1 – je zraniteľný voči kolíziám typu hash. Aj keď to stojí za zmienku, nikto nikdy nenašiel.

Ďalší raz populárny hash, MD5, mal toľko zraniteľností, že to nie je užitočná obrana proti škodlivému poškodeniu súborov..

Okrem šifrovania hesiel môžu byť hash funkcie užitočné aj na zabezpečenie toho, aby sa s súbormi nezachádzalo, podobne ako pri kryptografických podpisoch, pretože zmenený textový reťazec zmení hashovací kľúč.

Ukladanie hesiel ako hash namiesto čistého textu umožňuje skontrolovať, či je heslo správne, bez toho, aby heslo zostalo zraniteľné pre hackerov..

Soľ a hash chráni vaše heslá

Keby niekto dokázal hacknúť databázu, ktorá obsahovala iba heslá hash, teoreticky by nedostali žiadne užitočné informácie. V skutočnosti však ľudia opakovane používajú svoje heslá na mnohých weboch alebo na nich používajú bežné slová a hacker môže urobiť veľa pre to, aby rozbil hash.

Každý hash SHA-256 slova ExpressVPN je vždy rovnaký vo všetkých systémoch. Ak je vaše používateľské meno Lexie a používate heslo ExpressVPN ako heslo (nie), hacker by mohol vyhľadať heslo hash „c9f45… 3d185“ medzi heslami, aby zistil, že heslo spoločnosti Lexie je ExpressVPN..

Aj keď to neznie osobitne zvlášť, sú tu zoznamy niekoľkých najlepších tisícok najčastejšie používaných hesiel (ktoré poznáme z predchádzajúcich hackov)..

Pri použití tohto zoznamu by hacker mohol vyhľadať hashe bežných hesiel a priradiť ich k používateľským menám.

Tento typ útoku sa nazýva dúhová tabuľka alebo slovník. Vo vesmíre nie je dosť času na to, aby útočník vyskúšal každú možnú kombináciu hash / heslo pri útoku hrubou silou. Existuje však dostatok času na vyskúšanie najpoužívanejších hesiel, čo by pravdepodobne ohrozilo značnú časť databázy.

Salting chráni heslá tým, že im priradí jedinečné čísla

Na ochranu pred slovníkovými útokmi môže správca databázy použiť metódu zvanú „solenie“, pričom každému heslu je pridelené jedinečné náhodné číslo. Potom sa vypočíta, uloží a skontroluje hash SHA-256 kombinácie soli a hesla.

Alternatívne by sa heslo mohlo hashovať, kombinovať s číslom soli a výsledok sa opäť hashovať.

Soľné hashe pridávajú ďalšiu náklonnosťPríklady „solených“ hashov znovu hashujte.

Vďaka technike solenia už nie je vytváranie dúhového stola atraktívne. Náhodné čísla by urobili každé hash jedinečné, aj keď používateľ si nevybral jedinečné heslo.

Ak by hacker chcel zacieliť na používateľov pomocou hesla „Passw0rd!“, Číslo soli by udržalo databázu v bezpečí.

Budúcnosť systémov hesiel

Heslá zďaleka nie sú optimálne pre online autentifikáciu. Dobrého je ťažké si zapamätať, je ťažké ho odvolať a akonáhle unikne, môže to spôsobiť značné škody.

Správcovia hesiel môžu vylepšiť používateľské heslá a pomôžu vám vytvoriť jedinečné. Taktiež vás povzbudia, aby ste pravidelne menili svoje prihlasovacie údaje, čo je nevyhnutné pre dobrú online bezpečnosť.

Možno sa v budúcnosti presunieme k alternatívnym formám autentifikácie, ako sú páry verejných / súkromných kľúčov, prípadne kombinované s hardvérovými kľúčmi. V takomto modeli by ste pri registrácii museli verejný kľúč na server nahrať iba raz, potom už nikdy.

Aj keď to nemusí byť nevyhnutne bezpečnejšie ako správne implementované riešenie hesla, dvojice verejných / súkromných kľúčov sú menej pravdepodobné, že ich užívateľ aj služba nesprávne použijú..

Čo môžete urobiť pre zabezpečenie vašich hesiel

Uvedomte si, že mnohé zo služieb, ktoré dnes používate, už mohli stratiť kontrolu nad vašimi heslami. Možno o tom ešte nevedia, alebo to odmieta verejne uznať – chránia svoj imidž na úkor bezpečnosti svojich používateľov..

Použite generátor náhodných hesiel a zmeňte svoje heslá na dlhé náhodné reťazce písmen a znakov. Môžete tiež aktivovať dvojfaktorové overenie v niektorých službách a pridať ďalšiu úroveň zabezpečenia.

Je tiež vhodné odstrániť všetky účty, ktoré už nepoužívate, v nádeji, že služba spolu s nimi odstráni vaše používateľské údaje..