APP下载

一种跨域统一认证与系统集成方案研究与应用

2016-05-14武鹏李文倚王文兴

网络空间安全 2016年4期
关键词:跨域访问控制系统集成

武鹏 李文倚 王文兴

【 摘 要 】 针对企业门户系统升级过程中各应用系统访问控制与身份认证方式差异导致的难以进行统一认证与系统集成的问题,提出了一种跨域统一认证与系统集成方案。方案基于共享库,结合AD域与LDAP目录实现了跨域统一认证和访问控制,并结合企业应用进行了实践,解决了系统集成过程中多种访问控制方式难以进行统一认证和单点登录的问题。

【 关键词 】 跨域;统一认证;访问控制;系统集成

【 中图分类号 】 TP301 【 文献标识码 】 A

【 Abstract 】 In the process of enterprise portal system upgrading, application system access control and identity authentication mode is differences lead to difficult to carry out unified authentication and system integration. In this paper a cross domain authentication and system integration solution scheme is proposed. This solution scheme based on shared library, combined with AD domain and LDAP directory to achieve cross domain authentication and access control.It has been applied in the enterprise application and resolved the issues that multiple access control is hard to implement unified authentication and single sign on in the process of system integration.

【 Keywords 】 across-domain;unified authentication;access control;system integration

1 引言

随着企业信息系统的快速发展,企业内部广泛存在不同架构、不同认证与访问控制策略与实现方式、基于域控和没基于域控等不同形式下的各类信息系统,表现出体系结构上的分布式、域内自治、域间协作等复杂应用系统的特征。基于这些特征的信息系统面临着无法进行统一认证和访问控制、跨系统协同和系统集成困难的新问题和新挑战,具体表现:(1)申请访问各系统的主体来源不同,甚至具有临时性,往往是现有统一认证系统不认知和不能识别的;(2)各个信息系统本身的访问控制策略和安全机制存在差异,表现在访问控制模型的异构性;(3)已有信息系统的统一认证与访问控制存储方式多样化,关系型数据库、LDAP目录树、Microsoft Active Directory(AD)等共存。与此相关的研究主要集中在基于活动目录的认证系统等方面,较少关注跨域统一认证与系统集成方面的应用。

本文给出了跨域统一认证与系统集成应用场景,提出了一种跨域统一认证与系统集成方案,并结合企业应用进行了实践,解决了企业门户系统升级过程中的统一认证与系统集成问题。

2 跨域统一认证与访问控制体系结构

本文通过创建共享库,以共享库为基础在共享库、Microsoft Active Directory(AD)、IBM Tivoli Directory Server LDAP目录服务之上搭建了跨域统一认证器,设计了一套认证流程,实现跨域统一认证,并在此基础上建立基于RBAC的访问控制策略,实现不同信息系统的统一认证与单点登录。图1给出了跨域统一认证与访问控制体系结构图,箭头指明了跨域统一认证与访问控制过程。跨域统一认证与访问控制体系结构主要包含五个构件:(1)用户/角色管理器:对用户和角色进行管理,定义用户与角色的映射;(2)资源/操作管理器:对资源和操作进行管理,定义资源与角色的映射;(3)跨域认证器:依据不同用户来源,依据相应认证流程对访问主体进行身份验证;(4)安全控制器:对共享库、AD服务器及统一认证器进行监控及预警;(5)跨域同步/映射器:对域间用户/用户组/角色进行数据同步或进行不同层次和粒度的映射。

当某用户需要访问某项资源进行相关操作时,生成一个访问请求,事实上将进入跨域统一认证器进行验证。

3 跨域统一认证与访问控制策略

3.1 跨域认证机制

跨域统一认证与访问控制的核心是跨域认证机制,下文结合统一认证过程对涉及到的共享库和跨域认证机制进行阐述。

3.1.1共享库

共享库是对各个信息系统以数据库形式管理的用户/角色的抽象,定义为所有非基于AD域验证的信息系统的用户/角色,既非域控用户/角色的集合。它统一存储所有信息系统的用户信息,信息系统对用户信息的存储和管理全部通过共享库完成,而授权则由各信息系统完成,即统一存储、分布授权。共享库具备几项基本功能:(1)用户信息规范命名、统一存储,用户ID全局惟一,用户ID犹如身份证,区分和标识了唯一的不同访问个体;(2)向各信息系统提供用户属性列表,如姓名、电话、地址和邮箱等属性,各信息系统可以选择本系统所需要的部分或全部属性;(3)信息系统对用户基本信息的增加、修改、删除和查询等请求由它处理;(4)各信息系统保留用户管理功能,如用户分组、用户授权等功能;(5)具有完善的日志功能,详细记录各信息系统对它的操作。共享库的主要用途是使非基于AD域验证的信息系统能够共享同一套用户/角色,实现访问主体的统一管理。

