Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Смоленский государственный университет»
Факультет экономики и управления
Кафедра
математики и информатики
Курсовая работа
на тему:
Создание автономной автоматизированной системы шифрования данных на съёмных
носителях
Выполнила Анна Руслановна
Смоленск 2014
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
ГЛАВА 1. КРИПТОГРАФИЯ И ЕЕ ВОЗМОЖНОСТИ
.1 Формулировка и основные понятия
.2 Криптографические средства защиты
.3 Принципы работы криптосистемы
.4 Управление криптографическими ключами
.5 Алгоритмы шифрования
.5.1 Симметричные алгоритмы
.5.2 Асимметричные алгоритмы
.6 Сравнение cимметричных и аcимметричных алгоритмов шифрования
.7 Электронные подписи
.8 Стойкость шифра
ГЛАВА 2. РАЗРАБОТКА СОБСТВЕННОЙ ПРОГРАММЫ ШИФРОВАНИЯ НА DELPHI7
.1 Программы шифрования данных
.1.1 TrueCrypt
.1.2 AxCrypt
.1.3 FineCrypt
.2 Разработка собственной программы шифрования на Delphi 7
.2.1 Выбор и обоснование среды программирования
.2.2 Выбор и обоснование алгоритма шифрования
.2.3 Необходимые визуальные компоненты для создания
.2.4 Cоздание приложения шифрования/дешифрования
.3 Тестирование программы «FileCoder»
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Проблемa защиты информации путeм ее преобразования, исключающего ее прочтение посторонним лицом волновала человеческий ум с давних времен. История криптографии ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.
С широким распространением письменности криптография стала формироваться как самостоятельная наука. Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже систематический шифр, получивший его имя.
Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Проблема использования криптографических методов в информационных системах (ИС) стала в настоящий момент особо актуальна потому что:
) с одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Internet, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц;
) другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми.
Целью курсовой работы является автоматизация процесса шифрования на базе современных информационных технологий.
Для достижения поставленной цели необходимо решить следующие задачи:
) изучить современные системы шифрования;
) выбрать и обосновать криптостойкий алгоритм, подходящий для шифрования разнородных данных;
) провести тестирование разработанной программы;
) разработать демонстрационный вариант программы, позволяющий шифровать данные;
) закрепить знания в области разработки приложений на языке Delphi.
Актуальность и важность проблемы обеспечения информационной безопасности обусловлена следующими факторами:
) Современные уровни и темпы развития средств информационной безопасности значительно отстают от уровней и темпов развития информационных технологий.
) Высокие темпы роста персональных компьютеров, применяемых в разнообразных сферах человеческой деятельности.
Объектом исследования являются алгоритмы шифрования.
Курсовая работа состоит из введения, двух глав, и заключения.
В первой главе проводится анализ криптографии и её возможностей.
Во второй главе описаны программы шифрования данных, демонстрируется разработка собственной программы шифрования, производится анализ выбора среды программирования, а так же алгоритма шифрования, проводится тестирование разработанной программы.
В заключении изложены основные результаты работы и выводы.
ГЛАВА 1. КРИПТОГРАФИЯ И ЕЕ ВОЗМОЖНОСТИ
1.1 Формулировка и основные понятия
Криптография применяется для хранения важной информации <#"785661.files/image001.jpg">
Рисунок 1.1 - Модель ситуации, в которой возникает задача
криптографии
Исторически в криптографии закрепились некоторые военные слова (противник, атака на шифр и др.). Они наиболее точно отражают смысл соответствующих криптографических понятий. Вместе с тем широко известная военная терминология, основанная на понятии кода (военно-морские коды, коды Генерального штаба, кодовые книги, кодообозначения и т. п.), уже не применяется в теоретической криптографии. Дело в том, что за последние десятилетия сформировалась теория кодирования - большое научное направление, которое разрабатывает и изучает методы защиты информации от случайных искажений в каналах связи.
Криптография занимается методами преобразования информации, которые бы не позволили противнику извлечь ее из перехватываемых сообщений. При этом по каналу связи передается уже не сама защищаемая информация, а результат ее преобразования с помощью шифра, и для противника возникает сложная задача вскрытия шифра. Вскрытие (взламывание) шифра - процесс получения защищаемой информации из шифрованного сообщения без знания примененного шифра. Противник может пытаться не получить, а уничтожить или модифицировать защищаемую информацию в процессе ее передачи. Это - совсем другой тип угроз для информация, отличный от перехвата и вскрытия шифра. Для защиты от таких угроз разрабатываются свои специфические методы. Следовательно, на пути от одного законного пользователя к другому информация должна защищаться различными способами, противостоящими различным угрозам. Возникает ситуация цепи из разнотипных звеньев, которая защищает информацию. Естественно, противник будет стремиться найти самое слабое звено, чтобы с наименьшими затратами добраться до информации. А значит, и законные пользователи должны учитывать это обстоятельство в своей стратегии защиты: бессмысленно делать какое-то звено очень прочным, если есть заведомо более слабые звенья ("принцип равнопрочности защиты").
Придумывание хорошего шифра - дело трудоемкое. Поэтому желательно
увеличить время жизни хорошего шифра и использовать его для шифрования как
можно большего количества сообщений. Но при этом возникает опасность, что
противник уже разгадал (вскрыл) шифр и читает защищаемую информацию. Если же в
шифре сеть сменный ключ то, заменив ключ, можно сделать так, что разработанные
противником методы уже не дают эффекта.
1.4 Управление криптографическими ключами
шифрование криптографический защита информационный
При шифровании очень важно правильно содержать и распространять ключи между собеседниками, так как это является наиболее уязвимым местом любой криптосистемы. Если вы с собеседником обмениваетесь информацией посредством идеальной шифрующей системы, то всегда существует возможность найти дефект не в используемой системе, а в людях ее использующих. Можно выкрасть ключи у доверенного лица или подкупить его и зачастую это оказывается гораздо дешевле чем взламывать шифр. Поэтому процесс, содержанием которого является составление и распределение ключей между пользователями, играет важнейшую роль в криптографии как основа для обеспечения конфиденциальности обмена информацией [1].
Под ключом в криптографии понимают сменный элемент шифра, который применяется для шифрования конкретного сообщения. В последнее время безопасность защищаемой информации стала определяться в первую очередь ключом. Сам шифр, шифрмашина или принцип шифрования стали считать известными противнику и доступными для предварительного изучения, но в них появился неизвестный для противника ключ, от которого существенно зависят применяемые преобразования информации. Теперь законные пользователи, прежде чем обмениваться шифрованными сообщениями, должны тайно от противника обменяться ключами или установить одинаковый ключ на обоих концах канала связи. А для противника появилась новая задача - определить ключ, после чего можно легко прочитать зашифрованные на этом ключе сообщения.
Вернемся к формальному описанию основного объекта криптографии (рисунок
1.1). Теперь в него необходимо внести существенное изменение - добавить
недоступный для противника секретный канал связи для обмена ключами (рисунок
1.2).
Рисунок 1.2 - Модель ситуации, в которой возникает задача криптографии с ключом
Алгоритмы шифрования с использованием ключей предполагают, что данные не сможет прочитать никто, кто не обладает ключом для их расшифровки. Они могут быть разделены на два класса, в зависимости от того, какая методология криптосистем напрямую поддерживается ими.
1.5.1 Симметричные алгоритмы
В симметричных криптосистемах для шифрования и расшифрования используется один и тот же ключ. Отсюда название - симметричные. Алгоритм и ключ выбирается заранее и известен обеим сторонам. Сохранение ключа в секретности является важной задачей для установления и поддержки защищенного канала связи. В связи с этим, возникает проблема начальной передачи ключа (синхронизации ключей). Кроме того существуют методы криптоатак, позволяющие так или иначе дешифровать информацию не имея ключа или же с помощью его перехвата на этапе согласования. В целом эти моменты являются проблемой криптостойкости конкретного алгоритма шифрования и являются аргументом при выборе конкретного алгоритма.
Симметричные, а конкретнее, алфавитные алгоритмы шифрования были одними из первых алгоритмов [4]. Позднее было изобретено асимметричное шифрование, в котором ключи у собеседников разные [5].
Схема реализации.
Задача. Есть два собеседника - А и Б, они хотят обмениваться конфиденциальной информацией.
) Генерация ключа.
Собеседник Б (или А) выбирает ключ шифрования d и алгоритм шифрования или расшифрования, затем посылает эту информацию собеседнику А (Б).
) Шифрование и передача сообщения.
Собеседник А шифрует информацию с использованием полученного ключа d и передает ему полученный шифротекст. То же самое делает собеседник Б, если хочет отправить собеседнику А сообщение.
) Расшифрование сообщения.
Собеседник Б (А), с помощью того же ключа d, расшифровывает шифротекст.
Недостатками симметричного шифрования является проблема передачи ключа
собеседнику и невозможность установить подлинность или авторство текста.
Поэтому, например, в основе технологии цифровой подписи лежат асимметричные
схемы.
Рисунок 1.3 - Симметричное шифрование
1.5.2 Асимметричные алгоритмы
В системах с открытым ключом используются два ключа - открытый и закрытый, связанные определенным математическим образом друг с другом. Открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для шифрования сообщения и для проверки ЭЦП. Для расшифровки сообщения и для генерации ЭЦП используется секретный ключ [1].
Данная схема решает проблему симметричных схем, связанную с начальной передачей ключа другой стороне. Если в симметричных схемах злоумышленник перехватит ключ, то он сможет как «слушать», так и вносить правки в передаваемую информацию. В асимметричных системах другой стороне передается открытый ключ, который позволяет шифровать, но не расшифровывать информацию. Таким образом решается проблема симметричных систем, связанная с синхронизацией ключей [5].
Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были Уитфилд Диффи <#"785661.files/image004.jpg">
Рисунок 1.4 - Ассиметричное шифрование
1.6 Сравнение симметричных и асимметричных алгоритмов шифрования
В асимметричных системах необходимо применять длинные ключи (512 битов и больше). Длинный ключ резко увеличивает время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределять ключи можно по незащищенным каналам.
В симметричных алгоритмах используют более короткие ключи, т. е. шифрование происходит быстрее. Но в таких системах сложно распределение ключей.
Поэтому при проектировании защищенной системы часто применяют и симметричные, и асимметричные алгоритмы. Так как система с открытыми ключами позволяет распределять ключи и в симметричных системах, можно объединить в системе передачи защищенной информации асимметричный и симметричный алгоритмы шифрования. С помощью первого рассылать ключи, вторым же - собственно шифровать передаваемую информацию [6, c. 53].
Обмен информацией можно осуществлять следующим образом:
) получатель вычисляет открытый и секретный ключи, секретный ключ хранит в тайне, открытый же делает доступным;
) отправитель, используя открытый ключ получателя, зашифровывает сеансовый ключ, который пересылается получателю по незащищенному каналу;
) получатель получает сеансовый ключ и расшифровывает его, используя свой секретный ключ;
) отправитель зашифровывает сообщение сеансовым ключом и пересылает получателю;
) получатель получает сообщение и расшифровывает его.
1.7 Электронные подписи
Электронная подпись (ЭП) - реквизит <#"785661.files/image005.jpg">
Рисунок 2.1 - программа для шифрования файлов TrueCrypt
работает по очень простому принципу. После установки пользователю предлагается создать зашифрованный виртуальный логический диск. Все данные помещенные на такой диск будут автоматически зашифрованы. Количество таких виртуальных дисков неограниченно. А для доступа к файлам нужно один раз ввести пароль и виртуальный диск будет подключен к системе. После чего пользователь может спокойно работать с диском до следующей перезагрузки компьютера или пока не отключит зашифрованный виртуальный диск вручную.
Кроме этого программа для шифрования файлов TrueCrypt позволяет шифровать и реальные физические носители информации. В этом случае все данные помещенные на такой диск будут автоматически зашифрованы, включая имена папок и файлов.поддерживает такие алгоритмы шифрования как AES, Serpent и Twofish. Также возможно использования каскадного шифрования одних и тех же данных различными алгоритмами.
Для
доступа к зашифрованным дискам можно использовать как обычный пароль, так и
ключевые файлы. Возможно использование комбинации этих способов.
2.1.2 AxCrypt- более простая программа для шифрования файлов.не
предлагает создавать зашифрованные диски, а шифрует файлы прямо в папках
пользователя.
Рисунок
2.2 - программа для шифрования файлов AxCrypt
После установки программы AxCrypt в контекстном меню появляется пункт «AxCrypt», с помощью которого пользователь может зашифровать любую папку или отдельный файл. Для доступа к зашифрованным данным может использоваться пароль или ключевой файл. Шифрование происходит с использованием алгоритма AES-128.
Пользователь
может просто открыть зашифрованный файл, или полностью снять шифрование, вернув
исходный файл. Для выполнения этих действий нужен пароль для доступа к
зашифрованным файлам.
2.1.3 FineCrypt
FineCrypt - очень удобная программа. FineCrypt создает самораспаковывающиеся архивы, которые могут быть дешифрованы, не используя эту программу непосредственно, например, если программа не устанавливается на компьютере, на котором вы хотите дешифровать. FineCrypt также позволяет вам шифровать файлы, каталоги и целые деревья каталогов при использовании пароля или ключа.