Jako odborníci v IT už asi víte, že máte používat nějaký password manager, že? Ale jaký a jaké jsou rozdíly mezi nimi? A v čem se liší 1Password od LastPassu, tedy kromě ceny?
1. SPRÁVCI HESELSPRÁVCI HESEL
DO HLOUBKYDO HLOUBKY
Michal ŠpačekMichal Špaček www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
Jakožto odborníci v IT už víte, že máte používat nějaký password manager,
že? Ale jaký a jaké jsou rozdíly mezi nimi? A v čem se liší 1Password od
LastPassu, tedy kromě ceny? Původní slajdy tyto poznámky neobsahují.
2. Kolik máte účtů na různých webech? Docela dost, co? Twitter profil, falešný Twitter
profil, profil na Facebooku, falešný profil na Facebooku, LinkedIn profil, falešný…
to je jedno. Nebudeme rozebírat výhody nebo nevýhody správců hesel, o těch
jsem mluvil v přednášce Hlava není na hesla, ale spíš se na některé podíváme
trochu víc do hloubky.
3. Správců hesel je tuna. I v Čechách a na Moravě se nějaký ten správce vyrábí. V
Čechách je to Avast Passwords, na Moravě Sticky Password. V přednášce dále
budu mluvit o dvou oblíbených password managerech, o 1Password a LastPassu.
4. Jeden z nejznámějších správců hesel je LastPass. Co o něm víme? LastPass je
online password manager, to znamená, že zašifrovaná hesla jsou uložena na
serverech LastPassu. Je tedy možné se k nim dostat odkudkoliv, jen pomocí
prohlížeče, po zadání správného hlavního hesla. Někdy se takovým správcům
hesel říká cloudový správce hesel. Používání LastPassu na jednom typu zařízení
je zdarma. Může to být desktop nebo mobilní appka (a to i klidně víc desktopů
nebo aplikací), podle toho, kde LastPass začnete používat. Pokud chcete
LastPass používat na desktopu i na mobilu zároveň, musíte si službu předplatit,
na rok stojí $12. LastPass byl na podzim roku 2015 koupen firmou LogMeIn,
která není zrovna moc důvěryhodná. (Aktualizace: v létě 2016 byla firma
LogMeIn společně s LastPassem koupena společností Citrix.) Právě důvěra je u
bezpečnostního software velmi důležitá. Také víme, že LastPass byl dvakrát
hacknutý a že se občas najdou i jiné menší nebo větší bezpečnostní problémy.
5. Na jeden takový drobný jsem během chvilky přišel i já. LastPass požaduje zadání
něčeho, co vám heslo připomene. Do LastPassu používám heslo generované, které
si nepamatuju a mám ho uložené v jiném správci hesel, takže neexistuje nic, co by
mi to heslo připomnělo. Tak jsem tam napsal to, co vždy.
6. K mému překvapení se po uložení tento JavaScript spustil. Chybu jsem nahlásil,
LastPass ji opravil a jako odměnu jsem dostal … poděkování, protože tahle chyba
nešla nijak zneužít. To jen tak pro pobavení.
7. Šifrovací klíč
PBKDF2-HMAC-SHA-256(heslo, e-mail, count)
Víme také, jak LastPass ukládá hesla. Hesla šifruje algoritmem AES přímo v
prohlížeči pomocí JavaScriptu. Šifrovací klíč je odvozen z hlavního hesla a e-mailu.
Parametr count je standardně nastaven na 5000 a lze uživatelsky změnit.
8. Ověřovací hash
SHA-256(šifrovací klíč)
Pro přihlášení uživatele se na server posílá SHA-256 hash vypočítaný ze
šifrovacího klíče, tedy z PBKDF2-HMAC-SHA-256(heslo, e-mail, count).
9. Uložený hash
PBKDF2-HMAC-SHA-256(ověř. hash, sůl, 100k)
Na serverech LastPassu je uložen PBKDF2 hash se 100000 iteracemi vypočítaný
z ověřovacího hashe z předchozího slajdu. Po bezpečnostním incidentu z léta
roku 2015 chtěl výrobce ještě navíc přidat scrypt hash, není ale známo jak přesně.
10. 1Password je další z oblíbených správců hesel. Na rozdíl od LastPassu to je
klasická aplikace, kterou si nainstalujete. (Aktualizace: od srpna 2016 funguje
1Password i jako online aplikace, dostupná z jakéhokoliv browseru.) Má trochu jiné
financování, každou „velkou“ verzi programu si musíte koupit a pak ji můžete
neomezeně dlouho používat. Výrobce často nabízí různé slevy, takže se dostanete
třeba i na poloviční cenu, zhruba $25, někdy i níže. Základní mobilní aplikace jsou
zdarma, ale můžete si za jednorázový poplatek přikoupit vlastnosti navíc.
1Password je offline password manažer, výrobce tedy neví, kdy a odkud program
používáte (pokud při každém spuštění nebudete automaticky zjišťovat, jestli nebyla
vydána nová verze). 1Password uchovává data pouze lokálně, ne na svých
serverech, proto offline správce. Synchronizaci mezi zařízeními musíte řešit jinak,
například přes Dropbox, iCloud nebo lokální Wi-Fi. Zálohování dat z 1Passwordu je
velmi důležité, ale jakmile zálohujete do cloudu, tak z toho z jistého úhlu pohledu
máte v podstatě zase cloudový správce hesel.
11. OPVault: PBKDF2-HMAC-SHA512
AgileKeychain: PBKDF2-HMAC-SHA1
1Password odvozuje šifrovací klíče pomocí funkce PBKDF2 (Password-Based Key
Derivation Function 2). Novější formát OPVault ji používá ve spojení s HMAC-
SHA512 a počet opakování záleží na zařízení, na kterém byla databáze vytvořena.
Nikdy však neklesne pod 10000. Starší formát AgileKeychain používá PBKDF2
společně s HMAC-SHA1. Počet opakování byl původně nastaven na 1000, koncem
roku 2011 byl zvýšen na 10000. Od 1Passwordu verze 4 je počet iterací proměnlivý,
minimální hranice je například pro 1Password for Mac 5 nastavena na 40000.
12. AgileKeychain: unencrypted URLs
Rozdílů mezi formáty OPVault a AgileKeychain je více. Další podstatný je ten,
že starší AgileKeychain má nešifrované URL adresy, takže pokud by se někdo
dostal k vaší databázi, tak může jednoduše zjistit, k jakým webům máte uložené
přístupové údaje. Hesla šifrovaná samozřejmě jsou. Pokud vám nešifrované
adresy vadí, tak zkontrolujte, že používáte OPVault, případně na něj přejděte.
13. LastPass: unencrypted URLs
LastPass také leakuje metadata, prý proto, aby bylo možné zobrazovat favicon,
navíc informace o adresách může používat pro zobrazování relevantnějších
reklam. Ale tohle všechno je známé, není třeba panikařit, obojí to bylo několikrát
popsáno, navíc je to zmíněno jak v dokumentaci 1Passwordu, tak i LastPassu.
14. OPEN SOURCE
Zdrojové kódy pro 1Password ani LastPass nejsou k dispozici, ale zas tak moc to
nevadí. 1Password má obsáhlou dokumentaci, včetně popisu datových formátů,
autoři na blogu navíc poměrně často komentují a zdůvodňují svá rozhodnutí. Pokud
jste skálopevně přesvědčeni, že open source je bezpečný, tak si vzpomeňte
na chybu Heartbleed.
15. 2FA
Authentication
LastPass podporuje ověřování přihlášení pomocí SMS nebo aplikace na telefonu
(2FA, Two-Factor Authentication, někdy 2SV, Two-Step Verification), 1Password
ne. Ale vůbec to nevadí a ani by to nemělo smysl. Jakožecože? To A v 2FA totiž
znamená Authentication, tedy ověření a 1Password vás nijak ověřovat nemusí.
Jenom z hesla odvodí šifrovací klíč a data dešifruje. Ani LastPass pro dešifrování
dat žádný kód z SMS nebo appky nepoužívá. Když se někdo dostane k
zašifrovaným datům LastPassu, žádné 2FA/2SV vám nepomůže. Pamatujete na
klíč, který LastPass odvozuje pomocí PBKDF2-HMAC-SHA-256(heslo, e-mail,
count)? Žádný token tam není, že? LastPass ho totiž používá jen pro ověření, že
vám může poslat zašifrovaná data, ne pro samotné dešifrování. Kdybyste měli
databázi 1Passwordu třeba na Dropboxu a pro přístup k němu měli nastaveno
ověřování pomocí SMS, tak je to stejné, jako 2FA/2SV v LastPassu. 1Password
má data lokálně, nic vám neposílá, nemělo by tedy moc smysl chtít po uživatelích
zadávat nějaký kód navíc. Generovat takové kódy pro zadávání do webových
aplikací ale 1Password samozřejmě umí.
16. Hesla umí ukládat i webové prohlížeče. Pokud pro jejich zobrazení nepoužíváte
speciální heslo, tak je může přečíst jakýkoliv program, který na vašem počítači
spustíte vy nebo někdo jiný a to i přesto, že jsou uložena zašifrovaná. Například
Chrome ani žádné speciální heslo neumožňuje zadat. Vám sice uložená hesla
zobrazí až po kliknutí na tlačítko Show a zadání hesla, kterým se přihlašujete do
operačního systému, ale programy běžící na vašem počítači k heslům uloženým v
Chrome mají přístup i bez zadávání tohoto hesla. Plnohodnotný správce hesel
navíc umí hesla i generovat, to prohlížeče zatím běžně nedělají.
17. 10 Immutable
Laws of Security
První z 10 neměnných zákonů bezpečnosti říká: „Pokud vás mizera dokáže
přesvědčit k tomu, abyste si na počítači spustili jeho program, tak už to není váš
počítač.“ Záleží tedy jen na tom, jestli vám vadí, že by ten mizera měl přístup i k
vašim heslům uloženým v prohlížeči. Pokud nevadí, nebo pokud používáte např.
Firefox a hesla chráníte pomocí master password, v klidu používejte správce hesel
v prohlížeči. Jen nezapomeňte hesla generovat třeba pomocí metody diceware.
18. Teams
Správci hesel umí hesla sdílet, ale pokud je ve firmě potřebujete sdílet ve velkém,
tak raději sáhněte po nějakém specializovaném produktu. Ty fungují trochu odlišně,
šifrovací klíče nemohou odvozovat od přístupových údajů, protože by je ostatní
uživatelé s jinými uživatelskými jmény a hesly nedokázali rozšifrovat.
19. Jedním z produktů pro správu a sdílení hesel ve firmách je 1Password for Teams. Od
standardního 1Passwordu se poměrně liší. Funguje v prohlížeči a data jsou uložena
na serverech výrobce 1Passwordu. Nejen proto je důležité vědět, co a jak se na
serverech vlastně uchovává, jak se posílají a šifrují hesla a vůbec všechno, co by
mohlo bezpečnost firemních dat nějak ohrozit. Pro uživatele 1Password for Teams,
a nejen pro ně, je proto k dispozici dokument nazvaný Security Design, ve kterém na
více než 60 stránkách najdete všechno, co potřebujete vědět.
20. STAY SAFE
Michal ŠpačekMichal Špaček
www.michalspacek.czwww.michalspacek.cz @spazef0rze@spazef0rze
Většina článků o správcích hesel je porovnává jen z pohledu uživatele a podle
množství vlastností, případně ceny. Zabezpečení dat je ale neméně důležité.
Držím palce, ať si vyberete správně!