首页 > 范文大全 > 正文

基于Shibboleth的校园网统一身份认证系统研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Shibboleth的校园网统一身份认证系统研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:以校园网统一身份认证为研究平台,以远程单点登录为研究对象,主要研究Shibboleth在校园网中的认证机制,概述Shibboleth的特点,深入分析Shibboleth系统架构,阐述Shibboleth工作原理,利用Shibboleth在校园网建设中的优势,设计校园网统一身份认证系统解决方案,实现跨网域异构系统间用户的统一身份认证,解决跨域组织用户身份认证管理困难的问题。

关键词:校园网;Shibboleth;统一身份认证;单点登录;跨网域

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)16-3799-02

The Research of Campus LAN Unified Authentication System Based on Shibboleth

FU Rong-xin1, KONG Fan-ren2, YANG Shan-xi3

(1.Guangxi Normal University Library, Guilin 541004, China; 2.Dean's Office, Guangxi Normal University, Guilin 541004, China; 3.Guangxi Autonomous Region Communist Party School, Nanning 530021, China)

Abstract: Campus LAN unified authentication as research platform, remote single sign on as research object, this paper researches on Shibboleth authentication on campus LAN, summarizes the Shibboleth character, analyzes Shibboleth architecture, expounds Shibboleth principle, using the advantages of Shibboleth in campus LAN, designs campus LAN unified authentication system used to achieve cross-domain heterogeneous user unified authentication and solute the difficulties of cross-domain organization user authentication management.

Key words: campus LAN; shibboleth; unified authentication; SSO; cross domain

近年来,随着校园网信息化建设的不断发展,校园网建立起多个应用于不同领域的系统,而每个应用系统相互独立,形成信息孤岛,每次用户使用应用系统都要进行相对独立的身份认证,对用户而言提高了认证复杂度。因此,在域内建立用户身份统一认证系统就可以很好地解决这一问题。采用单点登录身份认证能实现一次登录、全体访问,这样能很好的降低认证复杂性,提高校园网身份认证系统的效率。

1 单点登录认证机制

单点登录(Single Sign-On,简称SSO),是目前流行的用户身份统一认证解决方案之一,它的特点是在多个应用系统中仅需登录一次就可访问所有相互信任的系统,因此十分适合于跨网域边缘系统中进行用户身份认证[1]。

SSO实现要求有如下主要功能:

1) 所有应用系统共享一个认证系统。统一的认证系统是SSO的前提之一。认证系统的主要作用是对用户进行登录认证,将用户的登录信息和用户信息库相比较,匹配则认证成功,认证系统生成统一的认证标识(ticket)交给用户,并对ticket进行校验,判断其有效性。

2) 所有应用系统能够识别和提取ticket信息。要实现SSO的功能,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统通讯,自动判断当前用户是否已经登录,从而实现单点登录。

2 Shibboleth架构分析

Shibboleth定义了一种机构间的合作架构,通过一个机构联盟可以查询所有的合作单位[2]。当用户在访问某个受Shibboleth保护的网络应用系统的时候,系统向中间件和机构联盟向用户所在机构申请认证该用户身份,并根据认证结果决定是否允许该用户访问。认证通过后,应用系统根据自身授权的要求向Identity Provider提交属性请求,并根据返回的用户属性决定用户可以享有的访问权限,实现授权[3]。

2.1 系统组件

Shibboleth包括两个主要组件身份提供者(Identity Provider,简称IdP)和服务提供者(Service Provider,简称SP),同时还包括一个可选组件发现服务(Discovery Service,简称DS)[4]。各组件间使用SAML安全地交换关于用户、资源和授权等信息,Shibboleth使用三种比较常见的断言类型;认证、属性和授权断言[5]。

2.1.1 Identity Provider

Identity Provider主要负责提供各种凭证和属性,对用户身份进行认证和用户属性进行管理。当用户请求访问受限资源时,Identity Provider会发送验证声明或属性声明给Service Provider。

2.1.2 Service Provider

Service Provider主要负责访问资源安全方面的管理,对资源进行保护、用户访问资源进行授权和执行访问控制,通过Identity Provider发送来的声明决定用户是否获得资源访问权限。

2.1.3 Discovery Service

Discovery Service以互动方式为用户提供Identity Provider选择的标准接口,具有高度可定制性,可将用户提交的选择直接将用户重定向给对应的Service Provider。Discovery Service可由资源控制,也可作为中心共享服务运行。

2.2 系统工作流程

Shibboleth系统工作流程[6]如下:

(1) HTTP向Service Provider发出请求;

(2) Service Provider将请求转发给Discovery Service;

(3) 请求转发后,Discovery Service提供用户统一的Identity Provider选择界面;

(4) 用户提交Identity Provider选择结果给Discovery Service;

(5) Discovery Service转发用户提交信息给Service Provider;

(6) Service Provider利用用户选择的Identity Provider创建认证请求,通过浏览器发送给Identity Provider;

(7) Identity Provider响应认证请求并返回登录界面给用户;

(8) 用户向Identity Provider提交证书进行用户身份认证,生成携带用户属性的认证断言;

(9) 用户使用认证断言访问共享资源,完成整个认证过程。

2.3 安全性

