您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 结合公钥认证方案的Kerberos研究(论文)
结合公钥认证方案的Kerberos研究摘要:身份认证是网络通信双方在通信时验证对方身份的技术。Kerberos是基于可信第三方KDC使用对称密钥加密算法的认证协议。本文在对多种身份认证方法研究基础上,阐述了Kerberos的原理,并分析其安全性和缺陷,提出利用Kerberos公钥扩展方式来改善Kerberos系统。关键词:身份认证;Kerberos;公钥证书;PKINIT协议第一章身份认证的研究与应用1.1身份认证概述身份认证的本质是被认证方有一些信息,如秘密的信息、个人持有的特殊硬件、个人特有的生物学信息,除被认证方自己外,该信息不能被任何第三方伪造。如果被认证方能采用某些方法,使认证方相信他确实拥有那些秘密,则他的身份就得到了认证。1.2身份认证方法的分类根据被认证方赖以证明身份的秘密的不同,身份认证方法可以分为三大类:基于秘密信息的身份认证技术,基于信物的身份认证技术和基于生物特征的身份认证技术。大致来讲,有以下几种身份认证形式:(1)根据用户所知道的某个信息,如口令、密码;(2)根据用户所拥有的某个东西,用户必须持有的合法的物理介质,如智能卡、身份证、密钥盘;(3)根据用户所具有的某种生物特征,如指纹、声音、视网膜扫描等。l基于口令的认证方式基于口令的认证方式是较常用的一种技术。认证方收到口令后,将其与系统中存储的用户口令进行比较,以确认对象是否为合法访问者。其优点在于简单易行,一般的系统,如Windows,Unix,Netware均提供对口令认证的支持。但这种方式存在严重的安全问题。它是一种单因素的认证,安全性仅依赖于口令,口令一旦泄漏,用户即可被冒充。也存在口令在传输过程中被截获的安全隐患。2基于信物(智能卡)的认证方式智能卡具有硬件加密功能,有较高的安全性。每个用户持有一张智能卡,智能卡存储用户个性化的秘密信息,同时在验证服务器中也存放该秘密信息。但其缺陷在于智能卡也可能会丢失、被复制,在这种情况下,系统的安全性也无从保障。3基于生物特征的认证方式这种认证方式以人体惟一的、可靠的、稳定的生物特征,如指纹、虹膜、掌纹等为依据,利用计算机的强大功能进行图像处理和模式识别。该技术具有很好网络安全技术课程论文免责声明:文档在线网中所有的文档资料均由文档在线网会员提供,该文档资料的版权属于提供者所有。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性和正确性。—1—的安全性、可靠性和有效性,与传统的身份确认手段相比,无疑产生了质的飞跃。但这种方案一般造价较高,适用于保密程度很高的场合。1.3身份认证技术如何有效的将各种身份认证技术有机的结合起来,设计和开发出更安全、便捷的身份认证系统,显得至关重要。目前主要有以下几种身份认证技术。1.3.1PAP认证(PasswordAuthentificationProtocol)PAP认证[1]是最基本的安全认证协议,主要是口令核对,用户输入用户名、密码的验证过程。用户与服务器建立连接后,服务器根据用户输入的信息判定是否通过认证。密码以明文方式传输。1.3.2CHAP认证(ChallengeHandshakeAuthentificationProtocol)CHAP认证[2]是一种被广泛接受的工业标准,通过三次握手方式周期性的对被认证方的身份进行认证。其认证过程是,首先在通信双方链路建立阶段完成后,验证方向客户发送一个请求字符串,由标识符ID,随机数据,本地主机名或用户名组成;然后,客户方以请求的MDS哈希值作为响应;最后认证方对发回的值进行校验,接受认证,并返回成功与否的信息。在双方通信过程中系统将以随机的时间间隔重复上述三步认证过程。在CHAP协议的实际使用过程中,用户为了便于记忆,往往使用容易记忆的口令,这样的口令不能有效地抵抗攻击者的字典攻击;而在服务器端,用户的口令是以明文方式存放,如果攻击者攻破服务器,那么就能轻而易举取得用户的口令。这些都是CHAP协议使用过程中的巨大隐患。1.3.3一次性口令认证一次性口令认证[3]在登录过程中加入不确定的因素,使每次登录过程中传送的信息都不相同,以提高登录过程安全性。但是一次性口令认证只能防止在初次登录到站点时的重放攻击。认证结束之后,如果再登录网内的其他机器时,口令将以明文方式传输,此时口令的安全性就取决于企业内部网的安全性了。并且还存在小数攻击的问题。1.3.4基于挑战/应答(Challenge/Response)方式的身份认证机制每次认证时认证服务器都给客户端发送一个不同的“挑战”字串,客户端收到后做出相应的应答。RADIUS(RemoteAuthenticationDial-InUserService)认证[4]就是采用这种方式,是目前拨号业务中较为成熟的一种远程认证技术。RADIUS认证系统采用基于UDP协议的客户机/服务器模式来认证和管理远程用户的连接和会话,是一种集“认证、授权、审计”(AAA技术)于一体的集中式管理方法。Radius系统只加密用户口令,用户其他信息以明文方式发送。1.3.5Kerberos认证Kerberos[5]是基于可信赖第三方认证协议,是较为成熟的身份认证机制。它利用随机产生的票据来获取会话密钥,避免了用户口令在网络上的传播,将认证从不安全的工作站转移到集中的认证服务器上,为开放网络环境中的两个主体提供身份认证,并通过会话密钥对通信进行加密。Kerberos协议是当今重要的身份认证协议,优点很明显,但从其密钥分配和认证过程来看,还存在以下不足之处:使用对称算法DES(DataEncryptionStandard,数据加密标准)作为协议的基础,这就带来了密钥交换、密钥存储、以及密钥管理的困难,N个用户想同时通信,就需要N*(N-1)/2个密钥;没有提网络安全技术课程论文免责声明:文档在线网中所有的文档资料均由文档在线网会员提供,该文档资料的版权属于提供者所有。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性和正确性。—2—供有效抵御口令猜测攻击的手段,同时还存在时钟同步问题。1.3.6X.509基于X.509证书[6]的认证技术类似于Kerberos技术,它也依赖于共同依赖的第三方来实现认证,这里可依赖的第三方是指CA(CertificateAuthority)的认证机构。该认证机构负责认证用户的身份并向用户签发数字证书。数字证书遵循X.509标准所规定的格式,因此称为X.509证书。持有此证书的用户就可以凭此证书访问那些信任CA的服务器。基于X.509证书的认证实际上是将个体之间的信任转化为个体对组织机构的信任,因此这种认证系统需要有CA的支持。目前,使用最多的认证方式还是最简单的口令形式,类似于系统登录过程中输入用户名/口令的基本认证方式系统事先保存每个用户的二元组信息,进入系统时用户输入其对应的用户名和密码,系统根据保存的用户信息与用户输入的信息相比较,从而判断用户身份的合法性。其安全性仅基于用户口令的保密性,不能有效的抵御口令猜测攻击;并且用户名和口令都是以明文方式在网络中传输,极易遭受重放攻击(ReplayAttack)。攻击者通过监听网络连接来获得合法用户的登录名和口令等认证信息,随后利用这个获得的登录用户名和口令对系统进行非法访问。1.4身份认证技术的评价身份认证在一个安全系统中起着至关重要的作用,因此认证技术决定了系统安全程度。如何评价某一认证技术,可以遵循以下几个标准[7]:(l)可行性(2)认证强度(3)认证粒度(4)认证数据正确。在深入比较和分析各种认证方法的基础上,Kerberos协议是身份认证领域中较为成熟的应用协议,具有如下的一些优点:它是基于可信赖的第三方的认证方式,适合于开放式的复杂网络环境;认证过程设计合理,安全性高;采用集中的用户帐号管理,减少了系统维护的负担;采用双向认证机制等等。第一章Kerberos协议分析2.1Kerberos概述Kerberos是MIT在80年代中期为其Athena[8]计划开发的一种基于KDC概念和Needham-schroeder方法的分布式认证服务系统,它可以在不安全的网络环境中为用户对远程服务器的访问提供自动的鉴别,数据安全性和完整性服务,以及密钥管理服务。Kerberos的设计是针对以下要求实现的:(l)安全性:网络中的窃听者不能获得必要的信息来假冒网络的用户(2)可靠性:Kerberos应该具有高度的可靠性,并采用一个系统支持另一个系统的分布式服务结构(3)透明性:用户除了被要求输入密码外,不会觉察出认证的进行过程(4)可扩充性:系统应能够支持更多的用户和服务器,具有较好的伸缩性Kerberos的设计目的分为三个领域:认证、授权、记账,可用作建造安全网络的一个成分,它提供了可用于安全网络环境的认证机制和加密工具[9]。2.2Kerberos协议原理Kerberos系统要求用户使用其用户名和口令作为自己的标识,而客户与服务器之间的交互则使用由对应的用户名和口令所生成的会话密钥。每个用户都与网络安全技术课程论文免责声明:文档在线网中所有的文档资料均由文档在线网会员提供,该文档资料的版权属于提供者所有。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性和正确性。—3—KDC共享一个从自己口令中导出的密钥,称为主密钥。当用户A登录进本地系统的时候,便从KDC获取一个访问KDC所需的会话密钥Sa和一个TGT(TicketGrantingTicket),因此KDC又称为TGS(TicketGrantingServer)。当A要访问B时,便凭借所获得的TGT向KDC申请一个临时的会话密钥Kab,客户使用这个会话密钥与对应的服务器交互。KDC自己拥有主密钥,用于在自己颁发的各种通知单中放置一块鉴别信息,以防止对通知单的伪造。在讨论协议之前我们需要定义一些符号和概念。c:客户机S:服务器a:客户的网络地址v:票据的有效时间t:时间标记DC:密钥分发中心S:票据分发服务器AS:认证服务器Kx:X与KDC的共享密钥Kx,y:X与Y的会话密钥Tx,y:X使用Y时的凭据Ax,y:从X到Y的鉴别码{m}Kx:用X的秘密密钥加密的m在KerberosV系统中,整个认证过程模型如图2-1:在Kerberos认证模型中使用了两种数据结构作为包含有信任信息的信任状,分别是票据Tc,s和认证标记Ac,s。它们都是基于对称密钥加密的,但是被不同的密钥加密。票据被用来在身份认证服务器和应用服务器之间安全的传递票据使网络安全技术课程论文免责声明:文档在线网中所有的文档资料均由文档在线网会员提供,该文档资料的版权属于提供者所有。文档在线网会对会员提供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性和正确性。—4—用者的身份。在图2-1中Kerberous:基本认证过程可以分三段个阶段,分别由三组消息交换来完成。2.2.1票据允许票据的获得客户方和AS之间的消息交换①和②称为初始票据交换,这一阶段完成的是客户方向KDC请求与TGS通信时使用的票据以及会话密钥的过程,在RFC1510中被称为认证服务交换。用户进行网络登录时,需要输入用户名和口令,客户方通过发出消息KRB_AS_REQ向AS申请TGT,AS以消息KRB_AS_REQ作为响应。KRB_AS_REQ中主要包含有客户方名字,服务器名字和一个Nonce,这里的服务器是特殊的服务器(票据发放服务器TGS)。AS收到请求后判断请求的客户方确实存在,然后随机生成一个加密密钥Kc,tgs作为下一阶段客户方与TGS通信时使用的会话密钥,构造一个特殊的票据TGT。TGT中列出了客户方,会话密钥,以及开始和时效时间等信息,用TGS的秘密密钥进行加密。AS将新的会话密钥和Nonce用客户方的密钥Kc加密,完成一个简单的挑战/响应过程以保证消息的新鲜性,再将这些消息与TGT一起构成KRB_AS_REQ作为消息2送回给客户方。客户方计算机利用用户输入的口令变换出K。就能获得会话密钥Kc,tgs,并且从Nonce可以验证该消
本文标题:结合公钥认证方案的Kerberos研究(论文)
链接地址:https://www.777doc.com/doc-2137597 .html