Соответствует ли MD5 между торрент-файлом и исходным файлом поставщика, означает ли это, что торрент-файл безопасен?

3352
johnny

Я хотел скачать определенный дистрибутив Linux. Однако он использует только битторент для загрузки. Я не увлекаюсь битторентом. Однако, если я его использую, если загруженный мной MD5 совпадает с MD5 на сайте дистрибутива, означает ли это, что файл не был подделан? Что он в точности совпадает с тем, что есть у провайдера, и, если исходный текст "безопасен", загруженный торрент-файл также?

3
существует очень высокая вероятность того, что файл будет в точности таким, каким он был при публикации. Кроме этого, никто не может сказать, с таким же сломанным алгоритмом хеширования, как MD5 в наши дни. Маловероятно, что какой-либо одноранговый узел мог внедрить данные таким образом, чтобы общий хэш был идентичен, но что данные отличаются (было бы почти невозможно найти коллизию, которая бы это делала). Помимо безопасности, я бы предположил, что загруженная версия соответствует оригиналу. Я также хотел бы отметить, что Bittorrent не плохая вещь. некоторые плохие файлы распространяются таким образом, но .... Frank Thomas 9 лет назад 3
В пределах разумного: да, это было бы безопасно. MD5 не на 100%, поэтому использование SHA-1 или что-то более современное было бы лучше, но было бы очень трудно изменить iso таким образом, что вы могли бы сделать его небезопасным. 2) Как придира: просто проверка MD5 не означает, что это безопасно. Я могу создать вирус, торрентить его и вам правильные контрольные суммы. ;) Hennes 9 лет назад 2

3 ответа на вопрос

6
LawrenceC

Если загруженный мной MD5 совпадает с MD5 на сайте дистрибутива, значит ли это, что файл не был подделан?

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

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

Bittorrent использует SHA-1, чтобы «знать», какой файл он загружает, и хороши ли части, которыми торгуют одноранговые узлы. Поэтому маловероятно, что вредоносный одноранговый узел может ввести плохие данные в рой - даже если один из них знает, как взломать SHA-1, большинству других одноранговых узлов также придется сотрудничать. Вы можете быть относительно уверены, что никто из роя Bittorrent не сможет испортить загрузку, если у вас есть правильный .torrentфайл, и он не был злонамеренно изменен, чтобы указывать на другой трекер или хэши в нем.

У меня сложилось впечатление, что MD5 считается безопасным для защиты от поврежденных файлов, но не от файлов, которые были намеренно подделаны. Ajedi32 9 лет назад 3
Лучше всего предпочесть SHA-1 или лучше. LawrenceC 9 лет назад 0
Должны ли другие коллеги сотрудничать? Я не уверен, но я полагаю, что вы не загружаете конкретный * блок * с нескольких пиров, вы запрашиваете несколько полных блоков у каждого пира (хотя возникают проблемы при проверке этого). Торрент-протокол не включает в себя хэш всего файла, только хэши отдельных блоков и потенциально хэши этих хэшей. Если злоумышленник каким-то образом сломал SHA-1 (что было бы исключительным подвигом), он мог отправлять подделанные блоки в течение всего дня, и никто не обращал на это внимания и не жаловался. Alexis Beingessner 9 лет назад 1
Это правда, я посмотрел на него, и у файла .torrent нет хеша всего файла. Так что да, я полагаю, что сверстники не должны сотрудничать, если они нарушили SHA-1. Не знаю, почему я думал, что у него есть хэш всего файла. Я думаю, что это должно ... Хотя я не знаю, хэширование чего-то вроде 100 Гбайт данных займет слишком много времени. LawrenceC 9 лет назад 0
Я тоже был удивлен. Я думал, что на самом деле существует целое дерево хешей от отдельных блоков до целого файла, но оказывается, что если есть какое-то дерево, это просто дерево меркла, которое является просто хешами хешей. Я также думал, что магнитные ссылки используют весь хеш файла в качестве URI, но оказывается, что это просто еще один хеш хеша соответствующего торрента. Я разочарован, я думал, что у торрентов есть более надежная контрольная сумма, которая потребует создания целой иерархии коллизий хешей - что невозможно даже для MD5. Это «только» так же безопасно, как SHA-1. Alexis Beingessner 9 лет назад 0
«Столкновения не являются проблемой для хеширования паролей», см. [Этот пост] (http://security.stackexchange.com/a/31846) (особенно раздел, озаглавленный «Столкновения и MD5»). ComFreek 9 лет назад 0
Может быть, я думаю о радужных столах. LawrenceC 9 лет назад 0
2
ben

Да, это, вероятно, хорошо.

Я часто использую 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/

0
Dice9

Скорее всего, ОК. MD5 теперь не является более безопасным алгоритмом - намного лучше, чем CRC, но слабее, чем SHA1, Ripemd и SHA256, - ​​но нахождение коллизий хеша MD5 является довольно сложным делом, что-то, что может позволить себе только конкретная организация для конкретной атаки, и в отличие от случиться на случайном потоке без всякой хорошей цели.

Похожие вопросы