Shibboleth安全性主要靠SAML和SSL(Secure Socket Layer)来实施[7]。SAML基于XML,可以用来生成安全的信息交换架构,将传输和共享安全信息的相关功能标准化,便于异构系统间进行安全通讯[8]。SSL是安全套接字协议,为数据通讯提供安全访问支持。通过两个协议的支持,shibboleth通讯有可靠的安全保障。

3 系统设计方案

信息化的校园网拥有多种应用系统资源,不同的应用系统采用的技术各不相同,在逻辑上具有相对独立性,形成一个个的信息孤岛,尤其是身份认证系统更是互不兼容,但应用资源在本地,服务器管理便利,资源访问策略可以控制。因此,将Shibboleth系统统一部署于资源单位,可提升校园网应用系统资源整体化建设效果,提高应用系统资源的共享率,降低用户认证管理成本,实现高效的应用系统资源共享访问服务。

3.1 系统设计方案

整个系统解决方案设计如图1所示。

校园网拥有机构A、B、C……等机构网络,形成整体上相对统一的共享局域网,可以通过网络进行相互访问,机构A、B、C……可以是跨地域的组织形式,具有相对独立的应用系统和身份认证系统,在Shibboleth中称为Service Provider。在整个认证系统里面,Shibboleth在一处譬如机构A中设立一台服务器UPortal作为访问门户,也就是Discovery Service,所有的异构应用系统均连接到UPortal上,通过UPortal这一媒介提供登录认证界面,互相转发Service Provider和Identity Provider的请求信息,完成用户身份认证的任务。

校园网中每一个具有独立局域网的组织都应设立一台服务器作为Identity Provider进行用户身份认证管理,其他的异构应用系统就作为Service Provider管理进行共享访问的应用系统资源,用户进行访问时以UPortal作为起点进行登录验证,而后按照Shibboleth工作流程完成验证,验证成功则允许用户访问系统资源,否则拒绝访问,可以良好的限制非授权用户获得共享资源,保护资源的安全和保障授权用户获得资源的权利。

3.2 系统实施实验

实验环境模拟校园网异构应用系统环境,采用两台服务器作为应用系统提供可访问的资源,成为Shibboleth中的Service Provider,用一台服务器作为Identity Provider,另用一台服务器作为UPortal,服务器均采用Windows 2003 服务器操作系统,具体配置如下:

(1) Identity Provider运行有OpenSSL(Win)、Tomcat、Active Directory、Shibboleth IdP;

(2) Service Provider运行有OpenSSL(Win)、Shibboleth SP、IIS;

(3) UPortal运行有OpenSSL(Win)、Tomcat。

实验中,无论用户直接访问任何Service Provider服务器控制管理下的资源,均需要进行用户身份认证,只有认证通过,才可以继续进行资源访问,否则访问被拒绝,无论资源中是否自身带有用户验证系统,Shibboleth都可以对资源访问进行很好的控制。

实验证明,校园网应用系统资源中的用户身份认证可以利用Shibboleth统一起来集中管理,只要在平台中登录一次就可访问Shibboleth控制下的所有数据库系统,实现远程单点登录访问,并且突破IP地址的限制,由用户机构自行管理用户验证工作,更有利于应用资源的管理和维护,提高资源共享率,实现高效畅通的应用系统资源共享访问服务。

4 结论

认证系统设计以校园网异构应用系统统一身份认证作为研究平台,采用远程单点登录的方法,在Shibboleth的基础上设计适用于校园网应用系统资源管理的用户身份认证解决方案,统一认证用户身份,集中管理用户权限,解决校园网异构应用系统用户身份认证管理困难的问题,提升校园网应用系统资源整体化建设效果,提高应用系统资源共享率,降低用户管理认证成本,实现高效畅通的应用系统资源共享服务。这套方案采用了Shibboleth系统,管理科学有效,认证安全可靠,在实验环境下取得了良好的认证效果,证实在校园网异构应用系统管理中使用Shibboleth是安全有效的。

参考文献:

[1] 孙思纬,夏洪山.基于Shibboleth 和SAML 的跨校统一身份认证系统[J].技术与方法,2010,(5):65-71.

[2] 刘维红,杭剑平.联合身份认证及在校际资源网的应用[J].信息安全与通信保密,2010(1):126-129.

[3] 邱仕坦.基于SAML 的校园联合身份认证的研究[J].福建电脑,2009(11):90-91.

[4] 李峰,郭晓军,于培民,等.企业门户应用整合中单点登录(SSO)的技术实现与应用[J].现代电子技术,2008(23):166-168.

[5] 陈萍,张蓓,吕洁.中间件实现跨校资源整合及技术优势介绍说明[EB/OL].[2008-05-25]./zjj_6573/20080525/t20080525_298480.shtml.

[6] Scott Cantor,John Kemp, Rob Philpott,et,al.Assertions and Protocols for the OASIS Security Assertion Markup Language V2.0[EB/OL].[2008-03-15]./security/saml/v2.0/saml/v2.0/saml-core-2.0-os.pdf.

[7] 吴明德.图书馆自动化与数位化[EB/OL].www.ncl.edu.tw/upload/P0970108002/cats/8.pdf,2007.

[8] 江淇,王群.Shibboleth系统应用实例分析[J].数字图书馆,2007(9):44-47.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文