我曾多次遇到过 SASL/GSSAPI 表达。我在 Google 上搜索了很多次,但我根本不明白它是什么以及它与 Kerberos 有何关系。
有人对此有一个简单的解释吗?
Han*_*an5 60
SASL代表简单身份验证和安全层;它是一个框架,允许开发人员实现不同的身份验证机制,并允许客户端和服务器为每个连接协商一个相互可接受的机制(而不是硬编码或预先配置它们)。
GSSAPI代表通用安全服务应用程序接口;它通常作为 SASL 可以使用的机制之一提供。它本身就是用于开发和实现各种身份验证机制的另一个框架。这些机制包括 Kerberos、NTLM 和SPNEGO(简单且受保护的 GSSAPI 协商机制):一种 GSSAPI 伪机制,它允许与 GSSAPI 兼容的客户端协商他们想要使用的 GSSAPI 机制。
这里有一个例子可以帮助使这个更清晰一点(为了清晰起见,粗暴地简化了):
SASL 和 GSSAPI 是可以插入各种身份验证提供程序的框架。希望在支持 SASL 或 GSSAPI 的应用程序中使用 Kerberos 身份验证的人只需提供适当的 Kerberos 插件,而不是使用特定于 Kerberos 的代码重写应用程序。