Yubikey 5 tapasztalatok

(Work in progress, folyamatosan frissülni fog)

A Yubico cég Yubikey termékével kapcsolatos tapasztalatokat írom le itt.

Mi is a Yubikey? Egy olyan hardverkulcs (USB portba dugható eszköz), ami 2. faktorként használható a legelterjedtebb online szolgáltatások és account-okba történő belépéshez. Továbbá helyben használt hitelesítésekhez (pl. SSH login-ek, Active Directory login) is alkalmas.

Itt már egyből ki kell térni 1 gondolat erejéig arra, hogy mit írtam 1 bekezdéssel feljebb: 2. faktor, és csak a belépéshez. Általában ezt a mozzanatot tudja védeni ez az eszköz. Szokásos funkció a sikeres bejelentkezés után, h. az adott böngészö-sessiönt az adott gépen "Trusted device"-ként megjegyeztesse a user. Ilyenkor ugyanazon a gépen nincs többé szükség a hitelesítésre, így az 1. mellett a 2. faktor védelmére sem.

Illetve ha már a jogosulatlan illető bent van az adott account-ban, hamar ki tudja zárni a legitim embert,  és akkor azon a csoda-Yubikey-ek sem segítenek visszaszerezni. A password-less típusú logineknél (FIDO2?) lehet használni 1faktoros módban is, ilyenkor értelemszerűen nem kell a jelszót is védeni (mert a "passwordless" definiciója szerint nincs is password!), csak a Yubikey-t.

Felmerül a kérdés: szuper, akkor ilyen hardver 2. faktorral tudnám védeni az egyik legfontosabb, legrizikósabb fiókom, pl. a  netbankom loginjét a sikeres jogosulatlan belépésektől? A válasz: nem! :). A hazai bankok (de talán a világ egyik másik bankja sem) támogatja a Yubico hardvereit. De hogy jobb példát mondjak, még 1 olyan piti garázscég, mint a Paypal sem. Paypal-nál volt 2 éve FIDO2 support Yubikey-el, amit tavaly szónélkül visszavontak: https://www.paypal-community.com/t5/Managing-Account/Has-Paypal-dropped…

A hazai bankok pedig leragadtak az SMS-nél, mint "modern" 2. faktornál. Az SMS-t egyszerűen el tudják lopni a csalók: szimplán be kell íratni az áldozattal sajátkezűleg egy a saját netbankját utánzó kamu weboldalon, amit a csaló irányít. Ilyen egyszerű. Ennél sokkal macerásabb már az évek óta jól ismert SIM-swap támadási módszer. Azzal tényleg meg lehet szerezni az sms-t az áldozat tudta nélkül. Írtam már itt róla korábban, h. valóban célzott támadásnál működik ez csak, nem praktikusan kivitelezhető tömeges támadásoknál  De akitől ingatlan adásvétel ürügyén ellopnak 40-50-100 milliót így, azt nem vigasztalja h. a kurva sms a bankja szerint amúgy nagy általánosságban még biztonságosnak számít, ahelyett h. lehetőséget biztosítanának ilyen hardver token használatára.

Ennyi kitérő után vissza a Yubikey-re. Több párhuzamosan futó családja is van a Yubikey-nek, így már az 1. problémával akkor találkozik az ember, h. melyiket válassza, melyikre van szüksége.

A Yubico oldalán van 1 wizard, ami pár egyszerű kérdés alapján próbálja kiszűrni a saját kínálatukból melyik lehet neked a legalkalmasabb: 

https://www.yubico.com/quiz/

Következő lépés, ha még mindig bizonytalan az ember, le tudja kérdezni a népszerűbb online szolgáltatásokról, h. a Yubico szerint melyik eszközüket támogatja az adott platform:

https://www.yubico.com/works-with-yubikey/catalog/?sort=popular

Nem véletlenül nem fogod megtalálni se a Paypal-t, se a kedvenc bankodat a listában.

Ha még nagyobb lett a káosz a fejedben, itt van egy nagyon általános (!) összehasonlítás az összes Yubikey familiáról:

https://www.yubico.com/hu/store/compare/

Az alábbi szériák futnak jelenleg a Yubico-nál:

  • Yubikey 5 series
  • Yubikey 5 FIPS series
  • Yubikey BIO series (csak a FIDO-only edition!; van egy Multiprotocol-editiion is, ami új termék, korlátozott célcsoportnak)
  • Security key series
  • HSM series

Ezen kívül még vannak egyéb legacy státuszú régebbi típusok is, de ezeket 1) már nem gyártják / nem árulják 2) már nem támogatottak, így megvenni sem érdemes őket.

