基于Kerberos的统一认证授权研究Centralized authentication and authorization based on Kerber
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Kerberos的统一认证授权研究
Centralized authentication and authorization based on Kerberos
(清华大学 国家CIMS工程技术研究中心,北京 100084)邴晓燕,邵贝恩
BING Xiao-yan,SHAO Bei-en 摘要:应用广泛的Kerberos协议缺乏支持集中式授权的机制,无法解决集团型企业跨域访问控制问题。
本文提出一种基于Kerberos的统一认证授权方案KCAA,通过Kerberos与授权中心的无缝集成,有效实现总部对跨域访问的集中式认证授权。
KCAA采用抽象用户减少各域内信息同步量,并采用身份代理简化Kerberos的部署。
在大规模集团型企业信息化建设中的应用表明,KCAA无需对现有系统进行大规模改造,即可实现集中式跨域访问控制,具有良好应用价值。
关键字:Kerberos; 集团型企业; 访问控制; 认证授权
中图分类号:TP393. 08 文献标志码:A
Abstract:Because of lacking support for centralized authorization, widely-applied Kerberos couldn’t realize cross-domain access control in group enterprises. Therefore, a Kerberos-based Centralized Authentication Authorization (KCAA) scheme is proposed. By integrating centralized authorization into Kerberos, KCAA achieves centralized authentication and authorization in headquarter for cross-domain access. KCAA uses abstract users to reduce information synchronization in different domains, and identity agents to simplify deployment of Kerberos. KCAA shows its application value in the informatization construction of a large group enterprise which proves that it could achieve centralized cross-domain access control without mass transformation of legacy systems.
Key words: Kerberos; group enterprises; access control; authentication and authorization
引言
近年来纷纷涌现的集团型企业大都具有显著的分布式异构特征,需要总部建立一个统一的跨域访问控制平台,对跨分子公司的服务调用进行集中式认证授权,以便最大程度保留各域安全设施的同时,保证跨域访问的安全可靠,实现管理的规范化和灵活性。
考虑到该认证授权系统部署在集团型企业内部,可选用“安全/代价比”较为理想的Kerberos协议来实现跨域身份认证。
该协议的主要优点在于使用相对便宜的技术实现了一个好的保护水平[1]。
但是,Kerberos是一个主要针对身份认证设计的协议,如果无法实现与服务授权的无缝集成,一个完整的跨域访问控制将无法得到真正实现。
然而,现有围绕Kerberos的研究大多集中在对其安全特性的改进上[2][3][4],少有的研究基于Kerberos的授权实现方案[5]也大多把授权任务下放到了各域中。
在集团型企业系统集成过程中,这无疑将加大对遗留系统的改造,加重各分子公司服务器的管理任务,不利于实现管理的规范化和灵活性。
因此,本文针对集团型企业的实际需求,提出了一种新的基于Kerberos的统一认证授权实现方案(Kerberos-based Centralized Authentication Authorization,KCAA),该方案通过建立位于总部的认证授权中心和位于各分子公司的身份代理,实现总部对跨域访问的集中式认证授权,抽象用户和身份代理的运用可避免各域内大量信息的同步,并简化Kerberos的部署。
KCAA能有效提高系统的可管理性,减少对遗留系统的改造。
1 KCAA总体结构
如图1所示,整个系统由位于总部的认证授权中心和位于各分子公司的身份代理组成,共同实现以下四大功能:
图1 KCAA总体结构图
1.服务注册:
各域将参与跨域互操作的服务及终端用户信息在总部的注册中心进行注册。
注册信息主
要分为以下两类:
1)服务请求者信息:即需要调用其他安全域服务的服务/终端用户的相关信息。
此类注册信息应包含该服务/终端用户本身的属性信息;以及服务/终端用户请求信息,即需要跨域调用哪些服务,需要从哪些身份调用这些服务等。
2)服务提供者信息:即可提供给其他安全域调用的服务信息。
此类注册信息应包含该服务本身的属性信息如服务接口,调用方法等;以及该服务的相关业务权限。
2.服务授权:
总部的授权中心根据各域在注册中心注册的服务及用户信息,进行统一的基于角色的授权,并将相关信息存入位于授权中心的跨域访问授权列表。
然后,将授权列表中的角色信息作为抽象用户身份进行管理。
同时,将各域相关的用户与抽象用户的对应关系发回各域身份代理处的抽象身份管理进行备份。
3.服务认证:
当一个用户需要进行跨域访问时,首先在本域身份代理处进行身份认证以获取与之对应
的抽象用户身份,然后利用该抽象用户身份向总部认证中心发出跨域访问请求。
总部对接收到的请求首先进行身份认证,进而进行授权和令牌发放。
4.令牌发放:
对于通过总部身份认证及授权的用户,位于总部的令牌中心将对其发放令牌,以便合法用户利用该令牌访问其他安全域的服务资源。
在本系统中,利用Kerberos协议建立认证中心和令牌中心,利用J2EE平台开发注册中心和授权中心,并将Kerberos与授权中心进行无缝集成,便可对跨域访问实现有效的集中式认证授权。
Kerberos系统由Kerberos密钥分发中心(Key Distribution Center, KDC),客户端(Client, C)和目标服务(Service, S)三部分组成。
其中,KDC由认证服务器(Authentication Server,AS)和票据认可服务器(Ticket Granting Server,TGS)组成。
本系统将Kerberos KDC部署在总部,其中,将AS作为认证中心,TGS作为令牌中心,在各域的身份代理处部署客户端和目标服务器端。
如此,借助Kerberos协议,便可用较小的代价实现跨域访问的身份认证和令牌发放功能。
但Kerberos协议只验证安全主体的标识是否正确,不决定安全主体是否可以或如何访问目标服务。
因此,只有实现Kerberos与服务授权的无缝集成,一个完整的跨安全域访问控制才能得到有效实施。
以下主要针对本系统中Kerberos与授权的集成机制进行详细阐述。
2 Kerberos与授权的集成
现有针对Kerberos与授权集成的研究主要是利用Kerberos协议的扩展,通过在 Kerberos 票证Ticket中填充载有某种形式的安全主体名称或安全主体角色标识的授权数据字段来帮助目标服务器端对来访者实施授权控制。
在这种机制中,跨域访问的授权控制需由目标服务器端进行部署,加大了目标服务器端对原有安全系统的改造,不利于总部对跨域访问进行规范化管理,并在一定程度上加重了目标服务器端的管理负担。
为解决以上问题,KCAA将跨域访问的授权控制交由总部进行统一实现。
为不破坏原Kerberos协议而又与基于角色的授权机制无缝集成,本系统将Kerberos与授权中心的集成嵌套运行于原Kerberos认证框架之内。
其工作过程与原Kerberos系统相似,不同的是,当抽象用户利用从AS申请到的票据授予票据(Ticket Granting Ticket,TGT)向TGS申请特定的服务票据Ticket时,TGS并不直接将Ticket发回给抽象用户,而是根据抽象用户标志及抽象用户提供的目标服务信息与位于总部的授权中心(Authorization Center, AC)进行安全握手从而查询抽象用户是否拥有目标服务的访问权限,如果抽象用户拥有访问权限则将服务票据Ticket发送给抽象用户继续进行下面的步骤。
否则,返回客户端无访问权限的消息。
其简化流程如下:
图2 授权集成原理图
1) C→AS: ID C‖ID TGS‖TS1;
2) AS→C: ID C‖TGT‖E C, AS[K C,TGS‖TS2‖ID TGS], 其中: TGT= E AS, TGS[K C, TGS‖ID C‖TS2‖ID TGS];
3) C→TGS: ID S‖TGT‖Auth C, TGS , 其中: Auth C, TGS= E C,TGS[ID C‖TS3 ];
4) TGS→AC: ID C‖TS4;
5) AC→TGS: E AC, TGS[Auth‖TS5], 其中: Auth= Yes or No;
6) TGS→C: ID C‖Ticket S ‖E C,TGS[K C, S‖TS6‖ID TGS], 其中: Ticket S= E TGS, S[K C, S‖ID C‖ID S‖TS6];
7) C→S: Ticket S‖Auth C, S , 其中: Auth C, S = E C, S[ID C‖TS7];
8) S→C: E C, S[TS7].
表1 Kerberos协议标识描述
3 跨域访问流程
当一个终端用户User.A(用户.A)用自己的身份调用其所在安全域Region.A(域.A)内的一个服务Service.A(服务.A),而该服务需调用另一安全域Region.B(域.B)内的服务Service.B(服务.B)时,将发生跨安全域服务调用。
实现Kerberos与授权的无缝集成后,一次典型的跨安全域服务调用流程如下图所示:
图3 跨域调用流程图
终端用户User.A首先通过Region.A的身份认证及授权机制获得调用Service.A的权限并调用Service.A,由于Service.A需要跨域调用Service.B,故向身份代理.A提出跨域调用请求。
身份代理.A接到请求后,在抽象用户管理处查询Service.A是否为合法的跨域调用用户,如果是,则用与之对应的抽象用户身份Abstract.A(抽象用户.A)向位于总部的AS申请TGT,进而向TGS申请调用Service.B的Ticket.B(票据.B)。
TGS通过与授权中心进行安全握手查询抽象Abstract.A是否拥有Service.B的访问权限,若有,则向身份代理.A发放Ticket.B允许其访问Service.B。
4 总结与应用
本文针对现行Kerberos实现方法在集团型企业跨域访问控制中遇到的问题,提出了一标识描述
ID C客户端ID标识
ID S目标服务ID标识
ID TGS票据许可服务器ID标识
TSx 时间戳,其中x为1、2、3、4、5、6、7中的一个
K X, Y成员X与成员Y之间的共享会话密钥
E X, Y[***] 使用密钥K X,Y对***进行加密
种新的基于Kerberos的统一认证授权实现方案KCAA,该方案在相关的国家863课题中被用于实现异构系统集成服务平台的安全策略,同时在某大规模集团型企业信息化建设中初步显示了良好的应用价值。
该集团型企业具有明显的分布式异构特点,各分子公司内部均已建立了较为完善的安全机制,且企业业务需求对系统的安全性能提出了较高要求,须对跨域访问进行良好控制。
在该集团的信息化建设中,KCAA在充分保留各分子公司原有安全系统的基础上,对跨域访问进行了有效控制,提高了整个系统的安全性,可管理性和可扩展性。
本文作者创新点:实现了基于Kerberos的集中式跨域授权管理;抽象用户的运用减少了大量信息的同步;身份代理的建立简化了Kerberos的部署。
参考文献:
[1]马恒久,李鹏飞,颜学雄,等. Web服务安全[M]. 北京:电子工业出版社,2007. 57~60.
[2]CERVESATO ILIANO, JAGGARD AARON D, SCEDROV ANDRE et al. Breaking and
fixing public-key Kerberos[J]. Information and Computation, 2008, 206(2-4):402-424. [3]徐勇,李征,张珏. Kerberos身份认证的分析和改进[J]. 微计算机信息, 2004,
20(10):124-125.
[4]DOWNNARD I.Public-key cryptography extensions into Kerberos[J].IEEE Potentials,
2002, 21(5):30-34.
[5] 马佩勋,李 杰. Kerberos 协议及其授权扩展的研究与设计[J].计算机技术与发展,
2006, 16(5):109-111.114.
作者简介:邴晓燕(1984-),女,山东青岛人,硕士研究生,主要研究方向:信息系统集成、网络安全,; 邵贝恩(1946-),男,浙江杭州人,研究员,主要研究方向:企业信息化系统与工程,。
Biography: BING, Xiao-yan (1984-) , female, master, major: information system integration
, network security; SHAO, Bei-en (1946-) , male, major: enterprise information system and engineering.
(10084 清华大学国家CIMS工程技术研究中心)邴晓燕,邵贝恩
(Tsinghua University) BING Xiao-yan, SHAO Bei-en
通讯地址:(100084 北京清华大学35号楼303室)邴晓燕
本单位图书馆(资料室)已订阅《微计算机信息》。