- •1.Системы счиления и операции, применяемые в ip – сетях
- •2. Аутентификация, авторизация и учёт
- •3. Маршрутизация в ip-сетях
- •4.Обслуживание очередей в маршрутизаторе
- •5. Технология коммутация по меткам
- •6. Методы защиты информации в ip-сетях
- •3. Корпоративная сеть// [Электронный ресурс] url: http://studzona.Net/Informatika-Programmirovanie/Korporativnaya-set.Html (дата обращения: 15 сент. 2012).
6. Методы защиты информации в ip-сетях
Для
предотвращения чтения и подмены
перехваченных сообщений легальные
пользователи используют шифрование.
Шифрование состоит в том, что элементы
исходного текста сообщения Р различным
образом перемешиваются с неизвестным
злоумышленнику псевдослучайным текстом,
называемым ключом K1 и в виде зашифрованного
текста C=Ek1(P)
передаются
в канал связи. Легальный пользователь,
применяя к принятому сообщению С
процедуру дешифрировании D
ключом К2 получает исходный текст DK2(C)=
Dk2(EK1)(P))=P.
В приведенных записях E
и D-
некие математические функции, а К1
необязательно равно К2. Значение ключа
известно только легальным пользователям.
Для повышения криптостойкости системы
значения ключей периодически меняются.
Существует несколько способов защиты информации.
Несимметричный алгоритм шифровании с открытыми ключами основан на алгоритме Диффи-Хеллмана и предполагает наличие у легального пользователя пары ключей таких, что текст, зашифрованный одним ключом, может быть расшифрован только с помощью второго ключа. Один из ключей К1=е является открытым, его легальный пользователь раздаем всем, от кого он хочет получать зашифрованную информацию. Другой ключ К2= d открытый, его пользователь хранит в защищенном месте. Наиболее известная реализация алгоритма, именуемая RSA, реализуется следующим образом.
Выбирается два простых числа, например, р = 7, q =11.
Вычисляется произведение n = p*q = 7* 11 =77.
Вычисляется произведение m = (p-l)*(q-l) = 6*10 = 60.
Выбирается открытый ключ е = 13, как случайное число, не имеющее общих сомножителей с m = 60.
Вычисляется закрытый ключ, как число обратное значению открытого ключа по модулю т, т.е. такое, что mod m e*d = 1, откуда d = 37.
Производится рассылка открытого ключа (п=77, е 13) легальным пользователям. Закрытый ключ (n=77, d=37) хранится в секрете.
Если легальный пользователь 1 собирается отправить пользователю 2 сообщение (например, символ А = 47 < n). то он шифрует его с использованием открытого ключа пользователя 2 как В = mod n Аe = mod 77 4713 = 5. Пользователь 2 дешифрирует полученное значение В с помощью закрытого ключа как mod n Вd= mod 77 537=47=А. Заметим, что дешифрировать сообщение В с помощью открытого ключа легальный пользователь 1 не может, т.к. mod n Вe = mod 77 513= 26 ≠ А.
Часто на практике используется симметричный алгоритм шифрования с открытыми ключами, который выглядит следующим образом.
Каждый пользователь сети имеет свой закрытый ключ Dj. Пусть, например, пользователь 1 имеет закрытый ключ D1 =3. Инициатор соединения (пользователь 1) выбирает наугад два числа, например, g=5, п=17 и отсылает пользователю 2 значения g=5, п=17 и yl= mod n gD1= mod 17 125 = 6. Заметим, что значению у1 =6 при известном g=5 и п=17 соответствует множество значений D1, а именно, 3, 19, 35, ... Пользователь 2, имея закрытый ключ D2 = 7, проделывает аналогичную процедуру, высылая у2 mod n gD2= mod 17 78125 = 10. Затем каждый пользователь в отдельности вычисляем общий ключ: пользователь 1 по формуле К = mod n (у2)D1 = mod 17 103=14,а пользователь 2 - по формуле К= modn(yl)D2=mod 1767= 14. В дальнейшем общий ключ используется как симметричный для двухстороннего обмена информацией. Для повышения криптостойкости:
1) Периодически меняют значения чисел g, n, Dj.
2)значения чисел g, n, Dj выбирают из большого диапазона случайных чисел, например, от 100 до 1024. В сети с N абонентами требуется всего N ключей.
Односторонний
алгоритм шифрования
применяется для проверки целостности
данных. Существо преобразования состоит
в том, биты исходного текста Р произвольной
длины перемешиваются и сжимаются по
определенному известному алгоритму.
Такое преобразование называется
дайджест-функцией (digest
function)
или хэш-функцией, а результат - дайджестом
Н(Р). Полученный дайджест намного короче
исходного текста и по нему невозможно
восстановить исходный текст. Вероятность
неопознанной подмены текста зависит
от длины дайджеста А и вычисляется как
2-A.
Существуют два наиболее распространенных
алгоритма вычисления дайджеста: MD5
и SHA-1.
Первый из них формирует дайджест длиной
128 разрядов, второй - 160 разрядов. Затем
полученный дайджест шифруется с помощью
секретного (или
закрытого)
ключа К, образуя цифровую подпись
К(Н(Р)). Исходный открытый текст вместе
с цифровой подписью передается в канал
связи. Легальный получатель с использованием
такого же секретного (или открытого
ключа) дешифрирует цифровую подпись,
получая исходный дайджест, а затем
заново вычисляет дайджест из принятого
открытого текста. Если вычисленный
дайджест совпадает с исходным, принятым
из канала связи, то принятый текст не
был подвергнут никаким изменениям, что
дает получателю уверенность в целостности
принятых данных.
Задание 9.
Написать процедуру передачи текста F=Y1Y2Y3Y4, заверенного цифровой подписью, используя индивидуальные данные Yl, Y2, YЗ, Y4 и параметры открытого (n=33, е=7) и закрытого (n=33, (d=3) ключей.
Формирование дайджеста.
Предположим, что дайджест формируется путем вычислением остатка от деления исходного текста на S=23 (длина дайджеста 5 бит).
Производим требуемые операции.
Берем исходный текст (число) М = F = Y1 Y2 Y3 Y4 =303714.
Вычисляем дайджест А = modsМ = mod 23 303714=22.
Формирование цифровой подписи.
Цифровая подпись представляет собой зашифрованный дайджест закрытым ключом. Пользователь шифрует полученный дайджест А = 22 с помощью своего закрытого ключа как:
В = mod n Аd = mod 33 223 =22.
Передача исходного текста с цифровой подписью.
Пользователь отправляет открытый текст символов F=303714, заверенный цифровой подписью В=22.
Прием и проверка текста.
Легальный принимающий пользователь из полученного сообщения по тому же алгоритму вычисляет дайджест принятого текста А = mod s М=mod 23 303714= 22, а затем проверяет подлинность текста с помощью открытого ключа как:
mod
n
Вe
= mod
33
227=
22 = А. Совпадение вычисленного дайджеста
А=22 с дайджестом, принятым из канала
связи удостоверяет подлинность принятого
текста F=303714.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ.
1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии,
протоколы: Учебник для вузов. 3-е изд. – СПб: Питер, 2006. – 958 с. : ил.
2. Кожанов Ю.Ф., Интерфейсы и протоколы сетей следующего поколения, СПб.:, 2009. – 262 с.: ил.
