Аутентификация, авторизация и учет

СОДЕРЖАНИЕ

 

Предисловие ………………………………………………………………………………4

Тема 1. Системы счисления и операции, применяемые в IP-сетях ……………………5

Тема 2. Аутентификация, авторизация и учет ………………………………………..…7

Тема 3. Маршрутизация в IP-сетях……………………………………….…………………10

 

 


 

ПРЕДИСЛОВИЕ

 

Задачей курсового проектирования является, во-первых, освоение студентами систем счисления и ознакомление с типовыми операциями, применяемых в IP-сетях. Второй задачей является ознакомление студентов с типовой структурой корпоративной сети и с процедурами аутентификации, авторизации и учета. Наконец, третьей задачей является ознакомление студентов с принципами марщрутизации в IP-сетях.

Указанные темы изложены в трех разделах. К каждому разделу прилагается несколько заданий с использованием персональных исходных данных.

В качестве персональных исходных данных используются последние четыре цифры зачетной книжки – Х1, Х2, Х3, Х4, где Х4 – последняя цифра. Эти цифры для исключения варианта, когда Х1=Х2=Х3=Х4=0, преобразуются в переменные

Y1 = 10*X4 + 3

Y2 = Y1 + X3

Y3 = Y1 + X2

Y4 = Y1 + X1

Значения Y1, Y2, Y3 и Y4 используются в последующих заданиях.

 

 


 

 

Системы счисления и операции, применяемые в IP-сетях

Система счисления состоит из символов и правил их применения. Вес каждого символа зависит от его позиции в изображаемом числе. Счет позиции ведется справа налево, самый правый символ имеет наименьший вес, самый левый – наибольший.

Наиболее распространенной является десятичная система счисления. Она использует десять символов – 0,1,2,3,4,5,6,7,8,9. Вес первого (самого правого) символа числа умножается на 100, следующего – на 101 и т.д. Например, десятичное число 3567 представляется как 3*103 + 5*102 +6*101 +7*100 = 3567.

Цифровые вычислительные устройства используют двоичную систему счисления (двоичный код). Она использует два символа – 0 и 1. Вес первого (самого правого) символа числа умножается на 20, следующего – на 21 и т.д. Например, десятичное число 3567 в двоичном коде представляется как 1*211 + 1*210 +0*29 +1*28 +1*27 + 1*26 + 1*25 +0*24+ 1*23 + 1*22 +1*21 +1*20 = 11101111011112 = 2048 + 1024 + 256 + 128 + 64 + 32 + 8 + 4 + 2 + 1 = 3567.

При описании проколов IP-сетей для сокращения записи вместо двоичного кода используют шестнадцатеричную систему счисления. Она использует шестнадцать символов – 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Соответствие между значениями символов в десятичной, двоичной и шестнадцатеричной системе счисления приведено в табл. 1.

 

Табл.1

Десятичный код Двоичный код Шестнадцатеричный код
A
B
C
D
E
F

 

Вес первого (самого правого) символа числа умножается на 160, следующего – на 161 и т.д. Например, десятичное число 3567 в шестнадцатеричном коде представляется как 13*162 + 14*161 + 15*160 =D*162 + E*161 + F*160 = 0xDEF = 0хdef, где символ “0х” обозначает запись числа в шестнадцатеричном коде. Разницы между заглавными и прописными символами нет.

Для коммутации в IP-сетях используют IP-адрес, состоящий из 32 двоичных символов (битов). Для удобства работы это двоичное число разбивают на 4 группы по 8 битов, каждую группу представляют в десятичном коде и отделяют одну группу от другой точкой. Такой способ представления IP-адреса называется десятично-точечным представлением. Например, пусть Y1=73, Y2=58, Y3=85 и Y4=167. Тогда десятично-точечное представление IP-адреса Y1.Y2.Y3.Y4 в двоичном и шестнадцатеричном коде имеет вид табл.2.

Табл.2

