SASL, ou couche d'authentification et de sécurité simple, est un cadre d'authentification qui spécifie et décrit le processus de branchement des mécanismes d'authentification dans les protocoles d'application. Il s'agit d'un cadre de normes Internet ou d'une méthode de suivi pour l'authentification des ordinateurs distants.
Le cadre SASL permet la mise en œuvre de mécanismes d'authentification sur les serveurs et les applications qui utilisent les protocoles IMAP, XMPP, ACAP, LDAP et SMTP. Il fournit aux bibliothèques partagées et aux développeurs d'applications des mécanismes de vérification, de chiffrement et d'authentification des données de données correctes et fiables.
Cet article vous fournit une introduction à SASL. Il discutera des fonctionnalités et des caractéristiques de SASL et du fonctionnement de ce cadre. En outre, cet article mettra en évidence l'architecture SASL et se terminera en décrivant les différents mécanismes impliqués.
Caractéristiques de SASL
Cette couche d'authentification permet intuitivement aux développeurs de coder les applications et les programmes à une API générique. Il ne spécifie pas la technologie pour effectuer une authentification, car cette responsabilité incombe à chaque mécanisme SASL. Ainsi, l'approche est pratique pour éviter les dépendances sur des mécanismes d'authentification ou de chiffrement spécifiques.
Bien sûr, les protocoles mentionnés ont soutenu précédemment SASL. La bibliothèque SASL est populairement appelée libsasl, un framework qui opposé et permet aux bons programmes et applications SASL pour utiliser les plug-ins SASL disponibles dans votre système.
SASL est un cadre qui repose sur divers mécanismes pour régir l'échange de protocole. Ces plug-ins de mécanismes de sécurité permettent à SASL de fournir les fonctions suivantes:
Identificateurs d'autorisation et d'authentification dans SASL
Premièrement, il est important de faire la différence entre un identifiant d'autorisation dans SASL et un identifiant d'authentification. Habituellement, l'ID utilisateur, l'utilisateur ou l'ID d'autorisation pour SASL est un identifiant que toute application Linux utilise pour vérifier les options auxquelles il peut permettre à l'accès et à l'utilisation.
D'un autre côté, l'ID d'authentification ou l'ID d'authentification représente l'identifiant d'authentification. Cette identité est l'identifiant qui est à destination de la vérification par le système. Le système n'authentifie que les utilisateurs dont les identités et les mots de passe correspondent aux détails stockés.
Comment fonctionne SASL
Tout comme son nom, SASL travaille d'une manière assez simple. La négociation commence avec le client demandant l'authentification du serveur en établissant une connexion. Le serveur et le client feront des copies de leurs copies locales respectives de la bibliothèque (libsasl) via l'API SAL. Libsasl établira une connexion avec les mécanismes SASL requis via l'interface du fournisseur de services (SPI).
Le serveur répondra avec une liste de tous les mécanismes pris en charge. D'un autre côté, le client répondra en choisissant un seul mécanisme. Le serveur et le client échangera ensuite des données jusqu'à ce que le processus d'authentification demandé échoue ou réussit. Notamment, le client et le serveur connaîtront celui qui est de l'autre côté du canal.
L'illustration de l'architecture est dans la figure ci-dessous:
Une illustration d'une authentification SMTP est dans la figure ci-dessous:
Les 3 premières lignes de l'illustration contiennent une liste de tous les mécanismes pris en charge, notamment CRAM-MD5, Digest-MD5 et Plain, entre autres; Ils proviennent du serveur. La ligne suivante provient du client et indique qu'il a choisi le CRAM-MD5 comme mécanisme préféré. Le serveur répond avec un message généré par SASL Functions. Enfin, le serveur accepte l'authentification.
Comme la plupart des frameworks, SASL prend en charge le concept «Realms». Et par définition, les royaumes sont des résumés d'utilisateurs. Vous découvrirez également que des mécanismes spécifiques ne peuvent authentifier les utilisateurs que dans certains royaumes.
Mécanismes SASL communs
Nous avons déjà noté dans les sections précédentes que SASL fonctionne lorsque le serveur répertorie les mécanismes disponibles et que le client choisit l'un des mécanismes d'une authentification particulière. Ainsi, certains des mécanismes SASL avec lesquels vous interagissez très probablement incluent:
Mécanismes secrètes partagés
Les deux principaux mécanismes secrètes de partage soutenus par SASL sont le CRAM-MD5 et le Digest-MD5 qui sont venus après. Ils comptent sur le succès du client et du serveur partageant un secret, et ce secret sera souvent un mot de passe. Le serveur interrogera le client sur ce secret. D'un autre côté, le client doit toujours fournir la réponse à ce secret pour prouver qu'il connaît le secret.
Bien que cette méthode soit plus sécurisée que l'envoi de mots de passe sur les réseaux, sa faisabilité repose sur la capacité du serveur à garder les secrets dans sa base de données. Une violation de sécurité sur la base de données du serveur comprometra également la sécurité des mots de passe stockés.
Mécanismes simples
Uniquement, cette méthode est assez sécurisée. Il est donc idéal pour les connexions qui ont déjà d'autres niveaux de cryptage. Il fonctionne en transmettant un ID d'authentification, un ID utilisateur et un mot de passe au serveur afin que le serveur puisse déterminer si la combinaison est correcte et autorisée ou non.
Notamment, la plus grande préoccupation de ce mécanisme est de savoir comment les informations d'authentification et les mots de passe sont vérifiés et vérifiés.
Mécanismes de kerberos
Enfin, la bibliothèque SASL a des mécanismes qui peuvent utiliser les systèmes d'authentification Kerberos 4 et Kerberos 5. Le mécanisme Kerberos_V4 peut utiliser le Kerberos 4, tandis que le GSSAPI peut utiliser Kerberos 5. Puisqu'ils utilisent l'interface Kerberos, ils n'ont pas besoin de mots de passe.
Conclusion
Cette couche d'authentification est utile dans un tableau d'applications et de programmes Linux. De cet article, vous devriez maintenant avoir une idée de ce que la couche d'authentification implique. Cet article discute spécifiquement des fonctionnalités, de l'architecture et du fonctionnement de SASL dans un environnement Linux. L'article explique également brièvement certains des mécanismes SASL communs que vous rencontrerez.