Jak vytvářet hesla, co je to password manager a proč ho nutně potřebujete.
Zapomínáte hesla? Já taky ne. Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Pokud ano, tak to není moc dobrý nápad. Prozradím vám, jak to dělat lépe.
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Hlava není na hesla
1. Hlava není na heslawww.michalspacek.cz @spazef0rze
Hesla zapomíná každý. Tedy kromě mě. já si hesla nepamatuji, takže je nemůžu ani
zapomenout. Je to skvělý pocit. Obrázek pochází z videa What is Your Password,
pusťte si ho, stojí za to. Původní slajdy tyto poznámky neobsahují.
2. Kdo & Jak
Foto: https://commons.wikimedia.org/wiki/File:Bos_grunniens_at_Letdar_on_Annapurna_Circuit.jpg
Víte, kdo všechno zná vaše hesla? A vůbec, tušíte, jak je vytvářet správně?
A jaktože si hesla nemusím pamatovat? Nebojte, všechno vám prozradím.
Mimochodem, tohle zvíře je jak domácí.
3. Kdozná vaše hesla?
Takže především, vaše hesla byste měli znát vy sami. Určitě je zná také web
nebo aplikace, do které se přihlašujete, kvůli ověření. Daná aplikace má
také vaše heslo v nějaké formě uloženo v databázi a kvůli bezpečnostním
chybám té aplikace mohou mít přístup k této databázi i …
4. MIZEROVÉ! Úplně normální lidi. Jako vy. Nebo jako já.
Nebo vlastně kdokoliv. Je dobré počítat s tím, že k nějaké té
databázi mají přístup a zařídit se podle toho. Když mizera
získá databázi, ve které je nějak uloženo vaše heslo, může se
stát, že to vaše heslo zjistí, protože je tam uloženo nevhodně.
5. MD5, SHA-1, SHA-2
Nevhodné pro ukládání hesel
Hesla by se měla ukládat hashovaná. Hashovací funkce vyrábí z hesla jeho
otisk, ze kterého nelze původní heslo dostat. Je to něco jako otisk prstu
člověka, z něj taky člověka zpátky nedostanete. Hashovacích funkcí je mnoho,
některé jsou vhodné a některé ne. Tyhle uvedené vhodné nejsou a je jedno,
jestli přidáte salt nebo ne. Jsou příliš rychlé a tak je možné vytvářet miliardy
otisků různých slov či kombinací písmen za vteřinu a porovnávat je s otiskem z
databáze, tomu se říká offline útok. Pokud vás hashování hesel zajímá více, tak
přijďte na školení bezpečnosti nebo si prohlédněte moji prezentaci o
hashování. Nebojte, toto je nejvíc technický slajd, dál to bude zas normální.
6. Jak vypadá takové nevhodné ukládání hesel v praxi? Třeba takto. Pixel
Federation je vcelku úspěšná slovenská firma, která vytváří online hry. Taky
jsem ji neznal. Do podvědomí mizerů i bezpečnostních expertů se zapsala v
prosinci 2013, kdy někdo z její databáze získal e-maily a hesla 38 tisíc uživatelů.
Nic výjimečného, podobné případy se objevují dnes a denně. Pixel Federation
mizerům ale trochu usnadnila práci, hesla nebyla správně hashována.
7. e-mail:md5 (heslo)
Data, která unikla na web vypadala takto. E-mailová adresa uživatele byla doplněna
MD5 hashem jeho hesla (obojí pocházelo z databáze Pixel Federation) a v případě,
že se heslo podařilo mizerům rychle cracknout, tak to původní heslo uvedli do
závorky. Tady vidíme, že Šílená Mišulka má e-mail na Seznamu, její heslo pro
přístup na web Pixel Federation mělo MD5 hash a3fa5atd. a že její původní heslo
bylo 197412 – to vypadá jako nějaké datum, přesněji rok 1974 a 12. měsíc.
8. Heslo k ímejlu
Kdyby Mišulka používala stejné heslo i pro přístup na Seznam, byla by v háji
zeleném. Nepoužívá, nemusíte to zkoušet. Jenže spousta lidí hesla recykluje,
používají jedno heslo na více místech. Vy to nedělejte. Když totiž zapomenete
heslo, tak stačí zadat e-mailovou adresu a web vám pošle odkaz na nastavení
nového hesla v tom nejlepším případě. V tom horším případě vám rovnou pošle
nějaké vygenerované heslo. Kdyby Mišulka používala heslo 197412 i na Seznam, tak
by si nějaký mizera mohl nechat do její schránky na Seznamu poslat odkazy nebo
hesla z dalších webů a tím získat přístup i k dalším službám, které Mišulka používá.
9. haveibeenpwned.com
Každou chvíli někdo vyhackuje nějakou databázi, stalo se to několikrát i u nás,
naposled v prosinci 2014 Jabbimu. Z jeho databáze unikla hesla 150 tisíc
uživatelů, hesla byla dokonce v čitelné podobě. Naštěstí databáze nebyla nikde
zveřejněna, alespoň prozatím. Jestli vaše e-mailová adresa nebyla v nějaké takové
veřejné uniklé databázi si můžete ověřit na webu haveibeenpwned.com. Nebojte,
je to důvěryhodný web, není to sběr e-mailových adres. Váš e-mail už spammeři
dávno mají. Chodí vám spam? Tak vidíte.
10. Pepicek92
Jak vytvářet hesla? Takto rozhodně ne. Je známé, že když se po uživatelích chce,
aby vytvořili „silné“ heslo, které má mít aspoň jedno velké písmeno a jedno číslo,
že to velké písmeno bude na začátku a číslo na konci. To číslo na konci navíc často
představuje nějaký rok. Hesla vymýšlená v hlavě jsou díky známým postupům při
jejich vytváření v naprosté většině předvídatelná a proto jsou velmi slabá.
12. https://xkcd.com/936/
Jeden ze způsobů tvorby dlouhých hesel uvádí komix XKCD a tvrdí, že uhádnout toto
heslo by trvalo stovky let. Jenže hesla se dnes zas tak často nehádají, pamatujete na
mizery s přístupem do databáze a na to, že způsoby, kterými uživatelé vytváří hesla
jsou známé? Problém je ten, že všechny části tohoto hesla jsou běžná slova. Mizerové
tento způsob tvorby hesel také znají. Mimochodem, XKCD popřel sám sebe, když o
rok dříve vyšel díl, ve kterém tvrdí, že entropie zas není tak důležitá.
13. Ph'nglui mglw'nafh Cthulhu
R'lyeh wgah'nagl fhtagn1
Toto je jedno z nejdelších cracknutých hesel. Heslo je to parádní, obsahuje mezery
a tak, jenže je uvedeno v článku o Cthulhu na Wikipedii. Cokoliv zveřejněného na
webu se nehodí na tvorbu hesla, mizerové si totiž vytváří slovníky z mnoha zdrojů
a pak takové slovníky používají ke zrychlení crackování. Všimněte si té jedničky na
konci. Ta rozšířila původní heslo, ale i tak to bylo houby platné.
14. Dlooooouuuhááá
Unikátní
Délka ale není vše. Představte si, že máte sice dlouhé heslo, ale to jedno heslo
používáte na více místech. Mizerovi pak stačí získat přístup do jedné
databáze s hesly v čitelné podobě a získá přístup i k dalším webům, kde
používáte tohle dlouhé heslo. Každé heslo by mělo být jiné.
15. Jedno heslo pro e-mail a jedno heslo pro ty ostatní weby nestačí. Jednou jsem si na
Amazonu koupil knihu, platil jsem kartou a část čísla té karty se zobrazuje v
seznamu objednávek. Když budu mít na Amazonu stejné heslo, jako na službě, k
jejíž databázi čitelných hesel má mizera přístup, tak se mizera část čísla mé karty
může dozvědět a pak přesvědčit podporu nějaké jiné služby, že on je já, protože zná
nějaký můj údaj. Podpora pak změní e-mail mého účtu na nějaký mizerou založený.
A mizera si pak na tu adresu nechá poslat odkaz na nastavení nového hesla mého
účtu. Co není důležité pro vás, může být důležité pro mizeru.
16. Dlooooouuuhááá
Unikátní
Náhodná
Když budete mít každé heslo jiné (a dlouhé), ale všechny budou jak ze slabikáře
nebo z Wikipedie, tak je to taky k ničemu. „Pokud vaše heslo není náhodné, tak
ho crackneme,“ říká Jeremi Gosney. Jeho firma Sagitta HPC staví crackovací
servery a Jeremi o crackování hesel ví docela dost. Hesla by měla obsahovat
různé znaky náhodně za sebou.
17. @F-PjxZY@ f0Z^c/U 48ek+E2nK$n
Takto vypadá ideální heslo. Je dlouhé, není nikde na webu napsáno, ačkoliv se
zveřejněním slajdů vlastně už bude, a obsahuje všechny možné znaky, náhodně
za sebou. Jenže kdo si taková hesla má pamatovat, že. Soukromý e-mail,
pracovní e-mail, Twitter účet, falešný Twitter účet, účet na Facebooku, falešný
účet na Facebooku, LinkedIn profil, falešný… ah, to je jedno.
18. Zapomeňte svá hesla
Ale hesla si nemusíte pamatovat. Buďte v klidu, existuje řešení, navíc celkem
jednoduché a příjemné. Lidský mozek totiž není dobrý nástroj na pamatování
všech těch hesel (ale ani na jejich vytváření), takže je možné je v klidu
zapomenout. Já sám mám přes 600 hesel, ale pamatuji si jich jen pár. Jak to?
19. Password manager
Foto: http://www.flickr.com/photos/76029035@N02/6829471407/
Protože password manager. To je program, který si hesla
pamatuje a vytváří za vás, navíc vás umí na web přihlásit
jedním kliknutím. Takže si budete muset pamatovat už jen
jedno heslo, to do password manageru. Ostatní hesla budou
schovaná pod jedním hlavním silným heslem. Většina vašich
hesel je stejně již dnes chráněna jen jedním heslem – tím k e-
mailu. Tam se totiž posílají odkazy na nastavení nových hesel.
20. 1Password
KeePass
Vyberte si jeden z těchto třech password managerů, ty jsou nejvíc doporučované.
1Password je placený program, databázi hesel má jen u vás v počítači a s mobilem se
umí synchronizovat třeba přes Dropbox. LastPass je pro prohlížeč zdarma a je
online, zašifrovaná databáze hesel je na serverech výrobce, ale pokud chcete
synchronizaci s telefonem, musíte si připlatit. KeePass je open source, zdarma, ale
synchronizaci si musíte zařídit sami. (Aktualizace: 9. října 2015 výrobce LastPassu
oznámil, že ho kupuje firma LogMeIn, ale ta nemá moc dobrou pověst. Uvidíme. Od
2. listopadu 2016 je v LastPassu synchronizace mezi více zařízeními zdarma.)
21. Sk p#_s p- *s
Aby password manager mohl
dobře chránit vaše hesla, musíte
použít silné heslo. Jak takové silné
heslo vytvoříte? Vezměte nějakou
větu, kterou si zapamatujete, třeba
skákal pes přes oves, vezměte
první písmena ze slov té věty
a některá další písmena nahraďte
speciálními znaky. Výsledkem
bude například Sk p#_s p- *s.
Skákal pes přes oves je ale obecně
známá říkanka, na hesla není
vůbec vhodná a to ani jako základ.
Vaše heslo založte na větě, která
není tak profláklá, je blízká vám
a pokud možno jenom vám.
Foto: http://www.ekevu.com/kevin/?lang=1&category=5&item=486
22. 5 5 1 6 2 speak
2 3 2 4 2 docket
5 2 6 3 4 sans
3 2 2 2 1 gyp
1 2 2 1 4 amulet
6 3 6 2 2 weird
Diceware
Další častou metodou pro vytvoření silného hlavního hesla je Diceware.
Vezměte klasickou kostku, pětkrát hoďte a čísla si zapište. V seznamu slov pak
najděte slovo, které odpovídá těm pěti číslům. Já jsem hodil čísla 5, 5, 1, 6, 2
a tomu odpovídá slovo speak. Tento postup zopakujte minimálně šestkrát, slova
spojte a máte výsledné náhodné heslo, které je docela dobře zapamatovatelné:
„speak docket sans gyp amulet weird“. Mezery zachovejte. Takové heslo se dá
ještě zesílit pomocí speciálních znaků, návod najdete v mém článku o LastPassu.
23. Foto: http://www.flickr.com/photos/reidrac/4696900602/
Heslo k password manageru si někam poznamenejte, když ho zapomenete, tak
máte většinou smůlu. Napište si ho někam na papírek a dejte do obálky, třeba k
rodičům nebo právníkovi do sejfu. Na monitor si ho nelepte.
24. Přihlašování s password managerem funguje tak, že v přihlašovacím formuláři
se objeví ikonka, na ní kliknete, password manager předvyplní heslo a rovnou se
přihlásíte. Takto vypadá LastPass na přihlašovacím formuláři Google.
25. LastPass umí hesla samozřejmě i vytvářet. Kliknete na ikonku v políčku pro zadání
hesla a password manager vám nějaké silné vygeneruje. Vyberte pokud možno co
nejdelší heslo, kratší než 20 znaků raději ne.
26. 1. Něco vím
2. Něco mám
Žádný (password) manager vás nezachrání, když si dáte pár piv navíc a svoje
hesla někomu vykecáte, ačkoliv s hesly vytvořenými password managerem to asi
nebude snadný úkol, zvlášť po tolika pivech. Před touto nepříjemnou situací vás
může zachránit dvoufaktorová autentizace (2FA). Ta od vás potřebuje něco
navíc mít, nejenom znát. Můžete mít třeba telefon, na který provozovatel webu
zašle SMS, kterou pak opíšete do políčka ve formuláři.
27. SMS občas přijde pozdě
nebo vůbec a tak existují
alternativy, jako třeba
mobilní aplikace Google
Authenticator. Ta umí tyhle
kódy potřebné pro 2FA
generovat sama bez
připojení kamkoliv. Použití
téhle aplikace je lepší
způsob, než ověřování
pomocí SMS, protože na
telefonu můžete mít zákeřné
aplikace, které vás mizera
nějak donutil nainstalovat
a tyhle aplikace mohou číst
SMS a mizerovi je posílat.
Dávejte pozor na to, jaké
aplikace do telefonu
instalujete a jaká mají práva.
28. Když ztratíte telefon s Authenticatorem, tak máte smůlu. Raději používejte aplikace,
které kódy zálohují a synchronizují mezi různými zařízeními, jako třeba Authy nebo
Duo Security. Nebo rovnou nějaký hardwarový token, jako třeba YubiKey.
29. Dvoufaktorové ověřování nabízí Google a Gmail, Facebook, Twitter, Dropbox,
Github a další. Kód zaslaný SMS nebo vygenerovaný mobilní aplikací nevyžadují
vždy, ale například jenom když se hlásíte z jiného počítače nebo jednou za 30 dní.
30. A právě proto, že ty služby nechtějí ověřovací kód zadat pokaždé, tak to není
dvoufaktorová autentizace (2FA), ale dvoukrokové ověření (2SV). Všimněte si,
že Google to tak opravdu nazývá, ačkoliv tedy jen v angličtině. Naprostá
většina toho, co se dnes označuje jako 2FA je ve skutečnosti 2SV.
31. Používejte
Password manager
2FA/2SV
Pár dobrých rad na závěr: vytvářejte silná hesla a zbytečně si je nepamatujte, k
obojímu si najděte nějakého oblíbeného password managera. Ten používejte úplně
na všechno, doma i v práci, na bankovnictví, i na číselný kód ke kufru. Na službách,
které podporují 2FA/2SV si ji zapněte. Jednou vám to zachrání zadek, věřte mi.
32. foo+example.com@gmail.com
Pokud používáte Gmail a vaše adresa je foo@gmail.com, tak se na weby
registrujte se speciální adresou. Za jméno (foo) před at-sign (česky zavináč)
můžete za znak plus doplnit cokoliv, třeba adresu webu, na který se právě
registrujete. Když vám pak na takovou adresu začne chodit spam, víte, kdo vaši
adresu prodal nebo komu databáze unikla. Znak plus je normální povolený znak
v adrese, ale web ho musí při registraci přijmout. Pokud nepřijme, je to chyba
webu, nahlaste ji provozovateli.
33. Michal Špaček
www.michalspacek.cz
@spazef0rze
BTW, Vaše (příští) heslo je: ********1
Sledujte mě na Twitteru (@spazef0rze), pokud vás zajímají odstrašující
případy zacházení s hesly, další tipy a triky nebo odkazy na články o heslech.
Notes de l'éditeur
Jedno z nejdelších cracknutých hesel. Heslo je to parádní, o tom žádná, obsahuje mezery a tak, jenže je uvedeno v článku na Wikipedii. Cokoliv na webu se nehodí na hesla, je to totiž i ve slovnících a ti takové slovníky používají ke zrychlení crackování. Všimněte si té 1 na konci. Ta rozšířila to původní heslo.
Délka není vše. Představte si, že máte sice dlouhá hesla, ale jedno heslo používáte na více místech, mizerovi pak stačí najít jednu databázi s hesly v čitelné podobě a získá přístup i k dalším webům, kde používáte tohle dlouhé heslo. Každé heslo by mělo být jiné.
Každé. 1 heslo pro e-mail a 1 heslo pro ty ostatní weby nestačí. Amazon – jednou jsem si tam koupil knihu, nic extra. Jenže jsem platil kartou a Amazon zobrazuje část čísla v seznamu objednávek. Některé weby totiž změní adresu jen díky znalosti těchto 4 číslic. Zná 4 čísla karty, takže určitě musí být vy. Podpora, reset hesla.
Již víme, že mít dlouhá hesla nestačí, mohou být ve slovnících používaných k tzv. slovníkovému útoku. To platí i o unikátních heslech, když budete mít každé heslo jiné, ale všechny budou jak ze slabikáře, tak je to taky k ničemu. Hesla by tedy měla obsahovat různé znaky náhodně za sebou.
Ideální heslo. Je dlouhé, není nikde na webu napsáno, ačkoliv se zveřejněním slajdů vlastně už bude, a obsahuje všechny možné znaky, náhodně za sebou. Jenže kdo si taková hesla má pamatovat, že. Soukromý e-mail, pracovní e-mail, Twitter účet, falešný účet, FB účet, falešný FB účet, LinkedIn profil, falešný… ah, to je jedno.
Ale hesla si nemusíte pamatovat. Buďte v klidu, existuje totiž řešení, navíc celkem jednoduché a příjemné. Lidský mozek totiž není dobrý nástroj na pamatování hesel (ale ani na jejich vytváření), takže je možné je v klidu zapomenout. Já sám mám přes 600 hesel, ale pamatuji si jich jenom pár. Jak to jako, cože?
Jsou to lidé, kteří se snaží pomoci a dělají věci za vás, že. Stejně tak password manager. To je program, který si hesla pamatuje + vytváří a navíc vás umí na web přihlásit. Pamatovat jen jedno heslo. Hesla schovaná pod hlavním silným heslem. Většina vašich hesel je již dnes chráněna jen jedním heslem – tím k e-mailu. Se stim smiřte.
Tyhle 3. 1Password jedno heslo a LastPass to poslední. LastPass je pro prohlížeč zdarma a je online, ale pokud chcete synchronizaci s tlf, připlatit. 1Password je placený, má db jen u vás v PC a s mobilem se sync třeba přes Dropbox. Podobně funguje KeePass, ale ten je zdarma a sync si musíte zařídit sami.
Aby password manager mohl dobře chránit vaše hesla, musíte použít silné heslo. Jak takové silné heslo vytvoříte? Vemte nějakou větu, kterou si zapamatujete, třeba skákal pes přes oves, vemte první písmena ze slov a některá další písmena nahraďte speciálními znaky.
Heslo k password manageru si někam poznamenejte, když ho zapomenete, tak máte většinou smůlu. Napište si ho někam na papírek a dejte do obálky, třeba k rodičům nebo právníkovi do sejfu. Na monitor si ho nelepte.
Přihlašování pak funguje tak, že v přihlašovacím formuláři se objeví ikonka, tohle je konkrétně LastPass, na ní kliknete, password manager předvyplní heslo a rovnou se přihlásíte.
Vytváření hesel v lastpassu vypadá takto, kliknete na ikonku v políčku pro zadání hesla a password manager vám nějaké silné vygeneruje. Vybert pokud možno co nejdelší heslo, kratší než 20 znaků raději ne.
Žádný pwmgr vás nezachrání, když si dáte víc piv a svoje hesla někomu vykecáte, ačkoliv s hesly vytvořenými podle dříve uvedených pravidel to asi nebude snadný úkol. (2FA). Dvoufaktorové ověřování potřebuje i druhý faktor, tedy něco mít. Třeba telefon + SMS. Provozovatel webu vám pošle kód
SMS prodlevou nebo bez signálu a tak existují alternativy, jako třeba mobilní aplikace Google Authenticator. Ta umí tyhle kódy potřebné pro 2FA generovat sama. Tohle je lepší, než SMS, protože na tlf zákeřné aplikace od mizery, které SMS čtou.
Když ztratíte telefon s Google Authenticator, tak máte smůlu. Lepší je proto používat aplikace, které kódy zálohují a synchronizují mezi různými zařízeními, jako třeba Authy nebo Duo Security.
A právě proto, že ty služby nechtějí ověřovací kód zadat pokaždé, tak to není dvoufaktorová autentizace, ale dvoukrokové ověření. Všimněte si, že Google to tak opravdu nazývá, ačkoliv teda jen v angličtině.
Na závěr snad jen pár dobrých rad: vytvářejte silná hesla a zbytečně si je nepamatujte, k obojímu si najděte nějakého oblíbeného password managera. Ten používejte úplně na všechno, doma i v práci, kufr. A na službách, které podporují 2FA/2SV si ji zapněte. Může vám to jednou zachránit zadek, opravdu.
Pokud používáte gmail, můžete se na weby registrovat takto. Za jméno před @ můžete za znak plus doplnit cokoliv, třeba adresu webu, na který se právě registrujete. Když vám pak na takovou adresu začne chodit spam, víte, kdo vaši adresu prodal nebo komu databáze unikla. Web musí povolit + v emailu.