Termin „passwordless” jest poruszany okazjonalnie na łamach AVLab. Do najważniejszych firm w Polsce, jako prekursorów tego kierunku uwierzytelniania i autoryzacji ulepszonego typu, zaliczamy Cyberus Labs oraz Secfense. Ten standard logowania już przecież nie jest nowy, ale za sprawą Apple ma większą szansę by upowszechnić się w domach i w firmach. Dlaczego zatem założycielom FIDO Alliance – ani Microsoftowi ani Google, nie udało się tego zrobić wcześniej? I dlaczego o tzw. „passwordless” słyszeli chyba tylko dziennikarze IT oraz ludzie tworzący bezpieczeństwo? Ponieważ, aby logować się w ten sposób, musisz to włączyć, rejestrując wcześniej po staremu konto online – „podaj maila -> utwórz login > utwórz hasło-> zaloguj się -> włącz dwustopniowe logowanie -> dodaj urządzenie lub klucz bezpieczeństwa”. Tymczasem Apple podczas zakładania nowego konta online na urządzeniach macOS, iOS, iPadOS i podaniu loginu oraz dodatkowych danych np. imienia, nazwiska oraz maila, będzie generowało od razu parę kluczy publiczny-prywatny, zamiast używania tradycyjnego hasła – trzeba będzie skorzystać z Touch ID lub Face ID, aby potwierdzić rejestrację. Zatem teraz bezpieczeństwo logowania będzie bazować na kryptografii klucza publicznego a Apple nazywa to Passkey. Brzmi poważnie?
let platformProvider = ASAuthorizationPlatformPublicKeyCredentialProvider("example.com")
let platformKeyRequest = platformProvider.createCredentialRegistrationRequest(challenge: challenge, displayName: "Anne Johnson", userID: "anne_johnson")
let authController = ASAuthorizationController([platformKeyRequest])
authController.delegate = self
Podczas rejestrowania się w serwisie internetowym generowana będzie para nowych kluczy publiczny-prywatny. Apple wyśle Twój klucz prywatny (tajny) na serwer do tzw. iCloud Keychain (pęk kluczy Apple) – czyli tam, gdzie teraz przechowujesz swoje hasła i uzyskujesz do tego miejsca dostęp biometrycznie. Natomiast klucz publiczny (jawny) będzie przechowywany na serwerze dewelopera aplikacji. Jedno z drugim jest powiązane.
Nawiasem, Microsoft obsługuje tę technologię w Windows Hello a wsparcie dla urządzeń Apple zostanie dodane do usług online już niebawem (jeszcze w tym roku, twierdzi Microsoft). Google w Androidzie planuje integrację z „passwordless” od FIDO Alliance pod koniec 2022 roku.
Passwordless od Apple
Do tej pory z tak zwanym „bez-hasłowym” uwierzytelnianiem („passwordless”) w większości przypadków sprawę załatwiał klucz bezpieczeństwa np. Yubikey. Już za około 200zł w podstawowej wersji otrzymujemy możliwość bardzo bezpiecznego logowania się do serwisów online i offline (intranet, systemy komputerowe) bez wpisywania loginów i haseł –YubiKey mają możliwość tworzenia bezhasłowych poświadczeń FIDO2 (passkey), odkąd seria YubiKey 5 stała się dostępna w połowie 2018 roku. Urządzeniem zastępującym klucz bezpieczeństwa może być też smartfon z usługą Google, a już niebawem także urządzenia Apple.
Apple umożliwi synchronizację „Passkey” (tak nazywa swoje nowe „passwordless”) pomiędzy swoimi urządzeniami za pomocą AirDrop lub po zeskanowaniu kodu QR w przypadku, jeśli chcesz wykorzystać iPhone do zalogowania się w serwisie internetowym na Linux lub Windows.
Tutaj zobacz nasz mega ciekawy poradnik „Yubikey – czym jest i jak poprawnie skonfigurować klucz bezpieczeństwa z kontem Google i Microsoft?”
Problemem z rozpowszechnieniem się standardu tego rodzaju logowania było podejmowanie dodatkowych kroków przez użytkownika w celu aktywacji „passwordless”. Ale nie tylko, ponieważ aby standard FIDO2 wszedł pod strzechy, wymaga wdrożenia na szeroką skalę przez portale internetowe, firmy świadczące usługi online, sklepy w Internecie itd. Dodatkowo, jak wspominam w pierwszym akapicie, należy takie logowanie włączyć, aby korzystać z kryptografii klucza publicznego. Po aktywacji znacząco podnosi to odporność na ataki phishingowe, ale konfiguracja sprawia trudność mniej technicznym użytkownikom.
Tymczasem Apple udostępnia publiczną dokumentację ulepszonego, tego samego standardu logowania FIDO, umożliwiając generowanie pary kluczy publiczny-prywatny już na etapie zakładania konta online. Tutaj naprawdę mamy do czynienia z tzw. „passwordless”. Oczywiście dostępne będą metody odzyskiwania dostępu do konta. Jednym z nich jest na razie resetowanie pary kluczy – funkcja „func resetKeys()” z dokumentacji.
Brak haseł – passwordless w kryptografii klucza publicznego
Algorytmem czerpiącym z kryptografii klucza publicznego jest w tym przypadku RSA o minimalnym standardzie długości klucza 2048 bitów. O bezpieczeństwie takiego algorytmu świadczy fakt, że nawet komputery kwantowe nie są w stanie „złamać w rozsądnym czasie” algorytmu RSA o długości 2048 bitów, 3076 bitów, 4096 bitów (w usługach bankowych normą jest 2048 bitów). Dlaczego?
Bo kluczem do bezpieczeństwa algorytmu RSA jest CZAS.
Algorytm RSA nigdy nie był „nie-do-zhackowania”. Jego bezpieczeństwo opiera się na czasie łamania szyfru. Współczesne szyfry kryptograficzne są tak zaprojektowane, aby ich dekodowanie trwało nieskończenie długo, czyli w praktyce nie będzie to możliwe za życia całej cywilizacji ludzkości. I tutaj wkraczamy w erę kwantową…
W jaki sposób robi się logowanie „passwordless”?
Zamiast hasła, generowana jest para kluczy na urządzeniu użytkownika, co ma swoje zalety, ponieważ nikt nie będzie mógł przechwycić klucza prywatnego podczas jego tworzenia. I teraz tak:
- Klucz publiczny jest wysyłany i przechowywany na serwerze dewelopera aplikacji np. Google lub Microsoft.
- Klucz prywatny pozostaje offline oraz w pęku kluczy w iCloud Keychain, gdzie dostęp do tego miejsca jest szyfrowany end-to-end – jak twierdzi Apple, kopia Passkey w chmurze ma dodatkowo zapobiegać problemom z logowaniem w przypadku utraty urządzenia, a tak poza tym, nikt nie ma do tego miejsca dostępu, nawet Apple (szyfrowanie end-to-end).
Nie będzie możliwości pomyłki, więc bez dostępu do smartfonu lub innego urządzenia użytkownika nie ma możliwości zalogowania się metodą „passwordless”. Hakerzy będą mieć znacząco utrudnione zadanie.
„Bezhasła” w firmie + Apple SSO (single sign-on)
Applowski “passwordless”, przypomnę raz jeszcze – „Passkey”, obsługiwać będzie logowanie korporacyjne Single Sign-On i już można je aktywować na urządzeniach podłączonych do Azure Active Directory. Zatem w korporacjach standard „passwordless” może być wprowadzony szybciej niż przy poprzednich próbach firm Google i Microsoft. Jednakże na rynku nadal jest mnóstwo systemów i aplikacji, które nie obsługują 2FA, a co dopiero nowoczesnego standardu FIDO/WebAuth, o którym jest ten artykuł.
Odpowiedź na to ma polski produkt Secfense, bo potrafi „dodać nowoczesną warstwę logowania”, nie ingerując w kod aplikacji ani systemu. To bardzo ważne, gdyż implementacja takiego zabezpieczenia może być kosztowna i skomplikowana, a często wręcz niemożliwa, jeżeli aplikacja ma zamknięty kod lub programem zarządza zewnętrzna firma.
Wierzymy że tak i mamy zamiar odegrać w tym istotną rolę. Zanim pojawiło się Passkeys, istotną zmianą w bezpieczeństwie było pojawienie się Windows Hello, które umożliwiało logowanie do komputera bez wykorzystania hasła - uwierzytelnienie biometryczne, czyli odcisk palca lub skan twarzy.
Nasi klienci wykorzystują już mechanizmy logowania Windows Hello i używają brokera Secfense, by wprowadzić je jako główny mechanizm logowania do wszystkich aplikacji w organizacji. Za takie osiągnięcie Bank BNP Paribas otrzymał zresztą niedawno wyróżnienie Gazety Bankowej.
Passkeys mogą być więc, obok Windows Hello kolejną kroplą drążącą skałę, na której od lat wyryty jest napis "hasła". Zmiana ta zajmie jeszcze pewnie wiele lat, ale z każdym takim newsem utwierdzamy się w przekonaniu, że pociąg ze stacji "hasła" ruszył i nie ma już powrotu.
Słowem o passwordless…
Podsumowując dzięki „kluczom dostępu (Passkey)” od Apple świat online przyśpieszy w kierunku prawdziwego odejścia od haseł, które są bardzo podatne na ataki socjotechniczne. Pary kluczy publiczny-prywatny będą generowane na urządzeniach końcowych użytkowników, co zminimalizuje ryzyko związane z atakami przez niezaufaną stronę trzecią. Z kolei dzięki przechowywaniu Passkey w pęku kluczy Apple (iCloud Keychain), dostępna będzie synchronizacja na wszystkich urządzeniach użytkownika, aby nie utracić możliwości logowania.
Prawdopodobnie za Microsoftem, Apple i Google pójdą giganci technologiczni, tacy jak Facebook, Twitter, Amazon oraz inne aplikacje należące do konglomeratu Meta. Niestety w bankach w Polsce (i nie tylko w naszym kraju) nadal nie ma możliwości logowania się za pomocą kluczy bezpieczeństwa, dlatego pomimo milowego kroku Apple, nie spodziewamy się technologicznych ewolucji w bankach.
- Demo passwordless dla klucza Yubikey i Windows Hello możesz przetestować na stronie demo.yubico.com.
- Tutaj jest Konfiguracja Windows Hello pod kątem passwordless – logowanie do systemu biometrycznie albo kodem PIN.
- Prawdziwe logowanie „bez hasła” możesz już włączyć dla swojego prywatnego konta Microsoft.
Czy ten artykuł był pomocny?
Oceniono: 8 razy