Kerberos (протокол) - Kerberos (protocol)

Керберос
Тұрақты шығарылым
krb5-1.18.2 / 21 мамыр 2020; 6 ай бұрын (2020-05-21)
ЖазылғанC
Операциялық жүйекросс-платформа
Веб-сайтжелі.mit.edu/ kerberos/

Керберос (/ˈк.rберɒс/) Бұл компьютерлік желі аутентификация хаттама негізінде жұмыс істейтін билеттер рұқсат ету түйіндер бір-біріне сенімді түрде дәлелдеу үшін қауіпсіз емес желі арқылы байланыс орнату. Хаттама кейіпкердің атымен аталды Керберос (немесе Cerberus ) бастап Грек мифологиясы, үш бас күзетші ит Адес. Оның дизайнерлері оны бірінші кезекте a клиент-сервер модель және ол қамтамасыз етеді өзара аутентификация - қолданушы да, сервер де бір-бірінің жеке басын растайды. Kerberos хаттамалық хабарламалары қорғалған тыңдау және қайта шабуылдар.

Kerberos құрылысын жалғастырады симметриялы кілт криптографиясы және талап етеді сенімді үшінші тұлға, және қалауы бойынша қолдана алады ашық кілтпен криптография аутентификацияның белгілі бір кезеңдері кезінде.[1] Kerberos UDP 88 портын әдепкі бойынша пайдаланады.

Тарих және даму

Массачусетс технологиялық институты (MIT) ұсынған желілік қызметтерді қорғау үшін Kerberos әзірледі Афина жобасы.[2][3] Хаттама ертерегіне негізделген Needham-Schroeder симметриялық кілтінің хаттамасы. Хаттаманың бірнеше нұсқалары бар; 1-3 нұсқалары тек ішкі MIT-де болған.

Kerberos нұсқасы 4 негізінен жобаланған Стив Миллер және Клиффорд Нейман.[4] 1980 жылдардың соңында жарияланған 4 нұсқасы да мақсат етілді Афина жобасы.

Нейман мен Джон Коль 5-нұсқасын 1993 жылы бар шектеулер мен қауіпсіздік проблемаларын еңсеру мақсатында жариялады. 5-нұсқа келесідей пайда болды RFC 1510, содан кейін ескірген RFC 4120 2005 жылы.

Билік АҚШ Kerberos-ты АҚШ-тың оқ-дәрі тізіміне «көмекші әскери техника» санатына жатқызды және оған тыйым салды экспорт өйткені ол қолданылған Деректерді шифрлау стандарты (DES) шифрлау алгоритмі (56 биттік кілттермен). Kerberos 4 іске асырылуы Корольдік технологиялық институт жылы Швеция KTH-KRB деп аталатын (5-нұсқасында Хеймдалға ребрендинг жасалған) бұл жүйені АҚШ өзгертпес бұрын АҚШ-тан тыс жерлерде қол жетімді етті криптографиялық экспорт ережелер (шамамен 2000). Шведтік енгізу eBones деп аталатын шектеулі нұсқаға негізделген. eBones экспортталған MIT Bones релизіне негізделген (шифрлау функциялары да, оларға қоңырау да алынып тасталған) Kerberos 4 нұсқасының 9 патч деңгейіне негізделген.

2005 жылы Интернет-инженерлік жұмыс тобы (IETF) Kerberos жұмыс тобы техникалық сипаттамаларын жаңартты. Жаңартулар кіреді:

MIT Kerberos бағдарламасын авторлық құқық үшін қолданылған авторлық құқықтармен еркін қол жетімді етеді BSD. 2007 жылы MIT үздіксіз дамуға ықпал ету үшін Kerberos консорциумын құрды. Сияқты демеушілердің қатарына сатушылар кіреді Oracle, Apple Inc., Google, Microsoft, Centrify Corporation және TeamF1 Inc. сияқты академиялық мекемелер Корольдік технологиялық институт Швецияда, Стэнфорд университетінде, MIT және CyberSafe сияқты сатушылар коммерциялық қолдау нұсқаларын ұсынады.

Microsoft Windows

Windows 2000 және кейінгі нұсқаларында әдепкі аутентификация әдісі ретінде Kerberos қолданылады.[5] Кейбіреулер Microsoft Kerberos хаттамалар жинағына толықтырулар құжатталған RFC 3244 «Microsoft Windows 2000 Kerberos құпия сөзді өзгертеді және құпия сөз протоколдарын орнатады». RFC 4757 Microsoft корпорациясының пайдалану құжаттары RC4 шифр. Microsoft кезінде қолданады және кеңейтеді Kerberos протоколында MIT бағдарламалық жасақтамасы қолданылмайды.

