校园网统一认证系统的设计 计算机与信息技术

来源:百度文库 编辑:神马文学网 时间:2024/04/27 18:25:25
校园网统一认证系统的设计
张霞  秦绪海
摘  要  该文详述了统一认证的系统设计原理,并对目前国内外常见的几种统一认证系统进行分析,总结其中的技术要点和设计流程,说明数据管理的逻辑统一和单点登录是实现统一认证的核心问题,基于对这两种技术的研究,给出了一个校园网统一认证系统的设计方案。
关键词  统一认证  单点登录  SSO  LDAP  Passport
1         引言
当用户访问网站时,出于安全的考虑,许多网站的服务如电子邮件、论坛、文件下载等一般都要对用户进行认证,确定用户的身份后赋予用户相应的访问权限。随着用户申请服务的增多,用户需要记忆的用户名和密码也在增多,每进入一项服务都要进行认证,不仅耗费时间而且容易遗忘密码;另外,网站维护人员对各种服务需要建立相应的用户认证与信息管理系统,分布于各服务器上的用户数据不仅浪费维护人员的时间,而且过于分散的用户数据不利于统计和管理,无论是商业网站、企业网还是校园网,都面临这个问题。用户需求与管理要求促使用户认证趋于统一,这就产生了统一认证。
统一认证的目标与系统特点为:
⑴      一认证以用户层、维护层和管理层三个层面上的安全和操作简便为目标。用户层只需一个用户名和密码,进行一次登录就可以访问统一认证范围内的所有网站服务;维护层可以统一设计用户的信息格式,集中管理用户信息;管理层可以更快捷地获取用户动态,分析用户需求,进而发展更新颖,丰富的服务。
⑵      一认证系统应提供认证过程的透明性和网站服务转换的无缝链接。
⑶      目前瘦客户机的概念已经深入软件体系结构设计之中,B/S结构成为流行设计趋势,BBS,E-MAIL,ftp等传统服务已经逐步转向WEB方式,统一认证也应该体现这种瘦客户机设计思想。
2         系统设计
软件体系结构通常分为三个层面:数据管理层,业务逻辑层和应用表示层。我们也从这三个方面来解析统一认证系统的设计。统一认证的两个核心问题是数据的逻辑统一和单点登录(SSO,Single Sign-on)的实现,它们分别位于数据管理层和业务逻辑层。
(1)             数据管理层:这一层实现对用户信息存储和管理的逻辑统一,使统一认证系统管理下的所有用户信息能够呈现一个完整的逻辑视图,消除分散管理的混乱,实现统一的管理标准和可扩展的数据结构。目前在此方面的数据管理技术已经比较成熟,常见的国际标准是轻量目录访问协议LDAP(Light-Weight Directory Access Protocol)。
LDAP是IETF制定的网络信息管理协议,可以方便地对用户数据、网络资源等各类信息进行统一、有效地管理,一般布置在Unix或Linux服务器平台中,它可以使用数据库进行数据存储,加快数据访问速度和提高安全性;通过接口与各种数据库进行交互,具有较高的灵活性。比较常见的软件中非商业性的有OpenLDAP,商业性的有Netscape Directory Server、SUN ONE Directory Server、Microsoft Active Directory等。其中Active Directory是Microsoft公司依照LDAP标准设计的基于Windows服务器平台的目录服务,通过存储网络上对象的信息,允许网络用户通过单个登录过程访问网络任意位置上允许访问的资源,为网络管理人员提供了直观的网络层次结构视图和对所有网络对象的单点管理。
数据库的应用是通过制定用户管理信息的规范,设计相应的表结构,实现数据的存储,并通过数据库提供的接口规范编写各种应用模块,此外,数据库还提供了较为完善的安全性、数据完整性等服务。通常使用的应用数据库有ORACLE、SQL Server、INFORMIX等。
(2)             业务逻辑层:这一层主要实现统一认证的核心服务,包括对数据的操作,用户的认证服务和通信服务,目标是实现单点登录。
数据操作部分依照数据层提供的接口规范编写相应模块即可;
用户认证部分既可以响应由用户通过WEB访问进行的认证服务调用,也可以响应非WEB的访问,如用户端的OUTLOOK、服务器间联合认证调用等。认证后通过对用户认证信息的传递,使用户以合法身份访问各网站的服务。
单点登录在时间上涉及注册、登录、访问和退出四个过程,注册和登录应保证信息传送的保密性和认证过程的透明性,认证的机制有:Kerberos,PKI,一次性口令,数字证书和硬件鉴别等。访问过程应实现对认证信息的透明处理和对网站的无缝连接,各项服务的退出应体现透明性。在空间上涉及单个认证系统和多个认证系统下的认证访问,主要运用分布式处理技术,实现认证信息的透明传输与交换;在用户端涉及到使用Cookie保留认证信息,或是由服务器侧将认证信息组装在HTTP头部进行重定向等技术。
(3)             应用表示层:提供用户统一的认证接口,应体现WEB访问的主流设计思想,便于开发新业务,提供针对各种应用服务的认证功能,如WWW,E-MAIL,BBS等。
3         国内外典型案例分析
目前关于用户统一认证的研究已经进入到实际应用之中,技术的焦点主要集中在单点登录上,商业性的产品有IBM的Tivoli Global Sign-On,Novell的Secure Login,RSA的ClearTrust,Oracle9iAS Infrastructure,Microsoft的.Net Passport SSI等。一些组织和论坛也提出了一些规范和技术,如Liberty Alliance Project Phase 2,OpenLDAP等。另外,Web Service近几年来逐步流行,它使用XML与HTTP进行对象描述与信息传送,实现了跨平台性和面向对象的分布式处理,单点登录也有在Web Service中集成的趋势,目前Microsoft和SUN等公司都在致力于这方面的研究。
下面就一些典型案例进行分析。
(1).NET Passport SSI(Single Sign-in):它通过.NET Passport服务建立集中认证机制,用户可以通过在HOTMAIL、MSN上注册电子邮件,登录Passport网站或Passport合作站点等方式建立Passport账号。
在获得Passport帐号后,可以在Passport及其合作站点进行单点登录,实现无缝的链接访问,合作站点的登录认证都通过HTTP重定向功能集中到Passport网站完成,其中采用SSL/TLS,Triple DES加密算法等安全措施保证信息安全,认证通过后,将认证信息传送至客户端,以Cookie形式保存,用户访问合作站点时,在访问信息中附带Cookie一起传送给合作站点,合作站点中有Passport Manager Object进程用来检查Cookie信息,鉴别用户合法与否,合法用户被授权访问网站信息,用户完成访问后,通过选择Log out,重定向到Passport服务器,由Passport通知各受访站点退出,各受访站点同时删除客户端的Cookies。
Passport认证过程示意框图如下:

