- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kerberos认证协议分析和研究
Kerberos认证协议分析和研究
摘要:在分布式网络的身份认证体系中,最具代表性的是基于对称密码体制的Kerberos认证模式,它引入了可信的第三方秘钥分配中心。该文先详细叙述了Kerberos协议的认证过程,分析其还存在的不足――对称密码体制安全性低、易受重放攻击。为此,尝试使用非对称秘钥以及随机数和秘钥链关联机制来增加秘钥强度,尽量减少秘钥被破解的可能性。同时,随机数也和时间戳共同使用判定消息是合法用户的重复请求还是非法用户的重放攻击,最后给出改进后认证过程。
关键词:Kerberos;身份认证;重放攻击;秘钥链
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)27-0037-02
网络的迅速发展使安全问题日益突出,认证机制在分布式网络环境中扮演越发重要的角色。简单来说,假如用户希望访问网络中的某些资源,而这些资源只允许授权用户的访问,就需要可靠的认证机制来证明访问者和被访问者的身份。良好的认证机制可以减少非法用户假冒合法用户对网络资源进行盗取和破坏。Kerberos是基于可信第三方的认证协议,密码设计基于Needham―Schroeder协议[1],它可以在客户访问服务器前提供较完善的保护措施和控制机制。
1 Kerberos身份认证
1.1 简介
Kerberos一词来源于希腊神话,意为“三个头的狗”,也是地狱之门的守护者[2]。其中三个主体分别是认证服务器、客户和应用服务器,用户在访问服务器前,需要先从第三方认证服务器中获取许可证,只有通过合法性认证的用户,才能依据票据去访问所需的服务和应用。
在认证过程前,基本名词如表1。
秘钥:网络安全的可靠性主要依靠秘钥强度和协议严谨性[3],Kerberos中存在三种秘钥,一种是长期秘钥,另两种是短期秘钥和长期秘钥的派生秘钥。Kerberos认为被长期秘钥加密的数据不能在网络中传输,因为一旦这些被长期秘钥加密的数据包被网络监听者截获,在理想条件下,只要时间充足,是可以通过计算获得该秘钥的。Kerberos使用短密匙或长期密匙的派生密匙进行加密,短期密匙有生命周期,即使被加密的数据包被黑客截获把密匙计算出来,密匙早已过期。而长期密匙的派生密匙往往是对长期密匙进行哈希运算。
1.2 认证过程
认证过程可分为三个阶段: AS(Authentication Service) Exchange、TGS(Ticket Granting Service)Exchange、CS(Client/Server )Exchange,原理如图2所示。
(1) AS Exchange:KDC中的Authentication Service实现对Client身份的确认,并颁发给该Client一个TGT(Ticket Granting Ticket)。具体过程如下:
Client→AS:KC{IDC||IDTGS}。
Client向KDC的AS发送请求, 为了确保仅限于自己和KDC知道,Client使用自己的KC对其进行加密(KDC可以通过数据库获得该KC进行解密)。请求包含Client的基本身份信息IDC以及TGS的基本信息IDTGS等。
AS→ Client:KC{SKC,TGS||IDTGS},TGT。
其中TGT=KTGS{SKC,TGS||IDC||IPC||ETTGT}。验证通过之后,AS将一份回复信息发送给Client。该信息主要包含两个部分:KC加密过的SKC,TGS和被KTGS加密的票据授权票据(TGT),其内容包括SKC,TGS、Client信息IDC、IPC以及到期时间ETTGT等。
(2) TGS Exchange:
Client→TGS:{TGT||Authenticator_1}。
TGT是前一步骤中AS发送给Client的,此时由Client转发给TGS。Authenticator_1=SKC,TGS{IDC||TS||IDS}用以证明TGT的拥有者的身份,所以它用SKC,TGS加密,其中包括Client的ID信息和时间戳TS,时间戳的作用是防止黑客截获数据包伪造合法用户,超过时间阈值的数据包无效。最终Client把要访问的应用服务器IDS、TGT和Authenticator_1一起加密发送给TGS。
TGS→Client:SKC,TGS{SKC,S},KS{Ticket}。
Ticket=KS{SKC,S||IDC||IPC||ETTicket}
TGS收到Client发来的信息,由于它没有SKC,TGS故不能对Authenticator_1进行解密,只能先用自己的秘钥KTGS对TGT解密,得到SKC,TGS
原创力文档


文档评论(0)