Przejdź do zawartości

Google Authenticator

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Gbylski (dyskusja | edycje) o 20:41, 13 gru 2013. Może się ona znacząco różnić od aktualnej wersji.
Aplikacja Google Authenticator na telefonie

Google Authenticator jest programowym tokenem uwierzytelniania dwuetapowego stworzonym przez Google. Aplikacja generuje sześć cyfr, które należy podać podczas logowania razem z loginem i hasłem do usług Google.

Można stworzyć również listę "papierowych" haseł jednorazowych (tym razem jest to kilka zestawów ośmiocyfrowych), które można użyć awaryjnie w przypadku braku dostępu do telefonu (aplikacji). Hasła te należy zapisać lub wydrukować i przechowywać w bezpiecznym, ale dostępnym miejscu, np. portfelu. W każdej chwili listę tych haseł można odwołać i wygenerować nowy zestaw.

Google Authenticator można wykorzystać do logowania do systemu w połączeniu z modułem PAM i OpenSSH.

Implementacje

Google stworzyło wersje dla iOS,[1] BlackBerry, Android[2] i moduł PAM.[3] Istnieją implementacje stworzone przez inne osoby na następujące platformy:

Opis techniczny

Google tworzy 80-bitowy tajny klucz dla każdego użytkownika w postaci ciągu 16 znaków Base32 oraz jako QR Code. Klient tworzy skrót HMAC-SHA1 używając do tego celu tajnego klucza oraz wiadomości, która jest liczbą 30-sekundowych okresów, które upłynęły od czasu uniksowego. Część HMAC jest wyodrębniana i konwertowana na sześciocyfrowy kod.

Pseudokod

 function GoogleAuthenticatorCode(string secret)
     key := base32decode(secret)
     message := current Unix time ÷ 30
     hash := HMAC-SHA1(key, message)
     offset := last nybble of hash
     truncatedHash := hash[offset..offset+4]  //4 bajty zaczynające się od ofsetu
     Set the first bit of truncatedHash to zero  //usuń najbardziej znaczący bit
     code := truncatedHash mod 1000000
     pad code with 0 until length of code is 6
     return code 

Technologia

Google Authenticator używa algorytmu dla haseł jednorazowych bazujących na czasie zgodnie z RFC 6238.

Zobacz też

Hasło jednorazowe

Linki zewnętrzne