Керберос артықшылықты аутентификация әдісі ретінде пайдаланылады: тұтастай алғанда клиентті Windows доменіне қосу бұл клиенттен Windows доменіндегі қызметтерге аутентификация үшін әдепкі протокол ретінде және осы доменмен сенімділік қатынастары бар барлық домендермен қосылуды білдіреді.[5]

Керісінше, клиент немесе сервер немесе екеуі де доменге қосылмаған кезде (немесе сол сенімді домен ортасының бөлігі емес), Windows оның орнына NTLM клиент пен сервер арасындағы аутентификация үшін.[5]

Интранет веб-қосымшалары Kerberos-ті доменге қосылған клиенттер үшін аутентификация әдісі ретінде API астында қолдану арқылы қолдана алады. СМПИ.

Unix және басқа операциялық жүйелер

Unix тәрізді көптеген операциялық жүйелер, соның ішінде FreeBSD, OpenBSD, Apple's macOS, Red Hat Enterprise Linux, Oracle Келіңіздер Solaris, IBM's AIX, HP-UX және басқаларына Kerberos пайдаланушыларының немесе қызметтерінің аутентификациясы үшін бағдарламалық жасақтама кіреді. Сияқты операциялық жүйелер сияқты Unix емес z / OS, IBM i және OpenVMS сонымен қатар Kerberos қолдауымен ерекшеленеді. Кірістірілген платформаларда жұмыс жасайтын клиент агенттері мен желілік қызметтер үшін Kerberos V аутентификация хаттамасын енгізуді компаниялар да ала алады.

Хаттама

Сипаттама

Клиент өзінің аутентификациясын Аутентификация сервері (AS) пайдаланушы атын а-ға жіберетін кілттерді тарату орталығы (KDC). ҚДК а. Шығарады билет беру билеті (TGT), уақыт таңбаланған және оны пайдаланып шифрлайды билет беру қызметі (TGS) құпия кілт және шифрланған нәтижені пайдаланушының жұмыс орнына қайтарады. Бұл сирек, әдетте пайдаланушы кірген кезде жасалады; TGT жарамдылық мерзімі бір уақытта аяқталады, дегенмен оны жүйеге кірген кезде пайдаланушы сессиясының менеджері ашық түрде жаңарта алады.

Клиент басқа түйіндегі қызметпен байланыс жасау қажет болғанда (Kerberos тілімен айтқанда «директор») клиент TGT-ді TGS-ке жібереді, ол әдетте KDC-мен бірдей хостты бөліседі. Қызмет TGS-де тіркелген болуы керек Қызметтің негізгі атауы (SPN). Клиент осы қызметке қол жетімділікті сұрау үшін SPN қолданады. TGT жарамдылығын және пайдаланушының сұралған қызметке қол жеткізуіне рұқсат берілгендігін тексергеннен кейін, TGS клиентке билет және сессия кілттерін береді. Содан кейін клиент билетті жібереді сервис сервері (SS) оның қызметіне сұраныспен бірге.

Kerberos келіссөздері

Хаттама төменде егжей-тегжейлі сипатталған.

Пайдаланушы клиентіне негізделген кіру

  1. Пайдаланушы пайдаланушы аты мен парольді клиент машиналары. Pkinit сияқты басқа да тіркелу механизмдері (RFC 4556 ) құпия сөздің орнына ашық кілттерді пайдалануға рұқсат беру.
  2. Клиент парольді симметриялы шифрдың кілтіне айналдырады. Бұл орнатылған кілттер кестесін қолданады немесе бір жақты хэш, қолданылатын шифр-люкске байланысты.

Клиенттің аутентификациясы

  1. Клиент а жібереді ақылды мәтін пайдаланушы атынан қызмет сұрайтын АС-қа (аутентификация сервері) пайдаланушы идентификаторының хабарламасы. (Ескерту: құпия кілт те, пароль де АС-қа жіберілмейді.)
  2. AS клиенттің өзінің деректер базасында бар-жоғын тексереді. Егер ол болса, AS дерекқордан табылған пайдаланушының паролін хэштеу арқылы құпия кілт жасайды (мысалы, Белсенді каталог клиентке келесі екі хабарламаны жібереді:
    • Хабарлама: Клиент / TGS сессиясының кілті клиенттің / пайдаланушының құпия кілтін қолдану арқылы шифрланған.
    • B хабарламасы: Билет беру-билет (TGT, оған клиенттің идентификаторы, клиент кіреді желі мекен-жайы, билеттің жарамдылық мерзімі және клиент / TGS сессиясының кілті) TGS құпия кілтін пайдаланып шифрланған.
  3. Клиент А және В хабарламаларын алғаннан кейін, пайдаланушы енгізген парольден жасалған құпия кілтпен А хабарламасының шифрын ашуға тырысады. Егер пайдаланушы енгізген пароль AS дерекқорындағы парольге сәйкес келмесе, онда клиенттің құпия кілті әр түрлі болады және осылайша А хабарламасының шифрын шеше алмайды, жарамды парольмен және құпия кілтпен клиент А хабарламасын шифрды ашады Клиент / TGS сессиясының кілті. Бұл сессия кілті TGS-пен одан әрі байланыс орнату үшін қолданылады. (Ескерту: Клиент B хабарламасын шифрдан шығара алмайды, өйткені ол TGS құпия кілтімен шифрланған.) Осы сәтте клиент өзінің TGS аутентификациясы үшін жеткілікті ақпаратқа ие.

Клиенттерге қызмет көрсетуді авторизациялау

  1. Қызметтерді сұрау кезінде клиент TGS-ке келесі хабарламаларды жібереді:
    • С хабарламасы: B хабарламасынан (TGS құпия кілтін пайдаланып шифрланған TGT) және сұралған қызметтің идентификаторынан тұрады.
    • D хабарламасы: аутентификация (клиент идентификаторы мен уақыт белгісінен тұрады), көмегімен шифрланған Клиент / TGS сессиясының кілті.
  2. C және D хабарламаларын алғаннан кейін TGS С хабарламасынан B хабарламасын шығарады, ол TGS құпия кілтінің көмегімен B хабарының шифрын ашады. Бұл оған «клиент / TGS сеансының кілтін» және клиенттің идентификаторын (екеуі де TGT-де) береді. Осы «клиент / TGS сеансының кілтін» қолдана отырып, TGS D (Authenticator) хабарламасының шифрын ашады және B және D хабарламаларынан клиенттің идентификаторларын салыстырады; егер олар сәйкес келсе, сервер келесі екі хабарламаны клиентке жібереді:
    • E хабарламасы: Клиенттен серверге билет (ол клиенттің идентификаторын, клиенттің желілік мекен-жайын, жарамдылық мерзімін және Клиент / Сервер сессиясының кілті) қызметтің құпия кілтін пайдаланып шифрланған.
    • F хабарламасы: Клиент / Сервер сессиясының кілті шифрланған Клиент / TGS сессиясының кілті.

Клиенттерге қызмет көрсету туралы сұраныс

  1. TGS-тен E және F хабарламаларын алған кезде клиенттің Сервистік Серверде (SS) аутентификациясы үшін жеткілікті ақпарат болады. Клиент АЖ-ге қосылып, келесі екі хабарламаны жібереді:
    • E хабарламасы: алдыңғы қадамнан ( клиенттен серверге билет, қызметтің құпия кілтімен шифрланған).
    • G хабарламасы: клиент идентификаторын, уақыт белгісін қамтитын және шифрланған жаңа Authenticator Клиент / Сервер сессиясының кілті.
  2. SS билет алу үшін құпия кілтін пайдаланып билетті (E хабарламасын) шифрдан шығарады Клиент / Сервер сессиясының кілті. Сеанс кілтінің көмегімен SS Authenticator шифрын ашады және клиенттің идентификаторын E және G хабарламаларымен салыстырады, егер олар сәйкес келсе сервер клиентке оның шын сәйкестігін және клиентке қызмет етуге дайын екендігін растайтын келесі хабарламаны жібереді:
    • Хабарлама H: клиенттің Authenticator-да табылған уақыт белгісі (4-нұсқада плюс 1, бірақ 5-нұсқада қажет емес)[6][7]) көмегімен шифрланған Клиент / Сервер сессиясының кілті.
  3. Клиент растаудың шифрын ашады (хабарлама H) Клиент / Сервер сессиясының кілті және уақыт белгісінің дұрыс екендігін тексереді. Егер солай болса, онда клиент серверге сене алады және серверге қызмет сұраныстарын бере бастайды.
  4. Сервер клиентке сұралған қызметтерді ұсынады.

