2015-10-24 4 views
0

Позвольте мне сначала объяснить, что я разработчик на стороне сервера Coldfusion, и я долгое время шифровал пароли для входа в систему.Нужно ли шифровать пароли перед их вставкой в ​​базу данных?

Недавно я начал думать о точке хэширования или шифрования паролей, используя библиотеки, такие как bCrypt(). Хакеры часто используют SQL Injection для получения конфиденциальных данных, таких как данные банковского счета, номера номеров кредитных/дебетовых карт NI Numbers &. Я очень сомневаюсь, что хакеру придется беспокоиться о том, чтобы продавать пароли, учитывая, что единственный номер кредитной карты продается только в относительно небольшой сумме в настоящее время.

Итак, мой вопрос:

Есть ли на самом деле любая точка шифрования паролей для входа в первую очередь?

+1

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

+0

Но это предполагает, что пользователи используют одни и те же пароли для других учетных записей. Хакеры не собираются тратить время на вход в другие аккаунты. Они будут вводить SQL, пока они не найдут банковские реквизиты непосредственно в базе данных. –

+1

На самом деле, я бы сказал, что не секрет шифровать пароли; шифрование подразумевает обратимость. Что ___is___ хорошая идея хеширует их, неоднократно, с достаточно большой случайной солью (которую вы также записываете). Количество циклов хеширования может быть довольно большим (например, 1024 или более). Есть много других вопросов по этой теме. См. Также [Шифрование/Хеширование обычного текстового пароля в базе данных] (https://stackoverflow.com/questions/287517 и [Разница между хэшированием пароля и его зашифровкой] (https://stackoverflow.com/questions/326699/) и это только из связанных вопросов. –

ответ

0

ДА! Очень важно, что, если ваши пользователи делятся своим паролем на нескольких сайтах. Теперь у хакера есть доступ к их банковскому счету, электронной почте и т. Д. Как разработчик/программист, ваша этическая ответственность - предоставить вашим пользователям безопасный и безопасный опыт.

+0

Если взять этот пример отдельно. Большинство хакеров используют SQL-инъекцию для доступа к важным значениям базы данных. Когда-то успешный, хакер даже не будет смотреть на данные пароля. Прямая информация о кредитной карте, которая должна быть зашифрована, желательно с солью в отдельной базе данных. –

+0

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

+1

Вы должны попытаться защитить свои данные любым способом. Вы должны защищать от инъекционных атак в вашем коде и шифровать пароли, и если вы ДОЛЖНЫ хранить информацию о кредитной карте, вы должны ее зашифровать, а ключ/соль следует изолировать. Вы должны использовать службу хранилища токенов какого-то типа и следовать за PCI как можно лучше. Вы также можете просмотреть https://www.owasp.org/index.php/Main_Page. – osekmedia

Смежные вопросы