Изучаем Linux приемы для создания контрольных сумм и проверки целостности данных – Information Security Squad
Изучаем Linux приемы для создания контрольных сумм и проверки целостности данных

Контрольная сумма используется для проверки целостности файла.

Ее можно охарактеризовать как цифровой отпечаток файла.

Проверяя значение Checksum, мы можем определить целостность файла, когда он был перенесен из одного места в другое.

Контрольная сумма представляет собой длинную строку данных, содержащую различные буквы и цифры.

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

Генерирование контрольных сумм Linux

Контрольная сумма генерируется алгоритмом контрольной суммы.

Он генерирует значение контрольной суммы, беря файл в качестве ввода.

MD5 и SHA (Secure Hash Algorithms) – самые популярные алгоритмы, используемые для создания контрольных сумм

Инструменты командной строки для работы с контрольной суммой

Почти все дистрибутивы Linux предоставляют инструменты командной строки для различных алгоритмов контрольной суммы.

Вы можете сгенерировать и проверить контрольную сумму используя их.

Некоторые из стандартных инструментов командной строки, используемые в настоящее время, следующие:

  • MD5 : md5sum
  • SHA-1 : sha1sum
  • SHA-256 : sha256sum
  • SHA-384 : sha384sum
  • SHA-224 : sha224sum
  • SHA-512 : sha512sum

Примеры

Давайте рассмотрим некоторые примеры использования этих инструментов командной строки для создания значений контрольной суммы.

Я создал один из тестовых файлов index.html.

Давайте сгенерируем значение контрольной суммы для этого файла, используя указанные выше средства.

md5sum:

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

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

:~$ cat index.html
<html>
<body>
<center><h1>Welcome to our Checksum Testst</h1></center>

<center><p>{{My Linoxide Server}}</p></center>
<center><p>{{Welcome}}</p></center>
</body>
</html>

$ md5sum index.html
c36f11e50d72d1a090e9ebab382994fa index.html

sha1sum:

SHA-1 (Secure Hash Algorithm 1) – это криптографическая хеш-функция, разработанная Агентством национальной безопасности США.

SHA-1 создает 160-битное (20-байтовое) значение хэша, известное как дайджест сообщения. См. Хэш-значение sha1 для того же файла.

~$ sha1sum index.html
e45d71387b61782e65f766dd11381762d00f9e15 index.html

sha256sum/sha512sum/sha224sum/sha384sum:

SHA-2 – это семейство двух аналогичных хеш-функций с разными размерами блоков, известными как SHA-256 и SHA-512.

Они отличаются размером слова; SHA-256 использует 32-битные слова, тогда как SHA-512 использует 64-битные слова.

Существуют также усеченные версии каждого стандарта, известные как SHA-224, SHA-384, SHA-512/224 и SHA-512/256.

Алгоритм SHA-256 генерирует почти уникальный 256-битный (32 байт) файл фиксированный размер.

Хэш – это односторонняя функция, которую нельзя дешифровать.

Мы можем генерировать значение хэша, используя этот алгоритм SHA-256 для того же файла, используя следующую команду:

~$ sha256sum index.html
b29c03bfe9851088349c170ec27f34a0c7869dfcbdfc2c42cd79fb0315e20eb6 index.html

$ sha512sum index.html
79e538a320e984bb3a0d32312140b37d6ac50bc1127edfd6027990955ef7fef499855d928caec index.html

$ sha224sum index.html
268729b7123abe0bd17fdf64402c27b4afa56be0ac3b869c8028798e index.html

$ sha384sum index.html
d80cb792dcb3ac3a8e4d3e18e47aa56b8318d5d4c28c5cf1b4602375def6d03f38303b76530index.html

Проверка файла с помощью контрольной суммы

Мы уже изучили различные методы генерации значений контрольной суммы.

Теперь мы можем узнать, как проверить правильность файла, используя методы контрольной суммы.

Давайте загрузим файл ISO с веб-сайта.

Как вы можете видеть, будет указано значение контрольной суммы, соответствующее любому файлу.

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

$ wget http://iso.linuxquestions.org/download/37/1819/http/gd.tuwien.ac.at/dsl-4.4.10.iso
-Saving to: ‘dsl-4.4.10.iso’

dsl-4.4.10.iso 100%[==================================================================>] 49.90M 218KB/s in 4m 8s

2017-02-08 21:52:39 (206 KB/s) – ‘dsl-4.4.10.iso’ saved [52328448/52328448]

$ md5sum dsl-4.4.10.iso
5cb7e0d4506c249b78bbe0cd4695b865 dsl-4.4.10.iso

Вы можете подтвердить целостность загруженного ISO, сравнив значение контрольной суммы.

Кажется, оно совпадает ,  что означает, что вы скачали тот файл.

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

И хэш сумма определенно не будет соответствовать контрольной сумме, предоставленной на странице загрузки нашего веб сайта.

 

8 комментария на “Изучаем Linux приемы для создания контрольных сумм и проверки целостности данных

  1. Подскажите,пытаюсь скачать сборку Linux SolydX и с офсайта и с других источников:контрольные суммы ISO-образа всегда не совпадают!Скачивал несколько раз и по Wi-Fi и по кабелю(соединение стабильное,скорость хорошая)-результат один и тот же.В чём тут дело и стоит ли устанавливать?Скачиваю в windows7.Iso-образ проверяю программой HashTab

      1. Это прога из под Windows,встраивается прямо в Проводник и в св-вах любого файла появляется вкладка Хэш-сумма файла и можно сразу сравнивать с исходной контр.суммой!
        Алгоритмов там море(наверное,все известные).Меня интересовал только SHA-256

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *