一种统一认证的实现方法转让专利

申请号 : CN200510072981.1

文献号 : CN100583761C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高锋叶帅民洪雷陈艳霞李会明

申请人 : 联想(北京)有限公司

摘要 :

本发明提供一种用户统一登陆认证的方法,包括:建立认证服务器;在认证服务器上创建用户认证账号;将多个系统中的用户信息保存到认证服务器中;在认证服务器中将创建的用户认证账号与所保存的所述多个系统的用户信息相关联,以及,根据在认证服务器中建立的用户认证账号与所保存的所述多个系统的用户信息的关联,认证服务器给用户客户端提供认证标志,以使用户能够凭借所述认证标志登录所述多个系统。本发明适用于在集成和整合多个互联网信息系统或者互联网服务提供商提供的服务过程中,提供统一的用户登陆认证机制,使用户进行一次登陆认证后可以访问多个经授权的应用系统或者服务提供商。

权利要求 :

1、一种经一次认证即能够登录多个系统的方法,该方法包括以下步 骤:建立认证服务器;

在所述认证服务器上创建用户认证账号;

将用户在多个系统中的用户信息保存到所述认证服务器中;

在所述认证服务器中将创建的所述用户认证账号与所保存的所述多 个系统的用户信息相关联,其中还包括:当用户登陆所述认证服务器时,所述认证服务器进行所述用户认证帐 号验证;

判断所述用户认证帐号的验证是否通过,如果所述用户认证帐号验证 通过,则根据在所述认证服务器中建立的所述用户认证账号与所保存的所 述多个系统的用户信息的关联,所述认证服务器给用户客户端提供认证标 志,以使所述用户客户端能够凭借所述认证标志登录所述多个系统。

2、如权利要求1所述的方法,还包括步骤:在所述认证服务器对所 述用户认证账号验证成功之后,所述认证服务器为用户分配用户信息临时 存储区,并为该用户信息临时存储区分配一个唯一的标识。

3、如权利要求2所述的方法,还包括步骤:所述认证服务器从所存 储的多个系统中的用户信息中查询该用户在多个系统中的用户信息,并将 其存储到用于该用户的用户信息临时存储区中。

4、如权利要求2或3所述的方法,还包括步骤:所述认证服务器将 所述用户信息临时存储区的标识加密,并将密文作为所述的认证标志返回 给该用户客户端。

5、如权利要求4所述的方法,其特征在于:所述的认证标志能够被 所述认证服务器解密。

6、如权利要求2至3任一所述的方法,还包括步骤:用户客户端保 存所述认证标志,并向所述认证服务器定时发送特定请求,以保证所述认 证服务器不会收回所述用户信息临时存储区。

7、如权利要求4所述的方法,还包括步骤:用户客户端保存所述认 证标志,并向所述认证服务器定时发送特定请求,以保证所述认证服务器 不会收回所述用户信息临时存储区。

8、如权利要求5所述的方法,还包括步骤:用户客户端保存所述认 证标志,并向所述认证服务器定时发送特定请求,以保证所述认证服务器 不会收回所述用户信息临时存储区。

9、如权利要求1所述的方法,还包括步骤:用户客户端携带认证标 志访问所述多个系统。

10、如权利要求9所述的方法,还包括步骤:所述多个系统请求所述 认证服务器认证所述认证标志。

11、如权利要求5所述的方法,还包括步骤:当所述认证服务器对所 述认证标志解密成功时,其获得所述用户信息临时存储区标识,从而确定 所述用户信息临时存储区。

12、如权利要求11所述的方法,还包括步骤:所述认证服务器从所 述用户信息临时存储区取出所述多个系统的用户信息,并将所述多个系统 中的用户信息发送到所述多个系统。

13、如权利要求12所述的方法,还包括步骤:所述多个系统收到所 述多个系统中的用户信息,允许用户登录。

说明书 :

技术领域

本发明涉及一种互连网环境下的网络认证方法,尤其涉及在集成和 整合多个互联网信息系统或者互联网服务提供商提供的服务过程中,提 供统一的用户登陆认证机制。

背景技术

目前用户在使用多个互联网信息系统和互联网服务提供商提供的服 务时,都需要进行登陆认证后才能使用。这样用户需要记住多个用户口 令,增加了用户使用系统的复杂度,出错可能性,受到非法截获和破坏 的可能性也会增大,安全性就会相应降低。而如果用户忘记了口令,不 能执行任务,就需要请求管理员的帮助,并只能在重新获得口令之前等 待,造成了系统和安全管理资源的开销,降低了生产效率。

