Об использовании алгоритма MD5 для проверки целостности данных
Как сообщает WhatIs.COM {внешняя ссылка}, MD5 это алгоритм, разработанный профессором Рональдом Л. Ривестом из MIT, который используется для проверки целостности данных методом вычисления 128-битной текстовой строки из входных данных. Входными данными может быть, например, файл. Считается, что эта 128-битная строка уникальным образом характеризует входные данные, как, например, отпечатки пальцев характеризуют определенного человека. Здесь понятие “целостность данных” в терминах безопасности сети и данных означает гарантию того, что данные не были изменены неавторизированным способом. Существует специальная программа, MD5SUM.EXE, которая вычисляет такие 128-битные строки, “дайдджесты”, которую можно взять здесь с TheOpenCD project {внешняя ссылка, 48kB} или здесь {локальная ссылка, 48kB}. Эту программу следует разместить в системных директориях (или папках, если угодно); обычно это c:\windows\command для Win95/98/ME или c:\winnt\system32 для NT/2K/XP. Или ее следует уложить туда, на что настроена системная переменная $PATH: “Мой компьютер” на “Рабочем столе”, клик паровой мышкой, “Свойства” - “Дополнительно” - “Переменные среды”. Вообще эту программу можно разместить где угодно, только тогда нужно будет ее запускать именно из того места, где она располгаеется, или с указанием полного пути до нее, типа d:\somedir\another\md5sum.exe.
Известно, что у большинства ДОС-програм существует ключ /? , который обычно выводит на консоль короткую помощь по использованию исследуемой програмы. Это не наш случай. Утилита MD5SUM.EXE происходит от GNU утилит, которые, в основном, предназначены для работы в среде UNIX. Некотoрые из таких утилит, как и MD5SUM.EXE, были переведены, портированы, для работы и в среде Windows, но уналедовали все свойства UNIX консольных приложений. Как у программы из ДОС’а наверняка есть ключ /? , так у программы из UNIX’a должен быть/может быть ключ –help, или –version, или -h, или, -v. На самом деле, если мне когда встречается какое-то неизвестное консольное приложение, я всегда сразу начинаю его запускать, перебирая такие ключи - там разберемся что это такое. Хотя это и не совсем правильно - всегда надо думать, прежде чем запускаем что-либо.
D:TMPmd5sum –helpUsage: md5sum.exe [OPTION] [FILE]… or: md5sum.exe [OPTION] –check [FILE] Print or check MD5 checksums. With no FILE, or when FILE is -, read standard input.-b, –binary read files in binary mode -c, –check check MD5 sums against given list The following two options are useful only when verifying checksums: –status don’t output anything, status code shows success -w, –warn warn about improperly formated MD5 checksum lines –help display this help and exit –version output version information and exit The sums are computed as described in RFC 1321. When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating type (`*’ for binary, ` ‘ for text), and name for each FILE. WARNING: You are using a specially adapted copy of md5sum. This version has been modified as follows: 1) Only ever use binary mode 2) Be more liberal about line endings in files used by –check 3) Built-in Win32 file wildcard matching (globbing) This version was compiled by bruce@gridpoint.com for the People for a Clearer Phish. Source code changes are available from Bruce upon request. Report bugs to bruce@gridpoint.com D:TMPmd5sum –help md5sum (PCP patchlevel 2) (GNU textutils) 1.22 |
|
Использование: – сделать “дайджест”, рассчитать md5 сумму: |
D:pathmd5sum *txt452babcf828a4dbd23c4f48b611fb2fa *file1.txt 0a78814b3a21b8ed84025ca2cd5df619 *file2.txt 9ee3f5af729a9c8b5e70741b5ffb2a82 *file3.txt |
| – рассчитать “дайджест” и поместить его в файл, скажем, digest.md5. |
D:pathmd5sum *txt > digest.md5 |
| – проверить тот же набор файлов в сравнении со старым “дайджестом” из digest.md5 в предположении, что file2.txt был специально изменен вручную перед проверкой. |
D:pathmd5sum *txt –check digest.md5file1.txt: OK file2.txt: FAILED file3.txt: OK md5sum: WARNING: 1 of 3 computed checksums did NOT match |
|
Такие md5 суммы рассчитывают для образов дисков/дискет, для файлов. Особенно когда речь идет о дистрибутивах, распространяющихся по публичным сетям. Сначала перекачивают собственно файл, потом сравнивают значение md5 суммы перекаченного файла с оригиналом. Если значения не сходятся, то тогда наверное следует пробовать перекачивать файл еще раз или задумываться вообще о дальнейшем его использовании. Вообще не следует хранить в одном месте сам файл и его md5 сумму - атакующий может поменять не только содержимое дистрибутива, но и само значение суммы. Расчетам md5 суммы можно найти неожиданное применение. Если вы лично сархивировали и зашифровали некие данные, возьмите с них еще и md5 сумму. В дальнейшем , если будет необходимо проверить целостность шифрованного архива, а делиться ключами и методами шифрования не позволяет политика безопасности, тогда задачу решит любой другой сотрудник, просто сравнивая md5 суммы. |
@ Category Tech
Previous Post |
Next Post |