Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
126
Добавлен:
02.02.2021
Размер:
530.94 Кб
Скачать

4. Протокол аутентификации S/Key.

Стандартизованный в Интернете протокол S/Key (RFC 1760) реализован во многих системах, требующих проверки подлинности удаленных пользователей, в частности в системе TACACS+ компании Cisco.

Схема аутентификации на основе одноразовых паролей, в частности S/Key, позволяет передавать по сети одноразовый пароль в открытом виде и таким образом компенсирует основной недостаток протокола аутентификации РАР.

Для каждого пользователя назначается секретный пароль который используется только для генерации одноразовых паролей.

Генерация одноразовых паролей выполняется с помощью односторонней функции хэширования MD4. Некоторые реализации протокола S/Key в качестве односторонней функции используют алгоритм хэширования MD5.

Пример

N=100; K – ключ

W1 = h(K), W2 = h(h(K)), W3 = h(h(h(K))), ..., W101 = h(h(h(...h(K)...))) = h101(K).

Протокол аутентификации S/Key

Удаленный

 

клиент А

А

 

N

hN(K)

ПОДТВЕРЖДЕНИЕ (ОТКАЗ)

А→ В: А;

АВ: N;

А→ В: hN(K) ;

А← В: (ПОДТВЕРЖДЕНИЕ ИЛИ ОТКАЗ )

Сервер

удаленного доступа В

Парольная инициализация

1.У пользователя запрашивается его идентификатор.

2.Сервер генерирует для него случайное несекретное число R, называемое кодом инициализации. Число R будет использоваться для вычисления одноразовых паролей пользователя до следующей парольной инициализации.

3.У пользователя запрашивается число одноразовых паролей (число N), как правило, из интервала 300 < N <1000, которое он предполагает использовать до следующей парольной инициализации (данное число может задаваться и администратором заранее).

4.Из базы данных системы защиты по идентификатору пользователя извлекается его секретный пароль К.

5.Значения R и К используются как аргументы односторонней функции h, применяемой последовательно N + 1 раз:

WN+1 = h(h(h(...(h(R, К))...))) = h N+ 1 (R, К).

6. Числа R, N и WN+1 сохраняются для пользователя в базе

данных системы защиты вместе с его идентификатором и паролем. В отличие от пароля К, числа R, N и W N+1 не являются

секретными.

Протокол аутентификации S/Key

1. Удаленный пользователь сообщает серверу удаленного доступа свой идентификатор.

2. Из базы данных системы защиты по идентификатору пользователя сервер извлекает его секретный пароль К, а также числа R, N и W N+1.

3. Сервер передает пользователю число R, которое для пользователя является постоянным до следующей инициализации, а также номер одноразового пароля N.

4. Пользователь на удаленном компьютере вводит секретный пароль К', и клиентское программное обеспечение вычисляет очередной одноразовый пароль:

W'N = h(h(h(...(h(R, К'))...))) = h N(R, К').

5.Вычисленный одноразовый пароль w′ N отправляется серверу

удаленного доступа, который выполняет над ним один раз одностороннюю функцию хэширования

W'N+1 = h(W'N).

6. Сервер сравнивает полученное значение W'N+1 со значением W N+1 из базы данных системы защиты. Если значения W′ N+1 и W N+1 совпадают, то

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

7. В случае успешной аутентификации сервер заменяет в базе данных системы защиты для удаленного пользователя число W N+1 на полученный

от него одноразовый пароль W′ , а число N - на N = N - 1.

Соседние файлы в папке лк