符荣鑫,孔凡壬
(1.广西师范大学 图书馆,广西 桂林 541004;2.广西师范大学 教务处,广西 桂林 541004)
基于Shibboleth资源共享平台认证机制的研究
符荣鑫1,孔凡壬2
(1.广西师范大学 图书馆,广西 桂林 541004;2.广西师范大学 教务处,广西 桂林 541004)
以资源共享作为研究平台,以远程单点登录为研究对象,主要研究Shibboleth在共享平台中的认证机制,深入分析Shibboleth系统架构,阐述Shibboleth工作原理,设计应用于广西高校教学资源共享平台的用户身份认证系统,用以解决跨网域组织用户身份认证管理困难的问题。
Shibboleth;资源共享;身份认证;单点登录
目前,实现用户认证的机制有多种,常用的有LDAP、CGI-hook、CGI-SSL 、Authen、aleph-x、wrapper、SSO等。其中LDAP是轻量级目录访问协议,在台湾的国科会科资中心就是利用MetaLib与LDAP相结合达到认证用户的目的[1];而SSO则是单点登录是目前企业流行的资源整合认证解决方案之一;Shibboleth也实现了跨域的远程单点登录提供了良好的解决方法[2]44-47。在国内,北京大学开始采用Shibboleth技术,先后与北京邮电大学、华南理工大学、山东大学等多所大学间进行身份互相认证和互相授权试验[3]。
自2004年教育部实施质量工程以来,广西本科院校优质教学资源包括236个优质专业、396门精品课程,这些资源由多个跨地域的单位提供,各自拥有相对独立的身份认证系统,用户身份认证复杂度高。而实现优质资源共享,需要对用户身份进行验证,采用SSO身份认证机制实现一次登录、多资源访问,降低用户认证复杂性。建立友好的用户认证系统,是实现优质教学资源共享平台的有力保障。
单点登录(Single Sign-On,简称SSO)的特点是在多个应用系统中仅需登录一次就可访问所有相互信任的系统,因此十分适合与跨网域边缘系统中进行用户身份认证[4]166-168。SSO认证机制如图1所示:
SSO实现要求有如下主要功能。
2.1所有应用系统共享一个认证系统。统一的认证系统是SSO的前提之一。认证系统的主要作用是对用户进行登录认证,将用户的登录信息和用户信息库相比较,匹配则认证成功,认证系统生成统一的认证标识(ticket)交给用户,并对ticket进行校验,判断其有效性。
2.2所有应用系统能够识别和提取ticket信息。要实现SSO的功能,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统通讯,自动判断当前用户是否已经登录,从而实现单点登录。
始于 2000年的 Shibboleth项目由MACE(Middleware Architecture Committee for Education)小组领导开发,是一个基于标准的体系结构、策略框架及一套开源软件,用于支持相对独立认证系统组织之间的资源共享,提供跨组织边界的单点登录服务。主要应用于校园内WEB资源共享,以及校园间应用系统的用户身份认证[5]15-17。3.1 Shibboleth系统组件
Shibboleth包括两个主要组件身份提供者(IdentityProvider)和服务提供者 (Service Provider),同时还包括一个可选组件发现服务(Discovery Service)。各组件间使用SAML安全地交换关于用户、资源和授权等信息,Shibboleth使用三种比较常见的断言类型;认证、属性和授权断言[6],能够有效地在跨网域环境下进行用户身份验证。Identity Provider主要负责提供各种凭证和属性,对用户身份进行认证和用户属性进行管理。Service Provider主要负责访问资源安全方面的管理,对资源进行保护、用户访问资源进行授权和执行访问控制。Discovery Service以互动方式为用户提供Identity Provider选择的标准接口,可将用户提交的选择直接将用户重定向给对应的Service Provider。3.2 Shibboleth系统工作流程
用户在访问某个基于Shibboleth系统保护的网络资源时,资源服务器(Service Provider)向用户所在机构(Identity Provider)申请认证该用户身份,并根据认证结果决定是否允许该用户访问,认证通过后,共享服务根据自身授权的要求向 Identity Provider提交属性请求,并根据返回的用户属性决定用户可以享有的访问权限,实现授权,用户可以进行资源访问。Shibboleth系统工作流程如图2所示:
基于Shibboleth系统工作流程如下:
3.2.1 HTTP向Service Provider发出请求;
3.2.2 Service Provider将请求转发给 Discovery Service;
3.2.3请求转发后,Discovery Service提供用户统一的Identity Provider选择界面;
3.2.4用户提交 Identity Provider选择结果给Discovery Service;
3.2.5 Discovery Service转发用户提交信息给Service Provider;
3.2.6 Service Provider利用Identity Provider创建认证请求,通过浏览器发送给Identity Provider;
3.2.7 Identity Provider响应认证请求并返回登录界面给用户;
3.2.8用户向 Identity Provider提交证书进行用户身份认证,生成携带用户属性的认证断言;
3.2.9用户使用认证断言访问共享资源,完成整个认证过程。
广西本科院校优质教学资源平台的用户基本限定于广西区内各大高校的用户,访问资源大部分处于各大高校的资源服务器中,服务器管理便利,资源访问策略可以控制,为建立Shibboleth认证系统提供良好的软硬件环境。将Shibboleth系统统一部署于资源单位,利用Shibboleth统一集中管理用户身份,实现单点登录访问,突破IP地址的限制,提升共享平台整体化建设效果,提高资源共享率,降低用户管理认证成本,实现高效畅通的资源共享服务。
4.1基于Shibboleth资源共享平台用户身份认证机制设计
资源节点A、B、C构成资源共享平台,形成整体上相对统一的共享系统,可以通过公共网络进行相互访问,资源节点A、B、C可以是跨地域不同组织,拥有相对独立的应用系统,各个Service Provider可以是异构系统,在整个认证系统当中,需在其中一处譬如资源节点A中设立一台服务器UPortal作为访问门户,也就是Discovery Service,所有的异构系统均连接到UPortal上,通过UPortal这一媒介提供登录认证界面,互相转发 Service Provider和 Identity Provider的请求信息,完成用户身份认证的任务。各高校设立一台服务器作为 Identity Provider进行用户身份认证管理,其他的应用系统就作为Service Provider管理进行共享访问的资源。设计方案如图3所示:
4.2资源共享系统实现
在广西本科院校优质教学资源共享平台搭建中,采用两台服务器存放共享资源,作为Shibboleth中的 Service Provider,用一台服务器作为 Identity Provider,另用一台服务器作为UPortal,服务器均采用Windows 2003和Linux服务器操作系统,具体配置如下:
4.2.1 Identity Provider运行有软件 OpenSSL、Apache、Tomcat、Active Directory、Shibboleth IdP;
4.2.2ServiceProvider运行有软件 OpenSSL、Shibboleth SP、IIS、Apache;
4.2.3UPortal 运行有软件 OpenSSL、Tomcat、Apache。
4.2.4 Shibboleth主要文件配置
4.2.5 Shibboleth.xml文件配置
Shibboleth.xml配置文件定义了 Shibboleth的整体框架及各个相关子组件间的信息交互模式,涉及到Shibboleth的各个部分,是决定Shibboleth整体结构的最主要的配置文件。示例如下:
4.3资源共享系统身份认证的安全性
资源共享系统身份认证的安全性通过SAML标准和 SSL(Secure Socket Layer)协议来保证。SAML标准基于XML生成安全的信息交换架构,便于异构系统间进行安全通讯。通过SSL协议对所有的数据在发送到网络上之前对它们进行加密,到达后再解密,确保数据通讯过程中的安全。系统身份认证安全响应代码示例如下:
Shibboleth作为下一代互联网项目的用户身份认证系统,我们在“人文强桂”文献共享平台和优质教学资源平台中使用Shibboleth是安全有效的,解决跨网域环境下异构系统间实现单点登录认证机制的问题,降低用户管理认证成本,实现高效畅通的资源共享服务,同时与其它系统进行整合。
[1]吴明德.图书馆自动化与数位化[EB/OL].http://www.ncl.edu.tw/upload/P0970108002/cats/8.pdf,2007.
[2]江淇,王群.Shibboleth系统应用实例分析[J].数字图书馆,2007(9).
[3]陈萍,张蓓,吕洁.中间件实现跨校资源整合及技术优势介绍说明[EB/OL].http://www.edu.cn/zjj-6573/20080525/t20080525-298480.shtml,2008-05-25.
[4]李峰,郭晓军,于培民,曹中.企业门户应用整合中单点登录(SSO)的技术实现与应用[J].现代电子技术,2008(23).
[5]危蓉,廖振松,黄学鹏.Shibboleth口令的研究[J].微型计算机,2005(21).
[6]Scott Cantor,John Kemp,Rob Philpott,Eve Maler.Assertions and Protocols for the OASIS Security Assertion Markup Language V2.0[EB/OL].http://docs.oasis-open.org/security/saml/v2.0/saml/v2.0/saml-core-2.0-os.pdf,2008-03-15.
The Research of Literature Resources Sharing Platform Authentication Mechanism Based on Shibboleth
FU Rong-xin1,KONGFan-ren2
(1.Library,Guangxi Normal University,Guilin Guangxi 541004;2.Dean’s Office,Guangxi Normal University,Guilin Guangxi 541004)
Resource sharing as research platform,remote SSO as research object,this paper researches on Shibboleth authentication in resources sharing platform,analyses Shibboleth architecture,expounds Shibboleth principle,designs user authentication system used to Guangxi Colleges Teaching Resources Sharing Platform to solute the difficulties of cross-domain organization user authentication management.
Shibboleth;Resources Sharing;authentication;SSO
G250.71
A
1673-8861(2011)02-0143-04
2011-04-16
符荣鑫(1984-),男,广西宾阳人,广西师范大学图书馆助理工程师。主要研究方向:计算机软件与理论。
2010年度新世纪广西高等教育教学改革工程立项项目(2010J GA011)。