Десятично-точечное представление IP-адреса 73. 58. 85. 167
IP-адрес в двоичном коде 01001001. 00111010. 01010101. 10100111
IP-адрес в шестнадцатеричном коде 49. 3А. 55. А7

Задание 1.

В виде табл.2 представить IP-адрес Y1.Y2.Y3.Y4.

 

 

Для шифрования информации в IP-сетях часто применяют операцию вычисления числа M по модулю n, которое записывается в виде W = mod n M и находится как остаток от деления M/n. Например, пусть Y1=73, Y2=58, Y3=85, Y4=167, M= Y1Y2Y3Y4=735885167, n=5. Требуется найти значение W=mod n M = mod5735885167. Рекомендуется следующий алгоритм вычисления W на калькуляторе.

1. Находим частное от деления w1 = M/n = 735885167/5 = 147177033.4;

2. Находим целую часть частного w2 = INT(w1) = 147177033;

3. Находим произведение w3 = n*w2 = 735885165;

4. Находим искомое W= W=mod5735885167= M – w3 = 2.

Задание 2.

Найти mod 19 Y1Y2Y3Y4.

 

При вычислении маршрута в IP-сетях используют логическую операцию “И” поразрядного сложения чисел. Правило сложения разрядов с помощью логической операции “И”: 0+0=0, 0+1=0, 1+0=0, 1+1=1. Например, результатом логического сложения по “И” чисел Y1=73, Y2=58 будет

Y1è 010010012

Y2è 001110102

--------------------

000010002 è 8

 

Задание 3.

Найти результат сложения чисел Y1 и Y2, используя операцию логического сложения “И”.

 


 

Аутентификация, авторизация и учет

Типовая структура корпоративной сети приведена на рис. 1. На ней изображены

· вспомогательный (Proxy) сервер, основными функциями которого является коммутация трафика между интерфейсами Int-1, Int-2 и Int-3 в соответствии со списками доступа администратора;

· хосты локального и удаленного пользователя;

· Серверы

DHCP для конфигурирования хостов,

AAA для аутентификации, авторизации и учета,

е-mail для обработки почтовых сообщений,

DB1и DB2 для хранения документации группового использования.

 

       
 
 
   
Рис. 1. Типовая схема корпоративной сети

 


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

Аутентификация – установление легитимности абонента посредством запроса его имени и пароля. При попытке подключения пользователя к корпоративной сети proxy-сервер запрашивает его имя и пароль. Полученный ответ сравнивается с записью в списке доступа вида: имя пользователя (Name или User ID) – пароль (Password), которая внесена администратором сети и хранится на ААА-сервере. Аутентификация может осуществляться при помощи двух протоколов – Password Authentication Protocol (PAP) и Challenge Handshake Authentication Protocol (CHAP), являющимися составными частями протокола PPP.

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

При использовании протокола CHAP proxy-сервер посылает удаленному хосту пользователя некоторое случайное число V, а хост возвращает другое число W, вычисленное по заранее известной функции с использованием имени (Name) и пароля (Password). Иначе говоря, W=f(V, Name, Password). Предполагается, что злоумышленник в состоянии перехватить пересылаемые по сети значения V, Name и W, и ему известен алгоритм вычисления функции f. Существо формирования W состоит в том, что исходное элементы (биты) случайного числа V различным образом “перемешиваются” с неизвестным злоумышленнику элементами пароля Password. Затем полученный зашифрованный текст подвергается сжатию. Такое преобразование называется дайджест-функцией (digest function) или хэш-функцией, а результат – дайджестом. Точная процедура формирования дайджеста определена алгоритмом MD5 и описана в [RFC 1321, PS]. Proxy-сервер запрашивает у ААА-сервера истинное значение W, пересылая ему значения Name и Challenge=V. Сервер AAA на основании полученных от proxy-сервера значений V и Name и имеющегося у него в базе данных пароля Password по тому же алгоритму вычисляет W и возвращает его proxy-серверу. Proxy-сервер сравнивает два значения W, полученных от хоста и от ААА-сервера: если они совпадают, то хосту посылается сообщение об успешной аутентификации.

