• OTP
  • TOTP
  • MFA
  • HOTP
  • kertakäyttöinen salasana

Mikä on kertakäyttöinen salasana (OTP)?

Mikä on OTP? Mikä on ero OTP:n ja TOTP:n välillä? Kuinka OTP toimii? Tämä artikkeli purkaa OTP:n peruskäsitteitä ja miksi se on suosittu verrattuna staattisiin salasanoihin.

Simeng
Simeng
Developer

OTP tarkoittaa kertakäyttöistä salasanaa, joka tunnetaan myös kertakäyttöisenä pin-koodina, kertakäyttöisenä salasanana tai dynaamisena salasanana. Se on ainutlaatuinen, automaattisesti luotu tilapäinen salasana, jota käytetään yhden todennussession tai tapahtuman aikana.

Toisin kuin perinteiset staattiset salasanat, OTP:t muuttuvat joka kerta, kun niitä käytetään, ja ne vanhenevat lyhyen ajan kuluttua. Tämä tekee niistä erittäin turvallisen todennusmenetelmän, koska niitä on paljon vaikeampi varastaa ja käyttää uudelleen hyökkääjille.

OTP:t ovat laajalti käytössä erilaisissa turvallisuussovelluksissa, kuten verkkopankkitoiminnassa, verkkokaupassa ja pääsyn turvaamisessa arkaluonteisiin tietoihin tai järjestelmiin. Niitä käytetään myös yleisesti toisena tekijänä monitasoisessa todentamisessa (MFA) tarjoamaan ylimääräinen turvakerros. Yhdistämällä jotain, mitä käyttäjä tietää (esim. salasana) johonkin, mitä heillä on (esim. mobiililaite), OTP:t ovat tulleet olennaiseksi työkaluksi nykyaikaisissa todennusjärjestelmissä.

Kuinka OTP toimii?

OTP:itä on useita tyyppejä, ja ne luodaan ja toimitetaan eri tavoin eri käyttötapauksissa. Yleisiä OTP-menetelmiä ovat:

SMS OTP / Sähköposti OTP

SMS OTP tai sähköposti OTP on yksi yksinkertaisimmista OTP-muodoista, jossa palvelin generoi ainutlaatuisen salasanan ja toimittaa sen turvallisesti käyttäjälle SMS:n tai sähköpostin kautta. Käyttäjä syöttää sitten tämän salasanan todentaakseen itsensä.

Kuinka se toimii:

  • Käyttäjä pyytää OTP:tä palvelimelta.
  • Palvelin luo satunnaisen numeerisen tai aakkosnumeerisen koodin ja lähettää sen käyttäjälle SMS:n tai sähköpostin kautta.
  • Käyttäjä hakee OTP:n SMS:stä tai sähköpostista ja syöttää sen sovellukseen.
  • Palvelin tarkistaa koodin tietueidensa perusteella ja antaa pääsyn, jos koodi on kelvollinen.

Turvatoimet:

  • OTP on voimassa vain lyhyen aikaa (esim. 5 minuuttia) minimoiden sieppaus- ja toistohyökkäykset.
  • SMS-toimituskanava tukeutuu matkapuhelinverkkoihin, joten se on altis sieppaamiselle SIM-korttihuijausten tai tietoliikenneinfrastruktuurin haavoittuvuuksien kautta.
  • Sähköpostipohjaiset OTP:t ovat vain niin turvattuja kuin käyttäjän sähköpostitili. Jos sähköpostitili vaarantuu, OTP voidaan siepata.

Käyttötapaukset:

SMS ja sähköposti OTP:eitä käytetään yleisesti kuluttajien sovelluksissa, kuten verkkopankissa, verkkokaupassa ja sosiaalisen median alustoilla. Ne eivät ole vain turvallisempia kuin staattiset salasanat, vaan ne tarjoavat myös kätevän tavan käyttäjille todentaa itsensä ilman monimutkaisten salasanojen ja turvakysymysten muistamista.

Koska useimmilla käyttäjillä on jatkuva pääsy matkapuhelimeen tai sähköpostitiliin, SMS ja sähköposti OTP:istä on tullut suosittu valinta käyttäjän todennukseen, sähköpostiosoitteen tai puhelinnumeron omistajuuden varmistamiseksi ja salasanan palauttamiseksi.

