Kerberos协议是访问控制技术的主要协议,它主要是用于网络身份鉴别,是一种网络认证协议。在本篇文章当中,我们就主要围绕着Kerberos来讲解一下它的一些基本知识。
Kerberos是标准网络身份认证协议,采用传统加密算法(无公钥体制),旨在给计算机网络提供"身份认证"。它是基于信任第三方,如同一个经纪人集中地进行用户认证和发放电子身份标识。它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户或用户服务。
1.Kerberos系统应该满足的要求
(1)安全。网络窃听者不能获得必要信息以假冒其他用户; Kerberos应足够强壮以至于潜在的攻击者无法找到它的弱点连接。
(2)可靠。Kerberos应高度可靠,并且应借助于一个分布式服务器体系结构,使得一个系统能够备份另一个系统。
(3)透明。理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。
(4)可伸缩。系统应能够支持大数量的客户和服务器。
2.Kerberos的特点:
(1)必需在整个网络环境中进行时间同步
(2)如果用户减小票据的存活时间,可以降低入侵者通过替换票据获取访问权限的风险
(3)KDC保存了所有客户端的访问密钥,所以KDC必须是绝对安全的,才能保证整个网络的安全
3.Kerberos的原理
Kerberos的原理如下图:
此模型中的使用的符号如下:
Kc是用户(C)与认证服务器(AS)的共享密钥。
Ktgs是认证服务器(AS)和票据许可服务器(TGS)之间的共享密钥。
Kv是票据服务器(TGS)和服务器(V)之间的共享密钥。
Kc,tgs是AS产生,用户C与TGS之间的临时口令。
Kc,V是TGS产生,用户C与V之间的临时口令。
Ekgs:使用AS和TGS共享的密钥Kkgs加密
Ekc:使用用户和AS共亭的密钥Kc加密
Ekv:使用TGS和V共享的密钥Kv加密
Ekc,tgs:使用C和TGS之间密钥Kc,tgs加密
4.Kerberos服务实现的步骤:
(1)用户保存有和KDC一样的一对密钥,应用服务器已KDC也保存着相同的一对密钥,如果用户要访问应用服务器,那么首先向KDC发送请求,KDC回应并发送给用户一个访问票据和会话密钥,这个时候KDC兼具认证服务器(AS)和票据授权服务器(TGS)的功能。
(2)用户在包含有Kerberos客户端的本地计算机中输入用户名和密码,Kerberos客户端将通过客户输入的密码产生一个临时存储于本地的密钥,并将用户名传送给TGS来获得一个票据获取凭证(TGT)。
(3)TGS返回一个使用用户密钥加密的一个客户端会话密钥(KTGSC)和使用TGS的密钥加密过的TGT,此时用户会被要求输入密码来解密KTGSC。
(4)当用户需要访问某个特定的资源时,用户的系统会向KDC发送上一步获取的会话密钥加密过的访问请求,访问请求包含用户的时间信息和验证的标识。
(5)KDC将用户的请求转发给资源,资源解密会话密钥,并使用会话密钥来解密访问请求中包含的信息,如果访问请求中包含的信息与授权信息相符,那么用户可以使用该资源,因为所有的信息都有时间戳,所以可以执行超时操作。
5.Kerberos的组成
Kerberos应用程序库:应用程序接口,包括创建和读取认证请求,以及创建safe message 和private message的子程序。
加密/解密库:DES等。
Kerberos数据库:记载了每个Kerberos 用户的名字,私有密钥,截止信息(记录的有效时间,通常为几年)等信息。
数据库管理程序:管理Kerberos数据库。
KDBM服务器(数据库管理服务器):接受客户端的请求对数据库进行操作。
认证服务器(AS):存放一个Kerberos数据库的只读的副本,用来完成principle的认证,并生成会话密钥。
数据库复制软件:管理数据库从KDBM服务所在的机器,到认证服务器所在的机器的复制工作,为了保持数据库的一致性,每隔一段时间就需要进行复制工作。
用户程序:登录Kerberos,改变Kerberos密码,显示和破坏Kerberos标签(ticket)等工作。
6.Kerberos的缺点:
(1)认证服务器AS和票据授权服务器TGS是集中式管理,系统的性能与安全依赖于AS和TGS的性能与安全
(2)整个网络间的时间同步是问题
(3)身份认证通过对称密钥加密,密钥管理比较复杂
7.Kerberos身份认证带来的好处
(1)身份委派。Windows服务可按照用户的意愿模仿客户端访问网络资源。Kerberos协议可以使一个服务为客户端完成本地计算机上的资源访问,同时可以使一个服务在连接到其他服务时去模仿客户端。
(2)更高效的身份认证。Kerberos身份认证协议,服务器不用去连接域控制器,相应的,服务器可以检验客户端提供的验证的票据。客户端可以为特定的服务获取一次验证票据并在一次登录过程中反复使用这个验证票据。
(3)相互身份验证。递过使用Kerberos协议,在网络连接的一端都可以以验证网络另一端的声明是它自己的实体。
Kerberos可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。Kerberos的扩展产品也使用公开密钥加密方法进行认证。
怎么样,通过上面的概述,大家是否对Kerberos认识加深了呢?希望本篇文章中的学习能帮助到大家,如果喜欢,可以给小编点个赞哟!快来加入我们课课家教育大家庭吧,海量的学习课程任你挑选,助你学好你想要学的技术。
上一篇:华为BFD介绍
¥299.00
¥699.00
¥399.00
¥399.00