Správa hesiel - Programy pre bežného smrteľníka II

Heslá. Vy ich poznáte, ja ich poznám, všetci sme ich viackrát pozabúdali a potom nadávali.[1] Čo s nimi? Naozaj nie je nič, čo by ich nahradilo, alebo aspoň zmiernilo utrpenie z ich používania?

Odpoveď je v oboch prípadoch “áno, ale”. Alternatívne systémy už existujú, ale nimi sa teraz zaoberať nebudeme. Sústredíme sa na to, ako zefektívniť a zabezpečiť prácu s tými heslami, ktorým sa nevyhneme.

Po prečítaní článku by ste mali mať predstavu prečo vyberáme heslá tak, ako ich vyberáme a ako si vďaka pár minútam práce môžeme ušetriť veľa námahy pri ich pamätaní a zadávaní, a zároveň zvýšiť svoju bezpečnosť.

O heslách všeobecne

Na úvod pár základných tipov.

  • Nepoužívajte krátke heslá. (Moderné počítače ich dokážu uhádnuť v rádoch sekúnd.)
  • Nepoužívajte to isté heslo na viacerých systémoch. (Ak niekto zistí vaše meno heslo na jednej web stránke, bude sa skúšať s tými istými údajmi prihlásiť aj na iné weby.) Ak používate to isté meno a heslo všade, dostane sa všade.[2]
  • Hackeri nemôžu ukradnúť čo neexistuje: ak použijete možnosť prihlásiť sa do nejakého webu cez Google alebo Facebook, web do ktorého sa prihlasujete žiadne heslo nikdy neskladuje a vy si ho nemusíte pamätať.

Isto ste narazili na heslá s rôznymi požiadavkami – aspoň 8 znakov, z toho jedno veľké, jedno malé, obrázok jednorožca a lístok čakanky… Ale prečo?!

Múdro povedané to má dočinenia s veľkosťou stavového priestoru, ktorý musí útočník prehľadať – možných kombinácií, ktoré musí skúsiť. Predstavme si ako príklad heslo dĺžky 8, ale s použitím:

Použité znaky počet možností teda približne
Iba malé písmená (ktorých je 26) 26^8^ = 208 827 064 576 209 miliárd
Malých a veľké (26 + 26)^8^ = 53 459 728 531 456 53 biliónov
Malé, veľké a číslice (26 + 26 + 10)^8^ = 218 340 105 584 896 218 biliárd
Malé, veľké, číslice a špeciálne znaky (ako %&^) (26 + 26 + 10 + 19)^8^ = 1 853 020 188 851 841 1,8 triliónov

Teda pri hesle z 8 znakov je uhádnuť to, ktoré obsahuje všetky druhy znakov 8 800-krát ťažšie než heslo iba z písmen. A nárast je exponenciálne rýchly – pri 10-znakovom hesle už je možností 12 triliárd, 86 000-krát viac než pri rovnako dlhom hesle iba z písmen. No hlavne nezabudnite – ak používate “Heslo123”, je úplne jedno, že je 218 biliárd možností. Každý hacker najprv skúša heslá zo zoznamu najčastejšie používaných.[3] Takéto tam zaručene bude a preto bude prelomené za sekundu.

To všetko je síce pekné, ale stále to nemení nič na tom, že podobné heslá sú takmer nezapamätateľné, obzvlášť ak nechcete žiadne použiť viackrát. Existujú aj alternatívne prístupy, ktoré majú za cieľ generovať ešte dlhšie, ale ľahko zapamätateľné heslá.

Za všetky spomeniem dve, ktoré sa mi páčia najviac: Edward Snowden v rozhovore s Johnom Oliverom odporúča nerozmýšľať nad heslami (passwords), ale frázami (passphrases). Niečo ako MargaretThatcherJe110%SEXY sa pamätá napriek svojej dĺžke ľahko a ako poznamenal Oliver, je to heslo ktoré by ani počítač netipol. 🙂

Ďalší prístup je ilustrovaný v XKCD – odporúča náhodne vylosovať bežné slová a použiť ich ako heslo. Ilustruje, že k takej kombinácii sa často ľahko vymýšľajú mnemotechnické pomôcky a aj pomocou entropie zdôvodňuje, prečo je to dostatočne silné[4]. Pre anglické slová sa generujúce nástroje dali nájsť, ale pre slovenské nie, tak som jeden napísal[5]. (A naozaj by ste si náhodné slová mali losovať, nie vymýšľať – naše mozgy sú nadrôtované tak, že výsledok nikdy nebude skutočne náhodný.)

Správcovia hesiel

Správcovia hesiel (password managers) sú služby alebo aplikácie, ktoré si pamätajú heslá za vás. Koncept je jednoduchý – pre každú aplikáciu si vytvoríte záznam, uložíte meno a heslo a hotovo. (Mnohí ľudia ukladá heslá do textových súborov rozhádzaných po PC, čo je nie len nepraktické a neprehľadné, ale vzhľadom na jednoduchú dostupnosť manažérov aj neospravedlniteľne hlúpe.)

Z pohľadu ukladania dát existujú dva hlavné druhy správcov – také, čo ukladajú dáta v cloude (napr. LastPass) a také, ktoré ukladajú iba do lokálnych súborov (napr. KeePass a jeho multiplatformový bratranec, KeePassX). Ja preferujem tie druhé – ak nemám heslá v cloudovej službe, nemusím sa obávať, že ju niekto hackne. (V prípade LastPass sa to už stalo niekoľkokrát.)

