
Jedną z form uwierzytelniania wieloskładnikowego (MFA) jest OTP, czyli One-time Password. Samo OTP dzieli się jeszcze na dwa rodzaje: TOTP i HOTP. I choć te skróty mogą być trudne do odszyfrowania, to jednak wszyscy spotykamy się z nimi na co dzień – na przykład w kodach SMS używanych przez banki do uwierzytelniania logowania czy transakcji. Dziś wytłumaczymy, jak działa ta technologia oraz zestawimy ją z naszym autorskim rozwiązaniem PureSecure.
Skrót OTP oznacza One-time Password, czyli hasło jednorazowe. Najczęściej jest stosowane jako dodatkowe zabezpieczenie do standardowego loginu i hasła, aby zwiększyć poziom bezpieczeństwa konta. Wspomnieliśmy o tym, że hasła OTP generowane są przez systemy bankowe i wysyłane SMS-em do użytkownika, ale to niejedyna możliwość ich zastosowania. W tym celu wykorzystuje się także dedykowane aplikacje na smartfony, które umożliwiają autoryzację (np. aplikacja Multisport generująca hasła OTP) czy też specjalne tokeny w formie breloków.
Algorytmy wykorzystywane do generowania jednorazowych haseł działają w oparciu o dwie dane wejściowe: seed (ziarno) i moving factor (zmienna). Seed jest wartością stałą przypisaną do konkretnego użytkownika, natomiast moving factor, jak sama nazwa wskazuje, to wartość zmienna, która jest procesowana za każdym razem, gdy do serwera wysyłana jest prośba o wygenerowanie nowego hasła OTP. Rodzaje OTP, czyli TOTP i HOTP różnią się właśnie sposobem działania tych zmiennych.
Rozwinięcie skrótu HOTP jest bardziej skomplikowane – litera “H” obrazuje w tym przypadku skrót Hash-based Message Authentication Code (HMAC). HOTP oznacza więc HMAC-based One-time Password, czyli algorytm, w którym najważniejszą zmienną jest wygenerowany ciąg znaków – hasło. Pozostaje ono aktywne do momentu wysłania kolejnej prośby do serwera o stworzenie nowego hasła, co powoduje, że starsza wersja traci ważność.
Dla zobrazowania można porównać to do mechanizmu reCAPTCHA (ale tylko dla zobrazowania, ponieważ to nie jest ta sama technologia) – w momencie pierwszej autoryzacji algorytm prosi nas o zaznaczenie wszystkich sygnalizacji świetlnych na 9 obrazkach. Jeśli odświeżymy stronę, obrazy jak i obiekty na nich widoczne zmieniają się. Podobnie jest z hasłami HOTP, które tracą ważność w momencie wygenerowania nowego.
TOTP (Time-based One-time Password) to bardziej udoskonalona i bezpieczniejsza wersja OTP. Najważniejszą zmienną jest w tym przypadku czas, a nie samo wygenerowane hasło. Od momentu jego utworzenia użytkownik ma określoną liczbę sekund na użycie hasła, w przeciwnym wypadku straci ono swoją ważność. Czasami jest to 60 sekund, czasami 5 minut, a innym razem 10 minut – nie sama rozpiętość czasowa jest ważna, ale fakt, że hasło można użyć tylko w konkretnym okresie.
To rozwiązanie znamy m.in. z tokenów SMS, którymi uwierzytelniane są transakcje bankowe. Hasło jest przypisane do konkretnej operacji i może być wykorzystane tylko w ciągu kilku najbliższych minut.
Aby być precyzyjnymi, musimy wspomnieć, że obecnie stosowane w bankach rozwiązania OTP są w zasadzie połączeniem HOTP i TOTP, czyli udoskonaloną wersją obu tych algorytmów. System OTP faktycznie zwiększa bezpieczeństwo kont, ponieważ jest rozwiązaniem MFA. Nie jest jednak systemem idealnym – zarówno pod kątem UX, jak i bezpieczeństwa.
Patrząc pod kątem UX, wadą systemu jest potencjalny problem systemu TOTP z dostarczeniem wiadomości do użytkownika. Jeśli ze względu na problemy z siecią kod dojdzie zbyt późno, a użytkownik go wpisze, może to skutkować nieskuteczną próbą uwierzytelnienia. Z kolei system HOTP jest zdecydowanie mniej bezpieczny ze względu długotrwałą aktywność wygenerowanego hasła jednorazowego.
Jednak największym problemem jest zawodność całego systemu w momencie, gdy osoby do tego niepowołane otrzymają dostęp do narzędzia odbierającego kody – w dzisiejszych czasach najczęściej jest to smartfon. Skradziony telefon czy też oszustwo polegające na zduplikowaniu karty SIM może skutkować fraudem, ponieważ system haseł OTP nie ma możliwości zweryfikowania, czy do uwierzytelnienia wykorzystuje je właściciel, czy też cyberprzestępca.
Zauważając te problemy, kilka miesięcy temu stworzyliśmy innowacyjne rozwiązanie – PureSecure. Jego innowacyjność polega na zastosowaniu wszystkich 3 składników uwierzytelniania wieloskładnikowego już w momencie logowania! Przypomnijmy, że te składniki to:
Systemy haseł OTP weryfikują tylko dwa pierwsze czynniki, natomiast nie mają możliwości uwierzytelnienia “czegoś, czym jesteśmy”. To otwiera furtkę dla cyberprzestępców, którzy mogą wykorzystać dane logowania. PureSecure, dzięki wykorzystaniu mechanizmów biometrii behawioralnej, analizuje także unikalne zachowania użytkownika – jeśli nie są one zgodne z modelem behawioralnym, dostęp do konta zostaje zablokowany. W praktyce oznacza to, że cyberprzestępca nie może uzyskać dostępu do naszego konta, nawet jeśli zna login, hasło i kod SMS!
Aby dowiedzieć się więcej, zachęcamy do przeczytania naszego artykułu o PureSecure.
Digital Fingerprints S.A. ul. Gliwicka 2, 40-079 Katowice. KRS: 0000543443, Sąd Rejonowy Katowice-Wschód, VIII Wydział Gospodarczy, Kapitał zakładowy: 1 128 828,76 zł – opłacony w całości, NIP: 525-260-93-29
Biuro Informacji Kredytowej S.A., ul. Zygmunta Modzelewskiego 77a, 02-679 Warszawa. Numer KRS: 0000110015, Sąd Rejonowy m.st. Warszawy, XIII Wydział Gospodarczy, kapitał zakładowy 15.550.000 zł opłacony w całości, NIP: 951-177-86-33, REGON: 012845863.
Biuro Informacji Gospodarczej InfoMonitor S.A., ul. Zygmunta Modzelewskiego 77a, 02-679 Warszawa. Numer KRS: 0000201192, Sąd Rejonowy m.st. Warszawy, XIII Wydział Gospodarczy, kapitał zakładowy 7.105.000 zł opłacony w całości, NIP: 526-274-43-07, REGON: 015625240.