Смекни!
smekni.com

Методические указания и варианты заданий к выполнению лабораторных работ по дисциплине «Информационная безопасность в сетях» (стр. 5 из 7)

Упомянутый тест на неприводимость можно заменить более быстрым альтернативным тестом: многочлен

над полем F=
является неприводимым тогда и только тогда, когда
, и
для всех простых делителей k степени n.

Пример. Показать неразложимость многочлена

над полем F2={0,1}.

В данном случае, n=3, q=2. Для вычисления

поделим столбиком
на
и найдем остаток:
. Остаток равен x. Простым делителям числа n=3 являются только k=1, поэтому остается только проверить, что
. Для этого делим первый многочлен на второй и находим остаток
. Теперь по алгоритму Евклида
.

Упражнение 1. Являются ли неприводимыми над полем F2={0,1} трехчлены

,
,
,
,
?

Упражнение 2. Найдите все неприводимые многочлены третьей степени над полем F2.

Упражнение 3. Определите периоды линейных сдвиговых регистров с обратной связью, построенных на основе неприводимых трехчленов, найденных в предыдущих упражнениях.

Упражнение 4. Какой степени должен быть многочлен, чтобы длины порождаемой им им последовательности бит хватило для кодирования сообщения длины 1 гб?

Упражнение 5. Написать программу на каком-нибудь языке программирования, проверяющую является ли заданный многочлен неприводимым над конечным полем F.

Лабораторная работа 3.

Название работы. Разработка клиент-серверного приложения в Delphi.

Цель работы: Изучить современные средства создания клиент-серверных приложений в системе Delphi. Научиться практической работе по организации и решению задач информационной безопасности в сети.

Задание на лабораторную работу. 1. Разработать, используя среду программирования Delphi клиент-серверное приложение для двустороннего обмена информацией между компьютерами в сети. Выполнить пробную передачу и прием данных.

2. Выработать секретный ключ по протоколу Диффи-Хелмана.

3. Провести аутентификацию пользователей по «слово-вызов».

Требования к выполнению задания. Клиентское приложение должно содержать форму, на которой содержатся поля для ввода IP-адреса компьютера – сервера, поле для ввода информации, передаваемое на сервер и поле для получения информации, возвращаемой с сервера.

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

Приложение также должно содержать генератор ключей для протокола Диффи-Хелмана и вычисления секретного ключа.

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

Программно-аппаратные средства. Компьютерная лаборатория, состоящая из компьютеров, соединенных в локальную сеть, пакет Delphi 7 (Delphi 2005).

Задание на лабораторную работу

1. Изучить теоретический материал по данной лабораторной работе.

2. Ознакомиться с указаниями по программированию в на языке Pascal в среде Delphi.

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

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

5. Ответить на контрольные вопросы в конце задания.

Теоретический материал.

Рассмотрим процедуры создания приложений для обмена сообщениями в сети по протоколам TCP/IP.

Разработка ТСР-сервера в Delphi.

1. Нанесем на форму Delphi компоненту TidServer с вкладки IndyServer.

2. В его свойстве Bindings укажем IP-адрес данного компьютера и номер порта, на котором сервер будет ожидать вызова от клиента (номер порта – произвольное число от 1 до 65767, но желательно использовать номера выше 1024, т.к. порты с меньшими номерами зарезервированы для стандартных служб),

3. В свойстве MaxConnections укажите 5 (максимальное число соединений к серверу), в свойство Default Port запишите значение порта по умолчанию, а в свойство Active запишите true.

4. Добавьте на форму элемент типа TMemo для вывода в него сообщений, полученных от клиента,

5. При вызове клиента вырабатывается событие OnExecute элемента IdServer1. Для его обработка откройте вкладку Events Инспектора объектов и щелкните дважды в поле процедуры OnExecute.

6. В открывшей процедуре введите следующий код:

Procedure TForm1.IdTCTServer1Execute(Athread:TidPeerConnection);

Begin

with Athread.Connection do

begin

Memo1.Lines.Add(CurrentReadBuffer);

Writeln(‘Сообщение получено’);

Disconnect;

end;

End;

Приложение TCT-клиент в Delphi.

1. Нанесите на форму элемент TidTCPClient с панели IndyClient, два элемента типа Tedit для ввода сообщений серверу и получения ответа, и кнопку TButton.

2. В свойстве Host элемента TidTCPClient укажите IP-адрес сервера, а в свойстве Port задайте номер порта (тот же, что у сервера).

3. Щелкните дважды по элементу Button1 и в появившемся окне введите следующий код:

Procedure TForm1.Button1click(Sender: TObject);

Begin

IdTCPClient1.Connect;

IdTCPClient1.Writeln(Edit1.Text);

Edit2.Text:= IdTCPClient1.ReadLn;

IdTCPClient1.Disconnect;

End;

4. Добавьте код функции MD5, взятый из описания лабораторной работы №3.

5. Запустите оба приложения и протестируйте полученную программу.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. На какой вкладке Delphi находятся компоненты для создания клиент-серверного приложения?

2. Какие основные свойства надо установить в компоненте Indy Server?

3. Какие основные свойства надо установить в компоненте Indy Client?

4. Какой протокол используют компоненты Indy Server и Indy Client для установления связи по локальной сети? Можно ли использовать приложение в сети Интернет?


ЛАБОРАТОРНАЯ РАБОТА № 4

Название работы. Решение в локальной сети задачи аутентификация пользователей.

Цель. Ознакомиться с основными алгоритмами аутентификации пользователей в сети, электронно- цифровой подписи, сертификации. Разработать комплекс программ в Delphi для пересылки и проверки идентификаторов пользователей, решения задачи распределения секретного ключа, идентификации посланий на основе электронно- цифровой подписи и сертификатов.

Программно-аппаратные средства. Компьютерная лаборатория, состоящая из компьютеров, соединенных в локальную сеть, пакет Delphi 7 (Delphi 2005).

Задание на лабораторную работу

1. Изучить теоретический материал по данной лабораторной работе.

2. Разработать программный комплекс в среде Delphi генерации параметров метода RSA и пересылки (публикации) открытого ключа в сети.

3. Реализовать алгоритм генерации электронно- цифровой подписи с использование закрытого ключа метода RSA и функции хеширования MD5.

4. Реализовать алгоритм проверки электронно- цифровой подписи с использование открытого ключа метода RSA и функции хеширования MD5.

5. Выполнить пробную пересылку данных в рамках локальной сети компьютерного класса, снабженных ЭЦП. Вставить в отчет полученные данные, описать методику выполнения задания.

6. Ответить на контрольные вопросы в конце задания.

Теоретический материал.

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

Хеш-функции

Хеш-функции играют в информационной защите важную роль, создавая для электронного документа его «моментальный снимок» и тем самым защищая документ от дальнейшей модификации или подмены.

В широком смысле функцией хеширования называется функция H, удовлетворяющая следующим основным свойствам:

1. Хеш-функция Н может применяться к блоку данных любой длины.

2. Хеш-функция Н создает выход фиксированной длины (равно, например, 128 бит для классической функции хеширования MD5, и 160 бит для функции SHA1).

3. Н (М) вычисляется относительно быстро (за полиномиальное время от длины сообщения М).