После успешной аутентификации пользователя proxy-сервер на основании списка управления доступом производит авторизацию, т.е. определяет к каким серверам DB1 и DB2 группового использования может обращаться пользователь, а сервера DB1 и DB2 определяют какие операции (только чтение или чтение/запись) он может осуществлять.

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

На рис. 2 приведена процедура авторизации пользователя со следующими исходными данными: имя пользователя (Name) Ivanov, пароль (Password = K1m), случайное число (V) 123456. Процедура перемешивания состоит в последовательном перемешивании полубайтов пароля и случайного числа. Вычисление дайджеста состоит в вычислении остатка перемешенного числа по модулю Password .

 
 

 

 


Рассмотрим вычисление полей протокола аутентификации подробно.

· В первом сообщении proxy-сервер запрашивает (code=01) по протоколу аутентификации CHAP (Protocol = 0xc223) у удаленного пользователя ответ на случайное число V = 123456 = 0x1E240. Хост удаленного пользователя производит следующие операции.


 

1. Подставляет имя пользователя, используя таблицу кодов ASCII (табл. 3).

Табл. 3

  (0) 000 (1) 001 (2) 010 (3) 011 (4) 100 (5) 101 (6)110 (7) 111
(0) 0000 NUL DLE SP @ P ' p
(1) 0001 SOH DC1 ! A Q a q
(2) 0010 STX DC2 B R b r
(3) 0011 ETX DC3 # C S c s
(4) 0100 EOT DC4 $ D T d t
(5) 0101 ENQ NAK % E U e u
(6) 0110 ACK SYN & F V f v
(7) 0111 BEL ETB ' G W g w
(8) 1000 BS CAN ( H X h x
(9) 1001 HT EM ) I Y i y
(a) 1010 LF SUB * : J Z j z
(b) 1011 VT ESC + ; K [ k {
(c) 1100 FF IS4 , < L \ l |
(d) 1101 CR IS3 - = M ] m }
(e) 1110 SO IS2 . > N ^ n ~
(f) 1111 S1 IS1 / ? O _ o DEL

 

Для определения двоичного кода символа следует к коду колонки приписать код строки, а для определения шестнадцатеричного – к значению кода колонки приписать значение кода строки. В соответствии с табл.3 имя пользователя Ivanov представляется как 0x4976616e6f76, а пароль K1m – как 0х4b316d.

2. Перемешивает байты пароля 0х4b316d и случайного числа 0х01e240, получая перемешенное число F=0x40b13e1264d0.

3. Вычисляет ответ как W = mod Password F = mod0х4b316d 40b13e1264d0 = mod 4927853 71129994781904 = 4493476 = 0x448cbc.

· Во втором сообщении хост возвращает ответ в виде Name=0x4976616e6f76 и W = 0x448cbc.

· В третьем сообщении proxy-сервер запрашивает истинное значение W у ААА-сервера, посылая ему те же значения Name и V.

· В четвертом сообщении proxy-сервер получает от ААА-сервера истинное значение W, соответствующее Name=0x4976616e6f76 и V=0x1E240.

· В пятом сообщении proxy-сервер подтверждает (code=03) легитимность пользователя.

 

Задание 4.

В виде рис.2 представить процедуру аутентификации при следующих исходных данных:

Имя пользователя (Name) – фамилия студента,

Пароль (Password) - Y1Y2,

Случайное число (V=Challenge) - Y3Y4.


Маршрутизация в IP-сетях

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

Табл. 4

Класс Первые биты IP-адреса Наименьший номер сети Наибольший номер сети Максимальное число сетей Макс. число узлов в каждой сети
A 0.0.0.0 127.0.0.0 2 7 – 2 2 24 – 2
B 128.0.0.0 191.255.0.0 2 14 – 2 2 16 – 2
C 192.0.0.0 223.255.255.0 2 21 – 2 2 8 – 2
D 224.0.0.0 255.255.255.255   Групповые адреса
E 240.0.0.0 255.255.255.255   Эксерим.+Резерв

 

