Cyber Security Academy · Lekcja

TOTP i HOTP

Jednorazowe hasła oparte na czasie

Lekcja 2 z 413 kroki

TOTP i HOTP to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Hasła jednorazowe

Hasło jednorazowe (OTP) to kod ważny podczas jednego logowania lub przez krótki czas.

Generują je dwa standardowe algorytmy: HOTP i TOTP.

Współdzielony sekret

Oba algorytmy rozpoczynają działanie od współdzielonego sekretu, znanego wyłącznie serwerowi i aplikacji uwierzytelniającej.

Zwykle jest on przekazywany w postaci kodu QR podczas konfiguracji i przechowywany po obu stronach.

HOTP: na podstawie licznika

HOTP (HMAC-based OTP) łączy współdzielony sekret z licznikiem za pomocą HMAC, a następnie skraca wynik do krótkiego kodu numerycznego.

Licznik zwiększa się o jeden przy każdym wygenerowanym kodzie.

HOTP = Truncate( HMAC-SHA1(secret, counter) )

TOTP: na podstawie czasu

TOTP (Time-based OTP) to HOTP, w którym licznik jest bieżącym czasem podzielonym na stałe przedziały (zwykle 30-sekundowe).

Ponieważ czas stale płynie do przodu, obie strony pozostają zsynchronizowane bez konieczności śledzenia ręcznego licznika.

T = floor( (current_unix_time) / 30 )
TOTP = Truncate( HMAC-SHA1(secret, T) )

Okno 30-sekundowe

Kod TOTP zazwyczaj zmienia się co 30 sekund. Tak krótki czas ważności ogranicza okres, w którym skradziony kod może być użyteczny.

Dlatego aplikacje uwierzytelniające wyświetlają pasek odliczania.

Tolerancja rozbieżności zegarów

Zegary urządzeń nieznacznie się rozregulowują. Aby uniknąć odrzucania prawidłowych kodów, serwery akceptują kody z jednego kroku przed bieżącym oknem i po nim.

Zbyt szerokie okno osłabia bezpieczeństwo, dlatego utrzymuje się je na niewielkim poziomie.

Synchronizacja HOTP

W przypadku HOTP może dojść do rozbieżności, jeśli wygenerowany kod nie zostanie użyty (licznik zwiększa się na urządzeniu, ale nie na serwerze).

Serwery dopuszczają niewielkie okno wyprzedzenia w celu ponownej synchronizacji, ale duże rozbieżności wymagają ręcznej synchronizacji.

Identyfikator URI otpauth

Kody QR zawierają identyfikator URI otpauth opisujący sekret i parametry.

otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&period=30

Dlaczego wybrano TOTP

TOTP jest znacznie częściej używany niż HOTP, ponieważ:

  • Nie ma licznika, który mógłby się rozregulować i wymagać ponownej synchronizacji.
  • Kody naturalnie wygasają.
  • Działa w trybie offline — do wygenerowania kodu nie jest potrzebna sieć.

Zalety i ograniczenia

TOTP stanowi duże ulepszenie w porównaniu z samymi hasłami, ale nadal jest podatny na wyłudzenie: fałszywa strona może skłonić użytkownika do wpisania aktualnego kodu.

Klucze sprzętowe, omówione w następnej lekcji, są odporne na takie ataki.

Kopie zapasowe i odzyskiwanie dostępu

Utrata urządzenia, na którym przechowywany jest sekret, może uniemożliwić zalogowanie. Dobre praktyki:

  • Należy zapisać kody odzyskiwania wydane podczas konfiguracji.
  • Należy bezpiecznie wykonać kopię sekretu lub zarejestrować drugą aplikację uwierzytelniającą.

Szybkie sprawdzenie

Jaka jest kluczowa różnica między HOTP a TOTP?

Podsumowanie

Dowiedział się Pan / Dowiedziała się Pani, jak działają algorytmy OTP.

  • Oba opierają się na współdzielonym sekrecie i HMAC.
  • HOTP używa licznika, a TOTP — czasu.
  • Kody TOTP wygasają co około 30 sekund, ale nadal są podatne na phishing.
  • Należy przechowywać kody odzyskiwania.

Następnie omówimy zatwierdzenia push i klucze sprzętowe.

Bezpłatny start

Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
76
Lekcje
303

Często zadawane pytania

Czy lekcja „TOTP i HOTP” jest bezpłatna?

Tak — pełny tekst „TOTP i HOTP” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „TOTP i HOTP”?

Jednorazowe hasła oparte na czasie Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „TOTP i HOTP”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czynniki uwierzytelniania
  2. TOTP i HOTP
  3. Klucze push i sprzętowe
  4. Ryzyko omijania MFA
← Powrót do Cyber Security Academy