Štítky:
Android,
ano,
authenticator,
bezpečnost,
Blbost,
C,
case,
data,
FIDO,
Google,
hacker,
hardware,
Internet,
iOS,
Mate,
nano,
NFC,
Nitrokey,
open,
ověření,
paypal,
podpora,
programování,
přehled,
root,
řešení,
screenshot,
server,
software,
source,
standard,
system,
tajemství,
textové editory,
USB,
uživatel,
Vim,
výrobky,
web,
Yubikey,
zamyšlení
TOTP a bezpečnostní klíče II
25.11.2022 13:10
| Přečteno: 1656×
| Linux
|
| poslední úprava: 29.11.2022 12:59
Před časem jsem psal o použití TOTP (
Odkaz),
od té doby se mi stala nemilá věc - ztratil jsem jeden z bezpečnostních klíčů.
Ztráta klíče není ještě tak strašná věc, mám záložní, ale musím koupit nějaké nové
kousky a zaregistrovat si je, než ztratím i ten druhý (nebo se pokazí sám od sebe).
Posledně jsem psal o klíčích Yubico, které mi přijdou dost drahé, tak jsem se
porozhlédl, co vlastně trh nabízí.
Výběrová kriteria
Nejdřív jsem si ujasnil, jaké bezpečnostní klíče vlastně chci. Po čase používání jsem zjistil, že používám jenom Fido2 (třeba u Googlu) a TOTP (např. Paypal).
Takže jsem hledal klíče, které umí FIDO2 a TOTP. Nepožaduji nutně, aby jedno zařízení umělo obojí naráz, klidně budu mít v šuplíku několik klíčů.
Raději více redundantních klíčů, než přijít o přístup k nějaké službě.
Ještě bych zmínil, že nechci biometrické ověření (otisk prstu), protože vím, jak to blbě funguje na telefonech a nejsem zvědavý na to, co se stane, když budu
mít mokrý prst, nebo se říznu na bříšku prstu.
Co je třeba rozmyslet předem
Form factor
Klíče se dají sehnat v mnoha tvarech a rozměrech. Nejčastěji připomínají malou flashku, ale dělají se i baculatější, které trošku připomínají klíč do dveří, ale taky úplně
minimalistické (většinou nazývané nano, mini apod.), které se (skoro) schovají do USB konektoru.
Jelikož střídám počítače, tak bych nano už nebral, protože se prsty špatně vytahuje. Chce to uchopit nehty a pak vytáhnout, případně si vzít špendlík. Navíc nano nikdy
nepodporuje NFC.
Pak je ještě třeba se zamyslet nad tím, jestli potřebujete podporu NFC. S telefonem to funguje, ale zamotáte si prsty, když se budete snažit držet klíč
na placato co nejlblíž k NFC čipu telefonu a ještě se u toho dotýkat vyhrazené plošky na klíči. Ale nakonec se to většinou podaří. Pokud telefon disponuje USB OTG,
tak můžete klíč zapojit přímo do telefonu, vypadá to blbě, ale funguje dobře. Asi je vhodné mít ten správný konektor a nemuset nosit redukci.
A blbinka na závěr - není špatné mít na bezpečnostním klíči očko, za které se dá navěsit třeba na svazek klíčů, nebo na machr-pásku, aby někam nezapadl.
Tohle asi mají všechny klíče, které jsem viděl , tedy kromě nano, které se bežně nevytahují z konektoru.
Software a jiné věci
Dále je potřeba se zamyslet nad tím, že klíč je jenom hardware a potřebuje k sobě i nějaký software.
Pokud jde o FIDO2, není potřeba se starat, protože prohlížeč umí vše potřebné. Platí to minimálně pro ty používanější a funguje to snad na všech platformách.
U TOTP klíčů asi není žádný standard, jak má SW přistupovat k HW, tak se asi musíme spolehnout na aplikace od výrobce klíče, takže je dobré si předem prověřit,
jestli dodává aplikaci pro váš systém. Podpora Linuxu je všeobecně slabší. Většinou asi dostanete aplikaci aspoň pro Android nebo iOS.
Podpora ze strany serveru
Teď se dostáváme k věci, kterou jsem nezmínil ani v předchozím článku, a to: jak implementuje server multifaktorovou autentikaci. Jako uživatel to nemůžeme ovlivnit,
tak to berte jen jako takové malé zamyšlení.
Vzhledem k tomu, že se všechno může pokazit, musí se počítat i s tím, že se pokazí bezpečnostní klíč. Proto je tedy absolutně nutné, aby bylo možné zaregistrovat
si více bezpečnostních klíčů. Nejlépe s nějakým větším limitem na jejich počet. Myslím, že 10 by mohlo stačit.
V případě FIDO2 má klíč svoji identitu v sobě vypálenou z výroby, takže prostě zaregistrujeme více kousků. Když jeden vypadne, dokážeme se nalogovat přes jiný
a doplnit si další, abychom pořád měli nějaké redundantní klíče.
V případě TOTP jsem napsal v minulém článku velkou blbost - popsal jsem, jak nacpat jedna vstupní data (sdílené tajemství) do více klíčů. Získáme tak sice
několik stejných generátorů, ale když se postupně pokazí, tak nemáme jak doplnit záložní. Takže tak bych to dnes už nedělal.
Pokud server používá TOTP, tak musí umožňovat zaregstrovat více generátorů, tj. pro každý bezpečnostní klíč jiné sdílené tajemství. Pokud to nedovolí, tak je celé TOTP zbytečné,
protože v případě poruchy bezpečnostního klíče jsme takříkajích v p....ytli. Zkoušel jsem Paypal, a tvářilo se to, že mi dovolí zaregistrovat další klíče, takže se s tím asi počítá.
Z pohledu serveru je implementace jen o malinko složitější, než s jedním klíčem, případné kolize se asi nemusí řešit. Pokud by se měl takto implementovat HOTP,
tak bych nechtěl být ten, kdo navrhuje algoritmus na řešení kolizí.
Přehled zařízení
Snažil jsem se udělat nějakou přehlednou tabulku s nalezenými výrobky, docela mě překvapilo, kolik toho je. Snad jsem tam nenasekal moc chyb.
Krátce zmíním značky, které jsem do tabulky nezařadil, zejména proto, že jsem nenašel cenu klíčů
- Thales - docela známá firma, i když má v poslední době nějaké problémy (https://www.root.cz/clanky/postrehy-z-bezpecnosti-co-najdes-v-kontejneru/).
Na webu jsme našel jen hardwarové tokeny a spíš to vypadá že cílí na firmení zákazníky
- Symantec - (VIP Hardware Authenticator – K12S) našel jsem na Amazonu s poznámkou, že to je Feitian
- identiv - našel jsem je na Amazonu, spíš mi přijde, že dělají PKI karty
Název |
Cena |
Fido2 |
TOTP |
USB connector |
NFC |
Poznámka |
|
Yubico |
https://www.yubico.com/products/ |
|
|
|
|
|
|
YubiKey 5 NFC |
45 e |
Ano |
Ano |
A |
Ano |
|
|
YubiKey 5C NFC |
55 e |
Ano |
Ano |
C |
Ano |
|
|
YubiKey 5Ci |
70 e |
Ano |
Ano |
C, Lightning |
Ne |
|
|
YubiKey 5 Nano |
50 e |
Ano |
Ano |
A |
Ne |
|
|
YubiKey 5C |
50 e |
Ano |
Ano |
C |
Ne |
|
|
YubiKey 5C Nano |
60 e |
Ano |
Ano |
C |
Ne |
|
|
Security Key NFC |
25 e |
Ano |
Ne |
A |
Ano |
|
|
Security Key C NFC |
29 e |
Ano |
Ne |
C |
Ano |
|
|
Token2 |
https://www.token2.com/shop/category/fido2-keys |
|
|
|
|
|
|
T2F2 |
12 e |
Ano |
Ne |
A |
Ne |
|
|
T2F2-ALU |
14 e |
Ano |
Ano |
A |
Ne |
|
|
T2F2-NFC |
17.5 e |
Ano |
Ano |
A |
Ano |
|
|
T2U2F |
|
Ano |
Ne |
A |
Ne |
|
|
T2F2-mini |
18 e |
Ano |
Ne |
A |
Ne |
|
|
T2F2-TypeC |
15 e |
Ano |
Ne |
C |
Ne |
|
|
T2F2-NFC-Slim |
18 e |
Ano |
Ano |
A |
Ano |
|
|
T2F2-NFC-Dual |
19 e |
Ano |
Ano |
A, C |
Ano |
|
|
T2F2-NFC-TypeC |
17 e |
Ano |
Ano |
C |
Ano |
|
|
FEITIAN |
https://shop.ftsafe.us/ |
|
|
|
|
zmateny web |
|
ePass Fido |
$32 |
Ano |
Ne |
A |
Ne |
ruzne form factors |
|
ePass Fido NFC |
$35 |
Ano |
Ne |
A |
Ne |
ruzne form factors |
|
Neowave |
https://neowave.fr |
|
|
|
|
|
|
Winkeo A |
25 e |
Ano |
Ne |
A |
Ne |
|
|
Winkeo C |
25 e |
Ano |
Ne |
C |
Ne |
|
|
Nitrokey |
https://www.nitrokey.com/ |
|
|
|
|
Open source |
|
Nitrokey FIDO2 |
29 e |
Ano |
Ano |
A |
Ne |
|
|
Nitrokey 3 |
49 e |
Ano |
Ano |
A |
Ne |
|
|
SoloKeys |
https://solokeys.com/ |
|
|
|
|
Open source |
|
Solo 1 USB-A |
20 e |
Ano |
Ne |
A |
Ne |
|
|
Solo 1 Tap USB-A |
35 e |
Ano |
Ne |
A |
Ano |
|
|
Somu |
35 e |
Ano |
Ne |
A |
Ne |
|
|
Solo Hacker |
20 e |
Ano |
Ne |
A |
Ne |
|
|
Solo 2A+ NFC |
48 e |
Ano |
Ne |
A |
Ano |
|
|
Google |
https://store.google.com/us/config/titan_security_key |
|
|
|
|
|
|
USB-A/NFC Security Key |
$30 |
Ano |
??? |
A |
Ano |
Out of Stock |
|
USB-C/NFC Security Key |
$35 |
Ano |
??? |
C |
Ano |
Out of Stock |
|
Thetis |
https://thetis.io/ |
|
|
|
|
|
|
Thetis FIDO2 Security Key |
$20 |
Ano |
Ne |
A |
Ne |
|
|
Thetis Pro FIDO2 Security Key |
$30 |
Ano |
Ne |
A, C |
Ne |
|
|
Thetis FIDO2 BLE Security Key |
$30 |
Ano |
Ne |
A |
Ne |
|
|
Thetis FIDO U2F Security Key |
$17 |
Ano |
Ne |
A |
Ne |
|
|
Trustkey Solutions |
https://www.trustkeysolutions.com/security-keys/ |
|
|
|
|
|
|
G310H |
$50 |
Ano |
Ano |
A |
Ne |
|
|
G320H |
$55 |
Ano |
Ano |
C |
Ne |
|
|
T110 |
$16 |
Ano |
Ano |
A |
Ne |
|
|
T120 |
$19 |
Ano |
Ano |
C |
Ne |
|
|
Při pohledu do tabulky si všimneme několika věcí
- Docela velký cenový rozptyl. Může to být dáno tím, že některé klíče umí něco navíc, což v tabulce není vidět, takže bych hned neodsuzoval dražší kousky.
- Za konektor USB-C se platí 5 až 10 dolarů navíc oproti USB-A
- Na webu Feitianu se nějak nevyznám, ale vypadá to, že mají 2 čipy, které prodávají v různých form factors, cena se pak trochu liší od nejlevnějšího modelu.
- Google sice nabízí klíče, ale má je vyprodané. Po pravdě řečeno, asi by mi nedělalo dobře, když Google ví, komu ty klíče posílá a který účet tím asi zabezpečí.

- V tabulce je i pár open source výrobců
A ještě něco na závěr
Na závěr je třeba vypíchnout ještě jednu informaci. Podle zprávičky na
rootu to vypadá, že TOTP padá trochu v nemilost,
paradoxně pro svoji jednoduchost a otevřenost. Serverová strana si totiž nemůže být jistá, že sdílené tajemství máte správně zabezpečeno. Při registraci klíče si totiž můžeta data (sdílené tajemství) zkopírovat, vytisknout si QR kód, nebo jenom udělat screenshot a nešifrovaně uložit. To potom bezpečnost zapláče.
V případě FIDO2 je to přeci jenom lepší, sice asi existují přeprogramovatellné klíče, ale s těmi budou dělat hackeři, kteří se o svá data umí postarat.
Edit 29. 11. - koupil jsem GoTrust IdemKey
Krátce popíšu zkušenosti, od nepodstatných k podstatným
- Balení klíče je trošku větší, než v případě Yubica. Zatímco balení Yubikey je velikosti kreditní karty a vejde se do dokladovky (ne, že bych to tahal v dokladech, ale v dokladovce mám větší šanci, že je zase najdu), tak IdemKey je se nevejde (v každé z os x a y je asi o 1,5 cm větší, než Yubikey)
- Pokud chce člověk balení roztrhnout přesně podle perforace, musí být hodně opatrný. Ale jak řečeno v předchozím bodě, stejně obal neskladuji, protože se mi nevejde do dokladovky.
- V debianu mi nefungovalo hned, bylo potřeba upravid UDEV. Počítám, že v novější verzi už to bude fungovat v základu.
Úprava udev pravidel: pomohla diskuse na rootu:
https://forum.root.cz/index.php?topic=23702.msg352365#msg352365. Většinu linkovaných dokumentů už na stránkách GoTrustu nenajdete, takže jsem vděčný za střípky zkopírované do diskuse.
Je potřeba přidat pravidlo do udev, například do souboru
/etc/udev/rules.d/70-u2f.rules
.
ACTION!="add|change", GOTO="u2f_end"
# GoTrust Idem Key
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1fc9|32a3", ATTRS{idProduct}=="f143|3201", TAG+="uaccess"
LABEL="u2f_end"
Potom je potřeba znovu načíst pravidla:
sudo udevadm control --reload-rules
Na Youtube je stále ještě video, kde je to všechno vysvětlené:
How to setup Idem Key in Linux.
Obrázky
Tiskni
Sdílej:
Komentáře
Vložit další komentář
25.11.2022 16:27
Max | skóre: 72
| blog:
Max_Devaine
Re: TOTP a bezpečnostní klíče II
25.11.2022 19:56
BFU
Re: TOTP a bezpečnostní klíče II
25.11.2022 20:36
kolcon
Re: TOTP a bezpečnostní klíče II
Založit nové vlákno •
Nahoru