Курсовая работа

Вид материалаКурсовая

Содержание


Выделение 160 бит
Модуль main
Блок построения идентификационных меток
3.3. Программный модуль для аутентификации программных продуктов
Модуль аутентификации
Блок экспертных оценок
3.4. Специальный модуль для восстановления меток третьего типа
Подобный материал:
1   2

Выделение 160 бит


идентификатор




Рис. 3.2 Преобразование информации в идентификатор


Основной шаг криптопреобразования изображен на рисунке 3.3.





Рис. 3.3 Основной шаг криптопреобразования.


N – преобразуемый 64-битовый блок данных, Х – 32-битовый элемент ключа. Ключ имеет длину 128 бит и вырабатывается на основе клавиатурного почерка пользователя.
  1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат передается на следующий шаг.
  2. Циклический сдвиг на 14 бит влево. Результат предыдущего шага сдвигается циклически на 14 бит в сторону старших разрядов и передается на следующий шаг.
  3. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.
  4. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.
  5. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования.



3.2. Программный модуль для встраивания идентификаторов в РЕ-файлы


Для встраивания идентификационных меток в РЕ-файлы был разработан и реализован программный модуль. Модуль представляет собой Windows-приложение с графическим интерфейсом. С помощью этого приложения пользователь идентифицирует объект защиты, при этом эталонный идентификатор записывается на отчуждаемый носитель. Отчуждаемым носителем может являться гибкий магнитный диск либо электронный ключ. Приложение выполняет следующие функции:
  • создание идентификационных меток на основе авторской информации об управлении правами и других параметров;
  • сохранение эталонной информации на отчуждаемый носитель;
  • внедрение в защищаемый объект скрытой информации об управлении правами;
  • внедрение в защищаемый объект специального модуля, обнаруживающего модификацию (удаление) меток и восстанавливающего их.


Структурная схема разработанного модуля изображена на рисунке 3.4.


МОДУЛЬ MAIN

1. Блок ввода информации

4. Блок внедрения информации

6. Модуль для восстановления меток

3. Блок работы с эталонным идентификатором

5. Драйвер работы с диском


7. Блок работы с РЕ-файлами



2. Блок построения идентификационных меток










Рис. 3.4 Структурная схема модуля main.


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

2. Блок построения идентификационных меток. Блок осуществляет построение идентификационных меток.

3. Блок работы с эталонным идентификатором. В этом блоке осуществляется запись и чтение эталонного идентификатора с ключевого носителя.

4. Блок внедрения информации. В данном блоке вычисляются смещения в файле для внедрения идентификационных меток. Также определяются необходимые преобразования файла.

5. Драйвер работы с диском обеспечивает взаимодействие с гибким магнитным диском.

6. Модуль для восстановления меток. Внедряется в защищаемую программу по желанию пользователя. Восстанавливает метки третьего типа в случае их модификации или удаления.

7. Блок работы с РЕ-файлами. В блоке осуществляются все операции по модификации РЕ-файлов.

Модуль main и все его компоненты реализованы на языке ассемблер для процессоров Intel 486. Модуль функционирует в операционных системах Windows™ 95/98/2000/XP, Windows NT™.


3.3. Программный модуль для аутентификации программных продуктов


Для аутентификации программных продуктов разработан и реализован программный модуль, который представляет собой Windows-приложение. Аутентификация программ производится следующим образом:
  1. На ключевом носителе системе предъявляется эталонный идентификатор.
  2. Строятся эталонные идентификационные метки.
  3. Производится анализ параметров идентифицированного исполняемого файла.
  4. Вычисляются адреса идентификационных меток.
  5. Сравниваются эталонные идентификационные метки со значениями, записанными по определенным адресам.
  6. Производятся экспертные оценки модификации и удаления меток нарушителем.
  7. Выдается экспертное заключение.

Структурная схема модуля изображена на рисунке 3.5.


МОДУЛЬ АУТЕНТИФИКАЦИИ


1. Блок вывода информации

5. Блок чтения эталонного идентификатора

4. Блок экспертных оценок






2. Блок работы с РЕ файлами

3. Блок чтения идентификационных меток



6. Драйвер для работы с диском

Рис. 3.5 Структурная схема модуля аутентификации.

