| Termin | Definicja |
|---|---|
| jednorazowe hasło (OTP) | ![]() Jednorazowe hasło (OTP) to tymczasowy kod uwierzytelniający ważny wyłącznie przez krótki czas lub do jednego użycia. Jednorazowe hasło jako dodatkowy składnik uwierzytelnianiaJednorazowe hasło, określane skrótem OTP od angielskiego One-Time Password, jest krótkim kodem używanym do potwierdzenia tożsamości podczas logowania lub wykonywania określonej operacji. W przeciwieństwie do hasła stałego kod OTP powinien być ważny tylko przez ograniczony czas albo do momentu pierwszego poprawnego użycia. Po zaakceptowaniu przez usługę nie powinien nadawać się do ponownego wykorzystania. Dzięki temu przechwycenie kodu po zakończeniu logowania nie daje takiej samej możliwości dostępu jak przejęcie hasła używanego wielokrotnie. OTP zwykle stanowi drugi składnik uwierzytelniania, gdy pierwszy składnik stanowi hasło, kod PIN albo klucz dostępu. Samo jednorazowe hasło nie naprawia słabego hasła głównego ani nie zastępuje kontroli nad urządzeniem, na którym jest wyświetlane. Jego zadaniem jest ograniczenie skutków ujawnienia jednego kodu. System musi jednak poprawnie sprawdzić kod, jego termin ważności, przypisanie do konkretnego konta oraz ewentualny licznik użycia. Błąd w którymkolwiek z tych elementów może powodować odrzucanie prawidłowych kodów albo akceptowanie kodu w niewłaściwym momencie. OTP czasowe i kody generowane na podstawie zdarzeńJednym z popularnych wariantów jest TOTP, czyli Time-Based One-Time Password. Kod jest obliczany na podstawie wspólnego sekretu oraz aktualnego czasu podzielonego na kolejne przedziały. Aplikacja uwierzytelniająca i serwer muszą mieć wystarczająco zgodne zegary, ponieważ nawet poprawny sekret może wygenerować różne wartości przy zbyt dużej różnicy czasu. W praktyce system może dopuszczać niewielkie przesunięcie zegara, ale zbyt szerokie okno akceptacji zmniejsza bezpieczeństwo, ponieważ wydłuża okres, w którym kod może zostać przyjęty. Drugim wariantem jest HOTP, czyli HMAC-Based One-Time Password. W tym modelu wartość kodu zależy od wspólnego sekretu i licznika zwiększanego po kolejnych zdarzeniach, na przykład po wygenerowaniu lub zaakceptowaniu kodu. Jeżeli aplikacja i serwer zwiększą licznik w różnym tempie, mogą się roz synchronizować. Implementacja może wtedy stosować ograniczone okno synchronizacji, lecz zbyt duże okno ułatwia próbę zgadywania. Zarówno TOTP, jak i HOTP wymagają ochrony sekretu bazowego, ponieważ osoba, która go pozyska, może samodzielnie odtwarzać kolejne kody. Weryfikacja kodu i typowe problemy z logowaniemPodczas sprawdzania OTP system powinien uwzględnić nie tylko zgodność cyfr, lecz także kontekst żądania. Kod jest związany z określonym kontem, urządzeniem lub procesem logowania, a nie powinien być uniwersalnym kluczem działającym w każdej sytuacji. Należy również ograniczać liczbę nieudanych prób, ponieważ krótki kod ma mniejszą przestrzeń możliwych wartości niż długie hasło. Mechanizm weryfikacji powinien usuwać lub oznaczać kod jako wykorzystany po udanym użyciu oraz unikać ujawniania w komunikacie, czy błąd dotyczył kodu, konta, czasu, czy innego elementu procesu. Problemy z OTP na laptopie lub komputerze często wynikają z nieprawidłowej daty i godziny systemowej, rozbieżności strefy czasowej, opóźnienia dostarczenia wiadomości albo ponownego użycia starszego kodu. W przypadku kodów z aplikacji uwierzytelniającej należy sprawdzić, czy aplikacja korzysta z właściwego konta i sekretu, a urządzenie ma poprawnie ustawiony czas. Przy kodach przesyłanych wiadomością tekstową lub pocztą elektroniczną opóźnienie transportu może sprawić, że użytkownik wpisze kod, który utracił ważność. Wielokrotne żądanie nowego kodu może także unieważnić wcześniejszy kod, zależnie od zasad konkretnej usługi. Bezpieczne używanie jednorazowych haseł na komputerzeKod OTP należy wpisywać wyłącznie w formularzu otwartym na właściwej stronie lub w zaufanej aplikacji. Sam fakt, że kod jest jednorazowy, nie chroni przed wyłudzeniem w czasie rzeczywistym. Jeżeli użytkownik przekaże kod osobie, która równocześnie prowadzi próbę logowania, napastnik może wykorzystać go przed prawidłowym właścicielem konta. Nie należy także przechowywać kodów awaryjnych w łatwo dostępnym pliku tekstowym bez dodatkowego zabezpieczenia ani udostępniać sekretu używanego do generowania kodów. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC oraz ich podzespołów, dlatego przy problemach z logowaniem można sprawdzić stan systemu, poprawność ustawień czasu, działanie przeglądarki i podstawowe przyczyny lokalnych błędów. Diagnostyka sprzętu nie zastępuje procedur odzyskiwania konta po utracie dostępu do usługi, ponieważ zasady resetowania OTP ustala jej operator. Warto jednak rozróżnić awarię komputera, na przykład nieprawidłowe działanie aplikacji lub systemu, od odrzucania kodu przez serwer z powodu błędnego sekretu, wygasłej sesji albo niezgodnego czasu. |