Статьи

BlowFish, единственный способ защитить ваши пароли

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

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


Милый маленький парень, не так ли?

Хеширование ваших паролей

Хранить ваши пароли в виде простого текста — это безумие Если вы в настоящее время делаете это, пожалуйста, отключите все свои серверы и добровольно посвятите себя безработице или, альтернативно, подбросьте гамбургеры в McDonald’s или что-то в этом роде. Хэширование ваших паролей дает гарантию вашим клиентам просто потому, что люди просты, и они часто используют тот же пароль на Facebook, что и для своих интернет-банкинга.

Поэтому, если черный хакер может получить доступ к вашей базе данных, он / она также может взломать все банковские счета ваших клиентов. Таким образом, независимо от того, насколько «невинно» ваше приложение, способ хранения ваших паролей может иметь последствия для гораздо больших вещей, чем «ваше приложение …»

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

Атака по словарю радуги подразумевает взятие всех возможных комбинаций букв, цифр и специальных символов, хеширование их в базу данных, а затем использование их для «преобразования» этой базы данных в другую базу данных. Используя простой перебор, средний ноутбук может вычислить каждую комбинацию символов до 8-10 букв примерно за 15 минут. Таким образом, обратный инжиниринг каждого хешированного пароля в вашей базе данных потребует 15 минут для опытного хакера, и в его распоряжении будет только новый ноутбук. Таким образом, ваши хешированные пароли ipso facto представляют собой обычный текст для опытного хакера.


Вам также могут понравиться:
Триада ЦРУ и брут-форсинг SSH .

Солить на помощь или …?

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

Это увеличивает рабочую нагрузку, необходимую для создания Радужного словаря, на «n» , где «n» равно количеству паролей, которые вы физически храните. Следовательно, эта 15-минутная работа превратилась в 15-минутную, умноженную на 2 миллиона (зарегистрированных пользователей) в вашей базе данных.

скорость

Скорость — это король, верно? Когда дело доходит до хеширования паролей, это не может быть дальше от истины. Хеширование пароля с использованием обычного алгоритма хеширования требует менее 200 циклов ЦП. Это означает, что ноутбук вашей бабушки может создать словарь Rainbow, если он знает соль, с каждой возможной комбинацией длиной менее 10 символов менее чем за 20 минут, используя только сценарий VB, если он этого хочет.

Это позволяет хакеру перебором угадать ваши пароли отдельных записей менее чем за 15 минут. Может быть, хакер нацелен на одного человека и не заботится о нескольких пользователях? Ну, 1 час процессорного времени, запись простого VB-скрипта на максимальной скорости, и он / она имеет пароли 5 пользователей. Звучит не очень безопасно, правда …?

BlowFish: король паролей!

Тем не менее, вся идея BlowFish заключается в том, что это sloooooooooooooooooooow . Настолько медленный, что даже суперкомпьютеры АНБ с миллионами процессоров, которым требуется половина недвижимости Невады, и вся река Колорадо, чтобы просто остыть, все равно потратили бы триллион лет на создание Радужного словаря всех возможных перестановок длиной менее 10 символов , на нагрузку 20 записей. Хорошо, теперь мы говорим! Добро пожаловать в клуб параноиков-шизофреников! Добро пожаловать в «Силу» !

Итак, сколько лет потребуется, чтобы изучить все это? Это хорошие части; Два простых метода в C #, и вы за пределами того, что ЦРУ, АНБ и ФСБ могли взломать, используя суперкомпьютеры! Вуаля, я даю тебе, Волшебство BlowFish!


C #