Керберос: Розмежування AS та TGS


9

У Kerberos сервер аутентифікації (AS) та сервер надання квитків (TGS), як правило, реалізовані на одному сервері. Ця машина називається Центром розподілу ключів (KDC).

Безумовно, має сенс впроваджувати ці послуги на тій же фізичній машині, як у малих та середніх мережах було б надмірно розділити ці два сервіси. Крім того, у мене є відносно надійне джерело, яке говорить (перекладається):

TGS і AS повинні мати доступ до однієї БД => це не має особливого сенсу впроваджувати TGS і AS на різних машинах

Однак я не бачу, яку базу даних потрібно ділити між ними.

Це моя ідея, як я б розділяв AS і TGS, спільних баз даних немає:

  • Оскільки AS і TGS розділені, вони мають інший Master Secret
  • AS має базу даних з усіма користувачами з їх відповідним головним секретом (використовується при вході Користувача для шифрування сеансового ключа), а також головний секрет TGS (для шифрування запитуваних TGT).
  • У TGS є база даних, яка дозволяє визначити, якому користувачеві дозволено користуватися якою послугою (ACL, список відкликань, ...), а також базу даних з усіма службами з відповідними основними секретами (для шифрування квитків).

Коли користувач хоче скористатися послугою (спрощеною):

  • Аутентифікація в AS
  • Отримайте квиток на видачу квитків (TGT), зашифрований головним секретом TGS, а також ключ сесії, зашифрований головним секретом користувача.
  • Зверніться до TGS з TGT
  • Отримайте квиток, зашифрований головним секретом служби
  • Зверніться в службу з квитком

Я щось пропускаю, чи насправді взагалі немає жодної проблеми між розділенням AS та TGS?


1
Це здається, що ви занадто глибоко занурилися в внутрішні місця Kerberos. Звичайний спосіб масштабування - це просто додати більше KDC, тому я не дуже впевнений, що ви намагаєтеся виконати.
Майкл Хемптон

1
Правильно - з якою проблемою ви насправді стикаєтесь, яку намагаєтеся вирішити?
mfinni

1
Я не намагаюся вирішити якусь конкретну проблему. Я просто намагаюся розібратися в внутрішніх справах Kerberos (для іспиту), але насправді не хочу цього використовувати. Питання є чисто теоретичним, я просто хочу знати, чи я зрозумів щось не так, чи цитата в моєму запитанні не зовсім правильна.
Misch

Відповіді:


4

Ваше питання - це вся теорія. Тож я відповім натурою. АС і ТГС є логічними серверами, і як такі вони могли теоретично бути розділені. Але на практиці не було жодних вагомих причин застосовувати їх на окремих машинах, і так ніхто не робить цього в реальному житті. Навіть найбільші, найзайнятіші мережі у світі щодо аутентифікації Kerberos не потребують відокремлення логічних компонентів KDC. У реалізованих реалізаціях Kerberos всі дані, які потребують АС, і всі дані, необхідні TGS, зберігаються в одній базі даних. Це може теоретично бути розділене , але є просто не хороший привід , щоб зробити це , і не буде робити нічого , але марно ускладнює реалізацію.


1
Щойно я виявив ще одну проблему при розділенні AS та TGS: Не можна отримати TGTs від AS, але ви також можете попросити квиток на будь-яку іншу послугу (наприклад, якщо ви знаєте, що вам знадобиться лише цей один квиток, так відсутність необхідності в об'їзд через TGT). Це означає, що AS додатково потребує всіх даних, які я припускав, що потребує лише TGS.
Misch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.