Logowanie kluczem U2F do panelu

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 :slight_smile:

[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.


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 :sweat_smile:).

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.

Ja mam na myśli tutaj takie rozwiązanie:

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

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

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? :sweat_smile:

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.

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.

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ć”.

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

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ę.

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

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

4 polubienia