Home > itblogs > Про безопасность, smart карты и usability.

Про безопасность, smart карты и usability.

January 26th, 2007

Microsoft серьёзно подходит к безопасности корпоративной сети. Помимо всего прочего, для авторизации при удалённом доступе обязательно использование smart карты, простой пары имя-пароль недостаточно. Впрочем, я собираюсь рассказать не о стандартах безопасности, а о том, как я однажды заблокировал свою smart карту из-за особенностей реализации этих стандартов.

Дело было так. Подключаясь к сети в очередной раз, я получил стандартное приглашение ввести PIN карточки:

Приглашение ввести PIN карточки

Ввожу и, естественно, получаю в ответ – “неверный PIN, попробуйте еще раз”. Обычное дело, подумал я. Ввожу ещё раз. С тем же результатом. Уже хуже. Третий раз будет последним. Проверяю текущую раскладку, так как PIN состоит из букв, цифр и спецсимволов; ввожу PIN, проверяя каждый символ, и получаю третье, на этот раз окончательное, “нет”.

Что же произошло? На выяснение причин я потратил добрые полчаса. Оказалось, что я просто нажал Num Lock, который переключает половину буквенной клавиатуры ноутбука в цифровой режим. :-) Понятно, что на полноразмерной клавиатуре такой проблемы не может возникнуть в принципе – цифровые клавиши расположены отдельно. Привычки пользоваться клавишей Num Lock у меня не было никогда: на обычной клавиатуре он всегда включён, на ноутбуке – всегда выключен. Это и сыграло со мной злую шутку.

При чём же тут стандарты безопасности? Дело в том, что многое диалоги ввода пароля совершенно нетолерантны к подобным ошибкам пользователя. Они не дают уверенности, что нажатие нужных клавиш даст набираемый пароль. Хороший пример борьбы с этой проблемой – окно входа в систему в Windows XP. В отличие от Windows 2000, пользователь может визуально определить текущую раскладку клавиатуры. Кроме того, всплывающая подсказка предупреждает пользователя о случайном (или намеренном) нажатии клавиши Caps Lock.

Впрочем, даже эти методы далеки от идеала. Лучший известный мне метод проверки – набрать часть пароля в поле ввода имени пользователя. Хотя этот способ тоже не даёт стопроцентной гарантии в случае похожих букв из разных языков. В моём конкретном случае с неверным PIN-ом редактирование поля ввода имени пользователя было запрещено. Соответственно воспользоваться этим способом не получилось. Хотя и очень хотелось.

Tags:
  1. January 27th, 2007 at 01:32 | #1

    Насколько я помню, вполне возможно программно определить, что нажаты Caps Lock или Num Lock :)

  2. January 27th, 2007 at 06:09 | #2

    :) )) У меня первая проверка смарт-карты будет уже в Лиссабоне :) Посмотрим, что будет с ней веселого! ;)

  3. Not a kernel guy
    January 27th, 2007 at 12:05 | #3

    > Насколько я помню, вполне возможно программно определить, что нажаты Caps Lock или Num Lock :)

    Можно конечно. Однако нельзя гарантировать, что какая-нибудь клавиатура будет использовать дополнительную статусную клавишу. Скажем какой-нибудь smart phone может отличиться.

  4. January 27th, 2007 at 15:00 | #4

    > Подключаясь к сети в очередной раз, я получил стандартное приглашение ввести PIN карточки

    Может просто стоит использовать токены в качестве носителя пароля/пина/etc? Например, SD-карточку: вставил в card reader, считалось что нужно, авторизовался, вынул карточку. На клавиатуре нажимать ничего не надо. Если card reader-ы не на всех машинах, то USB flash спасет.

  5. Not a kernel guy
    January 27th, 2007 at 15:34 | #5

    > Может просто стоит использовать токены в качестве носителя пароля/пина/etc?

    Smart карта и является таким токеном. Только токен без пароля по определению менее безопасен чем токен с паролем. Он не защищает от кражи токена.

Comments are closed.