FineCrypt - надежный шифровальщик

Автор: Юрий Сухов
Дата: 05.05.2003
Все фото статьи

Введение


Каждый из миллионов документов, циркулирующих в глобальной и локальных сетях, при некоторых обстоятельствах может стать доступным постороннему лицу. Чтобы при этом ему не стало доступным содержание документа, последний должен быть защищен. В книге "Секреты Internet" все степени защиты разделены на пять уровней в зависимости от групп посторонних лиц, для которых данная защита вполне достаточна.

Вот как выглядят эти группы:

Группа 1
Просто любопытствующие, не имеющие особых навыков.

Группа 2
Небольшие группы, имеющие некоторую теоретическую подготовку и практический опыт работы с широкодоступным криптографическим программным обеспечением.

Группа 3
Организованные группы и небольшие организации, имеющие исчерпывающую теоретическую подготовку по широко распространенным несекретным криптографическим технологиям и значительные вычислительные ресурсы.

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

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

Собственно защита осуществляется либо паролем, либо шифрованием с ключами. Современные компьютеры позволяют реализовывать настолько сложные алгоритмы шифрования, что на расшифровку документов, например, средствами и силами ЦРУ может понадобиться несколько лет. Программа FineCrypt предоставляет нам возможность защитить наши документы именно таким образом, если это необходимо.

Описание программы


Программа устанавливается на компьютер при помощи встроенного мастера без всяких проблем.


После завершения установки и перезагрузки компьютера в контекстном меню файла появились две новые составные опции


Первая раскрывается как:

Шифруйте с паролем
Шифруйте с ключом
Добавьте к FineCrypt Экстрактору
Дешифровать
Стереть

А вторая предлагает...


быстро зашифровать папку.

Для тестирования я сделал папку с 4 файлами doc2 и воспользовался второй опцией. Было запрошено, куда спрятать ключи? Я указал диск А:, после чего был создан файл doc2.fca, содержащий зашифрованный образ папки doc2. Файл открывается программой FineCrypt, при этом запрашивается, где искать ключ и затем выдается окно...


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

Приведенный пример показывает, что программой можно воспользоваться прямо сходу, не вникая в подробности. Но при первом запуске программы или по команде Help\Quick Start предлагается памятка из 10 шагов, в которых последовательно излагаются возможности и правила использования. Что же, защита информации - дело вполне серьезное, и требует соответствующего серьезного подхода.

Десять шагов пользователя



Выбор объекта для защиты


Предлагается 3 способа выбора объекта:

В Проводнике Windows с использованием контекстного меню

Перетаскиванием объекта на значок программы, расположенный на рабочем столе

В собственном Проводнике программы FineCrypt, где доступны все возможности программы через панель инструментов и меню.


Шифрование


Поддерживаются 2 способа шифрования:

с переносом объекта( папка, файл) в зашифрованный архив,
с созданием для каждого объекта отдельного шифрованного файла.

Нужный вариант выбирается в опциях.

Два способа шифрования


Отмечается, что шифрование может быть выполнено двумя способами:

Шифрование с паролем. При этом текст сжимается, исчезают слова и строки, текст становится нечитемым и может быть восстановлен при введении правильного пароля. Для защиты от неспециалистов по дешифровке этот способ - вполне достаточен.

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

FineCrypt Communicator


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

При запуске этой программы по команде Tools\Communicator вас будет сопровождать мастер и руководить вашими действиями вплоть до генерации и отправке ключей по почте.

Менеджер ключей


Ведет учет месторасположения шифрованных файлов и ключей для сокращения времени на их поиск. Ключи рекомендуется сохранять на съемной дискете, в этом случае, забрав дискету с собой, вы сделаете шифрованные файлы нераскрываемыми. Менеджер может быть открыт отдельно с инструментальной панели. Он имеет следующий вид:


Ключ для сессии


Для ускорения работы можно заблаговременно задать пароль или сгенерировать ключ для шифрования и определить время их действия. Все это делается на вкладке Tools\Settings\Session. Вид этой вкладки для режима генерации ключа показан на скриншоте:


Отметим, что здесь надо выбрать размер ключа и указать папку для его сохранения. Можно файлу ключа дать осмысленное имя, например, blow20.fck, где указан алгоритм и размер ключа, а также принятое для ключей расширение.
Можно использовать уже имеющийся ключ, указав на конкретный файл ключа (в команде Read).

Быстрое шифрование


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

Саморасшифровывающиеся файлы


Это очень похоже на самораспаковывающиеся архивы с паролем. Здесь файл формата ЕХЕ создается по команде Add to FineCcrypt Extractor из контекстного меню. При этом открывается вкладка...


