Simple Authentication and Security Layer
SASL (англ. Simple Authentication and Security Layer — простой уровень аутентификации и безопасности) — это фреймворк (каркас) для предоставления аутентификации и защиты данных в протоколах на основе соединений. Он разделяет механизмы аутентификации от прикладных протоколов, в теории позволяя любому механизму аутентификации, поддерживающему SASL, быть использованным в любых прикладных протоколах, которые используют SASL. Фреймворк также предоставляет слой защиты данных. Для использования SASL протокол включает команду для идентификации и аутентификации пользователя на сервере и для опциональной защиты переговоров последующей интерактивности протокола. Если это используется в переговорах, то слой безопасности вставляется между протоколом и соединением.
В 1997 Джон Гардинер Майерс (John Gardiner Myers) написал изначальную спецификацию SASL (RFC 2222) при университете Карнеги-Меллона (Carnegie Mellon University). В 2006 году этот документ утратил силу после введения RFC 4422, под редакцией Алексея Мельникова (Alexey Melnikov) и Курта Зейлинга (Kurt Zeilenga).
Механизмы SASL
Механизмы SASL реализуют серию запросов и ответов. Определенные SASL механизмы[1] включают:
- «EXTERNAL», используется, когда аутентификация отделена от передачи данных (например, когда протоколы уже используют IPsec или TLS);
- «ANONYMOUS», для аутентификации гостевого доступа (RFC 4505);
- «PLAIN», простой механизм передачи паролей открытым текстом. PLAIN является заменой устаревшему LOGIN ;
- «OTP», механизм одноразовых паролей. OTP заменяет устаревший механизм SKEY;
- «SKEY», система одноразовых паролей (устаревший);
- «CRAM-MD5»;
- «DIGEST-MD5»;
- «NTLM»;
- «GSSAPI»;
- GateKeeper (& GateKeeperPassport), разработана Microsoft для MSN Chat;
- «KERBEROS IV» (устаревший).
Семейство механизмов GS2 поддерживает произвольные GSSAPI механизмы в SASL.[2] Это сейчас стандартизовано в RFC 5801.
Протоколы, для которых используется SASL
По состоянию на 2012 год, протоколы, поддерживающие SASL, включают:
- ACAP
- AMQP
- BEEP
- IMAP
- IMSP
- IRC (с IRCX, TS6 или IRCv3 SASL расширением)
- LDAP
- libvirt
- ManageSieve (RFC 5804)
- memcached
- POP
- RFB protocol[3] используется в VNC
- SMTP
- Subversion's «svn» протокол
- XMPP
- Apache Thrift
Примечания
- SASL mechanisms
- Simon Josefsson. Using GSS-API Mechanisms in SASL: The GS2 Mechanism Family (недоступная ссылка). Архивировано 4 марта 2012 года.
- Request for allocation of new security type code for SASL auth (недоступная ссылка). Дата обращения: 5 января 2015. Архивировано 26 декабря 2014 года.