• uwierzytelnianie
  • hasło
  • oauth
  • oidc
  • tożsamość

Hasło nie umiera

W zeszłym roku w internecie krążyły artykuły donoszące o tym, że duże firmy technologiczne łączą siły, aby wyeliminować hasła. Niektóre start-upy nawet ogłosiły, że hasła są przestarzałe i anachroniczne.

Gao
Gao
Founder

Wprowadzenie

W zeszłym roku w internecie krążyły artykuły donoszące o tym, że duże firmy technologiczne, takie jak Apple, Google i Microsoft, łączą siły, aby wyeliminować hasła. Niektóre start-upy nawet ogłosiły, że hasła są przestarzałe i anachroniczne. Po kilkumiesięcznym zagłębianiu się w obszar zarządzania tożsamością zacząłem kwestionować zasadność i praktyczność tych twierdzeń.

Co robi hasło?

Na pierwszy rzut oka odpowiedź wydaje się oczywista: hasła są używane do logowania i weryfikacji tożsamości. Jednak jeśli weźmiemy pod uwagę fakt, że hasła nie mogą naprawdę zweryfikować, kim jesteś, moje stanowisko jest inne:

  • Gdy użytkownik loguje się do strony za pomocą e-maila i hasła, strona nie ma sposobu, aby potwierdzić, kto jest za tymi danymi. Mogłoby to być człowiek, a nawet kot.
  • Każdy może odblokować iPhone'a, jeśli ma właściwy PIN.

W rzeczywistości głównym celem hasła jest anonimowe udowodnienie posiadania czegoś: konta użytkownika, urządzenia lub dostępu do drzwi.

Aktualne „zabójcy haseł”

Wcześniej wspomniane firmy zaproponowały różne "zabójcy haseł". Wiele z nich twierdzi, że są bezpieczniejszymi alternatywami, które eliminują konieczność zapamiętywania przez użytkowników skomplikowanych, statycznych haseł podczas uwierzytelniania. Jednak większość z tych alternatyw nie jest w pełni praktyczna do całkowitego usunięcia haseł.

Uwierzytelnianie FIDO

Uwierzytelnianie FIDO (Fast Identity Online), jak wyjaśniono w oficjalnej dokumentacji, wykorzystuje techniki kryptografii klucza publicznego do rejestracji i logowania (warto zauważyć, że WebAuthn jest kluczowym elementem specyfikacji FIDO2). Na powierzchni proces wydaje się atrakcyjny:

Proste, prawda? Niestety, na drodze stoi znaczna przeszkoda: kompatybilność. W porównaniu do tradycyjnej kombinacji "identyfikator i hasło", uwierzytelnianie FIDO wymaga:

  • Stron lub aplikacji obsługujących FIDO.
  • Przeglądarki i/lub systemy operacyjne obsługujące FIDO.
  • Urządzenia użytkowników mające przyjazny mechanizm weryfikacji.

Niespełnienie któregokolwiek z tych wymagań sprawia, że uwierzytelnianie FIDO jest niedostępne, co wymusza korzystanie z innych metod.

Co więcej, nawet jeśli spełnione są wszystkie warunki, co kwalifikuje się jako "przyjazny dla użytkownika mechanizm weryfikacji" na urządzeniu? Obecnie może to obejmować metody biometryczne, takie jak odcisk palca lub rozpoznawanie twarzy, z opcją zapasową, taką jak kod PIN, czyli hasło. W końcu wracamy do punktu wyjścia.

Technicznie rzecz biorąc, to nie jest "zabójca haseł", ale raczej bardziej bezpieczny i przyjazny dla użytkownika proces uwierzytelniania lub weryfikacji, chroniony hasłami.

Jednorazowe hasła

Chociaż nazwa zawiera termin „hasło”, jednorazowe hasła (OTP) nie są tradycyjnymi hasłami, ponieważ są dynamiczne. Istnieją dwa popularne typy jednorazowych haseł:

  • Hasło jednorazowe oparte na czasie (TOTP): Generowane algorytmicznie przy użyciu aktualnego czasu jako źródła unikalności. Powszechnie stosowany w uwierzytelnianiu wieloskładnikowym (MFA) lub 2FA.
  • Jednorazowe hasło SMS/Email: Generowane na serwerze przy użyciu algorytmów losowych. W niektórych krajach zostało powszechnie przyjęte jako główna metoda logowania.