...на которой задаются пароль, имя выходного файла, его иконка (из предлагаемого набора). При распаковке такого файла запрашиваются пароль и папка назначения.

Менеджер шифрованных файлов ArcViewer


Менеджер позволяет работать с зашифрованными данными почти так же, как с нешифрованными. Делается это так. Файл расшифровывается во временную папку, и его можно смотреть и редактировать. По окончании работ, с вашего разрешения шифрованный файл будет модифицирован, а расшифрованный во временной папке - будет уничтожен. Процесс шифрования сопровождается сжатием документов, причем степень сжатия - порядка трети от первоначального размера.
Наверное, поэтому разработчик называет шифровки - шифрованными архивами. Сама процедура шифрования также сильно напоминает работу архиватора, кстати, и скорость шифрования часто совпадает со скоростью работы архиватора WinZip.

Проводник FineCrypt


Этот Проводник имеет значительно больше возможностей, чем Проводник Windows. Есть фильтрация файлов для отображения, закладки для быстрого поиска, сравнение папок, размеры папок, статистический анализ файлов. Последний показывает частоту в файле разных байт и соответствующим им знакам ASCII. Более подробный вид Проводника показан на картинке:


Последнее напутствие перед началом работы

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

В частности:

Не шифруется более 5 файлов в один архив-шифровку (в полном варианте количество объектов почти не ограничено - до 150 000 файлов).

Не шифруются и не обрабатываются архивные файлы ZIP, ARC, CAB, ARJ, TAR, GZ (полный вариант - шифрует, и выполняет все операции с этими файлами).

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

В полной версии возможна фильтрация файлов при просмотре и при шифровании.

В полной версии возможно добавление файлов в существующий архив-шифровку.

Прочее, по мелочи.

Как видите, нам рекомендуется загрузить и установить полный вариант программы FineCrypt и зарегистрироваться. Стоимость регистрации, кстати, составляет $49.95.

Настройки программы FineCrypt


Доступ к настройкам открывается по команде Tools\Settings. Окно настройки...


...содержит 7 вкладок:

Quick Encrypt,
Session,
Interface,
Algoritms,
Encryption,
General,
Paths.

Начнем с Алгоритмов...

Алгоритмы и режимы шифрования


Как видно на приведённом выше скриншоте, предлагается на выбор 10 алгоритмов и 4 режима шифрования. Спрашивается, зачем так много и как же выбирать?

Алгоритмы различаются между собой математической формулой преобразования нешифрованного сообщения в шифрованное, и способом ее реализации. Даже случайный выбор алгоритма затрудняет жизнь взломщику шифра, он будет вынужден перепробовать все известные алгоритмы, чтобы напасть на след.
Алгоритмы относятся к классу симметричных, когда для шифровки и расшифровки используется один и тот же ключ. Эти алгоритмы работают значительно быстрее, чем ассиметричные (с двумя ключами), но возникают проблемы при передаче ключей потребителям шифрованной продукции. Исключение составляет алгоритм RC-6, кандидат в американский стандарт безопасности, который с размером ключа 255 бит при помощи программы FineCrypt Communicator генерирует и может использовать два ключа: открытый - для шифрования, и закрытый для - дешифровки.

При осмысленном выборе нужно исходить из того, что алгоритмы имеют разные возможности по выбору размера ключей. Чем больше размер, тем недоступней шифр и, наверное, тем меньше быстродействие. Последнее логическое заключение желательно проверить тестированием. Некоторые алгоритмы имеют достаточную известность среди специалистов по криптографии. Так, например, хорошую репутацию имеют алгоритмы BlowFish, GOST, TripleDES, которые обеспечивают защиту уровня 3,4 по приведенной в начале данного материала спецификации.

Алгоритм AES, прежнее название Roijdael, сейчас имеет статус американского стандарта, а ближайшие претенденты образуют следующий ряд: AES, MARS, RC-6, Serpent, Twofish. Интересно заметить, что алгоритм GOST является собственностью Советского правительства. Другие алгоритмы из тех, что предлагает FineCrypt, также проходили конкурсное тестирование в лабораториях AES (американский стандарт) и заняли места в десятке лучших.

Быстродействие может иметь большое значение, когда вы работаете, например, на полностью зашифрованном винчестере. Размер ключа задается на вкладке Session и может изменятся в некоторых пределах, которые для бесплатного варианта показаны ниже, а по документации могут составлять для алгоритма AES - не более 256 бит, MARS - 448 бит, RC-6 - не более 2040 бит и так далее. Возможные размеры ключа для каждого алгоритма отображаются на вкладке настройки. Соблюдая баланс между надежностью защиты и удобством работы, выбирайте подходящий алгоритм и размер ключа.

