Logowanie kluczem U2F do panelu

W toku
nagrodzone, panel-lvlup-pro
Axerr
Axerr

Cześć,

Chodzą słuchy, że do panelu zostanie dodane logowanie dwuskładnikowe. Teraz ja przychodzę z propozycją, aby dodać też logowanie za pomocą fizycznego klucza U2F. Logowanie za pomocą takiego klucza jest o wiele bezpieczniejsze, niż logowanie kodami z weryfikacji dwuetapowej.

Pozdrawiam :)

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Axerr:

Logowanie za pomocą takiego klucza jest o wiele bezpieczniejsze, niż logowanie kodami z weryfikacji dwuetapowej.

[potrzebne źródło]


Prawda jest taka, że praktycznie wszystkie strony, które implementują np. YubiKey, wymagają też dodania najpierw innej metody, np. TOTP z aplikacji Google Authenticator lub podobnej.

Klucze fizyczne natomiast są wygodniejsze niż konieczność sięgania do telefonu jeśli mamy je ciągle dostępne pod ręką (passthrough w klawiaturze, laptop). Czy są bezpieczniejsze? W teorii tak, w praktyce jeśli ktoś może "shakować" nam telefon, może też shakować komputer, na którym w końcu użyjemy tego fizycznego klucza.

Prawdziwe U2F (nie pole do wprowadzenia kodu, bo to też TOTP) ma natomiast ten teoretyczny benefit, że całkiem sensownie chroni przed phishingiem. Jednak z założenia osoby, które dobrowolnie skorzystają z takiego rodzaju dodatkowego uwierzytelniania, są prawdopodobnie tymi bardziej świadomymi.

Powoduje to, że atak taki jest mocno utrudniony już na samym początku. Najwięcej z tego zyskują firmy, które wymuszają na wszystkich swoich pracownikach użycie tego typu kluczy.

Axerr
Axerr

Nieznajomy11:

[potrzebne źródło]

https://flyonthecloud.com/pl/blog/klucze-bezpieczenstwa-u2f/ https://avlab.pl/yubikey-najskuteczniejsza-ochrona-przed-phishingiem-i-przejeciem-konta/

Nieznajomy11:

Prawdziwe U2F (nie pole do wprowadzenia kodu, bo to też TOTP) ma natomiast ten teoretyczny benefit, że całkiem sensownie chroni przed phishingiem. Dokładnie, TOTP nie ochroni Cie przed phishingiem, bo kod na stronie phishingowej można podać i osoba, która przechwyci kod zaloguje się do usługi. W przypadku klucza to tak nie działa, strona MUSI być powiązana z kluczem, więc gdy użyję klucza przykładowo na domenie levelup.pro, zamiast lvlup.pro to po prostu to nie przejdzie (dosłownie 😅).

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Axerr:

W przypadku klucza to tak nie działa, strona MUSI być powiązana z kluczem, więc gdy użyję klucza przykładowo na domenie levelup.pro, zamiast lvlup.pro to po prostu to nie przejdzie (dosłownie 😅).

Nie, to nie jest prawda. Nie do końca zrozumiałeś. Sam klucz nie gwarantuje ci tego bezpieczeństwa. Taki YubiKey domyślnie działa jako urządzenie HUD i generuje uwaga: kody TOTP. I jest to jedna z możliwych implementacji. Z popularniejszych usług, ma tak, np. LastPass. Jak najbardziej gdyby wpisać dane w fałszywym formularzu, mogłyby zostać one przechwycone i użyte do logowania w prawdziwym.

Jest też sposób implementacji jako prawdziwe U2F i wtedy zachodzi bezpośrednia komunikacja, a nie wpisywanie kodu jak klawiatura. Korzysta z tego m.in. GitLab. Więc nie - użycie klucza nie gwarantuje większego bezpieczeństwa. YubiKey to nie tylko U2F.

Użycie TOTP ma swoje plusy i minusy, np. pozwala na wykorzystanie klucza NFC do odczytania kodu na telefonie, skopiowanie go i wprowadzenie na dowolnej stronie, która korzysta z tej metody weryfikacji.

Axerr
Axerr

Ja mam na myśli tutaj takie rozwiązanie: image|622x500, 75%

Klucz Cię nie zautoryzuje na stronie phishingowej, bo nie ma jej przypisanej. Tylko na prawdziwej stronie będzie można użyć klucza.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Tak, wiem jak to wygląda. Chodzi tylko i wyłącznie o to, że:

  1. najczęściej i tak wymaga się TOTP w postaci telefonu, tak abyś nie zablokował sobie całkiem dostępu, gdy np. twój klucz zostanie uszkodzony
  2. wydawałeś się używać zamiennie klucz z u2f, podczas gdy większość kluczy wspiera x różnych protokołów i wsparcie yubikey nie oznacza z automatu ochrony przed phishingiem
  3. potencjalny atakujący nie sądze, żeby celował w osoby, które samodzielnie sobie włącza u2f z yubikey, podczas gdy mają nieskończenie wiele więcej potencjalnych celów z czymś znacznie prostszym