3.1.2跨域认证机制

跨域认证有三种基本情况:一是某非域控用户(没有登入AD域的用户)请求访问非基于AD的域外资源(例如非基于域控的信息系统);二是非域控用户请求访问域内资源(例如基于域控的信息系统);三是域控用户请求访问域外资源(例如非基于域控的信息系统)。第一种情况的难点在于域之间的用户信任问题;第二种情况的难点在于非域控用户无法得到域内资源的信任;第三种情况的难点在于域控用户无法得到非基于域控的资源的信任。第一种情况可以使用单点登录技术。单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,实质是安全上下文(Security Context)或凭证(Credential)在多个应用系统之间的传递或共享。目前业界已有很多产品支持SSO,如IBM的WebSphere和BEA的WebLogic,但各家SSO产品的实现方式也不尽相同。WebSphere通过Cookie记录认证信息,WebLogic则是通过Session共享认证信息。Cookie方式可实现SSO,但域名必须相同;Session是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个惟一的SessionID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。同时,OASIS(结构化信息标准促进组织)提出了SAML解决方案。

上述方案都能很好地解决跨域认证的第一种情况并实现统一认证和访问控制。但由于企业应用的多样性与复杂性,往往会出现前述的第二和第三种情况。如图2所示。

当非域控用户要访问域内资源时,域内资源要求提供相应域控用户账户和域口令进行验证,这时使用经跨域同步/映射器映射后的域控用户账户并搭配域口令去域服务器进行验证。当域控用户请求访问域外资源(例如信息系统)时,这时使用经跨域同步/映射器映射后的共享库用户账户并搭配相应口令去共享库服务器进行验证。这样通过跨域同步/映射器已完成域控用户与非域控用户的相互转换,实现跨域统一认证和访问控制。

3.2 跨域同步/映射机制

跨域统一认证与访问控制依赖于跨域同步/映射机制,跨域同步/映射机制是实现统一认证与访问控制前提,下文结合统一认证过程对跨域同步/映射机制进行阐述。

3.2.1用户同步

新用户注册到共享库之后会自动同步到跨域统一认证器中,始终保持用户的一致。如果域控用户是共享库用户的子集,域控用户访问域外资源将无需使用映射机制,如果共享库用户是域控用户的子集,共享库用户访问域内资源也无需使用映射机制,自然维护一对一映射关系。通常情况下对于企业内应用,完全可以以共享库为基础,而域控用户维护为共享库用户的子集,这样当共享库用户访问域内资源时,此共享库用户在域服务器中不存在时使用映射机制。

3.2.2域控用户与非域控用户映射粒度

AD域访问主体DU对非域内资源进行访问时通过跨域同步/映射器完成DU(域控用户)到非域内资源中访问主体SU(共享库用户)不同粒度的映射,包括AD域控用户组/角色到共享库角色(包括用户组/角色的用户直接到角色)的映射,对AD域访问主体聚类后再到共享库中角色的映射两种不同的映射粒度。两种具体映射又设计了三种不同的方式:一对一、一对多、多对多。这样就实现了AD域访问主体对共享库访问主体间映射的灵活多样,满足各种需求。

非域访问主体SU对域内资源进行访问时通过跨域同步/映射器完成AD域外非域访问主体SU(共享库用户,非域控用户)到AD域访问主体DU(域控用户)不同粒度的映射,包括共享库用户组/角色到域控用户(包括用户组/角色的用户直接到角色)的映射,对共享库访问主体聚类后再到AD域中角色的映射,特殊的临时映射三种不同的映射粒度。三种具体映射又设计了三种不同的方式:一对一、一对多、多对多。这样就实现了共享库访问主体对AD域访问主体间映射的灵活多样,满足各种需求。

设计保持具体映射唯一性(同时同地只能激活一种粒度下的一种具体映射方式)以避免映射主体之间权限的重叠与互斥。

3.3 跨域统一认证与访问控制过程

本文提出的跨域统一认证与访问控制方案的主要特点是实现了域内外访问控制实现方式的统一,跨域认证过程中,消除了域内与域外的差别,使已有的各信息系统独立的认证与访问控制过程基于共享库实现统一认证,同时又可以集成基于AD域的信息系统实现统一认证,便于将各类信息系统进行集成并实现单点登录。图3给出了当用户需要访问某信息系统进行某种操作时的统一认证具体过程,首先提交用户认证信息给安全控制器预判涉及到的共享库和AD服务器是否正常,然后预判正常情况下将用户信息进一步提交跨域同步/映射器,跨域同步/映射器将依据用户信息判断是否需要映射并完成相应映射后提交给具体的验证服务,验证服务完成验证后将验证结果提交给将要访问的信息系统,信息系统根据用户即时授权,完成对相应操作或资源的访问。

4 应用案例

企业内实施了门户系统,整合了大量信息和企业内部信息系统,基本实现了信息系统单点登录和用户统一管理。随着门户的深化应用,需要挂接和集成在门户上的信息系统类型和数量日益增加,其中门户系统上已有的信息系统采用基于数据库的统一用户管理系统实现了统一认证和单点登录,但是逐渐出现了基于AD域的信息系统需要挂接和集成在现有门户上,同时企业内客户端有可能使用域控用户登入域也有可能不登入域,不同类应用系统认证方式、访问控制策略和面向用户的差异,以及用户客户端的多样化对系统集成和单点登录带来了困难和挑战。如果非域控用户SU(共享库用户)试图登录基于域验证的信息系统A,该用户只需要登录门户系统,门户系统实现了跨域统一认证与访问控制,该用户登录门户系统即通过跨域同步/映射映射为相应域控用户DU,并提交DU给域服务器进行验证,如果验证通过,则提交DU给相应信息系统进行授权,如果成功授权,则SU可以对该信息系统进行相应操作,否则拒绝访问。如果域控用户DU试图登录某非基于域的信息系统B,该用户也只需要登录门户系统,该用户登录门户系统即通过跨域同步/映射器映射为相应共享库用户SU,并提交SU给共享库服务器进行验证,如果验证通过,则提交SU给相应信息系统进行授权,如果成功授权,则DU可以对该信息系统进行相应操作,否则拒绝访问。

5 结束语

本文通过引入共享库和跨域映射机制,实现跨域统一认证和访问控制来解决企业内不同类信息系统认证方式、访问控制策略和面向用户差异及用户客户端多样化对系统集成和单点登录带来的问题,提出了可行的方案并进行了实现。在今后的工作中,会更加深入的考虑通用性以扩展方案。

参考文献

[1] 张冠东,王绪本.基于活动目录的域用户认证系统的研究和设计[J].微型电脑应用,2005,21(5):5-6.

[2] 李志民.基于活动目录的访问控制系统设计[J].中原工学院学报,2004,15(2):33-35.

[3] 于剑,张辉,赵红梅.LDAP目录服务在Web开发中的应用[J].计算机应用,2003,23(10):82-83.

[4] 刘宏月,范九伦,马建峰.访问控制技术研究进展[J].小型微型计算机系统,2004,25(1):56-59.

[5] 林满山,郭荷清.单点登录技术的现状及发展[J].计算机应用,2004,24(zl):248-250.

[6] 马增红.基于Saml的统一身份认证和跨域单点登录的设计与实现[D].四川:电子科技大学,2008.

作者简介:

武鹏(1984-),男,硕士研究生,中海油研究总院,工程师;主要研究方向和关注领域:企业信息集成、信息安全、数据库。

李文倚(1971-),男,本科,中海油研究总院,高级工程师;主要研究方向和关注领域:企业信息集成、信息安全、数据库。

王文兴(1985-),男,硕士研究生,中海油研究总院,工程师;主要研究方向和关注领域:企业信息集成、信息安全、数据库。

猜你喜欢

跨域访问控制系统集成
为群众办实事,崂山区打出“跨域通办”组合拳
G-SRv6 Policy在跨域端到端组网中的应用
云的访问控制研究
实现跨域的最佳方案CSST
云计算访问控制技术研究综述
Wonderware系统软件在矿综合自动化系统中的设计和实现
以数据为中心的分布式系统自适应集成方法
统一用户与单点登录实现应用系统集成方法研究
基于云服务的文件跨域上传的研究与实践
校园骨干层网络交换机的访问控制技术