Opis techniczny Serwer tworzy 80-bitowy tajny klucz dla każdego użytkownika w postaci ciągu 16 znaków Base32 oraz jako Kod QR. 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ż hasło jednorazowe

Przypisy

Linki zewnętrzne Google Authenticator strona pomocy Google

Authenticator Kategoria:Uwierzytelnienie Kategoria:Bezpieczeństwo systemów operacyjnych