Saturday, November 9, 2013

Проверка целостности файлов - Теоритическая часть.

Проверка целостности файлов


Теоретическое вступление на тему проверки целостности файлов

Целостность информации (также целостность данных) — термин в информатике и теории телекоммуникаций, который означает, что данные полны, условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача, хранение или представление.

В основном нарушения целостности можно разделить на:
1. Неумышленное.
2. Умышленное.

Неумышленные искажения могут возникать в результате сбоев при передаче данных в Информационных Системах.
Такие искажения могут возникать периодически при передаче данных по сети или записи их на устройства хранения.
Практически всегда с такого рода ошибками справляются устройства которые участвуют в процессе обмена данных: маршрутизаторы, сетевые адаптеры, жёсткие диски т.д.
И всё же возникают случаи когда у вас может оказаться искажённая или неработоспособная копия информации(файла).

Умышленные искажения вогут возникать в результате умышленного действия третьей стороны с какой-либо целью и могут быть рассмотрены как разновидность аттаки "Человек посередине".

Для проверки целостности данных на данный момент чаще всего используют электронные цифровые подписи и значения хэш-функций различных алгоритмов хэширования, таких как MD5, SHA1, SHA2 и других.

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

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

Например мы скачиваем установочный образ операционной системы Debian(debian-7.2.0-amd64-netinst.iso). Далее мы получаем значение хэш-функции MD5 от скаченного файла и сравниваем его с соответсвующим значением на официальном сайте Debian - MD5SUM. Там же выложены значения и других хэш-функций: SHA1SUMS, SHA256SUMS, SHA512SUMS и мы можем использовать и их для проверки.
Совпадение значений хэш-функций говорит о том, что у нас точная копия файла который находится на сервере.

Таким же образом можно проверять целостность любых других электронных материалов, например книг, музыки, видео и прочих.


В очень известном сетевом протоколе BitTorrent хэш-функция SHA1 используется для проверки сегментов скачиваемых данных. 



Использованные материалы:

Целостность информации
Контрольная сумма
Хеширование
MD5
SHA-1
SHA-2
Электронная цифровая подпись
PGP
Электронная цифровая подпись для чайников: с чем ее есть, и как не подавиться. Часть 1
Электронная подпись для чайников: с чем ее есть и как не подавиться. Часть 2
Электронная цифровая подпись для чайников: с чем ее есть и как не подавиться. Часть 3
ЗАЩИТА ИНФОРМАЦИИ ПРИ КОДИРОВАНИИ И ПЕРЕДАЧЕ ДАННЫХ
BitTorrent