1. Блок вывода информации. Блок осуществляет вывод оценок модификации меток и экспертного заключения.

2. Блок работы с РЕ-файлами. В блоке выполняются операции по чтению РЕ-файлов.

3. Блок чтения идентификационных меток. В этом блоке вычисляются смещения, по которым записаны метки, затем в блок работы с РЕ-файлами передается запрос на чтение меток, после чего прочитанные метки передаются в блок экспертных оценок.

4. Блок экспертных оценок. Получает идентификационные метки из защищенной программы, строит эталонные метки на основе эталонного идентификатора, и проводит экспертные оценки.

5. Блок чтения эталонного идентификатора. Обеспечивает чтение идентификатора с ключевого носителя.

6. Драйвер для работы с диском. Обеспечивает работу с гибким магнитным диском.

Модуль аутентификации и все его компоненты реализованы на языке ассемблер для процессоров Intel 486. Модуль функционирует в операционных системах Windows™ 95/98/2000/XP, Windows NT™.


3.4. Специальный модуль для восстановления меток третьего типа


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

Рассмотрим более подробно работу данного модуля. Стоит напомнить, что модуль разбивается на четыре части и внедряется в случайные места сегмента кода программы. После запуска программы управление получает первая часть модуля. В первой части резервируется небольшой участок памяти, куда копируются все части модуля. Затем происходит восстановление сегмента кода программы. Восстанавливаются байты точки входа, куда после окончания работы модуля передается управление.

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

Восстановление меток происходит следующим образом. Отметим, что операционная система не позволяет открывать для записи EXE-файлы, которые загружены в память и исполняются на данный момент. Чтобы восстановить в программном файле идентификационные метки, модуль генерирует EXE-файл, который сохраняется во временной директории. Затем этот файл запускается и ждет завершения работы модуля, после чего записывает восстановленные метки в программу и запускает ее. После запуска первым получает управление модуль, который удаляет сгенерированный EXE-файл из временной директории и передает управление основной программе.


Заключение


В данной работе были выполнены все поставленные задачи:

  • Произведен анализ методов защиты авторских прав в области ПО.
  • Изучена технологию SILDE идентификации ПО.
  • Разработаны и реализованы стеганографические методы внедрения идентификаторов в РЕ-файлы.
  • Разработан и реализован стеганографический метод внедрения специальных модулей в исполняемые файлы.
  • Разработан и реализован криптографический алгоритм генерации идентификатора ПО.
  • Разработан пользовательский интерфейс.
  • Реализован программный модуль для встраивания идентификаторов в РЕ-файлы.
  • Реализован программный модуль для аутентификации программных продуктов.
  • Разработан и реализован драйвер для работы с ключевым носителем (гибким магнитным диском).


Автоматизированная система идентификации программных продуктов реализована и функционирует в операционных системах Windows™ 95/98/2000/XP, Windows NT™.


Список используемых источников


  1. Ливак Е.Н. Защита информации: Учебное пособие: В 4 ч. Ч 3. Защита авторских прав в области программного обеспечения. – Гродно: ГрГУ, 2000.
  2. Буза М.К., Ливак Е.Н. Автоматизированная система идентификации компьютерных программ. Журнал «Автоматизация и современные технологии» №8, 2002г.
  3. Щербаков А. Защита от копирования. –М.: Издательство «Эдель», 1992.
  4. Крис Касперски. Техника и философия хакерских атак. – М.: Солон – Р, 1999.
  5. Об авторском праве и смежных правах. Закон Республики Беларусь от 16 мая 1996г. N 370-XIII (Ведомости Верховного Совета Республики Беларусь, 1996г., N 20, ст. 366; Ведомости Национального Собрания Республики Беларусь, 1998, N 31-32, ст. 472) В редакции Закона от 11 августа 1998 г. N 194-З (Ведомости Национального Собрания Республики Беларусь, 1998, N 31-32, ст. 472) [Изменения и дополнения: Закон от 11 августа 1998 г. N 194-З (Ведомости Национального Собрания Республики Беларусь, 1998, N 31-32, ст. 472) ]

Приложение. Экраны пользовательского интерфейса






Приложение. Экраны пользовательского интерфейса