Тип работы:
Предмет:
Язык работы:


Разработка формата файлового контейнера для безопасного хранения данных с применением криптографической защиты на основе алгоритмов с открытым кодом

Работа №23062

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы71
Год сдачи2016
Стоимость5600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
316
Не подходит работа?

Узнай цену на написание


Введение
1 Анализ существующих решений
1.1 Архиваторы
1.1.1 Формат tar
1.1.2 Формат ZIP
1.1.3 Архиватор WinZip
1.1.4 Архиватор 7-Zip
1.1.5 Архиватор WinRAR
1.2 Шифрование диска и виртуальные зашифрованные диски . . . .
1.2.1 Шифрование диска Windows Bitlocker
1.2.2 Шифрование диска OSX FileVault
1.2.3 Шифрование диска VeraCrypt
1.3 Медиаконтейнеры
1.3.1 Формат WAV
1.3.2 Формат M.PEG-4
1.3.3 Формат Matroska
1.3.4 Формат TIFF
1.4 Другие контейнеры
1.4.1 Формат РЕ (ЕХЕ файлы)
1.4.2 Формат ISO-образ
1.4.3 Формат IM.G
1.4.4 Базы данных
2 Шифрование
2.1 Симметричные алгоритмы шифрования
2.1.1 Алгоритм DES
2.1.2 Алгоритм ГОСТ 28147-89
2.1.3 Алгоритм AES
2.2 Режимы шифрования симметричного блочного шифрования . . .
2.2.1 Режим шифрования ЕСВ
2.2.2 Режим шифрования СВС
2.2.3 Режим шифрования CFB
2.2.4 Режим шифрования OFB
2.3 Асимметричное шифрование
2.3.1 Алгоритм RSA
3 Описание разработанного файлового формата контейнера
3.1 Общее строение контейнера
3.1.1 Хранение файлов
3.1.2 Директория
3.1.3 Подпись
3.2 Выбор алгоритма шифрования
3.3 Выбор библиотеки для шифрования
3.3.1 Библиотека OpenSSL
3.3.2 Библиотека Crypto++
3.3.3 Библиотека Botan
3.4 Выбор дополнительных библиотек
3.5 Библиотека CryptoPP
3.5.1 Заголовочный файл cryptopp/aes.h
3.5.2 Заголовочный файл cryptopp/files.h
3.5.3 Заголовочный файл cryptopp/filters.h
3.5.4 Заголовочный файл cryptopp/modes.h
3.5.5 Заголовочный файл cryptopp/osrng.h
3.5.6 Заголовочный файл cryptopp/rsa.h
3.6 Библиотека Boost
3.6.1 Заголовочный файл boost/filesystem.hpp
3.6.2 Заголовочный файл boost/serialization.hpp
4 Описание разработанной библиотеки
4.1 Заголовочный файл crypt.h
4.2 Заголовочный файл rsa.h
4.3 Заголовочный файл container.h
4.4 Сборка библиотеки с помощью СМаке
4.5 Сборка библиотеки под операционную систему Android
4.5.1 Установка NDK
4.5.2 Компиляция разработанной библиотеки CryptoContainer . .
4.5.3 Компиляция библиотеки CryptoPP
4.5.4 Компиляция библиотек из набора Boost 55
4.5.5 Подключение библиотек к проекту 56
Заключение 59
Список использованных источников 60
ПРИЛОЖЕНИЕ А Исходный код программы 64

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

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках выпускной квалификационной работы создано программное обеспечение позволяющее создавать зашифрованные файловые контейнеры, сочетающие в себе безопасность и простоту использования.
Для достижения поставленной цели в ходе выполнения работы были решены следующие задачи:
- произведен анализ существующего программного обеспечения, выбор средств реализации криптографического файлового контейнера;
- разработана спецификация формата контейнера для безопасного хранения данных;
- разработан API для использования возможностей созданного файлового контейнера
- реализована кроссплатформенная библиотека для работы с крипто-графическим файловым контейнером;
- изучены особенности библиотеки CryptoPP, набора библиотек Boost и стандартной шаблонной библиотеки языка C++ (C++14);
- проведена проверка работоспособности библиотеки.



1. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си / Б. Шнайер. — Москва : Триумф, 2002. — 816 с.
2. Ватолин, Д. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео / Д. Ватолин, А. Ратушняк. — Москва : ДИАЛОГ- МИФИ, 2002. - 384 с.
3. GNU tar [Электронный ресурс] : GNU tar - Summary. — Режим доступа: http://savannah.gnu.org/projects/tar.
4. DEFLATE [Электронный ресурс] : DEFLATE Compressed
Data Format Specification version 1.3. — Режим доступа:
https://tools.ietf.org/html/rfcl951.
5. gzip [Электронный ресурс] : The gzip home page. — Режим доступа: http://www.gzip.org.
6. bzip2 [Электронный ресурс] : bzip2 and libbzip2. — Режим доступа: http://bzip.org.
7. Burrows, M. A block sorting lossless data compression algorithm / M. Burrows, D. Wheeler. — Digital Equipment Corporation, 1994. — 124 c.
8. ZIP [Электронный ресурс] : ZIP File Format Specification. — Режим доступа: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT.
9. PKZip [Электронный ресурс] : PKZip Must Open Up. — Режим доступа: http://brianlivingston. com/eweek/article2/0,4149,1257562,00. html.
10. WinZip [Электронный ресурс] : WinZip for Windows. — Режим доступа: http://winzip.com/.
11. Corel [Электронный ресурс] : Corel home page. — Режим доступа: http://www.corel.com/.
12. 7-Zip [Электронный ресурс] : 7-Zip is a file archiver with a high compression ratio. — Режим доступа: http://7-zip.org.
13. WinRAR [Электронный ресурс] : WinRAR is a powerful archive manager utils. — Режим доступа: http://rarlab.com.
14. WinRAR описание формата [Электронный ресурс] : WinRAR is a powerful archive manager utils. — Режим доступа: http://www.rarlab.com/rar_add.htm.
15. Scarfone, К. Guide to Storage Encryption Technologies for End User Devices / K. Scarfone, M. Sexton. — National Institute of Standards and Technology, 2007. — 40 c.
16. Microsoft Security [Электронный ресурс] : Microsoft
Security Bulletin MS 15-122 - Important. — Режим доступа:
https://technet.microsoft.com/library/security/MS15-122.
17. FUSE [Электронный ресурс] : The reference implementation of the Linux FUSE (Filesystem in Userspace) interface — Режим доступа: https://github.com/libfuse/libfuse.
18. FireVault [Электронный ресурс] : Использование FileVault для шифрования загрузочного диска на компьютере Мас. — Режим доступа: https://support. apple. com/kb/HT4790?viewlocale=ru_RU.
19. VeraCrypt [Электронный ресурс] : Encryption Algorithms. — Режим до¬ступа: https://veracrypt.codeplex.com/wikipage?title=Encryption%20Algorithms
20. VeraCrypt hash [Электронный ресурс] : the website title. — Режим до¬ступа: https://veracrypt.codeplex.com/wikipage?title=Hash%20Algorithms.
21. WAV [Электронный ресурс] : Hash Algorithms. — Режим доступа: http://www-
mmsp.ece.mcgill.ca/documents/AudioFormats/WAVE/Docs/riffmci.pdf.
22. MPEG [Электронный ресурс] : 3GPP2 File
Formats for Multimedia Services. — Режим доступа: http://www.3gpp2.Org/Public_html/specs/C.S0050-B_vl.0_070521.pdf.
23. MKV [Электронный ресурс] : Matroska Media Container - Homepage. — Режим доступа: https://www.matroska.org.
24. MKV spec [Электронный ресурс] : Matroska
Media Container - Specifications. — Режим доступа: https://www.matroska.Org/technical/specs/index.html#track.
25. TIFF [Электронный ресурс] : Tagged Image File Format. — Режим доступа: http://partners.adobe.com/public/developer/tiff/index.html.
26. William, V. Encyclopedia of Graphics File Formats / V. William. — O’Reilly, 1996. - 384 c.
27. ЕХЕ [Электронный ресурс] : Microsoft PE and COFF
Specification. — Режим доступа: https://msdn.microsoft.com/en-
us/windows/hardware/gg463119.aspx.
28. ISO [Электронный ресурс] : Standard ECMA-119 Volume and File Structure of CDROM for Information Interchange. — Режим доступа: http://www.ecma-international.org/publications/standards/Ecma-l 19.htm.
29. SQlite [Электронный ресурс] : SQLite Homepage. — Режим доступа: http://www.sqlite.org.
30. SQlite deps [Электронный ресурс] : SQLite Homepage - specs.— Режим доступа: https://sqlite.org/mostdeployed.html.
31. SQlite format [Электронный ресурс] : Most Widely Deployed and Used Database Engine.— Режим доступа: https://www.sqlite.org/fileformat2.html.
32. Мейволд, Э. Безопасность сетей / Э. Мейволд. — Москва : Эком, 2011. - 528 с.
33. DES [Электронный ресурс] : DES specs.— Режим доступа: http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf.
34. AES [Электронный ресурс] : fips-197 specifictaions.— Режим доступа: http://csrc.nist.gov/publications/fips/fipsl97/fips-197.pdf.
35. Kumar, S. How to Break DES for Euro 8,980 / S. Kumar. — SHARCS
2006. - 96 с.
36. GOST [Электронный ресурс] : Межгосударственный со
вет по стандартизации, метрологии и сертификации (МТС) Со
дружества Независимых Государств (СНГ).— Режим доступа: http://www.easc.org.by/russian/mgs_org.php.
37. Shorin, V. Linear and Differential Cryptanalysis of Russian GOST / V. Shorin, V. Jelezniakov. — Electronic Notes in Discrete Mathematics, 2001. — 547 c.
38. Ростовцев, А.Г. О стойкости ГОСТ 28147-89. Проблемы информационной безопасности / А.Г. Ростовцев, Е.Б Маховенко. — Москва : Компьютерные системы, 2003. — 84 с.
39. ГОСТ стандарт шифрования [Электронный ресурс] : Технический комитет по стандартизации (ТК 26) "Криптографическая защита информации"О деятельности по международной стандартизации алгоритма шифрования ГОСТ 28147-89.— Режим доступа: https://www.tc26.ru/.
40. Nikolic, I. Distinguisher and Related-Key Attack on the Full AES-256 / I, Nikolic. — Advances in Cryptology, 2009. — 349 c.
41. AES hack [Электронный ресурс] : Related-key Cryptanalysis of the Full AES-192 and AES-256.— Режим доступа: https://eprint.iacr.org/2009/317.pdf.
42. Performance Comparisons of the AES submissions / B. Schneier [и др.]. — Digital Equipment Corporation, 1999. — 20 c.
43. Modes [Электронный ресурс] : Режимы шифрования,— Режим доступа: http://citforum.ru/security/cryptography/rejim_shifrov/.
44. OpenSSL spread [Электронный ресурс] : Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping.— Режим до¬ступа: http://arstechnica.com/security/2014/04/critical-crypto-bug-in-openssl- opens-two-thirds-of-the-web-to-eavesdropping/.
45. Boost for Android [Электронный ресурс] : Boost for Android repository.— Режим доступа: https://github.com/moritz-wundke/Boost-for- Android/.
46. CrystaX [Электронный ресурс] : Набор инструментов для C/C++ раз¬работки под Android.— Режим доступа: https://www.crystax.net.


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