数字校园统一认证平台的研究与应用
2016-10-17李熹王林
李熹+王林
摘 要:随着云计算、互联网技术对教育信息化的渗透影响,服务于教育教学和教育活动的各类业务应用系统越来越多,但这些业务应用系统都不同程度建有独立的身份认证系统。针对目前数字校园建设过程中出现的身份认证“信息孤岛”问题,本文通过整合江西省基础教育资源网的全省实名教师信息和中小学生学籍系统的信息,结合OAuth开放授权协议,构建标准、安全的数字校园身份认证开放接口和平台接入规范,为其所有业务应用系统提供集中身份认证服务和接入管理服务。
关键词:数字校园 统一身份认证 OAuth协议
随着现代信息技术的迅猛发展以及对教育信息化的不断渗透,学校利用现代信息技术手段构建校园信息化环境,数字化、智慧化改造教育教学环境,促进学科教学与信息技术的深度融合,变革教育教学模式的需求不断提高。就此而言,可以说数字校园建设是伴随着信息技术的发展而提出的。目前,数字校园的建设水平已经成为衡量一个学校现代教育技术运用水平的重要标志。
但在数字校园建设的初期,主要采用以校为单位,按照“按需、逐个、独立”的建设模式进行分散,结合学校自身信息化的建设需求,通过建设多个业务应用系统以期达到一定的应用效果。但是随着信息化在学校教育教学活动中不断深入以及与教育教学的融合,一些问题也不断显露出来,主要突出问题有:缺乏总体规划、顶层设计等原因,导致各类数字校园应用系统都建设独立的身份认证系统,系统之间不能共享用户数据,用户数据得不到及时更新,给用户的使用带来极大的不便;缺乏统一的应用系统接入规范,导致各应用系统的数据交互性、易用性不够,很难进行数据交换;缺乏数据信息标准规范,产生大量“信息孤岛”,数据的准确性和科学性不够,严重影响决策效率。
基于数字校园建设现状和背景,建设一套省级数字校园身份认证开放平台非常有意义,身份认证开放平台通过建立权威的、实名的基础用户数据库,对各类业务应用系统采用统一的认证方式进行集成,实现用户只需要使用一套账号和密码即能访问不同应用系统的效果。同时提高数字校园平台的易用性,保证用户认证信息的正确性、完整性和安全性,有效解决各种业务应用系统之间用户数据同步和更新等问题,从而减轻各数字校园系统用户认证过程中的麻烦和系统管理成本。
一、身份认证平台分析
数字校园身份认证开放平台是打造全省数字校园云平台中的核心部分,通过建立该平台可以保护全省数字校园平台中身份认证信息的权威性和隐私性,同时可以限制其他各种应用程序之间的访问权限,为方便用户应用数字校园软件进行教学起到关键作用。根据对全省数字校园平台对身份认证的业务需求以及现有的软件开发基础和经验,对全省数字校园身份认证开放平台提出如下的需求:系统按照浏览器/服务器模式进行设计,基于ASP.NET2.0平台和MVC系统框架进行软件开发。通过统一的数据规范标准,建立全省数字校园身份认证基础数据库,实现对学校、教师和学生信息的统一管理。基于OAuth授权协议进行系统认证授权过程设计。第三方应用接入商可以通过具有权限的接口批量获取学校、教师和学生的信息,具体用户可以通过授权协议,允许第三方应用程序从数字校园身份认证平台中获取个人的隐私数据。全省的数字校园应用都需要与身份认证平台进行对接,是所有数字校园应用的主要入口,因此数字校园身份认证开放平台需要提供应用程序接口,并且开放接口必须具有跨平台性和兼容性。由于身份认证开放平台是数字校园应用程序的入口,因此需要在接口的调用权限上进行管理,并且做到有较高的安全性和可靠性。
在构建平台过程中,用户与第三方应用、开放平台之间相互信任、交互的安全性是平台商需要考虑的因素。目前,业内开放平台用户身份信任机制主要采用OAuth授权方式。OAuth授权方式为客户端提供了一种代表资源拥有者访问受保护资源的方法。在客户端访问受保护资源之前,它必须先从资源拥有者获取授权,然后用访问许可交换访问令牌。客户端通过向资源服务器出示访问令牌来访问受保护资源。
二、开放平台设计
数字校园开放平台的架构设计主要采用的是分层架构的设计理念,将系统的总体架构分为数据层、认证服务层、服务接口层和应用接入层。其各层的主要功能如下:
在数据层,依托江西省基础教育资源网的实名教师数据库和中小学生学籍管理系统,按照教育部制定的教育信息化行业标准,形成标准、规范的学校数据库、用户数据库,将教师用户和学生用户进行统一规范、统一存储。
在认证服务层,基于数据层提供的基础数据库,建立身份管理、身份认证、授权管理和安全审计服务,主要负责整个身份认证开放平台的认证和授权业务,身份认证模块主要处理登录请求,验证用户的认证信息;授权管理模块主要负责对第三方应用调用接口的权限设置;安全审计服务模块主要负责在认证过程中的接口安全和访问安全等。认证服务层主要是为上层服务接口层调用。
在服务接口层,基于OAuth开放授权协议,开发一系列的开放服务接口,为第三方应用进行数据交换时使用。主要采用的是REST API的设计模式,遵循REST的设计规范,将定义好的URI接口数据和流程开放。这样可以解决设计语言的跨平台问题,便于第三方应用调用以及开发,降低集成的难度。
在应用接入层,按照约定的系统接入规范和数据标准,利用服务接口层提供的SDK开发包,调用服务接口层的开放接口,获取相关的数据进行自身应用。集成后的第三方应用即可达到利用身份认证开放平台的学校信息和教师学生信息,并登录本身应用的效果。
1.基础用户数据管理
基础用户数据管理是指按照教育管理信息行业标准,收集用户验证的主要特征,将分散在各种业务应用系统中的用户进行统一管理,形成包含学校信息、教师信息、班级信息和学生信息的基础数据库。建立基础用户数据库的主要目的是为了能够在异构应用系统和身份认证平台上共享一套较为权威的用户身份信息,可以实现不同业务应用系统之间独立管理和验证用户。在此之上建立一套数据同步服务、数据管理服务和数据访问服务。这样使得用户和第三方应用可以以安全可信的方式进行访问。对于已有应用系统,建立一套抽取、更新机制,可以将某些权威数据库作为数据的来源,定期从这些数据库中抽取用户数据用于维护基础用户数据库,保证基础数据库中的信息达到实时、准确、权威。对于新增业务应用系统,可以通过按照接口的要求,从基础用户数据库中获取用户数据(不包含验证信息),用于建立或绑定自身的身份认证系统和权限管理系统。
2.身份认证设计
身份认证和登录授权是整个身份认证开放平台的核心功能,主要负责对用户的身份进行验证,在整个平台的身份认证和登录授权的设计中,主要是结合OAuth开放授权协议进行的,同时在保证系统的安全性和高并发需求的情况下,在登录授权过程中对用户的敏感信息进行特殊加密传输。身份认证和授权设计是独立于数字校园内的其他应用系统,对于用户来说,平台的用户ID是唯一的,由其作为整个平台用户的统一标志,在通过平台的身份认证后,可以从登陆认证结果中获取到与平台用户唯一对应的平台用户序列号。第三方应用利用这个平台用户序列号与自身系统的用户账号做映射,利用映射后的账号登录相应的应用系统。经此种架构设计的身份认证平台,当增加一个接入应用系统时,只需要在接入的应用系统中增加一套平台用户序列号与应用系统账号的映射关系即可,并不影响应用系统自身的架构,从而解决登录认证过程中不同应用系统之间用户交叉等问题。
平台账号登录是指直接使用平台账号登录第三方系统,步骤如下:用户点击在第三方应用登录界面上的“使用平台账号登录”,第三方应用将跳转到数字校园身份认证开放平台的登录授权页面,用户登录成功,提示用户是否同意将身份信息授权给第三方应用访问。第三方应用根据这个序列号查找自身用户,如果有已绑定的用户则继续用已绑定的用户信息登录应用系统,如果不存在该用户序列号,则在后台提示用户利用应用系统的账号与该平台序列号绑定,建立平台用户与应用用户的关联关系。利用建立关系后的应用系统自身认证系统中的用户登录,以后在登录时直接利用平台用户与应用用户的关联关系登录即可。
三、系统实现
数字校园身份认证开放平台是基于OAuth开放授权协议来实现第三方应用的接入和访问授权的,系统设计开发了基于REST的无状态Web服务接口。数字校园身份认证开放平台实现了标准的数据开放接口,并提供了C#和JavaScript版本的第三方应用的接入实例,避免了数字校园应用都构建自身的用户群,节约了开发成本和开发周期,同时有效解决了数字校园内各个应用之间的信息孤岛问题。使得用户在使用第三方数字校园应用系统时,不再需要提供身份认证信息(账号、密码),实现了各种数字校园应用系统的安全接入和用户信息的统一管理。
目前通过该开放平台接入的应用包括有江西省中小学数字校园平台、江西省一站式互动教学平台、江西省中小学安全知识网络答题系统等。接入的学校自建的数字校园平台有南大附中IS平台、高安中学数字校园平台等。经过一段时间的应用后,数字校园身份认证开放平台运行较稳定,达到了设计初期的目的,实现了良好的社会效益。
参考文献:
[1]刘雍潜,孙默.数字校园综合解决方案[M].北京:中央广播电视大学出版社,2014.
[2]曹洁水,孙萌用动态网站技术ASP.NET构建服务型图书馆网站[J].现代电子技术,2007(6).
[3]段浩伟.基于OAuth2.0电子商务开放平台与授权的设计与实现[D].西安电子科技大学,2013.
[4]张德林.基于OAuth协议的校园统一认证与授权系统的研究与实现[D].四川师范大学,2014.
[5]张艳霞.基于OAuth安全架构的企业地址簿的设计与实现[D].华南理工大学,2012.