发明内容

本发明的发明目的是提供一种用户统一登陆认证的方法。一个用户 身份只需进行一次认证便可以访问所有经授权的资源,而不需要多次认 证。从而提高网络用户的工作效率,降低网络操作的费用,并提高网络 的安全性。
根据本发明的用户统一登陆认证的方法,该方法包括以下步骤:
建立认证服务器;
在认证服务器上创建用户认证账号;
将多个系统中的用户信息保存到认证服务器中;
在认证服务器中将创建的用户认证账号与所保存的所述多个系统的 用户信息相关联,以及
根据在认证服务器中建立的用户认证账号与所保存的所述多个系统 的用户信息的关联,认证服务器给用户客户端提供认证标志,以使用户 能够凭借所述认证标志登录所述多个系统。
本发明主要适用于在集成和整合多个互联网信息系统或者互联网服 务提供商提供的服务过程中,提供统一的用户登陆认证机制,使用户进 行一次登陆认证后可以访问多个经授权的应用系统或者服务提供商,而 不需要每访问一个应用系统和服务提供商都要进行一次用户的登录认 证。
附图描述
通过参考以下结合附图所采用的优选实施例的详细描述,本发明的上 述目的、优点和特征将变得显而易见,其中:
图1是根据本发明的统一认证实现方法中数据的创建收集和保存过程 图;
图2是根据本发明的统一认证实现方法中用户登陆认证服务器、认证 系统的主要流程图;
图3是根据本发明的统一认证实现方法的描述用户在认证服务器成功 登陆后,访问其他的应用系统时认证服务器、用户客户端、应用系统服 务器的主要工作流程图;
图4是根据本发明的统一认证实现方法的用户认证过程序列图。

具体实施方式

