企业信息化建设中Web单点登录模型的研究

时间:2022-08-07 03:56:20

企业信息化建设中Web单点登录模型的研究

[摘要] 单点登录是跨域分布式计算的一项关键技术并日趋发展成熟,已被广泛应用于当前的企业信息化建设中。使用单点登录技术,用户只需一次登录就可以无缝地访问其授权的所有应用系统,极大地提高了企业员工的工作效率。本文在对Kerberos单点登录模型和SAML单点登录模型分析的基础上,提出了一个综合二者优势的Web单点登录系统模型,并探讨了用户登录和站点跳转的实施过程。

[关键词] 企业信息化 单点登录 KerberosSAML

一、引言

互联网的飞速发展和信息化技术的广泛应用,使得各种企业信息化管理系统不断丰富,随之而来的信息安全问题也越来越引起了大多数人的重视。在常规的安全模式下,用户要访问多个应用系统,需要进行多次登录认证,而且这些应用系统之间相互独立,用户数据大量重复和冗余,系统管理也比较困难。单点登录(Single Sign-on,SSO)可以很好的解决以上问题。

所谓单点登录(SSO),就是指用户只需在网络中主动地进行一次身份认证,随后便可以访问其被授权的所有网络资源,而不需要再次主动地进行其他的身份认证过程。单点登录不仅可提高工作效率,更有效的管理系统,而且可以增加系统的整体安全性。

本文通过对Kerberos模型和SAML模型进行分析比较,将二者优点互相融合,提出一种新的Web环境下的单点登录模型。

二、相关技术

1.Kerberos技术。Kerberos是基于密钥分发中心KDC方式的认证协议,它使用对称密钥加密算法来实现通过可信第三方KDC的认证服务,提供了网络通信双方之间相互的身份认证手段。KDC能够颁发两种类型的票据:票据授权票据(TGT)和服务票据(ST)。单点登录过程中,KDC首先向经过认证的用户颁发TGT,当用户需要访问某一服务时,TGT向KDC请求服务的ST,经过客户和服务的双向认证后,建立会话,进行交互。

基于Kerberos的 Web单点登录模型的特点:

(1)使用KDC进行统一的用户认证、票据颁发,方便用户进行控制和管理。

(2)利用票据授权票据TGT和服务票据ST,实现了用户端和服务器端的双向认证,保证了消息传递的安全性。

(3)在安全性较低的浏览器/Web服务器之间,用户的身份信息需要在网络上传输,不但增加了信息泄露的可能性,而且一定程度上增加了网络的传输负载。

(4)Kerberos协议在防止重放攻击方面也存在安全隐患。

2.SAML 技术。SAML(Security Assertion Markup Language,安全断言标记语言)是一种基于XML(可扩展标记语言)、面向Web服务的用于传输认证和授权信息的技术框架。它是一个将认证和授权信息以SML格式编码的标准,使得在Internet环境下,可以使用标准的方式描述和使用已经广泛采用的安全技术,允许不同安全系统产生的信息进行交换,从而使一个Web Service能够从一个SAML兼容的认证和授权服务中请求并收到SAML断言,并据此验证和授权一个服务请求者。

与Kerberos单点登录技术相比,SAML技术具有如下的特点:

(1)使用基于XML的用户声明,具有跨平台、跨语言、跨计算体系结构的特点。

(2)通过传递Artifact的方式在安全性较低的浏览器/Web服务器之间传递用户认证信息的引用,防止潜在的信息泄露,并可降低传输的负载。

(3)由于Artifact在浏览器/Web服务器之间缺少相互认证功能,因而易遭受到一些恶意的攻击。

三、系统设计

Kerberos认证技术具有统一的用户认证功能和信息传递的双向认证功能,但信息传递过程复杂,信息传递负载较大;SAML认证技术虽然简单、通用,但由于缺乏有效认证功能,因而比较脆弱,从应用角度看,这两种技术都不能完全满足当前企业信息化建设的需要。为此,我们将这两种技术融合,提出了一种新的Web应用环境下的单点登录模型,如图1示。

