Безопасный способ восстановить / восстановить пароль? - PullRequest
5 голосов
/ 20 августа 2010

Прежде чем я начну, моя причина не использовать OAuth заключается в том, что я считаю, что это не то, что мы должны использовать в этом проекте, мы нацелены на платформу, которая будет упакована и перепродана компаниям,которые подключаются к их собственному набору пользователей, которым мы действительно не хотим иметь учетные записи, которыми мы не контролируем на 100%, мы не хотим, чтобы это был общий вход в систему с другими службами, и мы не хотимзаставить людей получить учетную запись google / yahoo / openID / aol / facebook / blogger / wordpress / любой другой.

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

Я ненавижу концепцию секретных вопросов: в какую школу ты ходил?Что ж, давайте проверим вашу страницу в Facebook.Каким был ваш учитель первого класса?Давайте просто спросим их случайно.

Я ненавижу использовать одноразовые пароли по электронной почте: с каких пор электронная почта безопасна?Твой босс это читает.Вы отправляете мне спам-сообщения каждый день.Это вошло в вашу корзину для мусора.Оно не отправлено в зашифрованном виде.

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

У меня действительно нет идей для лучшего способа сделать это, поэтому я решил спросить у сообщества.

Ответы [ 5 ]

9 голосов
/ 20 августа 2010

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

Если вы считаете, что электронная почта небезопасна (что это на самом деле), вы можете попробовать телефон.Позвоните им с временным паролем.Или факс.Или обычная почта, или SMS, и т. Д.

Это так же безопасно, как и телефонные линии / почтовые операторы, через которые проходит сброс, и в большинстве областей телефонный перехват или подделка почты строго наказываетсязакон.

Если это нехорошо, рассмотрите возможность выдачи пользователям OTP-токена, или смарт-карты, или чего-то еще.

4 голосов
/ 20 августа 2010

Если я не смогу лично проверить этого человека, я думаю, что вы перечислили все разумные варианты, которые я видел. По моему мнению, одноразовый пароль по электронной почте является лучшим вариантом, так как люди, как минимум, хотят сохранить свою электронную почту в секрете. Я лично ненавижу секретные вопросы - слишком велика вероятность того, что ответы будут публичными (см. Инцидент с Сарой Пэйлин по электронной почте). Если вы собираетесь задавать секретные вопросы, по крайней мере, позвольте пользователю выбирать свои собственные вопросы.

2 голосов
/ 30 августа 2010

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

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

1 голос
/ 29 августа 2010

Таким образом, вы действительно хотите, чтобы пользователь доказал, что он тот, кем он себя считает, не раскрывая информацию о себе (при условии, что вы можете получить ЛЮБУЮ информацию с помощью социального взлома)

Существует 3 способа аутентификации: что-то, что вы есть (биометрия), что-то, что у вас есть (ключ, например), и то, что вы знаете (пароль, ответ ...). 2-х или 3-х сторонняя аутентификация намного безопаснее, чем 1-х сторонняя.

Сброс / восстановление пароля по определению снижает безопасность процедуры аутентификации, потому что теперь это не A, а (A или B). (A = пароль, B = пароль восстановления)

Поэтому, даже если ваша процедура аутентификации односторонняя (пароль), ваши процессы восстановления должны быть двухсторонней аутентификацией.

Давайте посмотрим, какие у вас есть варианты для восстановления пароля:

  1. Что-то, чем вы являетесь (SysAdmin, который вас узнает - обычно не годится для организации на 5000 рабочих, голосовая печать - слишком дорого для реализации, ...)
  2. Что-то, что у вас есть (учетная запись электронной почты, номер телефона, ...)
  3. Что-то, что вы знаете (личные данные)

Обратите внимание, что тег корпоративного идентификатора с изображением является двусторонней аутентификацией (и то, что вы есть, и то, что у вас есть).

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

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

Если вы не можете использовать «Что-то, что вы есть» - у вас остается что-то, что у вас есть (электронная почта, номер телефона, ваш собственный компьютер) и что-то, что вы знаете (личные данные ...). Вы не можете избежать этого.

1 голос
/ 27 августа 2010

Заставьте пользователей выбирать секретное изображение (или изображения). Или заставьте пользователя загрузить свое собственное изображение.

Это работает лучше, чем секретные вопросы . Секретные вопросы имеют две общие проблемы:

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

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

При восстановлении пароля пользователю предоставляется несколько вариантов выбора правильного изображения.

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