根据本发明的统一认证实现方法,用户只需要对认证服务器进行一 次登陆认证,之后用户访问其他的应用系统和信息系统时就不需要用户 再次进行认证。为了将此技术方案进行清楚地描述,将本发明的方案分 为三个部分来进行描述,第一部分描述认证系统运行前的准备工作。第 二部分描述用户的登录。第三部分描述用户登录之后访问其他的应用系 统。
在参照附图对本发明的如下描述中,其中,名词:认证服务器:用 来进行统一登陆认证的服务器;认证帐号:用户在同一认证服务器上登 陆使用的帐号;用户令牌:用户登录认证服务器成功后,认证服务器颁 发给用户的认证凭据;用户客户端:用户用来连接和访问认证服务器和 其他应用系统的客户端程序.
图1是根据本发明的统一认证实现方法中数据的创建收集和保存过程 图。
参见图1,在步骤S11,为了让用户能够登陆认证服务器,需要在认 证服务器上为用户创建用户认证帐号(比如:为用户分配一个用户名和 密码),然后需要将认证帐号进行持久保存(比如存放到数据库或者LDAP 中)。
在步骤S12,需要将用户在其他应用系统的用户信息(比如登陆用 户名等)收集到认证服务器,并进行持久保存。
在步骤S13,需要将所创建的用户认证帐号与用户在其他应用系统 的信息进行对应,保证通过用户认证帐号信息能够获得用户在其它应用 系统中的应用信息。即通过一个用户的认证帐号,可以获得用户在其他 应用系统中的用户信息,并将此对应关系存储在永久存储器中。
图2是根据本发明的统一认证实现方法中用户登陆认证服务器、认 证系统的主要流程图。
参见图2,示出了系统运行中,用户对认证服务器登陆,认证系统 和用户客户端需要完成的主要工作。
在用户通过用户客户端登陆的过程中,客户端和认证服务器需要完 成的主要工作。在步骤S21,用户登录认证服务器。在步骤S22,认证服 务器进行用户认证帐号的验证,验证失败即登陆失败。在步骤S23,判 断认证帐号的验证是否通过。如果帐号验证通过,则在步骤S24,认证 服务器为用户分配临时存储区。需要为此临时存储区分配唯一标识;该 标识可以通过随机产生;为临时存储区设置定时器,同时为该临时存储 区启动定时器。如果在一个时间周期内没有收到用户客户端的心跳请求, 系统就收回该临时存储区。如果用户发出注销信息时也应该回收该存储 区,在一个时间周期内收到用户客户端心跳请求,则将定时器恢复到初 始状态,重新计时。在步骤S25,认证服务器从所存储的用户信息中(如 数据库)查询出该用户在其他应用系统的用户信息(比如登陆用户名等), 并保存在临时存储区中。在步骤S26,认证服务器将临时存储区的唯一 标识进行加密,需要保证能够对加密密文进行解密,生成的密文作为用 户令牌返回给用户客户端。在步骤S27,用户客户端接收到认证服务器 返回的用户令牌,则登陆成功,用户客户端对该令牌进行临时保存,在 访问其他应用系统时需要使用。并且,用户客户端定时地往认证服务器 发送心跳请求,以保证认证服务器不会收回用户临时存储区。
图3是根据本发明的统一认证实现方法的描述用户在认证服务器成功 登陆后,访问其他的应用系统时认证服务器、用户客户端、应用系统服 务器的主要工作流程图
参见图3,用户在认证服务器成功登陆后,如果访问其他的应用系统 时认证服务器、用户客户端、应用系统服务器的主要工作如下。在步骤 S31,用户客户端携带用户令牌访问其它应用系统。在步骤S32,应用服 务器请求认证服务器认证用户令牌,其中,应用系统接收用户客户端访 问请求,获得用户令牌,携带用户令牌向认证服务器发送认证请求。在 步骤S33,在认证服务器端接收来自应用系统的认证请求,获得应用系 统请求中的用户令牌,并对用户令牌进行解密。在步骤S34,判断解密 是否成功,如果解密成功,则进入步骤S35。在步骤S35,认证服务器在 步骤S33对用户令牌解密成功后,获得临时存储区标识,并根据标识找 到临时存储区,从临时存储区中找到用户在该应用系统的用户信息。如 果在步骤S34,判断解密不成功,则进入步骤S39,在步骤S39,认证 服务器给应用系统返回认证失败信息。在步骤S40,应用系统将认证失 败信息返回给用户客户端。在步骤S36,认证服务器判断是否获得应用 系统信息,如果步骤S36的判断结果为“是”,则进入步骤S37。在步 骤S37,认证服务器将用户信息返回应用系统。之后处理进入到步骤S38, 在步骤S38,应用系统接收认证服务器返回的信息,判断是否有用户信 息,如果有认为认证成功,允许该用户使用应用系统。如果在步骤S36 的判断结果为“否”,则处理返回到步骤S39。在步骤S39,认证服务 器给应用系统返回认证失败信息。在步骤S40,应用系统将认证失败信 息返回给用户客户端。
其中,在实现上述步骤时所使用的:认证用户名是指用户在认证服 务器上登陆使用的用户名;服务用户名是:用户在其他信息系统或者SP 服务系统注册的用户名,用户可以使用该服务用户名和服务用户密码直 接登陆SP服务系统;(在实际应用中指的是用户在各个SP注册时的用户 名,比如:张三用户在263的用户名为zhangsan@263.net,在联通宝视 通服务的用户名为0401210003);SP: SP_ID:是服务提供商代号。
在根据本发明的实施例的方法中:第一,用户需要在认证服务器 上建立一个用户帐号(比如用户名和密码),用户以后使用该用户帐号登 陆认证服务器。此帐号可以在销售电脑前已经建立好,随电脑销售给用 户的。也可以是用户购买电脑后到认证服务器上注册产生的。第二,需 要将用户在各个信息系统或者SP(服务提供商)服务所使用的用户名和 服务提供商的代号SP_ID收集到认证服务器进行保存。这些信息在实际 场景中是用户通过联想系统申请其他的SP服务时,申请成功后记录到认 证服务器中的。在其他的应用中也可以是由用户或者系统管理员到认证 服务器建立这部分的信息。第三,为收集的信息建立认证用户名和各服 务用户名之间的关系(之间的关系为一对多的关系,在数据结构中描述)。 即一个认证服务器上的用户,拥有一个或多个其他服务系统的用户名。 当用户成为注册了系统用户后,当添加该用户的其他服务用户名时由系 统建立这种影射关系。
图4是根据本发明的统一认证实现方法的用户认证过程序列图。
参见图4
根据本发明的统一认证实现方法的用户认证过程如下:
1、用户通过客户端,使用认证服务上的帐号(认证用户名和密码) 登陆认证服务器,客户端可以是浏览器或者应用程序。
2、认证服务器对用户登陆帐号进行验证,检查是否与系统中的相符。
3、认证服务器检查用户认证凭证通过后,为用户建立Session对象, 进行临时存储,Session对象是一种用来存放键-值对(key-value)数 据的数据容器。Session对象主要用来保存一些用户的相关信息。每 一个Session对象都将有一个SessionID属性,SessionID具有惟一 性,SessionID可以通过认证系统随机方式产生。下表1是Session 对象的一个示例:
  属性名称   属性值   Session   ID   A59BA9A3EAE516F1F815E455D4CF324A   Key2   Value2   Key3   Value3   ......   ......
