Bezpečnostný kľúč Thetis. FIDO2, na odtlačky prstov. Návod na Linux. Recenzia

Včera | 18:25 | Blog | Slavomír

Názov produktu: Thetis FIDO2 Security Key Fingerprint USB A, Two-Factor Authenticator, Multilayer Protection HOTP/U2F Compatible Windows, MacOS, Gmail, Linux for Office Business – Black
Kým najznámejšia firma pre passkey je švédska firma YubiKey známa vysokými cenami, americká firma Thetis sa zasa snaží osloviť nízkou cenou.

Čo je FIDO2?

Najmodernejšia open-source kryptografická štandardizácia spravovaná cez neziskovú organizáciu.
Väčšina kľúčov podporuje len jednoduché tlačidlo na stlačenie – napriek tomu že sa to zdá byť jednoduché, radikálne to zvyšuje bezpečnosť. Tu v recenzii opisujem nie veľmi štandardnú a podstatne viac pokročilú verziu FIDO2 kľúča aj s odtlačkami prstov.
Thetis Fingerprint ponúka dve typy overenia kedy:

Overenie odtlačku prstu je systém ktorý prebieha vo vnútri kľúča a veľká časť kryptografických procesov dát neopúšťa kľúč, čo robí metódu FIDO2 veľmi bezpečnou.
WebAuthn prihlasovacie údaje pre účty sú tiež uložené na kľúči, nie PC.
Podpora linuxu na FIDO2 nemusí byť samozrejmá, preto si pred kúpou kľúča starostlivo zistite podporu linuxu.

Praktický stránka na test, či vám kľúč dobre funguje https://webauthn.io/

Kde všade sa FIDO2 využíva?

Zjednodušene je to tá najviac pohodlná a forma dvoj faktorovej autentifikácie, ktorú môžu vyžadovať / ponúkať mnohé webové služby banky, Github, Google, Microsoft účty, kryptomenové burzy a mnohé ďalšie.
FIDO2 sa nevyužíva na online weby ale aj na offline využitie:

Aké je riešenie ak kľúč stratíte alebo sa hardvér poškodí?

Recenzia na Thetis Fingerprint Kľúč

Cena a nákup

Cena kľúča Thetis Fingerprint je na oficiálnej stránke za 30 EUR, ale kľúč neposielajú mimo USA. Na Amazon.de z európskeho skladu bola cena aj s poštovným €48. Tovar mi prišiel po 6 dňoch od objednania. Výhoda EU skladu sú nižšie finančné náklady na prípadné vrátenie ak by sa Vám tovar nepáčil. Na Amazon.com sú niektoré modely kľúčov Thetis podstatne lacnejšie aj s poštovným ako na Amazon.de. Zdá sa, že firma Thetis má najnižšie ceny na trhu.
Viacerí ľudia sa v recenziách sťažovali že Thetis Fingerprint na Linuxe nefunguje – tieto informácie sa ale ukázali ako nepravdivé – aj napriek týmto recenziám som si produkt kúpil. Pravda je taká že na linuxe funguje OK.

Materiály

Vonkajšie „púzdro“ je zo zbytočne hrubého materiálu hliníka.
Konektorová časť male USB-A ktorá býva bežne z kovu, je tu z plastu čo nepôsobí dobrý dojmom – zrejme z dôvodu lepšej viditeľnosti signalizačných letiek. Neviem akú životnosť môže mať takýto plast, avšak niektoré špeciálne plasty môžu mať niektoré mechanické vlastnosti ako oderuvzdornosť porovnateľnú s kovom.
Riešenie môže byť kúpiť USB predlžovačku a USB hub aby sa počet zasúvania a vysúvania minimalizoval pre dlhšiu životnosť – (navyše sa tak predĺži životnosť aj USB-A female zásuvky na PC, ktorá bez predlžovačky by čelila väčšiemu namáhaniu nakoľko sa s USB konektormi hýbe a na FIDO2 kľúč pre účel odtlačkov treba vynaložiť trochu silnejší tlak. Ďalšia výhoda vhodnej predlžovačky s USB hub je viac ergonomické, viac user-friendly používanie).
Za rovnaké výrobné náklady by sa dal kľúč navrhnúť spôsobom aby bol kľúč kvalitnejší.

