Aplikacje uwierzytelniające, tokeny sprzętowe oraz kody SMS to popularne metody uwierzytelniania, z którymi możesz się spotkać podczas konfigurowania uwierzytelniania dwustopniowego (2FA). Wszystkie opierają się na hasłach jednorazowych (OTP). TOTP i HOTP to dwa standaryzowane rodzaje haseł OTP, podczas gdy wiadomości SMS i kody w wiadomościach to inne popularne metody dostarczania haseł OTP. Choć u podstaw służą one temu samemu celowi, ich wdrożenia się różnią, co wiąże się z unikalnymi zaletami i ograniczeniami. W tym artykule omówimy różnice między HOTP, TOTP i OTP oraz wyjaśnimy, które rozwiązanie jest najbardziej odpowiednie dla poszczególnych zastosowań.
Zrozumieć HOTP, TOTP i OTP
Hasło jednorazowe (OTP)
Hasła OTP to kody tymczasowe, nazywane czasami hasłami jednorazowego użytku lub kodami uwierzytelniania dwustopniowego (2FA), które są używane tylko raz. Nie zastępują one tradycyjnych haseł, lecz stanowią dodatkową warstwę zabezpieczeń. Hasła OTP są powszechnie stosowane w aplikacjach bankowych do weryfikacji tożsamości podczas logowania lub zakładania konta online.
Uwaga: OTP to ogólne określenie dla różnych form haseł jednorazowych, w tym TOTP, HOTP oraz haseł wysyłanych w wiadomościach lub przez SMS.
Hasło jednorazowe oparte na czasie (TOTP)
Kody TOTP to zazwyczaj 6-cyfrowe kody generowane przez aplikacje uwierzytelniające. Są ważne przez około 30 sekund (czasami do 60 sekund, w zależności od usługi). Gdy kod wygasa, przestaje działać i generowany jest nowy. Ograniczenie czasowe TOTP zapewnia wysoki poziom bezpieczeństwa, ponieważ skraca czas, w którym napastnicy mogliby użyć skradzionego kodu.
Hasło jednorazowe oparte na HMAC (HOTP)
Kody HOTP są powszechnie stosowane w tokenach sprzętowych, takich jak YubiKey, i generują kody w oparciu o licznik. System ten działa podobnie do książeczki z ponumerowanymi kuponami — istnieje określona kolejność kodów, która jest dopasowywana do systemu. Dopóki token sprzętowy i serwer aplikacji pozostają zsynchronizowane, otrzymujesz dostęp.
W przeciwieństwie do TOTP kody HOTP nie wygasają automatycznie. Pozostają ważne, dopóki ich nie użyjesz lub nie wygenerujesz nowego kodu. Sprawia to, że idealnie nadają się do sytuacji, gdy połączenie jest niedostępne, ale oznacza również, że jeśli wygenerujesz kod i go nie użyjesz, pozostanie on ważnym kluczem, który atakujący może znaleźć i wykorzystać.
HOTP, TOTP i OTP: kluczowe różnice
Zarówno TOTP, jak i HOTP to rodzaje OTP o różnych metodach generowania. Na przykład, jeśli porównujesz TOTP z OTP, prawdopodobnie porównujesz kody oparte na czasie z aplikacji uwierzytelniających z ogólnymi metodami OTP, takimi jak kody SMS i wiadomości.
| Kody SMS / wiadomości | TOTP | HOTP | |
| Ważność kodu | Różna (od minut do godzin) | Od 30 do 60 sekund | Do momentu wygenerowania nowego kodu |
| Bezpieczeństwo* | Niska | Wysoka | Średnie |
| Złożoność konfiguracji | Brak | Niska | Średnie |
| Wymóg aktywnej sieci | Tak | Nie | Nie |
| Dodatkowy sprzęt | Brak | Brak | Token sprzętowy |
*Poziom bezpieczeństwa oparty na oknach ważności kodów i ryzyku przechwycenia.
Bezpieczeństwo
HOTP, TOTP i OTP oferują różne poziomy bezpieczeństwa, przy czym kluczowe znaczenie ma czas ekspozycji i metoda transmisji.
TOTP zazwyczaj oferuje silniejsze bezpieczeństwo niż kody SMS lub wiadomości, ponieważ kody są generowane na urządzeniu i mają krótki okres ważności. Jeśli atakujący w jakiś sposób zdobędą Twój kod TOTP, stanie się on bezużyteczny.
HOTP opiera się na kryptografii, zapewniając solidne bezpieczeństwo. Ponieważ jednak kody HOTP nie wygasają automatycznie, potencjalnie długie okna ważności mogą sprawić, że skradzione kody staną się luką w zabezpieczeniach.
Kody SMS i wiadomości są najmniej bezpieczne ze wszystkich. Są przesyłane przez sieci, które mogą zostać przechwycone lub przekierowane, co czyni je bardziej podatnymi na ataki typu SIM swap lub próby wyłudzenia informacji..
Uwaga: żadna metoda OTP nie jest odporna na ataki oparte na inżynierii społecznej, takie jak próby wyłudzenia informacji. Ważne jest, aby wiedzieć, jak rozpoznać próby wyłudzenia informacji, aby móc się odpowiednio chronić.
| Kody SMS / wiadomości | TOTP | HOTP |
| Podatność na przechwycenie ze względu na wymóg aktywnej sieci | Minimalny czas dla atakujących na wykorzystanie skradzionych kodów | Długa ważność stwarza większe możliwości ataku |
| Niezaszyfrowane platformy ułatwiają kradzież kodów | Niższe ryzyko przechwycenia, ponieważ kody są generowane na urządzeniu | Solidne bezpieczeństwo oparte na kryptografii |
Wrażenia użytkownika
Złożoność konfiguracji, presja czasu i niezawodność wpływają na wrażenia użytkownika w przypadku tych trzech metod.
TOTP jest niezawodne i wygodne. Konfiguracja jest prosta (często wystarczy skanowanie kodu QR), a kody są generowane nawet bez aktywnej sieci. Jednak krótki czas ważności kodu wywołuje presję czasu, co może powodować frustrację u wolniejszych użytkowników lub osób zarządzających wieloma kontami.
HOTP zapewnia w porównaniu znacznie większą swobodę, bez żadnych ograniczeń czasowych. Konfiguracja jest jednak znacznie bardziej skomplikowana i może wymagać zakupu dodatkowego sprzętu.
Kody SMS i wiadomości wymagają najmniej wysiłku, ponieważ nie wymagają konfiguracji, ale zależą od połączenia sieciowego, co może powodować opóźnienia podczas awarii lub zakłóceń.
| Kody SMS / wiadomości | TOTP | HOTP |
| Konfiguracja nie jest wymagana | Prosta konfiguracja za pomocą kodu QR z aplikacją do uwierzytelniania dwustopniowego | Skomplikowana konfiguracja, może wymagać dodatkowego sprzętu |
| Niewielka presja czasu, niektóre kody wygasają po kilku godzinach | Presja czasu może powodować frustrację | Brak presji czasu |
| Całkowicie zależne od aktywnej sieci w celu dostarczenia kodu | Działa niezawodnie nawet bez połączenia sieciowego | Działa bez dostępu do sieci, ale mogą wystąpić problemy z synchronizacją |
Ograniczenia
Unikalne ograniczenia każdej metody wpływają na to, jak i kiedy z nich korzystasz. Kody SMS i wiadomości działają na Twoich obecnych urządzeniach, ale ich zależność od sieci i połączenia internetowego może powodować opóźnienia w dostarczaniu kodów, które mogą trwać nawet dłużej niż ich ważność.
TOTP nie wymaga połączenia sieciowego do generowania kodów, ale wymaga synchronizacji czasu smartfona z serwerem, aby Twój kod zadziałał. Najlepszym sposobem na zapewnienie tego jest automatyczna synchronizacja zegara urządzenia z internetem. Dzięki temu podczas podróży synchronizacja czasu zostanie zachowana.
W przypadku HOTP generowanie nowych kodów bez dostępu do sieci może być korzystne, gdy połączenie sieciowe jest słabe. Jest to jednak broń obosieczna. Ponowne generowanie kodów bez ich użycia może spowodować utratę synchronizacji urządzenia z serwerem, co prowadzi do błędów uwierzytelniania. Ponadto ręczne generowanie wymagane w przypadku HOTP nakłada ogromną odpowiedzialność za bezpieczeństwo na użytkownika.
| Kody SMS / wiadomości | TOTP | HOTP |
| Obszary o słabym zasięgu sieci mogą powodować znaczne opóźnienia w dostarczaniu kodów | Czas urządzenia musi być zsynchronizowany z czasem serwera, nawet podczas podróży | Może się rozsynchronizować, jeśli zostanie wygenerowanych zbyt wiele kodów, które nie zostaną użyte |
Z której metody OTP powinieneś korzystać?
Krótka odpowiedź brzmi: TOTP to najlepszy standard dla większości ludzi, podczas gdy HOTP odpowiada na szczególne potrzeby, gdy połączenie jest niedostępne. Oba rozwiązania są lepsze niż SMS.
Choć indywidualne potrzeby się różnią, TOTP wydaje się bardziej zrównoważonym wyborem w większości sytuacji. Charakteryzujący go czynnik czasu zapewnia dodatkową warstwę bezpieczeństwa, a łatwy dostęp na smartfonie sprawia, że to wygodny i bezpieczny wybór w przypadku kont, do których regularnie masz dostęp. Jednak w celu uzyskania jeszcze silniejszej ochrony przed próbami wyłudzenia informacji metody sprzętowe, takie jak FIDO2 czy klucze dostępu, idą dalej niż jakakolwiek metoda OTP.
Bezpiecznie przechowuj hasła i generuj kody OTP
Zarządzanie hasłami i kodami uwierzytelniania TOTP może być uciążliwe — ciągłe przełączanie się między aplikacjami podczas logowania skraca i tak już ograniczony czas, jaki masz na wpisanie kodów. Proton Pass to bezpieczny menadżer haseł, który eliminuje te niedogodności dzięki naszej zintegrowanej funkcji uwierzytelniania dwustopniowego (TOTP). Uzyskaj dostęp do swoich haseł, kodów 2FA i innych danych z jednego bezpiecznego, zaszyfrowanego sejfu.






