Google Authenticator

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez Paweł Ziemian BOT (dyskusja | edycje) o 16:07, 21 sty 2018. Może się ona znacząco różnić od aktualnej wersji.
Aplikacja Google Authenticator na telefonie

Google Authenticator – programowy token uwierzytelniania dwuetapowego, stworzony 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:

  • Windows Phone 7
  • Windows Mobile
  • Java CLI
  • Java GUI
  • J2ME
  • PalmOS
  • webOS
  • Windows

Opis techniczny

Serwer 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+3]  //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ż

Przypisy

Linki zewnętrzne