Как стать автором
Обновить

Комментарии 19

Я думаю стоит еще добавить идею, где каждый следующий пароль зависит от предыдущего. Например, ваш пароль Пупкин[51+3], значит при первом входе вы должны вписать пароль Пупкин51, при следующем входе Пупкин54, затем Пупкин57. Это несколько усложняет задачу, т.к. нужно помнить ваш последний пароль, но зато не привязывает к проблеме часовых поясов и т.п.
Ждем когда дойдёт то такого варианта:

"— Прошу прощения, но для проведения операции необходимо подтверждение права пользователя. Наберите личный код.

Корн протянул руку и набрал несколько цифр, потом нажал ввод, отсчитал семь секунд, набрал еще две цифры и снова ввод. После чего переключил терминал на режим вода графической информации и нарисовал домик с горбатой крышей и одним окошком. Этот Иглисс Эйхайя, судя по коду, был большой оригинал. Впрочем, кому еще пришло бы в голову набить свой корабль золотыми слитками."

© Роман Злотников, цикл «Вечный».
Если не ошибаюсь, книга называется «Восставший из пепла» :)
Точно. В этой вселенной, кстати, к паролям довольно логичный подход. Если обобщить то, там везде где требуется авторизация используется PAM. И принято самим писать/настраивать эти модули.
если вместе с передачей каждого нового символа передавать текущую миллисекунду из браузера клиента, то всю логику проверки можно реализовать на сервере, что сделает безуспешными все попытки добиться чего-либо отключением или изменением javascript
Предложенная методика относится, строго говоря, к биометрии, и близка к распознаванию почерка. Вместо ручного задания шаблона лучше во время задания пароля попросить пользователя несколько раз его ввести, на основании чего уже вычислить индивидуальные особенности ввода.
Можно пойти еще дальше: собрать статистику динамических характеристик печатания (средний темп, диапазон изменения темпа, типичные длительности нажатий/пауз для разных букв/комбинаций и т.д.), попросив пользователя набрать некоторый текст. Затем при аутентификации предлагать ввести указанную фразу, каждый раз разную, и сличать характеристики набора.
Отличная идея!
Вы опять сооружаете игрушку для программистов? Зачем это все?
По поводу перехвата — защита будет только от любопытного друга. А для кейлоггера не проблема вместе с кодами клавиш записывать и точное время каждого нажатия. Некоторые логгеры уже так делают.
Сложно будет вводить такой пароль с мобильных устройств с неполной клавиатурой
Идея замечательная и приходило в голову наверное каждому программисту, который писал алгоритм аутентификации на сайте. Увы пользователи ей не возрадуются. Они не радуются просто авторизации или регистрации, а вспоминанию метода кодирования своего пароля уж точно не возрадуются.
Мне кажется Гугл поступил исчерпывающе, введя для повышения безопасности двойной логин. Он полностью избавляет от всех головных болей программистов и добавляет головную боль в степенной зависимости любому хакеру.

Я вот даже думал об авторизации при помощи веб-камеры. И даже начал реализовывать это, но вовремя опомнившись лишь создал приложения для обмена фотографиями.
Удачи Вам в Ваших начинаниях и размышлениях!
Еще предлагаю шаблон [[*]], чтобы помимо значимых знаков пароля вбить любые другие знаки. Особенно наверное будет действенна в начале пароля как защита от подглядывающих.
Шаблон/пароль «о сколько нам открытий [[*]] чудных»
Вводимый пароль: «о сколько нам открытий хабрахабр чудных»
Второй раз прочитал статью и понял, что идея все-таки только идея. Даже не беря во внимание сложность реализации, сколько параметров у динамического пароля. Время, погода? А что если вы не можете узнать точное время, погоду, если от этого пароля вообще зависит выход в интернет. А что если вы в первый раз не угадали в динамической части, кейлогер запишет и второй пароль и весь механизм (динамическая часть) мгновенно будет раскрыт.

Давайте спустимся с небес и вернемся в школу. Маша хочет передать послание и получить ответ Пете через Цезаря, но чтобы Цезарь ничего не узнал. В нашем случае все уже упрощено, https соединение отражает все атаки в середине. Так что нам надо передать только пароль секретно. Как это сделать? Надо не вводить пароль вручную компьютер, а ввести хэш (возможно зависимый от времени), что нам понадобится? Ручка и листок бумаги. Проделываете нехитрые вычисления по вычислению хэша и готово.
Я конечно шучу :) Нам понадобится калькулятор, куда мы и введем пароль. Да это тот же самый токен, смарт карта, она может быть персональной (почему бы и нет с уже введеным паролем внутрь), она может конектиться как usb и каждую секунду отсылать пароли, она может быть маленькой, удобной, она может быть в телефоне. Все это уже придумано (правда для себя я еще идеального варианта не видел, все зависит от распространенности).

Ну если действительно 'калькулятора' нету, используйте одноразовые пароли, а при выходе задавайте следующий одноразовый. Система одноразовых также опасна как и динамические (система может быть распознана).
Да не защищает это от перебора. Нужно просто перебирать не последовательно, а случайно (без запоминания, что было раньше). Это увеличивает требуемое количество попыток, но не слишком сильно.
Пусть у нас всего, например, M = 218340105584896 ( = 62^8, взято с потолка) возможных паролей. Тогда при статическом переборе за M*X попыток мы подберем пароль с вероятностью X. При случайном для достижения вероятности X нам понадобится log_{1 — 1/M} (1 — X) попыток, что в log_{1 — 1/M} (1 — X) / (M*X) раз больше.
Вот график зависимости этой величины от X:
Как видно, для практических целей мы получим замедление раз в 5. Что вряд ли интересно.
Чингиз и Падла одобряют статью ;)
А вот обезьяны подают коллективный иск за клевету.
Для параноиков лучше уже для каждого входа случайным образом генерировать новый пароль и высылать его на мобильный/почту или сообщать по телефону.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации