MD5 та SHA1 використовує контрольну суму для завантаження


8

Я зауважую, що під час завантаження багатьох інструментів з відкритим кодом (Eclipse тощо) є посилання на контрольні суми MD5 та SHA1, і не знав, що це, або яка їх мета.

Я знаю, що це алгоритми хешуваннявання, і я розумію хешування, тому я єдино здогадуюсь, що вони використовуються для хешування якогось компонента цілей завантаження та для порівняння їх з "офіційними" хеш-рядками, що зберігаються на сервері. Можливо, таким чином можна визначити, змінили цілі з їх правильної версії (з метою безпеки та інших цілей).

Я близький чи зовсім помиляюся, а якщо не так, то що вони?!?!

Дякую!

Відповіді:


11

Ви майже абсолютно праві. Єдине виправлення полягає в тому, що вони є хешами всього файлу.

Іноді файли можуть бути пошкоджені під час завантаження будь-яким способом їх передачі. Хеші є, щоб переконатися, що файл недоторканий. Особливо це корисно користувачам із поганим підключенням до Інтернету. Ще коли я використовував факс-модем, у мене часто виникали проблеми із пошкодженими завантаженнями.

Деякі менеджери завантажень (наприклад, GetRight, якщо я правильно пам’ятаю), навіть можуть автоматично обчислити хеш файлу і порівняти його з відомим значенням.

Ще один цікавий момент - безпека. Потенційна проблема з інструментами з відкритим кодом - наскільки ви можете довіряти дистриб'ютору. Найчастіше такі програми, як Eclipse, є основним інструментом, який використовують програмні компанії, і тому вкрай важливо перейти від розробника до користувача неушкодженим. Оскільки програми є відкритим кодом, можна, наприклад, зробити заражену версію, яка виглядатиме нормально, але просочити вихідний код на якийсь віддалений сервер або заразити програми, зроблені програмним забезпеченням вірусом (я думаю, що це насправді сталося з деякою версією Delphi) чи щось подібне. З цієї причини важливо мати офіційний правильний хеш, який можна використовувати, щоб перевірити, чи є розповсюджений файл тим, на що претендує.

Деякі думки про канали розповсюдження. Часто безкоштовне програмне забезпечення можна знайти на великій кількості сайтів, а на найбільш популярних сайтах, таких як SourceForge, наприклад, є велика кількість дзеркал. Скажімо, у Barland є сервер, який відображає великий веб-сайт із розповсюдження програмного забезпечення. FooSoft використовує програму, розповсюджувану по сайту, і вони знаходяться в Республіці Баз, яка знаходиться прямо біля Barland Якщо хтось захотів проникнути в FooSoft, він міг би змінити лише копію в дзеркалі Barland і сподіватися, що тоді програмне забезпечення геолокації переконається, що FooSoft отримає модифіковані версії. Оскільки версії інших дзеркал чудові, шанси на виявлення зловмисного програмного забезпечення нижчі. Ви також можете змусити зловмисне програмне забезпечення виявляти IP-адресу комп’ютера та активувати його, лише якщо він є з певного діапазону, і таким чином знижуються шанси на виявлення тощо.


1
+1 Також використовується з міркувань безпеки, тобто заражених файлів ...
Переповнення стека мертве

@BloodPhilia Дійсно. Я просто писав про деякі причини безпеки.
AndrejaKo

Дякую! Я подумав, що це повинно бути щось з цих причин, але не зміг знайти твердої відповіді ніде більше.
Зак

3
Приємна відповідь;)
Переповнення стека мертве

1

MD5 та SHA1 - це не просто контрольні суми. Вони є криптографічними контрольними сумами. Це означає, що теоретично два різні файли можуть мати однакову контрольну суму, але ймовірність цього дуже мала, майже 0. Як наслідок, ви використовуєте зворотний: різні контрольні суми означають, що ви отримуєте різний вміст з вірогідністю майже 1. Отже криптографічні контрольні суми використовуються для виявлення змін у файлах. Це можуть бути зловмисні зміни, зроблені спеціально або просто помилки, що сталися під час завантаження.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.