2013-05-23 4 views
6

Эй, просто простые вопросы, так как я пытаюсь понять немного больше о хэш-функциях, я знаю, как они работают и что они делают, но насколько они безопасны?Насколько безопасен MD5 и SHA1

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

ответ

22

С сегодняшней технологией, оба могут быть cracked. Есть также hash dictionaries, которые помогают найти то, что означает хэш для коротких строк.

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

Общий совет - сначала изучить уровень безопасности хотите достичь в своем сценарии и решить, какие технологии (в данном случае хеширование) вы используете. Также нет 100% безопасности. Также не вкладывайте слишком много времени в одну проблему безопасности и игнорируйте другие, которые могут быть не столь очевидными или техническими (человеческие ошибки, безопасность безвестности, человеческая инженерия).

Проверьте это:

  1. генерировать хэш для небольшого слова here. Например, password имеет хеш MD5: 5f4dcc3b5aa765d61d8327deb882cf99
  2. сейчас пойти here и запросить текст.

Приведенный выше пример является лишь одним из многих (словарь) возможного способа взлома. Также статьи wikipedia каждого алгоритма безопасности предоставляют вам список уязвимостей.

ТАКЖЕ СМОТРИТЕ:

SIDE ПРИМЕЧАНИЕ

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

+0

Thank you very helpful – user2160949

+0

Если вы считаете это полезным, то проголосуйте! Не (только) для моей репутации, но для других, у которых есть тот же вопрос. –

0

Сравнение между MD5 и SHA1. Вы можете получить четкое представление о том, какой из них лучше.

enter image description here

+0

Для полноты уже есть «успешная атака» на SHA-1, поскольку в Google обнаружено два разных сообщения, генерирующих один и тот же хэш. MD5 так же небезопасен, как может быть. Если вы можете, не используйте его, а перейдите к SHA-512 или другим более безопасным хэш-функциям. – Ordoshsen

0

При обсуждении хэша безопасности против грубой силы мы не должны принимать некоторые больше внимания?

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

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

То, что осталось от злоумышленника (помимо социальной инженерии, взлома xss и хостинга), чтобы впоследствии отправить количество сгенерированных запросов на сервер входа в систему и посмотреть, успешный ли он. Это может управляться также:

  • после как успешного и неудачного входа в систему может быть какой-то случайный временной лаг, прежде чем служба отвечает, чтобы замедлить Brute процесс формирования сил
  • процесс регистрации может очереди параллельных запросов входа в систему с той же IP и параллельные входы с таким же именем пользователя (для обеспечения вышеуказанного правила)
  • могут быть реализованы ограничения неудачных входов в систему, после того, как он будет превышен учетная запись заблокирована и предупреждение системы безопасности запущен

Я считаю, когда над правилами реализованы хеш-память md5 достаточно безопасна. На самом деле он одинаково безопасен как простой пароль :) Подводя итог, если мы уверены, что наш хеш md5 безопасен, мы можем просто оставить открытые пароли. В настоящее время твист вообще не используется md5 (в связи с запутыванием пароля). Что нужно сделать, так это оставить его в хранилище в доверенной зоне или использовать более сильный инструмент (например, SHA), если доверенная зона не управляется. И, на мой взгляд, доверенная зона все еще находится под угрозой безопасности сервера (хостинг-службы), поэтому независимо от того, просто ли запутывают пароли с помощью SHA (или лучше) :) Это не должно быть дорогостоящим, чтобы упростить хеширование паролей и это приносит некоторые выгоды (уменьшает риски), поэтому мой совет никогда больше не будет вновь повторять эту дискуссию.

По-прежнему даже с SHA-хэшированием должны быть реализованы все голосовые правила безопасности. Особенно TLS, который предотвращает компрометацию паролей входа и пароля (независимо от того, отправляется ли пароль в обычном режиме или хешируется с помощью md5 или sha, он может активировать успешный вход в систему). Также необходимо следить за попытками входа в систему. Даже если мы считаем, что наш сайт является грубым доказательством, хорошо знать, что кто-то пытается нарушить безопасность.

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