Bezpieczne, szybkie, niezawodne logowanie (Secure, Quick, Reliable Login) lub SQRL (wymawiane „wiewiórka”), to projekt otwartego standardu anonimowej i bezpiecznej identyfikacji użytkowników i uwierzytelniania w witrynach i aplikacjach internetowych. Został zaproponowany przez jego wynalazcę Steve’a Gibsona jako łatwy w użyciu zamiennik nazw użytkowników, haseł i MFA.
SQRL został zaprojektowany w celu wyeliminowania uwierzytelniania nazwy użytkownika i hasła na zdalnych stronach internetowych.
Korzystając z SQRL, użytkownicy muszą podać tylko jedno hasło, aby odblokować klucze do podpisywania. Klucze są przechowywane lokalnie na ich urządzeniu i nigdy nie są ujawniane żadnej stronie internetowej. Hasło jest weryfikowane lokalnie na urządzeniu przechowującym klucze podpisywania.
Aby uwierzytelnić się za pomocą SQRL, odwiedzający witrynę internetową są jednoznacznie identyfikowani przez anonimowy identyfikator SQRL. Przedstawiają go za każdym razem, gdy odwiedzają tę samą witrynę. Ponieważ nie ma dwóch odwiedzających o tym samym identyfikatorze, strona internetowa może jednoznacznie i anonimowo zidentyfikować każdego z odwiedzających.?
Chociaż użytkownicy zawsze podają ten sam identyfikator tej samej witrynie, przedstawiają zupełnie inny identyfikator każdej innej odwiedzanej witrynie. Dzięki temu niemożliwe jest powiązanie tożsamości między witrynami.
Proces logowania SQRL działa w następujący sposób:
• Użytkownik jest prezentowany z adresem URL usługi uwierzytelniania dla witryny, zamiast typowego ekranu logowania z nazwą użytkownika/hasłem. Adres URL może być również przedstawiony jako kod QR w celu łatwego skanowania przez urządzenia mobilne. Oprócz lokalizacji usługi uwierzytelniania adres URL zawiera również bezpiecznie wygenerowaną, długą i losową liczbę (znaną również jako nonce). Dzięki czemu każda prezentacja strony logowania wyświetla inny kod QR.
• Używając aplikacji uwierzytelniającej SQRL na urządzeniu użytkownika (którym może być smartfon lub inne urządzenie), adres URL jest szyfrowany kryptograficznie wraz z kluczem głównym użytkownika w celu utworzenia pary kluczy publicznych specyficznej dla witryny.
• Aplikacja następnie kryptograficznie podpisuje adres URL przy użyciu klucza prywatnego specyficznego dla witryny. Ponieważ adres URL zawiera bezpieczną długą liczbę losową (jednorazową), podpis jest unikalny dla tej witryny.
• Aplikacja wysyła bezpieczne polecenie HTTPS POST do usługi uwierzytelniania określonej w adresie URL. POST zapewnia klucz publiczny specyficzny dla witryny i pasujący podpis kryptograficzny adresu URL.
• Witryna uwierzytelniająca odbiera i potwierdza POST, zwracając standardowy HTTP „200 OK” bez żadnej innej treści. Aplikacja SQRL potwierdza pomyślne przesłanie podpisanego przez użytkownika adresu URL.
• Witryna uwierzytelniająca ma adres URL zawierający numer jednorazowy, który pochodzi ze strony logowania. Posiada również podpis kryptograficzny tego adresu URL oraz klucz publiczny specyficzny dla witryny użytkownika. Używa klucza publicznego do sprawdzenia, czy podpis jest ważny dla adresu URL (tj. czy użytkownik, który stworzył podpis, użył klucza prywatnego odpowiadającego kluczowi publicznemu). Po zweryfikowaniu podpisu witryna uwierzytelniająca rozpoznaje teraz uwierzytelnionego użytkownika na podstawie jego klucza publicznego specyficznego dla witryny.
Aplikacja SQRL może znajdować się na urządzeniu mobilnym, w którym to przypadku w celu uwierzytelnienia strony internetowej przedstawia kod QR. Kod ten następnie koduje usługę uwierzytelniania strony (z jednorazowym kodem). Użytkownik skanuje kod, aby zakończyć proces uwierzytelniania.
Aby zilustrować, jak działa identyfikacja i uwierzytelnianie SQRL, załóżmy, że chcesz skomentować wpis na blogu. Zamiast przechodzić przez irytujący proces tworzenia konta, aby jednoznacznie identyfikować się na nowej stronie internetowej, możesz zalogować się przy użyciu swojej tożsamości SQRL. Jeśli witryna nie napotkała wcześniej Twojego identyfikatora SQRL, może poprosić Cię o podanie nazwy do powiązania z Twoimi wpisami. Rezultatem jest bezpieczna i unikalna tożsamość na tej witrynie blogowej, w której nikt nie może podszywać się pod Ciebie. Za każdym razem, gdy wrócisz, zostaniesz natychmiast i jednoznacznie zidentyfikowany. Żadne konta nie są zakładane, a do logowania nie są wymagane nazwy użytkownika ani hasła. W rezultacie nie ma nic do zapamiętania ani do zapomnienia.
JAKIE SĄ OBECNE ZASTOSOWANIA?
SQRL jest używany jako anonimowa alternatywa dla nazw użytkowników i haseł (i MFA) do uwierzytelniania użytkowników na stronach internetowych.
CZY SQRL CHRONI PRZED PHISHINGIEM?
SQRL został zaprojektowany tak, aby był odporny na phishing – tworzone dane uwierzytelniające są specyficzne dla witryny, a tajny klucz używany do uwierzytelniania nigdy nie opuszcza urządzenia użytkownika. Jednak zdeterminowany napastnik ma sposoby na pokonanie SQRL.
CZY SQRL JEST OPEN SOURCE?
SQRL to projekt otwartego standardu z implementacją open source dostępną na Github i innych repozytoriach kodu.
JAKIE SĄ ZALETY?
SQRL ma kilka zalet, w tym:
- Aby uzyskać dostęp do wszystkich stron internetowych, użytkownik musi zapamiętać tylko jedno hasło – hasło zabezpieczające jego klucz główny.
- Sekrety użytkownika — hasło, klucz główny i klucz prywatny — nigdy nie opuszczają jego urządzenia, co czyni je mniej podatnymi na ataki.
- Strony internetowe nie muszą obsługiwać ani przechowywać poufnych sekretów użytkownika — wystarczy publiczny klucz użytkownika, aby zweryfikować jego podpis.
- Poświadczenia są specyficzne dla witryny i oparte na asymetrycznym krypto, co oznacza, że poświadczenia są zabezpieczone przed brutalną siłą, rozpylaniem haseł, upychaniem poświadczeń i innymi typowymi atakami na uwierzytelnianie nazwy użytkownika/hasła.
CO TO JEST FRAGMENTACJA TOŻSAMOŚCI?
Fragmentacja tożsamości zazwyczaj odnosi się do wielu tożsamości używanych przez jedną osobę w celu uzyskania dostępu do wielu witryn i aplikacji. Wiele kont użytkowników skutkuje wieloma tożsamościami, które muszą być uwierzytelniane przy użyciu wielu poświadczeń.
CZYM SQRL RÓŻNI SIĘ OD UWIERZYTELNIANIA OPARTEGO NA QR?
Kody QR służą do kodowania danych – dowolnych danych – więc samo w sobie niewiele mówi o uwierzytelnianiu. W przypadku SQRL, kody QR służą do kodowania adresu URL usługi uwierzytelniania witryny (plus jednorazowy) w przypadku, gdy użytkownik chce uwierzytelnić się za pomocą aplikacji mobilnej SQRL.