Bez ohľadu na to, čo si vyberiete, hlavné garancie majú spoločné: heslá sú uložené v bezpečne zašifrovanom úložisku a musíte si pamätať “hlavné heslo” (master password), ktorým ho odomknete. Dôležité: toto heslo nesmiete zabudnúť! Nie je možné ho nijak opätovne získať.

KeePass

Mojím favoritom je KeePass, na stiahnutie tu. (Vyberte si verziu 2.+, vpravo.) Alternatívne, ak používate Chocolatey, stačí v príkazovom riadku spustiť choco install keepass -y.

Inštalácia je triviálna. Po nej stačí program spustiť a vytvoriť si novú databázu. Kliknite teda na File | New a vyplňte hlavné heslo (master password).

Nová databáza

K dispozícii sú aj iné možnosti, napríklad kompozitný kľúč skladajúci sa z hesla a súboru; na začiatok ale stačí dobré heslo.

Vyplňte základné info o databáze a všetko ostatné môžete nechať tak.

Základné info

Všetko máme pripravené a môžeme začať vkladať heslá. KeePass nám predpripravil nejaké všeobecné kategórie, zatiaľ sa uspokojíme s nimi. Stačí kliknúť na kategóriu a potom na ikonku Pridať záznam (Add entry), alebo ešte lepšie, stlačiť klávesovú skratku CTRL + i.

V okne treba vyplniť k akému systému heslo patrí a potom samotné prihlasovacie údaje. KeePass vždy predvyplní náhodné heslo – môžete ho ponechať, prepísať iným, alebo si dať vygenerovať ďalšie. (Moje orientačné pravidlo: ak je to jeden z tuctov menej dôležitých systémov, fór či webov, použijem heslo, ktoré ponúka. Ak hrozí, že by som si ho musel pamätať alebo ho vypisovať na mobile, použijem napríklad spomínané náhodné slová a ušetrím si nervy.)

Pridávanie hesla

Keď heslo potrebujeme použiť, stačí otvoriť KeePass a pomocou klávesových skratiek (alebo klikaním) skopírovať meno či heslo. Ešte jednoduchšie je iba kliknúť tam, kam meno a heslo treba vložiť, prepnúť sa do KeePass a stlačiť CTRL + v, ktoré prepne okno naspäť a zadá postupne meno i heslo.

No najpohodlnejšie je nastaviť automatické zadávanie. Keď ho máme, stačí otvoriť program alebo stránku, kliknúť tam, kde sa zadáva meno a stlačiť klávesovú skratku (napr. CTRL + ALT + A). Otvorí sa KeePass, nájde heslo a zadá ho, všetko behom sekundy.

Nastavenie ale vyžaduje pár krokov navyše. Uvedieme si príklad na Facebooku.

  1. Najprv si v prehliadači otvoríme Facebook.
  2. Potom v KeePass otvoríme príslušný záznam hesla a zvolíme tab Auto-Type
  3. Klikneme na Add
  4. V novo otvorenom okne zo zoznamu vyberieme želané cieľové okno (Target Window). Zobrazia sa nám okná, čo sú práve otvorené (preto sme ako krok 1. otvárali Facebook). Týmto určujeme, do ktorého okna má KeePass vypĺňať Facebook heslo.
  5. Klikneme na OK.

Nastavovanie Auto-Type

To je všetko. Ak chceme ešte znížiť pravdepodobnosť, že nám nejaký vírus či iný škodlivý software heslo ukradne počas zadávania, môžeme zaškrtnúť dvojkanálovú ochranu (Two-channel auto-type obfuscation). Doteraz mi fungovala vždy dobre, no KeePass upozorňuje, že niekedy nemusí. Ak by s ňou bol problém, stačí ju opäť vypnúť. Po kliknutí na OK je všetko hotové.

Two-channel auto-type obfuscation

A výsledok? Najbližšie, keď sa budem chcieť prihlásiť do Facebooku, iba kliknem do políčka pre meno a stlačím klávesovú skratku (CTRL + ALT + A).

Auto-type v akcii.

Záver

Na pohľad sa to môže zdať ako veľa práce, ale zdanie klame. Zaberie to len pár minút a výsledok za to stojí. A keď si na KeePass (či alternatívu podľa vášho výberu) zvyknete, pridanie nového hesla nezaberie minúty, ale sekundy.

Ďalšou výhodou je, že si zašifrovanú databázu hesiel môžete zálohovať a predísť ich strate napríklad v prípade poruchy disku. KeePass tiež poskytuje mnoho možností ohľadom automatického zamykania databázy, automatického ukladania a podobne, takže nezaškodí poobzerať sa po nastaveniach a prispôsobiť ho obrazu svojmu.


  1. Ak sa vám to nikdy nestalo, je to asi preto, lebo sú vaše heslá príliš ľahké, alebo sa opakujú. Na to pozor. ↩︎

  2. Už bola založená nejedna stránka sľubujúca malú službu alebo zaujímavý obsah, s hlavným cieľom ukradnúť prihlasovacie údaje a zneužiť ich inde. ↩︎

  3. Hackeri už veľakrát zverejnili obrovské databázy prelomených hesiel – ak chcete získať takýto zoznam, stačí sa spýtať Googlu. ↩︎

  4. Matematika za tým je pomerne jednoduchá, ale mimo náš záber. Súvisí so Shannonovou entropiou. ↩︎

  5. Vysvitlo, že ak chcete získať zoznam slovenských slov, alebo nebodaj frekvenčný slovník, veľa šťastia. Možno projekt na inokedy. (Aj keď asi ťažko, pretože to by zas chcelo stemmer, ktorý som tiež nenašiel. 😐 ) Update: nakoniec som nejaké našiel, poctivo zahrabané na stránkach JULS ↩︎