HMAC-pohjainen OTP (HOTP)

HMAC-pohjainen OTP, joka on määritelty RFC 4226:ssa, on aika-synkronoitu OTP-algoritmi, joka luo sekvenssin kertakäyttöisiä koodeja salaisesta avaimesta ja laskurista. Jokainen OTP johdetaan hajauttamalla salainen avain ja laskuri käyttämällä kryptografista hajautusfunktiota (esim. SHA-1, SHA-256).

Kuinka se toimii:

  1. Salaisuus: HOTP vaatii jaetun salaisen avaimen palvelimen ja asiakkaan välillä.

  2. Laskuri: Palvelin ja asiakas ylläpitävät laskuria, joka kasvaa jokaisella OTP:n luomisella.

  3. Asiakas laskee laskurin (C) HMAC-SHA1 (tai muun hash-funktion) hajautuksen käyttämällä jaettua salaista avainta (K)

    • H = HMAC-SHA1(K, C)
  4. Hash-arvo katkaistaan 6- tai 8-numeroinen koodi (toteutuksesta riippuen) OTP:n luomiseksi.

    • OTP = Truncate(H)mod 10^d
  5. Palvelin seuraa laskurin arvoa ja tarkistaa saapuvan OTP:n laskemalla hash-arvon käyttämällä samaa laskurin arvoa ja salaista avainta. (Jos on pieni erimielisyys, palvelin voi sallia pienen laskurin arvojen ikkunan, esim. yksi tai kaksi lisäystä, synkronointiongelmien huomioon ottamiseksi)

Turvatoimet:

  • HOTP varmistaa, että jokainen salasana on ainutlaatuinen ja voimassa siihen asti, kunnes sitä on käytetty, koska laskuria lisätään jokaisen onnistuneen todennuksen jälkeen.
  • Jaettua salaista avainta ei koskaan lähetetä verkon yli, mikä vähentää sieppaamisen riskiä.
  • Laskurin arvo on synkronoitu palvelimen ja asiakkaan välillä estämään toistohyökkäykset.

Käyttötapaukset:

HOTP:ä käytetään yleisesti laitteistotunnisteissa ja vanhoissa järjestelmissä, joissa ajoitusrajoitusten toteuttaminen voi olla haastavaa. Nykyajan sovelluksissa TOTP on suositumpi käytetty sen aikaperustaisen luonteen ja helpon toteutuksen vuoksi.

Aikaperustainen OTP (TOTP)

Aikaperustainen OTP, määritelty RFC 6238:ssa, on algoritmi, joka luo sekvenssin kertakäyttöisiä koodeja nykyisen ajan ja jaetun salaisen avaimen perusteella. TOTP on HOTP:n kehittyneempi laajennus, joka käyttää laskuriarvon sijasta aikaleimaa OTP:n luomiseen. Se antaa aikaperusteisen voimassaolon OTP:ille, mikä tekee niistä turvallisempia kuin HOTP.

Kuinka se toimii:

  1. Salaisuus: Kuten HOTP, TOTP vaatii jaetun salaisen avaimen palvelimen ja asiakkaan välillä.

  2. Aikaväli: Suurin ero HOTP:n ja TOTP:n välillä on, että TOTP käyttää aikaperusteista askelmäärää (yleensä 30 sekuntia) laskuriarvon sijasta.

  3. Asiakas laskee nykyisen ajan HMAC-SHA1 hajautuksen jaetun salaisuuden avulla jakamalla ajan aikavälillä.

    • H(Time) = HMAC-SHA1(K, Time/TimeStep)
  4. Hash-arvo katkaistaan 6- tai 8-numeroinen koodi OTP:n muodostamiseksi.

    • OTP(Time) = Truncate(H(Time))mod 10^d
  5. Dynaaminen OTP: Koska OTP-luonti perustuu aikaan, OTP muuttuu 30 sekunnin välein, mikä tarjoaa korkeamman turvallisuustason.

  6. Palvelin tarkistaa saapuvan OTP:n laskemalla hash-arvon nykyisen ajan ja salaisen avaimen avulla. Niin kauan kuin OTP on voimassa olevassa aikaikkunassa, palvelin hyväksyy todennuksen.

