SASL (Simple Authentication and Security Layer) ist eine Spezifikation zum Entwurf und Implementierung von Authentisierungs- Protokollen. Die einzelnen Authentisierungs- Verfahren sind teilweise von der IETF standardisiert worden.
Die Cyrus SASL Bibliothek ist eine SASL Implementierung, die von unterschiedlichen Applikationen genutzt werden kann. Beispiele für Unix/Linux Applikationen, die SASL nutzen sind Postfix, Sendmail, Cyrus imapd, OpenLDAP.
Die Authentisierungs- Verfahren unterscheiden sich hinsichtlich der Sicherung der übermittelten Daten bezüglich Verschlüsselung und Integrität.
Bei diesen Verfahren wird das Passwort im Klartext oder in einem Klartext-Äquivalent (Crypt, MD5, SHA1, ...) übermittelt. Die Applikation, die die Authentisierung prüft, muss Zugriff auf das Klartextpasswort oder einer Kopie des übermittelten Klartext-Äquivalents haben.
Klartext-Verfahren sind PLAIN und LOGIN. Das LOGIN Verfahren ist undokumentiert und wird nur von älteren propritären Clients genutzt und sollte daher nicht mehr aktiv verwendet werden.
Bei diesen Verfahren wird das Passwort nie direkt übertragen. Beide Zwischen den beiden Seiten wird ein Token übermittelt, mit dessen Hilfe die Kenntnis des korrekten Passworts bewiesen werden kann.
Für die Verfahren CRAM-MD5 und DIGEST-MD5 benötigt der Server den Zugriff auf das Klartext-Passwort.
Beispiele für die beschriebenen Verfahren sind CRAM-MD5 und DIGEST-MD5. DIGEST-MD5 ist dabei der Nachfolger von CRAM-MD5.
Achtung! Verfahren mit "shared secrets" können nicht in Verbindung mit "saslauthd" eingesetzt werden.
Beim Kerberos-Verfahren wird eine dritte Instanz für die Authentisierung genutzt. Der Server benötigt keinen Zugriff auf das Passwort, da er die korrekte Authentikation mit einer Abfrage des Kerberos-Servers prüft.