Сетевая аутентификация пользователя в Windows NT
Сетевая аутентификация пользователя осуществляется в процессе его подключения к серверу с целью получения доступа к сетевым ресурсам (например, к сетевому диску). Сетевая аутентификация осуществляется только в случае успешного завершения процедуры локальной аутентификации пользователя.
Обозначим через:
- SessionKey – массив из 8 байт – разовый ключ, получаемый рабочей станцией от сервера;
- Ticket[0..47] – массив из 48 байт – билет-аутентификатор, направляемый рабочей станцией на сервер в качестве запроса о разрешении доступа к сетевым ресурсам.
Процедура сетевой аутентификации пользователя состоит из следующих шагов:
Шаг 1.
Рабочая станция получает от сервера разовый ключ SessionKey.
Шаг 2.
Разовый ключ и PasswordDES преобразуются с использованием алгоритма DES:
Ticket [0..7]: = DES (SessioriKey, PasswordDES[0..6]); Ticket [8… 15]: = DES (SessionKey, PasswordDES [7.. 13]); Ticket[16..23]: = DES(SessionKey, (PasswordDES[14], PasswordDES[15],0.0.0.0.0));
Шаг 3.
Разовый ключ и PasswordMD4 преобразуются с использованием алгоритма DES:
Ticket [24..31]-: – DES (SessionKey, PasswordMD4[0..6]); Ticket[32..39]: = DES(SessionKey, PasswordMD4[7..13]); Ticket[40..47]: = DES(SessionKey, (PasswordMD4[14], PasswordMD4[15],0.0.0.0.0));
Шаг 4.
Ticket передается в SMB-пакете на сервер. Сервер проверяет данные и в случае успешной проверки передает рабочей станции сообщение об успешном завершении процедуры аутентификации.