Большие сети используют адреса класса А, средние – класса В, маленькие – класса С.

В IPv4 существуют определенные соглашения об использовании адресов.

1. Сеть с номером 0.0.0.0 зарезервирована для использования в служебных сообщениях, а сеть с номером 127.0.0.0 используется для петлевого соединения (пересылки пакетов самим себе), поэтому общее количество сетей класса А равно 126.

2. Маршрутизация пакета в публичной сети всегда производится на основании классического IP-адреса номера сети, согласно табл. 1.1, поэтому адрес сети не может быть назначен ни одному узлу.

3. Адрес узла со всеми двоичными “1” предназначен для адресации всем узлам соответствующей сети (широковещательная рассылка), поэтому этот адрес не может быть назначен ни одному узлу. Совместно с пунктом 2 это означает, что число узлов в любой сети уменьшается на 2.

4. В каждом классе имеется диапазон сетевых адресов для частного использования, которые в публичных сетях отсутствуют. Они используются для построения локальных корпоративных сетей. В классе А – это сеть 10.0.0.0, в классе В – диапазоны сетей от 172.16.0.0 до 172.31.0.0, в классе С – диапазон сетей от 192.168.0.0. до 192.168.255.255.

5. Основное назначение адресов класса D – распространение информации по схеме “один-ко-многим” для групповой рассылки в Интернет аудио- и видеоинформации. Хост, который хочет осуществить рассылку, с помощью протокола группового обслуживания Интернет (Internet Group Management Protocol – IGMP) сообщает о создании в сети мультивещательной группы с определенным адресом. Устройства, которые хотят присоединиться к создаваемой группе, высылают свое подтверждение. Одно и то же устройство может входить в несколько групп, в одну и ту же группу могут входить устройства различных сетей.

6. Адреса класса Е зарезервированы для будущих применений.

Маршрутизация пакета в публичной сети всегда производится на основании классического IP-адреса номера сети, согласно табл. 1.1. Номер сети принято обозначать с помощью маски, количество лидирующих “единиц” в маске показывает число старших разрядов, которые определяют номер сети. Запись маски производится в формате IP-адреса. Таким образом, для сети класса А стандартная маска имеет вид 255.0.0.0 (в двоичном коде 11111111.00000000.00000000.00000000), для сети класса В – 255.255.0.0 (11111111.11111111.00000000.00000000), для сети класса С – 255.255.255.0 (11111111.11111111.11111111.00000000).

Наличие только четырех классов адресов часто бывает неудобно. Например, администратору необходимо создать сеть из 8000 узлов. Сеть класса С (254 узла) слишком мала, а сеть класса В (65534) слишком велика. Эта проблема решается с помощью создания подсетей, путем переназначения части битов узла в качестве битов сети. Процесс заимствования части битов всегда начинается с крайнего левого бита.

Пусть, например, для нашего случая администратор получил адрес сети 135.38.0.0 (адрес класса В, маска сети 255.255.0.0). В этой сети 16 битов выделено под адрес сети и 16 битов – на адрес узла. Администратору необходимо иметь 8000 узлов, на это необходимо выделить только 13 битов на адреса узлов (213 = 8192), следовательно, оставшиеся 16 – 13 = 3 бита адреса узла можно переназначить как адрес сети. Тогда маска образованной подсети в двоичном коде будет иметь вид 11111111.11111111.11100000.00000000 или 255.255.224.0 (жирным шрифтом выделены заимствованные биты адреса узлов класса В).

В результате такого деления получим следующие адреса подсетей (табл. 5).

Табл. 5

Номер сети Число узлов в подсети
10000111 00100110 00000000 00000000 135.38. 0. 0 8190
10000111 00100110 00100000 00000000 135. 38. 32. 0
10000111 00100110 01000000 00000000 135. 38. 64. 0
10000111 00100110 01100000 00000000 135. 38. 96. 0
10000111 00100110 10000000 00000000 135. 38. 128. 0
10000111 00100110 10100000 00000000 135. 38. 160. 0
10000111 00100110 11000000 00000000 135. 38. 192. 0
10000111 00100110 11100000 00000000 135. 38. 224. 0 8190

 

