Qu'est-ce que SASL / GSSAPI?

17

De nombreuses fois j'ai rencontré l'expression SASL / GSSAPI. J'ai cherché sur Google à plusieurs reprises, mais je ne comprends tout simplement pas ce que c'est et comment cela se rapporte à Kerberos.

Quelqu'un qui a une explication simple à ce sujet?


la source

Réponses:

5

SASL et GSSAPI sont des cadres auxquels divers fournisseurs d'authentification peuvent être connectés. Les personnes souhaitant utiliser l'authentification Kerberos dans une application prenant en charge SASL ou GSSAPI n'ont qu'à fournir le plug-in Kerberos approprié, plutôt que de réécrire l'application avec du code spécifique à Kerberos.

dsolimano
la source
1
En effet, comme je l'ai dit, "SASL ... que divers fournisseurs d'authentification peuvent être branchés". Il s'agit de deux cadres différents dans lesquels vous pouvez connecter divers fournisseurs d'authentification, tels que Kerberos ou NTLM.
dsolimano
SASL est plus une spécification d'implémentation généralement pour les protocoles basés sur du texte (comme SMTP, IMAP, etc.). GSSAPI est une définition d'interface d'application pour les plugins qui prennent en charge divers mécanismes d'authentification. SASL peut utiliser GSSAPI pour étendre ses mécanismes d'authentification.
Chris S
sans donner un '' '' exemple '' concret sur quel fournisseur réel se branche dans quel cadre du monde réel, la plupart des gens ne savent pas de quoi vous parlez.
dotbit
40

SASL signifie Authentification simple et couche de sécurité; c'est un cadre qui permet aux développeurs d'implémenter différents mécanismes d'authentification et permet aux clients et aux serveurs de négocier un mécanisme mutuellement acceptable pour chaque connexion (plutôt que de les coder en dur ou de les préconfigurer).

GSSAPI est l' abréviation de Generic Security Services Application Program Interface; il est généralement mis à disposition comme l'un des mécanismes que SASL peut utiliser. C'est en soi un autre cadre pour développer et mettre en œuvre divers mécanismes d'authentification. Ces mécanismes incluent Kerberos, NTLM et SPNEGO (mécanisme de négociation GSSAPI simple et protégé): un pseudo-mécanisme GSSAPI qui permet aux clients compatibles GSSAPI de négocier le mécanisme GSSAPI qu'ils souhaitent utiliser.

Voici un exemple pour aider à rendre cela un peu plus clair (brutalement simplifié par souci de clarté):

  1. Le client se connecte au serveur et dit: "Je prends en charge SASL! Comment dois-je m'authentifier?"
  2. Le serveur reçoit la connexion et répond: «Je prends également en charge SASL et je peux utiliser ces mécanismes, par ordre de préférence décroissant: GSSAPI, CRAM-MD5, PLAIN».
  3. Le client répond: "Parmi les choix, j'aimerais utiliser GSSAPI."
  4. Le serveur répond "GSSAPI? Capital. Je supporte Kerberos et NTLM."
  5. Le client répond "Utilisons Kerberos. Voici mon ticket crypté etc. etc."
Homme à tout faire5
la source
1
Merci beaucoup d'explication très claire
mSatyam