U2F

Gotowe do U2F logo sojuszu FIDO

U2F ( U niform S econd F actor, Universal Second Factor ) jest standardem branżowym dla powszechnie stosowanego uwierzytelniania dwuskładnikowego opartego na dostosowanym uwierzytelnianiu typu wyzwanie-odpowiedź . Oprócz hasła dostępu służy ono jako dowód autoryzacji dostępu, na przykład do usług internetowych, a także może być używane w połączeniu z cyfrowymi dokumentami osobistymi w celu ustalenia tożsamości .

Specyfikacje U2F zostały opracowane przez Google przy udziale firm Yubico i NXP Semiconductors . Niekomercyjny sojusz FIDO powstał w celu dalszego rozwoju i współpracy dostawców U2F . 9 grudnia 2014 r. Opublikowano pierwszy odpowiedni standard FIDO v1.0.

W przeciwieństwie do inicjatywy branżowej „ Open Authentication ” (OATH), która również próbuje wprowadzić rozwiązania w zakresie uwierzytelniania dwuskładnikowego jako standard branżowy, opisy procesów U2F nie podlegają żadnym przepisom dotyczącym poufności danych firm.

cechy

Token zabezpieczający U2F YubiKey z interfejsem USB firmy Yubico

Zasadniczą cechą standardu U2F jest brak jednoznacznego identyfikatora z zewnątrz dla konkretnego urządzenia U2F, co pozwala na ochronę prywatności. Dostawca usług (serwer), u którego klient jest zarejestrowany na swoim urządzeniu U2F w celu identyfikacji, nie może zatem określić, w jakich innych usługach to urządzenie U2F jest nadal zarejestrowane. Dotyczy to również sytuacji, gdy określony usługodawca ma również dostęp do danych logowania innego usługodawcy lub został o nich poinformowany.

Ta właściwość metody U2F w istotny sposób przyczynia się do dalszej ochrony, jeżeli dane logowania przechowywane u usługodawcy podczas rejestracji są odczytywane przez osoby trzecie w ramach wycieku danych i mogą następnie rozprzestrzeniać się w sposób niekontrolowany.

Ochrona ta jest również zapewniana, jeśli urządzenie U2F jest używane przez różne osoby u dostawcy lub przez jedną osobę do logowania się na kilka kont. Również w tych przypadkach, na podstawie danych logowania U2F przechowywanych na serwerze, odpowiedni usługodawca nie może stwierdzić, że jest to to samo urządzenie U2F i że ci sami lub różni użytkownicy używają tego urządzenia U2F.

Jest to możliwe dzięki temu, że para kluczy (zależna od cech usługodawcy, takich jak adres serwera, certyfikat TLS i inne dane, takie jak losowo generowane identyfikatory sesji (tokeny)) jest indywidualnie generowana w urządzeniu U2F z prywatnego i klucz publiczny. Klucz prywatny i publiczny jest obliczany przy użyciu asymetrycznego kryptosystemu . W celu rejestracji wygenerowanego w ten sposób klucza publicznego, wraz z treścią z dowolnego niestandardowego urządzenia U2F, tak zwany identyfikator klucza (jest w ramach uchwytu klucza angielskiego metody U2F ) przesyłany do dostawcy usługi.

Kiedy logujesz się do usługodawcy po raz pierwszy, ta para danych składająca się z klucza publicznego i identyfikatora klucza jest przechowywana na serwerze. W przypadku późniejszej autoryzacji serwer przesyła identyfikator klucza należący do użytkownika wraz z dodatkowymi danymi, takimi jak adres serwera, unikalny identyfikator sesji i inne dane. Urządzenie U2F może określić skojarzony klucz prywatny na podstawie przesłanego identyfikatora klucza, a tym samym odpowiednio podpisać dane odpowiedzi zwrotnej do serwera. Podpisana odpowiedź zwrotna jest używana przez serwer wraz z przypisanym kluczem publicznym do uwierzytelnienia klienta. Ta metoda zapewnia pewną ochronę przed atakami typu man-in-the-middle .

