什么是SASL / GSSAPI?


17

我无数次遇到了表达SASL / GSSAPI。我已经搜索过Google多次,但是我根本不了解它是什么以及它与Kerberos的关系。

有人对此有简单的解释吗?

Answers:


5

SASL和GSSAPI是可以插入各种身份验证提供程序的框架。希望在支持SASL或GSSAPI的应用程序中使用Kerberos身份验证的人们只需要提供适当的Kerberos插件,而不用用Kerberos特定的代码重写应用程序。


1
确实,正如我所说,“ SASL可以插入各种身份验证提供程序”。它们是两个不同的框架,您可以将各种身份验证提供程序(例如Kerberos或NTLM)插入其中。
dsolimano 2010年

SASL通常是针对基于文本的协议(例如SMTP,IMAP等)的实现规范。GSSAPI是支持各种身份验证机制的插件的应用程序接口定义。SASL可以使用GSSAPI扩展其身份验证机制。
克里斯·S

在没有给出具体的“示例”的情况下,大多数人不知道您在说什么,而实际的提供者将其插入哪个实际框架。
dotbit

40

SASL代表简单身份验证和安全层;它是一个框架,允许开发人员实施不同的身份验证机制,并允许客户端和服务器为每个连接协商一个相互接受的机制(而不是对其进行硬编码或预配置)。

GSSAPI代表通用安全服务应用程序接口;它通常是SASL可以使用的一种机制。它本身是用于开发和实现各种身份验证机制的另一个框架。这些机制包括Kerberos,NTLM和SPNEGO(简单和受保护的GSSAPI协商机制):一种GSSAPI伪机制,允许与GSSAPI兼容的客户端协商他们要使用哪种GSSAPI机制。

这是一个示例,可以使这一点更加清楚(为了清楚起见,为简化起见,将其简化):

  1. 客户端连接到服务器并说:“我支持SASL!我应该如何验证自己的身份?”
  2. 服务器收到连接并作出响应:“我也支持SASL,并且可以按照优先级降序使用这些机制:GSSAPI,CRAM-MD5,PLAIN。”
  3. 客户回答:“在选择中,我想使用GSSAPI。”
  4. 服务器响应“ GSSAPI?大写。我支持Kerberos和NTLM。”
  5. 客户端回复“让我们使用Kerberos。这是我的加密票证等。”

1
非常感谢您的明确解释
-mSatyam,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.