图1 Passport认证过程示意图
Passport合作站点的开发基于Microsoft提供的SDK,可将Passport部署在Windows,Linux或Unix等服务器平台上,由Microsoft提供安全密钥和站点ID,使用Passport服务器进行集中式认证服务。
Passport目前已进入商业运行,且拥有相当规模的注册用户。但是它也有一些潜在的问题,如实现集中式认证后,各合作站点的用户认证都在Passport网站的管理之下,一旦认证时Passport网站无法连通,则不能提供后续服务;使用Cookies保存和传递用户信息会引起用户登录信息的泄密,如用户使用公共计算机上网,忘记退出Passport或使用了自动登录选项,就会造成账号盗用;Passport未提供与其他身份认证服务进行联合的机制,使得其它具备认证服务的网站不可能参加Passport,也不能联合进行统一认证。目前Microsoft正在推出TrustBridge技术以解决不能与其它认证服务站点联合的问题,并通过支持Kerberos认证机制增加安全性。
(2)Liberty Alliance Project:它是由RSA、SUN、Novell等多家公司制定的联合认证标准,基于互联网上已存在的认证系统而提出,目的是为了简化用户登录和访问的过程,其实质也是单点登录,目前它的版本为Phrase 2,其内容涉及到联合认证,Web Service下的认证管理等技术标准,它没有Passport集中式的统一认证系统,服务站点(Service Provider)与认证站点(Identity Provider)之间建立一对多或多对多的合作关系,通过用户设定各网站账号的映射关系,建立用户的单点登录服务,使用HTTP重定向、URL编码和SAML(Security Assertion Markup Language )进行认证信息传递,不在客户端存放Cookies认证信息。目前,SUN、AOL等公司已开发出基于此规范的产品,
当用户登录服务站点时,服务站点向用户提供建立联盟的认证站点链接,由用户选择一个认证站点进行登录验证,验证时询问用户是否建立服务站点的账号联合,用户选择是后站点之间完成账号联合,并将用户重定向到服务站点开始服务,以后用户无须再进行账号联合,可以通过在认证站点单点登录之后访问服务站点,也可以在访问服务站点时选择认证站点进行登录,再通过站点之间使用SOAP协议传递认证信息实现服务访问的无缝链接。
用户退出时,若在认证站点时,则由认证站点通过HTTP重定向和GET指令通知各服务站点退出,在服务站点时,则通过HTTP重定向通知认证站点等退出;另外,也可采用SOAP进行通信完成退出过程。
其余的SSO软件开发,在Unix或Linux平台下,有的采用RPC或SUN的RMI,EJB等,例如通过在客户端执行Java applet,实现客户端的计算,完成密钥交换与认证,采用RMI在实现Java对象的各站点之间进行认证信息传递等。
4         可行性方案设计
校园网是一个提供多种服务的大系统,有必要建立一个集中式的认证系统,提供对E-MAIL,BBS,FTP,电子交易及管理等的认证服务。针对校园网用户的地理位置、知识层次比较集中,用户数据可采用大型数据库支持的LDAP进行管理;业务逻辑层可分为数据操作、用户认证、服务器间通信和用户通信等子模块分别实现,采用Web Service的方式,对各服务用XML进行描述,以支持网络调用。由于校园网多为公共机房、实验室,认证信息不宜采取在客户端保留的方式,可采用HTTP重定向和URL编码重组,且应在安全和稳定机制上采取必要措施,保证认证服务的高效、稳定。应用表示层采用XML/HTTP编写认证的Web服务,与业务逻辑层各模块之间使用SOAP协议进行信息传递,实现子模块的调用。基于以上技术分析,我们可以设计出如下图所示的校园网统一认证系统。

