Verify

OTP vs TOTP vs HOTP: wat is het verschil?

OTP is de naam voor een eenmalige verificatiecode; HOTP genereert deze op basis van een teller, terwijl TOTP deze op basis van tijd genereert.

Een authenticator-app kan een code produceren zonder een bericht te ontvangen. Een per sms verstuurde verificatiecode komt via een afleverkanaal aan, dus de opzet en foutafhandeling verschillen.

Wat betekent elke term?

OTP beschrijft een code die één keer wordt geaccepteerd. HOTP en TOTP beschrijven algoritmen om die code te genereren.

TermWat levert de codeWat de gebruiker nodig heeft
OTPDe algemene categorie, onafhankelijk van de generatiemethodeHangt af van de gekozen methode
HOTPEen gedeeld geheim en een oplopende tellerEen geregistreerd token of applicatie
TOTPEen gedeeld geheim en het huidige tijdsintervalEen geregistreerde authenticator met een bruikbare klok

RFC 4226 definieert het gedeelde geheim en de teller van HOTP. RFC 6238 gebruikt tijd in plaats van die teller voor TOTP.

De authenticator en de verificator hebben hetzelfde geheim nodig om overeenkomende codes te berekenen. Bescherm dat geheim tijdens registratie en opslag, want wie het bezit kan codes genereren.

Hoe verandert HOTP zijn code?

Het token verhoogt een teller wanneer het een code genereert. De verificator verhoogt zijn bijbehorende status na het accepteren van de verwachte code.

Een HOTP-code vervalt niet alleen omdat er tijd verstrijkt. Codes genereren zonder ze in te dienen kan het token vóór de verificator brengen.

Bied de tellerhersynchronisatie die de specificatie van HOTP vereist. Begrens het zoeken naar latere tellerwaarden, want meer kandidaten accepteren vergroot de kans op raden.

Beperk mislukte authenticatiepogingen tijdens dat proces. Hersynchronisatie mag geen route worden naar onbeperkt raden.

Hoe verandert TOTP zijn code?

TOTP genereert een code op basis van het gedeelde geheim en het huidige tijdsinterval, zelfs wanneer niemand een nieuwe code opvraagt.

RFC 6238 beveelt een tijdstap van 30 seconden aan. De getoonde code verandert zodra de klok het volgende interval bereikt.

Een code die tegen het einde van een interval wordt ingevoerd, kan de verificator tijdens het volgende interval bereiken. Sta een begrensde vertraging toe zodat normale invoertiming geen onnodige fouten veroorzaakt.

De RFC beveelt maximaal één stap voor netwerkvertraging aan. Die aanbeveling betreft transmissievertraging; het is geen universele limiet op alle kloksynchronisatie.

Houd de klokken van apparaat en server gelijk. Een breed acceptatievenster vangt meer drift op. Het accepteert ook meer kandidaatcodes.

Weiger een al geaccepteerde code zelfs binnen het tijdsinterval. De klok die later verandert, zorgt op zichzelf niet voor eenmalig gebruik.

Is een verificatiecode verstuurd door Bird een TOTP?

Nee. Bird Verify genereert een willekeurige verificatiecode en levert deze af via het geselecteerde kanaal.

De ontvanger hoeft geen gedeeld authenticatorgeheim te registreren om die code te ontvangen. De geldigheid volgt het verloop- en pogingsbeleid van de verificatie, niet de teller of het klokinterval van een authenticator.

Kies de codelengte, vervaltijd en pogingslimiet voor de verificatiestroom. Meet de aflever- en voltooiingsintervallen wanneer ontvangers vertragingen melden.

HOTP en TOTP genereren codes lokaal na registratie, dus ze wachten niet op een bericht bij het inloggen. Het herstel moet in plaats daarvan rekening houden met een verloren authenticator of gedeeld geheim.

Welke methode moet ik kiezen?

  1. Gebruik een afgeleverde verificatiecode wanneer de stroom toegang tot een bereikbaar nummer of adres moet verifiëren.
  2. Gebruik TOTP wanneer gebruikers een authenticator met een betrouwbare klok kunnen registreren en behouden.
  3. Gebruik HOTP wanneer het token niet op tijd kan vertrouwen en je tellersynchronisatie kunt onderhouden.
  4. Beperk voor elke methode het aantal pogingen, dwing eenmalig gebruik af en definieer accountherstel vóór de lancering.

Kort gezegd

  1. OTP is de categorie.

    HOTP en TOTP zijn manieren om eenmalige codes te genereren. Een server kan ook een willekeurige verificatiecode genereren en afleveren.

  2. HOTP volgt een teller.

    Ongebruikte codes genereren kan het apparaat vóór de verificator brengen. Bied een begrensde manier om ze te hersynchroniseren.

  3. TOTP volgt de klok.

    De aanbevolen tijdstap is 30 seconden. Houd rekening met invoervertraging zonder het acceptatievenster onnodig breed te maken.

  4. Kies het registratie- en herstelmodel.

    Authenticatorcodes vereisen een eerder gedeeld geheim. Afgeleverde codes vereisen een werkend afleverkanaal.

Bouw op hetzelfde netwerk.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra u een betaalmethode toevoegt en een afzender verifieert.

Begin met één kanaal.
Voeg de rest toe wanneer je er klaar voor bent.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra je een betaalmethode toevoegt en een afzender verifieert.

Gebruik je Claude Code, Cursor of Codex? Kopieer een setup-prompt en je agent installeert de Bird CLI en skills voor je. Kies de jouwe:

Cursor