2.2 SASL (RFC 2222)

Simple Authentication and Security Layer (SASL) è un metodo per includere l’autenticazione a supporto di protocolli basati sulla connessione. La specifica di SASL include meccanismi per identificare e autenticare un utente su un server e meccanismi opzionali per negoziare un livello sicuro che assicura confidenzialità.

I meccanismi SASL sono identificati da stringhe, lunghe da 1 a 20 caratteri. I nomi dei meccanismi SASL devono essere registrati dalla IANA.

Se supporta questi meccanismi, un server, inizializza un protocollo di autenticazione. Questo consiste in una serie di challenges e risposte del client che sono specifiche per il meccanismo richiesto. Le challenges e le risposte sono definite per ogni meccanismo come token binari di arbitraria lunghezza. Il protocollo specifica come questi token devono essere codificati per essere trasferiti su una connessione.

Dopo la ricezione di un comando di autenticazione o di una risposta di un client, un server può inviare una challenge, indicare il fallimento, o comunicare che l’autenticazione è completata . Il protocollo specifica come il server deve effettuare queste operazioni.

Dopo la ricezione di una challenge, un client può rilasciare una risposta o abortire l’autenticazione. Il protocollo specifica come il client deve effettuare queste operazioni.

Durante il processo di autenticazione, il meccanismo di autenticazione trasmette una authorization identity (spesso conosciuta come una userid) dal client al server, e negozia l’uso di specifici meccanismi per un livello di sicurezza.

I meccanismi definiti in SASL sono:

·         Kerberos versione 4

·         GSSAPI

·         S/Key

·         External mechanism