您现在的位置:首页 » 知识库 » 软件开发 软件开发
校园统一身份认证系统的实现原理(面向决策层)
发布日期:2017-09-07

就高职院校数字校园建设这一专题,“Moehoo猛虎”已将推出了如下三篇文章:

(1)《论数字校园的顶层设计 — 高职院校篇》

(2)《高职院校的信息化建设 — 网络建设的历史沿袭》

(3)《高职院校信息化 — 校园网建设之痛与变局》

《论数字校园的顶层设计 — 高职院校篇》一文中,“Moehoo猛虎”曾明确提出:

应用系统的集成,是顶层设计的技术架构思路的重要内容。而应用系统的集成,是由3个功能系统协同工作而得以实现的,即:校园统一身份认证系统、校园统一信息门户系统、校园统一公共数据系统。

这三个系统是数字校园建设的基础内容之一,在很大程度上决定了数字校园建设的成败。而为了建设校园统一信息门户系统,必须满足相应的基础前提和支撑:建立完备的校园统一身份认证系统。

统一身份认证系统提供的服务功能是:

Ⅰ. 身份认证和统一管理功能:为每一用户提供统一的电子身份,对数字校园用户进行集中统一的管理;

Ⅱ. 单点登录(即SSO,Single Sign-On)功能:用户只需一次登录,就可直接访问已经授权的任何校园应用系统;

Ⅲ. 双向认证功能:在安全的认证协议支持下,在服务器和用户端之间实现双向认证。

简而言之,校园统一身份认证系统的功能是:在数字校园中实现单点登录功能,给所有校园应用系统提供全局统一的用户认证和用户管理等功能。

身份认证系统的关键意义

从应用系统的视角来看,用户登录身份认证系统是具有关键意义的,这是指:

(1)首要意义在于提供了现实世界中用户的身份认证信息,验证了现实世界中的用户与应用系统中的账户之间的映射关系。虽然不同的应用系统有各自的功能实现领域,但是,在资源存取和资源配置的决策上,都是通过身份认证这一核心功能才得以实现的。

(2)其次,身份认证系统的审核日志会记录相关的安全风险信息、用户身份认证信息,对保障应用系统的安全性具有重要作用。

身份认证系统的基本方法和实现要素

身份,是指客观世界中特定用户的唯一实体信息,这种实体信息在计算机应用领域同样是一种重要的信息资源。

认证,指的是以权威的手段对用户的身份信息加以验证。

身份认证系统的主要功能就是验证用户身份信息的准确有效性,杜绝没有经过授权的非法资源访问行为。

一、身份认证的基本方法

从广义的角度来看,身份认证的基本方法有三类:

(1)验证用户的关键个人信息

比如,验证用户的账号和相应密码,验证问题和回答的完整匹配。众所周知,这种方法,在软件应用系统中得到了极其广泛的应用。

(2)验证用户的唯一性私人物品

比如,身份证、银行卡、钥匙等物品。这种方法,在现实世界里常见,而在IT应用系统中,也有相应的等同物,即:由权威的CA机构(Certificate Authority,数字证书认证机构)颁发的数字证书。

X.509证书是事实上的数字证书标准格式,在绝大多数网络安全应用中得到了广泛的使用,X.509使用数字证书对身份验证的方法有3类,即:双向认证、单向认证、三向认证。由此,统一身份认证系统的双向认证功能得以实现,即:在安全的认证协议支持下,在服务器和用户端之间实现双向认证。具体实现方法,见本文最后一节所述。

(3)验证用户的唯一性生理特征信息

比如,指纹识别、视网膜识别、人脸识别等。

二、身份认证的实现要素

完全通过访问控制系统去实现身份认证是不可行的,一个完备的身份认证系统必须有效地集成如下的实现要素。

(1)身份验证功能

标识和鉴别登录用户的身份,以此,确保信息和数据来源的合法性,这也是身份认证系统的核心功能。

(2)数据的完整性