С режимами - несколько сложнее. Первые два, ECB, CBC - различаются тем, что в первом случае двум одинаковым нешифрованным блокам соответствуют два одинаковых шифрованных блока, во втором случае идентичность шифрованных блоков намеренно нарушается. Два других режима OFB,CFB различаются тем, что при первом ошибка в один байт делает расшифровку последующего содержания невозможным, а при втором - такая ошибка не совсем фатальна. Поэтому я бы выбрал режим Cipher Freedback (CFB), что и отражено на картинке.

Посмотрим еще одну вкладку:


На этой вкладке задаются папки для хранения ключей. Отметим, что кроме текущих ключей (папка А:) имеются уже два готовых ключа privkeys.fsk, pubkeys.fpk, которые были созданы при установке программы и предназначаются, очевидно, для защиты текущих ключей при пересылке.

Другие настройки не столь интересны, но сильно влияют на удобство работы с программой. Нужно не забыть:

Указать папки для ключей, шифрованных файлов и расшифрованных объектов.
Указать, нужно ли уничтожать оригиналы зашифрованных объектов.
Как генерировать имена шифрованных файлов, какую ставить дату?
Сжимать ли файл до шифрования?
Прочие, менее существенные вещи.

Тестирование программы


Тестирование проводилось на компьютере с системой Windows 98, процессором с CPU Pentium MMX 166 МГц. Для тестирования использовалась папка с пятью файлами формата DOC, TXT, HTM c суммарным размером 5483 Кбайт. При шифровании фиксировалось чистое время на создание шифрованного архива. Интересно, что все 10 шифрованных архивов получились абсолютно одинакового размера - 732 Кб. При дешифровании фиксировалось время открытия текстового файла (330 Кб) в текстовом редакторе из окна ArcViewer. Здесь мы исходили из того, что именно такая процедура характеризует удобство работы с шифрованными архивами. Альтернативный вариант - расшифровка в текущую папку, по времени практически совпадает с шифрованием. Ожидалось, что полученный результат позволит как-то ориентироваться при выборе алгоритмов. Результат приведен в таблице:

Тестирование скорости шифрования / дешифрования
 Алгоритм Размер ключа, байт Шифрование Дешифрование
 AES 32 13 сек 6 сек
 Blowfish 32 13 сек 6,2 сек
 CAST-256 32 11 сек 6 сек
 GOST 32 12 сек 6 сек
 Square 16 12 сек 6 сек
 Mars 32 12 сек 6 сек
 RC-6 32 12 сек 5,5 сек
 Serpent 32 14 сек 5,5 сек
 TripleDES 24 14 сек 6 сек
 Twofish 32 13 сек 6 сек

Как видно из таблицы, результаты - сильно однородные. По критерию быстродействие ни один алгоритм не имеет уверенного преимущества перед другими. Мы стремились создать одинаковые условия, но даже выбранный размер ключа - 32 байт поддерживается не всеми алгоритмами, а другие размеры, например, 255 байт, вообще не используются девятью из десяти алгоритмов.

Возможности изменения размеров ключа в бесплатном варианте программы FineCrypt показаны в следующей таблице:

Размеры ключей
 Алгоритм Минимальный размер ключа, байт Максимальный размер ключа, байт Шаг изменения, байт
 AES 16 32 8
 Blowfish 12 72 1
 CAST-256 16 32 1
 GOST 32 32 -
 Square 16 16 -
 Mars 16 56 4
 RC-6 1 255 1
 Serpent 1 32 1
 TripleDES 24 24 -
 Twofish 1 32 1

Из этой таблицы следует, что для того, чтобы составить представление о связи быстродействия с размером ключа, целесообразно использовать алгоритм RC-6, что и было проделано при последующем тестировании. Результаты показаны в следующей таблице:

Тестирование скорости работы алгоритма RC-6
 Алгоритм Размер ключа, байт Шифрование Дешифрование
 RC-6 8 11 сек 5 сек
 RC-6 16 11 сек 6 сек
 RC-6 32 10,5 сек 6,5 сек
 RC-6 64 12 сек 7 сек
 RC-6 128 11,5 сек 7 сек
 RC-6 255 12 сек 8 сек

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

Заключение


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

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

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

Описания алгоритмов можно посмотреть и загрузить со страницы: ссылка

Бесплатный вариант можно загрузить здесь (размер файла 4253 Кб): линк

Страница загрузки: ссылка

Полный вариант можно загрузить по ссылке (размер файла 4.2 Мб): линк

Среди программ аналогичного назначения хорошую репутацию имеют также программы BestCrypt и PGP.