什么是 SASL/GSSAPI?

什么是 SASL/GSSAPI?

我多次遇到过 SASL/GSSAPI 这个表达式。我在 Google 上搜索过很多次,但我就是不明白它是什么,也不明白它与 Kerberos 有什么关系。

有人可以对此做出简单的解释吗?

答案1

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

答案2

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

全局搜索应用程序编程接口代表通用安全服务应用程序接口;它通常作为 SASL 可以使用的机制之一提供。它本身是用于开发和实现各种身份验证机制的另一个框架。这些机制包括 Kerberos、NTLM 和新加坡国家邮政局(简单且受保护的 GSSAPI 协商机制):一种 GSSAPI 伪机制,允许 GSSAPI 兼容的客户端协商他们想要使用哪种 GSSAPI 机制。

这里有一个例子可以帮助我们更清楚地理解这一点(为了清楚起见,进行了粗暴的简化):

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

相关内容