资源描述:
《网络安全原理与应用 沈苏彬 NetSec-ch3.4 Kerberos》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章身份验证技术及应用Kerberos系统沈苏彬南京邮电大学信息网络技术研究所主要内容基本Kerberos身份验证协议完全Kerberos身份验证协议Kerberos系统分析与应用2Kerberos身份验证体系的功能Kerberos身份验证系统是身份验证协议的一个具体实现系统,它通过一系列加密报文的交互(身份验证协议),使得网络服务器可以验证网络用户的身份。传统网络服务器通常通过网络用户输入的用户标识和对应的口令,验证网络用户的身份。这种网络环境下身份验证的方式要求每个网络服务器都需要维护一套用户口令系统,还需要用户在网络上传递口令。3K
2、erberos背景Kerberos身份验证系统是美国麻省理工学院(MIT)在20世纪80年代中期开发的雅典娜(Athena)项目中的一个部分。Kerberos版本4是一个真正投入实际应用的身份验证系统。Kerberos版本5是对版本4的扩展版本,引入了在新的网络环境的身份验证功能,例如跨管理域的身份验证功能等。Kerberos版本5是IETF标准化的版本。4Kerberos背景(续1)Kerberos身份验证系统使用身份验证协议验证网络用户和网络服务器的身份,提高了身份验证的安全性;它使用单个身份验证服务器进行身份验证,使得用户经过一次身份
3、验证可以访问多个网络服务器,方便了用户对网络服务器的安全访问。5基本Kerberos身份验证协议Kerberos身份验证系统总体上采用了基于传统加密算法的Needham-Schroeder身份验证协议,同时也根据具体应用环境的需求对Needham-Schroeder协议进行某些改进。Kerberos系统采纳了Denning和Sacco对Needham-Schroeder协议的改进建议,在身份验证协议中引入了时间戳,以防范报文重播攻击。6基本Kerberos身份验证协议(续1)与基于传统加密算法的Needham-Schroeder身份验证协议
4、相同,Kerberos身份验证系统是一个三方身份验证系统(如图3.11所示),它包括身份验证服务器(用AS表示)、网络用户(用A表示)、网络服务器(用B表示)。身份验证服务器网络用户网络服务器用户口令KAS,A服务器密钥KAS,B会话密钥KA,B图3.11Kerberos身份验证系统结构7基本Kerberos身份验证协议(续2)基本Kerberos身份验证协议交互步骤如图3.12所示。身份验证服务器AS网络用户A网络服务器BM1:身份验证请求M2:身份验证响应M3:应用请求图3.12基本Kerberos身份验证协议交互结构M4:应用响应8基
5、本Kerberos身份验证协议(续3)基本Kerberos身份验证协议完整的交互过程如下所示。下面报文中只罗列了Kerberos报文的主要内容,并不是全部内容。M1:AAS:A,B,TIMEEXP,NA在报文M1中不需要网络用户输入口令,这样,避免了网络用户口令在网络上传递而造成泄露的可能性。9基本Kerberos身份验证协议(续4)M2:ASA:KAS,A{KA,B,B,TIMEEXP,NA},KAS,B{TKTA,B}身份验证服务器返回的报文M2包括两个部分:与网络服务器共享的会话密钥,以及访问网络服务器的访问券。会话密钥是采用网络
6、用户口令加密的,用户只有正确输入身份验证口令才能获得身份验证服务器分发来的会话密钥KA,B。用户可以利用随会话密钥返回的服务器标识符B、访问券有效期TIMEEXP、以及一次性数NA,验证会话密钥是否是网络用户新申请的、针对服务器B的会话密钥。10基本Kerberos身份验证协议(续5)M3:AB:KA,B{TA,CKSUM,K’A,B},KAS,B{TKTA,B}这里TKTA,B=KA,B,A,TIMEEXP网络用户向网络服务器发送的报文M3包括两个部分:网络用户身份验证信息,以及访问网络服务器的访问券。网络用户身份验证信息是采用会话密钥
7、KA,B加密的数据,包括用户发送报文M3当前时间戳TA,报文M3的校验和CKSUM,以及可选的子会话密钥K’A,B。网络服务器B可以利用访问券中的会话密钥KA,B解密网络用户身份验证信息,获取其中的校验和。11基本Kerberos身份验证协议(续6)为了防范报文重播攻击,网络服务器还需要验证时间戳TA与网络服务器本地时间之差是否在允许的时间范围内(通常为5分钟之内),并且时间戳是否没有出现在原来用户A请求的报文中。M4:BA:KA,B{TA}如果网络用户A还需要进一步验证网络服务器B的身份,则Kerberos协议要求网络服务器向网络用户返
8、回报文M4,其中包括了采用会话密钥KA,B加密的M3报文中网络用户发送的时间戳TA。12完全Kerberos身份验证协议基本Kerberos身份验证协议使得可以正确输入用户口令的