表1
Session对象是一个用来存放键-值对(key-value)数据的数据容 器,比如Hashtable。用来保存一些用户的相关信息。每一个Session 对象都应该有一个SessionID属性,SessionID的属性值应该具有能与 其他Sessio对象区分的惟一性。SessionID属性值可以通过认证系统随 机方式产生。比如示例中SessionID是属性名称, A59BA9A3EAE516F1F815E455D4CF324A是属性值。Session对象中可以放 很多这样的键-值对,可以通过key来获得value值。
4、认证服务器通过认证用户名和服务用户名之间的关系载入该用户 的服务用户名列表信息。并保存在用户的Session对象中,用户 Session对象将在用户注销和用户会话超时被销毁。
5、认证服务器使用对称加密算法(DES、3DES、IDEA等)和认证服务 器的密钥对用户的SessionID进行加密,加密后生成用户令牌,将用 户令牌颁发给用户客户端。
6、用户客户端接收到返回的用户令牌后,需要对用户令牌进行缓存, 在访问其他信息系统或SP服务时登陆认证使用。
7、注意:在用户使用各个信息系统或SP服务过程中,用户客户端需 要保持与认证服务器会话,否则如果会话超时,用户令牌将失效。
8、用户通过客户端访问其他应用系统或SP时,客户端将用户令牌传 递给SP作为登陆认证的凭证。
9、SP接收到用户登陆请求后,将用户的用户令牌和SP_ID一同发送 给认证服务器。
10、认证服务器接收到SP发来的认证请求后,对用户令牌使用加密时 采用的密钥和算法进行解密。
11、如果用户令牌合法,认证服务器解密后将得到的SessionID,通 过SessionID查找认证服务器为用户所建立的Session对象。
12、认证服务器从内存中保存的用户Session对象中获取对应的SP_ID 的用户服务名。
13、认证服务器将用户服务名返回给SP。
14、SP接收到该用户服务名后,认为该用户为可信任用户并使用该用 户名直接授权使用服务。
15、当用户在认证服务器上注销时,认证服务器将用户的Session进 行销毁回收,这时用户的令牌将失效。此时如果SP使用失效的令牌到认 证服务器上进行认证时,认证服务器根据令牌无法找到Session对象, 所以将返回SP认证失败的信息。
本发明的实现方案所使用的数据结构如下:
认证用户表
  名称  代码   描述   数据类型   认证用户ID  ID   表中主键,建立   自增长的流水   号,正整数,系   统唯一   NUMBER(20)   认证用户名  LoginName   认证用户名   VARCHAR2(50)   认证用户密   码  Password   认证用户密码   VARCHAR2(20)
表2
在表2中,认证用户ID是认证用户表中主键,可以是自增长的正整 数
认证用户名是用户在认证服务器上登录使用的用户名;
认证用户密码是用户在认证服务器上登录使用的密码。
服务用户表
  名称   代码   描述   数据类型   服务用户ID   UserId   表中主键,建立   自增长的流水   号,正整数,系   统唯一   NUMBER(20)   服务用户名   UserName   服务用户名   VARCHAR2(50)   认证用户ID   ID   认证用户ID   NUMBER(20)   服务提供商   ID   SP_ID   服务提供商代号   NUMBER(20)
表3
如表3所示,服务用ID是服务用户表中主键,可以是自增长的正整 数服务用户名是用户在使用某个服务提供商提供的服务时使用的登陆 名;
认证用户ID是该表的外键,是认证用户表的主键;服务提供商ID是 用户使用的服务的提供商的唯一标识。
尽管上文已经参考具体演示的实施例说明了本发明,其并不局限于 实施例,而是只局限于所附的权利要求。可以理解,在不脱离本发明的 范围和精神的前提下,本领域的技术人员可以修改或改变实施例。