认证模式之Spnego模式

Spnego模式是一种由微软提出的使用GSS-API接口的认证模式。它扩展了Kerberos协议,在了解Spnego协议之前必须先了解Kerberos协议,Kerberos协议主要解决身份认证及通信密钥协商问题。它大致的工作流程例如以下:

在这里插入图片描述

①client依据自己username向密钥分发中心KDC的身份认证服务AS请求TGS票证。

②AS生成一个TGS票证、查询相应用户的password,然后通过用户password将TGS票证加密,响应给client。

③client通过用户password解密TGS票证。假设password正确就能获取到TGS票证,然后用TGS票证去票证授予服务TGS请求服务票证。

④TGS将服务票证响应给client。

⑤client使用服务票证去訪问某服务,服务验证服务票据是否合法。

⑥验证通过,開始通信。

在了解了Kerberos协议后,我们再来看看Spnego的认证过程是如何的。因为spnego扩展自kerberos协议。认证的核心流程一样,仅仅是在浏览器与webserver之间的http通信过程中嵌入认证流程。例如以下图:

在这里插入图片描述

①client浏览器向webserver发送http请求。

②server返回401状态码,响应头部加上 WWW-Authenticate:Negotiate。

③用户通过浏览器输入username向AS请求TGS票证。

④AS生成TGS票证,然后查询用户password并用此password加密TGS票证,返回浏览器。

⑤浏览器使用用户password解密出TGS票证,并向TGS服务发起请求。

⑥TGS服务生成服务票证响应给浏览器。

⑦浏览器将服务票证封装到SPNEGO token中。并发送给webserver。

⑧server解密出username及服务票证,将票证发往TGS服务验证。

⑨通过验证。開始通信。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值