Simple Authentication and Security Layer (SASL) is a
framework for
authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicat ...
and
data security in Internet
protocols. It decouples authentication mechanisms from
application protocols, in theory allowing any authentication mechanism supported by SASL to be used in any application protocol that uses SASL. Authentication mechanisms can also support ''proxy authorization'', a facility allowing one user to assume the identity of another. They can also provide a ''data security layer'' offering ''data integrity'' and ''data confidentiality'' services. DIGEST-MD5 provides an example of mechanisms which can provide a data-security layer. Application protocols that support SASL typically also support
Transport Layer Security
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in secu ...
(TLS) to complement the services offered by SASL.
John Gardiner Myers wrote the original SASL specification (RFC 2222) in 1997. In 2006, that document was replaced by RFC 4422 authored by Alexey Melnikov and Kurt D. Zeilenga. SASL, as defined by RFC 4422 is an
IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
''Standard Track'' protocol and is, , a ''
Proposed Standard''.
SASL mechanisms
A SASL mechanism implements a series of challenges and responses. Defined SASL mechanisms include:
SASL-aware application protocols
Application protocols define their representation of SASL exchanges with a ''profile''. A protocol has a ''service name'' such as "ldap" in a registry shared with
GSSAPI and
Kerberos.
protocols currently supporting SASL include:
*
Application Configuration Access Protocol
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
*
Advanced Message Queuing Protocol
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subsc ...
(AMQP)
*
Blocks Extensible Exchange Protocol
*
Internet Message Access Protocol
In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by .
IMAP was designed with the goal ...
(IMAP)
*
Internet Message Support Protocol
*
Internet Relay Chat
Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called '' channels'', but also allows one-on-one communication via private messages as well as chat a ...
(IRC) (with
IRCX or th
IRCv3 SASL extension
*
Lightweight Directory Access Protocol (LDAP)
*
libvirt
* ManageSieve (RFC 5804)
*
memcached
*
Post Office Protocol
In computing, the Post Office Protocol (POP) is an application-layer Internet standard protocol used by e-mail clients to retrieve e-mail from a mail server. POP version 3 (POP3) is the version in common use, and along with IMAP the most comm ...
(POP)
*
Remote framebuffer protocol used by
VNC
*
Simple Mail Transfer Protocol
The Simple Mail Transfer Protocol (SMTP) is an Internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typic ...
(SMTP)
*
Subversion
Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms. Sub ...
protocol
*
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
(XMPP)
See also
*
Transport Layer Security
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in secu ...
(TLS)
References
External links
* - Simple Authentication and Security Layer (SASL) - obsoletes
* - Anonymous Simple Authentication and Security Layer (SASL) Mechanism - obsoletes
* - The PLAIN Simple Authentication and Security Layer (SASL) Mechanism - updates
* The IET
SASL Working Group chartered to revise existing SASL specifications, as well as to develop a family of GSSAPI mechanisms
Cyrus SASL a free and portable SASL library providing generic security for various applications
GNU SASL a free and portable SASL command-line utility and library, distributed under the
GNU
GNU () is an extensive collection of free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any ...
GPLv3
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
and
LGPLv2.1, respectively
Dovecot SASL an SASL implementation
* ''(historic)'' - Using Digest Authentication as a SASL Mechanism, obsoleted in
Programming and Deployment Guide
{{Authentication APIs
Cryptographic protocols
Internet Standards
Computer access control protocols