Funkčnosť

Pre účel odtlačkov prstov je tam ťažší prístup nakoľko je snímač v priehlbinke. Ku prístupu snímaču odtlačkov bráni aj masívne puzdro čo problém znásobuje. Koncept / dizajn je navrhnutý nie najlepšie, ale podstatné je to že dá sa to používať.
Za rovnaké výrobné náklady by sa dal kľúč navrhnúť spôsobom aby bol kľúč praktickejší na používanie.
Nestretol som sa s problémami ako v recenziách na Amazone, že by odtlačky fungovali nespoľahlivo.
Najväčší problém vidím ťažkú zálohovateľnosť nastavení odtlačkov nakoľko niektoré konfiguračné súbory sú mimo home folder. Linux sa dá veľmi ľahko preinštalovať a veľmi dobre sa robí záloha všetkých nastavení, vrátane aktívnych prihlásení cookies súborov prehliadača, ale to čo je mimo home priečinku, je problém. Viac by som toho vyčítal vývojárom softvéru ako dodávateľovi hardvéru.
Najjednoduchšie nastavenie FIDO2 bolo pre účel web prihlásenia.
Ostatné funkcie FIDO2 bolo možné nastaviť značne ťažšie ale AI si s tým vedela poradiť.
Ako rady AI som používal Google AI Studio Flash 3. AI mi vyhodila aj 20 krát viac text ako vidíte tu – bolo tak aj veľmi veľa neúspešných pokusov – vložil som tu len otestované a funkčné návody
Nakoľko mám nastavené šifrovanie home priečinku pomocou fscrypt, nemohol som použiť kľúč na prihlásenie. Je ho ale možné použiť na odomknutie zamknutej obrazovky, napr po uspaní PC a to som aj urobil.
Po odomhnutí obrazovky nefungujú spoľahlivo nastavenia, ktoré po úspešnom odoknutí cez kľúč odstráni potrebu stačiť ešte „Enter“ – nie je to chyba kľúču, ani FIDO2 rozhrania KDE Plasma na Kubuntu.
Celkové zhodnotenie: z môjho pohľadu dizajnové a materiálové nevýhody sú znesiteľné, akceptovateľné. WebAuthn funguje perfektne, ostatné veci funkcie sú trochu náročnejšie na nastavenie. Celkovo som spokojný. Myslím že ideálny kľúč neexistuje a to ani z drahších cenových tried – všade sa dajú nájsť nevýhody.

Návod na inštaláciu. WebAuthn FIDO2. Pre účel prihlásenia sa do web aplikácii

sudo apt update
sudo apt install libfido2-1

Ak kľúč stále nevidíte, pridajte pravidlo manuálne (podľa návodu Thetis), Vytvorenie textového konfiguračného súboru:
sudo nano /etc/udev/rules.d/70-u2f.rules

Vložte tam tento riadok:
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess"
Uložte (Ctrl+O, Enter) a ukončite (Ctrl+X).

Aktivujte pravidlá:
sudo udevadm control --reload-rules && sudo udevadm trigger

Registrácia odtlačkov v prehliadačoch ako sú napr. Chrome, Chromium, Brave.
(Firefox, Opera túto funkciu žiaľ nepodporujú)
V Chromium nastavenia:
Nastavenia -> Súkromie a zabezpečenie -> Zabezpečenie -> Spravovať bezpečnostné kľúče)
Teraz, keď je kľúč nastavený a odtlačky sú v ňom uložené, môžete Chromium zavrieť a otvoriť akýkoľvek iný prehliadač napr. Firefox, Opera, ktoré WebAuthn podporujú.

Otvorte Firefox a choďte napr. na webauthn.io (skvelá stránka na testovanie).
V sekcii "Registration" zadajte nejaké meno a kliknite na "Register".
Firefox zobrazí vyskakovacie okno (systémovú výzvu). Kľúč na vašom USB portu začne blikať.
Priložte prst. Kľúč overí odtlačok interne a Firefox vás úspešne zaregistruje.

Odomknutie obrazovky

Najprv potrebujete PAM modul, ktorý vie komunikovať s FIDO2 kľúčom:
sudo apt update
sudo apt install libpam-u2f pamu2fcfg

Vytvorenie konfiguračného súboru
kate /etc/udev/rules.d/70-u2f.rules

sudo apt install kate
kate /etc/udev/rules.d/70-u2f.rules

Vložte tam tento riadok:
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess"

Uložte a reštartujte pravidlá:
sudo udevadm control --reload-rules && sudo udevadm trigger

Registrácia kľúča Thetis do vášho systému
Namiesto generického priečinka vytvoríme priečinok priamo pre Thetis.
mkdir -p ~/.config/thetis

Zaregistrujte svoj kľúč (vložte ho do USB):
pamu2fcfg > ~/.config/thetis/u2f_keys

Kľúč začne blikať – priložte prst.
Skontrolujte, či sa dáta zapísali (uvidíte dlhý reťazec znakov):
cat ~/.config/thetis/u2f_keys

Konfigurácia odomykania obrazovky (KDE Lock Screen)
Teraz nastavíme Kubuntu tak, aby pri odomykaní obrazovky hľadalo váš Thetis kľúč v našom novom priečinku.
Editujte súbor pre odomykanie obrazovky:
(nahraďte uzivatel vaším skutočným prihlasovacím menom):
auth sufficient pam_u2f.so authfile=/home/uzivatel/.config/thetis/u2f_keys userverification=1
@include common-auth
@include common-account
@include common-password
@include common-session

Konfigurácia pre terminál (sudo)

Rovnaký komfort si nastavíme pre prácu v termináli.
kate /etc/pam.d/sudo

Vložte do súbory nasledovný obsah:
auth sufficient pam_u2f.so authfile=/home/uzivatel/.config/thetis/u2f_keys cue
session required pam_limits.so
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

Polkit (PolicyKit). Odstránenie vyžadovania hesla v programoch, aplikáciach s grafickým rozhraním

Ako nastaviť, to aby som použijúc Passkey nemusel písať heslá napr. v aplikácii Discover (správca aplikácii) alebo v aplikácii Kate ktorá pri systémových konfiguračných súboroch ich editácii často vyžaduje heslo?

kate /etc/pam.d/polkit-1

Vložiť obsah:
auth [success=done default=ignore] pam_u2f.so authfile=/home/uzivatel/.config/thetis/u2f_keys cue
@include common-auth
@include common-account
@include common-password
@include common-session

Odomknutie šifrovanej partície LUKS2 pomocou hardvérového kľúča

Slot v tejto terminológii znamená jedna z metód odomknutia, ktorá môže byť heslo či viacero hardvérových kľúčov.
Slot 0 vždy ponechajte, nikdy nemažte, to je základné heslo pre partíciu LUKS2.
Pri pridaní alebo odstránení slotu Vás to vyzve zadať heslo pre LUKS2 partíciu.
/dev/sdb1 nahraďte správnymi údajmi. Nainštalujte si Gnome Disk aby ste to zistili.
Odomykanie na odtlačok prsta je možné len cez terminál, neexistuje nič s grafickým rozhraním

Pridanie slotu
sudo systemd-cryptenroll --fido2-device=auto --fido2-with-client-pin=no --fido2-with-user-verification=yes /dev/sdb1

Príkaz na odomknutie
sudo systemd-cryptsetup attach sony_disk /dev/sdb1 none fido2-device=auto

Zobrazte sloty:
sudo cryptsetup luksDump /dev/sdb1

Ak chcete vymazať niektoré sloty:
sudo cryptsetup luksKillSlot /dev/sdb1 1
sudo cryptsetup luksKillSlot /dev/sdb1 2
sudo cryptsetup luksKillSlot /dev/sdb1 3

Prílohy