Verify

Jak długo powinien być ważny OTP i ile cyfr powinien mieć?

Użyj sześciu lub więcej losowych cyfr, akceptuj kod weryfikacyjny tylko raz i ustaw wygaśnięcie w ciągu dziesięciu minut, ograniczając liczbę prób odgadnięcia.

Kod weryfikacyjny musi być ważny wystarczająco długo, by dotarł i został wpisany, jednocześnie ograniczając możliwość odgadnięcia lub ponownego użycia. Zmierz cały przebieg weryfikacji, zanim wybierzesz czas ważności.

Jak długo kod weryfikacyjny powinien być ważny?

Nie więcej niż dziesięć minut na wysłany kod uwierzytelniający, wliczając dostarczenie i wpisanie.

Wytyczne NIST dotyczące uwierzytelniania ustalają ten maksymalny czas dla uwierzytelniania przez osobny kanał. Wymagają też, by serwer akceptował kod tylko raz, zapobiegając ponownemu użyciu po udanym uwierzytelnieniu.

Oznacz kod jako wykorzystany, gdy weryfikacja się powiedzie. Odrzuć kolejne przesłanie tego kodu, nawet jeśli nadejdzie przed wygaśnięciem.

Dziesięć minut to maksimum, a nie zalecany czas oczekiwania. Wybierz krótsze okno, jeśli Twoje pomiary dostarczenia i wpisywania na to pozwalają.

Kod, który dociera po czterdziestu sekundach, zostawia dziewięć minut i dwadzieścia sekund w dziesięciominutowym oknie. Uwzględnij czas na przeczytanie i wpisanie, korzystając z pomiarów dostarczenia.

Kody generowane przez aplikację uwierzytelniającą działają w innym modelu czasowym. Użyj odpowiednich reguł TOTP lub HOTP, gdy aplikacja generuje kod lokalnie.

Ile cyfr powinien mieć?

Użyj co najmniej sześciu losowo wygenerowanych cyfr. Ustaw limit nieudanych prób odgadnięcia.

NIST wymaga co najmniej sześciu cyfr dziesiętnych z zatwierdzonego generatora losowego dla wysyłanych kodów uwierzytelniających. Przewidywalny licznik ani znacznik czasu nie spełniają tego wymagania.

Sześć losowych cyfr daje milion możliwych kodów. Pięć różnych prób odgadnięcia to pięć szans na milion, czyli jedna na dwieście tysięcy.

Licz nieudane próby dla danego konta. NIST wymaga, by nowy kod zachowywał ten licznik, więc ponowne wysłanie nie może dawać nieograniczonej liczby prób.

Limit prób wymaga też ścieżki odzyskania dostępu dla prawowitych użytkowników, którzy go wyczerpią. Zdecyduj, jak odzyskają dostęp bez resetowania limitu dla atakującego.

Czy powinienem użyć ośmiu cyfr?

Użyj ośmiu, gdy mniejsze prawdopodobieństwo odgadnięcia uzasadnia wpisywanie dwóch dodatkowych cyfr.

Osiem losowych cyfr daje sto milionów możliwych kodów. Przy pięciu próbach szansa wynosi pięć na sto milionów.

To sto razy mniej niż pięć prób przy sześciu cyfrach. Zachowaj ten sam limit prób przy zwiększaniu długości kodu.

Dłuższe kody nie naprawiają braku limitu prób. Wprowadź limit prób, zanim potraktujesz dodatkowe cyfry jako wystarczające zabezpieczenie.

Co mogę skonfigurować w Bird?

Ustaw politykę kodów weryfikacyjnych dla obszaru roboczego. Sprawdzaj rozwiązane ustawienia zwracane dla każdej weryfikacji.

PoleCo wybrać
code_lengthBird przyjmuje od 4 do 8 znaków. Wybierz co najmniej sześć dla tej polityki
code_typeSprawdź zwracany zestaw znaków, numeric lub alphanumeric
ttl_secondsBird przyjmuje od 1 do 59940 sekund. Utrzymuj okno uwierzytelniania na poziomie 600 sekund lub mniej
max_attemptsWybierz od 1 do 10 błędnych prób, zanim weryfikacja zakończy się niepowodzeniem
resend_cooldown_secondsWybierz od 0 do 3600 sekund między wysyłkami do odbiorcy

Dozwolony czas ważności w API wykracza poza tę rekomendację uwierzytelniania. Ustaw wartość świadomie, zamiast traktować maksymalną akceptowaną wartość jako odpowiedni czas wygaśnięcia.

Żądanie weryfikacji może nadpisać code_length dla danej weryfikacji. Sprawdź rozwiązaną politykę, badając zachowanie różniące się od konfiguracji obszaru roboczego.

Co wybrać?

  1. Zacznij od sześciu losowych cyfr i niskiego, egzekwowanego limitu prób.
  2. Dostosuj okno ważności do zmierzonego czasu dostarczenia i wpisania, w ramach dziesięciu minut.
  3. Użyj ośmiu cyfr, gdy operacja uzasadnia mniejsze prawdopodobieństwo odgadnięcia.
  4. Egzekwuj jednorazowe użycie i zachowuj liczniki nieudanych prób przy wysyłaniu kolejnego kodu.

W skrócie

  1. Nie więcej niż dziesięć minut.

    Dostarczenie i wpisanie kodu zużywają okno ważności. Wybierz krótszy czas, jeśli zmierzony przebieg na to pozwala.

  2. Użyj co najmniej sześciu losowych cyfr.

    Licz nieudane próby odgadnięcia oprócz wyboru długości kodu. Dłuższe kody nie zastępują limitu prób.

  3. Akceptuj każdy kod tylko raz.

    Odrzuć wcześniej zaakceptowany kod, nawet jeśli jego okno ważności jeszcze nie upłynęło.

  4. Zachowuj liczniki prób między ponownymi wysyłkami.

    Wysłanie kolejnego kodu nie może dawać kontu nowej puli prób odgadnięcia.

Buduj na tej samej sieci.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i zweryfikowaniu nadawcy.

Zacznij od jednego kanału.
Dodaj kolejne, gdy będziesz gotowy.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i weryfikacji nadawcy.

Używasz Claude Code, Cursor lub Codex? Skopiuj prompt konfiguracyjny, a Twój agent zainstaluje za Ciebie Bird CLI i umiejętności. Wybierz swój:

Cursor