Почему веб-сайты должны посыпать солью свои хэши, чтобы защитить ваши пароли
Несмотря на свои недостатки, пароли по-прежнему являются стандартом де-факто для аутентификации в Интернете..
ExpressVPN уже писал о преимуществах создания безопасных паролей с помощью Diceware, использования менеджеров паролей и создания еще одного уровня безопасности вокруг ваших учетных записей с двухфакторной аутентификацией.
Но что происходит за кулисами? Какие меры может и должен предпринять оператор веб-сайта для защиты ваших паролей?
Рождение компьютерного взлома
Первой компьютерной системой, которая использовала пароли, была Совместимая система разделения времени в Массачусетском технологическом институте, построенная в 1960 году. Благодаря разделению времени компьютер можно было разделить и использовать в качестве нескольких рабочих станций..
Тем не менее, было больше исследователей, чем рабочих станций, и пользователям было выделено ограниченное время в системе (что некоторые исчерпали довольно быстро). Чтобы убедиться, что исследователи оставались в своих пределах, каждому был присвоен уникальный пароль для входа в систему..
Но, конечно же, с первыми паролями пришел первый хакер. Один исследователь, Аллан Шерр, использовал систему, которая позволяла пользователям распечатывать файлы с помощью перфокарт (в 1960-х у компьютеров не было экранов). Шерр обнаружил и распечатал файл с паролями, что позволило ему войти в систему как другие пользователи и использовать компьютер дольше.
Сегодня считается небрежным хранить пароли в виде открытого текста в системе, хотя взлом 2016 года российского сайта социальной сети VK.com показывает, что некоторые крупные сайты все еще делают это. Пароли VK.com 100 миллионов пользователей были украдены и теперь выставлены на продажу.
Почему хэш-функции – улица с односторонним движением
Хеш-функция является односторонним шифрованием и действует как отпечаток пальца. Каждый файл, слово или текстовая строка обозначается хеш-кодом «отпечаток пальца», который однозначно идентифицирует точное содержимое исходного файла..
Хэши могут использоваться для определения информации, но не того, что представляют данные. Один простой способ представить, как работают хеши, – это использовать суммы цифр (сумма всех цифр числа)..
Сумма цифр 9807347 составляет 9 + 8 + 0 + 7 + 3 + 4 + 7 = 38
Хотя легко увидеть цифру 987347, равную 38, невозможно вычислить 987347 из числа 38..
SHA-256 хэши для различных текстовых строк и файла изображения.
SHA-256 предлагает вселенную перестановок
Невероятно, но 256 бит – это достаточно длинный вывод для уникальной идентификации каждый атом в наблюдаемой вселенной (2 ^ 256 = 1,157920892 × 10⁷⁷).
Хотя, теоретически, могут быть два разных значения с одинаковым хешем SHA-256. Такое событие называется коллизией хешей, и безопасность любой хеш-функции полагается на то, что их невозможно обнаружить..
Известно, что предшественник SHA-2 (вариант SHA-256) – некогда популярный алгоритм SHA-1 – уязвим для коллизий хешей. Хотя стоит отметить, никто так и не нашел.
Другой когда-то популярный хеш, MD5, имел так много уязвимостей, что он не является полезной защитой от злонамеренного вмешательства в файлы.
Помимо шифрования паролей, хеш-функции также могут быть полезны, чтобы гарантировать, что файлы не были подделаны, подобно криптографическим сигнатурам, поскольку измененная текстовая строка изменит хеш-ключ.
Хранение паролей в виде хэшей, а не открытого текста, позволяет проверить правильность пароля, не оставляя пароль уязвимым для хакеров.
Соль и хеш защищает ваши пароли
Теоретически, если кто-то сможет взломать базу данных, которая содержит только хешированные пароли, он не получит никакой полезной информации. В действительности, однако, люди повторно используют свои пароли на многих сайтах или используют в них общие слова, и есть много вещей, которые хакер может сделать, чтобы взломать хеш.
Каждый хэш SHA-256 слова ExpressVPN всегда одинаков во всех системах. Поэтому, если ваше имя пользователя Lexie и вы используете ExpressVPN в качестве пароля (не), хакер может найти хеш «c9f45… 3d185» среди паролей, чтобы увидеть пароль Лексики – ExpressVPN.
Хотя само по себе это не звучит особенно полезно, есть списки нескольких тысяч самых популярных паролей (которые мы знаем из предыдущих хаков).
Используя такой список, хакер может найти хэши общих паролей и сопоставить их с именами пользователей..
Этот тип атаки называется радужной таблицей, или словарём, атакой. Злоумышленнику не хватает времени, чтобы атакующий мог использовать любую возможную комбинацию хэш-пароль в атаке методом грубой силы. Но есть достаточно времени, чтобы попробовать наиболее популярные пароли, которые, вероятно, скомпрометируют значительную часть базы данных..
Соление защищает пароли, присваивая им уникальные номера
Для защиты от атак по словарю администратор базы данных может использовать метод, называемый «посол», где каждому паролю присваивается уникальное случайное число. Затем вычисляется, сохраняется и проверяется хэш SHA-256 комбинации соли и пароля..
В качестве альтернативы, пароль может быть хеширован в сочетании с солт-числом, и результат снова хешируется..
Примеры «соленых» хэшей, снова хэшированные.
Из-за техники посола создание радужного стола перестало быть привлекательным. Случайные числа сделают каждый хеш уникальным, даже если пользователь не выберет уникальный пароль.
Если хакер захочет нацелить пользователей с паролем «Passw0rd!», Солт-номер сохранит базу данных в безопасности..
Будущее систем паролей
Пароли далеко не оптимальны для онлайн-аутентификации. Хороший трудно запомнить, его трудно отозвать, и однажды утечка может нанести значительный ущерб.
Менеджеры паролей могут сделать пароли более удобными и помочь вам создать уникальные. Они также будут рекомендовать вам регулярно менять учетные данные, что необходимо для обеспечения безопасности в Интернете..
Возможно, в будущем мы перейдем к альтернативным формам аутентификации, таким как пары открытого / секретного ключей, возможно, в сочетании с аппаратными ключами. В такой модели вам нужно будет только загрузить свой открытый ключ на сервер при регистрации, и больше никогда.
Хотя это не обязательно на порядок более безопасно, чем правильно реализованное решение для паролей, пары открытого и секретного ключей с меньшей вероятностью будут неправильно применяться как пользователем, так и службой..
Что вы можете сделать, чтобы защитить ваши пароли
Имейте в виду, что многие из служб, которые вы используете сегодня, возможно, уже потеряли контроль над вашими паролями. Возможно, они еще не знают об этом, или, может быть, они отказываются публично признать это – защищая свой имидж в ущерб безопасности своих пользователей..
Используйте генератор случайных паролей и измените ваши пароли на длинные случайные строки букв и символов. Вы также можете активировать двухфакторную аутентификацию на некоторых сервисах, чтобы добавить дополнительный уровень безопасности..
Также рекомендуется удалить любые учетные записи, которые вы больше не используете, в надежде, что служба удалит вместе с вами ваши пользовательские данные..
Cooper
17.04.2023 @ 18:40
хеширование паролей является важным шагом для защиты пользователей в Интернете. Однако, как показывает история, даже самые безопасные хеш-функции могут быть уязвимы к атакам. Поэтому важно использовать дополнительные меры безопасности, такие как соль и двухфакторную аутентификацию, чтобы защитить свои учетные записи. Операторы веб-сайтов также должны принимать меры для защиты паролей своих пользователей, включая использование безопасных хеш-функций и регулярное обновление паролей. В целом, безопасность паролей является важным вопросом в Интернете, и каждый должен принимать меры для защиты своих учетных записей.
Gerardo
17.04.2023 @ 18:40
хеширование паролей является важным шагом для защиты пользователей в Интернете. Однако, как показывает история, даже самые безопасные хеш-функции могут быть уязвимы к атакам. Поэтому важно использовать дополнительные меры безопасности, такие как соль и двухфакторную аутентификацию, чтобы защитить свои учетные записи. Операторы веб-сайтов также должны принимать меры для защиты паролей своих пользователей, включая использование соли и хеш-функций, а также регулярное обновление систем безопасности. В целом, пароли по-прежнему являются стандартом де-факто для аутентификации в Интернете, но мы должны быть более бдительными и использовать все доступные инструменты для защиты наших учетных записей.