4. diel - Bezpečnosť hesla - Správcovia hesiel
V predchádzajúcom kvíze, Kvíz - Základy kyberbezpečnosti, kryptografia a heslá, sme si overili nadobudnuté skúsenosti z predchádzajúcich lekcií.
V tomto tutoriále venovanom kybernetickej bezpečnosti načneme tému správy hesiel, predstavíme si správcu hesiel (password managers), vysvetlíme si, aký je ich bezpečnostný prínos a definujeme si kritériá pre výber správneho "manažéra".
Správcovia hesiel
Z predchádzajúcich lekcií už vieme, že správne zvolené heslá sú v kybernetickej bezpečnosti úplným základom všetkého ostatného, popísali sme si tiež, ako by asi mali vyzerať. Poďme si to ešte rýchlo zhrnúť. Ideálne heslo by malo byť:
- Aspoň 20 znakov dlhé, aby nešlo prelomiť BFA (odskúšaním všetkých jeho možných hodnôt).
- Úplne náhodné, aby nešlo odhadnúť na základe osobnostného profilu toho, kto ho vytváral.
- Pre každý účel (účet, dokument a pod.) iné, aby v prípade jeho kompromitácie nedošlo k ohrozeniu ďalších účtov (princíp oddelenia).
A v praxi bohužiaľ riešime oveľa častejšie prípad, keď prídeme o prístup k svojim dátam, než to, že by sa k nim dostal niekto neoprávnený!
Na čo sú nám správcovia hesiel?
Prvé, čo nás asi napadne, je, že by sme si mohli také bezpečné heslá niekam zapísať. Avšak ak by to bolo v otvorenej podobe (či už na papier alebo do súboru), predstavoval by taký zoznam (ktorý by sme navyše potrebovali mať neustále po ruke) podobný problém, teda značné bezpečnostné riziko, ako pri ukladaní hesiel v otvorenej podobe v operačnom systéme . Lepší nápad už predstavuje súbor (resp. databáza) s heslami, bezpečne zašifrovaná pomocou jedného hlavného hesla (master password). Síce by sme si v zásade mohli vytvoriť jeden šifrovaný dokument a do toho si heslá zapisovať, ale ešte lepším riešením je využiť na to špecializované aplikácie, ktoré sa nazývajú správcovia hesiel (password managers). Tie nám okrem bezpečného ukladania ponúknu aj ďalšie užitočné funkcie, ako je napríklad generovanie náhodných hesiel podľa našich požiadaviek, generovanie TOTP (jedná sa o jednorazové heslá založené na čase, používané pre 2FA – dvoj faktorovú autentizáciu) alebo prepojenie s ďalšími aplikáciami (najmä prehliadačmi) .
Na Internete ich nájdeme pomerne dosť, výber sa nám ale podstatne zúži, ak budeme trvať na nasledujúcich podmienkach:
- Open source, preverený časom aj užívateľovi - Rozhodne by som nezveril všetky svoje heslá softvéru, u ktorého nie je verejne overiteľné, čo presne s nimi robí. A platí to dvojnásobne v prípade, že ich neukladá tam, kde poviem, ale niekam do cudzieho cloudu (typicky servery poskytovateľa takého softvéru).
- Dostupnosť na všetkých bežných platformách - Väčšina používateľov potrebuje podporu minimálne pre Windows a Android, avšak medzi bežné platformy počítam aj Linux, macOS a iOS.
Celkom dôležitá v praxi je ale ich použiteľnosť. Každý z nich podporuje prenos údajov pomocou systémovej schránky, ale ak tieto údaje potrebujeme zadávať často, potom veľmi oceníme, keď sa nám ponúknu priamo v tej aplikácii, do ktorej ich potrebujeme vložiť (najčastejšie prehliadač). Minimálne na mobilných zariadeniach (resp. pre bezpečnostnú úroveň C1) nám veľmi uľahčí prácu autentizácie odtlačkom prsta či skenom tváre. Pre C2 je vyžadované bezpečné/dlhé heslo alebo kombinácia biometrie a krátkeho hesla či PINu.
Akého správcu hesiel teda použijeme?
Vyššie uvedeným podmienkam v súčasnosti plne vyhovujú len dvaja správcovia hesiel:
KeePassXC je
napísaný nad Qt v C++ a ako taký beží natívne na Windows, macOS aj Linux.
Je to rokmi a mnohými užívateľmi preverený open source a freeware, ktorý
dáta ukladá do nami určeného súboru vo formáte kdbx
, s
ktorým vedia pracovať aj ďalší správcovia hesiel (napr. známejší a
pôvodný KeePass, dostupný iba pre Windows). Je možné ho prepojiť so
všetkými bežnými prehliadačmi (vrátane TOR browsera) pomocou pluginu
KeePassXC-Browser.
Na druhú stranu, toto prepojenie nie je na desktopoch úplne bezproblémové a niekedy sa stane, že ho musíme aj niekoľkokrát ručne reloadovať, než sa spojenie nadviaže. Niekomu tiež nemusí vyhovovať jeho „starší“ vzhľad a spôsob ovládania. Jeho filozofiu dobre vystihuje nasledujúci príspevok na vývojárskom fóre: „Skoro to vyzerá, ako by sa vývojári venovali viac jeho bezpečnosti, než vzhľadu:) “.
Pre Android potom možno použiť jeho variant KeePassDX a aj pre iOS existuje KeePassium, ktoré sa drží rovnakých bezpečnostných štandardov ako pôvodný KeePass(XC).
Tu sú dva screenshoty KeePassXC (nedá sa vo Windows zaobstarať ani cez nahrávanie videa pomocou Game Boxu z videokarty, takže mi nezostalo, než jednoducho obrazovku odfotiť mobilom – ospravedlňte preto prosím zníženú kvalitu – grafik teda rozhodne nie som:))
Úvodné okno pre prihlásenie:
A samotné prostredie pre správu hesiel:
BitWarden je napísaný nad Electron v JS/HTML/CSS a tak beží ako interpretovaná aplikácia v containeri prehliadača, vďaka čomu je s nimi ale lepšie integrovaný a je dostupný pre všetky platformy. Je to open source, u ktorého si môžeme vybrať medzi licenciou zadarmo a platenou (nie príliš drahou) verziou. Avšak aj bezplatná verzia poskytuje pre väčšinu účelov dostatočné funkcie. Heslá ukladá do cloudu prevádzkovateľa aplikácie. V každom prípade je krajší a prívetivejší, než sú vyššie uvedené varianty KeePass, čo ocenia najmä začiatočníci. Mať heslá v cloude viazanom na poskytovateľa aplikácie sa síce rigidným paranoikom asi veľmi páčiť nebude, avšak aj kód synchronizácie je verejný a bežné „detské choroby“, ktoré ju preverili, už má aplikácia aj za sebou. Pokiaľ neplánujeme pracovať so zabezpečením vyšším ako C2, BitWarden nám určite postačí. V každom prípade si ale udržujte aj off-line zálohu v ňom uložených hesiel:
Za zmienku stojí tiež relatívne nový open source a freeware projekt AuthPass. Zatiaľ nepodporuje napojenie na ďalšie desktopové aplikácie, ako sú prehliadače a musia si ešte prejsť „skúškou ohňom“ praxe, ale v blízkej budúcnosti by mohol spájať výhody oboch predchádzajúcich a napríklad pre mobilné telefóny s úrovňou zabezpečenia C1 je použiteľný už v aktuálnej verzii:
Je napísaný v Dart nad Flutter, čo mu umožňuje prenositeľnosť medzi
platformami pri zachovaní natívneho behu aplikácie. Navyše používa
osvedčený formát šifrovaného ukladania hesiel do databázy
kdbx
, takže ho nie je problém používať spoločne s KeePass(XC)
variantmi správcov hesiel. A mimochodom, vďaka nemu som sa začal o
programovaní v Dart/Flutter sám tiež trochu zaujímať:) .
V ďalšej lekcii, Bezpečnosť hesla - Tvorba hlavných hesiel , sa dozvieme, ako správne vytvárať hlavné heslá a členiť ich podľa stupňov zabezpečenia.