Как следует надежно хранить пароли для веб-хостинга?

Возможный дубликат:
Шифрование / хеширование простого текста пароли в базе данных

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

  1. Как правильно хранить пароли пользователей? И как правильно и безопасно идентифицировать пользователей, не запрашивая их пароли (например, по телефону)?
  2. После небольшого поиска в Google кажется, что многие люди жаловались на то, что несколько популярных провайдеров веб-хостинга используют метод открытого текста. Может ли это быть правдой, что многие провайдеры веб-хостинга используют этот метод хранения паролей в виде открытого текста? Какие популярные веб-хосты надежно и безопасно хранят личную информацию своих пользователей?

person t2k32316    schedule 25.06.2010    source источник


Ответы (4)


1a) Не храните пароль пользователя, только его (соленый) хеш. Когда пользователь входит в систему, хешируйте предоставленный им пароль и сравнивайте его с вашим заархивированным хешем. Если вы не знаете настоящий пароль пользователя, вы не можете поставить под угрозу его безопасность.

1b) Трудно надежно идентифицировать пользователя по телефону, и уровень усилий, которые вы приложите, будет зависеть от того, насколько «опасным» будет несанкционированный доступ к учетной записи. Мои банковские счета требуют, чтобы я звонил с домашнего, рабочего или сотового номеров (которые я указал им заранее). Вы можете попросить вызывающего абонента проверить случайно выбранные части информации об учетной записи, которая есть у вас в файле (например, номер учетной записи, почтовый индекс для выставления счета, средний инициал, дата рождения, седьмая цифра в номере кредитной карты и т. Д.). Некоторые телефонные системы имеют индивидуальный ПИН-код, отличный от обычного пароля / ПИН-кода. Вы можете отправить вызывающему абоненту одноразовый пароль на его мобильный телефон с помощью текстового сообщения и потребовать от него ввести его в систему в течение определенного периода времени. Одна из наиболее безопасных систем, которые я видел, использует приложение VIP Mobile от Verisign для создания одноразовых паролей. (конечно, если кто-то украдет ваш мобильный телефон, это мало поможет)

2) Сомневаюсь, что информация общедоступна. Если бы существовал список компаний, которые небезопасно хранят информацию об учетных записях пользователей, он удвоился бы как список «пожалуйста, взломайте меня», и эти компании были бы атакованы попытками вторжения.

person bta    schedule 25.06.2010

Что касается №1 - правильный способ сделать это - вообще не хранить пароли. Вместо этого сохраните соленый хеш пароля.

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

person Eric Petroelje    schedule 25.06.2010

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

person Jerry Coffin    schedule 25.06.2010

Отвечая на первую часть ваших вопросов: вообще не храните пароль. Храните хеш пароля, соленый.

Чтобы распознать их по телефону, я бы, вероятно, попросил их сначала заранее подтвердить номер телефона, а затем использовать его в сочетании с секретным вопросом, который они могут определить.

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

person Daenyth    schedule 25.06.2010