博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
认证模式之Spnego模式
阅读量:6863 次
发布时间:2019-06-26

本文共 795 字,大约阅读时间需要 2 分钟。

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服务验证。

⑨通过验证。開始通信。

你可能感兴趣的文章
解决ubuntu里面的sudo: /etc/sudoers is mode 0640, should be 0440
查看>>
人工智能工程师学习
查看>>
maven 插件之 AutoConfig 工具使用笔记
查看>>
vmware中的网络(bridge,nat)(转载)
查看>>
python发送各类邮件的主要方法
查看>>
Redis发布带有“流式”数据类型的5.0版本
查看>>
敏捷开发签名人建议开发者放弃“敏捷”
查看>>
加速企业数字化转型,首届Spring Summit技术峰会圆满落幕
查看>>
iPhone 7 256GB版停售原因分析
查看>>
影谱科技宣布完成13.6亿D轮融资 商汤软银等多家参与
查看>>
春运背后默默守护高铁安全的“隐形人”
查看>>
张家界举行“火王”争霸赛 众人街头“玩火”
查看>>
台铁宣布3月起停驶行包列车 摩托车托运将走入历史
查看>>
中国民航局:2019年春运中国民航旅客运输量将创历史新高
查看>>
台湾澎湖县启动返乡包机 春节疏运增加25个航班
查看>>
甘肃黄土山地数十载现“满眼绿” 护林员四季不歇护植被
查看>>
行将消失的烧瓦匠人:“仿古”热潮下迎新生曙光
查看>>
最前线|爱奇艺低调上线“好多视频”,短视频战场的主动防御
查看>>
看看40万程序猿怎么评论:对于程序员英语真的重要吗?
查看>>
你们网购遇到过这种店铺吗?我吓得第二天就退货了
查看>>