Главная

Thursday, 14 January 2021

Скрытие имен файлов в архивах.

Всем привет.

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

Т.е. если вам необходимо просто передать ряд файлов особо их не сжимая (места на диске хватает, а времени мало), то выбираете "Без сжатия" и установку пароля на весь архив. Отлично, при этом имена файлов можно будет увидеть без ввода пароля, а вот извлечь какой либо из них только введя ваш пароль. 

Если вы пожелаете скрыть даже имена файлов например от антивируса, которые сейчас любят лазить по архивам, то вам следует выбрать соответствующую опцию "Шифровать имена файлов." При этом пароль на имена файлов и сами файлы будет один и тот же. Но следует учесть, что такая опция поддерживается только для форматов 7z и Rar соответственно. Zip этого не поддерживает.

Архивация:

%COMSPEC% /c 7z.exe a -mhe=on -p123456 Pix.7z *.jpg > nul

Извлечение:

%COMSPEC% /c 7z.exe x -y -p123456 Pix.7z оtvеt.jpg > nul

Следует заметить, что WinRAR шифрует прямой поток вместе с контрольной суммой, а не каждый файл и имя файла раздельно как 7-zip. Таким образом можно попробовать расшифровать только имя файла, а это гораздо проще и быстрее чем весь архив. Плюс ко всему для создания ключа AES-256 4000 символов (допустимый максимум) сильно избыточно, даже если 7-zip использует их все для создания ключа, то получается что можно подобрать другой пароль из которого получится точно такой же ключ AES-256. Следовательно для 7-zip можно подобрать несколько паролей которые подойдут для архива 7z, и подобрать их можно гораздо быстрее чем пароль к WinRAR, т.к. в 7-zip нет шифрования непрерывного потока. Поэтому используйте WinRAR если действительно заботитесь о безопасности. Таким образом шифрование имен файлов в 7-zip понижает защищенность архива в целом.

Идем дальше. Эти же форматы поддерживают шифрование файлов с РАЗНЫМИ паролями, т.е. для каждого файла свой пароль. Это может быть полезно, если вы передаете один архив группе лиц в котором для каждого человека предназначены различные файлы.

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

Так ли это было необходимо? Меня попросили проверить один простой фокус - существует ли возможность извлекать их архива один и тот же файл с РАЗНЫМ содержимым в зависимости от введеного пароля. Как вы понимаете при этом такой архив содержит несколько файлов которые похожи именами на 99%. Но спрятать эти имена из перечня, увы, не выйдет.

Удачи.






No comments:

Post a Comment

А что вы думаете по этому поводу?