Kerberos

Kerberos е автентикационен мрежов протокол, използващ синхронизиращ такт. Широко се използва от системите за удостоверяване на източник на данни.

Използва симетрични ключове и изисква трета удостоверяваща страна. Разширения на Kerberos използват и публични ключове през определени фази от удостоверението. Подслушваща трета страна може да компрометира връзката: изпращайки отново прихванат временен ключ, може да се разбере и окончателния ключ.

Използват се два абстрактни модула: удостоверяващ сървър (Authentication server – AS) и гарантиращ билетен сървър (Ticket-granting server – TGS). Удостоверяващият сървър знае всички ключове и отговаря при въвеждане на парола с билет за достъп, съдържащ ключа на удостоверявания. Билетът за достъп се използва допълнително с нов сесиен ключ за достъп до билетния сървър. Подобно протича и удостоверяването за други подобни услуги на билетния център.

История и разработване

[редактиране | редактиране на кода]

Разработен в MIT, Kerberos е създаден да защитава мрежовите ресурси, предоставени от Project Athena. Протоколът е кръстен на името на митичното създание Kerberos (Цербер) от гръцката митология, което е триглаво чудовище, пазещо вратите към Хадес.

Стив Милър и Клифърд Нюмън са основните дизайнери на версия 4 на Kerberos, публикувана в края на 80-те.

Версия 5 е създадена от Джон Кол и Клифърд Нюман през 1993.

Властите в САЩ класифицират Kerberos като технология с възможна военна употреба и ограничават експорта ѝ поради използването на DES алгоритъма за криптиране (56-битов ключ).

Windows 2000 и следващите версии използват Kerberos като метод за удостоверяване по подразбиране.

Kerberos използва за основа симетричен Needham-Schroeder протокол. Той използва услугите на доверена трета страна, наречена център за дистрибуция на ключове, или на английски – key distribution centre (KDC),[1] който предоставя две теоретично независими услуги: удостоверителен сървър – authentication server (AS), и билето предоставящ сървър – Ticket Granting Server (TGS).

KDC поддържа база данни от тайни ключове; всеки елемент от мрежата, без значение клиент или сървър, споделя таен ключ, известен само на него и на KDC. Притежаването на този ключ служи за доказване на идентичността на елемента. За целта на комуникацията KDC генерира сесиен ключ, който се използва от комуникиращите страни за защита на техните трансмисии.

Сигурността на протокола се основава на краткосрочни удостоверители на автентичност, наречени Kerberos билети.

Недостатъци и ограничения

[редактиране | редактиране на кода]

Единична точка на провал: изисква непрекъснат достъп до централен сървър. Когато централният сървър Kerberos не работи, никой не може да използва системата. Този проблем може да бъде решен чрез използването на множество сървъри Kerberos и резервиране на механизмите за удостоверяване. Протоколът Kerberos има строги изсквания за време, което значи, че часовниците на участващите хостове трябва да са синхронизирани. Билетите са активни през определен период от време и ако часовниците не са синхронизирани с часовника на сървъра Kerberos, удостоверяването ще се провали. Стандартната конфигурация изисква показанията на часовниците да се отклоняват с не повече от 5 минути.

  1. Imperial College London. Key Distribution Centre (KDC) Terminology (PDF) // 2008-04-14. (на английски)