Verify

Hoe lang moet een OTP geldig zijn, en hoeveel cijfers?

Gebruik zes of meer willekeurige cijfers, accepteer de verificatiecode één keer en laat hem binnen tien minuten verlopen terwijl je het aantal gokpogingen beperkt.

Een verificatiecode moet lang genoeg geldig blijven om aan te komen en ingevoerd te worden, maar de kans om te raden of te hergebruiken beperken. Meet de volledige verificatieflow voordat je de geldigheidsduur kiest.

Hoe lang moet de verificatiecode geldig blijven?

Sta maximaal tien minuten toe voor een verzonden authenticatiecode, inclusief aflevering en invoer.

De authenticatierichtlijn van NIST stelt dat maximum vast voor authenticatie via een apart kanaal. De richtlijn vereist ook dat de server de code slechts één keer accepteert, om hergebruik na succesvolle authenticatie te voorkomen.

Markeer de code als gebruikt zodra hij slaagt. Weiger een nieuwe inzending van die code, ook als die binnenkomt vóór het verlopen.

Tien minuten is een maximum, geen aanbevolen wachttijd. Kies een korter venster wanneer je aflever- en invoermetingen dat ondersteunen.

Een code die veertig seconden nodig heeft om aan te komen, laat negen minuten en twintig seconden over in een venster van tien minuten. Reken lees- en typetijd mee wanneer je je aflevermetingen gebruikt.

Codes die door een authenticator worden gegenereerd, volgen een ander timingmodel. Gebruik de bijbehorende TOTP- of HOTP-regels wanneer de applicatie de code lokaal genereert.

Hoeveel cijfers moet de code hebben?

Gebruik minstens zes willekeurig gegenereerde cijfers. Stel een limiet in voor mislukte gokpogingen.

NIST vereist minstens zes decimale cijfers van een goedgekeurde willekeurige generator voor verzonden authenticatiegeheimen. Een voorspelbare teller of tijdstempel voldoet niet aan die eis.

Zes willekeurige cijfers leveren een miljoen mogelijke codes op. Vijf afzonderlijke gokpogingen geven vijf kansen op een miljoen, ofwel één op tweehonderdduizend.

Tel mislukte pogingen per account. NIST vereist dat een nieuwe code die teller bewaart, zodat opnieuw verzenden geen onbeperkt aantal gokpogingen kan opleveren.

Een pogingslimiet vereist ook een herstelpad voor legitieme gebruikers die hem bereiken. Bepaal hoe zij weer toegang krijgen zonder de limiet te resetten voor een aanvaller.

Moet ik acht cijfers gebruiken?

Gebruik er acht wanneer de kleinere raadkans twee extra in te voeren cijfers rechtvaardigt.

Acht willekeurige cijfers leveren honderd miljoen mogelijke codes op. Bij vijf gokpogingen wordt de kans vijf op honderd miljoen.

Dat is honderd keer lager dan vijf gokpogingen bij zes cijfers. Houd dezelfde pogingslimiet aan wanneer je de codelengte vergroot.

Langere codes repareren onbeperkt raden niet. Implementeer de pogingslimiet voordat je extra cijfers als voldoende bescherming beschouwt.

Wat kan ik configureren in Bird?

Stel het verificatiecodebeleid van de werkruimte in. Bekijk de opgeloste instellingen die bij elke verificatie worden teruggegeven.

VeldWat je kiest
code_lengthBird accepteert 4 tot 8 tekens. Kies minstens zes voor dit beleid
code_typeBekijk de teruggegeven tekenset, numeric of alphanumeric
ttl_secondsBird accepteert 1 tot 59940 seconden. Houd het authenticatievenster op 600 seconden of minder
max_attemptsKies 1 tot 10 onjuiste inzendingen voordat de verificatie mislukt
resend_cooldown_secondsKies 0 tot 3600 seconden tussen verzendingen naar de ontvanger

De toegestane duur van API reikt verder dan deze authenticatieaanbeveling. Stel de waarde bewust in in plaats van de maximaal geaccepteerde waarde als geschikte vervaltijd te behandelen.

Een verificatieverzoek kan code_length voor die verificatie overschrijven. Controleer het opgeloste beleid wanneer je gedrag onderzoekt dat afwijkt van de werkruimteconfiguratie.

Wat moet ik kiezen?

  1. Begin met zes willekeurige cijfers en een kleine, afgedwongen pogingslimiet.
  2. Baseer het geldigheidsvenster op gemeten aflever- en invoertijd, binnen tien minuten.
  3. Gebruik acht cijfers wanneer de actie een kleinere raadkans rechtvaardigt.
  4. Dwing eenmalig gebruik af en bewaar de teller van mislukte pogingen bij het uitgeven van een nieuwe code.

Kort gezegd

  1. Sta maximaal tien minuten toe.

    Aflevering en invoer verbruiken allebei het geldigheidsvenster. Kies een kortere duur wanneer je gemeten flow dat ondersteunt.

  2. Gebruik minstens zes willekeurige cijfers.

    Tel mislukte gokpogingen naast het kiezen van een codelengte. Langere codes vervangen geen pogingslimiet.

  3. Accepteer elke code slechts één keer.

    Weiger een eerder geaccepteerde code, ook als het geldigheidsvenster nog niet is verstreken.

  4. Bewaar pogingstellers bij opnieuw verzenden.

    Het uitgeven van een nieuwe code mag het account geen nieuwe voorraad gokpogingen geven.

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