Kerberos协议,以希腊神话中的三头犬命名,保护由服务器、客户端和一个受信任第三方应用程序所组成的计算机环境。Kerberos 这个受信任第三方应用程序,管理共享密钥来实现用户安全地访问客户端和服务器资源。 Kerberos与身份验证服务(AS)和票证授予服务(TGS)一同部署。 Active Directory域控制器(DC)实现这两种服务。
这些服务同样也能运行在Unix环境中。域控制器同样也是密钥分发中心(KDC)。通过身份验证服务创建用户账号和密码,并保存在数据库中。Kerberos客户端服务使用明文密码,再加上一个文本字符串(通常是用户名),然后通过String2key的程序运……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Kerberos协议,以希腊神话中的三头犬命名,保护由服务器、客户端和一个受信任第三方应用程序所组成的计算机环境。Kerberos 这个受信任第三方应用程序,管理共享密钥来实现用户安全地访问客户端和服务器资源。
Kerberos与身份验证服务(AS)和票证授予服务(TGS)一同部署。 Active Directory域控制器(DC)实现这两种服务。这些服务同样也能运行在Unix环境中。域控制器同样也是密钥分发中心(KDC)。通过身份验证服务创建用户账号和密码,并保存在数据库中。Kerberos客户端服务使用明文密码,再加上一个文本字符串(通常是用户名),然后通过String2key的程序运行这个服务,把结果存储为“共享密钥”。
当用户登录到工作站上,输入用户名和密码后,在工作站上, Kerberos客户端服务使用相同的算法生成共享密钥。该密钥用于加密AS_REQ数据包,同时请求票证授予票证(TGT)。如果该用户的共享密钥匹配该用户服务器端的密钥,则读取数据包,同时一个加密的TGT返回给用户(AS_REP)。该TGT证明用户是合法用户,可以如其说的那样安全访问资源。请注意:永远不要跨网传递密码。
图一:概述
图1显示了Kerberos身份验证(登录)和授权(访问网络资源)的过程。获得的TGT后,该TGT会被提交给票证授予服务。 TGS的请求服务,如登录或访问一个共享、应用程序或设备,比如打印机。TGT使用用户共享密钥加密,通过TGS_REG请求发送给TGS(票证授予服务)。TGS和AS一样,它比较服务器端和用户的共享密钥,如果两者匹配,就会打开、读取并兑现TGS_REQ请求。TGS反馈一个TGS_REP响应,同时用会话密钥加密一个服务票据。客户端能打开TGS_REP并获取服务票据,但是不能打开密钥本身,只有服务器能打开,因为只有服务器知道这个会话密钥。
图2:身份验证实现安全性
在图2中,显示了身份验证过程,该验证过程是通过AP_REQ请求发送的。这包括服务票据、将票据提交给识别会话密钥的应用服务器和兑现请求。同时检查用户对资源的访问权限(如读、写等),根据权限进行不同的任务程序。请注意,验证还包含一个时间戳,这是客户机上创建数据包的时间。这可用于防止重放攻击,重放攻击中,入侵者常使用合法的数据包向服务器发出请求。如果该攻击请求与时间戳同时或之后发生,该数据包会被拒绝。同时也会与服务器的时间戳进行比较。如果比较结果大于5分钟,则拒绝响应数据包,所以同步网络上所有计算机的时间尤为主要。每一台计算机的系统时钟始终是UTC时间,而且不会受时区的影响。
Kerberos可以在Windows林/域环境和Unix/Linux环境下的MIT Kerberos域间相互访问和操作, 因为在两者间Kerberos实现过程非常类似,所以很容易实现两者的兼容。在Windows实现过程中,一个用于定位DC/KDC的DNS请求会被提交。然后如之前所述,向DC提交一个AS_REQ以获得TGT。
为了核实Kerberos互操作性,需要考虑一些场景。下篇文章中我们就将具体地通过几个场景来核实Kerberos互操作性。
作者
相关推荐
-
Hyper-V动态迁移的两种认证方法
当执行Hyper-V动态迁移时,如何在迁移之前实行系统登录身份验证?这里分享两种验证方法:Kerberos和Credential Security Support Provider。
-
部署OpenFlow会对数据中心软硬件有何影响?
要成功部署OpenFlow,硬件与软件该作何改变?有什么互操作性需要考虑么?OpenFlow部署会需要遵从OpenFlow的交换机……
-
了解Windows安全认证
Windows认证协议有两种NTLM和Kerberos,Kerberos较之NTLM更高效、更安全,同时认证过程也相对复杂。这里主要介绍Kerberos。
-
Kerberos互操作性实现Windows与世界的连接
Kerberos管理共享密钥来实现用户安全地访问客户端和服务器资源。我们已经了解了Kerberos互操作性,下面我们将通过一些具体场景来核实它。