Чтение онлайн

на главную - закладки

Жанры

Шрифт:

Илл. 8.38. Протокол аутентификации Отуэя — Риса (в слегка упрощенном виде)

KDC сравнивает общие идентификаторы R в обеих частях сообщения. Они могут не совпадать, если Труди подменила R в сообщении 1 или заменила часть сообщения 2. Если оба числа R совпадают, KDC считает сообщение от Боба достоверным. Затем он формирует ключ сеанса KS и шифрует его дважды: для Алисы и для Боба. Каждое сообщение содержит случайное число получателя как доказательство того, что эти сообщения сгенерировал KDC, а не Труди. К этому моменту Алиса и Боб обладают одним

и тем же ключом сеанса и могут начать коммуникацию. После первого же обмена данными они увидят, что обладают одинаковыми копиями ключа сеанса KS, и процесс аутентификации можно будет считать завершенным.

8.9.4. Аутентификация при помощи протокола Kerberos

Во многих реальных системах (включая Windows) применяется протокол аутентификации Kerberos, основанный на варианте протокола Нидхема — Шредера. Он назван по имени трехглавого пса из древнегреческой мифологии Кербера (или Цербера), охранявшего выход из царства Аида. Kerberos был разработан в Массачусетском технологическом институте, чтобы предоставить пользователям рабочих станций надежный доступ к сетевым ресурсам. Его основное отличие от протокола Нидхема — Шредера — предположение о довольно хорошей синхронизации всех часов в сети. Было разработано несколько версий протокола. Версия V5 наиболее широко применяется в промышленности и описана в RFC 4120. От более ранней версии V4 окончательно отказались, после того как в ней были найдены серьезные недостатки (Юй и др.; Yu et al., 2004). V5 усовершенствована по сравнению с V4 — внесено множество мелких изменений и улучшены некоторые характеристики. Например, протокол больше не опирается на устаревший DES. Более подробные сведения можно найти в книге Суда (Sood, 2012).

В работе Kerberos помимо Алисы (клиентской рабочей станции) принимают участие еще три сервера:

1. Сервер аутентификации (Authentication Server, AS): проверяет личность пользователей при входе в систему.

2. Сервер выдачи удостоверений (Ticket Granting Server, TGS): предоставляет удостоверения, подтверждающие полномочия объекта.

3. Сервер, предоставляющий услуги Алисе (Боб).

AS похож на KDC тем, что у него есть общий секретный пароль для каждого пользователя. Работа TGS состоит в выдаче удостоверений, убеждающих другие серверы в том, что обладатель удостоверения действительно является тем, за кого себя выдает.

Чтобы начать сеанс, Алиса усаживается за произвольную публичную рабочую станцию и вводит свое имя. Рабочая станция передает введенное имя и название TGS открытым текстом на AS (сообщение 1 на илл. 8.39). В ответ она получает ключ сеанса и удостоверение KTGS(A, KS, t), предназначенное для TGS. Ключ сеанса зашифровывается секретным ключом Алисы, чтобы только она могла его расшифровать. Только после получения сообщения 2 рабочая станция запрашивает пароль Алисы, и никак не раньше. С помощью этого пароля формируется ключ KA, чтобы расшифровывать сообщение 2 и извлечь из него ключ сеанса.

Илл. 8.39. Работа протокола Kerberos V5

После расшифровки рабочая станция сразу же уничтожает хранящийся в ее памяти пароль. Если вместо Алисы на рабочей станции попытается зарегистрироваться Труди, введенный ею пароль будет ошибочным. Рабочая станция это обнаружит, так как стандартная часть сообщения 2 окажется неверной.

После регистрации в сети Алиса может сообщить рабочей станции, что она хочет вступить в контакт с файловым сервером, то есть Бобом. Рабочая станция отсылает TGS сообщение 3 с просьбой выдать удостоверение для этого взаимодействия. Ключевым элементом запроса является удостоверение KTGS(A, KS, t),

которое зашифровано секретным ключом TGS и используется для подтверждения личности отправителя. В ответном сообщении 4 TGS передает созданный им ключ сеанса KAB, которым будут пользоваться Алиса и Боб. Он возвращает две версии этого ключа. Один ключ зашифрован ключом сеанса KS, чтобы его могла прочитать Алиса. Второй ключ представляет собой еще одно удостоверение, зашифрованное ключом Боба KB (чтобы его мог прочитать Боб).

