您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页高校网络与校园认证单点登录研究

高校网络与校园认证单点登录研究

来源:华佗养生网


高校网络与校园应用系统

认证单点登录研究

南通分公司

2011年6月

(一) 项目背景

目前我公司与越来越多的高校展开合作,以提升市场份额与用户粘性。最近在校园宽带发展中,我们发现越来越多的高校已经在“数字化校园”建设中实现了校内所有系统的统一门户单点登录功能。

在于高校谈及校园宽带认证时,不少高校提出需要将网络认证与高校现有单点登录系统进行融合,实现校园网络与应用系统的统一认证,因此作者对此进行了研究,并给出了解决方案,希望可以对于其他地市公司起到一定的借鉴作用。

(二) 需求分析

校园统一身份认证系统从用户角度来说,设计的目标必须一次认证实现了网络层面的认证和数字校园应用系统的同步认证。当访问多个采用统一用户管理和身份认证系统的多个管理系统时,用户只需要登录一次。而从管理者角度来说,系统须达到如下目标:

(1)支持Web技术框架,使得在对各个应用系统实施基于Web业务的应用集成(EAI/B2Bi)的时候,能够使用这个统一身份认证服务,进行身份认证。

(2)方便使用,能够提供统一、集中、有效的用户管理,能够尽可能地利用现有系统的身份认证模块及现有的用户设置和权限设置,尽量保护现有的投资,减少新用户设置和权限设置的费用,同时避免对现有系统进行大规模的修改。

(3)具有良好的扩展性和可集成性,不仅能支持现有的应用系统及用户系统,当有新的应用被部署或开发的时候,这个统一身份认证服务还可以作为其身份认证模块的形式工作。这就要求系统必须具有帐号关联的功能,能够记录已有应用系统的用户帐号与用户中心的用户帐号的对应关系,用户在进行统一身份认证服务之后,自动使用相应的应用系统帐号来访问应用系统。

(4) 应当备灵活和方便的使用模式,使用者可以通过多种方式自由地使用该统一身份认证服务。

同时在进行统一用户管理和身份认证系统的设计时,必须遵循统一用户管理、基于分级角色的权限管理、应用级的安全管理、统一证书管理和统一资源管理的设计思想,以实现数据集中、资源集中和应用集中的建设数字化校园的终极目标。

第1页

(三) 系统结构

校园统一身份认证系采用分层次的结构设计,主要分为数据层、展现层、应用层及系统集成层,同时划分为多个功能模块,其中核心子系统包:用户身份数据中心、身份及业务管理系统、访问控制系统三个部分组成。

用户身份数据中心包括目录服务器(主要存储用户认证信息及权限信息)和数据库(存储用户身份属性信息)。

应用及身份管理系统用来实现用户身份信息维护及应用管理,包括用户管理、授权管理、应用管理、安全监控管理等内容。

访问控制系统主要实现统一认证及单点登录,与门户系统形成统一身份认证系统的展现层。

同时,系统对于各成员应用站点统一的认证授权接口。认证系统与用户的接口同时B/S和C/S的模式。

系统结构如下图所示:

第2页

(四) 统一认证解决方案

统一认证管理为学校各应用系统等资源提供统一的认证服务,认证服务系统提供授权访问的机制,获取认证服务系统许可的第三方应用系统都可以集成到此平台进行统一认证。认证服务系统提供WebAPI、CA证书、LDAP标准规范等认证接口形式,可支持JAVA、.NET、Delphi、VB、VC、PHP、ASP、PB等等语言开发的系统。

认证信息采用随机码为密钥的对称加密机制,确保认证信息在传输过程中的安全。

用户统一认证过程采用SSL加密通道保证安全性。认证服务器负责SSL加密通道的建立。

(1) 对于口令认证方式,认证服务器配置为单向SSL加密通道,客户端不需要证书;

(2) 对于证书文件认证方式,认证服务器配置为双向SSL加密通道,客户端必须提供用户证书,并由认证服务器完成对用户证书和用户身份的校验;

客户端浏览器与认证服务器之间采用HTTPS协议,认证服务器与平台应用服务器之间采用HTTP协议。在用户认证完成后,可根据需要设定客户端浏览器对平台的访问是否继续走SSL加密通道,充分兼顾安全与效率。

1、采用LDAP实现用户身份管理

统一身份认证平台一个重要的功能就是要建立全校学生、老师和管理人员权威的身份中心,此身份可看作是“电子版的身份证”。在校园内,学生、老师和管理人员只需记住自己唯一的“电子身份证”即可,无需再记很多的账号和密码。

为了确保信息访问的安全,访问校园任何资源都需要先到用户身份中心进行认证,看用户提交的身份信息是否正确。用户身份存储在基于LDAP协议的Open LDAP目录服务中,从而保证认证的高效。

身份管理模块管理用户身份和成员站点身份。向用户提供在线注册功能,用户注册时提供必须信息(如用户名、密码)该信息即为用户身份的唯一证据,拥有该信息的用户即为统一身份认证子系统的合法用户;身份

第3页

认证模块还向成员站点提供在线注册功能,成员站点注册时需提供一些关于成员站点的基本信息,还包括为用户定义的角色种类(如普通用户、高级用户、管理员用户)。

2、采用统一权限控制

统一身份认证平台不但支持各认证应用系统通过自己的权限管理进行授权,也提供统一为认证应用系统授权功能。通过建立权限管理中心,把为认证应用系统的授权信息存储到数据库中进行统一管理。

为了实现权限令牌的高效认证,权限信息存储机制采用按用户组、角色、权限三个层级,对已经授权的用户信息和权限信息进行自动分析,然后按预定义的高效方式进行存储。

统一权限管理将实现集中的用户策略管理(Policy)。按照全校的组织结构,统一策略管理采用“组织” 、“单位(OU)” 、“人员” 、“工作组” 、“角色” 、“应用系统”等方式管理用户信息和应用系统信息,从而形成一个层次结构。包括管理部署域名、组织、用户(基本信息、帐号、口令、用户证书)、角色、工作组、个性化定制(模版、布局、门户组件)、系统资源配置、应用系统关联等信息。全校教职员工对内部的各种应用和信息,是否在其门户桌面上可见,是否允许其访问,是通过策略管理来实现的。策略管理是上述各个门户功能(安全、个性化展示、定制等)的基础。对内部的各种应用和信息的访问控制,是通过用户的安全级别实现;用户的安全级别可以区分为不同的域、组、成员,每个成员可以拥有不同的安全属性。策略管理模块的功能包含:

● 管理用户的安全信息

● 管理用户对应用资源的访问策略和权限信息 ● 管理系统的资源配置信息 ● 支持大容量,高性能的信息查询 ● 具有用户策略数据的备份和恢复机制

第4页

3、单点登录实现与改造方案

单点登录(SSO)是指一个用户身份只需进行一次鉴权便可以访问所有经授权的资源,而不需要多次认证。SSO机制能够减少人为错误,同时提高整个系统的安全性。

(1)对已有应用系统采用“伪”自动登录功能

大部分现有或旧有系统对用户的管理和认证基于专用或非标准的方式,这些应用也很难再改变,所以我们在不改动当前应用系统的前提下,采用一种“伪”Single Sign On的方式,即实际是登录二次,但由于门户自动帮用户实现了第二次登录,所以对用户来讲,他们感觉到的是一次登录,即对用户完全透明。这种方式是对现有和旧有系统最方便地实现单次登录的方式,而且有着不改变当前系统的巨大优势。实现这样的伪SSO,可以采用用户标志和密码的集中存储来实现。

