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ściTOTPHOTP
Ważność koduRóżna (od minut do godzin)Od 30 do 60 sekundDo momentu wygenerowania nowego kodu
Bezpieczeństwo*NiskaWysokaŚrednie
Złożoność konfiguracjiBrakNiskaŚrednie
Wymóg aktywnej sieciTakNieNie
Dodatkowy sprzęt BrakBrakToken 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ściTOTPHOTP
Podatność na przechwycenie ze względu na wymóg aktywnej sieciMinimalny czas dla atakujących na wykorzystanie skradzionych kodówDługa ważność stwarza większe możliwości ataku
Niezaszyfrowane platformy ułatwiają kradzież kodówNiższe ryzyko przechwycenia, ponieważ kody są generowane na urządzeniuSolidne 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ściTOTPHOTP
Konfiguracja nie jest wymaganaProsta konfiguracja za pomocą kodu QR z aplikacją do uwierzytelniania dwustopniowegoSkomplikowana konfiguracja, może wymagać dodatkowego sprzętu
Niewielka presja czasu, niektóre kody wygasają po kilku godzinachPresja czasu może powodować frustracjęBrak presji czasu
Całkowicie zależne od aktywnej sieci w celu dostarczenia koduDziała niezawodnie nawet bez połączenia sieciowegoDział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ściTOTPHOTP
Obszary o słabym zasięgu sieci mogą powodować znaczne opóźnienia w dostarczaniu kodówCzas urządzenia musi być zsynchronizowany z czasem serwera, nawet podczas podróżyMoż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.