Dowiedz się, jak Yahoo! Japonia opracowała system tożsamości bez hasła.
Yahoo! JAPAN to jedna z największych firm medialnych w Japonii, która oferuje usługi takie jak wyszukiwarka, wiadomości, handel elektroniczny i poczta e-mail. Ponad 50 milionów użytkowników loguje się w Yahoo! JAPAN co miesiąc.
Na przestrzeni lat odnotowano wiele ataków na konta użytkowników i problemów, które doprowadziły do utraty dostępu do kont. Większość tych problemów była związana z używaniem hasła do uwierzytelniania.
Dzięki ostatnim postępom w technologii uwierzytelniania Yahoo! JAPAN zdecydował się przejść z uwierzytelniania opartego na haśle na uwierzytelnianie bez hasła.
Dlaczego warto korzystać bez hasła?
Ponieważ Yahoo! JAPAN oferuje usługi e-commerce i inne usługi związane z pieniądzami, więc w przypadku nieautoryzowanego dostępu lub utraty konta istnieje ryzyko znacznych strat dla użytkowników.
Najczęstsze ataki związane z hasłami to ataki na listy haseł i oszustwo phishingowe. Jednym z powodów, dla których ataki na listy haseł są częste i skuteczne, jest fakt, że wiele osób używa tego samego hasła w różnych aplikacjach i witrynach.
Wyniki ankiety przeprowadzonej przez Yahoo! JAPAN.
50 %
ten sam identyfikator i hasło w co najmniej 6 witrynach
60%
Używanie tego samego hasła na wielu stronach
70 %
używać hasła jako głównego sposobu logowania się;
Użytkownicy często zapominają hasła, co stanowi większość zapytań dotyczących haseł. Otrzymywali też pytania od użytkowników, którzy zapomnieli identyfikatorów logowania i haseł. W szczytowym okresie stanowiły one ponad 1/3 wszystkich zapytań dotyczących kont.
Dzięki przejściu na systemy niewymagające haseł Yahoo! JAPAN miało na celu nie tylko zwiększenie bezpieczeństwa, ale też poprawę użyteczności bez nakładania dodatkowych obciążeń na użytkowników.
Z punktu widzenia bezpieczeństwa wyeliminowanie haseł z procesu uwierzytelniania użytkownika zmniejsza szkody spowodowane atakami na podstawie list. Z kolei z punktu widzenia użyteczności udostępnienie metody uwierzytelniania, która nie wymaga zapamiętywania haseł, zapobiega sytuacjom, gdy użytkownik nie może się zalogować, ponieważ zapomniał hasła.
Yahoo! Japan
Yahoo! JAPAN promuje uwierzytelnianie bez hasła. Można je podzielić na 3 kategorie:
- udostępnić alternatywne metody uwierzytelniania zamiast haseł;
- dezaktywacja hasła;
- Rejestracja konta bez hasła.
Pierwsze 2 inicjatywy są skierowane do obecnych użytkowników, a rejestracja bez hasła jest przeznaczona dla nowych użytkowników.
1. udostępnienie alternatywnej metody uwierzytelniania zamiast haseł;
Yahoo! JAPAN oferuje następujące alternatywy dla haseł.
Poza tym oferujemy też metody uwierzytelniania, takie jak uwierzytelnianie e-mail, hasło w połączeniu z hasłem jednorazowym (hasło jednorazowe) oraz hasło w połączeniu z hasłem jednorazowym wysłanym z użyciem hasła jednorazowego.
Uwierzytelnianie przez SMS-a
Uwierzytelnianie SMS to system, który umożliwia zarejestrowanemu użytkownikowi 6-cyfrowy kod weryfikacyjny w SMS-ie. Po otrzymaniu SMS-a użytkownik może wpisać kod uwierzytelniający w aplikacji lub na stronie internetowej.
Od dawna zezwalamy systemowi iOS na odczytywanie SMS-ów i proponowanie kodów uwierzytelniających z tekstu wiadomości. Niedawno udostępniliśmy możliwość korzystania z sugestii. Aby to zrobić, w atrybucie autocomplete
elementu wejściowego należy podać wartość „one-time-code”. W Chrome na Androida, Windowsa i komputera Mac można używać takich samych funkcji jak interfejs WebOTP API.
Na przykład:
<form>
<input type="text" id="code" autocomplete="one-time-code"/>
<button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
const input = document.getElementById('code');
if (!input) return;
const ac = new AbortController();
const form = input.closest('form');
if (form) {
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
input.value = otp.code;
}).catch(err => {
console.log(err);
});
}
Oba te podejścia mają na celu zapobieganie wyłudzaniu informacji przez dodanie domeny w tekst wiadomości SMS i podanie sugestii tylko dla określonej domeny.
Więcej informacji o interfejsie WebOTP API i autocomplete="one-time-code"
znajdziesz w artykule o sprawdzonych metodach dotyczących hasła jednorazowego w formie SMS.
FIDO z WebAuthn
FIDO z WebAuthn używa uwierzytelniania sprzętowego do generowania pary kluczy publiczny-szyfr i potwierdzenia posiadania. Jeśli jako uwierzytelniacz używany jest smartfon, można go połączyć z uwierzytelnianiem biometrycznym (np. czytnikiem linii papilarnych lub rozpoznawaniem twarzy), aby przeprowadzić uwierzytelnianie dwuskładnikowe w jednym kroku. W takim przypadku do serwera wysyłane są tylko podpis i wskaźnik powodzenia uwierzytelniania biometrycznego, nie ma więc ryzyka kradzieży danych biometrycznych.
Na poniższym diagramie pokazano konfigurację serwera i klienta FIDO. Autentyfikator klienta uwierzytelnia użytkownika za pomocą danych biometrycznych i podpisuje wynik przy użyciu szyfrowania kluczem publicznym. Klucz prywatny używany do tworzenia podpisu jest bezpiecznie przechowywany w środowisku Trusted Execution Environment (TEE) lub w podobnym miejscu. Dostawca usług korzystający z FIDO jest nazywany RP (stroną uzależnioną).
Więcej informacji znajdziesz w wytycznych dotyczących uwierzytelniania FIDO Alliance.
Yahoo! JAPAN obsługuje FIDO w Androidzie (aplikacja mobilna i wersja internetowa), iOS (aplikacja mobilna i wersja internetowa), Windows (Edge, Chrome, Firefox) i macOS (Safari, Chrome). Jako usługa dla konsumentów FIDO może być używana na prawie każdym urządzeniu, co czyni ją dobrym rozwiązaniem do promowania uwierzytelniania bez hasła.
Yahoo! JAPAN zaleca, aby użytkownicy rejestrowali się w usłudze FIDO za pomocą WebAuthn, jeśli nie zostali jeszcze uwierzytelnieni w inny sposób. Gdy użytkownik musi zalogować się na tym samym urządzeniu, może szybko uwierzytelnić się za pomocą czujnika biometrycznego.
Użytkownicy muszą skonfigurować uwierzytelnianie FIDO na wszystkich urządzeniach, których używają do logowania się w Yahoo. JAPAN.
Aby promować uwierzytelnianie bez hasła i uwzględniać potrzeby użytkowników, którzy odchodzą od haseł, udostępniamy różne metody uwierzytelniania. Oznacza to, że różni użytkownicy mogą mieć różne ustawienia metody uwierzytelniania, a metody, których mogą używać, mogą się różnić w zależności od przeglądarki. Uważamy, że wygodniej jest, gdy użytkownicy logują się za każdym razem przy użyciu tej samej metody uwierzytelniania.
Aby spełnić te wymagania, konieczne jest śledzenie poprzednich metod uwierzytelniania i powiązanie tych informacji z klientem poprzez ich przechowywanie w postaci plików cookie itp. Dzięki temu możemy analizować, jak różne przeglądarki i aplikacje są używane do uwierzytelniania. Użytkownik jest proszony o przeprowadzenie odpowiedniego uwierzytelniania na podstawie jego ustawień, poprzednich użytych metod uwierzytelniania i minimalnego wymaganego poziomu uwierzytelniania.
2. Dezaktywacja hasła
Yahoo! JAPAN prosi o skonfigurowanie alternatywnej metody uwierzytelniania, a następnie wyłączenie hasła, aby nie można było go używać. Oprócz skonfigurowania uwierzytelniania alternatywnego wyłączenie uwierzytelniania za pomocą hasła (co uniemożliwia logowanie się za pomocą samego hasła) pomaga chronić użytkowników przed atakami opartymi na listach.
Podjęliśmy następujące kroki, aby zachęcić użytkowników do wyłączania haseł.
- promowanie alternatywnych metod uwierzytelniania, gdy użytkownicy resetują hasła;
- Zachęcanie użytkowników do konfigurowania łatwych w użyciu metod uwierzytelniania (takich jak FIDO) i wyłączanie haseł w sytuacjach, które wymagają częstego uwierzytelniania.
- Zachęcanie użytkowników do wyłączenia haseł przed skorzystaniem z usług wysokiego ryzyka, takich jak płatności e-commerce.
Jeśli użytkownik zapomni hasło, może odzyskać konto. Wcześniej wymagało to zresetowania hasła. Użytkownicy mogą teraz skonfigurować inną metodę uwierzytelniania i zachęcamy ich do tego.
3. Rejestracja konta bez hasła
Nowi użytkownicy mogą tworzyć konta Yahoo! konta JAPAN. Użytkownicy muszą najpierw zarejestrować się za pomocą uwierzytelniania SMS. Po zalogowaniu się zachęcamy użytkownika do skonfigurowania uwierzytelniania FIDO.
Ponieważ FIDO to ustawienie na urządzeniu, odzyskanie konta może być trudne, jeśli urządzenie przestanie działać. Dlatego wymagamy od użytkowników zarejestrowania numeru telefonu nawet po skonfigurowaniu dodatkowego uwierzytelniania.
Najważniejsze wyzwania związane z uwierzytelnianiem bez hasła
Hasła są przechowywane w pamięci ludzkiej i niezależnie od urządzenia. Z drugiej strony metody uwierzytelniania wprowadzone do tej pory w ramach naszej inicjatywy bez haseł zależą od urządzenia. Wiąże się to z kilkoma wyzwaniami.
W przypadku korzystania z wielu urządzeń występują pewne problemy związane z użytecznością:
- Jeśli do zalogowania się na komputerze użytkownik korzysta z uwierzytelniania SMS-em, musi sprawdzić, czy na jego telefon nie dotarł SMS. Może to być niewygodne, ponieważ wymaga, aby telefon użytkownika był dostępny i łatwo dostępny w każdej chwili.
- W przypadku FIDO, zwłaszcza uwierzytelniania na platformie, użytkownik korzystający z kilku urządzeń nie będzie mógł uwierzytelnić się na urządzeniach niezarejestrowanych. Rejestracja musi zostać przeprowadzona w przypadku każdego urządzenia, którego zamierzają używać.
Uwierzytelnianie FIDO jest powiązane z konkretnymi urządzeniami, które muszą pozostać w posiadaniu użytkownika i być aktywne.
- Jeśli umowa o świadczenie usług zostanie anulowana, nie będzie już można wysyłać SMS-ów na zarejestrowany numer telefonu.
- FIDO przechowuje klucze prywatne na konkretnym urządzeniu. Jeśli urządzenie zostanie zgubione, te klucze nie będą działać.
Yahoo! JAPAN podejmuje różne działania w reakcji na te problemy.
Najważniejszym rozwiązaniem jest zachęcanie użytkowników do konfigurowania wielu metod uwierzytelniania. Dzięki temu będziesz mieć dostęp do konta w przypadku utraty urządzenia. Ponieważ klucze FIDO są powiązane z urządzeniem, warto też zarejestrować klucze prywatne FIDO na wielu urządzeniach.
Użytkownicy mogą też używać interfejsu WebOTP API do przekazywania kodów weryfikacyjnych w SMS-ach z telefonu z Androidem do Chrome na komputerze.
Uważamy, że rozwiązanie tych problemów staje się jeszcze ważniejsze w miarę upowszechniania się uwierzytelniania bez hasła.
Promowanie uwierzytelniania bez hasła
Yahoo! JAPAN pracuje nad tymi inicjatywami bez haseł od 2015 roku. Zaczęło się to od uzyskania certyfikatu serwera FIDO w maju 2015 r., a potem wprowadziliśmy uwierzytelnianie SMS-em, funkcję dezaktywacji hasła i obsługę FIDO na każdym urządzeniu.
Obecnie ponad 30 milionów aktywnych użytkowników korzysta z metod uwierzytelniania bez hasła. Yahoo! W JAPONIE obsługa FIDO została wprowadzona w Chrome na Androida, a obecnie ponad 10 milionów użytkowników skonfigurowało uwierzytelnianie FIDO.
W związku z aktualizacją wymagań interfejsu Yahoo! JAPAN's, odsetek zapytań dotyczących zapomnianych identyfikatorów logowania lub haseł zmniejszył się o 25% w porównaniu z okresem, w którym liczba takich zapytań była najwyższa. Potwierdzamy też, że nieautoryzowany dostęp zmniejszył się w wyniku zwiększenia liczby kont bez hasła.
FIDO jest bardzo łatwe w konfigurowaniu, dlatego ma szczególnie wysoki współczynnik konwersji. W związku z tym Yahoo! JAPAN stwierdził, że FIDO ma wyższą skuteczność konwersji niż uwierzytelnianie SMS-em.
25 %
Zmniejszenie liczby próśb o zapomniane dane logowania
74 %
Użytkownicy pomyślnie uwierzytelnieni za pomocą FIDO
65 %
Jak zweryfikować numer telefonu za pomocą SMS-a
Uwierzytelnianie FIDO charakteryzuje się wyższym wskaźnikiem sukcesu niż uwierzytelnianie SMS-em oraz krótszym średnim i średnim czasem uwierzytelniania. Niektóre grupy mają krótki czas uwierzytelniania. Podejrzewamy, że powodem jest autocomplete="current-password"
w przeglądarce.
Największym problemem w oferowaniu kont bez haseł jest nie dodawanie metod uwierzytelniania, ale popularyzowanie korzystania z urządzeń uwierzytelniających. Jeśli korzystanie z usługi bez hasła nie jest przyjazne dla użytkownika, przejście na nią może być trudne.
Uważamy, że aby zwiększyć bezpieczeństwo, musimy najpierw poprawić użyteczność, co będzie wymagać wprowadzenia unikalnych innowacji w każdej usłudze.
Podsumowanie
Uwierzytelnianie za pomocą hasła jest ryzykowne pod względem bezpieczeństwa, a także powoduje problemy z użytecznością. Teraz, gdy technologie obsługujące uwierzytelnianie bez hasła, takie jak WebOTP API i FIDO, są bardziej dostępne, nadszedł czas, aby zacząć pracować nad uwierzytelnianiem bez hasła.
W Yahoo! Japan takie podejście miało bezpośredni wpływ na łatwość obsługi i bezpieczeństwo. Jednak wielu użytkowników nadal korzysta z haseł, dlatego nadal będziemy zachęcać coraz więcej użytkowników do przejścia na metody uwierzytelniania bez hasła. Nadal będziemy też ulepszać nasze usługi, aby optymalizować korzystanie z metod uwierzytelniania bez hasła.
Zdjęcie: olieman.eth z Unsplash