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