Hasło jednorazowe

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

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

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) O T P n {\displaystyle OTP_{n}} jest wyliczane ze wzoru O T P n = H ( O T P n 1 ) , {\displaystyle OTP_{n}=H(OTP_{n-1}),} gdzie H {\displaystyle H} jest funkcją skrótu. Hasła są generowane począwszy od O T P 0 , {\displaystyle OTP_{0},} które jest wartością losową. Użytkownik korzysta z nich w odwrotnej kolejności (od O T P n {\displaystyle OTP_{n}} do O T P 0 {\displaystyle OTP_{0}} ), a dzięki własnościom jednokierunkowej funkcji skrótu znajomość hasła O T P n {\displaystyle OTP_{n}} nie pozwala podsłuchującemu na poznanie następnego w kolejności hasła O T P n 1 . {\displaystyle OTP_{n-1}.} 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) O T P t {\displaystyle OTP_{t}} jest wyliczane ze wzoru O T P t = H ( s , t ) , {\displaystyle OTP_{t}=H(s,t),} gdzie s {\displaystyle s} jest wartością losową (seed), stałą dla danego użytkownika, a t {\displaystyle t} 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ść s . {\displaystyle s.} Mechanizm ten jest wykorzystywany m.in. tokenach RSA SecurID[3][4].

Przypisy

  1. Technika informatyczna. Zabezpieczenia w systemach informatycznych. Terminologia. Polski Komitet Normalizacyjny, marzec 2002. s. 47. [dostęp 2018-12-25]. [zarchiwizowane z tego adresu (2018-04-19)].
  2. Paweł Wilk: Ale to już było i nie wróci więcej. Heise, 30 maja 2007.
  3. RSA SecurID Hardware Authenticators. EMC. [zarchiwizowane z tego adresu].
  4. TOTP: Time-based One-time Password Algorithm. Verisign, 2008.