Запросы в протоколе Kerberos

Tc,s-мандат клиента к серверу. С-имя клиента; а-адрес; v-время действия; Kc,s-секретный сеансовый ключ клиента и сервера аутентификации.({Tc,s}Ks)-зашифрованный мандат; Ac,s-удостоверение клиента к серверу.

1) Запрос мандата на выделение мандата:

Клиент формирует сообщение (C; tgs; n) и отправляет его серверу аутентификации.

2) Мандат выделения мандата:

Сервер аутентификации генерирует сеансовый ключ между клиентом и tgs. Клиенту отсылается зашифрованное на сеансовом ключе сообщение (Kc,s{Kc,tgs;n}).Выделяется мандат:

Клиенту посылается зашифрованное ключом между сервером и tgs сообщение (Kc,tgs{Tc,tgs}).

3) Запрос мандата сервера:

Клиент расшифровывает, получает Kc,tgs и проверяет n, заново генерируется новое n. Клиент формирует сообщения ({Ac,tgs}Kc,tgs) и ({Tc,tgs}Ktgs,s;n) и отправляет их TGS.

4) Мандат сервера

TGS получает сообщения, расшифровывает, получает Tc,tgs={c;a;v;Kc,tgs} и Ac,tgs={c;t}, где t –запоминается в БД, и проверяет полномочия клиента к запрашиваемым сервисам, если разрешено то отправляет клиенту {Kc,s;n}Kc,tgs, а сервису отправляет мандат {Tc,s}Ks.

5) Запрос сервиса:

Клиент расшифровывает сообщение и получает Kc,s и n (проверяет n). Создает {Ac,s}Kc,s и {Tc.s}Ks и отправляет сервису.

6) Сервер сервиса проверяет и либо дает доступ, либо обрывает связь.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: