信息安全从业人员^_^
一个未入门de情报学胖子(邮箱:tenghm1986@163.com)
Toggle navigation
信息安全从业人员^_^
主页
About Me
归档
标签
kerberos学习
2019-08-23 11:51:20
227
0
0
heming
# 0.参考 [1] [Kerberos入坑指南](https://www.jianshu.com/p/fc2d2dbd510b) [2] [Kerberos官网](http://web.mit.edu/kerberos/dist/) [3] [Kerberos papers](https://web.mit.edu/Kerberos/papers.html) [4] [图解Kerberos原理](http://www.nosqlnotes.com/technotes/kerberos-protocol/) [5] [MIT Kerberos Documentation](http://web.mit.edu/kerberos/krb5-1.14/doc/index.html) # 1.初识kerberos <center> ![kerberos](https://leanote.com/api/file/getImage?fileId=5d5f3612ab64417a7f000ffe) </center> 常见术语: - AS(Authentication Server) 认证server服务器 - KDC(Key Distribution Center)密钥分发中心 - TGT(Ticket Granting Ticket)票据授权票据,票据的票据 - TGS(Ticket Granting Server)票据授权service服务器 > 整体流程: 登陆--》认证--》授权--》请求服务 <center> ![整体流程](https://leanote.com/api/file/getImage?fileId=5d5f3612ab64417a7f000fff) </center> > 参与关键角色 <center> ![参与角色](https://leanote.com/api/file/getImage?fileId=5d5f3612ab64417a7f000ffd) </center> - client 应用客户端 - AS(Authentication Server)用来认证用户身份 - TGS(Ticket-Granting Service)用来授权服务访问 - SS(Service Server)用户所请求得服务 ## 1.1 用户登陆 <center> ![登陆](https://leanote.com/api/file/getImage?fileId=5d5f3611ab64417a7f000ffa) </center> 在客户端侧,用户输入的密码信息被通过一个单向hash函数生成一个client密钥. ## 1.2 请求身份验证 ### 1.2.1 客户端向AS发送认证请求 <center> ![认证请求](https://leanote.com/api/file/getImage?fileId=5d5f3612ab64417a7f000ffc) </center> - 客户端为执行登陆操作的用户向**AS**发送**认证请求** - 请求中带有**用户名**信息,用户名以明文形式发送到客户端 --- **NOTE** client往AS发送认证请求时并未发送**密码**或**密钥**信息 --- ### 1.2.2 AS确认client端登陆者用户身份 <center> ![确认登陆者用户身份](https://leanote.com/api/file/getImage?fileId=5d5f3611ab64417a7f000ffb) </center> - AS收到用户认证请求后,根据请求中的**用户名**信息,从数据库中查找该用户名是否存在 - 如果**用户名**存在,则对应的**密码**也可以从数据库中获取到.(当然客户的密钥也可以获取到,利用哈希函数获取) - AS为Client响应如下信息: - Msg A使用[Client密钥]加密的[Client/TGS SessionKey] - Msg B使用[TGS密钥]加密的TGT(Ticket-Granting-Ticket),此消息Client不可解密 TGT包含如下信息: - [Client/TGS SessionKey] - Client ID(??) - Ticket有效时间 - Client网络地址 ### 1.2.3 客户端处理AS响应消息 Client收到AS的响应后,利用自身的[Client密钥]可以对Msg A进行解密,这样可以获取到[Client/TGS SessionKey].MSG B使用[TGS密钥]加密的,cliet无法解密 ## 1.3 请求服务授权 ### 1.3.1 客户端向TGS发送请求服务授权请求 <center> ![TGS请求](https://leanote.com/api/file/getImage?fileId=5d5f3612ab64417a7f001000) </center> - Msg C - 服务ID,即**[Service ID]** - 上一步由AS为Client提供的**TGT** - Msg D - 使用**[Client/TGS SessionKey]**加密的Authenticator 1{Client ID,Timestamp} ### 1.3.2 TGS为Client响应服务授权票据 <center> ![TGS-Client](https://leanote.com/api/file/getImage?fileId=5d5f3711ab64417884001047) </center> - Msg E - 使用**[Service密钥]**加密的Client-To-Server Ticket,该Ticket包含如下信息: - [Client/Server Session Key] - Client网络地址 - Ticket有效时间 - Client ID - Msg F - 使用**[Client/TGS SessionKey]**加密的**[Client/Server SessionKey]** ## 1.4 发送服务请求 ### 1.4.1 Client向SS(Service Server)发送服务请求 <center> ![Client向SS发送服务请求](https://leanote.com/api/file/getImage?fileId=5d5f388fab64417884001087) </center> - Msg E 上一步TGS为client响应的消息Msg E - Msg G [Client/Server SessionKey]加密的Authenticator2,包含{Client ID,Timestamp}信息 ### 1.4.2 SS响应Client <center> ![SS响应Client](https://leanote.com/api/file/getImage?fileId=5d5f3998ab644178840010b9) </center> 该交互过程起到**双向认证**的作用
上一篇:
hive权限
下一篇:
SKELK(Suricata-Kafka-Elasticsearch-Logstash-Kibana)安装
0
赞
227 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
文档导航