Brak jednoznacznej publicznej identyfikacji urządzenia U2F jest przeciwieństwem klasycznego uwierzytelniania typu wyzwanie-odpowiedź z asymetrycznymi kluczami, takiego jak uwierzytelnianie za pomocą Secure Shell (SSH) w celu uzyskania dostępu z wiersza poleceń . W przypadku uwierzytelniania SSH klucz publiczny jest zdeponowany na wszystkich serwerach dokładnie tam, gdzie jest dozwolony dostęp publiczny. Tak więc, nawet bez znajomości tajnego klucza prywatnego, można określić, na którym serwerze jest dostęp za pomocą tego klucza SSH, jeśli jest dostęp tylko do danych klucza publicznego.

procedura

Przepływ uwierzytelniania

Diagram po prawej stronie przedstawia proces uwierzytelniania w U2F; zakłada się, że pierwsza rejestracja u usługodawcy już miała miejsce.

  • W celu uwierzytelnienia usługodawca prosi o podanie nazwy użytkownika jako pierwszego czynnika i ewentualnie o zwykłe hasło, sprawdza te dane i - jeśli OK - wprowadza drugi czynnik w postaci U2F:
  • W pierwszym kroku usługodawca przesyła pakiet danych do komputera klienta (przeglądarki internetowej). To składa się z wyzwania , są to losowo wybrane cyfry. Ponadto identyfikator aplikacji, na diagramie określany jako identyfikator aplikacji , oraz uchwyt klucza identyfikatora klucza , który był przechowywany podczas początkowego logowania.
  • Komputer klienta sprawdza identyfikator aplikacji, uzupełnia ją o dodatkowe dane, takie jak identyfikator kanału, i przekazuje te dane do urządzenia U2F.
  • Za pomocą uchwytu klucza urządzenie U2F określa klucz prywatny k priv, który jest odpowiedni dla tej sesji i używa go do podpisania identyfikatora aplikacji i wezwania c , tworząc w ten sposób podpisaną odpowiedź s .
  • Ponadto licznik (opcjonalnie może Counter ) może być zintegrowany z podpisaną odpowiedzią, aby móc wykryć zduplikowane urządzenia U2F.
  • Komputer klienta, takich jak przeglądarki, przekazuje te dane do usługodawcy, który używa klucza sesyjnego publicznej , by sprawdzić podpis s , a dane w nim zawarte oraz - jeżeli OK - Dotacje dostępu.

cechy szczególne

Token bezpieczeństwa U2F firmy Plug-up International

Aby urządzenie U2F mogło udzielić odpowiedzi, norma wymaga, aby działanie użytkownika było konieczne bezpośrednio na urządzeniu U2F. W najprostszym przypadku wystarczy wcisnąć przycisk na urządzeniu U2F. Możliwe są jednak również inne inicjacje: przykładowo firma EyeLock od stycznia 2015 roku oferuje skaner tęczówki myris ze złączem USB, który jest zgodny z protokołem U2F. Ta specyfikacja ma na celu zapewnienie, że użytkownik zgadza się na żądanie uwierzytelnienia niezależnie od komputera i jego oprogramowania - jeśli użytkownik nie wyrazi zgody, po upływie określonego czasu nie ma odpowiedzi z urządzenia U2F. To wymaganie ma na celu zapobieżenie żądaniu przez oprogramowanie na komputerze dużej liczby odpowiedzi z urządzenia U2F, a następnie ocenie ich bez wiedzy użytkownika.

Urządzenie U2F można zaprojektować jako token bezpieczeństwa w sprzęcie z odpowiednio bezpieczną pamięcią masową, ale nie musi. Zasadniczo możliwa jest również aplikacja U2F oparta wyłącznie na oprogramowaniu, ale z podstawowym problemem jest to, że tajne dane, takie jak unikalny i używany wewnętrznie identyfikator podstawowy U2F, mogą być łatwiej odczytywane i naruszane.

Aby zminimalizować koszty sprzętowych urządzeń U2F, takich jak klucz sprzętowy USB, sposób jest zaprojektowany w taki sposób, że żadne zmienne dane, takie jak wygenerowane sesyjne klucze prywatne, nie muszą być przechowywane w urządzeniu U2F. Ta metoda pozostawia otwartą kwestię, w jaki sposób i gdzie dane tajnego klucza prywatnego są przechowywane dla usługodawcy.

