Хеширование против шифрования: как ваш пароль хранится на сервере
Хеширование против шифрования: как ваш пароль хранится на сервере
Оглавление
Допустим, вы создали учетную запись на VerySecureWebsite.com. Вы вводите свой адрес электронной почты и пароль и настраиваете свою учетную запись. Через некоторое время вы получите электронное письмо, информирующее вас о том, что, по иронии судьбы, сайт был взломан, а имена пользователей и пароли каждого пользователя, которые хранились в виде открытого текста, теперь продаются в темной сети.
Когда вы начинаете менять пароль во всех своих учетных записях (вы используете только один, монстр), вы удивляетесь, разве это не плохая идея? Разве мой пароль не должен быть в каком-то секретном коде, чтобы хакеры не могли его просто прочитать?
Вы правы. Любое веб-приложение или служба, использующие систему входа в систему с использованием имени пользователя и пароля, должны хранить пароли своих пользователей, используя соленый хеш, возможно, даже соленый медленный хеш, возможно, с перцем.
Если это начинает звучать больше как завтрак, чем криптография, не волнуйтесь: в отличие от вашего пароля (надеюсь), безопасное хранение паролей не так уж сложно взломать.
Открытый текст и простое шифрование
UsernameEntered PasswordStored formUnwittingUserWeakPasswordWeakPassword
Хранение паролей открытого текста в подключенной к Интернету базе данных — довольно плохая идея: если база данных получает взломанный, любой, кто повторно использовал один из этих паролей, теперь подвергается риску. И все же тревожное число веб-сайтов по-прежнему делают это, вероятно, потому что обновления безопасности больше для клиента, чем для компании.Если вы хотите проверить, делает ли сайт это, попробуйте выбрать опцию забытый пароль. Если они просто отправят вам ваш пароль вместо ссылки для сброса, она будет сохранена в виде открытого текста.
UsernameEntered PasswordEncrypted с ключом AES-128: WeakKeyUnwittingUserWeakPassword38MkoXVXoKe01uAOROBLpQ ==
Шифрование может звучать как надежный способ хранить пароли, но это действительно просто на шаг выше открытого текста. Зашифрованный пароль обычно может быть декодирован с помощью ключа, и если хакеры смогут его найти или угадать, шифрование бесполезно.
Хеширование и шифрование
UsernameEntered PasswordString будет hashedHashed с SHA-256UnwittingUserWeakPasswordWeakPassword252E2406732308F9A7
B378ED94E78467D14
077D19C8282443FCD
3D6190FCABFA
Хэш-функция в основном только один-способ шифрования вы преобразовать текстовый пароль на секретный код, но нет ключа для его преобразования, а это значит, что вы никогда не сможете получить действительный пароль из хешированной версии.
Именно так большинство защищенных веб-сайтов управляют своими паролями:
- Пользователь создает учетную запись
- Пароль пользователя запускается через хеш-функцию и сохраняется в базе данных.
- Каждый раз, когда пользователь входит в систему, база данных хэширует введенный им пароль и проверяет, совпадает ли введенный хеш хэш у них в файле.
- Если да, пользователь может войти в систему
С помощью хэша приложение / сайт никогда нигде не сохранит ваш действительный пароль, а взломщик получит только список писем. и числа, которые не могут быть декодированы. В зависимости от того, насколько силен алгоритм, эти хэши могут быть довольно трудно взломать.
Хэши, однако, не являются взломостойкими. Все, что нужно сделать злоумышленнику, — это запустить словарь потенциальных паролей через функцию хеширования, а затем сравнить эти хеши с хешами в базе данных. Когда совпадают два хеша, хакер может просто посмотреть, какой пароль сгенерировал этот хеш.
Чтобы сэкономить время и вычислительную мощность, многие злоумышленники просто используют таблицу поиска (или «радужную таблицу», компактную версию). таблиц поиска), предварительно сгенерированная таблица, полная потенциальных паролей и их хэшей.
На самом деле вы можете попробовать хешировать текстовые слова, а затем сами использовать таблицу поиска для хеша, это не так уж сложно.
По сути, если ваш пароль вообще является общим, хэш этого пароля, вероятно, уже находится в таблице поиска. Это серьезная причина не использовать общие пароли.
Связанные: создание надежного пароля с помощью этих советов и инструментов
Соленые хэши и хэши
UsernameEntered PasswordString быть hashedHashed с SHA-256,
соль = XcyKn42, prependedUnwittingUserWeakPasswordXcyKn42WeakPassword13EB660FF7FBD29A728FC5
92297D78DF19AFF8797363
15FBF1F1C4B7123BD10C < р0> в отличие от слизней, соль делает хешей сильнее.Так как целые изменения хэша, даже если только одна буквы открытого текста слова изменилось, все на сайте нужно сделать, чтобы расстроить справочные таблицы, это добавить некоторый дополнительный открытый текст пароля перед его хэшируется. Злоумышленник сможет прочитать исходный текст соли, так как она хранится в базе данных, но это заставляет их пересчитывать все возможные комбинации потенциальных паролей и солей.
Конечно, соленые хэш все еще может быть взломаны. Хакеры могут просто добавить соль к паролю они угадывание, хешированиям комбинации, и ждать матчи всплывали — стандартную словарную атаку. Поскольку современные графические процессоры могут сделать миллиарды догадок в секунду, это не совсем неосуществимо, но он делает процесс намного более раздражающим. . Если это не удастся, грубой силы атаки медленно, но очень эффективный
Создание хэша и усиление: другие тактики
UsernameEntered PasswordString быть hashedHashed с Bcrypt,
salt = XcyKn42, с добавлением,
12 раундов UnwittingUserWeakPasswordXcyKn42WeakPassword $ 2y $ 12 $ 6OleutQBO2iPoNvg
pyDndOU26Lqt9Y34f6PLEOx, псевдоним
То есть; как «растяжение ключа» для замедления словарных и грубых атак.По сути, это включает в себя настройку хеш-функции для итерации определенного количества раз (хотя это немного сложнее, чем просто повторять одно и то же), так что для получения правильного хеша вам придется использовать много вычислений. мощность. Если сайт делает все это, его безопасность довольно хорошая. < Имя_пользователя>. Введите PasswordString для хеширования. Хэшируется с помощью Bcrypt,
salt = XcyKn42, с добавлением префикса,
12 раундов,
pepper = | 4 | / | @ p3pp3r; — которые, надеюсь, уже соленые. Перец, как соль, представляет собой набор значений, прикрепленных к паролю до его хэширования. В отличие от соли, однако, есть только одна ценность перца, и она держится в секрете, отдельно от солей и хэшей. Это добавляет еще один уровень безопасности к соленому хешу, но если злоумышленнику удастся его найти, он больше не очень полезен, поскольку злоумышленник может просто использовать его для вычисления новых справочных таблиц.
Не создавайте хеш вашего хэша
Защита паролем достигла значительных успехов — так же, как и искусство взлома этой безопасности. К сожалению, люди все еще плохо справляются с управлением паролями, и базы данных не обновляют безопасность так часто, как следовало бы.
В общем, предположим, что при создании учетной записи пароль хранится с относительно слабой защитой.Если ваш пароль является обычным или словарным словом, то существует довольно высокий риск взлома. Делайте ваши пароли длинными, смешивая буквы, цифры и символы, и вы поможете хэш-функциям работать лучше.
Хеширование против шифрования: как ваш пароль хранится на сервере
Просмотров сегодня: 136
Похожие записи
Что делать если что то там болит и не ясно что?Academie — Качественная косметика для настоящих профессионалов
Как правильно утилизировать мусор в РФ
Как всегда сдержать свои зубы в порядке?
Почему веб-сайты должны посыпать солью свои хэши, чтобы защитить ваши пароли 2023
Несмотря на свои недостатки, пароли по-прежнему являются стандартом де-факто для аутентификации в Интернете. .
ExpressVPN уже писал о преимуществах создания безопасных паролей с помощью Diceware, использования менеджеров паролей и создания еще одного уровня безопасности вокруг ваших учетных записей с двухфакторной аутентификацией.
Но что происходит за кулисами? Какие меры может и должен предпринять оператор веб-сайта для защиты ваших паролей?
Contents
- 1 Рождение компьютерного взлома
- 2 Почему хэш-функции – улица с односторонним движением
- 3 SHA-256 предлагает вселенную перестановок
- 4 Соль и хеш защищает ваши пароли
- 5 Соление защищает пароли, присваивая им уникальные номера
- 6 Будущее систем паролей
- 7 Что вы можете сделать, чтобы защитить ваши пароли
Рождение компьютерного взлома
Первой компьютерной системой, которая использовала пароли, была Совместимая система разделения времени в Массачусетском технологическом институте, построенная в 1960 году. Благодаря разделению времени компьютер можно было разделить и использовать в качестве нескольких рабочих станций. .
Тем не менее, было больше исследователей, чем рабочих станций, и пользователям было выделено ограниченное время в системе (что некоторые исчерпали довольно быстро). Чтобы убедиться, что исследователи оставались в своих пределах, каждому был присвоен уникальный пароль для входа в систему..
Но, конечно же, с первыми паролями пришел первый хакер. Один исследователь, Аллан Шерр, использовал систему, которая позволяла пользователям распечатывать файлы с помощью перфокарт (в 1960-х у компьютеров не было экранов). Шерр обнаружил и распечатал файл с паролями, что позволило ему войти в систему как другие пользователи и использовать компьютер дольше.
Сегодня считается небрежным хранить пароли в виде открытого текста в системе, хотя взлом 2016 года российского сайта социальной сети VK.com показывает, что некоторые крупные сайты все еще делают это. Пароли VK.com 100 миллионов пользователей были украдены и теперь выставлены на продажу.
Почему хэш-функции – улица с односторонним движением
Хеш-функция является односторонним шифрованием и действует как отпечаток пальца. 256 = 1,157920892 × 10⁷⁷).
Хотя, теоретически, могут быть два разных значения с одинаковым хешем SHA-256. Такое событие называется коллизией хешей, и безопасность любой хеш-функции полагается на то, что их невозможно обнаружить..
Известно, что предшественник SHA-2 (вариант SHA-256) – некогда популярный алгоритм SHA-1 – уязвим для коллизий хешей. Хотя стоит отметить, никто так и не нашел.
Другой когда-то популярный хеш, MD5, имел так много уязвимостей, что он не является полезной защитой от злонамеренного вмешательства в файлы.
Помимо шифрования паролей, хеш-функции также могут быть полезны, чтобы гарантировать, что файлы не были подделаны, подобно криптографическим сигнатурам, поскольку измененная текстовая строка изменит хеш-ключ.
Хранение паролей в виде хэшей, а не открытого текста, позволяет проверить правильность пароля, не оставляя пароль уязвимым для хакеров.
Соль и хеш защищает ваши пароли
Теоретически, если кто-то сможет взломать базу данных, которая содержит только хешированные пароли, он не получит никакой полезной информации. В действительности, однако, люди повторно используют свои пароли на многих сайтах или используют в них общие слова, и есть много вещей, которые хакер может сделать, чтобы взломать хеш.
Каждый хэш SHA-256 слова ExpressVPN всегда одинаков во всех системах. Поэтому, если ваше имя пользователя Lexie и вы используете ExpressVPN в качестве пароля (не), хакер может найти хеш «c9f45… 3d185» среди паролей, чтобы увидеть пароль Лексики – ExpressVPN.
Хотя само по себе это не звучит особенно полезно, есть списки нескольких тысяч самых популярных паролей (которые мы знаем из предыдущих хаков).
Используя такой список, хакер может найти хэши общих паролей и сопоставить их с именами пользователей..
Этот тип атаки называется радужной таблицей, или словарём, атакой. Злоумышленнику не хватает времени, чтобы атакующий мог использовать любую возможную комбинацию хэш-пароль в атаке методом грубой силы. Но есть достаточно времени, чтобы попробовать наиболее популярные пароли, которые, вероятно, скомпрометируют значительную часть базы данных. .
Соление защищает пароли, присваивая им уникальные номера
Для защиты от атак по словарю администратор базы данных может использовать метод, называемый «посол», где каждому паролю присваивается уникальное случайное число. Затем вычисляется, сохраняется и проверяется хэш SHA-256 комбинации соли и пароля..
В качестве альтернативы, пароль может быть хеширован в сочетании с солт-числом, и результат снова хешируется..
Примеры «соленых» хэшей, снова хэшированные.
Из-за техники посола создание радужного стола перестало быть привлекательным. Случайные числа сделают каждый хеш уникальным, даже если пользователь не выберет уникальный пароль.
Если хакер захочет нацелить пользователей с паролем «Passw0rd!», Солт-номер сохранит базу данных в безопасности..
Будущее систем паролей
Пароли далеко не оптимальны для онлайн-аутентификации. Хороший трудно запомнить, его трудно отозвать, и однажды утечка может нанести значительный ущерб.
Менеджеры паролей могут сделать пароли более удобными и помочь вам создать уникальные. Они также будут рекомендовать вам регулярно менять учетные данные, что необходимо для обеспечения безопасности в Интернете..
Возможно, в будущем мы перейдем к альтернативным формам аутентификации, таким как пары открытого / секретного ключей, возможно, в сочетании с аппаратными ключами. В такой модели вам нужно будет только загрузить свой открытый ключ на сервер при регистрации, и больше никогда.
Хотя это не обязательно на порядок более безопасно, чем правильно реализованное решение для паролей, пары открытого и секретного ключей с меньшей вероятностью будут неправильно применяться как пользователем, так и службой..
Что вы можете сделать, чтобы защитить ваши пароли
Имейте в виду, что многие из служб, которые вы используете сегодня, возможно, уже потеряли контроль над вашими паролями. Возможно, они еще не знают об этом, или, может быть, они отказываются публично признать это – защищая свой имидж в ущерб безопасности своих пользователей..
Используйте генератор случайных паролей и измените ваши пароли на длинные случайные строки букв и символов. Вы также можете активировать двухфакторную аутентификацию на некоторых сервисах, чтобы добавить дополнительный уровень безопасности..
Также рекомендуется удалить любые учетные записи, которые вы больше не используете, в надежде, что служба удалит вместе с вами ваши пользовательские данные..
admin Author
Sorry! The Author has not filled his profile.
« نشت DNS چیست؟ » Vai man datorā ir nepieciešams pretvīrusu līdzeklis?
Несмотря на свои недостатки, пароли по-прежнему являются стандартом де-факто для аутентификации в Интернете..
ExpressVPN уже писал о преимуществах создания безопасных паролей с помощью Diceware, использования менеджеров паролей и создания еще одного уровня безопасности вокруг ваших учетных записей с двухфакторной аутентификацией.
Но что происходит за кулисами? Какие меры может и должен предпринять оператор веб-сайта для защиты ваших паролей?
Contents
- 1 Рождение компьютерного взлома
- 2 Почему хэш-функции – улица с односторонним движением
- 3 SHA-256 предлагает вселенную перестановок
- 4 Соль и хеш защищает ваши пароли
- 5 Соление защищает пароли, присваивая им уникальные номера
- 6 Будущее систем паролей
- 7 Что вы можете сделать, чтобы защитить ваши пароли
Рождение компьютерного взлома
Первой компьютерной системой, которая использовала пароли, была Совместимая система разделения времени в Массачусетском технологическом институте, построенная в 1960 году. Благодаря разделению времени компьютер можно было разделить и использовать в качестве нескольких рабочих станций..
Тем не менее, было больше исследователей, чем рабочих станций, и пользователям было выделено ограниченное время в системе (что некоторые исчерпали довольно быстро). Чтобы убедиться, что исследователи оставались в своих пределах, каждому был присвоен уникальный пароль для входа в систему..
Но, конечно же, с первыми паролями пришел первый хакер. Один исследователь, Аллан Шерр, использовал систему, которая позволяла пользователям распечатывать файлы с помощью перфокарт (в 1960-х у компьютеров не было экранов). Шерр обнаружил и распечатал файл с паролями, что позволило ему войти в систему как другие пользователи и использовать компьютер дольше.
Сегодня считается небрежным хранить пароли в виде открытого текста в системе, хотя взлом 2016 года российского сайта социальной сети VK.com показывает, что некоторые крупные сайты все еще делают это. Пароли VK.com 100 миллионов пользователей были украдены и теперь выставлены на продажу. 256 = 1,157920892 × 10⁷⁷).
Хотя, теоретически, могут быть два разных значения с одинаковым хешем SHA-256. Такое событие называется коллизией хешей, и безопасность любой хеш-функции полагается на то, что их невозможно обнаружить..
Известно, что предшественник SHA-2 (вариант SHA-256) – некогда популярный алгоритм SHA-1 – уязвим для коллизий хешей. Хотя стоит отметить, никто так и не нашел.
Другой когда-то популярный хеш, MD5, имел так много уязвимостей, что он не является полезной защитой от злонамеренного вмешательства в файлы.
Помимо шифрования паролей, хеш-функции также могут быть полезны, чтобы гарантировать, что файлы не были подделаны, подобно криптографическим сигнатурам, поскольку измененная текстовая строка изменит хеш-ключ.
Хранение паролей в виде хэшей, а не открытого текста, позволяет проверить правильность пароля, не оставляя пароль уязвимым для хакеров.
Соль и хеш защищает ваши пароли
Теоретически, если кто-то сможет взломать базу данных, которая содержит только хешированные пароли, он не получит никакой полезной информации. В действительности, однако, люди повторно используют свои пароли на многих сайтах или используют в них общие слова, и есть много вещей, которые хакер может сделать, чтобы взломать хеш.
Каждый хэш SHA-256 слова ExpressVPN всегда одинаков во всех системах. Поэтому, если ваше имя пользователя Lexie и вы используете ExpressVPN в качестве пароля (не), хакер может найти хеш «c9f45… 3d185» среди паролей, чтобы увидеть пароль Лексики – ExpressVPN.
Хотя само по себе это не звучит особенно полезно, есть списки нескольких тысяч самых популярных паролей (которые мы знаем из предыдущих хаков).
Используя такой список, хакер может найти хэши общих паролей и сопоставить их с именами пользователей..
Этот тип атаки называется радужной таблицей, или словарём, атакой. Злоумышленнику не хватает времени, чтобы атакующий мог использовать любую возможную комбинацию хэш-пароль в атаке методом грубой силы. Но есть достаточно времени, чтобы попробовать наиболее популярные пароли, которые, вероятно, скомпрометируют значительную часть базы данных. .
Соление защищает пароли, присваивая им уникальные номера
Для защиты от атак по словарю администратор базы данных может использовать метод, называемый «посол», где каждому паролю присваивается уникальное случайное число. Затем вычисляется, сохраняется и проверяется хэш SHA-256 комбинации соли и пароля..
В качестве альтернативы, пароль может быть хеширован в сочетании с солт-числом, и результат снова хешируется..
Примеры «соленых» хэшей, снова хэшированные.
Из-за техники посола создание радужного стола перестало быть привлекательным. Случайные числа сделают каждый хеш уникальным, даже если пользователь не выберет уникальный пароль.
Если хакер захочет нацелить пользователей с паролем «Passw0rd!», Солт-номер сохранит базу данных в безопасности..
Будущее систем паролей
Пароли далеко не оптимальны для онлайн-аутентификации. Хороший трудно запомнить, его трудно отозвать, и однажды утечка может нанести значительный ущерб.
Менеджеры паролей могут сделать пароли более удобными и помочь вам создать уникальные. Они также будут рекомендовать вам регулярно менять учетные данные, что необходимо для обеспечения безопасности в Интернете..
Возможно, в будущем мы перейдем к альтернативным формам аутентификации, таким как пары открытого / секретного ключей, возможно, в сочетании с аппаратными ключами. В такой модели вам нужно будет только загрузить свой открытый ключ на сервер при регистрации, и больше никогда.
Хотя это не обязательно на порядок более безопасно, чем правильно реализованное решение для паролей, пары открытого и секретного ключей с меньшей вероятностью будут неправильно применяться как пользователем, так и службой..
Что вы можете сделать, чтобы защитить ваши пароли
Имейте в виду, что многие из служб, которые вы используете сегодня, возможно, уже потеряли контроль над вашими паролями. Возможно, они еще не знают об этом, или, может быть, они отказываются публично признать это – защищая свой имидж в ущерб безопасности своих пользователей..
Используйте генератор случайных паролей и измените ваши пароли на длинные случайные строки букв и символов. Вы также можете активировать двухфакторную аутентификацию на некоторых сервисах, чтобы добавить дополнительный уровень безопасности..
Также рекомендуется удалить любые учетные записи, которые вы больше не используете, в надежде, что служба удалит вместе с вами ваши пользовательские данные..
admin Author
Sorry! The Author has not filled his profile.
« VPN’iniz gizliliğinizi ve güvenliğinizi koruyor mu? Yeni ExpressVPN Sızıntı Test Araçları ile kendinizi kontrol edin » آیا کریگ رایت مرد پشت بیت کوین است؟
Adblockdetector
Шифрование, хеширование и соление — в чем разница?
Назад1 марта 2022 г.
Эндрю Хьюз
Директор по стандартам идентификации
Шифрование и хеширование являются основополагающими концепциями вычислений для любого типа «секрета», но вы можете не заметить, насколько они распространены. Для целей этого блога мы сосредоточимся на шифровании, хешировании и добавлении соли для паролей. Пароли являются наименее безопасным методом аутентификации при входе в систему, но все еще широко используются. Злоумышленники могут использовать скомпрометированные учетные данные для утечки данных, мошенничества с захватом учетных записей, программ-вымогателей и других преступных действий.
Хеширование и шифрование — это два способа обеспечить безопасность данных, но они выполняют разные функции. Шифрование паролей используется, когда по какой-либо причине необходимо восстановить открытый текст. Хеширование паролей типично на стороне сервера, когда операторам сервера не нужно знать открытый текст, им просто нужно продемонстрировать, что пользователь знает открытый текст. Эти функции выполняются в фоновом режиме, как и соление, не добавляя неудобств пользователю.
Предприятия, которые должны использовать пароли, должны всегда использовать проверенные криптографические инструменты для обеспечения безопасности паролей, а не пытаться создавать свои собственные с нуля. Читайте дальше, чтобы узнать больше о шифровании, хешировании и добавлении соли, а также о том, как они используются.
Что такое шифрование?
Шифрование — это метод защиты пароля (открытого текста) путем преобразования его с использованием математической формулы в зашифрованную версию (зашифрованный текст). Шифрование — это двусторонняя функция, означающая, что исходный пароль в виде открытого текста, зашифрованный в зашифрованный текст, может быть возвращен в открытый текст путем его расшифровки. Некоторые системы аутентификации по-прежнему требуют обратимых паролей. Любой, у кого есть правильный криптографический ключ, может взять зашифрованный текст и обратить его, чтобы раскрыть пароли в виде открытого текста, что сделает их менее безопасными. Защита криптографических ключей имеет важное значение, поскольку злоумышленник с ключом может разблокировать шифрование для восстановления паролей. Аппаратный модуль безопасности (HSM) может выполнять основные криптографические операции и хранить ключи таким образом, чтобы предотвратить их извлечение из HSM.
Шифрование может играть важную роль в хранении паролей, и доступны многочисленные криптографические алгоритмы и методы. Например, менеджеры паролей используют шифрование для защиты конфиденциальности хранимых секретов. Когда пользователю требуется пароль, диспетчер паролей расшифровывает зашифрованный текст и вставляет открытый текстовый пароль в форму веб-браузера, поскольку открытый текст — это единственный формат, который поддерживает браузер.
Что такое хеширование?
Хеширование также использует алгоритм для преобразования открытого текста пароля в зашифрованный текст, который скрывает фактический пароль. В отличие от шифрования, хеширование является односторонней функцией. Если вы возьмете произвольный открытый текстовый пароль любой длины, пропустите его через алгоритм хэширования, он выдаст строку или шестнадцатеричное число, уникальное для предоставленного открытого текста. Длина зависит от используемого алгоритма. Хэши паролей не могут быть преобразованы обратно в исходный текстовый пароль.
Сервер хранит хешированную версию пароля. Когда пользователь вводит пароль в виде открытого текста, система вычисляет хэш и сравнивает хэши. Если хэши равны, сервер может подтвердить пароль, и пользователю предоставляется доступ.
Общие алгоритмы хэширования
Менее безопасные алгоритмы хеширования:
- Алгоритм дайджеста сообщения 5 ( MD5) принимает сообщение любой длины в качестве входных данных и преобразует его в выходные данные фиксированного размера. Длина битового хеш-значения, используемого для аутентификации исходного сообщения.
- Алгоритм безопасного хеширования (SHA) также является криптографической хеш-функцией. 160-битные значения SHA-1 более безопасны, чем 128-битные длины хеш-значений MD5, но у него также есть недостатки, которые привели к семейству хеш-кодов SHA-2.
Более безопасные хеш-алгоритмы:
- Сегодня широко используется семейство хеш-кодов SHA-2, алгоритмы которого длиннее и сложнее взломать. Имена алгоритмов SHA-2 связаны с длиной, поэтому SHA-224 представляет собой длину 224 бита. Тот же формат работает для SHA-256, SHA-384 и SHA-512.
Что такое соление?
Точно так же, как вы добавляете соль для улучшения вкуса еды, случайная строка символов (соль) добавляется к паролям для их улучшения. Каждому пользователю назначается отдельная соль, которая известна только серверу, что делает их уникальными и более безопасными. Соль можно разместить с любой стороны пароля. Например, добавление соли к паролю «Пароль» может привести к созданию такого пароля, как «4(j3Li95Password» или «Пароль4(j3Li95»). безопаснее, чем один только хешированный пароль.
Сочетание соли и хэширования для обеспечения безопасности
Хэширование паролей делает хранение и управление более безопасным и применимо как к паролям с солью, так и к паролям без соли. Соленые пароли, которые также хэшируются, затрудняют взлом паролей злоумышленниками. Поскольку случайные символы добавляются к паролям перед хешированием, хакер теряет возможность быстро вычислить пароль в виде открытого текста. Не угадывая, почти невозможно взять вывод хэш-функции и обратить его, чтобы узнать исходное значение. Уникальный хэш, созданный с помощью «соленых» паролей, защищает от векторов атак, в том числе от атак по словарю, грубой силы и хеш-таблиц.
Предположим, хакер хочет проверить пароль. Хакер сначала должен украсть файл сервера, содержащий хешированные пароли. Опытный хакер уже возьмет часто используемые пароли, словарные записи и пароли, найденные в даркнете, прогонит их через стандартные хеш-алгоритмы и поместит результаты в таблицу. Хеш-таблица — это предварительно рассчитанная база данных хэшей, а радужная таблица — это предварительно рассчитанная таблица обратных хэшей, используемая для расшифровки хэшей паролей. Хакер ищет в файле сервера совпадения предварительно рассчитанных хэшей в своей радужной таблице. Поскольку радужная таблица была создана из всех возможных открытых текстов, теперь они знают пароль этого пользователя. Хакер сможет получить доступ к учетной записи пользователя, если не будут приняты другие меры безопасности, такие как многофакторная аутентификация (MFA).
Хакер с предварительно рассчитанными таблицами, основанными на типичных паролях, не сможет легко вычислить пароли с солью, поскольку в них были добавлены случайные дополнительные символы. Хакеру придется перепробовать миллионы хешированных комбинаций паролей и солей, чтобы раскрыть пароли. Точно так же, как автомобильный угонщик пропустит сложные взломы, чтобы найти незапертую машину с ключами в замке зажигания, хакер перейдет к менее безопасным целям.
Резюме: шифрование, хеширование и соль
Шифрование паролей используется, когда по какой-либо причине необходимо восстановить открытый текст. Шифрование — это обратимый метод преобразования паролей открытого текста в зашифрованный текст, и вы можете вернуться к исходному открытому тексту с помощью ключа дешифрования. Шифрование часто используется для хранения паролей в менеджерах паролей.
Хэширование паролей полезно на стороне сервера, когда операторам сервера не нужно знать открытый текст, а только то, что пользователь знает открытый текст. Хеширование — это односторонний процесс, который преобразует пароль в зашифрованный текст с использованием хеш-алгоритмов. Хэшированный пароль нельзя расшифровать, но хакер может попытаться его перепроектировать.
Добавление соли к паролю добавляет случайные символы до или после пароля перед хешированием, чтобы скрыть фактический пароль. Из-за случайности соли хакерам очень трудно вычислить фактические пароли из хешированных соленых паролей, потому что их предварительно рассчитанные таблицы паролей не будут работать.
Одних только паролей недостаточно для управления идентификацией и доступом (IAM), и их необходимо усиливать другими методами аутентификации. Чтобы узнать больше о многофакторной аутентификации (MFA), ознакомьтесь с нашим информационным документом, посвященным рекомендациям по обеспечению безопасности современного цифрового предприятия.
Как соль паролей защищает от злоумышленников?
Безопасность- Рахул Авати
Добавление паролей — это метод защиты паролей, хранящихся в базах данных, путем добавления строки из 32 или более символов и последующего их хеширования. Использование соли не позволяет хакерам, взламывающим корпоративную среду, реконструировать пароли и красть их из базы данных.
Добавление соли к паролю увеличивает сложность пароля, делая его уникальным и безопасным, не влияя на работу пользователей. Это также помогает предотвратить атаки на хеш-таблицы и замедляет атаки методом грубой силы и словаря.
Хеширование паролей и зачем требуется солениеХеширование предотвращает раскрытие или кражу паролей злоумышленниками, поскольку они не хранятся в виде открытого текста. Например, когда пользователи создают учетную запись с именем пользователя и паролем на веб-сайте, их пароль хэшируется и хранится во внутренней файловой системе в зашифрованном виде.
Когда пользователи входят в систему, пароль проходит через алгоритм одностороннего хэширования, который преобразует пароль в другую нераспознаваемую строку символов. Во время входа в систему эта строка сравнивается с другими хэшами, хранящимися в базе данных веб-сайта. Если учетные данные совпадают с сохраненным хешем, пользователи могут получить доступ к учетной записи. Если он не совпадает, проверка хэша завершается ошибкой, и пользователи не могут войти в систему.
Хотя хеширование является более безопасным способом хранения паролей по сравнению с их хранением в открытом виде, этот процесс не обходится без проблем. Одним из ограничений является то, что если два пароля совпадают — что довольно часто, потому что люди склонны использовать общие пароли, такие как «123456» и «пароль», — сгенерированные хэши также идентичны.
Это облегчает злоумышленникам взлом паролей с помощью атак грубой силы, атак по словарю или радужных атак и компрометации учетных записей нескольких пользователей, кражи их данных или создания других проблем. Чтобы решить эту проблему, требуется соление.
Как работает посолка пароляПри добавлении соли к паролю добавляется случайный фрагмент данных перед тем, как он пройдет через алгоритм хеширования, что делает его уникальным и трудным для взлома.
При использовании как хеширования, так и соления, даже если два пользователя выбирают один и тот же пароль, соление добавляет случайные символы к каждому паролю, когда пользователи его вводят. В результате генерируются совершенно разные хэши для предотвращения компрометации паролей и учетных записей.
Вот как это работает:
Пароль пользователя 1 – оранжевый
Соль 1 – y3Unz
В пароль добавлена соль 1 – Orangey3Unz 2 – оранжевыйСоль 2 – 1Hx$
Добавлена соль на пароль 2 — Orange1Hx$
Хэш («апельсин» + соль) 2 — 5d41402abc4b2a76b9719d911017c592
Чтобы предотвратить атаки на пароли, соли должны быть уникальными и случайными для каждого входа в систему. Шифрование хранилища паролей в состоянии покоя может обеспечить дополнительную глубокую защиту, даже если хакер сможет пересчитать хэши общих списков паролей, используя заданную соль для пароля.
Какие атаки можно предотвратить или свести к минимуму с помощью соли пароля?Злоумышленники используют множество инструментов для взлома хэшей паролей. Это связано с тем, что хеш-таблицы предназначены для быстрой работы, но не обязательно безопасны. Добавляя случайность к исходному значению пароля в виде открытого текста перед хешированием, соление гарантирует, что будет сгенерировано другое хэшированное значение.
Salting — это дополнительный уровень безопасности для предотвращения или, по крайней мере, сведения к минимуму возможности компрометации пароля с помощью следующих трех основных векторов атаки.
Атаки грубой силы
В этом типе атаки хакеры пытаются угадать все возможные комбинации паролей, а затем запускают эти комбинации с помощью алгоритма хеширования. Как только совпадение найдено, они могут найти исходный пароль. Поскольку «соли» паролей создают уникальные хэши для каждого пароля, злоумышленник не может угадать исходный пароль методом грубой силы.
Атаки по словарю
Атаки по словарю — это усовершенствованная версия атак полным перебором. В этом типе атаки злоумышленники пробуют наиболее распространенные комбинации слов и символов пароля. Они используют заранее составленный список слов со своим вычисленным хэшем, а затем сравнивают хэши из украденной таблицы паролей с каждым хэшем в списке. Если им удастся найти совпадение, они легко найдут пароль. Соление усложняет этот процесс и смягчает атаки по словарю.
Радужный стол атакует
Злоумышленники часто используют радужные таблицы для взлома несоленых хэшей. Радужная таблица — это предварительно вычисленная база данных расшифрованных хеш-паролей, которую злоумышленники могут искать, чтобы найти нужный хэш. Но когда для каждого пароля используется соль, злоумышленники потерпят неудачу.
Вот несколько способов наиболее эффективного использования соли паролей для повышения безопасности и предотвращения атак на пароли:
- Создайте уникальную соль для каждого пользователя и пароля. Уникальная соль для каждого пользователя и пароля увеличивает вычислительную мощность, необходимую злоумышленнику для взлома паролей. Уникальная соль также должна генерироваться каждый раз, когда пользователи меняют свой пароль.
- Храните соль и пароль отдельно. Хранение соли отдельно от пароля усложняет задачу злоумышленникам по перепроектированию пароля.
- Сделайте длину соли не меньше длины выходного хэша. Длина солт-значения должна быть большой и по крайней мере такой же длины, как выходной хэш.
- Использовать генератор псевдослучайных чисел. Использование криптографически безопасного генератора псевдослучайных чисел для соления значений хеш-паролей создает случайные и непредсказуемые значения, которые злоумышленникам трудно скомпрометировать.
- Добавить в хеш секретный ключ. Это гарантирует, что пароль может быть проверен только в том случае, если известен секретный ключ. Хранение ключа отдельно во внешней системе также останавливает хакеров, поскольку им необходимо получить доступ как к внутренней, так и к внешней системе для проведения атаки на основе пароля.
-
- Не используйте общесистемную соль. Системная соль позволяет злоумышленнику использовать хеш-таблицы для кражи паролей и компрометации учетных записей. Вместо этого каждый пароль, созданный для пользователя, следует хешировать и солить отдельно.
Узнайте, почему специалисты по безопасности рекомендуют внедрить
Последнее обновление: декабрь 2021 г.
Продолжить чтение О солении паролей- 5 советов по управлению паролями для клиентов MSP
- Как обеспечить безопасность для 3 типов цифровой идентификации
- В 2021 году биометрические технологии безопасности могут стать популярными
- Достаточно ли для минимальной длины пароля 14-символьного пароля?
- Что такое атака с распылением пароля и как она работает?
Радужный стол
Автор: Александр ГиллисДостаточно ли безопасны пароли минимальной длины из 14 символов?
Автор: Шэрон Шиатака полным перебором
Автор: Кэти Террелл Ханнафайл теневого пароля
Автор: Рахул Авати
- Cisco выпускает планы по сетевому облаку
При представлении Cisco Networking Cloud отсутствуют технические подробности и даты поставки консоли высокого уровня для доступа ко всем. ..
- Google взаимодействует с конкурирующими облачными провайдерами
Поставщик видеоплатформы Pexip заявил, что межоблачное соединение Google снизило стоимость подключения Google Cloud к Microsoft …
- Как взаимодействовать с сетевыми API с помощью инструментов cURL, Postman
Сетевые инженеры могут использовать инструменты cURL и Postman для работы с сетевыми API. Варианты использования включают получение информации об интерфейсе и …
- Отношения США и Китая зависят от изменения реакционного мышления
Член палаты представителей Энди Ким заявил, что США должны стать более активными в своих отношениях с Китаем на фоне растущей напряженности между двумя …
- 9 преимуществ криптовалюты в бизнесе
Предприятия, использующие криптовалюту, потенциально могут улучшить свою финансовую ликвидность, привлечь новых клиентов, обеспечить транзакцию . ..
- Эксперты сомневаются в возмездии США после запрета Китая на использование Micron
Администрация Байдена, скорее всего, не станет мстить за запрет китайской компании Micron Technology, но продолжит вести долгую игру …
- Apple M2 Ultra нацелен на пользователей Mac Pro, нуждающихся в скорости
Apple представила самый быстрый на сегодняшний день чип M2 Ultra с новыми технологиями для повышения скорости и производительности. Компания …
- Как составить план управления жизненным циклом ПК и настольных ПК
Комплексные планы «устройство как услуга» и полное внутреннее управление — это два варианта жизненного цикла настольных компьютеров, но существует множество…
- Рекомендации по политике окончания срока службы ПК
Организациям, развертывающим ПК, нужна строгая и четкая политика для обслуживания оборудования, принятия решений об окончании срока службы, устойчивого .