Puzzle v1.3 Plugin for Total Commander e-mail: Данная программа относится к разряду free. Вы можете дизассемблировать программу, однако изменения вносить не разрешается. Надеемся на то, что программа будет полезна. Несмотря на пройденное тестирование, работоспособность на 100% не гарантируется. Программа проектировалась под NT/W2K/XP. 1. Введение ----------- Назначение плагина - защита от просмотра файлов и папок вне Вашего компьютера путем шифрования. Сжатие как дополнительная возможность. Никаких паролей с клавиатуры пользователь не вводит. Ключом для шифрования и дешифрования является файл-ключ произвольного размера и наполнения. Процедура создания или задания файла-ключа выполняется один раз для каждого заданного Вами расширения. В процессе работы обращение к файлу-ключу и выбор сеансового ключа происходят для пользователя незаметно и создают иллюзию простого архивирования. Для простоты понимания отличий работы программы от классического варианта проведем аналогию. Все знают, что пароль-это какая-то комбинация символов. Представим, что файл-ключ - это книга с большим количеством букв. Открывая книгу(файл-ключ) наугад и тыкая пальцем в текст страницы, мы укажем на какой-то символ. Этот символ и несколько следующих и будут паролем(сеансовым ключом) для отдельного сеанса архивирования. При следующем сеансе мы вероятно выберем другие символы(другой сеансовый ключ). Таким образом планируется, что каждый раз при создании архива сеансовый ключ будет меняться, что должно затруднить его подбор криптоаналитиком. Нужно заметить, что файл-ключ не обязан быть текстовым, а скорее наоборот - должен быть хаотичным бинарным. 2. Особенности -------------- - ПАРОЛЬ ПРИДУМЫВАТЬ НЕ НУЖНО - ПАРОЛЬ ЗАПОМИНАТЬ НЕ НУЖНО - ПАРОЛЬ С КЛАВИАТУРЫ ВВОДИТЬ НЕ НУЖНО - Криптоалгоритм AES128(Advanced Encryption Standard) - Ключ берется автоматически из файла-ключа, который задаете ВЫ - Имеется встроенный генератор для формирования файлов-ключей - Файл-ключ может иметь размер от 1 до 2^29 байт - Архив и файлы его составляющие могут иметь размер до 4G (2^32) - Плагин выполняет извлечение, добавление,тестирование и удаление файлов из архива - Файлы в архиве защищены CRC-кодом - Дата и время создания архива умышленно искажаются - Скрывается не только содержимое файлов, но и их имена, дата создания и т.д. - Файлов-ключей может быть несколько(по одному для каждого расширения) V1.3 + - При генерировании файла-ключа к нему добавляется CRC-комбинация для целей диагностики - Можно управлять поведением LZW-компрессора - Количество символов в имени файла-ключа может быть до 8 3. Как установить ----------------- a) Разархивируйте Puzzle.wcx в любое удобное место на диске, например в папку с другими архиваторными плагинами - C:\Program Files\Total Commander\Plugins\wcx\Puzzle\Puzzle.wcx. б) Придумайте расширение для Ваших архивов(ABB-как пример). в) Подключаем плагин как обычный архиватор. Для этого в диалоге "Настройка архиваторных плагинов" в поле редактирования расширений забиваем наше ("ABB"). Через кнопку "Обзор" ищем наш Puzzle.wcx, затем жмем "OK" г) Создаем файл-ключ. Для вызова функции генерации ключа мы должны попасть в диалог плагина Puzzle.wcx. Для этого выбираем любой файл или папку на панели TC, затем нажимаем Alt-F5. Вы увидите диалог "Упаковка файлов", в котором нас интересует выпадающий список внешних архиваторов. Выберите свой(ABB) и нажмите "Настройка". Появится диалоговое окно плагина, в котором выберите вкладку "MakeKey". Пункт "1" - заполняем поле редактирования символами нашего расширения(ABB). Кнопка "2" - выбор любого файла как источника случайной информации. Рекомендую выбирать архивные файлы, так как они наиболее близки к "белому шуму". Если ошибок в процессе создания ключа не возникло, то Вы увидите "MessageBox" с путем к файлу-ключу. д) Плагин к работе готов. Дополнительные опции описаны в пункте 5. е) Если Вы планируете обмениваться шифроваными архивами с кем-либо, то Вы должны передать ему копию Вашего файла-ключа(ABB.key-в нашем примере) посредством дискеты, CD\DVD-диска, либо Flash-диска. Ваш корреспондент выполняет пункты а) и в) для того-же расширения (ABB). Вместо пункта г) он просто копирует ваш файл-ключ в папку с плагином Puzzle.wcx. Теперь Вы можете обмениваться собщениями через сеть, например. ж) В качестве файла-ключа вы можете взять любой файл, тогда в этом случае в процессе установки пункт г) заменяется на простое копирование с переименованием Вашего файла-ключа в папку с плагином Puzzle.wcx. 4.Дополнительная информация --------------------------- Удаление или добавление файлов из\в архив(а) изменяет временную отметку создания файла-архива, а также выполняется перешифрование всего архива с новым сеансовым ключом. Сеансовый ключ выбирается из файла-ключа по случайному закону. Случайность используется и при сдвиге временной отметки назад в пределах приблизительно полгода. Режим шифрования CFB(обратная связь по шифротексту). Вектор начальной инициализации(синхропосылка) берется также из файла-ключа и имеет длину 128 бит. Данная реализация является приближением к одноразовым ключам, когда при каждом новом сеансе выбирается новый сеансовый ключ. От размера файла-ключа зависит вероятность повторения конкретного сеансового ключа. Встроенный генератор файлов-ключей выдает результат размером не более 4096(1000h) байт. Это значение выбрано из соображения более полного использования кластера в системе NTFS. 5.Отличия от версии 1.2 ----------------------- Архивы, созданные предыдущими версиями, совместимы с данной версией плагина. Как уже было упомянуто в "Особенностях", встроенная функция генерирования ключей теперь добавляет контрольную информацию к файлу-ключу в виде CRC32. Вкладка "Keys" будет информировать пользователя зеленой галочкой об удачной проверке контрольной суммы файла-ключа. Знак вопроса красного цвета появится около имени файла-ключа, созданного предыдущими версиями плагина, сгенерированного иным способом или поврежденного. На этой же вкладке выводится информация о размере ключа и его расположении. Под атрибутом 'External' понимается расположение ключа вне тела самого плагина. Внутри плагина расположен файл-ключ с расширением 'SAS' для демонстрационных целей. Не беда, если у Вас уже занято это расширение, так как внешние файлы-ключи более приоритетны. Добавлены опции для управления поведением компрессора. Вы можете его отключить для ускорения процесса в случаях, когда шифруемые файлы заархивированы (jpg,avi,rar,...). Файлы большого размера в большинстве случаев уже сжаты, поэтому пользователь может задать порог размера файла, выше которого плагин не будет пытаться сжимать, а перейдет сразу к шифрованию. Предыдущие версии используют вариант 'Сжимать всегда', что является значением по умолчанию. После внесения изменений в настройки, они будут запомнены в файле 'Puzzle.ini'. 6.Важно! -------------- Криптоалгоритм RIJNDAEL(AES) относится к симметричным криптосистемам, для которых существенным недостатком является проблема распределения ключей. Отсюда следует, что передавать файл-ключ в открытом виде через сеть нельзя! Этот плагин проблему безопасной передачи ключа через сеть не решает, поэтому Уважаемый Пользователь - будь внимателен! Файлы-ключи не имеют привязки к конкретному компьютеру по двум причинам: 1. Это усложняет процедуру распределения\установки ключей и требует от пользователя определенной квалификации 2. Привязка решает проблему воровства ключей лишь на определенный промежуток времени и не дает 100% гарантию защиты, поэтому задача ограничения доступа к компьютеру посторонних лиц и(или) вредоносного ПО возлагается на пользователя!!! При потере файла-ключа прочитать содержимое архива практически невозможно, поэтому храните копии файлов-ключей и программного продукта на съемных носителях от разных производителей как минимум в двух экземплярах. (C) 2007-2009 BACRSOFT