Turvatoimet:

  • Ajan synkronointiin perustuva luottamus varmistaa, että OTP on vain lyhytaikainen voimassa, mikä vähentää sieppaamisen tai uudelleenkäytön riskiä.
  • TOTP:n aikaperusteinen luonne tekee siitä turvallisemman kuin HOTP, koska se on vähemmän altis toistohyökkäyksille. Vaikka hyökkääjä saisi haltuunsa aiemmin käytetyn OTP:n, se muuttuu kelvottomaksi, kun aikaikkuna umpeutuu.
  • Kuten HOTP, jaettua salaista avainta ei koskaan lähetetä verkon yli, mikä vähentää sieppaamisen riskiä.

Käyttötapaukset:

TOTP on laajalti käytetty ohjelmistopohjaisissa todennussovelluksissa, kuten Google Authenticator, Authy ja Microsoft Authenticator. Nämä sovellukset luovat aikaperusteisia OTP:itä käyttäjille todentaakseen itsensä eri verkkopalveluissa, mukaan lukien sosiaalisen median alustat, pilvipalvelut ja rahoituslaitokset.

TOTP-todennussovelluksista on tullut suosituin OTP:n muoto monitasoisessa todentamisessa, koska se tarjoaa tasapainon turvallisuuden ja käytettävyyden välillä. Käyttäjät voivat luoda OTP:itä mobiililaitteillaan riippumatta SMS- tai sähköpostitoimituksesta, mikä tekee siitä turvallisemman ja kätevämmän todennusmenetelmän.

OTP:n edut

  1. Parannettu turvallisuus

    • OTP:t lieventävät varastettujen tai vaarantuneiden salasanojen aiheuttamia riskejä.
    • OTP:t ovat aikaherkkä ja ne vanhenevat nopeasti, mikä vähentää hyökkääjien mahdollisuuksia siepata ja käyttää niitä uudelleen.
    • Sen kertakäyttöisyys tekee siitä turvallisemman kuin staattiset salasanat, sillä jokainen OTP on ainutlaatuinen eikä sitä voida käyttää uudelleen.
  2. Käytön helppous

    • OTP:t on helppo luoda ja käyttää, mikä vaatii vähäistä käyttäjän vuorovaikutusta.
    • Laajalti tuettu eri alustoilla ja palveluissa, kuten TOTP, mikä vaatii vähäistä asetusta ja voi hyödyntää laajaa valikoimaa olemassa olevia todennussovelluksia.
  3. Joustavuus

    • OTP:t voidaan toimittaa useiden kanavien kautta, mukaan lukien SMS, sähköposti ja todennussovellukset, mikä tarjoaa joustavuutta käyttäjille valita haluamansa menetelmä.
  4. Säädösten noudattaminen

    • OTP:t ovat yhteensopivia teollisuusstandardien ja säädösten, kuten PCI DSS, GDPR ja HIPAA, kanssa, jotka edellyttävät vahvoja todennusmekanismeja suojaamaan arkaluontoisia tietoja.

Miksi OTP on suosittu verrattuna staattisiin salasanoihin?

OTP on turvallinen ja kätevä todennusmenetelmä, josta on tullut olennainen työkalu nykyaikaisessa turvallisuuskäytännössä. Tarjoamalla ainutlaatuisen, aikaherkkä koodin jokaiselle todennussessiolle OTP:t tarjoavat korkeamman turvallisuustason kuin perinteiset staattiset salasanat. Riippumatta siitä, toimitetaanko ne SMS:n, sähköpostin tai todennussovellusten kautta, OTP:t ovat laajalti käytössä eri sovelluksissa suojaamaan arkaluontoisia tietoja ja turvaamaan pääsyn verkkopalveluihin. Kun uhkamaisema kehittyy, OTP:t jatkavat tärkeän roolin pelaamista käyttäjätilien suojaamisessa ja luvattoman pääsyn estämisessä henkilökohtaisiin ja yritystietoihin.