标题 | 一种新的基于Kerberos的认证授权协议 |
范文 | 戚湧+李文娟+李千目![]() ![]() ![]() 摘 要: Kerberos协议是近年来广泛应用的身份认证协议之一,但是Kerberos协议的研究主要集中在身份认证部分,并未提供授权管理。这里在对Kerberos协议的基本原理及安全性进行分析的基础上,提出一种基于EAP和XACML授权框架的Kerberos认证授权模型,最后对此模型的认证授权能力进行分析。 关键词: Kerberos协议; XACML框架; 安全认证; EAP 中图分类号: TN911?34; TP309 文献标识码: A 文章编号: 1004?373X(2015)04?0035?04 随着基于网络的应用的迅速发展,网络信息安全问题越来越突出,其中身份认证及访问授权问题显得尤为重要。Kerberos是近年来应用广泛的安全认证协议之一,由于Kerberos协议中身份认证服务和票据授权服务是集中式管理的,容易形成瓶颈,系统的性能和安全性也过分依赖于服务的性能和安全。当前对Kerberos协议的研究主要集中在身份认证部分,而对访问授权问题仅提供了基本扩展方式,并未提供具体访问授权策略。 本文将基于XACML授权模型的与Kerberos协议集成,为Kerberos协议增加访问授权管理。在此基础上,使用SAML安全断言机制进行消息的传送,并且增加基于EAP?Md5的身份预验证机制,力求加强Kerberos协议的安全性。 1 协议概述 1.1 Kerberos Kerberos作为一个分布式的认证服务系统,是目前互联网上一个重要的身份认证协议。Kerberos协议主要用于网络身份认证服务(Authentication),它的特点是用户只要输入一次身份认证信息,通过验证后即可获得可用于访问多个服务的票据[1],即SSO(Single Sign On)。 Kerberos模型涉及以下术语: (1) Client,用户。可以是正在运行的进程,也可以是普通的用户。 (2) Server,应用服务器。向用户提供所请求服务的实体。 (3) TGS(Ticket?Granting Server),票据发放服务器。为用户发放票据的服务器,用户使用该票据向应用服务器表明自己的身份。 (4) AS(Authentication Server),身份认证服务器。为用户发放票据,用户可以使用该票据向TGS表明自己的身份。 (5) KDC(Key Distribution Center)。TGS与AS统称为KDC,即密钥分配中心。 (6) Ticket,票据。是一种有TGS发放的一种数据结构,在Kerberos协议中用来记录信息、密钥等,Clien向Server出示票据以证明身份,票据中包括了Client的身份标识、时间戳、会话密钥等信息。 (7) TGT(Ticket?Granting Ticket),票据授权票据。Client用TGT向TGS证明自己的身份。由AS发放。 (8) ST(service ticket),服务票据。Client用ST向Server证明自己的身份,由TGS发放。 Kerberos协议的执行过程如图1所示: Kerberos协议执行过程包括6个过程: (1) C_AS_REQ:Client向AS申请票据TGT,消息中包括自己的主体标识,TGS的主体标识及产生随机数串; (2) C_AS_REP:AS向Client发送票据TGT以及Client与TGS的会话密钥; (3) C_TGS_REQ:Client向TGS申请访问应用服务器Server的票据ST,发送的消息包括票据TGT,Server的标识和随机数; (4) C_TGS_REP:TGS接受到消息(3)后,首先验证票据TGT,如果验证通过,则验证CLient的身份,通过验证后,生成一个CLient与Server共享的密钥和一个服务票据ST给Client; (5) C_S_REQ:Client用收到的ST向应用服务器认证; (6) 应用服务器接收到消息(5)后,解密得到ST,验证有效性后,完成应用服务器对用户的认证过程。 1.2 EAP?MD5可扩展身份认证协议 EAP协议是由点对点协议 PPP(Peer?Peer Protocol)扩展而来,可以在EAP协议的基础上扩展多种认证机制,是一种建立在挑战/响应通信模型上的通信协议。认证服务器通过EAP机制向客户端提问,所有的认证都由后台服务器完成。 EAP?MD5认证协议流程如图2所示: 无论何时Server发出EAP?Failure消息,都表示认证过程从此终止。 1.3 SAML/XACML SAML即安全断言标记语言,英文全称是Security Assertion Markup Language。SAML标准中定义了两种身份,即身份提供者(identity provider)和服务提供者(Service Provider),SAML用于在这两种身份之间交换认证和授权数据。 SAML规范由声明、请求/响应协议、绑定和配置文件由四个部分组成: (1) 声明(Assertions)。它是SAML的基本数据对象,描述了主体的身份、属性、权限信息。其分为认证声明(Authentication Assertion),属性声明(Attribute Assertion),授权决议声明(Authorization Decision Assertion)。 (2) 请求、响应协议(Request/Response)。该协议规定了SAML数据在两点间共享时的消息格式和种类。SAML给出两种消息格式:请求消息(Request)和响应消息(Response)。Request中可以分为三种查询类型(Query),分别是主体查询(SubjectQuery)、认证查询(AuthenticationQuery)、属性查询(AttributeQuery)和授权决策查询(AuthorizationtQuery),这三种查询对应三种声明格式。 (3) 绑定(Bindings)。绑定定义了如何通过标准的传输协议和消息收发协议交换SAML消息。 (4) 配置文件(Profiles)。配置文件是SAML规范定义的一组规则,描述了声明是在底层消息协议中是如何嵌入、提取和集成的。 XACML(Extensible Access Control Markup Language)是一种用于决定请求/响应的通用访问控制策略语言和执行授权策略的框架,它被广泛用于访问控制策略的执行。在典型的访问控制框架中,主要有策略执行点PEP(Policy Enforcement Point)和策略决定点PDP(Policy Decision Point)组成。 PEP用于对PDP提出申请和执行PDP返回的访问控制决策,它将资源申请信息发给策略决策点(PDP),PDP将依据已有的安全访问控制策略,对申请进行评估并作出授权决定,最后将决定返回给PEP。 2 一种新的Kerberos认证授权模型 2.1 总体框架 本文提出一种增加EAP?MD5预验证和XACML?SAML访问控制模型的新的Kerberos构架,Kerberos协议在对Client提供TGT之前对其进行EAP预认证,并在向TGS申请ST时,利用XACML框架进行授权管理,认证和授权的具体过程在下文中详述。 这种新的Kerberos总体构架如图3所示。 2.2 总体构架组成部分 (1) KDC。本体系结构的主要成分。由票据发放服务器TGS和认证服务器AS组成。AS除了作为Kerberos协议中的身份认证服务器,在基于EAP协议的预身份验证中,AS扮演了Server的角色,与用户交换EAPREQ/RESP包。它还通过AAA基础设施对EAP报文转发。关于授权过程中,TGS服务将负责用户属性检索和访问控制的要求,充当了XACML访问控制模型PEP(策略实施点)的角色,分别与IDP和PDP进行交互,根据PDP决策结果,确定ST是否必须颁发给客户端。 (2) AAA服务器。它是负责通过EAP的认证用户的实体。因此,具有EAP服务器的功能。AAA服务器与IDP交互,请求要求认证和授权信息。 (3) idp统一认证中心(identity provider)。idp用于解码SAML请求和生成SAML响应,提供对用户的身份认证,idp可能会要求提供有效登录凭据或检查有效会话 Cookie 以验证用户身份,验证成功后,idp会生成带有验证过的用户信息的SAML响应。 (4) 策略决策点(PDP)。它是KDC放置访问控制策略的实体。PDP从PEP(由KDC扮演PEP的角色)处接受请求,评估适用于该请求的策略,并将授权决定返回给PEP(KDC)。 (5) 服务Service。提供的特定服务(例如,Web,SSH, FTP等)的实体。 2.3 基本操作 Client需要得到Kerberos票据ST才能得到Service服务器提供具体服务,为了从TGS处获得ST,必须先从AS处得到TGT,在这之前用户必须通过AAA服务器执行基于EAP的预身份验证。AAA服务器和idp成功验证Client身份后,向KDC发送认证声明指出已经成功认证Client端,KDC向用户发送TGT,其中包括AAA服务器发回的类似认证寿命的信息。用户得到TGT后向AS申请ST,KDC开始执行授权管理,KDC通过SAML断言向idp发送Client的身份信息,KDC作为XACML框架中的PEP向PDP请求授权决定,(PDP提供整体的访问控制策略)。PDP查询访问控制策略并做出授权决定,并将授权决定返回发送给KDC,KDC根据授权决定颁发ST给Client。 2.4 认证授权过程 本文提出的新Kerberos协议的认证授权过程如图4所示。 具体的认证、授权操作协和如下: (1) C_AS_REQ、EAP?Start,从Client向AS发送TGT请求,也相当于向EAP协议的服务器发送EAP?Start报文,开始EAP接入。 (2) C_AS_REP、EAP?REQ(id),AS向Client返回响应,发送了EAP?REQ(id)报文,要求Client提供身份信息。 (3) C_AS_REQ、EAP?RESP(id),Client回应服务器,发送身份信息。 (4) AAA_REQ、EAP?RESP(id),AS将受到的EAP?RESP(id)报文封装,发送给AAA服务器。 (5) AAA_REP、EAP?REQ/MD5?Challenge,AAA服务器产生一个Challenge,通过AS将报文发送给客户端。 (6) C_AS_REP、EAP?REQ/MD5?Challenge,AS将收到的报文发送给Client,要求客户端进行认证。 (7) C_AS_REQ、EAP?RESP/MD5?Challenge(password),客户端收到EAP?REQ/MD5?Challenge报文后,将密码和Challenge做MD5算法后的password发送给AS。 (8) AAA_REQ、EAP?RESP/MD5?Challenge(password),AS将收到的报文发给AAA服务器进行验证。 (9) AAA_idp_REQ(SAMLAuthenticationQuery),AAA服务器根据用户信息做MD5算法后判断是否合法后,向idp发送SAML认证请求,要求idp对Client认证。 (10) AAA_idp_RESP,idp对接收到的认证请求作出响应,对Client进行认证,如果成功,给Client进行授权,如果认证失败,则结束。 (11) AAA_REP、EAP?Success(或者EAP?FAilure),AAA向发送AS认证结果。 (12) C_AS_REP、EAP?Success,AS向Client发送认证结果,颁发TGT。认证过程结束。 (13) C_TGS_REQ(TGT),Client向TGS发送TGT,申请ST票据。 (14) TGS_idp_REQ、SAMLAttributeQuery,TGS向idp发送属性查询的消息,获得Client相关属性信息。 (15) TGS_idp_RESP,idp对接受的属性查询申请作出响应,返回Client相关属性信息。 (16)TGS_PDP_REQ、SAMLAuthorizationtQuery,TGS将Client的身份信息、属性信息发送给PDP,发送授权决策查询,请求PDP进行决策。 (17) TGS_PDP_RESP,PDP做出决策,并将决策结果返回给TGS。 (18) C_TGS_REP(ST),TGS根据PDP发回的决策,决定是否颁发ST给Client。授权过程结束。 3 优越性分析 本文在Kerberos协议的基础上,增加了基于EAP?MD5协议的预认证服务和基于XACML框架的授权管理。通过EAP?MD5协议,提供了使用AAA服务器对Client端进行认证的可能,与之前Kerberos传统的认证方式相比,使用AAA服务器更好地实现了对Client的身份管理,也可以在此基础进行授权和计费的扩展,并且在Client需要跨域访问服务的时候,本地KDC与AAA服务器进行通信,避免了跨域时多个KDC之间的协作时的安全性问题。 基于SAML技术和XACML技术的授权管理技术已经成熟,而传统的Kerberos协议并未将授权管理纳入考虑。本文将这两种技术与Kerberos协议相结合,为Kerberos提供授权管理。其中,用户的属性有idp管理,PEP的角色由KDC扮演,增加了相应的策略决策点,PDP将负责处理访问控请要求,检查策略和回复由KDC的强制执行的决定。在这个意义上,授权管理对服务是透明的。 4 结 语 本文提出一种新的方法,Client为了访问基于Kerberos的服务,要先进行EAP?MD5协议的预认证,提高了认证的安全性。使用AAA服务器不仅能够管理认证和密钥分配,还具有授权和计费的功能,方便未来进行扩展。另一方面,利用现有的SAML配置文件,PEP/PDP的结构也符合XACML框架,利用SAML与XACML框架进行授权管理,系统可以在通过控制授权判定条件等使得授权管理更加灵活。 注:本文通讯作者为李文娟。 参考文献 [1] 文铁华,谷士文.增强Kerberos协议安全性的改进方案[J].通信学报,2004,25(6):76?79. [2] KOHL J, NEUMAN C. RFC1510: the Kerberos network authentication service(V5)[M]. [S.l.]: ISI, 1993. [3] 韩伟,范植华.基于SAML的单点登录技术在Web服务中的应用研究[J].计算机工程与设计,2005,26(3):634?636. [4] 罗昌行,欧阳晋,章卫国.基于SAML标准的信任与授权服务平台设计[J].计算机工程,2005,31(13):118?120. [5] 王曼珠,周亮.基于RADIUS/EAP的WLAN认证及其安全性分析[J].电子科技大学学报,2005,34(2):168?171. [6] 陈家琪,冯俊,郝妍.无证书密钥协商协议对跨域Kerberos的改进[J].计算机工程,2010,36(20):150?152. [7] 刘克龙,卿斯汉,蒙杨.一种利用公钥体制改进kerberos协议的方法[J].软件学报,2001(12):874?877. [8] 李晓峰,冯登国,徐震.基于扩展XACML的策略管理[J].通信学报,2007,28(1):103?110. [9] ZRELLI Saber, SHINODA Yoichi. Specifying Kerberos over EAP: Towards an integrated network access and Kerberos single sign?on process [C]// 21st International Conference on Advanced Networking and Applications. Niagara Falls, Ontario, Canada: IEEE, 2007: 490?497. [10] EMAN E I, KOUTB E, KELASH M, et al. An optimized kerberos authentication protocol [C]// International Conference on Computer Engineering & Systems. Cairo: [s.n.], 2009: 508?513. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。