对用户进行统一身份安全认证的系统及其方法

文档序号:7649000阅读:1255来源:国知局
专利名称:对用户进行统一身份安全认证的系统及其方法
技术领域
本发明涉及软件系统集成应用中的身份安全认证技术,具体涉及一种 在软件系统集成应用中对用户进行统一身份安全认证的系统及方法。
背景技术
在一些大型WEB企业应用软件中,往往包括多种分别提供不同服务的 应用系统,比如在企业办公平台中,常常会包括财务软件系统、客户关系 管理系统、电子邮件系统、内部办公系统、外网门户系统等多个可能均由 不同软件提供商提供的系统,不同的软件提供商在其提供的产品中往往都 会有自己的用户权限管理模块,用来为其产品4是供管理用户的权限管理和 身份验证功能。
对于这种情况,企业系统管理员会为用户在每个应用服务系统中均建 立一套使用帐号、密码、个人资料,并为其在各系统中分配一定的模块权 限。企业用户在使用某一项服务时,需要先打开此系统的登陆界面,然后 使用其在此系统中的帐号和密码登入系统,登入成功后才有权限使用某功 能模块,这使得用户在使用不同的应用服务器系统时,需要多次申请帐号 及密码,然后多次登陆应用服务器系统才可以对多个不同的应用服务器进 行访问。
从上所述可以看出,目前在对多个应用服务器进行访问时存在一定的 缺陷,需要进一步的改进,特别是在企业管理的应用中。

发明内容
为了解决现有对多个应用服务器系统进行访问时用户操作繁瑣、及不 利用统一管理的问题,本发明提供了 一种对用户进行统一身份安全认证的 系统及其方法。
本发明的一种对用户进行统一身份安全认证的系统,包括用户终端和 至少一个为用户终端提供服务的应用服务模块,所述应用服务模块接收用
户终端的服务访问请求、并向用户终端提供所需的服务数据;所述系统还 包括认证中心服务模块,用于为用户终端提供访问资源、统一管理各个 应用服务模块和用户终端的会话数据、统一管理用户终端使用者的用户身 份标识及用户访问权限;所述认证中心服务模块与各个应用服务模块之间 通过简单对象访问协议接口连接;所述用户终端通过网络服务器访问所述 认证中心服务模块的访问资源。
其中,所述认证中心服务模块与各个应用服务模块之间的简单对象访 问协议接口数据采用数字水印技术。
其中,所述认证中心服务模块通过三重数据加密算法标准对用户身份 标识进4亍加密处理后发送给用户终端。
采用上述系统的本发明的对用户进行统 一 身份安全认证的方法,按以 下步骤进4亍
A、 认证中心服务模块与用户终端建立会话,所述认证中心服务模块生 成含有用户权限信息的会话数据;
B、 所述认证中心服务模块向所述用户终端下发该使用者的用户身份标
C、 所述用户终端根据该使用者提供的用户身份标识和服务请求向所需 的应用服务模块发出访问请求;
D、 被请求的应用服务模块接收所述用户终端的访问请求,并向所述认 证中心服务模块发出认证请求;
E、 所述认证中心服务模块接收上述认证请求,并对该使用者的合法性
进行确认;
F、 所述认证中心服务模块向被请求的应用服务模块发送该使用者的会
话数据;
G、 被请求的应用服务模块根据接收到的会话数据确认该使用者的访问 权限,从而确定向所述用户终端发送所需应用数据。
其中,所述方法还增加以下步骤
H、 所述用户终端根据使用者的其他服务请求或再次要求服务的请求, 向所需应用服务模块发出访问请求;
I、 被请求的应用服务模块接收来自用户终端的访问请求,并定时向所 述认证中心服务模块发出检查用户在线情况的请求;
J、所述认证中心服务;f莫块根据上述请求;险查该使用者的在线情况;若 该使用者在线,则更新相关会话数据并重复至步骤G;若使用者不在线, 所述认证中心服务模块向应用服务器发出使用者需重新登陆的信息。
其中,所述方法还可以在步骤A之前增加预设置以下步骤
首先,所述认证中心服务模块收集各个应用服务模块,并为每个应用 服务模块分配唯一的模块编号;
然后,所述认证中心服务模块为所述用户终端的使用者建立用户登陆 帐号和密码.,并为该使用者分配可以访问的应用服务模块以及相应的访问 地址。
其中,所述认证中心服务模块与各个应用服务模块之间的传输数据都 经过数字水印技术加密。
其中,所述认证中心服务模块通过三重数据加密算法标准对用户终端 使用者的相关信息进行加密处理形成用户身份标识。
其中,所述方法步骤E中,所述认证中心服务模块通过解密认证请求 中的用户身份标识获得所需验证信息、并将该信息与认证请求中相关信息 进行比较,确认一致性,从而确定使用者的合法性。其中,所述方法步骤E中,还增加所述认证中心服务^f莫块检查用户终 端使用者的在线情况并更新相关会话数据的步骤。
其中,所述方法步骤E中,所述认证中心服务^t块釆用以下步骤对使 用者的合法性进行确认
El、验证认证请求数据包数字水印的合法性;
E2、将认证请求中的用户身份标识信息解密,并比较其中包含的用户 终端IP地址信息是否和认证请求中的用户终端IP地址一致; 如果不一致,则说明使用者不合法,提示重新登陆; 如果一致,则执行E3步;
E3、查看用户身份标识信息中用户帐号名信息是否一致; 如果不一致,则说明使用者不合法,提示重新登陆; 如果一致,则确定使用者的身份合法。
其中,所述方法步骤E中,所述认证中心服务模块的确认过程增加以 下步骤E4、检查此用户终端使用者是否仍然在线;如果在线则,更新会 话数据中的最新在线时间,确定使用者的身份合法;如果不在线,则说明 该用户终端已经登出,需要提示重新登陆。
发明效果本发明通过增加一个认证中心服务模块,实现了对各个应 用服务模块的统一管理、并且统一分配每个用户终端使用者的用户帐号和 密码、及分配应用服务器的权限、统一管理应用服务模块与用户终端的会 话数据(Session Data )、及保证在登陆所有应用服务模块时会话数据的一致 性。本发明的认证中心通过简单对象访问协议(SOAP, Simple Object Access Protocol)接口来和各应用模块进行统一协调。本发明认证中心保管所有的 会话数据(SessionData),并将其中必要的数据传递给各应用服务器,各个 应用模块则将其会话状态和会话时间信息定时汇报给认证中心,由认证中 心来统一来更新会话数据(SessionData)。在企业的系统f理中采用本发明, 可以方便统一管理用户的帐号和权限;方便用户终端使用者在同 一个地址进行一次登陆或退出操作,即可同时登入所有服务系统或从所有系统中安
全退出;也便于用户会话的统一维护和随时跟踪用户会话状态,并保持用 户在所有系统中的会话状态 一致。