Кемшіліктер мен шектеулер

  • Kerberos-та уақыттың қатаң талаптары бар, яғни тартылған хосттардың сағаттары конфигурацияланған шектерде синхрондалуы керек. Билеттердің қол жетімділік уақыты бар, егер хост сағаты Kerberos серверінің сағаттарымен синхрондалмаса, аутентификация орындалмайды. Әдепкі конфигурация бір MIT үшін сағат уақыты бір-бірінен бес минуттан аспауын талап етеді. Тәжірибеде Желілік уақыт хаттамасы демонттар әдетте хост сағаттарын синхрондау үшін қолданылады. Екі серверлер теңшелген максималды мәннен үлкен ығысу жағдайында болған жағдайда, кейбір серверлер (Microsoft-тың іске қосуы олардың бірі болып табылады) шифрланған сервер уақытын қамтитын KRB_AP_ERR_SKEW нәтижесін қайтара алатындығын ескеріңіз. Бұл жағдайда клиент ығысуды табу үшін берілген сервер уақытын пайдаланып уақытты есептей отырып, әрекетті қайталай алады. Бұл мінез-құлық құжатталған RFC 4430.
  • Әкімшілік хаттама стандартталмаған және сервердің орындалуымен ерекшеленеді. Құпия сөздің өзгерістері сипатталған RFC 3244.
  • Симметриялық криптографияны қабылдаған жағдайда (Kerberos симметриялы немесе асимметриялық (ашық кілт) криптографияны қолдана алады), өйткені барлық аутентификация орталықтандырылған түрде бақыланады. кілттерді тарату орталығы (KDC), бұл аутентификация инфрақұрылымының ымырасы шабуылдаушыға кез-келген қолданушының кейпін көрсетуге мүмкіндік береді.
  • Басқа хост атауын қажет ететін әр желілік қызметке Kerberos кілттерінің жеке жиынтығы қажет болады. Бұл виртуалды хостинг пен кластерлерді қиындатады.
  • Kerberos пайдаланушы тіркелгілері мен қызметтерінен Kerberos таңбалауыш серверімен сенімді қарым-қатынас орнатуды талап етеді.
  • Клиенттің талап етілетін сенімі кезеңді ортаны құруды қиындатады (мысалы, сынақ ортасы, өндіріс алдындағы орта және өндіріс ортасы үшін бөлек домендер): Домендердің сенімді байланыстарын құру қажет, олар қоршаған орта домендерінің қатаң бөлінуіне жол бермейді немесе қосымша пайдаланушы клиенттері болуы керек әр орта үшін қарастырылған.

Осалдықтар

The Деректерді шифрлау стандарты (DES) шифрды Kerberos-пен бірге қолдануға болады, бірақ ол Интернет стандарты болып табылмайды, өйткені ол әлсіз.[8] Қауіпсіздік осалдығы Kerberos-ты іске асыратын көптеген бұрынғы өнімдерде бар, себебі олар DES орнына AES сияқты жаңа шифрларды қолдану үшін жаңартылмаған.

2014 жылдың қарашасында Microsoft Kerberos Key Distribution Center (KDC) Windows іске қосуындағы осалдықты жою үшін патч (MS14-068) шығарды.[9] Осалдық пайдаланушыларға өздерінің артықшылықтарын домен деңгейіне дейін «көтеруге» (және теріс пайдалануға) мүмкіндік береді.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ RFC 4556, реферат
  2. ^ Дженнифер Г.Штайнер; Даниэль Э. Джир, кіші (1988 ж. 21 шілде). «Афина ортасындағы желілік қызметтер». 1988 жылғы қысқы Усеникс конференциясының материалдары. CiteSeerX  10.1.1.31.8727.
  3. ^ Цвики Элизабет; Саймон Купер; Брент (26 маусым 2000). Интернет брандмауэрін құру: Интернет және веб-қауіпсіздік. О'Рейли.
  4. ^ Дженнифер Г.Штайнер; Клиффорд Нейман; Джеффри Шиллер. «Kerberos: Ашық желілік жүйелерге арналған аутентификация қызметі"" (PDF). S2CID  222257682. Архивтелген түпнұсқа (PDF) 2019-05-07. Алынған 2019-05-07. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)
  5. ^ а б c «Kerberos аутентификациясы деген не?». Microsoft TechNet. Мұрағатталды түпнұсқасынан 2016-12-20.
  6. ^ С, Нейман; Дж., Коль. «Kerberos желісінің аутентификация қызметі (V5)». Мұрағатталды түпнұсқасынан 2016-08-21 ж.
  7. ^ Клиффорд, Нейман; Сэм, Хартман; Том, Ю; Кеннет, Ребурн. «Kerberos желісінің аутентификация қызметі (V5)». Мұрағатталды түпнұсқасынан 2016-08-21 ж.
  8. ^ Том, Ю; Махаббат, Астранд. «Керберостағы DES, RC4-HMAC-EXP және басқа да әлсіз криптографиялық алгоритмдердің күшін жою». Мұрағатталды түпнұсқасынан 2015-10-27 жж.
  9. ^ Сельцер, Ларри. «Windows Kerberos осалдығы туралы мәліметтер пайда болды - ZDNet». Мұрағатталды түпнұсқасынан 2014-11-21 ж.
