Utilia

TOTP-generator

Generera TOTP- och HOTP-koder för 2FA från en Base32-hemlighet eller en otpauth://-URI, med SHA-1, SHA-256 eller SHA-512, nedräkning och QR-kod.

En 2FA-hemlighet är lika känslig som ett lösenord. Allt här körs lokalt i din webbläsare: hemligheten, koderna och QR-koden skickas aldrig någonstans.

Konfigurera en autentiseringsapp

Lägg till en utfärdare och ett kontonamn och skanna sedan QR-koden eller kopiera otpauth://-länken till din autentiseringsapp.

Så genererar du TOTP-koder

  1. Klistra in en Base32-hemlighet (till exempel JBSWY3DPEHPK3PXP) eller en hel otpauth://-länk i Hemlighet (Base32) eller otpauth://-URI. Mellanslag, bindestreck, gemener och saknad =-utfyllnad godtas.
  2. Koderna visas medan du skriver, eller när du klickar på Visa koder. En inklistrad URI fyller i fälten Typ, Algoritm, Siffror, Period (sekunder), Utfärdare och Konto åt dig.
  3. Läs Aktuell kod i mitten, med Föregående kod och Nästa kod på var sin sida. Stapeln nedanför räknar ner sekunderna tills koden byts, och Kopiera kod kopierar den utan mellanslag.
  4. För räknarbaserade koder väljer du HOTP (räknarbaserad), anger Räknare och går framåt med Nästa räknarvärde.
  5. Vill du skapa en ny 2FA-hemlighet klickar du på Ny slumpmässig hemlighet. Fyll i Utfärdare och Konto och skanna sedan QR-koden med en autentiseringsapp, använd Kopiera URI eller Ladda ner QR-kod (PNG).

Så fungerar TOTP och HOTP

HOTP (RFC 4226) beräknar en HMAC av en räknare på 8 byte med den delade hemligheten och tillämpar sedan dynamisk trunkering: de fyra sista bitarna i HMAC-värdet väljer en position, fyra byte läses därifrån, den högsta biten nollställs och talet reduceras modulo 10^siffror. Resultatet är en kod med 6 till 8 siffror.

TOTP (RFC 6238) är HOTP där räknaren är det aktuella tidssteget: T = floor(Unix-tid / period), med en period på 30 sekunder som standard. Din telefon och servern räknar fram samma kod var för sig, eftersom de delar hemligheten och (ungefär) samma klocka. Därför visas Föregående kod och Nästa kod: servrar godtar oftast ett steg före eller efter för att tolerera att klockorna glider isär.

HMAC beräknas med webbläsarens Web Crypto API med SHA-1, SHA-256 eller SHA-512. SHA-1 med 6 siffror och 30 sekunder är det nästan alla tjänster använder. SHA-256 och SHA-512 är tillåtna enligt RFC 6238, men vissa appar ignorerar dem, så ändra standardvärdena bara om tjänsten ber om det.

otpauth://-URI och QR-kod

Autentiseringsappar konfigureras med en URI som otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, som oftast visas som en QR-kod. Verktyget läser sådana URI:er (även procentkodade etiketter som ACME%20Co) och bygger nya. QR-koden ritas lokalt utifrån URI:n som visas under otpauth://-URI. Utfärdare med å, ä eller ö procentkodas automatiskt i URI:n.

En ny slumpmässig hemlighet har 20 byte (160 bitar), den längd som RFC 4226 rekommenderar, och hämtas från crypto.getRandomValues.

Säkerhetstips

  • Hemligheten är själva den andra faktorn: den som har den kan ta fram dina koder. Klistra inte in hemligheter för viktiga konton på delade datorer, och dela aldrig skärmbilder av QR-koden.
  • Allt beräknas lokalt och inget skickas över nätverket. Stäng fliken när du är klar.
  • Spara tjänstens reservkoder: en hemlighet du har tappat bort går inte att återskapa.

Vanliga frågor

Varför stämmer inte min kod med den i appen?

Kontrollera först enhetens klocka: TOTP-koder byts varje period, så en klocka som går fel med mer än cirka 30 sekunder ger andra koder. Kontrollera sedan att algoritm, antal siffror och period stämmer med det tjänsten använde.

Fungerar verktyget med Google Authenticator och liknande appar?

Ja. Det följer RFC 6238 och det otpauth-URI-format som de apparna använder. Skanna QR-koden eller skriv in Base32-hemligheten i appen, så ska båda visa samma Aktuell kod.

Vad är skillnaden mellan TOTP och HOTP?

TOTP går framåt med tiden, så en kod upphör att gälla efter perioden. HOTP går framåt med en räknare som ökar varje gång en kod används, så en kod gäller tills den används eller ersätts.

Kan jag använda verktyget som min vardagliga autentiseringsapp?

Det är tänkt för test, utveckling och återställning. En app i telefonen eller en hårdvarunyckel är säkrare för dagligt bruk, eftersom hemligheten då inte behöver klistras in på en webbsida varje gång.

Har beräkningarna kontrollerats mot standarderna?

Ja. Verktyget testas med HOTP-värdena i RFC 4226, bilaga D, och TOTP-värdena i RFC 6238, bilaga B, för SHA-1, SHA-256 och SHA-512.