基于LDAP的校园网统一身份认证的设计与实现

时间:2022-03-22 02:23:51

基于LDAP的校园网统一身份认证的设计与实现

摘要:随着高校校园网基础设施的不断建设与升级,基于校园网的应用也得到了迅速发展,为了保证各个应用系统之间用户数据的一致性及易操作性,迫切需要校园网对统一身份认证系统的支持。文章从ldap协议出发,描述了典型的校园网络中如何实现多系统之间的统一身份认证

关键词:统一身份认证;LDAP;Portal;校园网

中图分类号:TP393 文献标识码:A 文章编号:1009-2374(2011)10-0035-02

随着数字化校园建设的不断深入,网络信息在高校扮演着越来越重要的角色。教务系统、网络课堂、邮件系统和电子图书馆等业务系统极大地方便了我们的工作和学习,为保证系统的安全性,各个系统都要使用用户名和密码登录,当人们在使用电脑时,最普通的也要记住几套不同的用户名和口令,这给用户访问各个系统增加了很大的麻烦,更重要的是,随着业务系统的增多,由于系统本身之间的特点,导致了许多信息孤岛, 由此我们有必要有一个统一管理这些业务的应用系统,通过这个系统,用户能够更方便快捷地访问各种授权资源,使这些信息孤岛联系起来,这就是统一身份认证系统。

一、LDAP协议简介

LDAP(轻量级目录访问协议,L i gh twc i ghtDirectory AecessProtoc01)是基于X.500标准的,访问X.500目录需要某种协议,例如: 目录访问协议(DAP)。然而,DAP需要大量的系统资源和支持机制来处理复杂的协议。LDAP仅通过使用原始X.500目录存取协议(DAP)的功能子集而减少了所需的系统资源消耗,而且可以根据需要进行定制。

二、统一身份认证系统的体系结构

统一身份认证系统的体系结构如图所示,由图可知它的基本工作机制。统一身份认证系统从结构上大体可分为三个部分:身份鉴别模块、访问控制模块和身份认证元目录(存储用户信息)。首先用户通过账号密码认证、数字签名认证、卡认证等多种认证方式登录到统一身份认证系统进行身份鉴别,身份鉴别模块访问身份认证元目录,把用户提交的信息与用户目录里面存储的信息进行验证,如果否,将直接返回失败信息;如果验证成功,则进入访问控制模块,访问控制模块同样访问身份认证元目录,根据用户目录里存储的信息执行相应的策略、分配相应的权限,这样用户就可以方便的访问统一身份认证系统所认可的应用系统和网络服务,无需再次认证。

技术方面,我们采用Portal门户作数字化校园的入口,利用客户端无处不在的浏览器就可以问各种所需的服务。Portal信息平台服务器负责校园网中种服务信息的展示,集成了校园网内各个服务器向信息平服务器所提供的入口,并且提供页面与服务定制的功能,过在LDAP 中读取用户的各种认证和授权信息,认证通过后为用户分配基于角色的令牌,用户获得的操作令牌后由Portal根据所持有的凭证同需访问的相关模块进行交互,并将用所需信息展示在页面上。

三、统一身份认证系统的实现

将公共数据库系统同之前单个开发的几个主要的应用系统集成进来成为必须解决的问题,已运行的几个应用系统包括图书管理系统、电子邮件系统、一卡通管理系统、就业管理系统。

一卡通管理系统是学校使用最广泛的一个系统,其中包含了就餐系统、考勤系统、挂失解挂系统。一卡通系统采用基于Microsoft.net的系统架构,前端服务程序采用IIS6.0+ASP.net方式,后端采用0raclc数据库存储卡的各种信息(包括消费记录、密码、权限等),认证方式采用教师的工号和学生的学号,为了与现有的系统进行集成,建立公共数据库到一卡通系统的单点登录,也就是用户通过公共数据库的Portal认证后,只需直接点击一卡通系统超链接就可以直接进入一卡通系统。为实现此目的,在一卡通系统Web服务器上安装SUN PortalIdentity Server的Agent,由Agent负责同公共数据库的Identity Server进行交互,使一卡通系统信任从公共数据库转过来的查询请求。这主要通过以下方式来实现:将工号或学号的明文同加密的密文及时间戳传输给一卡通系统,一卡通号对比,如果成功匹配,则认为请求合法,由Web服务器通过调用相关接口,返回合适的操作界面内嵌在公共数据库的Portal页面中,此处时间戳的作用主要是为了防止重放攻击。但如果用户不是从公共数据库的主入口进入而直接访问校一卡通中心的网站,则需要用到如下的方式:在一卡通的主页上输入用户的工号或学号及密码就可以进入一卡通系统,为了使一卡通系统的密码同公共数据库的密码统一,需要到公共认证中心进行认证。为了实现这种想法,开发了组件LdapAuth,一卡通Web服务器通过调用此组件,验证用户名与密码的合法性,如验证通过,则进行相关操作,同时将用户的密码用Md5进行散列,并在本地系统中保存备份,以便到认证中心出现网络故障时,用户也可以顺利登录。就业管理系统和图书管理系统的实现细节同一卡通系统类似。

学校的电子邮件系统采用Eyou公司的邮件系统,为了使电子邮件系统同学校的公共数据库系统进行集成,扩展了LDAP目录服务中的用户的属性域,添加了Usermail属性,使之对应用户的电子邮件。由于邮件系统内部采用的也是LDAP系统,单点登录的实现同上面的实现方式有些类似,在Portal系统与邮件系统之间维护了一个共享密钥,此密钥同前面的密钥可相同也可不相同,当用户通过Portal认证后并点击电子邮件的超链接时,则Portal系统从本地LDAP中查询用户的电子邮件地址,并将用户的电子邮件明文与加密的密文以及时间戳传输给邮件系统,邮件系统根据上面的算法检查合法性并为用户提供服务。在实现统一认证时,让Eyou公司进行了二次开发,主要思路如下:

在邮件系统自带的LDAP中扩展用户的属性,增加uid属性,并由成功登录的用户输入统一认证的操作字段工号或学号,并将工号/学号同其Email地址进行绑定,当用户通过Webmail或Pop3与Smtp登录时,系统则根据其Email 地址从本地的LDAP数据库中查找用户E mail地址对应的工号/学号信息,并将用户的工号/学号与密码通过相关接口发送到认证中心进行认证,认证通过后进入用户的电子邮箱。

四、安全性讨论

以上系统到LDAP认证中心的认证基本上都是以明文方式进行,如果需要获得进一步的安全性,在各应用系统认证接口上采用SSUTLS即可以实现加密的认证,但倘若并发认证的用户数量较大,加密这些信息可能会占用一定的系统资源。

五、总结

通过以上的实现方式,已经基本上建立了全校的统一身份认证体系,网络用户只需要维护一套用户名与密码就可使用学校的各个系统,方便了用户的使用。用户丢失密码后只需要到网络信息中心更改密码即可,而不需像原先一样用户往往说不清楚修改什么密码,造成密码修改错误。

参考文献

[1]吴晓斌,张月琳.基于LDAP的校园网统一身份认证系统设 计m.华中科技大学学报(自然科学版),2003,31(增刊l

[2]刘持莲,许华虎,杨振宇.基于LDAP和SOAP的校园统一身 份认证系统的研究与实现m.计算机应用与软件,2006,(12l

作者简介:蔺颖锋,中国联通唐山市分公司工程师;樊重华,中国联通唐山市分公司工程师。

上一篇:基于四层的数据交换体系结构的实现与性能分析 下一篇:浅谈政府门户网站WEB的防篡改技术应用