Axerr
Axerr

Nieznajomy11:

najczęściej i tak wymaga się TOTP w postaci telefonu, tak abyś nie zablokował sobie całkiem dostępu Raczej nie jestem z tych osób, które ciągle coś gubią :slight_smile: Przypominam, że to tylko propozycja. Ja osobiście używam klucza U2F do Gugiela, KsiążkiTwarzy, popularnego serwisu kontroli wersji, mojej prywatnej strony, a może i w przyszłości lvlupa? 😅

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Axerr:

Raczej nie jestem z tych osób, które ciągle coś gubią

Elektronika się psuje. Wypadki się zdarzają. Nie trzeba jej zgubić, żeby przestała działać. Sam mam podpięte w wielu serwisach TOTP z telefonu i dwa różne klucze YubiKey. Pomijam wydrukowane kartki z kodami zapasowymi.

Korzystanie z tylko jednego klucza to najprostsza droga do utraty dostępu do jakiegoś konta.

Axerr:

Gugiela

Najlepszy przykład. W Google przed dodaniem klucza dodaje się, chociażby weryfikacje telefonem, z tego co pamiętam to albo przez popup, albo przez SMS.

Axerr:

a może i w przyszłości lvlupa

Podczas gdy jest to na pewno ciekawa technologia, a poprawnie zaimplementowana w teorii zwiększa bezpieczeństwo użytkowników jeszcze bardziej, liczba faktycznych osób, która z tego rozwiązania skorzysta, jest bardzo mała. Sam bym to włączył, tak dla zasady. Nie uważam jednak, żeby w tym przypadku przyczyniło się to do jakiejkolwiek realnej poprawy bezpieczeństwa użytkowników, porównując do klasycznego 2FA. Bardziej do listy "fajnie by było mieć".

Axerr
Axerr

Bump. Czy jeżeli zostanie wprowadzone 2FA do panelu, możecie wprowadzić przy okazji protokół FIDO U2F? Byłoby miło :D

Nieznajomy11:

Najlepszy przykład. W Google przed dodaniem klucza dodaje się, chociażby weryfikacje telefonem, z tego co pamiętam to albo przez popup, albo przez SMS. https://landing.google.com/advancedprotection/

SystemZ
SystemZ Admin lvlup.pro

Nieznajomy11:

Prawda jest taka, że praktycznie wszystkie strony, które implementują np. YubiKey, wymagają też dodania najpierw innej metody, np. TOTP z aplikacji Google Authenticator lub podobnej.

Tak, każda w miarę pomyślana implementacja zakłada zgubienie/zniszczenie fizycznego klucza. TOTP można całkiem łatwo backupować. Tworzenie kopii dla klucza fizycznego jest jednak trochę problematyczne chociażby kosztowo aby nabyć drugi. Na dodatek nie wszystkie serwisy implementują obsługę chociażby dwóch. Trochę spory bałagan jak na taką w miarę nową technologię.

Axerr:

Czy jeżeli zostanie wprowadzone 2FA do panelu, możecie wprowadzić przy okazji protokół FIDO U2F?

W zasadzie tu mogę użyć wcześniejszego posta @Nieznajomy11 aby Ci odpowiedzieć

Nieznajomy11:

Podczas gdy jest to na pewno ciekawa technologia, a poprawnie zaimplementowana w teorii zwiększa bezpieczeństwo użytkowników jeszcze bardziej, liczba faktycznych osób, która z tego rozwiązania skorzysta, jest bardzo mała. Sam bym to włączył, tak dla zasady. Nie uważam jednak, żeby w tym przypadku przyczyniło się to do jakiejkolwiek realnej poprawy bezpieczeństwa użytkowników, porównując do klasycznego 2FA. Bardziej do listy “fajnie by było mieć”.

Też używam Yubikey już od jakiegoś 1,5 roku ale nie jest to takie super rozwiązanie jakby mogło się wydawać z pozoru. Nie sądzę aby przynajmniej z 5% naszych użytkowników miała dedykowany fizyczny klucz do zabezpieczeń. Wygląda to na dobry temat aby zrobić ankietę. Może sytuacja trochę zmieni się w przyszłości np. więcej osób zacznie używać telefonu jako takiego klucza lub inne nieznane mi obecnie rozwiązania więc o tej implementacji U2F zadecyduje w przyszłości. Póki co nie mówię ani nie ani tak, czas pokaże. Wątek jest przydatny bo wynikła fajna dyskusja więc został już nagrodzony.

Tak czy inaczej najpierw musimy zaimplementować standardowe TOTP zanim możemy ruszyć temat U2F

https://lvlup.rok.ovh/t/dwustopniowe-uwierzytelnianie/1919