Разработка программного средства, обеспечивающего криптографическую защиту файлов

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



защищенным данным, для защиты электронных документов (ЭЦП, шифрование), для установления защищенных соединений (VPN, SSL), для проведения финансовых транзакций [2].

1.6.2 Программа шифрования и аутентификации данных PGP

PGP (англ. Pretty Good Privacy) - компьютерная программа, так же библиотека функций, позволяющая выполнять операции шифрования (кодирования) и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде. Первоначально разработана Филиппом Циммерманном в 1991 году.

PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG, FileCrypt и др.) благодаря стандарту OpenPGP (RFC 4880), но имеющих разный набор функциональных возможностей.

Шифрование PGP осуществляется последовательно хешированием, сжатием данных, шифрованием с симметричным ключом, и, наконец, шифрованием с открытым ключом, причем каждый этап может осуществляться одним из нескольких поддерживаемых алгоритмов. Симметричное шифрование производится с использованием одного из пяти симметричных алгоритмов (AES, CAST5, TripleDES, IDEA, Twofish) на сеансовом ключе. Сеансовый ключ генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Сеансовый ключ зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в зависимости от типа ключа получателя). Каждый открытый ключ соответствует имени пользователя или адресу электронной почты.

Пользователь PGP создает ключевую пару: открытый и закрытый ключ. При генерации ключей задаются их владелец (имя и адрес электронной почты), тип ключа, длина ключа и срок его действия.

PGP поддерживает аутентификацию и проверку целостности посредством цифровой подписи. По умолчанию она используется совместно с шифрованием, но также может быть применена и к открытому тексту. Отправитель использует PGP для создания подписи алгоритмом RSA или DSA. При этом сначала создается хеш открытого текста (также известный как дайджест), затем - цифровая подпись хеша при помощи закрытого ключа отправителя. Для формирования хеша могут использоваться алгоритмы MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. В новых версиях PGP поддержка MD5 осуществляется для сохранения совместимости с ранними версиями. Для подписи используются алгоритмы RSA или DSA (в зависимости от типа ключа).

В целях уменьшения объема сообщений и файлов и, возможно, для затруднения криптоанализа PGP производит сжатие данных перед шифрованием. Сжатие производится по одному из алгоритмов ZIP, ZLIB, BZIP2. Для сжатых, коротких и слабосжимаемых файлов сжатие не выполняется.

На данный момент не известно ни одного способа взломать шифрование PGP при помощи полного перебора или уязвимости криптоалгоритма. В 1996 году криптограф Брюс Шнайер охарактеризовал раннюю версию PGP как ближайшую к криптосистемам военного уровня. Ранние версии PGP обладали теоретическими уязвимостями, поэтому рекомендуется пользоваться современными. Кроме защиты данных, передаваемых по сети, PGP позволяет шифровать запоминающие устройства, например, жесткие диски.

Криптографическая стойкость PGP основана на предположении, что используемые алгоритмы устойчивы к криптоанализу на современном оборудовании [15].

.6.3 Программа шифрования данных TrueCrypt

TrueCrypt - компьютерная программа для шифрования на лету (On-the-fly encryption) для 32- и 64-разрядных операционных систем семейств Microsoft Windows NT 5 и новее (GUI-интерфейс), Linux и Mac OS X [16]. Она позволяет создавать виртуальный зашифрованный логический диск, хранящийся в виде файла. С помощью TrueCrypt также можно полностью шифровать раздел жесткого диска или иного носителя информации, такой как флоппи-диск или USB флеш-память. Все сохраненные данные в томе TrueCrypt полностью шифруются, включая имена файлов и каталогов. Смонтированный том TrueCrypt подобен обычному логическому диску, поэтому с ним можно работать с помощью обычных утилит проверки и дефрагментации файловой системы [16].умеет создавать зашифрованный виртуальный диск:

-в файловом контейнере, что позволяет легко работать с ним - переносить, копировать (в том числе на внешние устройства в виде файла), переименовывать или удалять;

-в виде зашифрованного раздела диска, что делает работу более производительной и удобной, в версии 5.0 добавилась возможность шифровать системный раздел;

-путем полного шифрования содержимого устройства, такого как USB флеш-память (устройства флоппи-диск не поддерживаются с версии 7.0).

В список поддерживаемых TrueCrypt 6.2 алгоритмов шифрования входят AES, Serpent и Twofish. Предыдущие версии программы также поддерживали алгоритмы с размером блока 64 бита (Тройной DES, Blowfish, CAST5). Кроме того, возможно использование каскадного шифрования различными шифрами, к примеру: AES+Twofish+Serpent [16].

Программа позволяет выбрать одну из трех хеш-функций: HMAC-RIPEMD-160, HMAC-Whirlpool, HMAC-SHA-512 для генерации ключей шифрования, соли и ключа заголовка.

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

.7 Выводы по главе

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

Для обеспечения высокой надежности целесообразно прим