Смекни!
smekni.com

Криптографическая защита информации 2 (стр. 1 из 7)

Государственное образовательное учреждение высшего профессионального образования «Калужский филиал Московского государственного технического университета имени Н.Э.Баумана»

Калужский филиал

Факультет «Фундаментальных Наук»

Кафедра «Программного Обеспечения ЭВМ, Информационных Технологий и Прикладной Математики»

РАСЧЕТНО-ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К ВЫПУСКНОЙ РАБОТЕ БАКАЛАВРА

Тема:

“________________________________________________

________________________________________________

________________________________________________

________________________________________________”

Студент (___________)

Группа

Руководитель работы (___________)

Калуга, 2007 г.


Содержание

1. Техническое задание

1.1. Общие сведения

1.2. Назначение и цели создания системы

1.3. Требования к программе или программному изделию

1.4. Требования к надежности

1.5. Условия эксплуатации

1.6. Требования к составу и параметрам технических средств

1.7. Требования к информационной и программной совместимости

1.8. Требования к программной документации

2. Исследовательская часть

2.1. Постановка задачи

2.2. Обоснование выбора темы

2.3. Обоснование выбора языка программирования

2.4. Обоснование выбора среды разработки

2.5. Обоснование выбора платформы

2.6. Основы криптографии

2.7. Причины выбора алгоритма

2.8. Алгоритм Rijndael

3. Конструкторская часть

3.1. Функциональное назначение

3.2. Руководство программиста

4. Технологическая часть

4.1. Назначение программного продукта

4.2. Назначение и условия применения программного продукта

4.3. Тестирование программного продукта

4.4. Обращение к программе

4.5. Руководство пользователя

4.6. Сообщения оператору

5. Заключение

6. Список использованных источников


1. Техническое задание

1.1. Общие сведения

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

1.2. Назначение и цели создания системы

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


1.3. Требования к программе или программному изделию

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

1.4. Требования к надежности

Программный продукт должен стабильно работать на всех окончательных версиях (free build) предъявленных операционных систем, не снижая надежность хранения в зависимости от каких-либо настроек системы, установленных приложений или действий пользователя во время работы приложения (кроме случаев умышленного взаимодействия с приложением: отладка, некоторые виды стресс-тестов, модификация файлов программного продукта).

1.5. Условия эксплуатации

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


1.6. Требования к составу и параметрам технических средств

Для работы приложения необходимо:

1. операционная система семейства Microsoft Windows не ниже Windows 2000;

2. 50 Кб свободного места на жестком диске + файлы образов дисков;

3. Требования к ресурсам оперативной памяти: для загрузчика порядка 4Мб, для драйвера в районе 100Кб.

1.7. Требования к информационной и программной совместимости

Для проектирования программы необходимо использовать такие среды проектирования как Microsoft Visio и Microsoft Word. Для реализации данного программного продукта используется среда разработки RadAsm с MASM32, а также следующие вспомогательные программы: OllyDbg, DebugView, VMware Workstation и Restorator.

1.8. Требования к программной документации

Представленная выпускная работа должна содержать в себе следующие материалы:

1. Титульный лист с подписями.

2. Утвержденное задание на дипломный проект (работу).

3. Техническое задание на разработку.

4. Содержание (с постраничной разметкой).

5. Основная часть текста, разделенная на разделы:

Исследовательская часть.

Конструкторская часть.

Технологическая часть.

6. Заключение (основные результаты и возможности внедрения).

7. Список использованных источников.

8. Приложения.

Графическая часть может содержать следующие части:

1. схема структурная АСОИ,

2. схема функциональной структуры,

3. схема организационной структуры,

4. схема структурная КТС,

5. схема алгоритма,

6. схема программы (подпрограммы, программного модуля, пакета прикладных программ),

7. схема информационной (математической и т.д.) модели,

8. схема прохождения и обработки информации,

9. формы входных и выходных документов,

10. теоретический чертеж,

11. экспериментальные данные.


2. Исследовательская часть

2.1. Постановка задачи

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

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

2.2. Обоснование выбора темы

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

· Использование устаревших алгоритмов шифрование (например 1DES);

· Стоимость программ может достигать сотен долларов, что неприемлемо для массового распространения;

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

· Неоднозначный, зачастую непонятный интерфейс, либо слишком большое нагромождение различных функций;

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

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

2.3. Обоснование выбора языка программирования

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

2.4. Обоснование выбора среды разработки

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