W sumie nikt nie popełniał chyba jeszcze wpisu o Yubikeyach, więc potencjalny autorze - jako uzupełnienie tego wpisu masz szansę
No, ale nie o tym.
Zapewne większość z was uwierzytelnia różne rzeczy telefonem - czy to aplikacją bankową, czy też korzystając z aplikacji typu Google Authenticathor, Authy, 2FAS, Ping iD. Wiecie, jak to skonfigurować i jak obsługiwać. Ale czemu działa? I dlaczego jak zgubimy telefon i nie mamy kopii zapasowej, to nie można nijak odzyskać konta bez kodów generowanych przy podpinaniu aplikacji / klucza uwierzytelniającego?
Aby nie pomieszać (bo klucze sprzętowe typu Yubikey to jedno, a aplikacje generujące kody to drugie) warto poznać pojęcie TOTP (Time Based One Time Password). To ten 6-cyfrowy kod, który zmienia się co 30 sekund, który generuje nam aplikacja. To działa, bo istnieje "sekret", który zna authenticator. Owym "sekretem" jest właśnie jest kod (kreskowy, QR itp), który skanuje się łącząc aplikację z kontem. Gdy apka uwierzytelniająca "zna" ten sekret, może wypluwać 6-cyfrowe kody, które pozwolą na zalogowanie się - ale uwaga - nigdy nie ujawnia go ponownie i nie ma jak jej go z bebechów wydłubać.
W przypadku aplikacji na smartfony "sekret" jest przechowywany w telefonie. W przypadku kluczy sprzętowych takich jak Yubikey, "sekret" jest przechowywany TYLKO na kluczu (i ujawniony, gdy podłączysz klucz do dowolnego urządzenia, na którym możesz uruchomić Yubikey Authenticator).
Korzystając z aplikacji uwierzytelniających Jeśli chcesz, możesz wydrukować kod kreskowy / QR (czyli ów "sekret") i załadować go do wielu urządzeń (czyli np. 3 smarfony będą w stanie generować te same kody) na początku, gdy po raz pierwszy ustawiasz TOTP lub później w dowolnym terminie. Czyli tylko aplikacje, które "widziały" ów konkretny, sekretny kod będą w stanie generować dla użytkownika działające kody.
Ogólnie przyjmuje się, że najlepiej jest mieć "sekret" w dwóch miejscach, zwłaszcza w przypadku stron / kont, które nie dają opcji awaryjnego uwierzytelniania np. przy pomocy SMS (a pamiętajmy, że opcja awaryjna czyni rzeczy MNIEJ bezpiecznymi np. ta SMS-owa jest podatna na kradzież / klonowanie karty SIM). Większość ludzi w takiej sytuacji skorzystałaby z dwóch fizycznych kluczy (dlatego doradza się od razu kupowanie zapasowego), przechowywałaby wydrukowaną kopię "sekretu" do konfiguracji authenticatorów, albo kodów do odzyskwania konta gdzieś w bezpiecznym miejscu.
To, co warto zrozumieć i zapamiętać, to fakt, że nie możba NIGDY wydostać sekretu z Yubikey lub aplikacji typu Google Authenticator. Nie ma także sposobu na wykonanie kopii zapasowej klucza Yubikey lub Google Authenticator bez oryginalnego kodu kreskowego (lub jego odpowiednika tekstowego).
Klucze Yubikey obsługują również U2F, który jest lepszym, bardziej bezpiecznym rozwiązaniem od TOTP, ponieważ nie ma tu kodu, który można wyłudzić. Niestety wsparcie dla tej opcji jest rzadziej spotykane niż dla TOTP, ale zdecydowanie lepiej jest używać go, jeśli się ma taką możliwość. Jest to coś, czego prawdopodobnie nigdy nie próbowałeś, jeśli nie masz jakiejś odmiany klucza sprzętowego.
Na koniec ciekawostka: żaden polski bank nie umożliwia dodatkowego zabezpieczenia swojego konta przy pomocy kluczy sprzętowych i mimo plotek o trwających pracach, od dwóch lat temat z miejsca nie ruszył.
Uwaga: wyjaśnienie znalazłam w necie i przerobiłam, żeby się lepiej czytało i było przystępniejsze dla przeciętnego człowieka. Wg mojej wiedzy trzyma się kupy, ale jeśli ktoś znacznie lepiej obeznany ode mnie dostrzeże nieścisłości, to proszę o sprostowanie
W ogóle to ciekawe, czy ktoś tę ścianę tekstu w ogóle przeczyta
A tu trochę info o kluczach (i niech was nie pokusi kupować kiedykolwiek używki, czy korzystać z jakiegoś znalezionego na ulicy
https://www.yubico.com/yubikey-for-strong-authentication/