O que é SASL / GSSAPI?

17

Várias vezes encontrei a expressão SASL / GSSAPI. Pesquisei no Google várias vezes, mas simplesmente não entendo o que é e como ele se relaciona com o Kerberos.

Alguém que tenha uma explicação simples sobre isso?


fonte

Respostas:

5

SASL e GSSAPI são estruturas nas quais vários provedores de autenticação podem ser conectados. As pessoas que desejam usar a autenticação Kerberos em um aplicativo que suporta SASL ou GSSAPI precisam apenas fornecer o plug-in Kerberos apropriado, em vez de reescrever o aplicativo com código específico do Kerberos.

dsolimano
fonte
11
De fato, como eu disse, "SASL... Que vários provedores de autenticação podem ser conectados". São duas estruturas diferentes nas quais você pode conectar vários provedores de autenticação, como Kerberos ou NTLM.
dsolimano 10/05
O SASL é mais uma especificação de implementação geralmente para protocolos baseados em texto (como SMTP, IMAP, etc.). GSSAPI é uma definição de interface de aplicativo para plug-ins que suportam vários mecanismos de autenticação. O SASL pode usar o GSSAPI para estender seus mecanismos de autenticação.
Chris S
sem dar um '' 'exemplo' '' concreto no qual o fornecedor atual se conecta à estrutura do mundo real, a maioria das pessoas não sabe do que está falando.
dotbit
40

SASL significa autenticação simples e camada de segurança; é uma estrutura que permite que os desenvolvedores implementem diferentes mecanismos de autenticação e permite que clientes e servidores negociem um mecanismo mutuamente aceitável para cada conexão (em vez de codificá-los ou pré-configurá-los).

GSSAPI significa Interface do Programa de Aplicativo de Serviços de Segurança Genérica; geralmente é disponibilizado como um dos mecanismos que o SASL pode usar. É ele próprio outra estrutura para desenvolver e implementar vários mecanismos de autenticação. Esses mecanismos incluem Kerberos, NTLM e SPNEGO (mecanismo de negociação GSSAPI simples e protegido): um pseudo-mecanismo GSSAPI que permite que clientes compatíveis com GSSAPI negociem qual mecanismo GSSAPI eles desejam usar.

Aqui está um exemplo para ajudar a tornar isso um pouco mais claro (brutalmente simplificado por uma questão de clareza):

  1. O cliente se conecta ao servidor e diz: "Suporte SASL! Como devo me autenticar?"
  2. O servidor recebe a conexão e responde: "Eu também suporte SASL e posso usar esses mecanismos, em ordem decrescente de preferência: GSSAPI, CRAM-MD5, PLAIN".
  3. O cliente responde: "Das opções, eu gostaria de usar o GSSAPI".
  4. O servidor responde "GSSAPI? Capital. Suporte Kerberos e NTLM".
  5. O cliente responde "Vamos usar o Kerberos. Aqui está meu ticket criptografado etc. etc."
Faz-tudo5
fonte
11
Agradecimentos muito muito clara explicação
mSatyam