kerberos协议

目录

前言

认识kerberos协议

Kerberos 详细的认证流程


前言

什么是kerberos协议:

专注于验证通信双方身份的网络协议  帮助客户端和服务器端解决   “我就是我”  的问题 ,使通信双方能够完全信任对方身份

kerberos协议是干什么的

为网络通信的双方提供严格的身份验证服务 kerberos协议侧重于认证通信双方的身份.

客户端需要确认即将访问的网络服务就是自己所想要访问的服务而不是一个伪造的服务器,而服务端需要确认这个客户端是一个身份真实,安全可靠的客户端,而不是一个想要进行恶意网络攻击的用户

认识kerberos协议

kerberos协议的组成角色

客户端(client):发送请求的一方

服务端(Server):接收请求的一方

密钥分发中心(Key Distribution Center,KDC,而密钥分发中心一般又分为两部分,分别是

       AS(Authentication Server):认证服务器,专门用来认证客户端的身份并发放客户用于访         问TGS的TGT(票据授予票据)

       TGS(Ticket Granting Ticket):票据授予服务器,用来发放整个认证过程以及客户端访问          服务端时所需的服务授予票据(Ticket)

kerberos认证如何解决‘我就是我’的问题

我们先导入生活的事例:

小明和小红不在同一个班 但是又经过了一些特殊的途径 小明加上了小红的微信 这美女经不起暖男的软磨硬泡 小红就提出想见小明 但是两人就算见面了 也不认识

这时候怎么办呢

刚好就有小军 同时认识小红和小明 小军就给小红说:那个帅气的男孩子就是小明  小军又给小明说 那个美丽的女孩子就是小红 然后小红和小明就互相认识了

然后再我们的kerberos协议里面 

小红就是服务端 小明就是客户端  小军就是KDC(秘钥分发中心)

 然后kerberos认证流程可以简化描述为:

客户端向KDC请求 获取 目标服务授予的票据(ticket)

客户端拿着从KDC获取的服务票据(ticket)访问相应的服务

Kerberos 详细的认证流程

在这之前我们需要知道kerberos认证的前提条件:

kerberos中会自带一个数据库,这个数据库会由创建kerberos的运维人员提前在库中添加好整个系统中拥有使用kerberos认证权限的用户和网络服务。在后续的认证中也是根据数据库中是否存在该用户和服务来判断该对象是否能够通过认证服务的

(拿上面的例子来说就是小军在小红和小明相识之前同时认识小明和小红,以便后面帮助小红和小明互相认证)

所有使用kerberos协议的用户和网络服务,在他们添加进kerberos系统中时,都会根据自己当前的密码(用户密码,人为对网络服务随机生成的密码)生成一把密钥存储在kerberos数据库中,且kerberos数据库也会同时保存用户的基本信息(例如用户名,用户IP地址等)和网络服务的基本信息(IP,Server Name)

第一次通信

由于客户端第一次来玩 还要获取票据(ticket) KDC并不了解他来究竟是干什么的 就要收集他的信息(保安大爷)

所以第一次通信是为了KDC认证客户端身份 确保客户端拥有访问的KDC权限的客户端

第二次通信

客户端收到AS的响应 并且获取到其中的两部分

客户端会用自己的秘钥将第二部分解密 分别获得时间戳还有TGS信息和与TGS建立通信时候的秘钥CT_SK 

请求的主要目的是为了获取能够访问目标网络服务的服务授予票据Ticket

第三次通信

此时的客户端收到了来自TGS的响应,并使用缓存在本地的CT_SK解密了第二部分内容(第一部分内容中的ST是由Server密码加密的,客户端无法解密),检查时间戳无误后取出其中的CS_SK准备向服务端发起最后的请求

请求建立联系到此成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值