Objaśnione Kody QR TOTP 2FA
Techniczne głębokie nurkowanie w format URI otpauth://, tajemnice base32 i matematykę TOTP RFC 6238.
Co to jest TOTP
TOTP (hasło jednorazowe oparte na czasie, RFC 6238) to algorytm stojący za Google Authenticator, Authy, 1Password, Bitwarden i każdą inną aplikacją uwierzytelniającą. Generuje kod 6-cyfrowy, który zmienia się co 30 sekund na podstawie wspólnego tajemnica i bieżącego czasu Uniksa.
URI otpauth
otpauth://totp/Issuer:account@example.com?secret=BASE32SECRET&issuer=Issuer&algorithm=SHA1&digits=6&period=30Schemat URI to otpauth://, typ to totp (drugą opcją jest hotp, oparta na liczniku), następnie etykieta, następnie parametry zapytania. Aplikacje uwierzytelniające analizują ten URI i dodają go do skarbca użytkownika za jednym skanem.
Etykieta
Format opcjonalny: Issuer:account@example.com. Prefiks Issuer jest nadmiarowy wobec parametru zapytania issuer, ale większość aplikacji respektuje oba.
Tajemnica
Łańcuch bajtów zakodowany base32 (A-Z i 2-7, bez dopełnienia). Rekomendowane minimum 128 bitów, większość serwerów używa 160 bitów (32 znaki base32). Nigdy nie koduj URL tajemnicy; pozostaw ją jako surowy base32.
Algorytm, cyfry, okres
algorithm: SHA1 (domyślnie, powszechnie obsługiwany), SHA256 lub SHA512. digits: 6 (domyślnie) lub 8. period: 30 sekund (domyślnie) lub 60. Trzymaj się ustawień domyślnych, chyba że masz powód, niektóre aplikacje uwierzytelniające nie implementują opcji innych niż domyślne.
Jak obliczany jest kod
W każdym 30-sekundowym przedziale uwierzytelniacz: HMAC-SHA1(secret, floor(unix_time / 30)), bierze ostatnie 4 bity HMAC jako dynamiczne przesunięcie, czyta 4 bajty zaczynające się od tego przesunięcia, maskuje do 31 bitów i zmniejsza modulo 106 aby uzyskać kod 6-cyfrowy.
Użyj Abundera QR aby wygenerować
Otwórz generator TOTP, wypełnij wystawcę (nazwę twojej marki), konto (email użytkownika lub nazwę użytkownika) i tajemnicę base32. Ustawienia domyślne dla algorytmu/cyfr/okresu są prawidłowe dla prawie każdego serwera. Pobierz PNG i wyślij do użytkownika e-mailem lub SMS, lub osadź go w przepływie rejestracji.
Uwaga o prywatności
Twoja tajemnica TOTP to wspólne poświadczenie między serwerem a użytkownikiem. Abundera QR nigdy nie widzi ani jednego, ani drugiego. Wszystko kodowanie odbywa się w przeglądarce. Przeczytaj pełną politykę prywatności.