Jeśli zdarzyło Ci się użyć tokena sprzętowego do zatwierdzenia transakcji bankowości cyfrowej lub kliknąć klucz YubiKey w celu wygenerowania kodu logowania, oznacza to, że znasz już technologię haseł jednorazowych opartych na HMAC (HOTP). Aby pomóc Ci zrozumieć, jak możesz wykorzystać HOTP do ochrony swoich kont, wyjaśnimy, jak działa HOTP, jakie są jego zalety i ograniczenia, oraz porównamy go z innymi metodami OTP.

Co to jest HOTP?

Skrót HOTP oznacza jednorazowe hasło oparte na HMAC (HMAC-based one-time password). Jest to metoda uwierzytelniania dwustopniowego (2FA), która generuje jednorazowe kody logowania na żądanie.

HMAC, czyli kod uwierzytelniania wiadomości oparty na haszowaniu (Hash-based Message Authentication Code), to technika kryptograficzna, która wykorzystuje tajny klucz i funkcję skrótu do wygenerowania bezpiecznej, odpornej na manipulacje wartości. HOTP stosuje HMAC wraz z licznikiem, aby upewnić się, że każdy kod uwierzytelniający jest unikalny i może być użyty tylko raz.

Ponieważ kody HOTP pozostają ważne do momentu ich użycia lub zastąpienia, doskonale sprawdzają się w pracy zdalnej i innych środowiskach, w których niezawodna synchronizacja czasu lub stałe połączenie nie są możliwe.

Jak działa HOTP?

Uwierzytelnianie HOTP opiera się na dwóch wspólnych elementach: tajnym kluczu i liczniku. Zarówno urządzenie użytkownika, jak i serwer uwierzytelniający przechowują te wartości i używają ich do niezależnego generowania tego samego kodu jednorazowego.

Konfiguracja: podczas konfigurowania tokena sprzętowego tajny klucz jest udostępniany między urządzeniem a serwerem aplikacji i bezpiecznie przechowywany po obu stronach.

Generowanie kodu: urządzenie używa kryptograficznej funkcji skrótu o nazwie HMAC do połączenia tajnego klucza z aktualną wartością licznika. Wynikiem jest krótkie, nieprzewidywalne hasło jednorazowe.

Uwierzytelnianie: gdy wpiszesz kod HOTP, serwer wykonuje to samo obliczenie, używając własnej kopii tajnego klucza i licznika. Jeśli kody się zgadzają, dostęp zostaje przyznany.

Wyjaśnienie działania systemu licznika HOTP

HOTP opiera się na unikalnym systemie liczników współdzielonym między Twoim urządzeniem a serwerem uwierzytelniającym. Za każdym razem, gdy generujesz nowy kod, licznik zwiększa się o jeden. Po pomyślnym zalogowaniu serwer również aktualizuje swój licznik. Dopóki liczniki urządzenia i serwera pozostają zsynchronizowane, kody będą się zgadzać, co umożliwi Ci dostęp.

Pomyśl o HOTP jak o książeczce z ponumerowanymi kuponami, które wyrywasz i używasz po kolei. Zużyty kupon nie może być użyty ponownie, a Ty musisz użyć następnego. System liczników HOTP działa w podobny sposób.

Uwierzytelnianie HOTP a inne metody OTP

HOTP a OTP

Hasła jednorazowe (OTP) to szerokie pojęcie określające różne hasła jednorazowego użytku, które wykorzystujemy do 2FA. HOTP to konkretny rodzaj OTP, który opiera się na systemie licznikowym w celu generowania kodów.

HOTP a TOTP

Hasła jednorazowe generowane na czas (TOTP) automatycznie tworzą nowy kod co 30 do 60 sekund. Najbardziej znanym przykładem TOTP są kody generowane przez aplikacje uwierzytelniające. HOTP z kolei generuje nowy kod tylko na żądanie, wykorzystując do tego licznik, a nie zegar.

Różnica ta wpływa na bezpieczeństwo każdej z metod OTP. Szybkie wygaśnięcie kodu TOTP daje atakującym bardzo mało czasu na działanie. Z kolei kody HOTP mogą zachować ważność przez wiele dni, a nawet tygodni.

Jednak HOTP jest bardziej niezawodny w sytuacjach, gdy urządzenia mają niedokładne zegary. Na przykład w przypadku sprzętu w odległych lokalizacjach ze słabym połączeniem internetowym.

HOTP a kody SMS i wiadomości e-mail

Kody OTP wysyłane przez SMS i wiadomości e-mail są podatne na przechwycenie, ponieważ muszą przebyć drogę przez sieć komórkową i internetową. HOTP generuje kody na urządzeniu, dzięki czemu jest bezpieczniejszy, zapewniając jednocześnie stały dostęp nawet podczas zakłóceń w sieci.

Jakie są zalety i ograniczenia HOTP?

Zalety uwierzytelniania HOTP

Korzystanie z HOTP jako preferowanej metody OTP ma kilka zalet:

  • Działa offline: HOTP może działać offline, co czyni go idealnym rozwiązaniem dla lokalizacji z ograniczonym dostępem do internetu.
  • Brak presji czasu: kody HOTP nie wygasają automatycznie, więc możesz spokojnie wpisać kod.
  • Uznany algorytm: HOTP jest zdefiniowany w standardzie RFC 4226(nowe okno), co zapewnia kompatybilność między różnymi dostawcami oprogramowania i tokenów sprzętowych.
  • Mniej zależności: oparty na liczniku system HOTP nie wymaga dokładnych zegarów ani stałego połączenia, co może uczynić go bardziej przewidywalnym w niektórych środowiskach.

Ograniczenia uwierzytelniania HOTP

Podobnie jak w przypadku wszystkich technologii, korzystanie z HOTP wiąże się z pewnymi ważnymi kwestiami do rozważenia:

  • Bezterminowa ważność: kody HOTP mogą pozostać aktywne bezterminowo, jeśli nie zostaną wygenerowane nowe kody. Daje to atakującym więcej czasu na wykorzystanie skradzionych kodów.
  • Synchronizacja licznika: jeśli generujesz kody bez ich używania, liczniki na Twoim urządzeniu i serwerze mogą się rozsynchronizować, co spowoduje błędy uwierzytelniania.
  • Ręczne zarządzanie: ponieważ kody nie wygasają automatycznie, musisz pamiętać o wygenerowaniu nowego kodu po każdym użyciu.

Zrób krok w kierunku silniejszego zabezpieczenia haseł

Choć HOTP może nie oferować korzyści związanych z bezpieczeństwem w postaci automatycznego wygasania ani wygody kodów SMS, jego system oparty na liczniku zapewnia wyjątkowe zalety. To sprawdzony system uwierzytelniania dwustopniowego z niezawodnym dostępem offline, a brak presji czasu może sprawić, że dla niektórych będzie on preferowanym rozwiązaniem.
Aby łatwo zarządzać swoimi hasłami i kodami 2FA w jednej zaszyfrowanej lokalizacji, rozważ skorzystanie z Proton Pass. Nasz bezpieczny menadżer haseł ze zintegrowanym modułem uwierzytelniania 2FA chroni wszystkie Twoje dane logowania i kody 2FA za pomocą pełnego szyfrowania end-to-end. Zapewnienie bezpieczeństwa i wygody w cyfrowym życiu jeszcze nigdy nie było tak proste.