Человечество располагает огромным объемом информации, хранимым в цифровом виде, иногда эту информацию необходимо защитить от доступа посторонних лиц. Как раз в этом и помогает шифрование данных [1].
Криптография применяется как для защиты информации, обрабатываемой в ЭВМ. или хранящейся в ней, так и для закрытия информации пере¬даваемой по различным каналам связи. Криптографическое преобразование как метод защиты от несанкционированного доступа к данным имеет долгую историю. В данный момент разработано огромное количество различным методов шифрования, созданы теоретические и практические основы их применения. Большее число этих методов может быть успешно использовано и для шифрования данных.
Использование шифрования стало в настоящий момент особо актуально. Расширилось использование компьютерных сетей по которым передаются огромные объемы приватных данных, требующие надежной защиты. Также необходимо защитить уже хранимую информацию от несанкционированного доступа.
В данный момент существует множество программ, обеспечивающих шифрование данных, как проприетарных так и с открытым исходным кодом.
Проприетарное программное обеспечение является закрытым для пользователя, он не знает как оно работает, если там какие либо лазейки для третьих лиц или эта программа вообще не отправляет его данные третьим лицам. Ну и конечно же в большинстве своем проприетарное программное обеспечение является платным. Открытое программное обеспечение является бесплатным, но доступные решения являются громоздкими или не отвечают современным требованиям к защите информации.
Целью выпускной квалификационной работы создание формата файлового контейнера для безопасного хранения данных с применением криптографической защиты на основе алгоритмов с открытым кодом. Требовалось было разработать структуру контейнера для максимальной защиты данных и удобства работы с ним, отвечающий современным стандартам шифрования и являющийся полностью открытым. Так же необходимо разработать библиотеку с простым API для работы с этим форматом данных.
Для достижения поставленной цели в работе ставились следующие за¬дачи:
- анализ существующего программного обеспечения, выбор средств реализации криптографического файлового контейнера;
- разработка спецификации формата контейнера для безопасного хранения данных;
- создание API для использования возможностей разработанного файлового контейнера;
- реализация кроссплатформенной библиотеки для работы с крипто-графическим файловым контейнером;
- проверка работоспособности библиотеки.
Результатом выпускной квалификационной работы является кроссплатформенная программная библиотека с открытым исходным кодом для работы с криптографическим файловым контейнером. Разработанная программная библиотека обеспечивает следующие возможности:
- создание, открытие и редактирование файлового контейнера;
- выбор алгоритма и размер ключа для симметричного и ассиметричного шифрования.
В рамках выпускной квалификационной работы создано программное обеспечение позволяющее создавать зашифрованные файловые контейнеры, сочетающие в себе безопасность и простоту использования.
Для достижения поставленной цели в ходе выполнения работы были решены следующие задачи:
- произведен анализ существующего программного обеспечения, выбор средств реализации криптографического файлового контейнера;
- разработана спецификация формата контейнера для безопасного хранения данных;
- разработан API для использования возможностей созданного файлового контейнера
- реализована кроссплатформенная библиотека для работы с крипто-графическим файловым контейнером;
- изучены особенности библиотеки CryptoPP, набора библиотек Boost и стандартной шаблонной библиотеки языка C++ (C++14);
- проведена проверка работоспособности библиотеки.