Hasło jednorazowe

Z Wikipedii, wolnej encyklopedii

Hasło jednorazowe (ang. one-time password, w skrócie: OTP) – hasło zmieniane po każdym użyciu[1], stosowane w celu autoryzacji dostępu w systemach teleinformatycznych.

Hasła jednorazowe pozwalają ograniczyć związane ze stosowaniem statycznych haseł zagrożenie podsłuchania lub podejrzenia hasła przez osoby niepowołane i posługiwania się nim bez wiedzy właściciela. Hasło jednorazowe, jak sama nazwa wskazuje, jest wykorzystywane tylko raz i traci ważność po wykorzystaniu.

Bankowość elektroniczna[edytuj | edytuj kod]

W bankowości elektronicznej hasła jednorazowe służą do autoryzowania operacji o podwyższonym stopniu ryzyka, takich jak przelewy. Hasła są tutaj zwykle dostarczane w postaci wydrukowanej listy, zdrapki (dla kilkudziesięciu transakcji naprzód) lub przesyłane SMSem na określony przez właściciela konta numer telefonu komórkowego (dla każdej transakcji oddzielnie).

Generowanie haseł jednorazowych[edytuj | edytuj kod]

Hasła jednorazowe mogą być wartościami losowymi, co wymaga by system przechowywał je po wygenerowaniu i przekazaniu użytkownikowi. Ze względów praktycznych częściej stosuje się hasła generowane i weryfikowane w oparciu o algorytm wykorzystujący kryptograficzne jednokierunkowe funkcje skrótu. Najczęściej spotykane algorytmy generowania haseł jednorazowych to:

  • Łańcuch skrótów – hasło jednorazowe (OTP – one time password) jest wyliczane ze wzoru gdzie jest funkcją skrótu. Hasła są generowane począwszy od które jest wartością losową. Użytkownik korzysta z nich w odwrotnej kolejności (od do ), a dzięki własnościom jednokierunkowej funkcji skrótu znajomość hasła nie pozwala podsłuchującemu na poznanie następnego w kolejności hasła Z algorytmu tego, z różnymi modyfikacjami, korzystają systemy haseł jednorazowych S/KEY, OPIE i OTPW[2].
  • Synchronizacja czasowa – hasło jednorazowe (TOTP – time-based one time password) jest wyliczane ze wzoru gdzie jest wartością losową (seed), stałą dla danego użytkownika, a aktualnym czasem GMT mierzonym w krokach minutowych. Dzięki synchronizacji czasowej zarówno użytkownik i serwer mogą wyliczać aktualną wartość hasła, znając tylko wartość Mechanizm ten jest wykorzystywany m.in. tokenach RSA SecurID[3][4].

Przypisy[edytuj | edytuj kod]