图1是本发明对用户进行统一身份安全认证的系统结构示意图; 图2是本发明对用户进行统一身份安全认证的方法流程图; 图3是本发明认证中心服务模块对使用者的合法性进行确认的具体过 程流程图4是本发明被请求的应用服务模块根据会话数据确认用户终端使用 者访问权限的方法流程图。
具体实施例方式
以下将详细描述本发明的各较佳实施例。
如图1所示,本发明的身份安全认证的系统,包括用户终端l、至少一 个为用户终端提供服务的应用服务模块3、和认证中心服务模块2;应用服 务模块3接收用户终端1的服务访问请求、并向用户终端1提供所需的服 务数据;认^i中心服务模块2用于为用户终端1提供访问资源、统一管理 各个应用服务模块3和用户终端1的会话数据、统一管理用户终端1使用 者的用户身份标识及用户访问权限;认证中心服务模块2与各个应用服务 模块3之间通过简单对象访问协议接口连接;用户终端1通过网络服务器 访问认证中心服务模块2的访问资源。上述认证中心服务模块2与各个应 用服务模块3之间的简单对象访问协议(即SOAP, Simple Object Access Protocol)接口数据采用数字水印技术。上述认证中心服务模块2通过三重 数据加密算法标准对用户身份标识进行加密处理后发.逸给用户终端1。
上述认证中心服务模块2负责用户帐号和权限的统一分配、负责单点
登陆认证功能,并提供进入各个应用服务模块3的入口;负责用户终端1 会话数据(Session Data)的建立、保持、状态跟踪以及销毁,负责将权限 数据分发给各应用服务模块。上述各个应用服务模块负责将会话(Session) 状态定时向所迷认证中心服务模块2汇报,并获取权限数据进行使用权的 判定。上述各个模块的功能如何实现操作的,可参见下述有关方法的相关
描述o
另外,本发明的认证中心服务模块2和各个应用服务模块3之间的 SOAP接口数据可以采用数字水印技术,即由认证中心服务才莫块2和各个应 用服务冲莫块3之间协商好一个密钥,将传输的SOAP核心业务数据和该密 钥组合起来并进行不可逆的信息摘要(比如MD5, Message Digest 5 ),最 终生成难以伪造的数字水印。那么,所述认证中心服务模块2或各个应用 服务模块3在接收到相关SOAP数据时,必须使用相同的算法和密钥来验 证数字水印的合法性。这样既能有效保证信息的合法来源,也能保证SOAP 业务数据很难被抓包并墓改。
采用上述系统,若用户终端1首次向其中一个应用服务模块3发出一 项服务请求的话,如图1和图2所示,本发明对用户进行统一身份安全认 证的方法,可按以下步骤进行
5201、 用户终端1的使用者首先要登陆认证中心服务模块2为其提供 的登陆界面,从而使认证中心服务模块2与用户终端1建立会话,认证中 心服务模块2生成含有用户权限信息的会话数据;
5202、 认证中心服务模块2向用户终端1下发该使用者的用户身份标 识,其具体可以通过向应用服务模块3加载含有用户身份标识的访问地址 来实现;
5203、 用户终端1的使用者通过上述访问地址请求应用服务模块3,系 统会自动将访问地址上加载的用户身份标识信息提供给应用服务模块3,那 么用户终端1根据该使用者提供的用户身份标识和服务请求向所需的应用
服务模块3发出访问请求;
5204、 被请求的应用服务模块3接收用户终端1的访问请求,并向认 证中心服务模块2发出认证请求;
5205、 认证中心服务模块2接收上述认证请求,并对该使用者的合法 性进行确认;
5206、 认证中心服务模块2向被请求的应用服务模块3发送该使用者 的会话数据;
5207、 被请求的应用服务模块3根据接收到的会话数据确认该使用者 的访问权限,从而确定向所述用户终端l发送所需应用数据。
上述S201步中,认证中心服务模块2与用户终端1建立会话时,会自 动生成一会话ID;认证中心服务模块2生成的含有用户权限信息的会话数 据(Session Data)主要包括以下五点内容(1)会话ID ( SID, Session Identification), —次会话的唯一标志,用于区分用户终端使用者的多次会话 数据、方便更新和管理会话数据;(2)用户帐号名(Username),用户终端 使用者的身份象征;(3)用户权限数据(ModIDsMap),其中包含用户终端 使用者可以访问的应用服务才莫块3的ID (Identification),以及对每个应用 服务模块ID的访问权值,这由管理员设定;(4)用户登陆地址 (LoginPageURL, Login Page Uniform Resource Locator ), 用户终端4吏用 者在浏览网页时在Internet的WWW服务程序上用于指定信息位置的表示 信息;(5)用户最新在线时间(Last Online Time ),即该用户终端使用者最 后一次操作时间。其中,用户帐号名和用户权限数据是必须的。
上述认证中心服务模块2通过三重数据加密算法标准(3DES, Triple DES Encryption)对用户终端1的使用者的相关信息进行加密处理形成用户 身份标识UID (User Identification),逸体现了本发明的一个安全性措施, 有效地防止了非法用户终端使用者伪造UID .力情况发生。其具体做法是 需要对UID进行加密并作base64编码后传输,加密 /^式如下UID = base64Encode( 3DES(Username+ClientlP+PrivateKey))
加密方式采用3DES,需要加密的数据包括用户帐号名(Usemame)、 用户终端IP (ClientIP)、密钥(PrivateKey)。最后,认证中心服务模块2 将SID和UID信息附载在应用服务模块3的访问地址上,并提供给用户终 端使用者,也就是上述02步的具体执行步骤。
上述S203步骤中,应用服务模块3发出的访问请求数据至少应该包括 用户身份标识(UID ),用于应用服务模块3与该用户终端1建立私有会话 数据。当然,该访问请求数据还可以包括会话ID,用于方便应用服务模块 3对会话数据进行管理。用户终端1向应用服务模块3提供SID和UID的 途径有多种,可以由它们之间建立的私有会话(通常的web session技术) 保持,也可以通过URL ( Uniform Resource Locator)来传递。
上述S204步骤中,当应用服务模块3第 一次接收到用户终端1发送来 的服务访问请求时,会建立自己和用户终端1的私有会话,并将SID、 UID 等信息保存在私有会话数据中,然后再通过SOAP接口去认证中心服务模 块2上进行认证,认证请求数据包数据包括以下四点信息(1)会话ID, 由用户终端1传递过来的SID,用于作为认证中心服务模块2查找对应会话 数据的标识;(2)用户身份标识,由用户终端1传递过来的UID; (3)用户 终端IP( Client IP ); (4)登出本应用系统的地址(LogoutURL, Logout Uniform Resource Locator),主要用于用户终端使用者在登出系统时,认证中心服务 模块2会自动在用户终端1加载此地址,让该使用者也能从各应用服务模 块3中安全退出。对于认证请求数据包至少应该包括关于用户帐号名信息 的UID和用户终端IP ( Client IP ),用于认证中心服务模块2对用户终端的 相关信息进行认证。
上述S205步骤中,认证中心服务模块2在收到此认证请求时,通过解 密认证请求中的用户身份标识获得所需验证信息、并将该信息与认证请求 中相关信息进行比较,确认一致性,从而确定使用者的合法性;如图3所 示,具体可以釆用以下步骤对使用者的合法性进行确认 S051 、验证认证请求数据包数字水印的合法性;
5052、 将认证请求中的UID信息解密,并比较其中包含的ClientIP信 息是否和认证请求中的ClientIP —致;如果一致,则可以进行其它项的认证; 如果不一致,则说明不合法;
5053、 查看UID中Username信息是否一致,即将UID解密信息中的 Usemame与认证中心服务模块2存储的相关会话数据(根据SID查找到的 对应的会话数据)中的Usemame比较一致性;
5054、 检查此用户终端使用者是否仍然在线;如果在线,则更新会话 数据中的最新在线时间,如果不在线,则说明该用户终端已经登出,需要 提示重新登陆;
以上条件均得到肯定以后,验证才能通过,否则均提示重新登陆。这 样不仅防止了非法用户盗用服务地址,同时也防止了非法用户通过抓包等 手段来恶意伪造SOAP数据。认证中心服务模块在认证通过的同时,会更 新相关会话数据(根据SID查找到的对应的会话数据)中的用户最新在线 时间,确保进行后续程序。对于步骤S051,只要是认证中心服务模块和应 用服务模块之间进行数据交换时,都必须首先认证双方数据包水印的合法 性,因为从上述本发明系统的相关描述中可以看出,认证中心服务模块2 与各个应用服务模块3之间的传输数据都经过数字水印技术加密,这体现 了本发明的又一安全性措施。上述步骤S052、 S053是对用户终端^f吏用者合 法性的判断,S054步是可以后续再添加步骤,主要是为了避免非法用户的 盗用,进一步增加安全性。
上述S207步骤中,应用服务模块3会将会话数据(Session Data)暂时 保存下来,直到用户终端使用者退出系统,这样使用者在此次会话中第一 次访问此应用服务模块3时的初始化认证工作结束就结束了。其中,如图4 所示,应用服务模块3从会话数据(Session Data)中提取用户权限数据信
息,并检查用户终端使用者是否有权限访问此服务;如果无权访问,则给 与用户终端提示;如果有权限访问,则允许用户终端使用此服务,并向此 用户终端发送所需应用数据。
如图2所示,用户终端使用者使用第一次请求的服务以后往往会再次 请求此应用系统的其他月i务,那么本发明的方法还可以增加以下步骤
S208,用户终端l根据使用者的其他服务请求或再次要求服务的请求, 向所需应用服务模块发出访问请求;
S209,被请求的应用服务模块3接收来自用户终端1的访问请求,并 定时向所述认证中心服务模块2发出检查用户在线情况的请求;
S210,认证中心服务模块2根据上述请求检查该使用者的在线情况; 若该使用者在线,则更新相关会话数据并重复至S207步骤;若使用者不在 线,所述认证中心服务模块向应用服务模块发出使用者需重新登陆的信息。 此过程中,认证中心服务模块2通过检查此次会话是否有效,即此次会话 存在且最新在线时间仍然在有效期内,来判断用户终端使用者是否在线。 如果会话有效,即该使用者在线,则会继续更新此次会话数据中的最新在 线时间并继续上述方法S207步骤进行权限判定,从而来决定用户是否有权 限继续访问其他服务;如果会话无效,则说明该使用者已经退出或者超时。
从上面可以看出,当应用服务模块3再次接收到用户的服务请求后, 会定时通过SOAP接口去认证中心服务模块2检查此用户是否在线。定时 条件是上次检查在线的时间是否在N秒钟(这个由管理员决定)之前,如 果是则满足条件,此定时条件是为了防止应用系统因为用户的操作速度较 快而频繁的去检查,这样会大大节省认证中心服务模块2的性能资源。检 查在线的请求数据包包括以下信息
(1)会话ID ( SID); (2)用户终端IP ( ClientIP )。
在用户终端使用者使用服务过f呈中,应用服务模块3需要定时去认证 中心服务模块2检查使用者的在线状态,如果在线,认证中心需要更新用 户最新在线时间。如果用户终端使用者长时间无操作的话,最新在线时间 得不到及时更新,那下次检查在线状态时,得到的结果将是不在线,应用 系统应该提示用户重新登陆。
用户终端使用者可以随时主动退出系统;退出系统功能由认证中心服 务模块2提供,在退出中,认证中心服务模块2会销毁此次会话的Session Data,并且会在用户终端自动加载此次会话中各应用服务模块2提供的认证 请求数据包中LogoutURL,这样也会让各应用服务模块3销毁和用户终端 之间建立的私有会话。
如图2所示,本发明的方法还可以在上述S201步骤之前预先进行下面 两步的设置处理
首先,认证中心服务模块2收集各个应用服务模块3,并为每个应用服 务模块3分配唯一的模块编号;
然后,认证中心服务模块2为所述用户终端1的使用者建立用户登陆 帐号和密码,并为该使用者分配可以访问的应用服务模块以及相应的访问 地址。针对企业系统管理中,管理员都可以预先进行上述两步的设置,事 先分配使用者用户登陆帐号和密码,方便使用者登陆认证中心服务模块2 提供给用户终端的登陆界面。
综上所述,本发明可以用在企业软件应用系统集成中,可以为企业大 大节省了系统管理员的维护工作量,减少了出错的几率;让企业用户在使 用上更加方便,不用保管多套帐号和密码,不用忙碌于反复登陆各种服务 系统,为企业用户节省了时间,同时也为企业提高了效益,具有显著的进 步性和实用性。
应当理解的是,上述各具体的举例说明较为具体,并不能因此而认为 是对本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利 要求为准。
权利要求
1、一种对用户进行统一身份安全认证的系统,所述系统包括用户终端和至少一个为用户终端提供服务的应用服务模块,所述应用服务模块接收用户终端的服务访问请求、并向用户终端提供所需的服务数据;其特征在于,所述系统还包括认证中心服务模块,用于为用户终端提供访问资源、统一管理各个应用服务模块和用户终端的会话数据、统一管理用户终端使用者的用户身份标识及用户访问权限;所述认证中心服务模块与各个应用服务模块之间通过简单对象访问协议接口连接;所述用户终端通过网络服务器访问所述认证中心服务模块的访问资源。
2、 根据权利要求1所述的系统,其特征在于,所述认证中心服务模块 与各个应用服务模块之间的简单对象访问协议接口数据采用数字水印技 术。
3、 根据权利要求1所述的系统,其特征在于,所述认证中心服务模块 通过三重数据加密算法标准对用户身份标识进行加密处理后发送给用户终端。
4、 采用权利要求1所述系统的对用户进行统一身份安全认证的方法, 其特征在于,所述方法按以下步骤进行A、 认证中心服务模块与用户终端建立会话,所述认证中心服务模块生 成含有用户权限信息的会话数据;B、 所述认证中心服务模块向所述用户终端下发该使用者的用户身份标识;C、 所述用户终端根据该使用者提供的用户身份标识和服务请求向所需的应用服务模块发出访问请求;D、 被请求的应用服务模块接收所述用户终端的访问请求,并向所述认 证中心服务模块发出认证请求;E、 所述认证中心服务模块接收上述认证请求,并对该使用者的合法性 进行确认5F、 所述认证中心服务模块向被请求的应用服务模块发送该使用者的会 话数据;G、 被请求的应用服务模块根据接收到的会话数据确认该使用者的访问 权限,从而确定向所述用户终端发送所需应用数据。
5、 根据权利要求4所述的方法,其特征在于,所述方法还增加以下步骤H、 所述用户终端根据使用者的其他服务请求或再次要求服务的请求, 向所需应用服务模块发出访问请求;I、 被请求的应用服务模块接收来自用户终端的访问请求,并定时向所 述认证中心服务模块发出检查用户在线情况的请求;J、所述认证中心服务模块根据上述请求;险查该使用者的在线情况;若 该使用者在线,则更新相关会话数据并重复至步骤G;若使用者不在线, 所述认证中心服务模块向应用服务器发出使用者需重新登陆的信息。
6、 根据权利要求5所述的方法,其特征在于,所述方法还可以在步骤 A之前增加预设置以下步骤首先,所述认证中心服务模块收集各个应用服务模块,并为每个应用 服务模块分配唯一的模块编号;然后,所述认证中心服务模块为所述用户终端的使用者建立用户登陆 帐号和密码,并为该使用者分配可以访问的应用服务模块以及相应的访问 地址。
7、 根据权利要求6所述的方法,其特征在于,所述认证中心服务模块 与各个应用服务模块之间的传输数据都经过数字水印技术加密。
8、 根据权利要求7所述的方法,其特征在于,所述认证中心服务模块通过三重数据加密算法标准对用户终端使用者的相关信息进行加密处理形 成用户身份标识。
9、 根据权利要求8所述的方法,其特征在于,所述方法步骤E中,所 述认证中心服务模块通过解密认证请求中的用户身份标识获得所需验证信 息、并将该信息与认证请求中相关信息进行比较,确认一致性,从而确定 使用者的合法性。
10、 根据权利要求4至9中的任何一项权利要求所述的方法,其特征 在于,所述方法步骤E中,还增加所述认证中心服务模块检查用户终端使 用者的在线情况并更新相关会话数据的步骤。
11、 根据权利要求8所述的方法,其特征在于,所述方法步骤E中, 所述认证中心服务模块釆用以下步骤对使用者的合法性进行确认El、验证认证请求数据包数字水印的合法性;E2、将认证请求中的用户身份标识信息解密,并比较其中包含的用户 终端IP地址信息是否和认证请求中的用户终端IP地址一致; 如果不一致,则说明使用者不合法,提示重新登陆; 如果一致,则执行步骤E3;E3 、查看用户身4分标识信息中用户帐号名信息是否一致; 如果不一致,则说明使用者不合法,提示重新登陆; 如果一致,则确定使用者的身份合法。
12、根据权利要求11所述的方法,其特征在于,所述方法步骤E中, 所述认证中心服务模块的确认过程增加以下步骤E4、检查此用户终端使用者是否仍然在线;如果在线则,更新会话数 据中的最新在线时间,确定使用者的身份合法;如果不在线,则说明该用 户终端已经登出,需要提示重新登陆。
全文摘要
本发明公开了一种对用户进行统一身份安全认证的系统及其方法,其系统包括认证中心服务模块,用于为用户终端提供访问资源、统一管理各个应用服务模块和用户终端的会话数据、统一管理用户终端使用者的用户身份标识及用户访问权限;其方法,首先认证中心服务模块生成含有用户权限信息的会话数据,向用户终端下发用户身份标识;然后其对使用者的合法性进行确认,向应用服务模块发送会话数据;再次应用服务模块会话数据确认该使用者的访问权限,从而向所述用户终端发送所需应用数据。本发明通过增加一个认证中心服务模块,实现对所有应用服务模块的统一管理;采用本发明可以方便用户一次性登录多个应用模块,而不需要重新输入用户身份识别信息。
文档编号H04L9/32GK101207485SQ20071007652
公开日2008年6月25日 申请日期2007年8月15日 优先权日2007年8月15日
发明者刘继华 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1