目录服务器为系统提供了一个集中存储用户所有应用密码的场所。“统一登录”的软件可以利用它,在用户点击某一应用的URL(包括Web和非Web的应用)时,根据用户登录时的用户标志(目录树中用户的唯一标志uid属性),以及应用的URL (sso-appurl属性)可以从目录服务器中迅速搜索出用户访问该应用所需要的用户标志和口令(sso-userid和sso-passwd属性),然后执行后续的自动登录步骤。

(2)新建应用系统的SSO

对于WEB应用,单点登录的根本原则是,保持用户的会话状态(Session),只要用户经过一次鉴权,各个应用应该“记住”此用户已经成功鉴权并在各个应用中传播此消息。可以采用两种最常用的方式:cookie,URL Rewriting(可以将用户的会话状态扩展到URL的后面)。cookie是HTTP 1.1协议中的一个重要规定,可以使网站通过简单的方式与发出请求的browser之间进行通信,弥补了HTTP协议无状态连接的不足,是一种简便易行的方式。

根据上述原则,门户系统和其它应用系统的单点登录方案可以采用:某一个专用的认证代理进程,获取并保存用户的身份信息,在用户与各个应用系统的交互过程中,代替用户完成相应应用的认证过程。

第5页

用户通过平台认证后,第一次访问业务系统时,平台根据业务系统的配置自动生成业务关联页面,要求用户进行关联:

(1) 用户输入业务系统的用户信息(可能包括业务系统用户名和密码);

(2) 关联信息连同时间戳被平台的访问控制服务器进行加密和签名(业务系统证书加密,平台私钥签名,时间戳用于防止重放攻击);

(3) 加密签名的关联信息通过SSL加密通道,传递至业务系统访问前置,并由其进行解密验证后交给业务系统验证;

(4) 关联信息验证通过,则平台将用户统一帐户与业务系统用户信息建立对应关系,以备正常访问业务系统时使用。

(五) 核心技术LDAP介绍

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

LDAP其实是一电话簿,类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木。 不少LDAP开发人员喜欢把LDAP与关系数据库相比,认为是另一种的存贮方式,然后在读性能上进行比较。实际上,这种对比的基础是错误的。LDAP和关系数据库是两种不同层次的概念,后者是存贮方式(同一层次如网格数据库,对象数据库),前者是存贮模式和访问协议。LDAP是一个比关系数据库抽象层次更高的存贮概念,与关系数据库的查询语言SQL属同一级别。LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。

从另一个意义上 LDAP是实现了指定的数据结构的存贮,它是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。

就象Sybase、Oracle、Informix或Microsoft的数据库管理系统(DBMS)

第6页

是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库。要特别注意的是,LDAP通常作为一个 hierarchical数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。

现在LDAP技术发展得很快令人激动人心。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为

系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。

在LDAP中信息以树状方式组织,在树状信息中的基本数据单元是条目,而每个条目由属性构成,属性中存储有属性值;LDAP中的信息模式,类似于面向对象的概念,在LDAP中每个条目必须属于某个或多个对象类(Object Class),每个Object Class由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。

在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema,在LDAP中有许多系统对象类、属性类型、语法和匹配规则,这些系统Schema在LDAP标准中进行了规定,同时不同的应用领域也定义了自己的Schema,同时用户在应用时,也可以根据需要自定义Schema。这有些类似于XML,除了XML标准中的XML定义外,每个行业都有自己标准的DTD或DOM定义,用户也可以自扩展;也如同XML,在LDAP中也鼓励用户尽量使用标准的Schema,以增强信息的互联互通。在Schema中最难理解的是匹配规则,这是LDAP中为了加快查询的速度,针对不同的数据类型,可以提供不同的匹配方法,如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。

在LDAP中每个条目均有自己的DN和RDN。DN是该条目在整个树

第7页

中的唯一名称标识,RDN是条目在父节点下的唯一名称标识,如同文件系统中,带路径的文件名就是DN,文件名就是RDN。

LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。厂商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。与LDAP不同的是,如果软件厂商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。大多数的LDAP服务器安装起来很简单,也容易维护和优化。

第8页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务