TOTP on lyhenne sanoista ”time-based one-time password” (aikaan perustuva kertakäyttöinen salasana). Se on tekniikka, jota käytetään monissa todennusohjelmistojen näyttämissä kuusimerkkisissä koodeissa. TOTP-koodi lasketaan yksityisen aloitusavaimen ja nykyisen kellonajan perusteella, ja se vanhenee lyhyen ajan kuluttua.

TOTP:tä käytetään yleisesti kaksivaiheisen todennuksen toisena vaiheena. Se toimii ilman matkapuhelinverkkoa, koska todennusohjelma laskee koodin paikallisesti sen sijaan, että odottaisi viestiä.

Mistä tiedoista TOTP-koodi muodostuu?

Kaksi syötettä on tärkeää: jaettu salaisuus ja aikalaskuri. Tilin tarjoaja luo salaisuuden asennuksen yhteydessä ja antaa sen todennusohjelmalle QR-koodin tai manuaalisen avaimen kautta. Molemmat osapuolet jakavat sitten ajan yhtä suuriin ikkunoihin ja suorittavat saman salauslaskelman.

Jos salaisuus, algoritmi ja aikaväli täsmäävät, molemmat osapuolet tuottavat saman lyhyen koodin. Itse salaisuutta ei tarvitse välittää jokaisen kirjautumisen yhteydessä.

Four-stage TOTP process from secret and time to code validation
Todentaja ja palvelu laskevat itsenäisesti arvon samasta salaisuudesta ja aikavälistä.

Miten TOTP toimii?

  1. Palveluntarjoaja luo ainutlaatuisen salaisen avaimen todennuslaitteen rekisteröintiä varten.
  2. Skannaat asennuksen QR-koodin tai syötät manuaalisen salaisuuden luotettavalle laitteelle.
  3. Todentaja yhdistää salaisen avaimen nykyiseen aikaikkunaan.
  4. Tuloksesta muodostuu lyhyt numerokoodi, yleensä kuusimerkkinen.
  5. Palveluntarjoaja laskee odotetun koodin ja vertaa sitä syöttämääsi koodiin.

RFC 6238 määrittelee TOTP:n HOTP:n aikaperusteiseksi muunnokseksi. Yleisessä kokoonpanossa käytetään 30 sekunnin jaksoa, kuutta numeroa ja HMAC-SHA-1-algoritmia, vaikka tuettuja algoritmeja ja asetuksia on myös muita.

Miksi TOTP-koodit vanhenevat?

Lyhyt voimassaoloaika rajoittaa sitä, kuinka kauan kopioitua koodia voidaan käyttää uudelleen. Kun aikaväli muuttuu, todennuslaite tuottaa uuden arvon. Palvelut saattavat sallia pienen poikkeaman aikavälistä verkkoviiveen ja pienten kellopoikkeamien vuoksi, mutta suurempi toleranssi laajentaa myös hyväksymisikkunaa.

Syötä uusi koodi heti, kun sen laskenta alkaa. Jos koodit hylätään jatkuvasti, noudata ohjeitamme toimimattoman 2FA-koodin korjaamiseksi.

TOTP vs. HOTP

TOTP ja HOTP käyttävät samankaltaisia laskelmia, mutta etenevät eri tavalla:

  • TOTP muuttuu aikavälin mukaan, joten todennuslaitteiden kellot on synkronoitava.
  • HOTP muuttuu, kun laskuri etenee, esimerkiksi painikkeen painamisen tai onnistuneen käytön jälkeen.

TOTP on yleinen ohjelmistopohjaisissa todennuslaitesovelluksissa, koska aika toimii automaattisena muuttujana. HOTP:tä käytetään edelleen joissakin laitteistopohjaisissa tunnisteissa ja erikoistuneissa järjestelmissä.

TOTP vs. SMS-koodit

TOTP-sovellus laskee koodit laitteella ja toimii yleensä offline-tilassa. SMS-koodien toimittaminen riippuu puhelinverkosta. SMS on kätevä, mutta siihen voivat vaikuttaa SIM-kortin vaihto, numeron uudelleenmäärittely, viestien sieppaus ja toimitusvirheet.

Tavallinen TOTP tai SMS ei ole täysin suojattu tietojenkalastelulta: vakuuttava väärennetty kirjautumissivu voi kaapata ja välittää nykyisen koodin. Tärkeiden tilien osalta salasanakoodi tai FIDO-turva-avain on yleensä vahvempi vaihtoehto, jos niitä tuetaan. Katso yksityiskohtainen vertailumme todennusohjelmista ja SMS-viesteistä.

Mikä on TOTP-salaisuus?

Salaisuus on pitkäkestoinen tunnistetieto, joka on kaikkien kyseisen rekisteröinnin tulevien koodien taustalla. Kuka tahansa, jolla se on, voi määrittää toisen todennuslaitteen ja luoda vastaavia arvoja. Asennuksen QR-koodin kuvakaappaus on arkaluonteinen, koska se sisältää yleensä kyseisen salaisuuden.

Oppaassamme selitetään, mistä manuaalinen 2FA-asennusavain löytyy ja miten se erotetaan salasanasta tai palautuskoodista.

Toimiiko TOTP offline-tilassa?

Kyllä. Kun todennusohjelma on määritetty, se tarvitsee salaisuuden ja tarkan kellon, ei aktiivista internetyhteyttä. Kirjautumisen vahvistava palvelu tarvitsee kuitenkin edelleen pääsyn tallennettuihin rekisteröintitietoihinsa.

Kuinka käyttää TOTP-generaattoria turvallisesti

  • Käytä vain niiden tilien salaisuuksia, joita sinulla on lupa hallinnoida.
  • Tarkista verkkosivuston osoite ja laite ennen salaisuuden syöttämistä.
  • Älä koskaan lähetä salasanaa tai asennus-QR-koodia chatin tai tukilomakkeiden kautta.
  • Säilytä palautuskoodit erillään päivittäin käyttämästäsi todennuslaitteesta.
  • Luo uusi rekisteröintikoodi, jos salainen koodi on saattanut paljastua.

Valtuutettua testausta varten Get2FA.dev TOTP-generaattori laskee vakiokoodit selaimessasi. Tärkeiden tilien päivittäisessä käytössä suosittelemme luotettavaa todennusohjelmaa tai laitteistopohjaista menetelmää.

Usein kysyttyjä kysymyksiä

Kuinka kauan TOTP-koodi on voimassa?

Yleinen oletusarvo on 30 sekuntia, mutta palveluntarjoaja voi määrittää toisen ajan. Laskenta kuuluu tiettyyn aikaväliin; se ei ala alusta, kun katsot tai kopioit koodin.

Miksi TOTP-koodit ovat yleensä kuusinumeroisia?

Kuusi numeroa tasapainottaa käytettävyyttä ja rajoitettua mahdollisten arvojen määrää. Nopeusrajoitukset ja lyhyet voimassaoloajat ovat tärkeitä, koska kooditila itsessään ei ole suuri.

Voivatko kaksi laitetta näyttää samaa TOTP-koodia?

Kyllä, jos molemmissa laitteissa on sama salaisuus, ne käyttävät samoja asetuksia ja niiden kellot on synkronoitu. Onko rekisteröinnin kopioiminen asianmukaista, riippuu tietoturvakäytännöistäsi.

Onko TOTP sama asia kuin 2FA?

Ei. TOTP on yksi mahdollinen todennusmenetelmä. Lue, mitä 2FA tarkoittaa ja miten muut menetelmät toimivat.