在企业的发展过程中,建立了针对不同业务的应用系统,由于这些应用系统是在不同时期、根据不同的需求、由不同厂商来开发实施的,各系统采用的技术体系不同,所依赖的平台不同,软件模式不同(B/Sor c/s),各应用系统的界面表现也没有形成统一规范。
(1)传统账号管理机制
每个系统都建立用户信息数据库,用以验证用户的身份。用户要访问多个系统就需要在多个系统中建立多套账户。当用户访问处于多个系统中的资源,用户必须分别登录到相应的系统。随着应用系统和用户数量的增加,网络规模迅速扩大,原有的信息安全管理措施已不能满足企业目前及未来业务发展的要求。问题的原因是缺少整体规划,缺乏统一的用户登录平台,单点登录技术SSO(single sign-on)的出现较好地解决了这些问题。
(2)单点登录的优势
单点登录(SSO,Single Sign-on)是一种方便用户访同网络的技术。用户只需要在网络中主动地进行一次身份认证,就可以无缝地访问其被授权使用的资源,而不需要主动地参与其后的身份认证。单点登录技术具有以下优势:
①简化了用户的搡作,用户不登使用多套用户名和密码,不再需要为每次访问资源而进行一次身份认证。
②增强了系统的整体安全性,用户只需记住唯一的登录密码,可以设计相对复杂的密码,增加了攻击者进行暴力破解的难度。
③减少管理员的工作量,系统管理员只需要维护一套统一的用户账号。传统模式下,系统管理员需要管理多套的用户账号,不仅给管理上带来不方便,而且也容易出现管理漏洞。
④简化应用系统开发,在传统模式下新的应用系统要求独立的用户认证程序,而单点登录系统可以整合新的登录模块,减少开发人员的工作量。
1 单点登录的通用模型
1.1单点登录执行过程
单点登录系统实现的机制多种多样,但其执行过程都可用图1描述。
图1单点登录系统模型
常用的单点登录系统有经纪人模型、代理模型、网关模型和令牌模型等。其中基于经纪人的单点登录模型在可管理性、安全性、易用性方面都有良好的表现,尽管该模型在实施的过程中有着较大的工作量,但是它的良好表现使得它成为一种最常用的单点登录模型。
1.2基于经纪人的单点登录模型
这种模型的特点就是,有一个集中的认证和用户账号管理的服务器。经纪人被用于进一步请求的电子身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的“第三方”。认证服务器处在客户端和应用服务器中间,用来全权打理认证事务,扮演一个经纪人的角色。客户端在想得到任何服务之前都要先从认证服务器进行身份认证,获得有使用期限的电子身份标识,在期限内可访问应用服务器获得资源。
1.3 Kerberos登录机制
Kerberos机制是经纪人模型的典型应用,基础是信任的第三方--Kerberos服务器,集中地对用户进行认证,并向用户发放电子身份标识。每次会话的密钥都不相同,提高了系统的安全性。用户登录成功之后,用户端保留身份识别信息(票据),当用户申请新的应用服务时,系统利用己有的票据,用来登录所申请的应用。该系统可以由三个部分组成:核心认证服务器,支持认证的服务器端和支持认证的客户端。核心认证服务器统一管理用户信息。
2 引入证书的类Kerberos单点登录方案
2.1系统总体结构
Kerberos在安全性方面有着良好的表现,登录过程依赖Kerbems服务器,如果Kerberos服务器发生故障,系统所有的应用服务都无法进行,本方案如图2所示,采取在用户端保存一份证书的形式,降低登录过程中对Kerberos服务器的依赖。
图2方案设计
在基于证书的单点访问模型中,每个应用服务器生成属于该服务器的证书。拥有该证书的客户拥有访问该应用服务器的权限。应用服务器A的证书可以表示为:CertA={V,Sn,AI,IDA,Issuer,Kp,TA,otIIer,[hash(V,Sn,AI,IDA Issuer,Kp。TA,other)]SignCA}。
其中,V是证书的版本号,Sn是该证书的序列号,AI是对证书进行签名的算法的标识,IDA是服务器A的唯一标识符,Kp是服务器A的公钥,Issuer是证书发布者的唯一标识符,TA指出证书有效期,other是指其他信息,hash()是单向散列函数,[]SignCA是对[]中的数据的签名值,可以使用CA的公钥进行验证,CA的公钥算法可以使用RSA或椭圆曲线算法。
2.2系统结构概要说明
(1)方案前提:证书服务器上已经生成了用户,包括用户ID、用户密码以及来自各应用服务器的证书。每个用户都已经知道自己的私钥,而证书服务器和企业门户知道公钥。
(2)证书生成:证书服务器验证用户身份,将各应用系统提供的证书组合成一个完整的证书,证书由系统公钥与用户私钥加密,最后将证书传递给用户。证书结构如图3所示。
图3 证书结构
(3)证书获取:证书服务器提供登录页面,验证用户身份后,用户通过applet下载证书到客户端,客户端用私钥解密后保存于硬盘特定位置。
(4)证书失效:有效期之外证书自动失效,应用服务器通过证书管理页面撤销特定用户针对本应用的证书,则用户对该应用服务器的访问无效。
(5)证书传递:通过applet将保存在用户硬盘上的证书上传到对应的应用服务器,门户也被视作一个特殊的应用服务器,应用服务器之间不传递证书。
(6)客户端证书管理:证书保存于硬盘特定位置,提供导人导出工具,便于证书携带。
(7)证书服务器管理:证书服务器提供管理页面,应用系统管理员上载和撤销证书。
(8)应用服务器证书验证模块:每个应用服务器上有相关的认证组件,负责证书解密,证书验证。应用服务器的证书是自己生成的,需自己负责验证。
(9)密钥管理:服务器公钥定期修改,应用服务器从证书服务器同步系统公钥。
2.3登录流程
登录过程如图2所示。
(1)用户打开门户,上载有效的证书,或选择注册获取证书。如果用户上载了证书,门户检查用户证书是否有效,如果没有有效证书或没有证书,则将用户重定向到证书服务器。
(2)由证书服务器提供一个页面,用户输入用户ID和口令,请求证书。
(3)证书服务器验证用户合法后,根据用户ID生成加密证书并将证书返回给用户。
(4)门户验证用户证书是否有效,显示用户访问服务清单并把证书转发给应用服务器。
(5)应用服务器验证证书是否来自门户,不是则拒绝服务,否则取出对应本服务器的证书,对证书解密,获得该用户对应的权限,提供对应的服务,将响应直接返回给门户。
(6)门户根据响应生成页面返回给用户。
(7)用户使用获得的证书直接和应用服务器交互。
3 结束语
基于证书的单点登录模型在健壮性,安全性方面有良好表现。具有下述特点:
(1)门户和证书服务器不会直接交互,即使证书服务器失效,只要用户证书仍然在有效期内,用户依靠持有的证书便可访问应用系统。
(2)证书由应用系统子证书组成,应用系统在权限设定及验证上具有弹性,系统易扩展。
(3)证书使用服务器公钥和用户私钥进行加密,服务器公钥定期修改,有效防止用户ID、密钥和证书被截获。
(4)用户直接访问应用系统可减轻门户负载,由应用系统来生成以及验证本应用系统的证书具备更强的兼容性,应用系统具备证书生成功能和证书验证功能。
通过将登录所需的电子身份采用证书方式保存在客户端的方法,将登录过程剥离出来,降低了经纪人模型中认证服务器的负载,并且认证服务器故障时,应用服务仍可有条件进行。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:一种基于证书的单点登录方案设计
本文网址:http://www.toberp.com/html/consultation/1083938149.html