Vysvětleny Kódy QR TOTP 2FA

Technické hluboké ponření do formátu URI otpauth://, tajemství base32 a matematiky RFC 6238 TOTP.

Co je TOTP

TOTP (jednorázové heslo na základě času, RFC 6238) je algoritmus, který je základem aplikací Google Authenticator, Authy, 1Password, Bitwarden a všech ostatních aplikací autentizátoru. Vyprodukuje 6místný kód, který se mění každých 30 sekund na základě sdíleného tajemství a aktuálního času Unix.

URI otpauth

otpauth://totp/Issuer:account@example.com?secret=BASE32SECRET&issuer=Issuer&algorithm=SHA1&digits=6&period=30

Schéma URI je otpauth://, typ je totp (druhá možnost je hotp, na základě čítače), poté štítek, poté parametry dotazu. Aplikace autentizátoru analyzují tento identifikátor URI a přidají jej do trezoru uživatele jedním skenováním.

Štítek

Volitelný formát: Issuer:account@example.com. Předpona Issuer je redundantní s parametrem dotazu issuer, ale většina aplikací respektuje obě.

Tajemství

Řetězec bajtů zakódovaný v base32 (A-Z a 2-7, bez odsazení). Doporučuje se minimálně 128 bitů, většina serverů používá 160 bitů (32 znaků base32). Nikdy nekódujte URL tajemství; nechte jej jako surový base32.

Algoritmus, čísla, období

algorithm: SHA1 (výchozí, univerzálně podporovaný), SHA256 nebo SHA512. digits: 6 (výchozí) nebo 8. period: 30 sekund (výchozí) nebo 60. Zůstaňte u výchozích hodnot, pokud nemáte důvod, některé aplikace autentizátoru neimplementují nevýchozí možnosti.

Jak se kód počítá

V každém 30sekundovém intervalu autentizátor: HMAC-SHA1(secret, floor(unix_time / 30)), vezme poslední 4 bity HMAC jako dynamické posunutí, přečte 4 bajty počínaje tímto posunutím, maskuje na 31 bitů a sníží modulo 106 pro získání 6místného kódu.

Vygenerujte pomocí Abundera QR

Otevřete generátor TOTP, vyplňte vydavatele (název vaší značky), účet (e-mail uživatele nebo uživatelské jméno) a tajemství base32. Výchozí hodnoty pro algoritmus/čísla/období jsou správné pro téměř každý server. Stáhněte si PNG a odešlete uživateli e-mailem nebo SMS, nebo jej vložte do toku registrace.

Poznámka o soukromí

Vaše tajemství TOTP je sdílené pověření mezi serverem a uživatelem. Abundera QR nikdy nevidí ani jedno. Veškeré kódování probíhá v prohlížeči. Přečtěte si úplné zásady ochrany osobních údajů.