SASL

Overview#

Simple Authentication and Security Layer (SASL) is a framework for Authentication and data Security Layer that can provide data integrity, data confidentiality, and other services for Internet ProtocolsSASL allows Authentication Method to be decoupled from application protocols, in theory allowing any Authentication Method supported by SASL to be used in any application protocol that uses SASL.

Authentication Methods may also support Delegation. They may 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.

The original SASL specification RFC 2222 while at Carnegie Mellon University. In 2006 that document was made obsolete by RFC 4422, but a number of specific SASL Mechanisms are described in other specifications. [2]

As SASL Mechanisms are External to the Protocol, they may be referred to as EXTERNAL SASL Mechanism even though the SASL Mechanism may reside on and be done on by the same server.

Generic Operation [1]#

The basic operation of SASL is straightforward. The server provides a list of supported authentication mechanisms, and then the client determines which of the supported authentication mechanisms will be used (based on the client’s capabilities and security requirements.

Protocols that contain SASL support include:

To be used with SASL, a new authentication mechanism needs to be registered, and any authentication mechanism specific capabilities need to be agreed upon.

Some selected SASL authentication mechanisms are listed below:

MechanismStandardizationWhat it Does
CRAM-MD5RFC 2195Use MD5 hash for client authentication
DIGEST-MD5RFC 2831Adds server authentication and confidentiality to CRAM-MD5
GSSAPIRFC 4752For supporting Kerberos authentication
EXTERNALRFC 4422For use with SSL/TLS and X.509 Digital Signatures
PLAINRFC 4616Plaintext password
LOGINde factoAlternative to PLAIN SASL Mechanism
NTLMMicrosoft ProprietarySimilar to CRAM-MD5
SCRAM-SHA-1RFC 5802Salted Challenge Response Mechanism, a new standard
NMAS_LOGIN used in NovellS Challenge Response System.

LDAP and SASL#

For LDAP, common EXTERNAL SASL Mechanisms include:

More Information#

There might be more information for this subject on one of the following:
[#1] Adapted from http://www.isode.com/products/sasl.html retrieved 2012-09-28 [#2] Adapted from http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer retrieved 2012-09-28