МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Защита данных от несанкционированного доступа

    1) Инсталляционный модуль.

    2) Оболочка программы (написана с использованием Turbo Vision 2.0).

    3) Криптографическая защита (Borland Pascal 7.0).

    4) Защита программ паролем (TASM 3.0).

    5) Защита программ с помощью ключевой дискеты (TASM 3.0).

    6) Блокировка винчестера (TASM 3.0).

    3. 1 Инсталляционный модуль

    Модуль инсталляции будет устанавливать программу на винчестер в

    определенный каталог, а также осуществлять привязку программы к уникальным

    идентификаторам BIOS.

    КП 46.41010.301 ПЗ

    3. 2. Оболочка программы

    При создании интерактивного пользовательского интерфейса (оболочки

    программы) использовались стандартные объекты пакета Turbo Vision.

    Горизонтальное двухуровневое меню, строка состояния, рабочее поле,

    диалоговые окна, информационные сообщения и сообщения об ошибках,

    поддержка “мыши” — вот некоторые атрибуты оболочки.

    3. 2. Криптографическая защита

    Перед описанием алгоритма следует ввести некоторые термины.

    Зашифрованием данных называется процесс преобразования открытых данных

    в зашифрованные с помощью шифра, а расшифрованием данных — процесс

    преобразования закрытых данных в открытые с помощью шифра.

    Шифрованием называется процесс зашифрования или расшифрования данных.

    Дешифрованием будем называть процесс преобразования закрытых данных в

    открытые при неизвестном ключе и, возможно, неизвестном алгоритме.

    Криптографическая защита — это защита данных с помощью

    криптографического преобразования, под которым понимается преобразование

    данных шифрованием.

    Уравнение зашифрования — соотношение, описывающее процесс образования

    зашифрованных данных из открытых данных в результате преобразований,

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

    Уравнение расшифрования — соотношение, описывающее процесс образования

    открытых данных из зашифрованных данных в результате преобразований,

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

    Под шифром понимается совокупность обратимых преобразований множества

    открытых данных на множество зашифрованных данных, заданных алгоритмом

    криптографического преобразования.

    Криптостойкостью называется характеристика шифра, определяющая его

    стойкость к дешифрованию. Обычно эта характеристика определяется периодом

    времени, необходимым для дешифрования [6].

    Принцип зашифрования заключается в генерации гаммы шифра с помощью

    датчика псевдослучайных чисел (ПСЧ) и наложением полученной гаммы на

    открытые данные с

    КП 46.41010.301 ПЗ

    помощью логической операции “исключающее ИЛИ” (т. е. обратимым образом).

    Процесс расшифрования данных сводится к повторной генерации гаммы

    шифра при известном ключе и наложению такой гаммы на зашифрованные данные.

    Полученный зашифрованный текст является достаточно трудным для раскрытия в

    том случае, когда гамма шифра не содержит повторяющихся битовых

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

    образом для каждого шифруемого слова. Фактически если период гаммы

    превышает длину всего зашифрованного текста и неизвестна никакая часть

    исходного текста, то шифр можно раскрыть только прямым

    перебором (подбором ключа). В этом случае криптостойкость определяется

    размером ключа.

    Чтобы получить линейные последовательности элементов гаммы,

    используются датчики ПСЧ. К настоящему времени на основе теории групп

    разработано несколько типов таких датчиков.

    В своей программе я использовал так называемый конгруэнтный генератор

    ПСЧ — наиболее доступный и эффективный. Для этого класса генераторов ПСЧ

    можно сделать математически строгое заключение о том, какими свойствами

    обладают выходные сигналы этих генераторов с точки зрения периодичности и

    случайности.

    Данный линейный конгруэнтный датчик ПСЧ вырабатывает

    последовательности псевдослучайных чисел T(i), описываемые соотношением

    [pic] (1)

    T(0) — исходная величина, выбранная в качестве порождающего числа.

    Этот датчик ПСЧ генерирует псевдослучайные числа с определенным

    периодом повторения, зависящим от выбранных значений A и C. Значение М

    обычно устанавливается равным 2b, где b — длина слова ЭВМ в битах. Датчик

    имеет максимальный период М до того, как генерируемая последовательность

    чисел начнет повторяться. Линейный конгруэнтный датчик ПСЧ имеет

    максимальную длину М тогда и только тогда, когда A mod 4 = 1 и С —

    нечетное. В своей программе я положил А = 5, С = 27, Т(0) — пароль,

    вводимый пользователем.

    С полученной последовательностью Т(i) поступают следующим образом:

    F(i) = T(i) xor D(i) (2)

    Где в (2) D(i) — последовательность открытых данных, F(i) —

    последовательность

    КП 46.41010.301 ПЗ

    зашифрованных данных [4].

    Также при разработке алгоритма шифрования использовался алгоритм

    американского федерального стандарта на шифрование данных — Data

    Encryption Standard (DES).

    При зашифровании входные данные шифруются по формуле (2), далее

    обрабатываются блоками по 64 слова (word). Эта обработка заключается в

    следующем: :4 слова переставляются в соответствии с таблицей, изображенной

    на рис. 2:

    |40 |8 |48 |16 |56 | 24 |64 |32 |

    |39 |7 |47 |15 |55 |23 |63 |31 |

    |38 |6 |46 |14 |54 |22 |62 |30 |

    |37 |5 |45 |13 |53 |21 |61 |29 |

    |36 |4 |44 |12 |52 |20 |60 |28 |

    |35 |3 |43 |11 |51 |19 |59 |27 |

    |34 |2 |42 |10 |50 |18 |58 |26 |

    |33 |1 |41 |9 |49 |17 |57 |25 |

    Рис. 2. Перестановка после зашифрования.

    Как видно из данной таблицы, слово 40 входной последовательности

    становится 1-ым, слово 8 — 2-ым и т. д.

    Процесс расшифрования данных является инверсным относительно процесса

    зашифрования. Т. е. данные сначала переставляются в соответствии с

    таблицей, изображенной на рис. 3, а затем преобразуются по формуле (2).

    Как легко видеть, данная перестановка является обратной по отношению к

    начальной.

    |58 |50 |42 |34 |26 |18 |10 |2 |

    |60 |52 |44 |36 |28 |20 |12 |4 |

    |62 |54 |46 |38 |30 |22 |14 |6 |

    |64 |56 |48 |40 |32 |24 |16 |8 |

    |57 |49 |41 |33 |25 |17 |9 |1 |

    |59 |51 |43 |35 |27 |19 |11 |3 |

    |61 |53 |45 |37 |29 |21 |13 |5 |

    |63 |55 |47 |39 |31 |23 |15 |7 |

    Рис. 3. Перестановка перед расшифрованием

    КП 46.41010.301 ПЗ

    4. Описание программы

    При написании программы использовались следующие стандартные

    библиотеки Borland Pascal 7.0 и Turbo Vision 2.0:

    . Модуль Objects. Модуль Objects содержит основные определения

    объектов Turbo Vision, включая базовый объект иерархии Turbo Vision

    TObject, а также все невидимые элементы Turbo Vision: потоки,

    коллекции и ресурсы.

    . Модуль App. Модуль App (предоставлен в исходных кодах)

    обеспечивает элементы оболочки Turbo Vision. 4 очень мощных

    объектных типа определены в App, включая объекты TApplication и

    TProgram, которые служат в качестве программ Turbo Vision и

    объект панели экрана, который управляет большинством элементов в

    оконных программах.

    . Модуль Views. Модуль Views содержит основные компоненты видимых

    элементов и полезные компоненты более сложных групп, таких как рамки

    окон и полосы скроллинга. Более сложные видимые элементы

    находятся в модулях Dialogs и TextView.

    . Модуль Dialogs. Модуль Dialogs определяет большинство элементов

    наиболее часто используемых при создании диалоговых окон.

    Этот модуль включает сами диалоговые окна (которые являются

    специализированными окнами) и различные элементы управления, такие

    как кнопки, метки, зависимые и независимые кнопки, строки ввода и

    списки истории.

    . Модуль Menus. Модуль Menus обеспечивает все объекты и процедуры для

    системы меню Turbo Vision, включая выпадающие меню и активные

    элементы строки статуса.

    . Модуль Drivers. Модуль Drivers содержит все специализированные

    драйверы Turbo Vision, включая драйверы мышки и клавиатуры,

    поддержку экрана и систему обработки ошибок с монитором событий для

    программ, управляемых событиями.

    . Модуль Memory. Модуль Memory содержит процедуры монитора памяти

    Turbo Vision, которые обеспечивают функции управления кучей.

    . Модуль CRT. Модуль CRT содержит константы, переменные и

    подпрограммы, предназначенные для работы с консолью. В отличие от

    стандартного ввода-вывода,

    КП 46.41010.301 ПЗ

    когда он осуществляется через операционную систему, подпрограммы

    этого модуля работают с BIOS и непосредственно с видеопамятью.

    . Модуль DOS. Модуль DOS позволяет использовать возможности

    операционной системы MS-DOS, не предусмотренные в стандарте языка

    Паскаль, и содержит типы, константы, переменные и для реализации

    этих дополнительных возможностей.

    Кроме вышеперечисленных стандартных модулей был разработан модуль

    SetConf, в котором находится функция привязки программы к BIOS компьютера,

    т. е. защита от копирования.

    При запуске программы в первую очередь проверяется целостность

    системы; т. е. наличие всех файлов системы, соответствуют ли их имена и

    размеры таблице. Далее происходит инициализация: проверяются параметры

    BIOS. Если какой либо файл системы был изменен или параметры BIOS не

    соответствуют установленным в программе, система работать не будет. Для

    входа в систему необходимо ввести пароль. Эти проверки осуществляются в

    конструкторе Init объекта TMyApp. Этот же объект инициализирует меню

    (TMyApp.InitMenu), строку состояния (TMyApp.InitStatusLine), рабочее поле

    (TMyApp.InitDeskTop), устанавливает специальную цветовую палитру

    (TMyApp.GetPalette). Обработка событий (нажатие клавиш клавиатуры, работа

    с “мышью”) осуществляется в методе HandleEvent объекта TMyApp. При выборе

    какого-либо пункта меню управление передается соответствующему объекту или

    вызывается нужная подпрограмма.

    В программе используются следующие процедуры, функции и объекты:

    1. Shifr (процедура). Зашифрование файлов любого типа. Сначала получаем

    пароль от пользователя, затем создаем файл зашифрованных данных

    (*.M&A). Исходный файл считывается блоками по 64 word, кодируется с

    помощью генератора ПСЧ, затем переставляется в соответствии с

    таблицей, изображенной на рис. 2. Полученную последовательность

    записываем в файл с расширением *.M&A и т. д.

    2. DeShifr (процедура). Расшифрование файлов, зашифрованных процедурой

    Shifr.

    3. Plus (процедура). Установка защиты паролем или по ключевой дискете

    на программы.

    4. Block (процедура). Защита винчестера от записи.

    5. Passwords (процедура). Изменение пароля входа в программу. Сначала

    запрашивает старый пароль, затем два раза новый.

    6. TOptions ( объект, потомок объекта TDialog). Выводит диалоговое окно

    изменения

    КП 46.41010.301 ПЗ

    настроек шифрования файлов: удалять или не удалять исходный файл,

    высвечивать или не высвечивать индикатор процесса шифрования.

    7. CheckExec (процедура). Обрабатывает ошибки DOS.

    5. Описание применения программы

    Программа предназначена для защиты данных от несанкционированного

    доступа; в ней реализованы следующие функции:

    . шифрование файлов;

    . защита паролем исполняемых файлов;

    . защита исполняемых файлов с помощью ключевой дискеты;

    . отслеживание и реакция на ошибки;

    . изменение паролей;

    . привязка к BIOS.

    Установка системы происходит с ключевой дискеты программой

    INSTALL.EXE, которая проверяет не была ли установлена система ранее; если

    нет, то создает на винчестере каталог C:\SUB ROSA и копирует в него файлы

    системы (Sub Rosa.exe, Block, KeyDisk, Plus, Passw, Setup.res,

    System.res).

    При запуске программы Sub Rosa.exe сначала проверяется наличие всех

    файлов системы. Если хотя бы один файл изменен или удален, то система

    работать не будет. Для работы с программой необходимо ввести пароль.

    В верхней части экрана находится полоска меню, состоящая из следующих

    пунктов:

    1. “Файлы”:

    — “Выбрать” (выбор файла для работы);

    — “Сменить каталог” (смена текущего каталога);

    — “Выход в DOS” (временный выход в DOS);

    — “Завершение” (завершение работы с программой);

    2. “Защита”:

    — “Установить пароль” (защита EXE- и COM-файлов паролем);

    — “Блокировать винчестер” (запрет записи любых данных на винчестер);

    КП 46.41010.301 ПЗ

    3. “Ключевая дискета”:

    — “Добавить проверку по ключу” (защита EXE- и COM-файлов с помощью

    ключевой дискеты);

    4. “Криптография”:

    — “Зашифровать файл данных” (зашифрование выбранного файла);

    — “Расшифровать файл данных” (расшифрование выбранного файла);

    5. “Настройки”:

    — “Криптография” (изменение настроек криптографии);

    — “Пароли” (изменение пароля входа в систему);

    6. “О Программе” (информация о программе).

    Во всех случаях , кроме блокировки винчестера, сначала необходимо

    выбрать файл для работы. Для установки защиты паролем или по ключевой

    дискете выбирается EXE- или COM-файл, для шифрования — файл любого типа.

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

    В заключении проведем анализ некоторых систем защиты от копирования.

    Следует отметить, что этот анализ не является исчерпывающим, так как эти

    системы постоянно развиваются, а также не всегда можно получить

    исчерпывающее описание алгоритмов — разработчики не стремятся раскрывать

    принципы их построения.

    RANK — пакет защиты от НСД. Этот пакет реализует функцию контроля

    доступа к EXE- и COM-файлам. Следует отметить, что анализ разграничения

    доступа к программам ставит под серьезное сомнение возможность реализации

    такой функции без дополнительных мероприятий.

    LATCH — комплекс программ защиты ПЭВМ от НСД. Этот комплекс

    обеспечивает безопасность данных , хранящихся на винчестере. При

    несанкционированном доступе происходит “зависание” ПЭВМ или не

    обнаруживается НЖМД.

    Тезис о невозможности обнаружения НЖМД вызывает серьезные сомнения:

    например, для контроллеров SCSI не требуется определение типа НЖМД в

    памяти CMOS, так как параметры винчестера могут быть считаны с помощью

    команды контроллера.

    Приложение 1

    Листинг программы

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    {**

    **}

    {** КП "ЗАЩИТА ДАННЫХ ОТ НСД"

    **}

    {** Выполнили учащиеся гр.46491 ЕГАНОВ МАКСИМ и ЮЗЕФОВИЧ АРТЕМ

    **}

    {** 1996

    **}

    {**

    **}

    {**************************************************************************

    **}

    {**************************************************************************

    **}

    {$M 10240, 0,20480} {Распределение памяти}

    Program Sub_Rosa;

    Uses

    App, Dialogs, Drivers, Menus, MsgBox, Objects,

    Validate, Views, Memory, StdDlg, Editors, {Модули Turbo Vision, далее -

    TV}

    CRT, DOS, {Стандартные модули}

    SetConf; {Модуль функции привязки к BIOS}

    Var

    MyRes : TResourceFile; {Переменная файла ресурсов, TV}

    FName, MainDir, DName: string; {Переменные работы с файлами и

    каталогами}

    MainPass, Pass : string; {Переменные паролей}

    Pos : string[3];

    FilePass : file of char; {Переменная файла паролей}

    OptFile, OptInd : word; {Переменные опций}

    Int09_Save : pointer; {Переменная адреса 09h прерывания}

    Const {Константы кодов команд, TV}

    cmAboutBox = 700; {Окно "О Программе"}

    cmCode = 1001; {Кодировать файл}

    cmDeCode = 1002; {Декодировать файл}

    cmSetPass = 1005; {Установить пароль на вход в систему}

    cmLockDisk = 1006; {Запретить доступ к винчестеру}

    cmOptions = 1007; {Опции криптографии}

    cmKeyDisk = 1008; {Ключевая дискета}

    cmPasswords = 1009; {Пароль на исполняемый файл}

    cmChangePass= 1010; {Сменить пароль на вход в систему}

    SetPass = 'passw.com';

    KeyDisk = 'keydisk.com';

    Страницы: 1, 2, 3, 4, 5, 6, 7


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.