Google Authenticator — Google Authenticator

Google Authenticator
Google Authenticator na Androida icon.svg
Deweloper(zy) Google
Pierwsze wydanie 20 września 2010 ; 11 lat temu ( 2010-09-20 )
Magazyn github .com /google /google-authenticator
Napisane w
System operacyjny Android , iOS , BlackBerry OS
Platforma mobilny
Licencja Zastrzeżone oprogramowanie freeware (wcześniejsze wersje były objęte licencją Apache License 2.0)
Strona internetowa graj w .google .com /store /apps /details?id=com .google .android .apps .authenticator2 Edytuj to na Wikidanych

Google Authenticator to programowy program uwierzytelniający firmy Google, który implementuje usługi weryfikacji dwuetapowej przy użyciu algorytmu hasła jednorazowego opartego na czasie (TOTP; określony w dokumencie RFC 6238) i algorytmu hasła jednorazowego opartego na HMAC (HOTP; określonego w dokumencie RFC) 4226), do uwierzytelniania użytkowników aplikacji.

Logując się do witryny obsługującej Authenticator (w tym usług Google) lub korzystając z aplikacji innych firm obsługujących Authenticator, takich jak menedżery haseł lub usługi hostingu plików , Authenticator generuje hasło jednorazowe składające się z sześciu do ośmiu cyfr, które użytkownicy muszą wprowadzić oprócz ich zwykłe dane logowania.

Poprzednie wersje oprogramowania były open-source, ale od 2013 wydania są zastrzeżone .

Typowy przypadek użycia

Aby korzystać z Authenticator, aplikacja jest najpierw instalowana na smartfonie. Musi być skonfigurowany dla każdej witryny, z którą ma być używany: witryna udostępnia użytkownikowi wspólny tajny klucz za pośrednictwem bezpiecznego kanału, który ma być przechowywany w aplikacji Authenticator. Ten tajny klucz będzie używany do wszystkich przyszłych logowań do witryny.

Aby zalogować się do witryny lub usługi, która wykorzystuje uwierzytelnianie dwuskładnikowe i obsługuje Authenticator, użytkownik podaje nazwę użytkownika i hasło do witryny, które oblicza (ale nie wyświetla) wymagane sześciocyfrowe hasło jednorazowe i prosi użytkownika o wprowadź go. Użytkownik uruchamia aplikację Authenticator, która niezależnie oblicza i wyświetla to samo hasło, które wpisuje użytkownik, uwierzytelniając swoją tożsamość.

W przypadku tego rodzaju uwierzytelniania dwuskładnikowego sama znajomość nazwy użytkownika i hasła nie wystarczy do włamania się na konto użytkownika; osoba atakująca potrzebuje również znajomości wspólnego tajnego klucza lub fizycznego dostępu do urządzenia z uruchomioną aplikacją Authenticator. Alternatywną drogą ataku jest atak typu „ man-in-the-middle” : jeśli komputer używany do procesu logowania zostanie skompromitowany przez trojana , wówczas nazwa użytkownika, hasło i hasło jednorazowe mogą zostać przechwycone przez trojana, który następnie zainicjować własną sesję logowania do serwisu lub monitorować i modyfikować komunikację między użytkownikiem a serwisem.

Opis techniczny

Podczas konfiguracji usługodawca generuje 80-bitowy tajny klucz dla każdego użytkownika (podczas gdy RFC 4226 §4 wymaga 128 bitów i zaleca 160 bitów). Jest on przesyłany do aplikacji Authenticator jako 16, 26 lub 32 znakowy ciąg base32 lub jako kod QR .

Następnie, gdy użytkownik otwiera aplikację Authenticator, oblicza wartość skrótu HMAC - SHA1 przy użyciu tego tajnego klucza. Komunikat, który jest HMAC-ed może być:

  • liczba 30-sekundowych okresów od epoki Uniksa ( TOTP ); lub
  • licznik, który jest zwiększany z każdym nowym kodem ( HOTP ).

Część HMAC jest wyodrębniana i wyświetlana użytkownikowi jako sześciocyfrowy kod.

Licencja na kod źródłowy

Aplikacja Google Authenticator na Androida była pierwotnie open source, ale później stała się zastrzeżona. Google udostępnił wcześniejsze źródło swojej aplikacji Authenticator w swoim repozytorium GitHub ; powiązana strona rozwoju stwierdza:

„Ten projekt open source umożliwia pobranie kodu obsługującego wersję 2.21 aplikacji. Kolejne wersje zawierają przepływy pracy specyficzne dla Google, które nie są częścią projektu”.

Po tym, jak Google Authenticator przestał być open source, stworzono klon bezpłatnego oprogramowania o nazwie FreeOTP , w większości przepisany na nowo, ale zawierający trochę kodu z oryginału.

Google udostępnia wersje aplikacji Authenticator na Androida , BlackBerry i iOS .

Zobacz też

Bibliografia

Zewnętrzne linki