Жалпы
RFC
  • RFC 1510 Kerberos желісінің аутентификация қызметі (V5) [Ескірген]
  • RFC 1964 ж Kerberos 5-нұсқа GSS-API механизмі
  • RFC 3961 Kerberos 5 үшін шифрлау және бақылау сомасының сипаттамалары
  • RFC 3962 Kerberos 5 үшін кеңейтілген шифрлау стандарты (AES) шифрлау
  • RFC 4120 Kerberos желісінің аутентификациясы қызметі (V5) [Ағымдағы]
  • RFC 4121 Kerberos 5-нұсқасының жалпы қауіпсіздік қызметінің бағдарламалық интерфейсі (GSS-API) механизмі: 2-нұсқа
  • RFC 4537 Kerberos криптожүйесінің келіссөздерін кеңейту
  • RFC 4556 Kerberos-та бастапқы аутентификацияға арналған ашық кілт криптографиясы (PKINIT)
  • RFC 4557 Кербероста (PKINIT) бастапқы аутентификация үшін ашық кілт криптографиясын қолдауға арналған онлайн сертификат мәртебесінің хаттамасы (OCSP)
  • RFC 4757 Microsoft Windows пайдаланатын RC4-HMAC Kerberos шифрлау түрлері [Ескірген]
  • RFC 5021 Кеңейтілген Kerberos нұсқасы 5-тарату орталығы (KDC) TCP арқылы алмасады
  • RFC 5349 Эллиптикалық қисық криптографиясы (ECC) Kerberos-та бастапқы аутентификация үшін ашық кілт криптографиясын қолдау (PKINIT)
  • RFC 5868 Керберостың кросс-саладағы жұмысы туралы проблемалық мәлімдеме
  • RFC 5896 Жалпы қауіпсіздік қызметінің бағдарламалық интерфейсі (GSS-API): Саясат мақұлдаған жағдайда өкіл
  • RFC 6111 Қосымша Kerberos атауындағы шектеулер
  • RFC 6112 Kerberos үшін жасырын қолдау
  • RFC 6113 Kerberos алдын-ала түпнұсқалық растамасының жалпыланған негізі
  • RFC 6251 Transport Layer Security (TLS) протоколы арқылы Kerberos 5 нұсқасын пайдалану
  • RFC 6448 Kerberos 5 KRB-CRED хабарламасының шифрланбаған түрі
  • RFC 6542 Kerberos 5-нұсқасының жалпы қауіпсіздік қызметінің бағдарламалық интерфейсі (GSS-API) арнаны байланыстыру жылдамдығы
  • RFC 6560 Бір реттік құпия сөзді (OTP) алдын-ала растау
  • RFC 6649 Керберостағы DES, RC4-HMAC-EXP және басқа әлсіз криптографиялық алгоритмдерді ескіртіңіз
  • RFC 6784 DHCPv6 үшін Kerberos параметрлері
  • RFC 6803 Kerberos 5-ке арналған камелияны шифрлау
  • RFC 6806 Kerberos негізгі атауы канонизация және кросс-бағыттар
  • RFC 6880 Kerberos 5 нұсқасына арналған ақпараттық модель

Әрі қарай оқу

  1. «Тунни заңына сәйкес Microsoft пен Әділет департаменті арасындағы ұсынылған келісімге Novell Inc компаниясының түсініктемесі». Азаматтық іс-қимыл № 98-1232 (CKK): Америка Құрама Штаттары Microsoft корпорациясына қарсы. Әділет департаменті. 29 қаңтар 2002 ж. Алынған 15 тамыз 2012.
  2. Брайант, Билл (ақпан 1988). «Аутентификация жүйесін жобалау: төрт көріністегі диалог». Керберостың дизайны қалай дамығандығы туралы күлкілі ойын. MIT.
  3. Хорнштейн, Кен (18 тамыз 2000). «Kerberos FAQ, v2.0». Әскери-теңіз күштерінің хатшысы. Архивтелген түпнұсқа 3 желтоқсан 2002 ж. Алынған 15 тамыз 2012.

Сыртқы сілтемелер