Z jednej strony przechowywanie może odbywać się w pamięci na urządzeniu U2F, co powoduje, że urządzenie U2F jest droższe i ogranicza liczbę rejestracji ze względu na rozmiar pamięci. Możliwe jest jednak również zaszyfrowanie kluczy prywatnych opartych na sesji wygenerowanych metodą specyficzną dla urządzenia i przechowywanie ich na serwerze jako części identyfikatora klucza ( uchwytu klucza ). Dzieje się tak, ponieważ ten uchwyt klucza jest przesyłany z serwera do urządzenia U2F przy każdym kolejnym logowaniu , co oznacza, że ​​to urządzenie U2F może odzyskać swój klucz prywatny. Urządzenie U2F może być używane do dowolnej liczby usług, ponieważ żadne dane klucza zależne od połączenia nie są przechowywane na urządzeniu U2F i nie ma ograniczeń dotyczących przestrzeni dyskowej.

Aby móc rozróżnić różne typy urządzeń U2F i ich różne poziomy wiarygodności ze strony dostawców usług (na przykład sprzętowe urządzenia U2F mają wyższy poziom zabezpieczenia przed odczytem niż rozwiązania programowe oparte na komputerach PC), odpowiedź jest również podpisana specyficznym dla producenta w ramach klucza prywatnego U2F. Klucz prywatny jest trwale przechowywany w urządzeniu U2F i jest identyczny dla wszystkich urządzeń U2F tego producenta, co uniemożliwia identyfikację konkretnego urządzenia U2F. Odpowiedni klucz publiczny jest dobrze znany i może być używany przez dostawców usług, aby wymagać użycia określonych urządzeń U2F w celu uzyskania dostępu.

Wsparcie dla oprogramowania

Google Chrome jako pierwsza przeglądarka internetowa obsługująca U2F w październiku 2014 r. Od wersji 57 (styczeń 2018) U2F został również zintegrowany z Mozilla Firefox . Apple Safari obsługuje U2F od wersji 13 (wrzesień 2019). Funkcjonalność można sprawdzić na stronie testowej Yubico U2F.

Różne usługi internetowe obsługują rejestrację przez U2F, głównie ze środowiska Google, takiego jak Gmail , Dropbox , GitHub . Aby zalogować się do komputera z systemem Linux i macOS, dostępny jest dołączalny moduł uwierzytelniania .

Systemu Windows 10 operacyjnego systemu od Microsoftu obsługuje funkcje U2F nie tylko dla własnych usług, ale również w ramach systemu podczas logowania do kilku tysięcy usług osób trzecich.

linki internetowe

Indywidualne dowody

  1. Specyfikacje FIDO 1.0 zostały opublikowane, a ostateczne przygotowanie do przyjęcia silnego uwierzytelniania przez szeroki przemysł w 2015 r. FIDO Alliance, 9 grudnia 2014 r., Dostęp 11 kwietnia 2018 r .
  2. a b Specyfikacje U2F. Źródło 28 listopada 2016 r .
  3. Universal 2nd Factor (U2F) Overview , FIDO Alliance, 11 kwietnia 2017 r., Plik PDF, dostęp 24 kwietnia 2019 r.
  4. EyeLock's myris Is First and Only Iris Authenticator for New FIDO Open Industry Standard , EyeLock, dostęp 5 stycznia 2015
  5. ^ Google wprowadza na rynek klucz bezpieczeństwa - pierwsze na świecie wdrożenie rozwiązania Fast Identity Online Universal Second Factor Authentication (FIDO U2F). Źródło 16 kwietnia 2020 r . , fidoalliance.org, 21 października 2014
  6. Bezpieczeństwo / CryptoEngineering. Źródło 15 listopada 2017 r .
  7. Informacje o wydaniu Safari 13. Źródło 17 lutego 2020 r .
  8. Przetestuj swoje urządzenie U2F. Źródło 15 listopada 2017 r .
  9. pam-u2f. W: developers.yubico.com. Źródło 25 maja 2016 r .
  10. yubico-pam. W: developers.yubico.com. Źródło 25 maja 2016 r .
  11. Windows 10 dla firm: Maksymalne bezpieczeństwo dla wszystkich urządzeń i scenariuszy - Innowacyjne zabezpieczenia: uwierzytelnianie dwuskładnikowe , technet.microsoft.com od 19 marca 2015 r., Dostęp 30 listopada 2016 r.