¿Qué es SASL / GSSAPI?

17

Numerosas veces me he encontrado con la expresión SASL / GSSAPI. He buscado en Google muchas veces, pero simplemente no entiendo qué es y cómo se relaciona con Kerberos.

¿Alguien que tenga una explicación simple sobre esto?


fuente

Respuestas:

5

SASL y GSSAPI son marcos en los que se pueden conectar varios proveedores de autenticación. Las personas que deseen utilizar la autenticación Kerberos en una aplicación que admita SASL o GSSAPI solo necesitan proporcionar el complemento Kerberos adecuado, en lugar de volver a escribir la aplicación con el código específico de Kerberos.

dsolimano
fuente
1
De hecho, como dije, "SASL... Que se pueden conectar varios proveedores de autenticación". Son dos marcos diferentes en los que puede conectar varios proveedores de autenticación, como Kerberos o NTLM.
dsolimano
SASL es más una especificación de implementación generalmente para protocolos basados ​​en texto (como SMTP, IMAP, etc.). GSSAPI es una definición de interfaz de aplicación para complementos que admiten varios mecanismos de autenticación. SASL puede usar GSSAPI para extender sus mecanismos de autenticación.
Chris S
sin dar un '' 'ejemplo' '' concreto en el que el proveedor real se conecta a qué marco del mundo real, la mayoría de las personas no saben de qué está hablando.
dotbit
40

SASL significa Autenticación Simple y Capa de Seguridad; Es un marco que permite a los desarrolladores implementar diferentes mecanismos de autenticación, y permite a los clientes y servidores negociar un mecanismo mutuamente aceptable para cada conexión (en lugar de codificarlos o preconfigurarlos).

GSSAPI son las siglas de Generic Security Services Application Program Interface; Por lo general, está disponible como uno de los mecanismos que SASL puede utilizar. Es en sí mismo otro marco para desarrollar e implementar diversos mecanismos de autenticación. Estos mecanismos incluyen Kerberos, NTLM y SPNEGO (mecanismo de negociación GSSAPI simple y protegido): un pseudo-mecanismo GSSAPI que permite a los clientes compatibles con GSSAPI negociar qué mecanismo GSSAPI desean utilizar.

Aquí hay un ejemplo para ayudar a que esto sea un poco más claro (brutalmente simplificado por razones de claridad):

  1. El cliente se conecta al servidor y dice: "¡Apoyo SASL! ¿Cómo debo autenticarme?"
  2. El servidor recibe la conexión y responde: "También apoyo SASL, y puedo usar estos mecanismos, en orden descendente de preferencia: GSSAPI, CRAM-MD5, PLAIN".
  3. El cliente responde: "De las opciones, me gustaría usar GSSAPI".
  4. El servidor responde "GSSAPI? Capital. Apoyo Kerberos y NTLM".
  5. El cliente responde "Usemos Kerberos. Aquí está mi ticket encriptado, etc., etc."
Manitas5
fuente
1
Muchas gracias, una explicación muy clara
mSatyam, el