Denis Gladkikh

outcoldman

My personal blog about software development

Недавно стал клиентом одного Банка (как показывает практика лучше «не переходить на личности», так как считается рекламой/антирекламой). У этого банка, как и у многих других, есть интернет-сервис для слежения за счетами и еще чего-нибудь. Так вот, меня поразило безумно неудобная аутентификация. Для того, чтобы войти в систему интернет-банка нужно ввести номер карты, что не является проблемой, и кроме того специальный код, который выдает вам банк, это число в 16-ричной системе, о чем достаточно просто догадаться по наличию слов-цифр в нем, ну и оно не маленькое, около 16 букв/цифр. Так вот, с какого-то момента я владею слепой печатью (а кто нет? ;) ), и, ну честно, не хочу вводить никакие коды при помощи тыканья кнопочек в каком-нибудь интерфейсе. А чтобы ввести этот код мне предлагается такая вот клавиатура при помощи Java аплета

Причем я напоминаю, что я уверен на 90%, что код – это 16-ричное число, то есть в строке могут быть только 0-9 и A-F символы, зачем мне видеть остальные буквы/цифры? Зачем мне видеть, то что за меня нажали Caps Lock? И почему я не могу ввести код со своей клавиатуры, а это я сделаю за 2 секунды, в отличие от того, что на экранной я буду мучиться 10 секунд для ввода.

Итак, предположение номер один – отучить пользователей хранить этот пароль, записанный на компьютере, а в последующем просто копировать-вставлять его с какого-нибудь блокнота. Ок, засчитывается, правда, не стоит решать это за пользователя, но, думаю, банк избавил себя от множества проблем таким образом.

Предложение номер два – защита от key сканеров (или как они там называются), программы записывающие нажатия клавиш. Это явно не засчитывается, в чем проблема записать движения/щелчки мыши? Расположение клавиш на клавиатуре мы знаем – по этим координатам восстановить код – вообще не проблема.

Есть еще идеи, почему они решили так поступить? От одного немного далекого от разработки человека услышал: «так, наверное, ввод происходит на сервере» :). Не этим, надеюсь, руководствовались разработчики. Вообще, может и я что-то упустил действительно - просто интересно.

Я в общем вот о чем, по большому счету – это пост о моем занудстве, но просто хочется дать совет (о котором и так все знают): пользуйтесь стандартными средствами, и, пытаясь что-то «защитить», подумайте в первую очередь про удобство для пользователя.

Comments