A Security Key series elnevezés kifejezetten összezavaró, mikor nem konkrétan arról a sorozatról beszél az oldal, hanem általánosságban az összes biztonsági kulcs-ként szolgáló termékükre hivatkoznak. Ha Yubikey-t emlegetnek pl., akkor az vonatkozik a Security key series-re is, vagy csak a nevében is ténylegesen "Yubikey"-nek hívott 5 series-re? Én azonnal átnevezném a Security key series-t valami más, egyértelmű, egyedi névre. Mondjuk pl. Yubikey 5 LITE series.

Minden sorozaton belül pedig természetesen többféle model típus is van. Egyik jellemző különbség, h. USB-A vagy USB-C csatlakozó legyen rajta. Esetleg apple-höz Lighting csatoló. Következő, h. tudjon-e NFC-t, vagy anélküli. Ujjlenyomatolvasó viszont csak a BIO szériában van. Form factor szempontjából létezik Nano is, az a 0-24-ben a gépbe dugott üzemmódra optimális, alig lóg ki a gépből, nem fog letörni ha így dobod a táskádba a laptopot. Ezután jön, h. sima változat kell-e valakinek, vagy a FIPS-minősített? Utóbbit csak azoknak ajánlják, akiknek valami audit tényleg kötelezően előírja a FIPS meglétét. Mivel ez jóval drágább a nem-FIPS változathoz képest, és firmware verzióban is mindog bőven a sima változat mögött kullog. Hasonló minősítés az CSPN is. Van ezen kívül még Enterprise Edition is (csak a Security key series esetében), ami egyedi eszköz-sorozatszámot biztosít az amúgy nem beazonosítható Security key series esetében. No, hát ennyi variációból szép meló kitalálni, melyik is kellhet az embernek.

Yubikey 5 series - model comparison:

https://www.yubico.com/store/compare/?products=yubikey-5c-nfc,yubikey-5…

illetve egy konkrét típus: Yubikey 5 NFC hardware specs:

https://support.yubico.com/hc/en-us/articles/360013656980-YubiKey-5-NFC

vagy egy másik példa: Security key NFC hardware specs:

https://support.yubico.com/hc/en-us/articles/360013779399-Security-Key-…

Mivel sok éve piacon vannak már ezek az eszközök, és pár évente a kedves gyártó is úgy tűnik szereti kivonogatni a picit is régi típusokat a forgalomból, egy szakajtó tökugyanúgy kinéző Yubico eszköz létezik a világon, ráadásul nagyon hasonló v. teljesen megegyező névvel. Innentől csak a külső alapján kb. esélyed nincs felismerni a konkrét eszköz konkrét típusát. Muszáj leszel rádugni az eszközt a gépre, hogy a Yubico Manager megmondja mifélének ismerte fel.

Itt egy link ami alapján el tudod képzelni mekkora a katyvasz:

https://www.yubico.com/products/identifying-your-yubikey/

Vagy ez: 

https://docs.yubico.com/hardware/yubikey/yk-tech-manual/yk5-physical-at…

The serial number is printed on the back of every YubiKey in the YubiKey 5 Series, YubiKey 5 FIPS Series, YubiKey 5 CSPN Series, and YubiKey Bio Series. The 2D barcode (Data Matrix code) of the serial number is also printed on the back of every YubiKey in the 5 Series (as well as on the FIPS and CSPN) except on the 5C Nano form factor, which is too small to accommodate the 2D barcode.

In addition, all of the keys in the YubiKey 5 FIPS Series have the acronym “FIPS” underneath the Data Matrix code on the back, along with “v5” running up the left side of the Data Matrix code, except on the YubiKey 5C Nano, which has it on the right.

The color of the non-Enterprise edition of the Security Key Series was changed to black in January 2023. To distinguish the keys in the Security Key Series from those in the YubiKey 5 Series, FIDO is inscribed on the backs of both the Enterprise Edition and otherwise.

The serial number is inscribed on the back of each key in the Enterprise edition of the Security Key Series.

Ennél szerencsére van műszakibb egyszerű megoldás is az azonosításra, ami már nem az eszköz külalakján alapul: https://www.yubico.com/genuine/

 

