> totp | authenticator | generator <

Generuj hasła jednorazowe oparte na czasie (TOTP) i liczniku (HOTP) z sekretu Base32. Testuj konfiguracje 2FA, znajduj rozbieżności z aplikacją uwierzytelniającą i twórz URI otpauth:// – wszystko lokalnie w przeglądarce.

------

------

Sekrety nigdy nie opuszczają przeglądarki. Mimo to nie wklejaj prawdziwych sekretów produkcyjnych na współdzielonych komputerach.

URI OTPAUTH

Potrzebujesz kodu QR dla aplikacji uwierzytelniającej? Wklej URI do Generator kodów QR

[01]

Kody na żywo z odliczaniem

Wklej sekret Base32 i zobacz bieżący oraz następny kod, odnawiane w każdym okresie, z paskiem postępu do wygaśnięcia.

[02]

SHA-1, SHA-256, SHA-512

Wybierz 6, 7 lub 8 cyfr i dowolny okres. HMAC liczony jest przez Web Crypto API i zgadza się z wektorami testowymi RFC 4226 i RFC 6238.

[03]

Kreator i import URI otpauth

Twórz URI otpauth:// dla aplikacji uwierzytelniających lub importuj istniejący, aby automatycznie wypełnić wszystkie pola. Nic nie jest wysyłane.

>> informacje techniczne

Jak działają hasła jednorazowe:

HOTP (RFC 4226) oblicza HMAC(sekret, licznik) i skraca wynik do 6–8 cyfr. TOTP (RFC 6238) to HOTP, w którym licznikiem jest czas Unix podzielony przez okres (zwykle 30 sekund), więc kod zmienia się co okres, a obie strony zgadzają się bez komunikacji. Wspólny sekret zwykle wymienia się jako tekst Base32 lub kod QR z URI otpauth://.

Przykład:

RFC 6238 test vector (SHA-1) secret = GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ time = 59 -> counter = 59 / 30 = 1 code (8 digits) = 94287082

Dlaczego warto użyć tego generatora TOTP:

  • >Testowanie i debugowanie uwierzytelniania dwuskładnikowego podczas tworzenia logowania
  • >Ustalanie, dlaczego aplikacja uwierzytelniająca i serwer podają różne kody
  • >Tworzenie URI otpauth:// z właściwym wystawcą, algorytmem, cyframi i okresem
  • >Sprawdzanie kodów dla stałych znaczników czasu w polu czasu Unix

>> najczęściej zadawane pytania

P: Jak działa TOTP?

O: Aplikacja i serwer współdzielą sekret. Oba obliczają HMAC z sekretu i bieżącego kroku czasu (czas Unix podzielony przez okres, domyślnie 30 sekund) i skracają go do 6-cyfrowego kodu. Jeśli oba zegary są zgodne, kody są takie same.

P: Czy bezpiecznie jest tu wpisać mój sekret?

O: Obliczenia odbywają się w całości w przeglądarce przy użyciu Web Crypto API i nic nie jest wysyłane na serwer. Sekret TOTP to jednak klucz do konta: nie wklejaj prawdziwych sekretów produkcyjnych na współdzielonych ani niezaufanych komputerach, a do debugowania używaj kont testowych.

P: Dlaczego mój kod różni się od kodu w aplikacji uwierzytelniającej?

O: Najczęstsze przyczyny to źle ustawiony zegar (TOTP wymaga czasu dokładnego do kilku sekund), inny algorytm, liczba cyfr lub okres albo literówka w sekrecie. Sprawdź, czy wybrano SHA-1, 6 cyfr i 30 sekund, czyli to, czego używa większość usług.

P: Jaka jest różnica między TOTP a HOTP?

O: HOTP używa licznika, który rośnie tylko po użyciu kodu, więc kod jest ważny, dopóki nie zostanie wykorzystany. TOTP wyprowadza licznik z zegara, więc kody wygasają automatycznie co okres. W konsumenckim 2FA TOTP jest znacznie popularniejszy.

P: Czym jest URI otpauth://?

O: To tekst zapisany w kodzie QR skanowanym przy włączaniu 2FA, np. otpauth://totp/Example:user@example.com?secret=...&issuer=Example. Zawiera sekret, wystawcę, konto oraz opcjonalnie algorytm, cyfry i okres. Wklej go w pole importu, aby wyodrębnić sekret.

P: Jakie ustawienia obsługują aplikacje uwierzytelniające?

O: Google Authenticator i wiele innych aplikacji ignoruje parametry algorytmu, cyfr i okresu i zawsze używa SHA-1, 6 cyfr i 30 sekund. Używaj tych wartości domyślnych, chyba że wiesz, że aplikacja i serwer obsługują inne.

Inne języki