Диплом: Разработка программно-аппаратного комплекса для защиты USB-носителей

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
52
Рисунок 16 - Процедура MixColumns
В процедуре AddRoundKey, каждый байт состояния объединяется с
RoundKey используя XOR operation ().
Рисунок 17 - Процедура AddRoundKey
Алгоритм обработки ключа
Алгоритм обработки ключа состоит из двух процедур:
Алгоритм расширения ключа
Алгоритм выбора раундового ключа (ключа итерации)
Алгоритм расширения ключа
Алгоритм выбора раундового ключа
На каждой итерации i раундовый ключ для операции AddRoundKey
выбирается из массива начиная с элемента до .
Варианты алгоритма
53
На базе алгоритма Rijndael, лежащего в основе AES, реализованы
альтернативные криптоалгоритмы. Среди наиболее известных - участники
конкурса Nessie: Anubis на инволюциях, автором которого является Винсент
Рэймен и усиленный вариант шифра - Grand Cru Йохана Борста.
Криптостойкость
В июне 2003 года Агентство национальной безопасности США
постановило, что шифр AES является достаточно надёжным, чтобы
использовать его для защиты сведений, составляющих государственную
тайну (англ. classified information). Вплоть до уровня SECRET было
разрешено использовать ключи длиной 128 бит, для уровня TOP SECRET
требовались ключи длиной 192 и 256 бит.
Программное обеспечение (ПО) включает совокупность программ,
реализующих функции и задачи ИС и обеспечивающих устойчивую работу
комплексов технических средств. В состав программного обеспечения входят
общесистемные и специальные программы, а также инструктивно-
методические материалы по применению средств программного обеспечения
и персонал, занимающийся его разработкой и сопровождением на весь
период жизненного цикла ИТ [9].
Для создания рабочих программ под Windows есть множество
интегрированных сред разработки. К ним обычно относят Visual Basic, Visual
С+ +, Delphi, С+ + Builder.
После создания средств быстрой разработки приложений (Rapid
Application Development – RAD) стало возможно программировать при
помощи готовых шаблонов и компонентов. Для примера сравним Delphi и
C++ Builder, а также выберем среду программирования для будущей
автоматизированной системы.
Средство визуального программирования Delphi было создано фирмой
Borland International на основе языка Object Pascal. ООП к созданию
54
компонент стал серьезным шагом в будущее. Еще один выигрыш
основывался на нормальной компиляции, что позволяет получить более
производительные программы. Первые версии Delphi быстро завоевали
уважение не только в ВУЗах, где лидером был Pascal, но и у
профессиональных программистов. Этот факт подтолкнул одно из
подразделений Borland International перенести визуальную технологию в
среду C++. И почти одновременно с выходом Delphi 2.0 на рынок пришла
первая версия Borland C++ Builder (ВСВ). Базовую часть первой версии ВСВ
включала библиотека визуальных компонент VCL (Visual Component
Library), заимствованная без изменений из Delphi 2. Интерфейсы сред Delphi
и ВСВ очень похожи друг на друга, да и большая часть ВСВ была создана на
языке Object Pascal на базе Delphi. Именно из-за своего происхождения
система ВСВ оказалась двуязычной. Кроме базового языка
программирования она давала возможность практически без каких-либо
кардинальных изменений применять формы, объекты и модули, созданные в
среде Delphi. Чтобы еще больше увеличить сферу влияния среды ВСВ, ее
разработчики в более поздних версиях реализовали возможность применения
библиотеки классов MFC (Microsoft Foundation Classes) от известной
компании Microsoft.
Delphi 7 2010 г является прекрасным инструментом, но в то же время и
сложной программной средой, состоящей из множества элементов. Включает
в себя новый интерфейс Galileo, а еще interbase server и desktop, remote
debugger server, Model Maker, Install Shield.
Особенно интересными в Delphi являются возможности объектно-
ориентированного подхода к программированию, ее
высокопроизводительный компилятор, отличная поддержка баз данных,
тесная интеграция с программированием под ОС Windows и технология
компонентов.
55
Но главной частью является язык Object Pascal, на котором базируется
все остальное.
Delphi 7 2010 г имеет открытую архитектуру, полностью адаптирован с
технологиями Microsoft OLE Automation, ActiveX, ODBC. Компилятор
позволяет реализовать доступ ко всем ресурсам ОС с поддержкой
интерфейса Win32 (Windows ХР, 7).
Программы Delphi применяют объектно-ориентированную структуру,
названную VCL – Visual Component Library (библиотека визуальных
компонентов). Благодаря VCL быстрая разработка приложений поднимается
на новый уровень. Можно значительно увеличить свои возможности за счет
реализации своих собственных компонентов. Тем более многие независимые
поставщики на сегодняшний день уже реализовали множество аналогичных
компонентов.
Delphi 7 2010г имеет большое количество других улучшений IDE,
расширенную поддержку баз данных, обновленную версию MIDAS с
поддержкой Интернета, механизм управления версиями TeamSours,
поддержку перевода, концепцию фреймов и огромное количество остальных
полезных компонентов.
В основе идеологии Delphi лежит технологии визуального
проектирования и реализация процедур обработки событий, применение
которых дает возможность значительно сократить время на создание и
упростить процесс реализации приложений.
C++ Builder 6 2010 г является очередной версией системы с ООП для
ОС Windows. Интегрированная системная среда (IDE) позволяет ускорить
визуальное проектирование, а также увеличивает продуктивность
многократно используемых компонентов в сочетании с улучшенными
инструментами и различными средствами доступа к базам данных.
56
Зачастую стандарты пользовательских интерфейсов изменяются также
быстро, как и сами операционные системы. Доступность среды IDE дает
возможность настраивать ее с учетом наиболее модных тенденций в сфере
графических интересов. Сам визуальный интерфейс включает в себя
простоту использования для новичка и большой выбор функций для
профессионала.
Система C++ Builder 6 2010 может применятся везде, где нужно
дополнить существующее приложения (как системные, так и прикладные)
расширенным стандартом языка C++, улучшить надежность и
быстродействие программ, придать пользовательскому интерфейсу качество
профессионального уровня, дает возможность реализовывать интерфейсы
для сенсорного ввода данных на мобильных платформах, сенсорных панелях
и автономных системах, а также улучшить существующие приложения с
минимальными изменениями в коде или вообще без них.
В контексте C++ Builder RAD включает в себя не только ускорение
стандартного цикла: редактирование-компиляция-компоновка-прогон-
отладка, но и придает всем объектам изящество компонентной модели.
Уникальная среда для разработки C++ Builder 6 2010 IDE Insight дает
возможность напрямую обращаться ко всем параметрам и компонентам
программной среды, не тратя времени на их поиск в диалоговых окнах;
обозреватель классов, способный реализовать управление классами в проекте
и использовать быстрый переход между ними; соединяет воедино дизайнер
форм, инспектор объектов, палитру компонентов, менеджер проектов и
полностью встроенные редактор кода и отладчик – самые важные
инструмента RAD.
В C++ Builder 6 2010 также внедрены поддерживаемые отладчиком
средства визуализации данных, упрощаемые отладку, давая возможность
настраивать визуализацию типов данных в самом отладчике; средства
57
управления потоками, позволяющие замораживать и размораживать и
изолировать потоки, а также устанавливать контрольные точки для
выбранных потоков, что значительно упрощает выход из проблемных
ситуаций; C++ Builder 6 2010 также имеет новые параметры отладчика: Scroll
new events into view (скроллинг новых событий в представлении) и Ignore
non-user breakpoints (избегание не пользовательских контрольных точек), как
на уровне базовых инструкций, так и на уровне машинных команд – это
сделано для удовлетворения высоких требований программистов-
профессионалов.
Улучшенный 32-разрядный компилятор реализован по уникальной и
проверенной адаптивной технологии, которая предоставляет исключительно
стабильную и быструю оптимизацию, как размеров выходного исполняемого
кода, так и требуемой для этих операций памяти.
Визуальная разработка с использованием «перетаскивания» (drag-and-
drop) значительно упрощает и ускоряет сложный процесс разработки
приложений СУБД. В основе объектно-ориентированного взаимодействия
клиент–сервер берется понятие совокупности данных (dataset) – таблиц,
запросов, процедур – основных сущностей любой БД, которые используют
компоненты доступа. Большой выбор инструментов визуализации и
редактирования дает возможность очень быстро изменять вид представления
наборов данных. В C++Builder применяется проводник БД и дополняемый
словарь данных для того, чтобы в автоматическом режиме настроить
средства визуализации и редактирования применительно к специфике ваших
конкретных данных.
Вместе с дизайнерами и художниками-оформителями к разработке
прикладного ПО в ключевых областях сети все чаще приглашаются
профессиональные программисты. Качественное приложение имеет
возможность динамически собирать данные с сервера и представлять их в
58
удобном для потребителей разного уровня виде, так, чтобы они без проблем
могли составить свое заключение, а затем принять верное решение за
считанные минуты. C++Builder 6 2010 максимально удовлетворяет этим
требованиям, обеспечивая:
• повышенную надежность, степень внедрения и качество
управления;
• быстрое визуальное создание эффективных приложений для
переработки значительных объемов данных;
• использование механизмов принятия решения и реализации
доступа к удаленным БД.
C++Builder передает свои возможности и широкий спектр
выполняемых функций языка C++ всему семейству систем ООП. Система
C++Builder может применятся везде, где есть необходимость улучшить
существующие приложения расширенным промышленным стандартом языка
C++, увеличить скорость работы и придать интерфейсу пользователя
профессиональный облик.
Все составные части (формы, объекты), которые использовали
программисты, работающие в Delphi, могут быть применены не один раз в
приложениях C++Builder без особых изменений. C++Builder оптимален для
тех разработчиков, которые выбирают выразительную мощность языка C++,
однако также хотят сохранить производительность Delphi. Уникальное
сочетание этих систем программирования дает возможность при создании
ПО без труда изменять одну среду разработки на другую.
Так какую же систему выбрать? В Delphi применяется язык Объектный
Паскаль, который используется во многих специализированных школах и
учебных институтах. Система C++Builder, как следует из названия,
базируется на языке C++, наиболее распространённом в больших компаниях,
занимающихся созданием математического ПО профессионального уровня.
59
Исходя из всего вышесказанного и результатов анализа экспертным
оцениванием делаем выбор среды программной разработки в пользу
C++Builder, обеспечивающем чрезвычайно высокую скорость работы и
простоту использования.
Для создания системы будем применять среду разработки RAD Studio
Professional.
Программное обеспечение RAD Studio Professional состоит из
высокопроизводительных интегрированных сред разработки собственных
приложений Windows и .NET. Встроенная среда разработки Delphi и
C++Builder с поддержкой Unicode, подходящая для создания собственных
приложений, включает огромное количество готовых компонентов и
функций, к которым можно отнести рефакторинг, доработку кода,
синтаксическое выделение, интерактивные шаблоны, полноценную отладку
и тестирование модулей. Встроенная среда разработки также позволяет
проектировать приложения для платформы .NET, включая возможность
работы с новой технологией .NET.
ВЫВОДЫ
Во второй главе выпускной квалификационной работы проведен
анализ принципов работы стандарта USB, что позволило выбрать основные
методы защиты информации для данного стандарта;
Сформулированы основные методы защиты информации на USB-
носителях, а именно выбрано программное шифрование;
сформулированы требования к программной части и выбраны средства
реализации, в том числе язык и среду программирования (C++Builder и RAD
Studio Professional соответственно).
60
3 ГЛАВА 3. РАЗРАБОТКА ПРОГРАММНО-
АППАРАТНОГО КОМПЛЕКСА ДЛЯ ОБЕСПЕЧЕНИЯ
ЗАЩИТЫ ИНФОРМАЦИИ, СОДЕРЖАЩЕЙСЯ НА USB-
НОСИТЕЛЯХ
3.1 Описание структуры программно-аппаратного комплекса
Advanced Encryption Standard (AES), также известный как Rijndael —
симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ
128/192/256 бит), принятый в качестве стандарта шифрования
правительством США по результатам конкурса AES. Этот алгоритм хорошо
проанализирован и сейчас широко используется, как это было с его
предшественником DES[18].
Рассмотрим основные алгоритмы работы программы, которые
описывают шифрование и дешифрование файлов.
61
Начало
Генерация раундовых
ключей AES
Чтение порции данных из
потока-источника (16 бит)
Подсчет контрольной
суммы (GetCRC)
Шифрование порции
Запись результатов
шифрования в поток-
приемник (16 бит)
Конец
потока
достигнут
?
да
нет
Определение размера
потока-источника
Шифрование потока
источника (EncryptInt64) и
запись его в приемник
Шифрование контрольной
суммы (EncryptInt64) и
запись ее в приемник
Конец
Рисунок 18 - Алгоритм шифрования
Шифрование относится к методу класса TAES:
public procedure EncryptStream(Source: TStream; Dest: TStream; UserKey:
uAESCore.TAESUserKey ; Bits: Integer)
Алгоритм работы функции:
1. Генерации раундовых ключей AES.
2. Читаем порцию данных из потока-источника (16 бит).
3. Считаем контрольную сумму (GetCRC);
4. Выполняем шифрование порции.
5. Записываем результаты шифрования в поток-приемник (16 бит).

Смотрите также:

Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран
Work-life balance подход в управлении рабочим временем молодых сотрудников (на примере ООО «МГТ-сервис»)
Актуализация контента, отражающего концепцию «диалога культур», при освоении английского языка взрослыми обучающимися
Актуализация приемов инсценирования и драматизации в рамках интерактивной модели обучения английскому языку в старших классах
Актуальные подходы в построении внутреннего pr строительной компании (на примере ООО "Ренессанспроект")
Анализ деловой активности и экономической эффективности деятельности организации (на примере АО «СГ-Транс»)
Анализ деловой активности организации как инструмент повышения эффективности ее деятельности (на примере Косинского районного потребительского общества)