Я хотел скачать определенный дистрибутив Linux. Однако он использует только битторент для загрузки. Я не увлекаюсь битторентом. Однако, если я его использую, если загруженный мной MD5 совпадает с MD5 на сайте дистрибутива, означает ли это, что файл не был подделан? Что он в точности совпадает с тем, что есть у провайдера, и, если исходный текст "безопасен", загруженный торрент-файл также?
3 ответа
Если загруженный мной MD5 совпадает с MD5 на сайте дистрибутива, значит ли это, что файл не был подделан?
Вероятно, не был подделан. У MD5 есть известные атаки на него, поэтому он не так хорош, как что-то вроде SHA-1. Для чего-то вроде проверки правильности файла, MD5 в порядке.
Где MD5 вроде не в порядке, если вы используете в качестве сохраненных хэшей паролей. Веб-сайты и тому подобное обычно не хотят хранить ваш пароль, а только его хеш-код, а затем сравнивают введенный вами пароль для входа с хеш-кодом. Таким образом, они не знают ваш пароль. Однако, если хакер получит список учетных записей с этими хэшами, он может сгенерировать пароль, который при передаче через MD5 генерирует тот же хеш (это называется коллизией хешей). На самом деле я не уверен, как это работает, просто то, что это с хэш-коллизиями MD5 возможно и проще, чем в прошлом.
Bittorrent использует SHA-1, чтобы "знать", какой файл он загружает, и хороши ли части, которыми торгуют одноранговые узлы. Поэтому маловероятно, что вредоносный одноранговый узел может ввести плохие данные в рой - даже если один из них знает, как взломать SHA-1, большинству других одноранговых узлов также придется сотрудничать. Вы можете быть относительно уверены, что никто из роя Bittorrent не сможет испортить загрузку, если у вас есть правильный файл .torrent
и он не был злонамеренно изменен, чтобы указывать на другой трекер или хэши в нем.
Да, это, вероятно, хорошо.
Я часто использую md5 в своей повседневной работе сисадмина, поэтому я провел много исследований по вопросам безопасности. Нашел несколько хороших ссылок на него, а также суммировал проблемы безопасности и использования хэшей в блоге
Суть этого: три основные вещи для рассмотрения:
1) Два разных файла могут иметь одинаковый хэш. В своих выводах оба файла должны быть созданы злоумышленником, то есть создателем файлов.
2) Также хэш не может быть целью. Вы не можете найти хеш, а затем спроектировать файл, соответствующий этому хешу. Вместо этого создатель должен создать два разных файла с одинаковыми хешами, а сами фактические хеш-значения не могут быть "выбраны" заранее
3) Наконец, существует конечное количество хэшей, и, таким образом, по чистой глупости, возможно, два случайных файла будут иметь один и тот же хеш (так называемый "столкновение") Одна из сильных сторон хорошего алгоритма хеширования - избегать коллизий.
Принимая во внимание вышесказанное: если вы используете хеш от поставщика, вы знаете, что это фактический хеш, который вы можете проверить с большим процентом доверия.
Вот несколько ссылок для вас:
Фантастическая статья о безопасности хеширования прямо здесь: http://blog.codinghorror.com/speed-hashing/
Очень глубокая статья об уязвимости безопасности хэширования (и даже показывает пример создания двух разных файлов с одинаковыми хешами)http://www.win.tue.nl/hashclash/SoftIntCodeSign/
Моя собственная коллекция информации о безопасности и использовании хэша http://geekswing.com/geek/the-magic-of-hash-and-i-mean-of-the-md5-and-sha-1-vintage/
Скорее всего, ОК. MD5 теперь не является более безопасным алгоритмом - намного лучше, чем CRC, но слабее, чем SHA1, Ripemd и SHA256, - но нахождение коллизий хеша MD5 является довольно сложным делом, что-то, что может позволить себе только конкретная организация для конкретной атаки, и в отличие от случиться на случайном потоке без всякой хорошей цели.