首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SPN与Kerberos如何工作?

SPN与Kerberos如何工作?
EN

Stack Overflow用户
提问于 2013-12-05 19:38:23
回答 3查看 23.8K关注 0票数 6

据我理解,

  • SPN是windows服务的身份验证工具。
  • Kerberos是一种用户身份验证服务。
  • SPNEGO-GSSAPI是能够使用这些服务的第三方API。
  • SSPI :是从SPNEGO向SPN服务发送请求的中立层。

我完全迷路了吗?

试图找出它是如何工作的,但信息,要么太精确,要么不够。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-06 12:28:08

好的,更详细的回答是:-

  1. SPN -服务主要名称。它是与KDC实现中的每个帐户相关联的标识符(AD、OpenLDAP等)。基本上,如果您的帐户充当客户端身份验证的服务,则客户端必须指定它希望与谁通信的“谁”。这个“谁”标识符是SPN。这是严格的定义。许多人通常将服务的客户端名称(UPN -用户主体名称)称为SPN。当服务本身可以充当客户端时( google,委托场景),就会发生这种情况。这并不是严格正确的,而是普遍认为是正确的。
  2. Kerberos是一种身份验证协议。它是一个框架的名称。它涉及第三方服务器(称为KDC或密钥分发中心),并涉及一系列获取票证(身份验证令牌)的步骤。它真的很复杂,所以(议定书)
  3. 在某种程度上你是对的。GSSAPI是一个API,但SPNEGO不是。GSSAPI在技术上与您使用的auth机制无关,但是大多数人使用它来进行kerberos身份验证。SPNEGO是一种伪机制,从某种意义上说,它声明了一个用于HTTP域中基于身份验证的通信的RFC。严格地说,SPNEGO是一种规范,但大多数人也认为它是一种实现。例如,Sun和IBM为SPNEGO令牌生成提供了“机制提供者”,但GSSAPI实际上用于调用它。这是在许多项目中完成的(和示例--我的头上,回答这个问题的人之一开发了这个问题)。
  4. SSPI类似于windows中的GSSAPI。这是一个不同的API,最终会做一些与GSSAPI非常相似的事情。
票数 16
EN

Stack Overflow用户

发布于 2013-12-05 20:07:38

不完全是。

SPN的简单意思是“服务器主体名称”,是您试图对其进行身份验证的服务的AD或Kerberos俚语。

Kerberos是一种用户身份验证服务,或多或少是肯定的。它还为服务之间的网络消息和调用提供了安全性。

SPNEGO-GSSAPI*是一种奇怪的野兽。GSSAPI ()是一种用于(原则上)不同身份验证服务的API,它提供协商所使用的机制。但是,通常唯一可用的机制将是Kerberos。在Unix上(在各种RFCs中定义的,例如RFC 2743 ),将第三方程序附加到Kerberos是通常的API。

在windows平台上,SSPI是通用层,因此它与GSSAPI相比较。

SPNEGO是一种奇怪的杂交。它是一种在SSPI、HTTP或 GSSAPI 中使用的机制,用于协商另一个Auth协议(例如,Kerberos或NTLM,如果您在Windows上),因此它基本上以不同的方式执行GSSAPI再次做的事情。

SPNEGO的典型使用是对windows域的HTTP身份验证,例如,如果您使用“集成windows身份验证”,则使用它。当您选择SSPI的“协商”选项时,也会使用它。参见例如RFC 4559

票数 4
EN

Stack Overflow用户

发布于 2013-12-05 20:00:58

你几乎所有的理解都是错误的。

下面是:

  1. SPN:特定的服务类绑定到特定的帐户,例如HTTP www.stackoverflow.com => HTTP/www.stackoverflow.com@STACKOVERFLOW.COM .
  2. 是的3./4. GSS (Unix)/SSPI (Windows):与之交互的机制中立的API。例如,Kerberos 5,NTLM,SPNEGO等。
  3. SPNEGO:它是GSS/SSPI支持的多种机制之一.这实际上是一种假机械。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20409018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档