Труди может скопировать сообщение 3 и попытаться использовать его снова, но в этом ей помешает временная метка t, отправляемая вместе с этим сообщением. Труди не может заменить временную метку на более новую, так как не знает ключа сеанса KS, которым пользуется Алиса для общения с TGS. Даже если Труди очень быстро воспроизведет сообщение 3, она все равно получит в ответ лишь сообщение 4, которое она не смогла расшифровать в первый раз и не сможет расшифровать во второй.

Теперь, с помощью нового удостоверения, Алиса может отправить Бобу ключ KAB, чтобы установить с ним сеанс. Эти сообщения также содержат временные метки. Возможный ответ (сообщение 6) подтверждает, что Алиса говорит именно с Бобом, а не с Труди.

После этой серии обмена сообщениями Алиса сможет взаимодействовать с Бобом, используя ключ сеанса KAB. Если после этого Алиса решит, что ей необходим другой сервер, например Кэрол (C, Carol), она может просто отправить TGS сообщение, аналогичное третьему, заменив в нем B на C (то есть идентификатор Боба на идентификатор Кэрол). В ответ TGS мгновенно пришлет ей удостоверение, зашифрованное ключом KC. Алиса передаст его Кэрол, для которой оно будет служить гарантией подлинности Алисы.

Достоинство этого протокола в том, что теперь Алиса может получать защищенный доступ к любому серверу сети, и в то же время ее пароль никогда не передается. В действительности он лишь на несколько миллисекунд появляется на ее рабочей станции. Однако обратите внимание, что каждый сервер выполняет свою собственную процедуру авторизации. Когда Алиса предъявляет свое удостоверение Бобу, это всего лишь подтверждает, что она та, за кого себя выдает. При этом действия, которые Алиса может выполнять, определяет Боб.

Поскольку разработчики Kerberos не рассчитывали, что весь мир станет доверять единственному серверу аутентификации, они предусмотрели существование нескольких областей (realms), каждая из которых имеет свой собственный AS и TGS. Чтобы получить удостоверение для сервера, расположенного в удаленной области, Алиса должна запросить его у своего TGS, чтобы оно было принято TGS нужной ей области. Если удаленный TGS зарегистрировался на локальном TGS (так же, как это делают локальные серверы), локальный TGS выдаст Алисе удостоверение, действительное на удаленном TGS. После этого она может получить у удаленного TGS удостоверения для серверов его области. Важно отметить, что для установления защищенного сеанса между двумя сторонами из разных областей необходимо, чтобы каждая из них доверяла TGS другой стороны. Иначе они просто не смогут работать вместе.

8.9.5. Аутентификация путем шифрования с открытым ключом

Взаимная аутентификация также может выполняться с помощью шифрования с открытым ключом. Сначала Алиса должна получить открытый ключ Боба. Если PKI реализована на основе сервера каталогов, выдающего сертификаты на открытые ключи, Алиса может запросить сертификат Боба (сообщение 1 на илл. 8.40). В ответе (сообщение 2) содержится сертификат X.509 с открытым ключом Боба. Проверив корректность подписи, Алиса может отправить Бобу сообщение со своим идентификатором и нонсом.

Поделиться:
Популярные книги

Последний реанорец. Том IX

Павлов Вел
8. Высшая Речь
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Последний реанорец. Том IX

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S

Личный аптекарь императора

Карелин Сергей Витальевич
1. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Личный аптекарь императора

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16

Очкарик

Афанасьев Семён
Фантастика:
фэнтези
5.75
рейтинг книги
Очкарик

Сирота

Ланцов Михаил Алексеевич
1. Помещик
Фантастика:
альтернативная история
5.71
рейтинг книги
Сирота

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Противостояние

Демидов Джон
3. Система компиляции
Фантастика:
героическая фантастика
рпг
5.00
рейтинг книги
Противостояние

Метатель. Книга 6

Тарасов Ник
6. Метатель
Фантастика:
боевая фантастика
попаданцы
постапокалипсис
рпг
фэнтези
фантастика: прочее
5.00
рейтинг книги
Метатель. Книга 6

Седьмой Рубеж V

Бор Жорж
5. 5000 лет темноты
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Седьмой Рубеж V

Заклятие предков

Прозоров Александр Дмитриевич
3. Ведун
Фантастика:
фэнтези
альтернативная история
8.49
рейтинг книги
Заклятие предков

Зимние ходоки

Сухов Лео
7. Антикризисный Актив
Фантастика:
героическая фантастика
попаданцы
5.00
рейтинг книги
Зимние ходоки