在信息和数据的传输和存储过程之中,确保其不会被未授权地篡改,或者,在其遭遇篡改后能被迅速地发现并处理。

(3)数据的有效性(可用性)

经过授权的实体可以按预先的权限设置而访问数据。

(4)数据的保密性

只有经过授权的实体才可以访问相关数据。

(5)不可抵赖性(不可否认性)

确保信息和数据的制造者和发送者无法拒绝其曾执行的行为。

统一身份认证系统的概念

统一身份认证系统,是一种用户身份认证集成管理系统,对用户进行身份认证、提供身份认证统一通行证和相应的授权,以此,建立所有关联应用系统的统一身份认证管理,确保用户信息认证的真实有效。

各关联应用系统都有相应的保存和访问权限管理功能,统一身份认证服务器和用户信息统一数据库协同工作,统一管理各子系统的用户身份认证。

在集成用户身份认证方面,统一身份认证系统有一系列规范的客户端,可以采用多种认证手段,比如:账号密码认证、数字证书认证、一卡通认证等。不同级别的用户有各自不同的安全等级,统一身份认证系统会采取相应的安全保障措施,比如,密保措施、数字证书验证等。

在集成应用系统功能方面,统一身份认证系统提供唯一的操作接口,而不同的应用系统则提供各自的操作接口,一榫一卯,各关联应用系统就与统一身份认证系统集成在一起了,在紧密集成结构的保障下,各关联应用系统的安全性得到了充分的保障。

统一身份认证系统的工作流程

统一身份认证系统的主要功能是:

(1)统一管理用户的身份验证

避免在多个应用系统中反复登录,创建统一的标准客户端登录操作界面,创建统一身份认证系统的全局账号与既有的各关联应用系统的局域账号之间的映射关系,实现各关联应用系统的统一身份认证。

(2)统一管理用户对各关联应用系统的访问权限。

统一身份认证系统的系统架构及其关键工作流程如下图所示:

如上图所示,说明如下:

(1)用户提交访问某个关联应用系统的请求;

(2)使用应用认证接口,通过安全的传输渠道,应用系统将用户的认证信息传递至统一身份认证系统,进行用户身份认证;

(3)用户信息经过统一身份认证系统的验证后,将生成一系列的具有唯一性的用户端认证信息,据此,用户获取对所有关联应用系统的访问权。

统一身份认证系统的工作模式

在一个已有若干应用系统的环境中建立统一身份认证系统,不仅要考虑将既有应用系统纳入,还要能够完成新建应用系统的用户身份认证。

为此,统一身份认证系统必须具备多种工作模式,以满足复杂应用环境中的客观需要。

统一身份认证系统的工作模式主要有三类,分别是:身份认证服务模式、统一认证服务模式、代理服务模式。

一、身份认证服务模式

在高职院校的数字校园建设中,在统一身份认证系统和统一信息门户系统已经建立的情形下:

(1)新建的应用系统可以完全依托于统一身份认证系统实现用户身份认证功能,无需配置专门的用户认证系统。这时候,新建应用系统的用户帐户就是统一身份认证系统的全局账号;

(2)对既有应用系统而言,其本身原有的局域账号,可与统一身份认证系统的全局账号之间建立映射关系。

在这种工作模式下,统一身份认证系统的运作形式是:应用系统的身份认证功能模块。其具体工作流程如下图所示:

对上图所示的工作流程说明如下:

(1)用户在统一身份认证系统中注册用户名并设定密码(其他的授权方式还有:按学校的管理制度申请数字证书或者校园卡),然后,以相应的授权方式登录应用系统;

(2)应用系统将用户登录信息转发给统一身份认证服务;

(3)统一身份认证服务执行验证操作,即:在注册库中,验证发送用户登录信息的应用系统是否已经注册,验证用户登录信息与注册库中的信息是否一致,在获取验证结果后,向应用系统发出认证响应信息。如果用户身份认证成功,应用系统向用户发出访问令牌,用户遂得以访问应用系统。

二、统一认证服务模式

统一身份认证系统的核心服务模式是统一认证服务模式。其具体工作流程如下图所示:

对上图所示的工作流程说明如下:

(1)用户在统一身份认证系统中注册用户名并设定密码(其他的授权方式还有:按学校的管理制度申请数字证书或者校园卡),然后,以相应的授权方式登录统一身份认证系统;

(2)在登录信息被成功认证后,统一身份认证系统将访问令牌返回给用户。使用这个访问令牌,用户向关联应用系统提交访问请求;

(3)就此访问令牌的合法有效性,关联应用系统向统一身份认证系统提交验证请求。收到验证结果后,如果确认访问令牌合法有效,关联应用系统接受访问请求并将相应的访问结果返回给用户。

三、代理服务模式

当统一身份认证系统处于代理服务模式时,关联应用系统的接入访问和相应的访问结果均由其代理,由此,为关联应用系统提供一个更为安全的运行环境。其具体工作流程如下图所示:

对上图所示的工作流程说明如下:

(1)用户在统一身份认证系统中注册用户名并设定密码(其他的授权方式还有:按学校的管理制度申请数字证书或者校园卡),然后,以相应的授权方式登录统一身份认证系统;

(2)在登录信息被成功认证后,统一身份认证系统将访问令牌返回给用户。使用这个访问令牌,用户并不直接向应用系统发起访问请求,而是向代理(即统一身份认证系统)提交其对关联应用系统的访问请求;

(3)统一身份认证系统向注册库发起查询请求,从查询结果中确认应用系统是否已经注册,进而获取应用系统的访问入口。再将用户的访问请求由代理转发给应用系统,并将访问结果由代理返回给用户。

单点登录技术原理

就本质而言,单点登录的技术原理就是:在不同应用系统之间传递和共享信息系统安全上下文或者安全通行票据。

这是学术性的表述方式,然而,单点登录技术原理是很容易理解的,换一种说法,那就是:当用户访问某一个应用系统时,会由一个唯一的认证服务对用户身份进行验证,在用户身份得到成功验证后,就会获得一个数字通行证。而当这个用户访问其他应用系统时,就可以直接凭此数字通行证获得访问权。

其实,在现实世界中也可以找到与单点登录类似的实例,比如,在某个城市申请办理的城市一卡通,在其他城市也可以使用。

一个典型的SSO技术原理实现图如下所示:

如上图所示,当使用者第一次发起对应用系统1的访问请求时,由于尚未登录,所以还没有携带安全通行票据(Ticket)。在这种情况下,用户会被引入至统一身份认证系统进行认证,即:输入用户名或密码等登录信息。接着,统一身份认证系统会将这些登录信息与用户信息库进行比对,如果验证成功,用户端会接收到返回的安全通行票据(Ticket)。

自此以后,当用户对其他关联应用系统(应用系统2,......,应用系统n)发起访问请求时,都会将安全通行票据(Ticket)提交给统一身份认证系统用于验证,如果校验结果是合法有效的,用户就不需要再次执行登录操作,直接就能获得对其他关联应用系统的访问权限。

需要指出的是, 在以上所述的过程中,各关联应用系统并不对用户认证信息等数据进行验证,它们只与统一身份认证系统进行通信。实际上,可以将统一身份认证系统和各关联应用系统之间的通信模式理解为“服务器—客户端”模式,即:统一身份认证系统是服务器端,为各关联应用系统提供安全通行票据(Ticket);各关联应用系统是客户端,能识别和提取用户访问请求中携带的安全通行票据(Ticket),进而,将其传递给统一身份认证系统以验证有效性,籍此,实现统一身份认证系统的单点登录功能。

双向认证的实现流程

统一身份认证系统的第三个重要功能是双向认证功能。如前所述,使用证书服务,可以实现服务器和用户端的双向认证。