TOTP może nie być szeroko znane z nazwy. Na przykład, gdy strona internetowa prosi cię o skonfigurowanie MFA i użycie aplikacji takiej jak Google Authenticator lub Duo do zeskanowania kodu QR, najprawdopodobniej korzystasz z TOTP. Mogłeś również zauważyć, że witryna często wyświetla długi "kod odzyskiwania" i radzi ci go zapisać, ponieważ będzie pokazywany tylko raz. Niektóre strony nawet zachęcają użytkowników do wydrukowania go na papierze. W istocie ten kod odzyskiwania działa jak długie hasło.

Jeśli chodzi o hasła jednorazowe SMS/Email, mogą być drogie i niewiarygodne:

  • Budowanie wysyłającego SMS lub e-mail od podstaw wymaga konfiguracji.
  • Wysyłający e-maile muszą ustanowić pozytywną "reputację", aby poprawić możliwość dostarczenia, w przeciwnym razie wysyłający może zostać oznaczony jako spam.
  • Każdy kraj ma swoje własne operatory sieci komórkowych, co prowadzi do nieprzewidywalnych czasów dostawy i znacznych kosztów wysyłania SMS, szczególnie dla start-upów.

Biometria

Termin "biometria" odnosi się do stosowania wyłącznie metod biometrycznych do uwierzytelniania online. W rzeczywistości jest fundamentalna różnica w porównaniu do innych metod: uwierzytelnianie biometryczne przesuwa oryginalne zadanie "udowodnienia posiadania czegoś" na "udowodnienie, kim jesteś". Ze względu na obawy o prywatność, metody biometryczne są głównie stosowane do lokalnego uwierzytelniania.

Hasło nie jest jednak doskonałe

Jak możemy zobaczyć, "zabójcy haseł" w zasadzie ukrywają hasła lub używają haseł jako opcji zapasowych. Oto podsumowanie zalet haseł na podstawie naszej dyskusji:

  • Dostępność i kompatybilność: Hasła mogą być używane w różnych systemach i są dostępne dla szerokiego zakresu użytkowników.
  • Efektywność kosztowa i wszechstronność: Uwierzytelnianie oparte na hasłach jest zazwyczaj bardziej efektywne kosztowo niż inne metody i dostosowuje się do różnych scenariuszy.
  • Anonimowość i prywatność: Hasła umożliwiają anonimowe korzystanie i chronią prywatność użytkownika.

Ale każdy medal ma dwie strony. Chociaż hasła mają swoje zalety, poleganie wyłącznie na nich podczas uwierzytelniania stanowi znaczne zagrożenie. Mogą być trudne do zarządzania dla użytkowników końcowych, a jeśli właściciele stron internetowych nie przestrzegają właściwych praktyk bezpieczeństwa, hasła stają się łatwe do złamania. Niebezpieczne praktyki bezpieczeństwa obejmują, ale nie ograniczają się do:

  • Pozwolenie na słabe lub wyciekłe hasła.
  • Brak wymuszania HTTPS dla połączeń.
  • Stosowanie niebezpiecznych algorytmów haszujących.
  • Niedotrzymanie się ścisłych, sprawdzonych w boju standardów, takich jak OAuth lub OpenID Connect (OIDC).
  • Ujawnianie bazy danych publicznie.

Wnioski

Nie mam zamiaru umniejszać żadnej z wyżej wymienionych metod uwierzytelniania. Wręcz przeciwnie, pracując nad budową Logto, zyskałem wielki szacunek dla tych niezwykłych metod uwierzytelniania i osób za nimi stojących.

Jednak osiągnięcie 100% bezpieczeństwa jest celem nieosiągalnym. Co możemy zrobić, to zmniejszyć możliwość ataku. Jednym z efektywnych podejść jest połączenie uwierzytelniania opartego na hasłach z jednorazowymi hasłami w oparciu o obecne urządzenie lub środowisko, co dodaje dodatkową warstwę weryfikacji i zostało powszechnie przyjęte. Wykorzystując moc różnych technik uwierzytelniania, możemy stworzyć wielowarstwowe podejście, które zapewnia silniejszą ochronę.

Podsumowując, zamiast skupiać się na modne terminy, jak "zabójca haseł", kiedy hasła nie są naprawdę eliminowane, bardziej warto skupić się na znalezieniu równowagi między bezpieczeństwem a doświadczeniem użytkownika. Oznacza to zrozumienie mocnych i słabych stron różnych metod uwierzytelniania i ich wdrożenie w taki sposób, który zapewnia zarówno bezpieczeństwo danych użytkownika, jak i bezproblemowe doświadczenie użytkownika.