Веб-культура

Что на самом деле означает весь этот хэш-материал MD5 [Объясненная технология]

Что на самом деле означает весь этот хэш-материал MD5 [Объясненная технология]

В недавней статье о том, как проверить, был ли на вас повлиял инцидент взлома Gawker , один из шагов включал преобразование вашего адреса электронной почты в хеш MD5.

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

Криптографическое хеширование

MD5 расшифровывается как алгоритм 5 essage D igest и был изобретен знаменитым американским криптографом профессором Рональдом Ривестом в 1991 году для замены старого стандарта MD4. MD5 — это просто название для криптографической функции хеширования, придуманной Роном еще в 91 году.

Идея криптографического хеширования состоит в том, чтобы взять произвольный блок данных и вернуть значение «хеш» фиксированного размера. Это могут быть любые данные любого размера, но значение хеша всегда будет фиксированным. Попробуйте сами здесь .

MD5 хэш

Криптографическое хеширование имеет множество применений, и существует огромное количество алгоритмов (кроме MD5), предназначенных для выполнения аналогичной работы. Одним из основных применений криптографического хеширования является проверка содержимого сообщения или файла после передачи.

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

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

Алгоритмы хеширования также играют роль в идентификации данных или файлов. Хорошим примером для этого является одноранговая сеть с общим доступом к файлам, такая как eDonkey2000. Система использовала вариант алгоритма MD4 ( ниже ), который также объединял размер файла в хеш, чтобы быстро указывать на файлы в сети.

что такое хэш md5

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

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

Криптографическое хеширование также часто используется при генерации паролей и производных паролей из одной фразы.

Алгоритм дайджеста сообщений 5

Функция MD5 предоставляет 32-значное шестнадцатеричное число. Если бы мы превратили .com в хеш-значение MD5, это выглядело бы следующим образом: 64399513b7d734ca90181b27a62134dc . Он был построен на методе, называемом «Меркле», «структурой Дамгардена» ( ниже ), который используется для построения так называемых «защищенных от коллизий» хеш-функций.

что такое хэш md5

Однако безопасность не является всеобщей проверкой, и в 1996 году в алгоритме хеширования MD5 были обнаружены потенциальные недостатки. В то время они не считались смертельными, и MD5 продолжал использоваться. В 2004 году гораздо более серьезная проблема была обнаружена после того, как группа исследователей описала, как сделать так, чтобы два отдельных файла имели одинаковое хеш-значение MD5. Это был первый случай столкновительной атаки на алгоритм хеширования MD5. Атака на столкновение пытается найти два произвольных выхода, которые выдают одно и то же значение хеша — следовательно, конфликт (два файла, существующие с одинаковым значением).

В течение следующих нескольких лет предпринимались попытки найти дальнейшие проблемы с безопасностью в MD5, и в 2008 году другой исследовательской группе удалось использовать метод коллизионной атаки для фальсификации действительности сертификата SSL . Это может заставить пользователей думать, что они смотрят безопасно, а когда нет. Министерство внутренней безопасности США объявило, что: « пользователям следует избегать использования алгоритма MD5 в любом качестве. Как показало предыдущее исследование, его следует считать криптографически взломанным и непригодным для дальнейшего использования ».

MD5 хэш

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

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

Вывод

MD5 является одним из многих различных методов идентификации, защиты и проверки данных. Криптографическое хеширование — это важная глава в истории безопасности и скрытия вещей. Как и многие вещи, разработанные с учетом безопасности, кто-то ушел и сломал его.

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

Всегда нужно было что-то хешировать? Вы проверяете загруженные файлы? Знаете ли вы какие-либо хорошие веб-приложения MD5? Дайте нам знать об этом в комментариях!

Вводное изображение: Shutterstock

Похожие посты
Веб-культура

5 видеообъявлений Microsoft наверняка заставят вас съежиться

Веб-культураСоциальные медиа

5 вещей, которые я узнал об интернет-поведении благодаря моей SEO-работе

Веб-культура

7 веселых практических шутливых идей для игры на компьютере вашего друга [Windows]

Веб-культура

The Young Strike It Big: 5+ удивительных открытий, сделанных детьми и подростками