Вопрос Контрольная сумма MD5 и SHA1 используется для загрузки


Я замечаю, что при загрузке большого количества инструментов с открытым исходным кодом (Eclipse и т. Д.) Есть ссылки для контрольных сумм MD5 и SHA1, и они не знали, что это было или какова их цель.

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

Я закрываю или совершенно неправильно, а если ошибаюсь, то какие они?!?!

Благодаря!


8
2018-01-02 15:06


происхождения




ответы:


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

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

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

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

Некоторые мысли о каналах распространения. Часто бесплатное программное обеспечение можно найти на большом количестве сайтов, и большинство популярных сайтов, таких как SourceForge, например, имеют большое количество зеркал. Предположим, в Barland есть сервер, который отображает большой сайт распространения программного обеспечения. FooSoft использует программу, распространяемую сайтом, и они находятся в Республике Баз, которая находится рядом с Барлендом. Если кто-то захочет проникнуть в FooSoft, он может модифицировать только копию в зеркале Barland и надеяться, что программное обеспечение геолокации будет гарантировать, что FooSoft получит измененные версии. Поскольку версии из других зеркал хороши, вероятность того, что вредоносные программы будут обнаружены, ниже. Вы также можете сделать вредоносное ПО обнаружение IP-адреса компьютера и активировать его только в том случае, если оно находится в определенном диапазоне, и таким образом снижаются шансы на открытие и так далее.


11
2018-01-02 15:10



+1 Он также используется по соображениям безопасности, то есть к зараженным файлам ... - BloodPhilia
@BloodPhilia Действительно. Я просто писал о некоторых соображениях безопасности. - AndrejaKo
Благодаря! Я полагал, что это должно быть что-то по этим причинам, но не могло найти твердого ответа нигде. - Zac
Хороший ответ ;) - BloodPhilia


MD5 и SHA1 - это не только контрольные суммы. Это криптографические контрольные суммы. Это означает, что теоретически два разных файла могут иметь одну и ту же контрольную сумму, но вероятность этого очень мала, почти 0. Как следствие, вы используете обратное: разные контрольные суммы означают, что вы получаете разное содержимое с вероятностью почти 1. Итак криптографические контрольные суммы используются для обнаружения изменений в файлах. Это могут быть вредоносные изменения, сделанные специально или просто ошибки, которые произошли во время загрузки.


1
2018-01-02 17:47