SASL

Simple Authentication and Security Layer, SASL (укр. Прошарок Простої Автентифікації та Безпеки) — фреймворк для надання послуг автентифікації та безпеки даних в орієнтованих на з'єднання протоколах за допомогою змінних механізмів. SASL надає структурований інтерфейс між протоколами та механізмами, а також протокол для убезпечення вкладеного протоколу в межах прошарку безпеки. Прошарок безпеки даних може забезпечувати цілісність даних, конфіденційність даних, проксі-авторизацію та інші послуги.

Побудова SASL дозволяє:

  • новим протоколам — повторно використовувати механізми, що вже існують, без потреби переробки цих механізмів;
  • протоколам, що вже існують — використовувати нові механізми без переробки протоколів.

Концептуально SASL є фреймворком, що надає абстрактний прошарок між протоколами і механізмами:

Абстрактний прошарок SASL

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

Для використання SASL кожен протокол, крім іншого, надає:

  • метод для визначення механізму, який слід застосовувати;
  • метод для обміну специфічними для механізму запитами від сервера і відповідями від клієнта;
  • метод для перевірки результатів перевірки справжності.

Історія

В 1997 році Джон Гардинер Майєрс під час роботи в університеті Карнегі-Мелон створив документ RFC 2222, в якому описав специфікації SASL. У 2004 році специфікації RFC 2222 були замінені новими специфікаціями RFC 4422.

Роботи над протоколом SASL відстежуються організацією IETF і, станом на 2010 рік, SASL є запропонованим стандартом.

Механізми SASL

Назви механізмів SASL представлені у вигляді рядків символів довжиною від 1 до 20 символів, що містять латинські букви в верхньому регістрі, цифри, дефіси і/або знак підкреслення.

SASL визначає наступні стандартні[1] механізми:

Стандартні механізми SASL
МеханізмСтанДокумент / АвторОпис
KERBEROS_V4ЗастарілийRFC 2222Kerberos
GSSAPIЗагальнийRFC 4752Механізм автентифікації для Kerberos V5 через GSS-API, який надає прошарок безпеки даних.
SKEYЗастарілийRFC 2444S/KEY
EXTERNALЗагальнийRFC 4422Для випадків, коли автентифікація забезпечується неявно контекстом, наприклад, для протоколів, що вже використовують IPsec або TLS.
CRAM-MD5ОбмеженийRFC 2195Проста схема запит-відповідь (Challenge-Response Authentication Mechanism), що ґрунтується на HMAC-MD5.
ANONYMOUSЗагальнийRFC 4505Для доступу неавтентифікованих відвідувачів.
OTPЗагальнийRFC 2444Механізм одноразового паролю One-Time Password, замінив собою застарілий механізм SKEY.
GSS-SPNEGOОбмеженийPaul Leach
PLAINЗагальнийRFC 4616Простий механізм передачі паролю відкритим текстом Plaintext, замінив собою застарілий механізм LOGIN.
SECURIDЗагальнийRFC 2808
NTLMОбмеженийPaul LeachМеханізм автентифікації NT LAN Manager.
NMAS_LOGINОбмеженийMark G. Gayman
NMAS_AUTHENОбмеженийMark G. Gayman
DIGEST-MD5ЗастарілийRFC 6331Схема запит-відповідь, сумісна з дайджестом HTTP, що ґрунтується на MD5 і надає прошарок безпеки даних.
9798-U-RSA-SHA1-ENCЗагальнийRFC 3163
9798-M-RSA-SHA1-ENCЗагальнийRFC 3163
9798-U-DSA-SHA1ЗагальнийRFC 3163
9798-M-DSA-SHA1ЗагальнийRFC 3163
9798-U-ECDSA-SHA1ЗагальнийRFC 3163
9798-M-ECDSA-SHA1ЗагальнийRFC 3163
KERBEROS_V5ЗагальнийSimon JosefssonKerberos
NMAS-SAMBA-AUTHОбмеженийVince Brimhall
SCRAM-*ЗагальнийRFC 5802
SCRAM-SHA-1ЗагальнийRFC 5802
SCRAM-SHA-1-PLUSЗагальнийRFC 5802
GS2-*ЗагальнийRFC 5801Родина механізмів GS2 підтримують довільні механізми GSS-API в SASL.
GS2-KRB5ЗагальнийRFC 5801
GS2-KRB5-PLUSЗагальнийRFC 5801
SPNEGOНе можна використовуватиRFC 5801
SPNEGO-PLUSНе можна використовуватиRFC 5801
SAML20ЗагальнийRFC 6595
OPENID20ЗагальнийRFC 6616

IANA вимагає обов'язкову реєстрацію механізмів SASL[1].

GateKeeper (також GateKeeperPassword) — механізм запит-відповідь, розроблений Microsoft для MSN Chat, проте не зареєстрований[1] в IANA.

Див. також

Примітки

Посилання

  • SASL Mechanisms [Механізми SASL]. IANA (англійською).
  • RFC 4422 — Simple Authentication and Security Layer (SASL) — замість RFC 2222
  • RFC 4505 — Anonymous Simple Authentication and Security Layer (SASL) Mechanism — замість RFC 2245
  • RFC 5801 — Using Generic Security Service Application Program Interface (GSS-API) Mechanisms in Simple Authentication and Security Layer (SASL): The GS2 Mechanism Family
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.