Що таке SASL / GSSAPI?


17

Я безліч разів зустрічав вираз SASL / GSSAPI. Я багато разів шукав Google, але просто не розумію, що це таке і як це стосується Kerberos.

Хтось має просте пояснення з цього приводу?

Відповіді:


5

SASL та GSSAPI - це рамки, до яких можуть підключатися різні постачальники аутентифікації. Людям, які бажають використовувати автентифікацію Kerberos в додатку, що підтримує SASL або GSSAPI, потрібно лише надати відповідний плагін Kerberos, а не перезаписувати додаток зі специфічним для Kerberos кодом.


1
Дійсно, як я вже сказав, "SASL ... що різні постачальники аутентифікації можуть бути підключені". Це дві різні рамки, до яких можна підключити різних постачальників аутентифікації, таких як Kerberos або NTLM.
dsolimano

SASL - це більше специфікація впровадження, як правило, для текстових протоколів (наприклад, SMTP, IMAP тощо). GSSAPI - це визначення інтерфейсу програми для плагінів, які підтримують різні механізми аутентифікації. SASL може використовувати GSSAPI для розширення своїх аутентичних механізмів.
Chris S

не даючи конкретного '' 'прикладу' '', який фактичний постачальник підключається до якої-небудь реальної системи, більшість людей не знають, про що ви говорите.
dotbit

41

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

GSSAPI розшифровується як інтерфейс прикладної програми для загальних служб безпеки; Зазвичай він стає доступним як один із механізмів, якими може скористатися SASL. Це сама по собі ще одна основа для розробки та впровадження різних механізмів аутентифікації. Ці механізми включають Kerberos, NTLM та SPNEGO (простий і захищений механізм переговорів GSSAPI): псевдомеханізм GSSAPI, який дозволяє клієнтам, сумісним з GSSAPI, домовлятися, який механізм GSSAPI вони хочуть використовувати.

Ось приклад, який допоможе зробити це трохи зрозумілішим (брутально спрощеним заради ясності):

  1. Клієнт підключається до сервера і каже: "Я підтримую SASL! Як я повинен автентифікувати себе?"
  2. Сервер отримує з'єднання і відповідає: "Я також підтримую SASL і можу використовувати ці механізми у порядку зменшення: GSSAPI, CRAM-MD5, PLAIN."
  3. Клієнт відповідає: "З варіантів я хотів би скористатися GSSAPI."
  4. Сервер відповідає "GSSAPI? Капітал. Я підтримую Kerberos і NTLM."
  5. Клієнт відповідає: "Давайте використовувати Kerberos. Ось мій зашифрований квиток і т.д. і т.д."

1
Дякую дуже чітке пояснення
mSatyam,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.