Что такое Kerberos?

Kerberos - это протокол аутентификации компьютерной сети. Он разработан в MIT для обеспечения безопасности сетевых ресурсов. В этой статье мы рассмотрим обсуждаемую концепцию Kerberos и ее работу с помощью примера.

Как работает Kerberos?

Kerberos работает в три этапа. Теперь давайте обсудим эти три шага один за другим.

Шаг 1:

Авторизоваться

Клиент вводит свое имя на произвольной рабочей станции. Затем рабочая станция отправляет имя на сервер аутентификации в текстовом формате.
В ответ сервер аутентификации выполняет некоторое действие. Во-первых, он создает пакет с именем пользователя, т.е. Client, и генерирует ключ сеанса. Он шифрует этот пакет с помощью симметричного ключа, который сервер аутентификации использует совместно с сервером предоставления билетов (TGS). Результат этого процесса называется Ticket Granting Ticket (TGT). Затем сервер аутентификации объединяет и TGT, и сеансовый ключ и шифрует их вместе, используя симметричный ключ, полученный из пароля клиента.

Примечание: TGT может быть открыт только с помощью TGS, а окончательный вывод может быть открыт только клиентом.

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

Шаг 2:

Получение услуги по выдаче билетов.

Предположим, что после успешного входа в систему пользователь хочет общаться с другими пользователями через почтовый сервер. Для этого клиент сообщает своей рабочей станции, что он хочет связаться с другим пользователем X. Таким образом, клиенту нужен билет для связи с X. На этом этапе рабочая станция клиента создает сообщение, предназначенное для сервера выдачи билетов, которое содержит нижеуказанные элементы. -
• Билет Предоставление билетов
• идентификатор X, услуги которого интересуют клиенты.
• Текущая метка времени должна быть зашифрована тем же ключом сеанса.

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

Сервер аутентификации шифрует его, используя секретный ключ, который получен из пароля клиента. Следовательно, единственный клиент может открыть пакет и получить билет Предоставление билета
Как только сервер выдачи билетов удовлетворен данными, введенными клиентом, билет выдачи билетов создает ключ сеанса KAB для клиента, чтобы выполнить безопасную связь с X. Сервер выдачи билетов отправляет его дважды клиенту - в первый раз, когда он отправляется, когда объединено с идентификатором X и зашифрованный сессионным ключом, второй раз он отправляет, когда объединяется с идентификаторами клиента и шифруется секретным ключом X KB

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

Шаг 3:

Пользователь связывается с X для доступа к серверу.

Клиент отправляет KAB в X, чтобы создать сеанс с X. Для безопасной связи клиент пересылает KAB, зашифрованный секретным ключом X, в X. X может получить доступ к KAB. Для защиты от ответной атаки клиент отправляет временную метку X, которая зашифрована с помощью KAB.

X использует свой секретный ключ для получения информации, из этой информации он использует KAB для расшифровки значения штампа. Затем X добавляет 1 к значению метки времени, шифрует его с помощью KAB и отправляет его клиенту. Затем клиент открывает пакет и проверяет штамп, увеличенный на X. Благодаря этому процессу клиент гарантирует, что X получил тот же KAB, который отправляется клиентом.

Теперь клиент и X могут безопасно общаться друг с другом. Оба используют общий секретный ключ KAB для шифрования данных во время отправки и дешифрования сообщения с использованием одного и того же ключа. Предположим, что клиент может захотеть связаться с другим сервером Y, в этом случае клиент просто n3d, чтобы получить другой секретный ключ с сервера выдачи билетов. После получения секретного ключа он может общаться с Y аналогично тому, как мы обсуждали в случае с X. Если клиент может снова связаться с X, он может использовать тот же предыдущий ключ, и нет необходимости каждый раз генерировать заявку. Только в первый раз ему нужно получить билет.

Преимущества и недостатки Kerberos

Ниже приведены преимущества и недостатки:

Преимущества Kerberos

  1. В Kerberos клиенты и сервисы проходят взаимную аутентификацию.
  2. Поддерживается различными операционными системами.
  3. Билеты в Керберос имеют ограниченный период. Кроме того, если билет украден, его трудно повторно использовать из-за необходимости строгой аутентификации.
  4. Пароли никогда не передаются по сети в незашифрованном виде.
  5. В Kerberos секретные ключи являются общими, что более эффективно, чем совместное использование открытых ключей.

Недостатки Kerberos

  1. Он уязвим для слабых или повторяющихся паролей.
  2. Он обеспечивает аутентификацию только для сервисов и клиентов.

Вывод

В этой статье мы увидели, что такое Kerberos, как он работает вместе с его преимуществами и недостатками. Я надеюсь, что вы найдете эту статью полезной.

Рекомендуемые статьи

Это руководство по Kerberos. Здесь мы обсудим, что такое Kerberos, как работает Kerberos, а также его преимущества и недостатки. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Типы веб-хостинга
  2. Что такое веб-приложение?
  3. Что такое схема звезды?
  4. Массивы в программировании на Java