Simple Authentication and Security Layer
# Simple Authentication and Security Layer

Simple Authentication and Security Layer(SASL) ist ein Framework, das von verschiedenen Protokollen zur Authentifizierung im Internet verwendet wird. Es wurde im Oktober1997 als definiert, der im Juni2006 durch ersetzt wurde.
SASL bietet dem Applikationsprotokoll damit eine standardisierte Möglichkeit der Aushandlung von Kommunikationsparametern. Im Regelfall wird nur eine Authentifizierungsmethode ausgehandelt, es kann aber auch vereinbart werden, dass zuerst auf ein verschlüsseltes Transportprotokoll, z. B. auf TLS, gewechselt wird. Die SASL-Implementierungen auf Client- und Server-Seite einigen sich auf ein Verfahren, dieses kann dann von der Applikation transparent benutzt werden.
Durch diesen Standard wird die Entwicklung sicherer Applikationsprotokolle wesentlich vereinfacht: der Entwickler muss lediglich eine bestehende SASL-Implementierung nutzen, anstatt ein komplettes Verfahren zur Authentifizierung und Datenverschlüsselung selbst zu implementieren.
SASL wird u. a. bei SMTP, IMAP, POP3, LDAP und XMPP benutzt.

## Authentifizierungsmechanismen

Unter anderem folgende standardisierte Mechanismen sind bei der IANA aufgelistet (siehe Weblinks):
* PLAIN, alle Daten werden im Klartext ausgetauscht (hier bietet meistens TLS die nötigen Sicherheitsmechanismen)
* GSSAPI, ist selbst ein Framework, das beispielsweise Kerberos v5 anbietet
* CRAM-MD5, vermeidet die Übertragung des Passworts im Klartext
* DIGEST-MD5, ähnlich wie CRAM-MD5, jedoch mit der Möglichkeit, zusätzliche Parameter wie Integritätssicherung auszuhandeln
* SCRAM (RFC 5802), auf einer Challenge-Response-Authentifizierung basierender Mechanismus
* Einmalkennwort (OTP), bietet Passwortverifizierung, ohne dass der Server das Passwort kennt
* ANONYMOUS, der Nutzer kann den Dienst ohne Authentifizierung nutzen
* EXTERNAL, die Authentifizierung erfolgt außerhalb von SASL.