通常,在用户端要求访问一些保密资源时,会采用双向认证的方式以确保资源访问的安全可行,即:在安全的认证协议(通常是SSL协议, 即:Secure Socket Layer协议)支持之下,服务器和用户端对彼此提供的数字证书加以验证,完成相互认证,由此,双方都确认对方的可信真实身份。

从技术角度来看,用户端(Web浏览器或者客户端应用)和服务器(Web站点或者服务器应用)之间的双向认证,就是指通过验证由权威的数字证书认证机构颁发的数字证书,使得:(1)服务器的数字证书在用户端上得到认证;(2)用户端的数字证书也在服务器上得到认证。

显然,由于双向认证是基于数字证书才得以实施的,CA机构是整个流程中极为重要的部分。从应用层的视角看,基于数字证书的认证及建立加密通道的过程如下图所示(图片是高清的,但是受限于移动终端的屏幕尺寸,如要查看细节,可点击放大查看):

(1)用户端要求访问保密资源;

(2)服务器收到访问请求后,将自己的数字证书(Server.cer)提供给用户端;

(3)用户端验证服务器证书的有效性;

(4)如果服务器证书被成功验证,那么,用户端将自己的数字证书(Client.cer)发送到服务器;

(5)服务器验证用户端数字证书的有效性,以确认用户端的合法身份;

(6)如果用户端的数字证书确认有效,服务器将相应的访问权限赋予用户端,由此,用户端获得了保密资源的访问权。

至此,“Moehoo猛虎”对校园统一身份认证系统的三大功能(即:身份认证和统一管理、 单点登录、双向认证)完成了概观性的描述。由于本文的撰写目的是为数字校园建设的决策层人士提供有效的务实参考,因此,行文之时,不仅在语言上注意了平实易懂,而且,为了达到更加直观的效果,更专门绘制了若干流程图和原理图。

长期以来,校园统一身份认证系统若有似无地蒙着一层神秘的面纱。“Moehoo猛虎”期望,本文能够揭开那神秘面纱的一角,为各类学校的数字校园建设思路的拓展作出或许微薄却是务实的贡献。

  • 1.公司登记注册于2003年1月27日,清远市桑达电子网络媒体有限公司
    2.公司2006年起成为清远市政府定点协议供货商,电子采购供货商
    3.公司2007年被清远市相关政府部门评为安防行业状元
    4.公司2007年起成为长城电脑清远如意服务站(SP368)
    5.公司2007年承建清远市横河路口电子警察工程,开创清远电子警察先河。
  • 6.公司2007年起成为IBM合作伙伴、公司2010年底成为金蝶软件清远金牌代理(伙伴编号:30030013)
    7.公司组团队参加南方都市报组织的创富评选,获广东80强。公司申请多项软件著作权、专利权
    8.2016年起公司成为粤东西北地区为数不多的双软企业,确立“让软件驱动世界,让智能改变生活!"企业理想
    9.2016-01-29更名为广东互动电子网络媒体有限公司
    10.2021-01-13更名为广东互动电子有限公司
  • 投资合作咨询热线电话:0763-3391888 3323588
  • 做一个负责任的百年企业! 天行健,君子以自强不息;地势坤,君子以厚德载物;
    为用户创造价值! 让软件驱动世界; 让智能改变生活; 超越顾客期望,帮助顾客成功;
    对客户负责,对员工负责,对企业命运负责!帮助支持公司的客户成功;帮助忠诚于公司的员工成功!
  • 联系电话:0763-3391888 3323588 3318977
    服务热线:18023314222 QQ:529623964
  • 工作QQ:2501204690 商务QQ: 602045550
    投资及业务投诉QQ: 529623964
    微信:小米哥 微信号:qysed3391888
    腾讯微博:桑达网络-基石与起点
  • E-MAIL:222#QYSED.CN ok3391888#163.com (请用@替换#)
在线客服
  • 系统集成咨询
    点击这里给我发消息
  • 网站\微信\软件咨询
    点击这里给我发消息
  • 售后服务
    点击这里给我发消息
  • 投资合作
    点击这里给我发消息