图2 校园网统一认证系统
针对以后认证系统的扩展,如与其他校园网、学术网站的联合统一认证,可借鉴Liberty Alliance Project的规范标准,在业务逻辑层开发相应的功能子模块,扩展业务能力。
5         结束语
统一认证的目的是为了提高用户上网的流畅性,同时便于网站集中管理用户信息,以提供更强的安全性和更多、更好的服务。校园网统一认证系统的设计与进一步实现,可以大大提高校内外用户的上网质量,为校园网的运行提供可靠保证。下一步的工作包括对用户安全性的进一步提高,如用户为记忆方便而设置简单密码而可能造成访问权的暴露,此外对用户在各服务网站上的登录认证还需要做进一步的性能分析。
参考文献:
[1]     Microsoft,.NET Passport Service Guide Kit Version 2.5.
[2]     IBM, Tivoli Global Sign-On, 2003.http://www.ibm.com/software/tivoli/products/gso
[3]     Novell, NSure, 2003.http://www.novell.com/solutions/nsure
[4]     IETF,RFC2251 Lightweight Directory Access Protocol (v3).
[5]     The OpenLDAP Project, OpenLDAP 2.1 Administrator’s Guide,2003,http://www.openldap.org/doc/admin21/intro.html
[6]     About Active Directory,http://msdn.microsoft.com/library/default.asp?url=/library/en- us/netdir/ad/about_active_directory.asp.
[7]     Liberty Alliance Project tutorial draft,http://www.projectliberty.org/