Предотвращение подсказки пароля от правильного предоставления пароля - PullRequest
3 голосов
/ 01 октября 2009

Я использую пароль + код подсказки пароля, и я хочу, чтобы пользователь не давал подсказке пароля сразу же показывать действительный пароль.

Вот сценарий, который я хочу предотвратить:

Допустим, пароль: foobar123

Тогда подсказка пароля не может быть:

  • "foobar123"
  • "Пароль: foobar123"
  • "f-o-o-b-a-r-1-2-3" (или любой другой сепаратор x len)
  • "f00bar123" (заменить нули на нули)

несколько вопросов:

  1. Я иду за борт с этим? Должен ли я позволить пользователям заплатить цену за то, что они не знают о безопасности?
  2. Я упускаю очевидный сценарий, который мне тоже нужно предотвратить?
  3. Может ли каждый сценарий оцениваться с помощью регулярных выражений? Это самый расширяемый метод добавления будущих проверок, о котором я только могу подумать.

Ответы [ 8 ]

6 голосов
/ 01 октября 2009

Я бы просто дал пользователю фиксированный набор вопросов на выбор, на которые они дают ответ. Таким образом, вы никогда не будете выставлять пользовательские вводимые значения, только выбранное пользователем значение из вашего предварительно определенного списка вариантов. Это позволит полностью избежать вашей проблемы.

В качестве альтернативы, если у вас есть адрес электронной почты пользователя, вы можете просто сбросить пароль, который отправит ссылку с закодированным ключом, который позволяет одноразово изменить пароль. Таким образом, вам не нужно предоставлять подсказку, просто средство изменения пароля в ответ на один из этих одноразовых билетов.

2 голосов
/ 01 октября 2009

Если ваша модель угроз делает подсказки к паролям приемлемыми, я думаю, что вы идете за борт с вашей тщательной защитой паролем.

Однако, если ваша модель угроз не делает их приемлемыми, но вас заставляют предлагать эту функцию, будьте как можно более фашистскими.

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

Удачи!

2 голосов
/ 01 октября 2009
  1. Лично я говорю, что вы, вероятно, выходите за борт. Но это в некоторой степени зависит как от серьезности скомпрометированных данных (например, является ли это веб-сайтом для голосования за мисс Среднюю школу, так и веб-сайтом для высококлассного аукционного дома или это форма веб-доступа для ЦРУ?), количество пользователей и вероятность того, что кто-то будет судиться с вами за халатность в дизайне после использования плохой подсказки и скомпрометированного доступа.

  2. Вы можете использовать регулярные выражения для самых глупых (например, взять 6-символьные подстроки пароля и выполнить сопоставление этих подстрок в подсказке), а также подсчет символов для интеллектуальных из них. Например. если подсказка использует от 60 до 80% символов в пароле (по количеству), отклоните ее. Еще более детальное решение - считать с позиции, например, считать «о», только если он идет после «F». но это, вероятно, тоже за бортом.

  3. Также рассмотрите решения без подсказок (множественный выбор, невербальные подсказки, запросы на изменение пароля по электронной почте)

1 голос
/ 01 октября 2009

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

Но ведь они не будут надежными паролями?

Позвольте пользователю предложить подсказку - и заплатите цену за очевидную.

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

1 голос
/ 01 октября 2009

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

  • "321рабоф в обратном направлении"
  • "foo and bar123"
  • "foobar (124 - 1)"
1 голос
/ 01 октября 2009

Должна ли быть модель хинтинга?

В прошлом я делал это так:

A- Задать секретный вопрос.
B- Имейте капчу.
C- Укажите новый временный пароль для электронной почты только для файла, который необходимо изменить при первом использовании.

0 голосов
/ 24 мая 2010

Я собираюсь изменить нашу модель подсказки пароля на одну из возможных вариантов.Тем, кто сказал, что это проблема пользователей, если они зададут глупый вопрос и ответ, я бы сказал, что это становится проблемой тех, кто работает в нашей службе технической поддержки.Вот чего мы пытаемся избежать.

0 голосов
/ 01 октября 2009

Это не ваша проблема, если они ставят под угрозу безопасность своей учетной записи. Сэкономьте на ненужном кодировании и тестировании и просто не беспокойтесь об этой функции!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...