Jótanács, ha elkezdte belakni az ember az eszközt accountokkal: innentől ez lesz a gyenge láncszem a bejelentkezésekben. Azaz védeni kell, nemcsak a fentebb említett okok miatt (direkt támadóktól, ellopástól), hanem a véletlen elvesztéstől, tönkremeneteltől is. Erre az a legpraktikusabb tanács, hogy 1 helyett 2-t kell venni, és beüzemelni minden accountra. Az 1. lesz az éles mindennapi használatra befogott példány, ami mindig nálunk van. A 2. pedig szépen elzárva biztonságot helyre, és csakis akkor szabad elővenni, ha új account-ot akarunk élesíteni Yubikey-es használatra. Vagy ha az 1. key elvesztése/tönkremenetele/ellopása esetén kell bejutni az account-okba az elsődleges key-t letiltani. Természetesen ha egy account csak az 1. Yubikey-en lett létrehozva, akkor a 2. key az elzárt széfben nem fog segíteni az 1. key elvesztésekor. Így ez a kényelmetlenség akkor hozza be az árát, ha fegyelmezetten és pontosan menedzseljük ezeket az eszközöket.

 

----

A Yubikey-ek többféle protokol-t (6) támogatnak

  • OTP: a standard OATH (2 fajta: HOTP, TOTP) + egy saját fajta Yubico-OTP
  • PIV (ez a Smartcard-ot takarja)
  • CTAP1 == FIDO1 U2F ( Universal 2FA)
  • FIDO2 / WebAuthn / CTAP2
  • OpenPGP
  • YubicoHSM

Ezeket a Yubico application-öknek hívja az eszközön.

OATH: Incentive for Open Authentication, azaz nyilt szabványos protokol OTP (One Time Password, 1x használatos jelszavak) használatához. 2 szabványos típusát ismeri/használja a Yubikey: HOTP és TOTP. Illetve van még egy saját Yubico-OTP is, ez eltér a másik 2-től.

Itt van róla 1 jó és rövid videó, hogyan is működik a STANDARD  OATH OTP:  https://youtu.be/46AKWNOJ3-Y

Illetve az elmélet szövegesen is: https://docs.yubico.com/yesdk/users-manual/application-oath/oath-overvi…

Ezek alapján a HOTP, TOTP alapvetően egy tisztán szoftveres megoldás tud lenni, mindösszesen egy authenticator app-nak kell futnia valamilyen számítógépen/telefonon, ami előállítja a 6-számjegyes kódokat. Bónusz előny, h. nem kell hozzá semmilyen aktív internetkapcsolat az aktuálisan érvényes kód generálása során. Akkor viszont felmerül a kérdés, ehhez minek kell egyáltalán bármilyen hardver? A Yubikey úgy csavar a security-n egy kicsit, h. a secret-et magát csak a Yubikey tárolja, a Yubico Authenticator app nem.

When using OATH with a YubiKey, the shared secrets are stored and processed in the YubiKey’s secure element. The secrets always stay within the YubiKey. A phone can get stolen, sold, infected by malware, have its storage read by a connected computer, etc.

Az Authenticator app csak átadja a countert (counter v. a time), a Yubikey kimatekolja a 6 számjegyes belépőkódot, és küldi az app-nak megjelenítésre. Így a telefon v. a PC feltörésekor/ellopásakor nem jut hozzá a támadó a secret-hez. Továbbá a hardver key miatt több PC-n ill. telefonon is használható ugyanaz az OTP account. Mi a helyzet a Yubikey ellopásakor/elvesztésekor? Az OTP accountok nyilvánosan olvashatóan ott vannak a kulcson, a támadó ilyenkor hozzánk hasonlóan ugyanilyen egyszerűen hozzáfér? PIN kóddal csak a FIDO accountok védhetőek, az OATH accountok nem. OATH application védelmére password használható.

Az OATH-ot csak a Yubikey 5 series képes tárolni, de a Security Key series vagy a Yubikey BIO (FIDO-only series) nem!

OATH/TOTP accountok esetén arra érdemes figyelni, h. alapesetben a szolgáltatások csak 1 secret-et engednek beállítani, több nem futhat párhuzamosan ugyanazon account alatt. Tehát ha több Yubikey-t is szeretnénk hozzáadni az account-hoz, akkor nem tudjuk az előző secret megsemmisülése és érvénytelendése nélkül újabb secret-et létrehozni egy 2. Yubikey-hez. Ezért a kezdeti setup során érdemes a secret-et elmenteni (kinyomtatni, aztán széfbe elzárni) mielőtt bezárjuk a beállítás végén. Mivel a TOTP valójában nem igényel aktív kliens-szerver kapcsolatot, nem akadályozza semmi h. a secret-et több authenticator v. security key példányon is felkonfiguráljuk a secret birtokában.

FIDO2:

a regisztrált security key-ek FIDO2 AA GUID-ja alapján lehet látni, milyen típusú eszközről van szó: YubiKey Hardware FIDO2 AAGUIDs – Yubico

