FIDO U2F by Plug-up: levný přihlašovací token nejen ke Google

Dan Ohnesorg 8. 1. 2015

Google nedávno ohlásil podporu pro dvoufaktorovou autentizaci s použitím FIDO U2F a současně se na trhu objevil relativně levný token. Neodolal jsem a musel jsem jich pár na zkoušku objednat. Použít se dají u Google, ale i třeba ve WordPressu. Jak fungují v Linuxu? Co potřebují na straně počítače a služby?

Token dorazil asi tři týdny po objednání, na obrázku je vidět, že se jedná vlastně o plastovou kartičku, ze které se vylomí samotný token. Ten se potom ještě přeloží, aby seděl pevně v USB slotu a obě poloviny se slepí oboustrannou lepicí páskou. Ve srovnání s Yubikey působí méně profesionálně, ale přeci jen cena je výrazně příznivější. Také nemá žádné tlačítko, generování kódu se odvozuje od zasunutí do USB slotu.

Pokud jej chcete použít pod Linuxem, musíte přidat pravidlo do udev, tedy do souboru  /etc/udev/rules.d/10-security-key.rules:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", MODE="0660", GROUP="users"

Místo GROUP="users" lze použít i nějakou omezenější skupinu, kterou si vytvoříte pro uživatele, kteří budou toto přihlašování používat. Reloadnete konfiguraci pomocí udevadm trigger a můžete si klíč zkusit přidat do Google účtu. Pokud máte dostatečně aktuální Chrome, tak to funguje bez jediného zaváhání.

Klíč lze ale použít i ve vlastních projektech. Vyzkoušel jsem integraci do WordPressu a ani tam se nejedná o žádný složitý problém. Pokud chcete používat U2F pro vlastní projekty, je nutné do Chrome přidat plugin. Bez pluginu nemají aplikace přístup k API Chrome pro komunikaci s klíčem.

Na straně WordPressu jsem použil modul od Yubico, instalace je triviální, checkout z git, dotažení závislostí přes composer, umístění do adresáře pro pluginy ve WordPressu a aktivace modulu. Celá akce proběhla zcela hladce.

Nyní je možné v profilu uživatele přidávat klíče. Oproti použití s Google servery se bude objevovat žádost o povolení užití klíče:

Pokud přístup povolíme, klíč se přiřadí a při dalším přihlášení je uživatel po odeslání přihlašovacího dialogu podržen na mezistránce, dokud klíč nepoužije. Pokud 30 sekund klíč nevloží/neaktivuje, je vrácen zpět na zadání jména a hesla. Tady jsem zaznamenal jediný problém, ta stránka neobsahuje žádný vysvětlující text, takže pokud uživatel neví, jak klíč použít, jen sleduje prázdnou obrazovku a po chvíli dostává znovu přihlašovací dialog.

widgety

Další teoretickou možností využití klíče je přihlašování do Linuxu z konzole přes PAM. To je současně jediná funkcionalita, kterou jsem nedokázal rozchodit. Problém je zřejmě v tom, že PAM knihovna je psána jen pro klasický Yubikey s tlačítkem a tak se nevyrovná s tím, že klíč je potřeba do USB portu vložit k jeho aktivaci. Pokud klíč není vložen, PAM modul okamžitě vrací hlášení o neúspěchu, pokud je vložen a vytažen pro nové vložení, modul ohlásí chybu, že se mu klíč v průběhu ověřování ztratil bez odpovědi. Navíc tady budete možná narážet na „technologické omezení“ dané tím, že komunikaci s klíčem nelze forwardovat přes SSH, musí být vložen do USB portu přímo v tom systému, kde jej chcete použít.

I přes nefunkčnost PAM modulu bych klíč označil za dobrou koupi. Řešení konkuruje jednorázovým klíčům podle RFC 6238 (s nejznámější implementací Google Authenticator), lze jej ostatně aktivovat současně, ale pro uživatele je komfortnější než opisování čísel, která mají navíc omezenou platnost. Otázka je, jestli je bezpečnější, na toto téma očekávám vášnivou diskuzi. Na jednu stranu používá silnější šifrování, na druhou ke zneužití stačí útok na jedno zařízení (PC uživatele), proti použití generátoru jednorázových hesel, typicky umístěnému v zařízení jiném.

Našli jste v článku chybu?
Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

DigiZone.cz: Mordparta: trochu podchlazený 87. revír

Mordparta: trochu podchlazený 87. revír

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

DigiZone.cz: Koncesionářské poplatky pro RTVS

Koncesionářské poplatky pro RTVS

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

120na80.cz: Hrbatá prsa aneb mýty o implantátech

Hrbatá prsa aneb mýty o implantátech

Vitalia.cz: Jaký je rozdíl mezi brambůrky a chipsy?

Jaký je rozdíl mezi brambůrky a chipsy?

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Vitalia.cz: Kterou dýni můžete jíst za syrova?

Kterou dýni můžete jíst za syrova?

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu