Мне действительно нужно хешировать пароли? - PullRequest
5 голосов
/ 24 августа 2010

Я строю проект с довольно простой системой входа в систему.Система НЕ РЕГИСТРАЦИЯ будет доступна, пользователи будут добавлены вручную.Также я очень хорошо защищал ворота ввода данных баз данных.Итак, в конце концов, мне все еще нужно хэшировать и даже солить пароли пользователей?

И если ваш ответ да, следующий вопрос: почему?

Ответы [ 10 ]

11 голосов
/ 24 августа 2010

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

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

8 голосов
/ 24 августа 2010

Абсолютно.Это одно из самых важных обязательств перед вашими пользователями, которые вы должны соблюдать - очень аккуратно обращаться с их личными данными.

7 голосов
/ 24 августа 2010

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

Однако:

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

Я думаю, что это похоже на переход через дорогу.

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

(Быстрее смотреть в обе стороны, а затем объяснять всем наблюдающим детям и т. Д., Почему в этом случае вам не нужно)

5 голосов
/ 24 августа 2010

В некоторых юрисдикциях / отраслях хранение учетных данных для входа в систему в виде простого текста может быть нарушением законов о защите данных. Если вы делаете что-то подобное в США в системе, которая имеет хоть малейшее отношение к медицинским или финансовым записям, и вас проверяют, даже если нарушения не было, вам повезет, если произойдет худшее Ваши клиенты и поставщики отказываются сотрудничать с вами, пока ваши системы не пройдут аудит. Там могут быть и крупные штрафы. Даже если ваша система не не работает с конфиденциальными данными, если она предназначена для использования людьми, которые обычно работают с такими данными, вероятность того, что они могут повторно использовать пароли, которые также используются для доступа к регулируемым данным, будет на по крайней мере, очень нервничают одитора и крайне неохотно работают с ним его клиенты, даже если вы технически соблюдаете требования.

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

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

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

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

Даже если вы защищаете свои "входные данные базы данных"Что ж, ваша база данных все еще не защищена от атак злоумышленников.Если кому-то все еще удается проскользнуть через ваши средства защиты и увидеть все в вашей базе данных, и все пароли находятся в открытом тексте, учетные записи ваших пользователей все еще скомпрометированы.По крайней мере, хэшируя их, вы тратите больше времени на злоумышленников, одновременно и , защищая своих пользователей.

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

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

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

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

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

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

0 голосов
/ 24 августа 2010

Также я очень хорошо защитил входные данные базы данных.

Я держал пари, что каждый разработчик / администратор системы для каждого скомпрометированного файла паролей в истории вычислений думал об одном и том же

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