----

Google account védelme:

a Yubico oldalán vannak videók az egyes 3rd party támogatott oldalaknál mit hol hogyan kell bekapcsolni, azaz pl. a Google account-nál is.

Google Account Security with YubiKey | Yubico

A valóságban ez picit már máshogy néz ki, mivel természetesen a videókat nem apdételik minden héten, és a 3rd party oldalak változhatnak időközben. A Google account esetében a Passkey kategória alatt vannak trükkösen eldugva a Security key-ek is. A Google úgy tűnik inkább a saját Android telefonokon beépített Passkey fícsörjét tolja, az external security key-eket több munka megtalálni a Security settings alatt.

A FIDO hitelesítésnél általában mindenhol kapunk rá lehetőséget hogy a korábban emlegetett biztonsági tartalék kulcsot is hozzáadhassuk az account védelméhez, így mindkét (vagy extrém esetben mindhárom, 4, 5... stb) kulcs egyenértékűen alkalmas a 2. faktornak. Viszont az elvesztett, megsemmisült kulcsok eltávolítását ilyenkor is lehetőleg azonnal el kell végezni.

------

Yubikey firmware:

https://docs.yubico.com/hardware/yubikey/yk-tech-manual/yk5-intro.html#…

Legfontosabb megjegyzés:

Yubico periodically updates its firmware to take advantage of features and capabilities introduced into the ecosystem. YubiKeys are programmed in Yubico’s facilities with the latest available firmware. Once programmed, YubiKeys cannot be updated to another version. The firmware cannot be altered or removed from a YubiKey.

Magyar fordítás: a firmware nem módosítható az eszközön. Ami egyszer kijött a gyárkapun, arra újabb firmware-t nem raksz rá sehogyan. Sem te, sem a Yubico! A vásárláskori firmware lesz rajta a végleges.

Ha a Yubico újabb firmware-t hoz ki másnap, és abban olyan fícsör van ami neked épp kellene, de a meglevő eszközöd pont az 1 nappal korábbi (most már régebbi) firmare-es, akkor ez azt jelenti h. mehetsz vissza a boltba és vehetsz új eszközt. A csomagoláson pedig a verzió soha nincs feltüntetve. Így nem lehetsz biztos benne mit kaptál, amíg ki nem próbálod. A Yubico webshopjában ha kijön új firmware, akkor elméletileg azzal gyártottat kezdenek el árulni, és ezt a webshopjukban fel is tüntetik. A partnerek / disztributorok esetében ez már nem feltétlenül igaz (beragadt régebbi készlet), így azoknál érdemes minden esetben konkrétan rákérdezni, még vásárlás előtt.

Szerintem a "firmware" kifejezés használata itt nagyon félrevezető. Helyette (mint ilyen esetekben szokás) inkább hardware revision-t kellene emlegetni, hiszen esélyes h. két Yubikey 5 eltérő verziójú firmware esetén a hardverükben sem lesznek azonosak.

Yubikey Firmware 5.7 announcement:

https://www.yubico.com/blog/now-available-for-purchase-yubikey-5-series…

Hozzászólások

A hazai bankok (de talán a világ egyik másik bankja sem) támogatja a Yubico hardvereit [...] A hazai bankok pedig leragadtak az SMS-nél, mint "modern" 2. faktornál [...] Nem véletlenül nem fogod megtalálni [...] a kedvenc bankodat a listában.

Bocsánat; némileg eltérek a tárgytól. A jelenlegi bankom eddig támogatott "hard token"-t, de ezentúl nem teszi. Milyen bankokról tudunk itthon, amelyek -- ha a yubikey-t nem is, de -- legalább valamilyen hard token-t támogatnak? SMS-esről tudok, de olyanra nem akarok átállni. Okoseszközt, google account-ot, etc nem akarok netbanki bejelentkezésbe bevonni.

"Okoseszközt, google account-ot, etc nem akarok netbanki bejelentkezésbe bevonni."  -  Ez a gondolat okosabb(!) mint a bevonandó eszközök. - Mert esetenként, - azaz ha szükségünk van rá, - a bankunkkal akarunk kapcsolódni, nem az egész bolygóval.

(Minden, ami kizárólag személyes biztonságunkat védené, mindezt úgy hogy lehetőleg senki, még a bank se tudja manipulálni, elvetendő a "nagypénzű" oldalon. A független biztonsági kódok nyilvántartására, azokon keresztüli biztonságos azonosításra egy petákot sem költenek. - Bezzeg a jogilag és szerintük "nem vitatható" biometrikus azonosításra mindent beáldoznak.)