Czym jest klucz?
- Słownik IAM
- Czym jest klucz?
Klucze to nowoczesna technologia uwierzytelniania bez haseł która umożliwia użytkownikom logowanie się do kont i aplikacji przy użyciu klucza kryptograficznego zamiast hasła. Klucz wykorzystuje biometrię (odcisk palca, rozpoznawanie twarzy itp.) do potwierdzenia tożsamości użytkownika.
Jaka jest różnica między kluczem a hasłem?
Występują ogromne różnice między kluczami i hasłami.
Czym jest hasło?
Hasło to ciąg znaków, który użytkownicy muszą podać podczas logowania się do witryny lub aplikacji, zazwyczaj w połączeniu z nazwą użytkownika. Aby zapobiec naruszeniom danych i przejęciom kont, NIST zaleca, aby hasła składały spełniały następujące wymagania:
- Minimum osiem znaków
- Możliwość użycia znaków specjalnych, ale nie są one wymagane
- Ograniczenie znaków sekwencyjnych i powtarzających się (np. 12345 lub aaaaaa)
- Ograniczenie haseł kontekstowych (np. nazwa witryny)
- Ograniczenie powszechnie stosowanych haseł (np. qwerty, password123) i słów słownikowych
Czym jest klucz?
Klucze to nowa technologia uwierzytelniania, która wykorzystuje kryptografię klucza publicznego, aby umożliwić użytkownikom logowanie się do witryn i aplikacji bez konieczności wprowadzania hasła. Zamiast tego użytkownicy uwierzytelniają się w ten sam sposób, w jaki odblokowują swoje telefony i tablety: za pomocą odcisku palca, twarzy lub innych danych biometrycznych, za pomocą wzoru rysowanego palcem lub wprowadzając kod PIN. Ze względu na wygodę, większość osób wybierze uwierzytelnianie biometryczne.
Zamiast tworzyć hasło do zalogowania się na konto, użytkownicy generują klucz – który jest w rzeczywistości parą składającą się z jednego klucza prywatnego i jednego klucza publicznego – za pomocą „narzędzia uwierzytelniającego”. Takie „narzędzie uwierzytelniające” może być urządzeniem, takim jak smartfon lub tablet, przeglądarką internetową lub menedżerem haseł, który obsługuje technologię kluczy.
Przed wygenerowaniem klucza użytkownik musi zidentyfikować się za pomocą kodu PIN, wzoru rysowanego palcem lub danych biometrycznych. Następnie narzędzie uwierzytelniające wysyła klucz publiczny (który jest w przybliżeniu odpowiednikiem nazwy użytkownika) do serwera internetowego konta w celu przechowywania, oraz bezpiecznie przechowuje klucz prywatny lokalnie. Jeśli narzędziem uwierzytelniającym jest smartfon lub inne urządzenie, klucz prywatny będzie przechowywany w pęku kluczy urządzenia. Jeśli narzędziem uwierzytelniającym jest menedżer haseł, klucz prywatny będzie przechowywany w zaszyfrowanym sejfie menedżera haseł.
Jak działa klucz?
Aby utworzyć nowy klucz, użytkownik normalnie loguje się na swoje konto, a następnie włącza opcję klucza na ekranie ustawień zabezpieczeń w witrynie lub aplikacji. W witrynie lub aplikacji zostanie wyświetlony monit o zapisanie klucza powiązanego z urządzeniem. Przeglądarka internetowa lub system operacyjny zażąda wówczas uwierzytelnienia biometrycznego w celu zatwierdzenia żądania, a klucz zostanie zapisany lokalnie.
Przy kolejnych logowaniach do witryny zamiast monitu o hasło pojawi się monit o użycie klucza z urządzenia w celu logowania. Jeśli przeglądarka internetowa obsługuje synchronizację kluczy między urządzeniami, klucz będzie dostępny na wszystkich tych urządzeniach.
Jeśli użytkownik korzysta z urządzenia, które nie ma klucza do witryny lub aplikacji, może mieć możliwość skorzystania z innego urządzenia. Jeśli przeglądarka obsługuje uwierzytelnianie między urządzeniami, może wyświetlić użytkownikowi kod QR, który może zostać zeskanowany przez urządzenie mobilne w celu zakończenia logowania. Uwierzytelnianie między urządzeniami obejmuje również wykorzystanie połączenia Bluetooth w celu zapewnienia bliskości.
Tak wygląda to z perspektywy użytkownika końcowego. Przyjrzyjmy się temu, co dzieje się za kulisami, na poziomie serwera. Gdy użytkownik końcowy próbuje zalogować się na swoje konto za pomocą klucza, serwer konta wysyła „wyzwanie” do narzędzia uwierzytelniającego, składające się z ciągu danych. Narzędzie uwierzytelniające używa klucza prywatnego do rozwiązania wyzwania i odsyła odpowiedź, co jest procesem znanym jako „podpisywanie” danych i weryfikacja tożsamości użytkownika.
Zauważmy, że w żadnym momencie tego procesu serwer konta nie potrzebuje dostępu do klucza prywatnego użytkownika, co oznacza również, że nigdy nie są przesyłane żadne wrażliwe informacje. Jest to możliwe, ponieważ klucz publiczny – przechowywany przez serwer – jest matematycznie związany z kluczem prywatnym. Serwer potrzebuje jedynie klucza publicznego i podpisanych danych, aby sprawdzić, czy klucz prywatny należy do użytkownika.
Czy klucze są bezpieczniejsze?
Klucze są bezpieczniejsze niż hasła z wielu powodów:
- Aby hasła działały, serwery kont muszą je przechowywać – lub przynajmniej ich skróty – aby móc porównać przechowywane dane z hasłem wprowadzonym przez użytkownika. Jak wspomniano w poprzednim punkcie, technologia kluczy nie wymaga od serwerów kont przechowywania kluczy prywatnych użytkowników, a jedynie ich kluczy publicznych. Jeśli serwer kont zostanie naruszony, osoby atakujące uzyskają dostęp jedynie do kluczy publicznych, które są bezużyteczne bez towarzyszących im kluczy prywatnych.
- Większość ludzi nie dba o higienę haseł. Używają zbyt krótkich haseł, słów ze słownika lub informacji biograficznych, które są łatwe do odgadnięcia. Używają ponownie haseł w wielu witrynach. I zamiast korzystać z menedżera haseł, przechowują swoje hasła na karteczkach samoprzylepnych lub w niezaszyfrowanych plikach tekstowych. Z drugiej strony, klucze są generowane przez narzędzie uwierzytelniające użytkownika, więc są zawsze bardzo złożone i unikatowe dla każdego użytkownika i każdego konta – za każdym razem.
- Ponadto wiele osób nie zabezpiecza swoich kont za pomocą uwierzytelniania dwuskładnikowego (2FA). Klucze są z założenia zależne od 2FA; aby użyć klucza, użytkownik końcowy musi mieć w pobliżu swoje narzędzie uwierzytelniające, spełniając kryteria czegoś, co jest nierozłączne (biometria) i czegoś, co masz (narzędzie uwierzytelniające).
- W przeciwieństwie do haseł, klucze nie mogą zostać ujawnione poprzez phishing, ponieważ nie jest możliwe przekonanie użytkownika do wprowadzenia klucza w sfałszowanej witrynie.
Czy klucze zastąpią hasła i menedżery haseł?
Chociaż klucze mogą w końcu zastąpić hasła, nie zastąpią one menedżerów haseł. Zamiast tego, menedżery haseł staną się jeszcze ważniejsze. Dzieje się tak, ponieważ klucze są powiązane z narzędziem uwierzytelniającym. Użytkownicy mają wybór, czy chcą używać urządzenia – zwykle smartfona, ale może to być również tablet, laptop lub komputer stacjonarny – albo menedżera haseł, który obsługuje klucze.
Początkowo użycie smartfona jako narzędzia uwierzytelniającego może wydawać się logiczną opcją, ponieważ większość ludzi ma swoje telefony przy sobie przez cały czas. Ponieważ jednak większość ludzi korzysta z wielu urządzeń, szybko staje się to niewygodne. Jeśli użytkownik chciałby uzyskać dostęp do konta lub aplikacji na innym urządzeniu, takim jak laptop lub tablet, musiałby wygenerować kod QR na tym urządzeniu, następnie zeskanować go za pomocą swojego narzędzia uwierzytelniającego, a następnie użyć danych biometrycznych, aby w końcu się zalogować.
Menedżer haseł, taki jak Keeper, który wprowadzi obsługę kluczy na początku 2023 roku, znacząco ułatwi ten proces poprzez powiązanie klucza z aplikację, a nie urządzeniem fizycznym.
Jakie firmy obsługują klucze?
W chwili pisania tego tekstu liczba witryn i aplikacji, które obsługują tę technologię, jest nadal niewielka. Apple, Microsoft, Best Buy, GoDaddy, PayPal, Kayak i eBay to niektóre najważniejsze firmy, które obsługują obecnie klucze.
Jednak ze względu na wygodę i bezpieczeństwo, klucze dostępu szybko zyskują na popularności. Firma Google wprowadziła obsługę kluczy do stabilnej wersji Chrome M108 dla systemów Windows, Android i macOS w grudniu 2022 roku. Trwają prace nad zapewnieniem obsługi systemów iOS i Chrome OS, a także nad nowym zestawem interfejsów API, który wprowadzi klucze do aplikacji dla systemu Android.