简言
Kerberos协议是一个专注于验证通信双方身份的网络协议,不同于其他网络安全协议的保证整个通信过程的传输安全,kerberos侧重于通信前双方身份的认定工作,帮助客户端和服务端解决“证明我自己是我自己”的
什么是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的认证原理~
Kerberos认证解决”如何证明我就是我的问题“
上面说到了kerberos协议当中总共有三个不同的角色,客户端和服务端就不用多说了,一个是请求的发起者一个是请求的接收者,那么KDC是做什么的呢?答案是这样的~
在kerberos协议中,通信的双方在通信之前必须相互证明自己的身份是可靠并且具有访问权限的(后面会说为什么是要具有访问权限的),那么双方都要如何证明自己呢?口说无凭,客户端的请求中携带自己的身份
信息直接给服务端,服务端是没有理由直接信任这段信息就是真实的信息的,同理,服务端返回自己的身份信息给客户端,客户端也同样是无法辨别该服务器是否是自己想要访问的服务器。
举个例子,A现在想要去访问B完成一个任务。但是AB两人之间是从来没有见过面的,他们只知道对方的名字叫A,B。此时如果A直接去找B告诉B我就是A,那么B是有理由不相信A的,因为即使A是一个冒充的他也分辨不
清,B同理也得不到A的认可,他们陷入了一个无
法证明我就是我的困境。于是他们就想到了一个办法,AB找到了一个他俩共同信任的人C,且这个C既认识A又认识B,所以只要C告诉B,这个A确实就是真正的A那么B就会
信任这个A,同理B经过C的认可后,A也会相信B的身份。
此后,A在访问B之前会先去找C,C会交给A一个凭证,代表此时的A已经得到了C的认证,这时A拿着凭证再去找C,便可以得到C的确认了。
在上面的例子中,A,B分别是客户端和服务端,C担任的角色便是KDC,全称Key Distribution Center,中文名叫做密钥分发中心。KDC中包含一个叫做TGS(票据授予中心)的组件,我们便可以理解为他就是一个发放
身份认证票据的服务中心,在KDC认证了(其实是KDC中的AS认证的)客户端的身份后,他会给客户端发放用于访问网络服务的服务授予票据(Ticket)。由于整个kerberos通信过程都采用对称加密的方式,密钥的获取也是从KDC中得
到,所以KDC叫做密钥分发中心。
所以整个kerberos认证流程可以简化描述如下:
客户端在访问每个想要访问的网络服务时,他需要携带一个专门用于访问该服务并且能够证明自己身份的票据,当服务端收到了该票据他才能认定客户端身份正确,向客户端提供服务。所以整个认证流程可简化为两大步:
客户端向KDC请求获取想要访问的目标服务的服务授予票据(Ticket);
客户端拿着从KDC获取的服务授予票据(Ticket)访问相应的网络服务;
————————————————
版权声明:本文为CSDN博主「卢延吉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38233104/article/details/122963237