Uaktualnienie z maja 2007: jak wyszło wkrótce po napisaniu tego tekstu, ta zmiana była heroldem maskowanego hasła. Bank po wielu miesiącach wdraża stopniowo maskowane hasła dla (docelowo) wszystkich klientów. Wcześniej ta zmiana była szkodliwa z punktu widzenia użyteczności. Dlaczego: przeczytaj dalej.
BZ WBK zmienił panel logowania do serwisu transakcyjnego dla klientów (BZWBK24 internet). W dość oryginalny sposób, a - jak głosi informacja na stronie wejściowej - “w trosce o bezpieczeństwo naszych Klientów”.
Dotychczas w jednym formularzu podawało się NIK (identyfikator klienta) oraz PIN (hasło). Podaję dwie liczby, wciskam ENTER i jestem zalogowany.
Obecnie na pierwszej stronie podaje się NIK. Wciska się ENTER i przechodzi do drugiej strony, na której czeka nas cudeńko:

Obecnie jest 12 pól na cyfry PIN-u. Mój PIN ma kilka cyfr. Gdy wpisuję jedną cyfrę, kursor (focus) automatycznie przeskakuje do następnego, więc wpisywanie PIN-u jest właściwie tak samo wygodne, jak dotąd. Na pewno jest jednak bardziej skomplikowane, myślę, że część użytkowników będzie zdziwiona i może nie zrozumieć, o co chodzi.
W sumie w zwykłym przypadku (te zwykłe przypadki są najważniejsze) proces wydłużył się więc o oczekiwanie na załadowanie tej dodatkowej strony do podawania PIN-u i konieczność dodatkowego wciśnięcia klawisza ENTER lub kliknięcia przycisku Akceptuj na tej stronie.
Dodatkowo dostępna jest “klawiatura ekranowa” - okienko, w którym można klikając wpisać swój numer PIN (zamiast wciskać klawisze) - znów nie jestem pewien, jaka jest idea, czy to ma być zabezpieczenie przed szpiegującymi programi rejestrującymi wciskane klawisze?
Formularz do wpisania PIN-u generowany jest poprzez JavaScript, co rodzi drobne problemy z dostępnością, jednak system transakcyjny także wykorzystuje JavaScript, przynajmniej do niektórych funkcji. Wydaje mi się jednak, że można by rozwiązać to trochę bardziej elegancko, tj. bez tego JS.
Co do uzasadnienia podanego przez Bank (troska o bezpieczeństwo) - nie wiem dokładnie, w jakim stopniu zwiększa to bezpieczeństwo systemu. Prawdopodobnie idea polega na tym, aby oddzielić podawanie NIK-u od podawania PIN-u i jednocześnie wymusić korzystanie z JS przez mechanizm, który miałby symulować klienta (np. podejmując masowo próbę włamania na jakieś konto). Jeśli tak jest, to wydaje mi się jednak, że zdeterminowany włamywacz po prostu przetworzy ten kod JS na kod własnego narzędzia albo podłączy się pod jakąś przeglądarkę open source.
Jeśli ktoś z Was zna się na takich zabezpieczeniach i mógłby wyjaśnić, co dokładnie zyskuje BZ WBK z rozdzielenia podawania NIK od PIN w ten sposób i użycia chyba trochę ukrytej funkcji JavaScript, z chęcią poczytam (np. tutaj w komentarzach).