Simple Authentication and Security Layer
# Simple Authentication and Security Layer

Simple Authentication and Security Layer (signifiant « Couche d'authentification et de sécurité simple » ou SASL) est un cadre d'authentification et d'autorisation standardisé par l'IETF.

Le cadre découple les mécanismes d'authentification des protocoles d'application, permettant en théorie à n'importe quel mécanisme d'authentification pris en charge par SASL d'être employé à partir de n'importe quel protocole d'application capable d'utiliser SASL. Les mécanismes d'authentification peuvent également opérer l'autorisation par serveur mandataire, une technique permettant à un utilisateur d'agir au nom d'un autre. Les mécanismes d'authentification peuvent également fournir une couche d'intégrité des données laquelle permet d'offrir des services de sécurité des données et de confidentialité des données. Un exemple connu d'une telle couche d'intégrité des données est DIGEST-MD5. Les protocoles d'application qui proposent SASL prennent très souvent en charge le protocole de sécurisation des échanges TLS en complément des services offerts par SASL.

SASL est au départ apparu dans le RFC 2222, écrit par John Meyers alors à l'Université de Carnegie Mellon. La spécification actuelle se trouve dans le RFC 4422, écrit par Alexey Melnikov et Kurt Zeilenga. Le RFC 4422 rend le RFC 2222 obsolète. SASL est actuellement un standard proposé de l'IETF.

## Mécanismes SASL

Un mécanisme SASL est conçu comme une série de demandes d'accès et de réponses. Quelques-uns des mécanismes actuellement définis sont :

* "EXTERNAL", l'authentification est dérivée du contexte (par exemple pour les protocoles employant déjà IPsec ou TLS)
* "ANONYMOUS", accès anonyme sans authentification.
* "PLAIN", mot de passe en clair. (PLAIN rend obsolète le mécanisme LOGIN.)
* "OTP", mécanisme de mot de passe à usage unique. (OTP rend obsolète le mécanisme SKEY.)
* "SKEY", mécanisme de mot de passe à usage unique S/KEY.
* "CRAM-MD5", mécanisme basé sur HMAC-MD5.
* "DIGEST-MD5", mécanisme basé sur MD5 et compatible HTTP. (DIGEST-MD5 fournit une couche d'intégrité des données.)
* "SCRAM", mécanisme moderne utilisant une authentification challenge-réponse supportant la liaison de canal (RFC 5802).
* "NTLM", mécanisme d'authentification pour réseau local NT.
* "GSSAPI", pour l'authentification Kerberos V via GSSAPI. (GSSAPI fournit une couche d'intégrité des données.)

Un ensemble de mécanismes SASL est conçu de manière à pouvoir reconnaître n'importe quel mécanisme GSSAPI.

## Applications compatibles SASL

Les protocoles d'application définissent leur représentation des échanges via SASL au moyen d'un profil. Un protocole a un nom de service tel que « ldap » dans une base de registre partagée avec GSSAPI et Kerberos. Les protocoles gérant actuellement SASL incluent BEEP, IMAP, LDAP, POP, SMTP, XMPP ou encore IRC.

## Implémentations

* GNU SASL
* Dovecot SASL
* Cyrus SASL
