Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НА ЭГЗО.doc
Скачиваний:
19
Добавлен:
17.09.2019
Размер:
2.16 Mб
Скачать

[Править]Kerberos 5

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

Основной причиной появления пятой версии являлась невозможность расширения. Со временем, атака полным перебором на DES используемом в Kerberos 4 стала актуальна, но используемые поля в сообщениях имели фиксированный размер и использовать более стойкий алгоритм шифрования не представлялось возможным.

Для решения данной проблемы было решено создать расширяемый протокол с возможностью использования на различных платформах на основе технологии ASN.1. Это позволило использовать в транзакциях различные типы шифрования. Благодаря этому была реализована совместимость с предыдущей версией. Кроме того у ЦРК появляется возможность выбирать наиболее безопасный протокол шифрования поддерживаемый участвующими сторонами.

Кроме того оригинальный протокол Kerberos 4 подвержен перебору по словарю. Данная уязвимость связана с тем, что ЦРК выдает по требованию зашифрованный TGT любому клиенту. Важность данной проблемы так же подчеркивает то, что пользователи обычно выбирают простые пароли.

Чтобы усложнить проведение данной атаки, в Kerberos 5 было введено предварительное установление подлинности. На данном этапе ЦРК требует, чтобы пользователь удостоверил свою личность прежде, чем ему будет выдан билет.

За предварительную аутентификацию отвечает политика ЦРК, если она требуется, то пользователь при первом запросе к СА получит сообщение KRB_ERROR. Это сообщение скажет клиенту, что необходимо отправлять AS_REQ запрос со своими данными для установления подлинности. Если ЦРК не опознает их, то пользователь получит другое сообщение KRB_ERROR, сообщающее об ошибке и TGT не будет выдан.

[Править]Формальное описание

Криптографические обозначения, используемые в протоколах проверки подлинности и обмена ключами

Идентифкаторы Алисы (Alice), инициатора сессии

Идентифкатор Боба (Bob), стороны, с которой устанавливается сессия

Идентифкатор Трента (Trent), доверенной промежуточной стороны

Шифрование данных ключом Алисы, либо совместным ключом Алисы и Трента

Шифрование данных ключом Боба, либо совместным ключом Боба и Трента

Порядковый номер сессии (для предотвращения атаки с повтором)

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

Шифрование данных временным сеансовым ключом

Метки времени, добавляемые в сообщения Алисой и Бобом соответственно

Случайные числа (nonce), которые были выбраны Алисой и Бобом соответственно

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

Алиса направляет доверенной стороне (Тренту) свой идентификатор и Боба:

Трент генерирует два сообщения. Первое включает метку времени  , время жизни ключа  , новый сеансовый ключ для Алисы и Боба   и идентификатор Боба  . Это сообщение шифруется общим ключом Алисы и Трента. Второе сообщение содержит то же самое, кроме идентификатора — он заменён на идентификатор Алисы  . Само сообщение шифруется общим ключом Трента и Боба:

Алиса генерирует сообщение из собственного идентификатора   и метки времени  , после чего шифрует сообщение сеансовым ключом   и посылает Бобу вместе со вторым сообщением от Трента:

В целях собственной аутентификации Боб шифрует модифицированную метку времени   общим сеансовым ключом   и посылает её Алисе:

Важным предположением является синхронизированность часов всех участников протокола. Однако на практике используется синхронизация с точностью до нескольких минут с запоминанием истории передач (с целью обнаружения повтора) в течение некоторого времени.