Две полученные подсети 135.38.0.0 и 135.38.224.0 использовать нельзя, т.к. сетевой адрес первой подсети 135.38.0.0 совпадает с адресом исходной классической сети класса В, а адрес широковещательной рассылки внутри второй подсети 135.38.224.0 совпадает с адресом широковещательной рассылки исходной классической сети класса В. Теперь одну из оставшихся 6 подсетей (например, подсеть 135.38.32.0) администратор использует для своих нужд, а оставшиеся 5 сетей может отдать другому администратору.

Архитектура местоположения подсети 135.38.32.0 приведена на рис. 3.

 
 

 


 

Для обслуживания подсети 135.38.32.0 маршрутизатор R (рис. 3) использует таблицу маршрутов (табл. 6).

Табл.6

Пункт назначения (Destination) Маска сети (Subnet Mask) Пункт пересылки (Next Hop) Интерфейс (Interface) Метрика (Metric)
135.38.32.0 255.255.224.0 0.0.0.0 s1
Default   0.0.0.0 s2

 

Таблица маршрутов в общем случае содержит следующие колонки.

1. Пункт назначения (Destination) – определяет IP-адрес сети назначения.

2. Маска сети (Subnet Mask) – задает количество лидирующих бит в IP-адресе, которые определяют адрес сети.

3. Пункт пересылки (Next Hop) – задает IP-адрес интерфейса следующего маршрутизатора, на который следует направить поступивший пакет.

4. Интерфейс (Interface) – задает собственный выходной интерфейс, маршрутизатора, на который следует направить поступивший пакет.

5. Метрика (Metric) – задает предпочтение в выборе альтернативных маршрутов. Маршруты с меньшей метрикой более предпочтительны.

Для определения дальнейшего маршрута следования поступившего пакета маршрутизатор производит следующие операции.

1. Поступивший IP-адрес в двоичном коде с помощью логической операции “И” складывается поразрядно с маской сети первой строки таблицы маршрутизации. Правило сложения разрядов с помощью логической операции “И”: 0+0=0, 0+1=0, 1+0=0, 1+1=1.

2. Полученный в результате сложения адрес сети сравнивается с IP-адресом пункта назначения первой строки. При их совпадении поступивший пакет направляется на интерфейс s1.

3. В случае несовпадения те же операции, начиная с пункта 1, проделываются с последующими строками маршрутной таблицы, если они имеются.

4. Все поступившие пакты из подсети 135.38.32.0 направляются по умолчанию на интерфейс s2.

Например, пусть из публичной сети поступили следующие пакеты с IP-адресами назначения: 135.38.16.15, 135.38.56.211, 135.38.92.10. На какие интерфейсы они будут направлены?

Для определения номера адресуемой сети складываем по “И” IP-адрес назначения первого пакета с маской сети, получим

IP=135.38.16.15 à 10000111. 00100110. 00001000. 00001111

Mask= 255.255.224.0 à 11111111. 11111111. 11100000. 00000000

------------------------------------------------------

Destination = 10000111. 00100110. 00000000. 00000000 2 à 135. 38.0.0.

Такой записи в таблице маршрутизации нет, пакет уничтожается.

 

Для второго пакета

IP=135.38.56.211 à 10000111. 00100110. 00111000. 11010011

Mask= 255.255.224.0 à 11111111. 11111111. 11100000. 00000000

------------------------------------------------------

Destination = 10000111. 00100110. 00100000. 00000000 2 à 135. 38.32.0.

Пакет будет направлен на интерфейс s1.


Для третьего пакета

IP=135.38.92.10 à 10000111. 00100110. 01011100. 00001010

Mask= 255.255.224.0 à 11111111. 11111111. 11100000. 00000000

------------------------------------------------------

Destination = 10000111. 00100110. 01000000. 00000000 2 à 135. 38.64.0.

Такой записи в таблице маршрутизации нет, пакет уничтожается.

 

Задание 5.