Utilia

TOTP- ja HOTP-koodigeneraattori

Luo TOTP- ja HOTP-2FA-koodit Base32-salaisuudesta tai otpauth://-URI:sta. SHA-1, SHA-256 tai SHA-512, live-lähtölaskenta ja QR-koodi.

2FA-salaisuus on yhtä arkaluonteinen kuin salasana. Kaikki toimii paikallisesti selaimessasi: salaisuutta, koodeja tai QR-koodia ei lähetetä minnekään.

Määritä todennussovellus

Lisää myöntäjä ja tilin nimi ja skannaa sitten QR-koodi tai kopioi otpauth://-linkki todennussovellukseesi.

Näin luot TOTP-koodeja

  1. Liitä Base32-salaisuus (esimerkiksi JBSWY3DPEHPK3PXP) tai kokonainen otpauth://-linkki kenttään Salaisuus (Base32) tai otpauth://-URI. Välilyönnit, tavuviivat, pienet kirjaimet ja puuttuva =-täyte hyväksytään.
  2. Koodit ilmestyvät kirjoittaessasi tai kun napsautat Näytä koodit. Liitetty URI täyttää kentät Tyyppi, Algoritmi, Numeroita, Jakso (sekuntia), Myöntäjä ja Tili puolestasi.
  3. Lue Nykyinen koodi keskeltä, ja Edellinen koodi sekä Seuraava koodi sen molemmin puolin. Alla oleva palkki laskee sekunteja koodin vaihtumiseen, ja Kopioi koodi kopioi koodin ilman väliä.
  4. Laskuriperusteisia koodeja varten valitse HOTP (laskuriperusteinen), aseta Laskuri ja siirry eteenpäin painikkeella Seuraava laskuri.
  5. Jos haluat luoda uuden 2FA-salaisuuden, napsauta Uusi satunnainen salaisuus. Täytä Myöntäjä ja Tili ja skannaa sitten QR-koodi todennussovelluksella, Kopioi URI tai Lataa QR-koodi (PNG).

Näin TOTP ja HOTP toimivat

HOTP (RFC 4226) laskee 8 tavun laskurin HMAC-arvon jaetulla salaisuudella ja soveltaa sitten dynaamista katkaisua: HMAC:n neljä viimeistä bittiä valitsevat siirtymän, siitä luetaan neljä tavua, ylin bitti nollataan ja luku supistetaan modulo 10^numeroiden määrä. Tuloksena on 6–8-numeroinen koodi.

TOTP (RFC 6238) on HOTP, jossa laskuri on nykyinen aika-askel: T = floor(Unix-aika / jakso), ja oletusjakso on 30 sekuntia. Puhelimesi ja palvelin laskevat saman koodin toisistaan riippumatta, koska ne jakavat salaisuuden ja (suunnilleen) saman kellonajan. Siksi Edellinen koodi ja Seuraava koodi näytetään: palvelimet hyväksyvät yleensä yhden askeleen ennen tai jälkeen kellon poikkeaman sietämiseksi.

HMAC lasketaan selaimesi Web Crypto API:lla käyttäen SHA-1:tä, SHA-256:ta tai SHA-512:ta. SHA-1 kuudella numerolla ja 30 sekunnilla on se, mitä lähes kaikki palvelut käyttävät; RFC 6238 sallii SHA-256:n ja SHA-512:n, mutta jotkin sovellukset ohittavat ne, joten muuta oletuksia vain, jos palvelu sitä pyytää.

otpauth://-URI ja QR-koodi

Todennussovellukset määritetään URI:lla, kuten otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, joka näytetään yleensä QR-koodina. Tämä työkalu lukee tällaisia URI:ita (myös prosenttikoodatut nimet, kuten ACME%20Co) ja rakentaa uusia. QR-koodi piirretään paikallisesti kohdassa otpauth://-URI näkyvästä URI:sta.

Uusi satunnainen salaisuus on 20 tavua (160 bittiä), eli RFC 4226:n suosittelema pituus, ja se otetaan funktiosta crypto.getRandomValues.

Tietoturvavinkit

  • Salaisuus on itse toinen tekijä: jokainen, jolla se on, voi tuottaa koodisi. Älä liitä tärkeiden tilien salaisuuksia jaetuille tietokoneille äläkä koskaan jaa QR-koodin kuvakaappauksia.
  • Kaikki lasketaan paikallisesti; mitään ei lähetetä verkon yli. Sulje välilehti, kun olet valmis.
  • Säilytä palvelun varakoodit: kadotettua salaisuutta ei voi palauttaa.

Usein kysytyt kysymykset

Miksi koodini ei täsmää sovelluksessani näkyvän kanssa?

Tarkista ensin laitteesi kello: TOTP-koodit vaihtuvat joka jakso, joten yli noin 30 sekuntia pielessä oleva kello antaa eri koodit. Tarkista sitten, että algoritmi, numeroiden määrä ja jakso vastaavat palvelun käyttämiä.

Onko työkalu yhteensopiva Google Authenticatorin ja vastaavien sovellusten kanssa?

On. Se noudattaa standardia RFC 6238 ja näiden sovellusten käyttämää otpauth-URI-muotoa. Skannaa QR-koodi tai kirjoita Base32-salaisuus sovellukseen, niin molempien pitäisi näyttää sama Nykyinen koodi.

Mitä eroa on TOTP:lla ja HOTP:lla?

TOTP etenee ajan mukana, joten koodi vanhenee jakson jälkeen. HOTP etenee laskurilla, joka kasvaa aina kun koodi käytetään, joten koodi pysyy voimassa, kunnes se käytetään tai korvataan.

Voinko käyttää työkalua päivittäisenä todentajanani?

Se on tarkoitettu testaukseen, kehitykseen ja palautukseen. Puhelinsovellus tai laitteistoavain on päivittäiseen käyttöön turvallisempi, koska salaisuutta ei tarvitse liittää verkkosivulle joka kerta.

Onko laskelmat tarkistettu standardeja vastaan?

On. Työkalu on testattu RFC 4226:n liitteen D HOTP-arvoilla ja RFC 6238:n liitteen B TOTP-arvoilla SHA-1:lle, SHA-256:lle ja SHA-512:lle.