①用户申请登录认证;②单点登录服务器创建加密票据并返回用户;③用户根据加密票据申请站点服务;④服务站点向单点登录服务验证票据;⑤单点登录服务器返回用户状态;⑥服务站点提供服务。

该模型以SAML模型为主体,并引入Kerberos票据和KDC。单点登录服务器(SSO Server)类似于Kerberos模型中的KDC,提供集中的用户认证、票据管理和联合站点管理功能;票据(Ticket)类似于SAML中的Artifact,是一种轻量级的用户登录信息的引用。

四、单点登录的实现

1.用户初始登录。用户初始登录过程是用户通过单点登录服务器及服务站点申请认证从而获得数据服务的首要过程,其访问站点的过程如图2所示。

(1)用户向服务站点发出访问请求。

(2)站点检测用户是否登录,如未登录则将用户重定向到单点登录服务器进行登录认证。

(3)单点登录服务器对用户进行认证。具体认证过程如下:

①单点登录服务器向用户端发送经过私钥KSSOS加密和签名的登录页面(Page),并附带其SSL证书。

②用户对SSL证书进行验证,验证成功后用户输入自己的用户名U和密码P。

③用户点击“确定”后,Page首先向单点登录服务器SSOS发送经过KSSOS加密的用户名U、随机数R1和当前时间T1。

④单点登录服务器验证R1和T1的有效性,返回由用户名U进行对称加密生成的随机数R2和当前时间T2。

⑤Page通过解密R2和T2来验证其有效性,判断信息是否被截获或被篡改;验证成功后,向单点登录服务器发送经过KSSOS加密的用户密码P;

⑥单点登录服务器通过解密返回消息验证用户密码P,验证成功后,用户认证结束。

(4)认证成功后,单点登录服务器的用户认证服务调用票据管理服务接口,创建票据,并连同与站点的会话标识S1id一起返回给用户。

(5)单点登录服务器的用户认证服务将用户重新定位回原服务站点。

(6)服务站点Web服务器对用户票据进行验证。然后访问单点登录服务器的票据管理服务,传入S1id,进一步进行验证,查询用户信息并更新用户状态;

(7)用户和站点之间通过S1id建立SSL会话,进行通信和数据交互,站点服务器会根据U的权限对用户实施访问控制。

2.站点切换登录。与用户登录过程类似,假设用户在访问完站点A的时,发出了访问站点B的请求,则用户在站点A、B间切换的过程如图3所示。

(1)用户在访问完站点A后发出访问站点B的请求。

(2)站点A根据该请求向单点登录服务器的票据管理服务请求站点B的票据。票据管理服务在验证站点A和原有票据的合法性以及时间有效性后,生成新的转向站点B的票据和新的会话标识S2id。

(3)站点A向用户返回转向站点B的新票据和S2id,并将用户访问重定向到站点B。

(4)站点B对用户票据进行验证,包括验证票据签名等。然后访问单点登录服务器的票据管理服务,传入S2id。单点登录服务器对S2id进行验证,并根据时间约束验证票据的时间有效性。验证成功后,返回站点B对应的用户名U。

(5)用户和站点B之间通过S2id建立SSL会话,进行通信和数据交互,站点B将根据U的权限对其实施访问控制。

五、结束语

本文在探讨Kerberos认证技术和SAML认证技术特点的基础上,提出了新的Web应用环境下的单点登录模型,并从模型原理、层次结构以及单点登录过程几个方面对该模型进行了分析和探讨。相对于当前其他单点登录模型来说,该模型同时具有统一管理、双向认证、数据安全性高等特点,是一种更为简单、安全的单点登录模型。

参考文献:

[1]林满山郭荷清:单点登录技术的现状及发展.计算机应用[J],2004,24(6):248~250

[2]王继梅金连普:Web服务安全问题研究和解决.计算机应用与软件.2004(02):P 91~93

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:CAPICOM组件技术实现数字签名的研究 下一篇:我国利率调整对消费作用的实证分析