Yubikey

Yubikey a Keepass

21.07.2021 | Tag Bezpečnost

Krátký článek o tom, jak si nastavit ověření do Keepass správce hesel pomocí hardwarového tokenu Yubikey HMAC-SHA1 challenge response metodou.

Úplně první věc, kde jsem Yubikey využila, bylo zabezpečení mé hlavní databáze v Keepassu. Keepass je dle mého názoru velmi pěkný správce hesel. Je jednoduchý, nemusí žít online a dá se rozšířit o různé pluginy. Právě pomocí pluginů se dá získat podpora pro Yubikey k přihlášení do databáze s hesly. Přímo ze stránek Yubico vím o dvou pluginech, které se dají použít (a dost možná bude k dispozici podobných pluginů mnohem víc). Jeden využívá challenge-response, druhý OATH-HOTP. První metoda nutí plugin vyslat challenge, na kterou Yubikey odpoví. Druhá metoda je klasické zadávání jednorázových kódů. Vybrala jsem plugin KeeChallenge, který umožní ověření přes HMAC-SHA1 challenge-response, protože oproti zadávání OTP mi tenhle způsob ověření přijde příjemnější.

Na straně Yubikey je potřeba nastavit druhý slot (ten je přímo vyžadován tímto pluginem) přes Yubikey Manager. Viz níže obrázky. Secret vygenerovaný Yubikey během konfigurace je třeba schovat. Slouží k šifrování databáze a pokud by se token ztratil, nebo byl problém s ověřením, dá se tím databáze zachránit. U poslední části je možnost volby vyžadovat stisknutí Yubikey. Není to k fungování potřeba, ale také není úplně marné vyžadovat nějakou fyzickou akci návdavkem k pouhé přítomnosti tokenu.

Po spuštění managera se v Aplikacích vybere volba OTP.

Yubikey Manager 1

Vybere se konfigurace Long Touch (Slot 2).

Yubikey Manager 2

Zvolí se volba Challenge-response.

Yubikey Manager 3

Vygeneruje se tajný klíč, který je třeba vykopírovat a schovat, a podle preference se nastaví Require touch.

Yubikey Manager 4

To je ze strany Yubikey Manageru celé.

Pro nastavení Keepassu je napřed nutné plugin stáhnout, rozbalit a obsah nakopírovat do instalační cesty Keepassu. Pak je možné buďto vytvořit novou databázi hesel, nebo upravit ověření již existující. U existující databáze se přes File – Change master key dá dostat do stejné fáze, do které dojde průvodce vytvořením nové databáze. Tj. vytvoření master hesla a pokročilému nastavení ověření. Je dobré říct, že nastavit master heslo databáze není potřeba. Ano, podkopává to bezpečnost a autor pluginu před tím také varuje, ale jo, může to běhat jen na Yubikey. Pokud se nastaví master heslo, je ho třeba pokaždé při otevření databáze zadat a následně použít Yubikey.

Podle potřeby se nastaví Master Password, dále se v okně rozkliknou expert options a vybere se Yubikey challenge-response jako Key file / provider.

Keepass 1

Po potvrzení vyskočí okno pro zadání Secret key, které dříve vygenerovalo Yubikey. Jak jsem psala, secret je třeba schovat. Zaškrtne se volba Variable Length Challenge. Úplně stejné okno se objeví v případě, že s ověřením nastane problém a databázi bude třeba nouzově odemknout přes secret.

Keepass 2

Další otevření databáze už bude s novým ověřením. Pokud bylo nastaveno, je třeba vyplnit Master Password a v Key File vybrat možnost Yubikey challenge-response. Pokud se nastavilo vyžadování doteku, vyskočí okýnko s odpočtem pro stisk tlačítka na Yubikey. Jinak se databáze otevře rovnou.

Keepass 3
Keepass 4

A to je celé. Jednoduché na nastavení a dosud bezproblémové. Druhý plugin je na nasazení podobně jednoduchý, při otevírání databáze pak vyžaduje po Yubikey vygenerovat několik OTP. Jak říkám, výše popsaná varianta se mi líbí víc. Dále asi netřeba zmiňovat, ale v Keepassu může mít každá databáze jinak nastavené ověření. Není problém mít jednu databázi zabezpečenou heslem a jinou Yubikey. Vřele bych doporučila udělat si backup databáze a odkopírovat si jej bokem, pokud měníte nastavení nad již existující. Není to tak, že se nutně něco musí pokazit, ale proč tomu chodit naproti. Stejně tak vytvořený secret je třeba uchovat někde bokem (třeba právě v jiné Keepass databázi s jiným ověřením).