一种提供跨域令牌的系统和方法

文档序号:7689964阅读:207来源:国知局
专利名称:一种提供跨域令牌的系统和方法
技术领域
本发明涉及网络单点登录(SSO, Single Sign-on)技术,特别涉及一种 提供跨域令牌的系统和方法。
背景技术
随着网络技术的发展,某个企业或机构可以通过网络向用户提供某些应 用服务,如电子邮件、论坛等。考虑到对用户身份的鉴别,各个应用服务通 常需要利用各自的验证机制对用户进行鉴别。也就是说,当用户访问某个应 用服务时,需要提交针对该应用服务的登录信息,如用户名、口令等信息, 并在通过合法性验证后才允许访问该应用服务。但随着企业或机构向用户提 供的应用服务越来越多,用户需要记忆的登录信息也越来越多,实际使用起 来非常不方便。
为此,目前提出一种单点登录技术,可以将某个企业或机构提供的所有 应用服务对用户身份的鉴别统一到一个鉴权平台。用户只需提交一次登录信 息,就可以利用鉴权平台提供的域内令牌访问不同的应用服务。实际中,某 个企业或机构提供的所有应用服务以及鉴权平台组成的系统可以称为 一个 域。域内令牌由鉴权平台生成,可以是一个随机数或按照预先设置的格式所 产生的序列串,并且只能用于访问该企业或机构自身提供的各个应用服务, 即域内的应用服务。
图1是一个在域内实现单点登录的系统示意图。如图l所示,该系统包 括认证中心101、提供应用服务的设备102以及用户终端103。认证中心101 就是统一的鉴权平台,用于对用户提供的登录信息进行验证,并在验证成功 后向用户终端103提供生成的域内令牌,还可以在用户后续利用该域内令牌 访问域内的其它应用服务时,对该域内令牌进行鉴权。实际应用中,该系统 还可能包括认证代理104,用于转发认i正中心101和用户终端103之间交互 的消息,以及该系统的门户(Portal)设备105。也就是说,用户首次访问提供应用服务的设备102或门户设备105时,
可以向认证代理104提供登录信息,认证代理104将登录信息转发给认证中 心101。当认证中心101-睑证成功时,将为该用户生成一个域内令牌,并通 过认证代理104将该域内令牌返回给用户终端103。此后,用户终端103就 可以直接利用该域内令牌对提供应用服务的设备102进行访问。当然,在获 得域内令牌后,用户终端103还可以访问域内的另一个提供应用服务的设备 102。此时,用户终端103需要将事先已经获得的域内令牌通过认证代理104 发送给认证中心101,认证中心101对该域内令牌进行验证,并将验证结果 返回给当前被访问的另一个提供应用服务的设备102,当前被访问的另一个
虽然域内的单点登录技术可以在用户仅提交一次登录信息的情况下,由 认证中心提供域内令牌,用户终端利用该域内令牌访问域内的各个应用服 务,从而避免用户记忆多个针对不同应用服务的登录信息,但域内令牌只能 用于访问域内应用服务,无法实现访问其它域的应用月良务的实际需求。实际 应用中,多个企业或机构所在域中的用户可能需要相互访问对方的应用服 务,而每个域都有各自的鉴权机制,生成的域内令牌无法被其它域识别和认 证,也就无法访问其它域的应用月良务。
为了用户在仅提交一次登录信息后也可以访问其它域的应用服务,目前 提出联邦单点登录(Federated SSO)、跨域单点登录(Cross-domain SSO )等 技术。不管采用哪种技术,每个域都可以为登录成功的用户生成便于其它域 识别的跨域令牌。这样,某个域的用户在登录成功后,如果利用认证中心提 供的跨域令牌访问自身所在域的应用服务,可以由该用户自身所在的域对跨 域令牌直接进行鉴权,并返回鉴权结果;而如果用户利用跨域令牌访问其它 域的应用服务,则可以由其它域对跨域令牌进行鉴权,或者由其它域将跨域 令牌发送给该用户所在的域进行鉴权,并获得返回的鉴权结果。此后,被访访问。
上述仅仅是对联邦单点登录、跨域单点登录等技术的简单描述,至于具 体如何生成跨域令牌、用户如何利用跨域令牌访问应用服务等属于现有技 术,此处不再赘述。
在用户仅登录一次的情况下,联邦单点登录、跨域单点登录等现有技术虽然可以为用户提供跨域令牌,允许用户不但可以访问域内的应用服务,还 可以访问其它域的应用服务,但该技术要求每个域的i人证中心等与用户身份 鉴别相关的设备都必须支持该技术。在这种情况下,如果原有的仅支持域内 令牌的域A需要与支持跨域令牌的域B实现跨域访问,即两个域内的用户 相互访问对方的应用服务,由于原有的仅支持域内令牌的域A无法为用户提
供跨域令牌,通常会将域A中的认证中心等与用户身份鉴别相关的设备直接
替换为支持联邦单点登录、跨域单点登录等技术的设备,造成原有设备的浪 费,成本的增加。
可见,现有技术还没有提出一种在原有的仅支持域内令牌的系统基础上 向用户提供跨域令牌的方法和系统。

发明内容
本发明第一个发明目的是提出一种向用户提供跨域令牌的系统,可以在 原有的仅支持域内令牌的系统基础上向用户提供跨域令牌。
本发明的第二个发明目的是提出一种向用户提供跨域令牌的方法,可以 在原有的仅支持域内令牌的系统基础上向用户提供跨域令牌。
针对上述第一个发明目的,本发明提出的技术方案是 一种提供跨域令牌的系统,该系统包括
令牌适配器,用于将用户终端提交的登录信息转发给认证中心,在获得 由认证中心返回的域内令牌时,利用获得的域内令牌向令牌管理子系统发送 令牌请求,接收返回的跨域令牌,并将获得的跨域令牌返回给用户终端;
认证中心,用于在接收到令牌适配器转发的登录信息时,利用设定的用 户鉴权方法对登录信息进行验证,并在验证成功时将生成的域内令牌返回给 令牌适配器;
令牌管理子系统,用于捕获认证中心返回给令牌适配器的域内令牌,根
接收令牌适配器发送的令牌请求,利用所述令牌验证信息对令牌请求中的域 内令牌进行验证,并在验证成功时将生成的跨域令牌返回给令牌适配器。 上述方案中,所述令牌管理子系统包括
域内令牌捕获器,用于捕获认证中心返回给令牌适配器的域内令牌;利 用签名算法对令牌验证信息进行签名,获得验证信息签名结果,所述令牌验证信息由捕获到的域内令牌确定;将令牌验证信息和-睑证信息签名结果一并 发送给域内令牌验证管理器;
域内令牌验证管理器,用于根据验证信息签名结果对令牌验证信息进行 验证,并在验证成功时保存所述令牌验证信息;还用于在接收到令牌适配器 发送的令牌请求时,利用保存的令牌验证信息对令牌请求中携带的域内令牌 进行验证,并在验证成功时向跨域令牌管理器发送令牌请求,将跨域令牌管 理器返回的跨域令牌转发给令牌适配器;
跨域令牌管理器,用于在接收到域内令牌验证管理器发送的令牌请求 时,生成跨域令牌,将生成的跨域令牌返回给域内令牌验证管理器。
上述方案中,所述域内令牌捕获器包括
捕获单元,用于捕获认证中心返回给令牌适配器的域内令牌,将捕获到 的域内令牌作为令牌验证信息送给第 一签名执行单元;
第一签名执行单元,用于利用签名算法对输入的信息进行签名,获得验 证信息签名结果,并将令牌验证信息和获得的验证信息签名结果输出给第一 收发单元;
第一收发单元,将令牌验证信息和验证信息签名结果发送给域内令牌验 证管理器。
上述方案中,所述域内令牌捕获器进一步包括
第一存储单元,用于保存发送方签名相关信息,所述发送方签名相关信 息包括所有的运算次数以及所有的哈希运算结果,所述运算次数与哈希运算 结果——对应,每一个哈希运算结果是对产生的随机数进行相应运算次数的 哈希运算结果;
第一选择单元,用于按照顺序从第一存储单元中选择出 一个运算次数和 对应的哈希运算结果,并将选出的结果提供给第 一签名执行单元;
所述第一收发单元进一步用于在将令牌验证信息和验证信息签名结果 发送给域内令牌验证管理器时,将运算次数一并发送给域内令牌验证管理器。
上述方案中,所述域内令牌捕获器进一步包括
第一存储单元,用于保存上一次参与签名运算的发送方签名相关信息, 所述发送方签名相关信息包括一个运算次数和对应的一个哈希运算结果,所 述哈希运算结果是对产生的随机数进行相应运算次数的哈希运算结果;第 一计算单元,用于根据第 一存储单元中上一次参与签名运算的发送方 签名相关信息计算出当前的发送方签名相关信息,并提供给第一签名执行单
元;
所述第一收发单元进一步用于在将令牌验证信息和验证信息签名结果 发送给域内令牌验证管理器时,将运算次数一并发送给域内令牌验证管理器。
上述方案中,所述域内令牌验证管理器包括
第二收发单元,用于接收来自域内令牌捕获器的令牌验证信息和验证信 息签名结果,所述令牌验证信息为域内令牌;将令牌验证信息输出给第二签 名执行单元,将验证信息签名结果输出给第一判别单元;还用于接收令牌适 配器发送的令牌请求,并将令牌请求中的域内令牌输出给第二判别单元;还 用于将跨域令牌管理器返回的跨域令牌转发给令牌适配器;
第二签名执行单元,用于根据签名算法对输入的信息进行签名,获得验 证信息签名结果,并输出给第一判别单元;
第一判别单元,用于判断第二签名执行单元和第二收发单元输入的验证
信息签名结果是否一致,如果一致,则确定验证成功,并将令牌验证信息保
存到令牌验证信息存储单元;
第二判别单元,用于判断第二收发单元输入的域内令牌与令牌验证信息
存储单元中保存的令牌验证信息是否一致,如果一致,则确定验证成功,并
向跨域令牌管理器发送令牌请求;
令牌验证信息存储单元,用于保存验证成功的令牌验证信息。 上述方案中,所述第二收发单元进一步用于,在接收到令牌验证信息和
验证信息签名结果时,还接收到运算次数,并将运算次数提供给第二签名执
行单元;
所述域内令牌验证管理器进一 步包括
第二存储单元,用于保存接收方签名相关信息,所述接收方签名相关信 息包括所有的哈希运算结果,所述哈希运算结果是对随机数进行各次哈希运 算的结果,所述随机数与域内令牌捕获器中的所述随机数相同;
第二选择单元,用于按照顺序从第二存储单元中选择出一个哈希运算结 果,并将选出的结果提供给第二签名执行单元。
上述方案中,所述第二收发单元进一步用于,'在接收到令牌验证信息和验证信息签名结果时,还接收到运算次数,并将运算次数提供给第二签名执
行单元;
所述域内令牌验证管理器进一 步包括
第二存储单元,用于保存上一次参与签名运算的接收方签名相关信息, 所述接收方签名相关信息包括一个哈希运算结果,所述哈希运算结果是对随 机数上一次哈希运算的结果,所述随机数与域内令牌捕获器中所述随机数相 同;
第二计算单元,用于根据第二存储单元中上一次参与签名运算的接收方 签名相关信息计算出当前的接收方签名相关信息,并提供给第二签名执行单元。
上述方案中,所述令牌适配器包括
第三收发单元,用于将用户终端提交的登录信息转发给认证中心;在获 得由认证中心返回的域内令牌时,利用获得的域内令牌向令牌管理子系统发 送令牌请求,接收返回的跨域令牌,并将获得的跨域令牌返回给用户终端; 还用于将获得域内令牌和跨域令牌对应地保存到第三存储单元;
第三存储单元,用于保存域内令牌和对应的跨域令牌。
上述方案中,
所述令牌适配器进一步包括令牌替换单元,用于将第三收发单元发来的 令牌认证请求中的跨域令牌替换为第三存储单元中对应的域内令牌,并将替 换后的令牌认证请求通过第三收发单元发送给认证中心;
令牌适配器中的第三收发单元进一步用于在用户访问域内应用服务 时,将接收到的携带有跨域令牌的令牌认证请求发送给替换单元;将替换单 元返回的令牌认证请求转发给认证中心;接收认证中心返回的令牌认证响 应,并将令牌认证响应提供给用户访问的应用服务。
上述方案中,所述令牌管理子系统进一步用于在用户终端利用跨域令 牌对域外应用服务进行跨域访问时,接收来自域外应用服务的携带有跨域令 牌的令牌认证请求,利用事先生成的跨域令牌对令牌认证请求中的跨域令牌
进行验证,并将令牌认证响应返回给域外应用服务。 针对本发明第二个发明目的,提出的技术方案是 一种提供跨域令牌的方法,包括
令牌适配器201将用户终端提交的登录信息转发给认证中心;认证中心利用事先设置的用户鉴权方法对登录信息进行验证,并在验证 成功时将生成的域内令牌返回给令牌适配器;
令牌管理子系统捕获i人证中心返回给令牌适配器的域内令牌,根据捕获
到令牌适配器发送的携带有域内令牌的令牌请求时,利用所述令牌验证信息 对令牌请求中的域内令牌进行验证,并在验证成功时将生成的跨域令牌返回
给令牌适配器;
令牌适配器将获得的跨域令牌返回给用户终端。
上述方案中,所述令牌管理子系统包括域内令牌捕获器、域内令牌-睑证 管理器和跨域令牌管理器;所述令牌管理子系统捕获认i正中心返回给令牌适 配器的域内令牌,根据捕获到的域内令牌确定并保存用于-睑证域内令牌合法 性的令牌验证信息的步骤包括
所述域内令牌捕获器捕获认证中心返回给令牌适配器的域内令牌,利用 签名算法对令牌验证信息进行签名,获得验证信息签名结果,并将令牌验证 信息和验证信息签名结果一并发送给域内令牌验证管理器,所述令牌验证信 息由捕获到的域内令牌确定;
所述域内令牌验证管理器根据验证信息签名结果对令牌验证信息进行 验证,并在验证成功时保存所述令牌验证信息。
上述方案中,所述令牌管理子系统在接收到令牌适配器发送的令牌请求 时,利用所述令牌验证信息对令牌请求中的域内令牌进行验证,在验证成功 时将生成的跨域令牌返回给令牌适配器的步骤包括
所述域内令牌验证管理器接收来自令牌适配器的令牌请求,利用保存的 令牌验证信息对令牌请求中的域内令牌进行验证,在验证成功时向跨域令牌 管理器发送令牌请求;
所述跨域令牌管理器生成跨域令牌,并将生成的跨域令牌返回给域内令 牌验证管理器;
域内令牌验证管理器将获得的跨域令牌返回给令牌适配器。
上述方案中,所述域内令牌捕获器利用签名算法对令牌验证信息进行签
名,获得验证信息签名结果的步骤包括
所述域内令牌捕获器将捕获到的令牌作为令牌验证信息,利用签名算法
直接对令牌验证信息进行签名运算,将签名运算的结果作为验证信息签名结果。
上述方案中,所述域内令牌验证管理器根据验证信息签名结果对令牌验 证信息进行验证的步骤包括
所述域内令牌验证管理器将接收到的令牌验证信息直接进行签名运算,
获得验证信息签名结果;判断计算出的验证信息签名结果与接收到的验证信
息签名结果是否一致,如果一致,则确定验证成功,否则,验证失败。 上述方案中,所述域内令牌验证管理器利用所述保存的令牌验证信息对
令牌请求中的域内令牌进行验证的步骤包括
所述域内令牌验证管理器将令牌请求中的域内令牌与保存的令牌验证 信息进行比较,如果一致,则确定验证成功;否则,验证失败。
上述方案中,所述域内令牌捕获器利用签名算法对令牌验证信息进行签 名,获得验证信息签名结果的方法包括
将域内令牌作为令牌验证信息,将当前的运算次数、对产生的随机数进 行相应运算次数的哈希运算的结果作为发送方签名相关信息,将令牌验证信 息和发送方签名相关信息 一并进行签名运算,并将签名运算的结果作为验证 信息签名结果。
上述方案中,所述域内令牌验证管理器根据验证信息签名结果对令牌验 证信息进行验证的方法包括
算次数以及自身提供的对随机数进行哈希运算的结果一并进行签名运算,获 得验证信息签名结果;判断计算出的验证信息签名结果与域内令牌捕获器发 送来的验证信息签名结果是否一致,如果一致,则确定验证成功;否则,验 证失败。
上述方案中,在所述用户终端向认证中心提交登录信息之前,该方法进 一步包括
XI.域内令牌捕获器将产生的随机数和自身ID号进行签名运算,获得 发送方随机数签名结果;
X2.域内令牌捕获器利用与域内令牌验证管理器之间的共享密钥和对 称加密算法,将发送方随机数签名结果和随机数一并进行加密,获得发送方 加密结果,并将发送方加密结果发送给域内令牌验证管理器;
X3.域内令牌验证管理器对发送方加密结果进行解密,获得其中的发送方随机数签名结果、随机数和发送方ID号;
X4.域内令牌验证管理器将发送方ID1和随机数再次进行签名运算,获 得发送方随机数签名结果,并判断计算出的发送方随机数签名结果与接收到 的发送方随机数签名结果是否相同,如果相同,则继续执行步骤X5;
X5.域内令牌验证管理器将随机数和自身ID号进行签名运算,获得接 收方随机数签名结果;
X6.域内令牌验证管理器利用共享密钥和对称加密算法,将接收方随机 数签名结果和所述随机数一并进行加密,获得接收方加密结果,并将接收方 加密结果发送给域内令牌捕获器;
X7.域内令牌捕获器对接收方加密结果进行解密,获得其中的接收方随 机数签名结果、随机数和接收方ID号;
X8.域内令牌捕获器将接收到的接收方ID号和所述随机数再次进行签 名运算,获得接收方随机数签名结果,并判断计算出.的接收方随机数签名结 果与接收到的接收方随机数签名结果是否相同,如果相同,则结束协商过程。
综上所述,通过本发明提出的一种提供跨域令牌的系统和方法,可以不 必对原有的认证中心进行大量更改,也不必替换原有的认证中心,而是直接 在原有仅支持域内令牌系统的基础上实现向用户终端提供跨域令牌的目的, 从而可以充分利用原有仅支持域内令牌的系统,节约了成本。


下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通 技术人员更清楚本发明的上述及其它特征和优点,附图中
图1是现有技术中在一个域内实现单点登录的系统示意图2是本发明向用户提供跨令牌的系统示意图3是系统实施例一中提供跨域令牌的系统结构示意图4是系统实施例一中域内令牌捕获器2031的内部结构示意图5是系统实施例一中域内令牌验证管理器2032的内部结构示意图6是系统实施例一中令牌适配器201的内部结构示意图7是系统实施例二中域内令牌捕获器2031的一个内部结构实例;
图8是系统实施例二中域内令牌验证管理器2032的 一个内部结构实例;
图9是系统实施例二中域内令牌捕获器2031的另一个内部结构实例;图10是系统实施例二中域内令牌验证管理器2032的另 一个内部结构实
例;
图11是利用本发明实施例方案时两个域组成的系统结构示意图; 图12是本发明提供跨域令牌的方法流程图; 图13是方法实施例一的流程示意; 图14是方法实施例二的流程示意。
具体实施例方式
图2是本发明向用户提供跨令牌的系统示意图。如图2所示,该系统包

令牌适配器201 ,用于将用户终端提交的登录信息转发给认证中心202, 在获得了由认证中心202返回的域内令牌时,利用获得的域内令牌向令牌管 理子系统203发送令牌请求,接收返回的跨域令牌,并将获得的跨域令牌返 回纟会用户终端204。
认证中心202,用于在接收到令牌适配器201转发的登录信息时,利用 设定的用户鉴权方法对登录信息进行验证,并在验证成功时将生成的域内令 牌返回给令牌适配器201。
令牌管理子系统203 ,用于捕获认证中心202返回给令牌适配器201的 域内令牌,4艮据捕获到的域内令牌确定用于验证域内令牌合法性的令牌验证 信息;还用于接收令牌适配器201发送的令牌请求,利用所述令牌验证信息 对令牌请求中的域内令牌进行验证,并在验证成功时将生成的跨域令牌返回 给令牌适配器201。
也就是说,在用户终端访问应用服务之前,用户终端通过令牌适配器201 向认证中心202提交登录信息;认证中心202在接收到令牌适配器转发的登 录信息时,利用设定的用户鉴权方法对登录信息进行验证,并在验证成功时 将生成的域内令牌返回给令牌适配器201;在认证中心202将域内令牌返回 给令牌适配器201时,令牌管理子系统203捕获该域内令牌,并根据捕获到
令牌适配器201发送的令牌请求时,令牌管理子系统203就可以利用所述令 牌验证信息对令牌请求中的域内令牌进行验证,并在验ii成功时将生成的3争 域令牌返回给令牌适配器201;令牌适配器201再将获得的跨域令牌返回给用户终端。
这样,由于本发明在原有系统的基础上增加了令牌适配器201和令牌管
理子系统203,不必对原有的认证中心进行大量更改,也不必替换原有的认
证中心,就可以实现向用户终端提供跨域令牌。
本发明中,由于域内令牌由认证中心202生成,而跨域令牌由令牌管理 子系统203生成,为了保证跨域令牌所对应的域内令牌是合法的,或者说, 可以用可靠的方法来验证域内令牌的合法性,应该保证认证中心202和令牌 管理子系统203之间的信任关系。所谓信任关系是指令牌管理子系统203可 以确认接收到的域内令牌确实是由认证中心202生成,而没有被破坏或者由 其它实体非法生成。
实际应用中,某些情况可以保证认证中心202和令牌管理子系统203之 间存在比较高的信任关系。比如令牌管理子系统203与认证中心202位于 同一个物理实体中;或者,令牌管理子系统203与认证中心202分布在不同 的物理实体中,但实体之间的物理位置很近,也同样存在比较高的信任关系。 当然,如果认证中心202和令牌管理子系统203分布在不同的物理实体中, 但实体之间的物理位置较远或由于其它因素,就需要在其之间建立信任关 系。至于如何建立信任关系,将在以下的实施例进行详细描述,此处不再赘 述。
为了更好地说明本发明方案,下面用实施例进行详细i兌明。 系统实施例一
图3是本实施例的系统结构示意图。如图3所示,本实施例包括令牌适 配器201、认证中心202、令牌管理子系统203和用户终端204。其中,令牌 管理子系统203从逻辑上划分为域内令牌捕获器2031、域内令牌验证管理器 2032和跨域令牌管理器2033。域内令牌捕获器2031与认证中心202位于同 一个物理实体,域内令牌验证管理器2032和跨域令牌管理器2033位于另一 个物理实体中。
如图3所示,令牌管理子系统203包括
域内令牌捕获器2031,用于捕获认证中心202返回给令牌适配器201 的域内令牌;利用签名算法对令牌验证信息进行签名,获得验证信息签名结 果,所述令牌验证信息由捕获到的域内令牌确定;将令牌验证信息和验证信 息签名结果一并发送给域内令牌验证管理器2032。域内令牌验证管理器2032,用于根据验证信息签名结果对令牌验证信息 进行验证,并在验证成功时保存所述令牌验证信息;还用于在接收到令牌适 配器201发送的令牌请求时,利用保存的令牌验证信息对令牌请求中携带的 域内令牌进行验证,并在验证成功时向跨域令牌管理器2033发送令牌请求, 将跨域令牌管理器2033返回的跨域令牌转发给令牌适配器201。
跨域令牌管理器2033,用于在接收到域内令牌验证管理器2032发送的 令牌请求时,生成跨域令牌,并将生成的跨域令牌返回给域内令牌验证管理 器2032。
上述的域内令牌捕获器2031、域内令牌验证管理器2032、跨域令牌管 理器2033仅仅是对令牌管理子系统203进行逻辑划分的结构,实际应用中 也可以不按此进行划分,只要能够实现令牌管理子系统203的功能即可。
本实施例中,由于认证中心202和域内令牌捕获器2031位于同一个物 理实体,生成的域内令牌可以从内部传送,具备较高的信任关系。比如,可 以将认证中心202所在物理实体的网卡等装置设置为嗅探(sniffer)模式, 捕获认证中心202发送出去的所有数据包,并从中获取域内令牌,从而实现 域内令牌捕获器2031对域内令牌的捕获。
本实施例中,域内令牌验证管理器2032和跨域令牌管理器2033位于一 个物理实体中,也同样具备较高的信任关系。
本实施例中,域内令牌捕获器2031和域内令牌验证管理器2032分别位 于两个物理实体,可以通过签名的方式来保证信任关系。具体地说,域内令 牌捕获器2031捕获到域内令牌后,由域内令牌确定令牌验证信息,将令牌 验证信息利用哈希算法等方法进行签名,获得验证信息签名结果,再将令牌 验证信息和验证信息签名结果一并发送给域内令牌验证管理器2032。相应 地,域内令牌验证管理器2032接收到令牌验证信息和验证信息签名结果后, 可以将接收到的令牌验证信息先进行签名运算,运算时所使用的签名算法与 域内令牌捕获器2031所使用的签名算法相同,再将计算结果与接收到的验 证信息签名结果进行比较,如果一致,则可以验证该域内令牌的合法性,并 将通过验证的令牌验证信息保存下来。
这里,所述的令牌验证信息可以是捕获到的域内令牌本身,也可以是域 内令牌的签名,其可以由应用本实施例方案的用户自行确定。如果令牌验证 信息是捕获到的域内令牌本身,当域内令牌验证管理器2032需要验证由令牌适配器201发送的令牌请求中的域内令牌时,就可以将事先获得的令牌验
证信息与令牌请求中的域内令牌进行比较,如果一致,则验证成功;否则,
验证失败。如果令牌验证信息是域内令牌的签名,当域内令牌验证管理器
2032需要验证由令牌适配器201发送的令牌请求中的域内令牌时,就可以先 将令牌请求中的域内令牌进行签名运算,再将计算结果与事先获得的令牌验 证信息进行比较,如果一致,则验证成功;否则,-验证失败。
按照上述的方式,域内令牌验证管理器2032可以获得令牌验证信息和 验证信息签名结果,并保存验证成功的令牌验证信息。实际应用中,为了更 加可靠地传送上述信息,还可以在域内令牌捕获器2031和域内令牌验证管 理器2032之间采用如PKI之类的非对称加密算法,至于如何实施,则属于 现有技术,此处不再赘述。
另外,实际应用中,域内令牌捕获器2031和域内令牌验证管理器2032 之间可以采用消息的方式传送上述信息。比如,域内令牌捕获器2031将令 牌验证信息和验证信息签名结果作为消息内容,与消息头一起组合为 一条消 息,再将其发送给域内令牌验证管理器2032。
本实施例中,当令牌适配器201从认证中心202接收到返回的域内令牌 时,将携带有域内令牌的令牌请求发送给域内令牌验证管理器2032,域内令 牌验证管理器2032按照上述方法对令牌请求中的域内令牌进行验证后,向 跨域令牌管理器2033请求跨域令牌,并将跨域令牌返回给令牌适配器201, 令牌适配器201再将跨域令牌返回给用户终端204, 乂人而实现向用户终端204 提供跨域令牌的目的。
实际应用中,域内令牌捕获器2031的内部结构可以如图4所示,包括
捕获单元2031a,用于捕获认证中心202返回给令牌适配器201的域内 令牌,将捕获到的域内令牌作为令牌验证信息输出给第 一签名执行单元 2031b。
第一签名执行单元2031b,用于利用签名算法对输入的信息进行签名, 获得验证信息签名结果,并将令牌验证信息和获得的验证信息签名结果输出 给第一收发单元203lc。
第一收发单元2031c,将令牌验证信息和验证信息签名结果发送给域内 令牌验i正管理器2032。
相应地,域内令牌验证管理器2032的内部结构示意图可以如图5所示,包括
第二收发单元2032a,用于接收来自域内令牌捕获器2031的令牌验证信 息和验证信息签名结果,所述令牌验证信息为域内令牌;将令牌验证信息输 出给第二签名执行单元2032b,将验证信息签名结果输出给第一判别单元 2032c;还用于接收令牌适配器201发送的令牌请求,并将令牌请求中的域 内令牌输出给第二判别单元2032d;还用于将跨域令牌管理器2033返回的跨 域令牌转发给令牌适配器201 。
第二签名执行单元2032b,用于根据签名算法对输入的信息进行签名, 获得验证信息签名结果,并输出给第一判别单元2032c。
第一判别单元2032c,用于判断第二签名执行单元2032b和第二收发单 元2032a输入的验证信息签名结果是否一致,如果一致,则确定验证成功, 并将令牌验证信息保存到令牌验证信息存储单元2032e。
第二判别单元2032d,用于判断第二收发单元2032a输入的域内令牌与 令牌验证信息存储单元2032e中保存的令牌验证信息是否一致,如果一致, 则确定验证成功,并向iEt域令牌管理器2033发送令牌请求。
令牌验证信息存储单元2032e,用于保存验证成功的令牌验证信息。 本实施例中,令牌适配器201的内部结构示意图可以如图6所示,包括 第三收发单元2011,用于将用户终端204提交的登录信息转发给认证中 心202;在获得了由认证中心202返回的域内令牌时,利用获得的域内令牌 向令牌管理子系统203发送令牌请求,接收返回的跨域令牌,并将获得的跨 域令牌返回给用户终端204;还用于将获得域内令牌和跨域令牌对应地保存 到第三存储单元2012。
第三存储单元2012,用于保存域内令牌和对应的跨域令牌。 实际应用中,当用户终端204获得返回的跨域令牌之后,可以利用获得 的跨域令牌访问域内的应用服务和域外的应用服务。由于本实施例是在仅支 持域内令牌的系统基础上实现的,认证中心202只能识别域内令牌,域内的 应用服务也只能支持域内令牌。在这种情况下,为了保证用户终端204对域 内应用服务的访问,在令牌适配器201接收到携带有跨域令牌的令牌认证请 求时,需要将跨域令牌替换为对应的域内令牌,再将令牌认证请求发送给认 证中心202进行认证。也就是说,本实施例中的令牌适配器201还可以进一 步包括令牌替换单元2013,用于将第三收发单元2011发来的令牌认证请求中 的跨域令牌替换为第三存储单元2012中对应的域内令牌,并将替换后的令 牌认证请求通过第三收发单元2011发送给认证中心202。
令牌适配器201中的第三收发单元2011进一步用于在用户访问域内 应用服务时,将接收到的携带有跨域令牌的令牌认证请求发送给令牌替换单 元2013;将令牌替换单元2013返回的令牌认证请求转发给认证中心202; 接收认证中心202返回的令牌认证响应,并将令牌认证响应提供给用户访问 的应用服务。
应用本实施例方案,可以在域内令牌捕获器2031和域内令牌验证管理 器2032之间建立信任关系,利用令牌验证信息来鉴别令牌请求中域内令牌 的合法性,并在验证通过时,由跨域令牌管理器2033生成跨域令牌,从而 在不改变原有的认证中心202功能的情况下,实现向用户终端204提供跨域 令牌的目的。
系统实施例二
本实施例的系统结构示意图与图3相同,包括令牌适配器201、认证中 心202、令牌管理子系统203和用户终端204。其中,令牌管理子系统203 从逻辑上也划分为域内令牌捕获器2031、域内令牌验证管理器2032和跨域 令牌管理器2033。域内令牌捕获器2031与认证中心202位于同一个物理实 体,域内令牌验证管理器2032和跨域令牌管理器2033位于另一个物理实体 中。
与系统实施例一不同的是,本实施例中的域内令牌捕获器2031和域内 令牌验证管理器2032分属的物理实体比较远,需要更加严格的签名验证方 法。
下面先对本实施例中域内令牌捕获器2031和域内令牌验证管理器2032 之间的签名验证方法进行简单介绍
假设域内令牌捕获器2031和域内令牌验证管理器2032共享同 一个随机 数R,并且可以独立地提供对随机数R的各次哈希运算的结果。本实施例中, 假设n表示运算次数,H^(R)表示对随机数R进行1次哈希运算,H②(R)表 示对随机数R进行2次哈希运算,...,HW(R)表示对随机数R进行n次哈希 运算,并依此类推。
一方面,域内令牌捕获器2031每次在对令牌验证信息进行签名时,也将上述运算次数n、对随机数R进行第n次哈希运算的结果HW(R)作为发送 方签名相关信息一并进行签名,获得验证信息签名结果,并将令牌验证信息、 运算次数n和验证信息签名结果发送给域内令牌验证管理器2032。
另一方面,域内令牌验证管理器2032利用接收到的令牌验证信息、运 算次数n和自身提供的对随机数R进行哈希运算的结果H^(R)—并进行签 名,获得验证信息签名结果,并将计算出的验证信息签名结果和从域内令牌 捕获器2031接收到的验证信息签名结果进行比较,如果一致,则可以确定 验证成功。
按照上述的方法,域内令牌捕获器2031每次在对令牌验证信息进行签 名时,参与签名的发送方签名相关信息都不相同,并且每次仅将一部分发送 方签名相关信息发送给域内令牌验证管理器2032。这样,即使非法用户截获 到令牌验证信息和验证信息签名结果,也^f艮难确定域内令牌以及签名方法等 信息,从而使域内令牌捕获器2031和域内令牌验证管理器2032之间的信任 关系更加可靠。
按照上述方法,本实施例中的域内令牌捕获器2031的内部结构示意图 可以如图7所示,包括捕获单元2031a、第一签名执行单元2031b、第一 收发单元2031c、第一存储单元2031d、第一选择单元2031e。其中,捕获单 元2031a、第一签名4丸行单元2031b、第一收发单元2031c的功能与系统实 施例一中图4所示的相应部分相同,此处不再赘述。不同的是,本实施例的 域内令牌捕获器2031还包括第一存储单元2031d和第一选择单元2031e。其 中,
第一存储单元2031d,用于保存发送方签名相关信息,所述发送方签名 相关信息包括所有运算次数以及所有的哈希运算结果,所述运算次数与哈希 运算结果一一对应,每一个哈希运算结果是对产生的随机数进行相应运算次 数的哈希运算的结果。
第一选择单元2031e,用于按照顺序从第一存储单元2031d中选择出一 个运算次数和对应的哈希运算结果,并将选出的结果提供给第一签名执行单 元2031b。
第一收发单元2031c还用于在将令牌验证信息和验证信息签名结果发 送给域内令牌验证管理器2032时,将第一签名执行单元2031b提供的运算 次数一并发送给域内令牌验证管理器2032。也就是说,在第一签名执行单元2031b进行签名时,不但需要对捕获单
元2031a捕获到的域内令牌进行签名,还需要对选择单元2041e选出的运算 次数和对应的哈希运算结果一并进行签名。
实际应用中,第一存储单元2031d可以将所有的运算次数,以及对随机 数进行各次哈希运算的所有结果对应地保存,即保存<1, H(1)(R)>、 <2, H(2)(R)>......。第一选择单元2031e可以按照从低到高的顺序依次选择运算
次数以及对应的哈希运算结果。比如,在对作为令牌验证信息的域内令牌 tokenl进行签名时,第一选^^单元2031e可以选4奪<1, H^(R)〉作为发送方签 名相关信息;第一签名执行单元2031b对tokenl||1 II H^(R)—并进行签名, 获得验证信息签名结果MAC1 =H (tokenl||ip(1)(R)),其中符号T,表示将 tokenl 、 1、 rf"(R)串连为一个序列。在对token2进行签名时,第一选择单元 203le可以选择<2, H②(R)M乍为发送方签名相关信息;第一签名执行单元 2031b对token2H2p②(R)—并进行签名,获得验证信息签名结果MAC2 = H (token2||2||H(2)(R));并依此类推。
相应地,本实施例中的域内令牌验证管理器2032的内部结构示意图如 图8所示,包括
第二收发单元2032a、第二签名执行单元2032b、第一判别单元2032c、 第二判别单元2032d、令牌验证信息存储单元2032e、第二存储单元2032f、 第二选择单元2032g。其中,第二收发单元2032a、第二签名执行单元2032b、 第一判别单元2032c、第二判别单元2032d、令牌验证信息存储单元2032e 的功能与系统实施例一中图5的相应部分相同,此处不再赘述。与系统实施 例一不同之处在于,本实施例还包括第二存储单元2032f和第二选择单元 2032g。
第二存储单元2032f,用于保存接收方签名相关信息,所述接收方签名 相关信息包括所有的哈希运算结果,所述哈希运算结果是对随机数进行各次 哈希运算的结果,所述随机数与域内令牌捕获器中的所述随机数相同。
第二选择单元2032g,用于按照顺序从第二存储单元2032f中选择出一 个哈希运算结果,并将选出的结果提供给第二签名执行单元2032b。
另外,第二收发单元2032a还需要在接收到令牌验证信息和验证信息签 名结果时,将接收到的运算次数提供给第二签名执行单元2032b。
也就是说,在第二签名执行单元2032b进行签名时,需要对接收到的令牌验证信息、运算次数,以及第二选择单元2032g选择出的接收方签名相关 信息一并进行签名。
实际应用中,与第一存储单元2031d类似,这里的第二存储单元2032f 可以将所有的运算次数,以及对随机数进行相应运算次数的哈希运算结果对 应地保存,即保存〈1,H("(R)〉、 <2,H(2)(R)>......。与第一选择单元2031e类
似,这里的第二选择单元2032g也可以按照从低到高的顺序依次选择与运算 次数对应的哈希运算结果。
上述的图7和图8是保存预先计算出的对随才几数进行各次哈希运算的所 有结果,此后再从中选出一个参与签名运算。实际应用中,也可以仅保存上 次采用的运算次数和对应的哈希运算结果。这样,如果当前需要利用运算次 数和对应的哈希运算结果一并进行签名时,可以将上次保存的运算次数加1, 并在上次保存的哈希运算结果的基础上再次进行t合希运算,即可获得当前的 运算次数和相应的哈希运算结果。比如上一次捕获的域内令牌为token4, 签名后保存的哈希运算结果为H(4)(R)。如果当前需要对token5进行签名,只 需要将H,R)再次进行哈希运算就可以获得H②(R),之后再利用H。(R)和运 算次数5参与对token5的签名。
在这种情况下,本实施例中的域内令牌捕获器2031的内部结构示意图 可以如图9所示,其中,捕获单元2031a、第一签名执行单元2031b、第一 收发单元2031c的功能与系统实施例一中图4的相应部分相同,此处不再赘 述。其区别在于,本实施例中的第一存储单元2031d仅保存上次参与签名的 发送方签名相关信息,即上次的运算次数和对应的一个哈希运算结果,所述 哈希运算结果是对随机数进行相应运算次数的哈希运算结果。另外,本实施 例中还包括第 一计算单元2031 f。
第一计算单元2031f,用于根据第一存储单元中上一次参与签名运算的 发送方签名相关信息计算出当前的发送方签名相关信息,并提供给第一签名 执行单元203 lb。
也就是说,在第一签名执行单元2031b进行签名时,由第一签名执行单 元203lb对捕获单元2031 a捕获到域内令牌和第 一计算单元203If计算出的 当前的发送方签名相关信息一并进行签名。
相应地,本实施例中的域内令牌验证管理器2032的内部结构示意图还 可以如图10所示,包括第二收发单元2032a、第二签名执行单元2032b、第一判别单元2032c、第二判别单元2032d、令牌验证信息存储单元2032e、 第二存储单元2032f、第二计算单元2042h。其中,第二收发单元2032a、第 二签名执行单元2032b、第一判别单元2032c、第二判别单元2032d、令牌验 证信息存储单元2032e的功能与图8中的相应部分相同,此处不再赘述。其 区别在于
第二存储单元2032f,用于保存上一次参与签名运算的接收方签名相关 信息,所述接收方签名相关信息包括一个哈希运算结果,所述哈希运算结果 是对随机数进行上一次哈希运算的结果,所述随机数与域内令牌捕获器中的 所述随^L数相同。
第二计算单元2042h,用于根据第二存储单元2032f中上一次参与签名 运算的接收方签名相关信息计算出当前的接收方签名相关信息,并提供给第 二签名执行单元2032b。
也就是说,在第二签名执行单元2032b进行签名时,不但需要对第二收 发单元2032a接收到的令牌验证信息、运算次数签名,还需要对第二计算单 元2042h计算出的当前接收方签名相关信息一并进行签名。
系统实施例二是假设域内令牌捕获器2031和域内令牌验证管理器2032 共享同一个随机数R,并且可以独立地提供对随机数R的各次哈希运算的结 果。也就是说,可以预先产生一个随机数R,并将产生的随机数R设置在域 内令牌捕获器2031和域内令牌验证管理器2032中。或者,也可以由域内令 牌捕获器2031或域内令牌验证管理器2032自身产生一个随机数R,并将产 生的随机数R传送给对方。至于如何安全地将随机数R传输给对方,将在 下面的方法实施例中进行详细描述,此处不再赘述。另外,域内令牌捕获器 2031和域内令牌验证管理器2032还需要具有相同的哈希运算方法,否则域 内令牌验证管理器2032无法对来自域内令牌捕获器2031的令牌验证信息正 确地进行验证。
另外,为了描述方便,本发明中的系统实施例是假设将域内令牌作为令 牌验证信息,而实际应用中,也可以将域内令牌的签名作为令牌验证信息, 其实现方式类似,此处不再赘述。
上述系统实施例一和系统实施例二描述了在仅支持域内令牌系统的基 础上,增加了令牌适配器和令牌管理子系统,从而实现向用户终端提供if争域 令牌的实施方案。实际应用中,某个企业或机构组成的系统不但需要向用户终端提供跨域令牌,还需要向用户终端提供应用服务。当用户获得提供的跨 域令牌之后,可再利用跨域令牌访问应用服务。下面以联邦单点登录技术为 例,对本发明实施例提出的提供跨域令牌的系统的应用情况进行简单描述 图11是利用本发明实施例方案时两个域组成的系统结构示意图。如图
11所示,假设域A属于企业A,是基于仅支持域内令牌系统上构成的新的 系统;域B属于企业B,是可支持联邦单点登录技术的系统,与现有技术中 的相同。其中,
域A包括令牌适配器201 、认证中心202、令牌管理子系统203和用户 终端204、,还包括提供应用服务的设备205、门户206、认证代理207。其 中,令牌适配器201、认证中心202和令牌管理子系统203可以组成本发明 所述的提供跨域令牌的系统,而用户终端204、提供应用月良务的设备205、 门户206和认证代理207与现有技术中的功能相同,此处不再赘述。
另外,域A的令牌管理子系统203包括域内令牌捕获器2031、域内令 牌验证管理器2032、跨域令牌管理器2033,其中,认证中心202和域内令 牌捕获器2031位于同一个物理实体,域内令牌验证管理器2032和跨域令牌 管理器2033位于另一个物理实体中。图11中,还可以假设需要在域内令牌 捕获器2031和域内令牌验证管理器2032之间建立信任关系。由于域内令牌 捕获器2031和域内令牌验证管理器2032可以充当在认证中心202以及跨域 令牌管理器2033之间传递信任关系的桥梁,所以,域内令牌捕获器2031和 域内令牌验证管理器2032也可以称为信任代理。图11中,々i设跨域令牌管 理器2033不但可以生成if争域令牌,还可以接收来自域外的认证请求,并对 其中的跨域令牌进行认证,其作用相当于域B的联邦服务器,所以,也可以 将图11中的跨域令牌管理器2033称为虚拟联邦服务器。
域B包括联邦服务器208、认证中心209、认证代理210、提供应用服 务的设备211。其中,认证中心209、认证代理210、提供应用服务的设备 211的功能与域A中的功能相似,只是支持的是跨域令牌。联邦服务器208 可以对来自其它域生成的跨域令牌进行认证,并在不能认证的情况下,将跨 域令牌发送给生成该跨域令牌的域进行i人证。
也就是说,域A中的用户终端204可以通过提供应用服务的设备205 或门户206将登录信息发送给令牌适配器201;令牌适配器201将弩录信息 透传给认证代理207;认证代理207将登录信息转发给认证中心202;认证中心202利用预设的用户鉴权方法对登录信息进行验证,并在验证成功时将
生成的域内令牌返回给认证代理207 。 一方面,在认证中心202将域内令牌 返回给认证代理207时,域内令牌捕获器2031捕获到该域内令牌,并利用 签名算法对由域内令牌确定的令牌验证信息进行签名,获得验证信息签名结 果;域内令牌捕获器2031再将令牌验证信息和验证信息签名结果一并发送 给域内令牌验证管理器2032;域内令牌验证管理器2032根据验证信息签名 结果对令牌验证信息进行验证,并在验证成功时保存所述令牌验证信息。另 一方面,令牌适配器201从认证代理207处截获到返回的域内令牌,向域内 令牌验证管理器2032发送携带有域内令牌的令牌请求;域内令牌验证管理 器2032利用保存的令牌验证信息对令牌请求中携带的域内令牌进行验证, 并在验证成功时向跨域令牌管理器2033发送令牌请求;跨域令牌管理器 2033将生成的跨域令牌返回给域内令牌验证管理器2032;域内令牌验证管 理器2032将跨域令牌返回给令牌适配器201;令牌适配器201保存跨域令牌 和对应的域内令牌,并将跨域令牌返回给用户终端204。
此后,当用户终端204利用跨域令牌访问域A内的应用服务时,提供应 用服务的设备205将携带有跨域令牌的令牌认证请求发送给令牌适配器 201;令牌适配器201将令牌认证请求中的跨域令牌替换为对应的域内令牌, 再将令牌认证请求通过认证代理207传送给认证中心202;认证中心202利 用事先生成的域内令牌对令牌认证请求中的域内令牌进行-验证,并向认证代 理207返回令牌认证响应;令牌适配器201从认证代理207处获得令牌认证 响应,将令牌认证响应返回给提供应用服务的设备205;提供应用服务的设 备205根据返回的令牌认证响应允许或拒绝用户的访问。
当用户终端204利用跨域令牌访问域B的应用服务时,提供应用服务的 设备211将携带有跨域令牌的令牌认证请求发送给认证代理210;认证代理 210判断出该令牌认证请求来自域外,将令牌认证请求转发给联邦服务器 208。如果联邦服务器208自身能够对跨域令牌进行认证,则直接对跨域令 牌进行认证,并通过认证代理210向提供应用服务的设备211返回令牌认证 响应;提供应用服务的设备211根据令牌认证响应允许或拒绝用户的访问。 如果联邦服务器208自身不能对跨域令牌进行认证,则将令牌认证请求发送 给域A的跨域令牌管理器2033;跨域令牌管理器2033利用事先生成的跨域 令牌对令牌认证请求中的跨域令牌进行认证,并向联邦服务器208返回令牌回该令牌认证响应;提供应用服务的设备211根据返回的令牌认证响应允许 或拒绝用户的访问。
这里,由于跨域令牌中通常包括域标识等信息,认证代理210通过域标 识等信息就可以识别出接收到的跨域令牌是来自自身所在的域,还是其它
域。另外,如果联邦服务器208和跨域令牌管理器2033之间支持如公钥基 础设施(PKI)的非对称密钥算法,联邦服务器208就可以直接对跨域令牌 进行认证,至于如何认证则属于现有技术,此处不再赘述。
针对上述系统,本发明还提供一种提供跨域令牌的方法。相应于图2中 本发明实施时的系统结构图,图12为本发明提供跨域令牌的方法流程示意 图。如图12所示,该方法包括
步骤1201:令牌适配器201将用户终端提交的登录信息转发给认证中心
202。
实际应用中,用户终端可以通过应用服务或门户,并通过认证代理等向 认证中心提交登录信息,所述的登录信息可以为用户名、口令等信息。当然, 具体的登录信息可以由应用本发明方案的用户确定,此处不再赘述。
步骤1202:认证中心202利用设定的用户鉴权方法对登录信息进行验 证,并在验证成功时将生成的域内令牌返回给令牌适配器201。
这里所述的用户鉴权方法可以与现有技术的方法相同。比如预先保存 合法用户的用户名和对应的口令,当接收到包括用户名和口令的登录信息 时,认证中心202判断自身是否存在接收到的登录信息,如果存在,则确认 -睑证成功;否则,-验i正失败。
步骤1203:令牌管理子系统203捕获认证中心202返回给令牌适配器 201的域内令牌,根据捕获到的域内令牌确定并保存用于验证域内令牌合法 性的令牌验证信息。
这里所述的令牌管理子系统203就是图2中的令牌管理子系统203,可 以实现对域内令牌的捕获,至于如何实现可以参见上述的系统部分,此处不 再赘述。
另外,这里的令牌验证信息是可以验证域内令牌合法性的信息,比如域 内令牌本身,或者域内令牌的签名。如果令牌验证信息为域内令牌,那么在 后续步骤1205需要对接收到的域内令牌进行验证时,就可以直接将接收到的域内令牌与令牌验证信息进行比较,如果一致,'则确定-睑证成功;否则,
验证失败。如果令牌验证信息为域内令牌的签名,那么在后续步骤1205需
要对接收到的域内令牌进行验证时,就可以先将接收到的域内令牌进行签名 运算,将计算出的结果与令牌验证信息进行比较,如果一致,则确定验证成
功;否则,-验证失败。
步骤1204:令牌适配器201利用获得的域内令牌向令牌管理子系统203 发送令牌请求。
步骤1205:令牌管理子系统203在接收到令牌适配器发送的令牌请求 时,利用令牌验证信息对令牌请求中的域内令牌进行验证,并在验证成功时 将生成的跨域令牌返回给令牌适配器201。
步骤1206:令牌适配器201将获得的跨域令牌返回给用户终端。
参见图2所示,由于本发明在原有系统的基础上增加了令牌适配器201 和令牌管理子系统203,不必对原有的认证中心进行大量更改,也不必替换 原有的认证中心,就可以按照上述方法实现向用户终端提供跨域令牌。
为了更好地描述本发明方案,下面用方法实施例进行详细说明。
方法实施例一
本方法实施例对应的系统结构示意图可以参见图3,具体情况此处不再 赘述。图13是本方法实施例的流程示意图,如图13所示,本方法实施例包 括
步骤1301 ~ 1302:用户终端204通过令牌适配器201向i人i正中心202 提交登录信息。
步骤1303 ~ 1304:认证中心202利用设定的用户鉴权方法对登录信息进
步骤1305 ~ 1307:域内令牌捕获器2031捕获认证中心202返回给令牌 适配器201的域内令牌,利用签名算法对令牌验证信息进行签名,获得验证 信息签名结果,并将令牌验证信息和验证信息签名结果一 并发送给域内令牌 验证管理器2032,所述令牌验证信息由捕获到的域内令牌确定。
本步骤中,所述令牌验证信息可以为域内令牌本身,也可以为域内令牌 的签名。
如果令牌验证信息为域内令牌token,域内令牌捕获器2031就可以直接 将域内令牌token进行签名,比如利用。合希运算对域内令牌token进行签名,获得验证信息签名结果MAC-H (token)。之后,域内令牌捕获器2031再将 域内令牌token和验证信息签名结果MAC —并发送给域内令牌验证管理器 2032。
如果令牌验证信息为域内令牌的签名,比如是直接利用哈希运算对 token的签名MAC=H (token),域内令牌捕获器2031还可以对该令牌验证 信息进行签名,获得验证信息签名结果H (MAC)。之后,域内令牌捕获器 2031再将域内令牌的签名MAC和验证信息签名结果H(MAC)—并发送给 域内令牌验证管理器2032。这里的域内令牌的签名是指对域内令牌直接进行 签名的结果,实际应用中,还可以将域内令牌与其它信息一并进行签名。
步骤1308:域内令牌验证管理器2032根据验证信息签名结果对令牌验 证信息进行验证,并在验证成功时保存令牌验证信息。
本步骤的具体验证方法与步骤1303中的签名方法对应。比如令牌验 证信息为域内令牌token,域内令牌验证管理器2032接收到域内令牌token 和验证信息签名结果MAC=H (token)时,可以将接收到的域内令牌token 再次进行签名运算,获得MAC',比较计算出的MAC'与接收到的MAC是否 一致,如果一致,则确定验证成功,并保存作为令牌验证信息的域内令牌 token。
再比如令牌^S正信息为域内令牌的签名,域内令牌^r证管理器2032 接收到域内令牌的签名MAC和验证信息签名结果H (MAC),可以将接收 到的域内令牌的签名MAC再次进行签名运算,获得H'(MAC),比较计算 出的H' (MAC)与接收到的H (MAC)是否一致,如果一致,则确定验证 成功,并保存作为令牌验证信息的域内令牌的签名MAC=H (token )。
步骤1309- 1311:域内令牌验证管理器2032接收来自令牌适配器201 的令牌请求,利用保存的令牌验证信息对令牌请求中的域内令牌进行验证, 在验证成功时向跨域令牌管理器2033发送令牌请求。
本步骤中,域内令牌验证管理器2032对令牌请求中的域内令牌进行验 证的方法也与令牌验证信息的类型相关。如果保存的令牌验证信息为域内令 牌,则可以直接将令牌请求中的域内令牌和保存的域内令牌进行比较,如果 一致,则确定-验证成功;否则,验i正失败。
当然,如果保存的令牌验证信息为域内令牌的签名,则可以先将令牌请 求中的域内令牌进行签名,比较计算出的签名结果与保存的域内令牌的签名是否一致,如果一致,则确定验证成功;否则,验证失败。
步骤1312 ~ 1313:跨域令牌管理器2042生成跨域令牌,并将生成的跨 域令牌返回给域内令牌验证管理器2032。
这里,跨域令牌管理器2042在生成跨域令牌时可以使用现有技术中已 有的生成跨域令牌的方法,对此不再赘述。
步骤1314 ~ 1315:域内令牌验证管理器2032将跨域令牌返回给令牌适 配器201 ,令牌适配器201再将跨域令牌返回给用户终端204。
应用本方法实施例,在域内令牌捕获器2031和域内令牌验证管理器 2032之间建立信任关系,利用令牌验证信息来鉴别令牌请求中域内令牌的合 法性,并在验证通过时,由跨域令牌管理器2033生成的跨域令牌,从而在 不改变原有的认证中心202功能的情况下,也可以实现向用户终端204提供 跨域令牌的目的。
方法实施例二
本方法实施例对应的系统结构也可以参见图3,包括用户终端204、令 牌适配器201、认证中心202和令牌管理子系统203。其中,令牌管理子系 统203从逻辑上划分为域内令牌捕获器2031、域内令牌-险"^正管理器2032和 跨域令牌管理器2033。域内令牌捕获器2031与认证中心202位于同一个物 理实体,域内令牌验证管理器2032和跨域令牌管理器2033位于另 一个物理 实体中。另外,假设本实施例中的域内令牌捕获器2031和域内令牌验证管 理器2032分属的物理实体比较远,需要更加严格的签名验i正方法。
另外,本方法实施例假设域内令牌捕获器2031和域内令牌验证管理器 2032共享同一个随机数R,并且可以独立地提供对随机数R的各次哈希运 算结果。
图14是本方法实施例的流程图。如图14所示,该方法包括 步骤1401 ~ 1402:用户终端204通过令牌适配器201向认证中心202 提交登录信息。
本步骤与步骤1301 ~ 1302相同,此处不再赘述。
步骤1403 ~ 1404:认证中心202利用设定的用户鉴权方法对登录信息进 本步骤与步骤1303 ~ 1304相同,此处不再赘述。
步骤1405 ~ 1406:域内令牌捕获器2031捕获认证中心202返回给令牌适配器201的域内令牌,将域内令牌作为令牌验证信息,将运算次数、对产 生的随机数进行相应运算次数的哈希运算的结果作为发送方签名相关信息, 将令牌验证信息和发送方签名相关信息一并进行签名运算,获得验证信息签 名结果。
这里,所述运算次数、对产生的随机数进行相应运算次数的哈希运算的
结果可以事先对应地保存在域内令牌捕获器2031中。在需要签名时,可以 直接按照从低到高的顺序依次选择运算次数以及对应的哈希运算结果。或 者,也可以仅保存上一次参与签名运算的发送方签名相关信息,在需要签名 时,再根据上一次参与签名运算的发送方签名相关信息计算出当前的发送方 签名相关信息,即步骤1405需要的运算次数以及对产生的随机数进行相应 运算次数的哈希运算结果。步骤1405的具体处理可以参见上述系统实施例 对图7的描述,此处不再赘述。
步骤1407:域内令牌捕获器2031将令牌验证信息和验证信息签名结果 一并发送给域内令牌验证管理器2032。
步骤1408- 1409:域内令牌验证管理器2032将域内令牌捕获器2031 发送来的令牌验证信息、运算次数以及自身提供的对随机数进行哈希运算的 结果一并进行签名运算,获得验证信息签名结果,判断计算出的验证信息签 名结果与域内令牌捕获器发送来的验证信息签名结果是否一致,如果一致, 则确定验证成功,并保存验证成功的令牌验证信息。
这里,域内令牌验证管理器2032也可以将所有的运算次数,以及对随 机数进行各次哈希运算的结果对应地保存,即保存<1, H(1)(R)>、 <2, H(2)(R)>、...。在需要签名时,直接按照从低到高的顺序依次选择与运算次 数对应的哈希运算结果。或者,域内令牌验证管理器2041仅保存上一次参 与签名运算的接收方签名相关信息,在需要签名时,根据上一次参与签名运 算的接收方签名相关信息计算出当前的接收方签名相关信息,即步骤1408 中所需要的接收方签名相关信息。步骤1408的具体处理可以参见系统实施 例二对图8的描述,此处不再赘述。
另外,本实施例是将域内令牌、运算次数、对产生的随机数进行相应运 算次数的哈希运算的结果一并进行签名运算,实际应用中还可以将其它信息 一并进行签名运算,比如域内令牌捕获器2031的ID号等。
步骤1410 ~ 1412:域内令牌验证管理器2032接收来自令牌适配器201的令牌请求,利用保存的令牌验证信息对令牌请求中的域内令牌进行验证,
在验证成功时向跨域令牌管理器2033发送令牌请求。
这里,步骤1410~ 1412与方法实施例一中的步骤1309~ 1311相同,此 处不再赘述。
步骤1413-1414:跨域令牌管理器2042生成^争域令牌,并将生成的跨 域令牌返回给域内令牌验证管理器2032。
这里,步骤1413~1414与方法实施例一中的步骤1312~1313相同,此
处不再赘述。
步骤1415 ~ 1416:域内令牌验证管理器2032将跨域令牌返回给令牌适 配器201,令牌适配器201再将跨域令牌返回给用户终端204。
这里,步骤1415 ~ 1416与方法实施例一中的步骤1314 ~ 1315相同,此
处不再赘述。
本实施例是假设域内令牌捕获器2031和域内令牌验证管理器2032共享 同一个随机数R,该随机数R可以由域内令牌捕获器2031产生,并将产生 的随机数R传送给域内令牌验证管理器2032。实际应用中,还可以预先在 域内令牌捕获器2031和域内令牌验证管理器2032中设置一个共享密钥k, 并支持对称加密算法。另外,还可以为域内令牌捕获器2031设置标识IDl, 为域内令牌验证管理器2032设置标识ID2。
这样,域内令牌捕获器2031和域内令牌验证管理器2032之间协商共享 随机数R的过程可以为
步骤X1:域内令牌捕获器2031将产生的随机数R和ID 1进行签名运算, 获得发送方随机数签名结果MAC^H (ID1||R)。
步骤X2:域内令牌捕获器2031利用共享密钥k和对称加密算法,将发 送方随机数签名结果MAC1和随机数R—并进行加密,获得发送方加密结 果Ek (ID1II寧AC1 ),并将发送方加密结果Ek (ID1II寧AC1 )发送给域 内令牌验证管理器2032。
步骤X3:域内令牌验证管理器2032对发送方加密结果Ek (ID1||R1|MAC1 )进行解密,获得其中的发送方随机数签名结果MAC1、随 机数R、 ID1。
步骤X4:域内令牌验证管理器2032将接收到的ID1和随机数R再次进 行签名运算,获得发送方随机数签名结果MAC1',并判断自身计算出的发送方随机数签名结果MAC1'与接收到的发送方随机数签名结果MAC1是否相 同,如果相同,则继续执行步骤X5。
步骤X5:域内令牌验证管理器2032将随机数R和ID2进行签名运算, 获得接收方随机数签名结果MAC2:H (ID2||R)。
步骤X6:域内令牌验证管理器2032利用共享密钥k和对称加密算法, 将接收方随机数签名结果MAC2和随机数R —并进行加密,获得接收方加 密结果Ek (ID2II寧AC2),并将接收方加密结果Ek (ID2,MAC2 )发送 给域内令牌捕获器2031。
步骤X7:域内令牌捕获器2031对接收方加密结果Ek (ID2||R||MAC2 ) 进行解密,获得其中的接收方随机数签名结果MAC2、随机数R、 ID2。
步骤X8:域内令牌捕获器2031将接收到的ID2和随机数R再次进行签 名运算,获得接收方随机数签名结果MAC2',并判断计算出的随机数签名结 果MAC2'与接收到的随机数签名结果MAC2是否相同,如果相同,则结束 协商过程。
经过上述过程,域内令牌捕获器2031和域内令牌验证管理器2032之间 可以安全地协商出一个共享随机数R,并各自进行保存。当然,在上述步骤 X4和步骤X8中,如果判断失败,还可以重新返回步骤Xl,直到双方获得 共享随机数R。
用中,为了更好地保证域内令牌捕获器2031和域内令牌验证管理器2032之 间的信任关系,防止非法用户的攻击,还可以在使用完对随机数R进行各次 哈希运算的结果之后,重新生成随机数R',再执行上述的协商过程。
应用本发明方案,由于可以在原有的仅支持域内令牌系统的基础上增加 了令牌适配器201和令牌管理子系统203,在认证中心将返回域内令牌时, 令牌适配器201可以向令牌管理子系统203请求跨域令牌,并将域跨令牌返 回给用户终端204。这样,不必对原有的认证中心进行大量更改,也不必替 换原有的认证中心,就可以达到向用户终端204提供跨域令牌的目的,从而 可以充分利用原有设备,节约系统成本。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等'同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种提供跨域令牌的系统,该系统包括令牌适配器,用于将用户终端提交的登录信息转发给认证中心,在获得由认证中心返回的域内令牌时,利用获得的域内令牌向令牌管理子系统发送令牌请求,接收返回的跨域令牌,并将获得的跨域令牌返回给用户终端;认证中心,用于在接收到令牌适配器转发的登录信息时,利用设定的用户鉴权方法对登录信息进行验证,并在验证成功时将生成的域内令牌返回给令牌适配器;令牌管理子系统,用于捕获认证中心返回给令牌适配器的域内令牌,根据捕获到的域内令牌确定用于验证域内令牌合法性的令牌验证信息;还用于接收令牌适配器发送的令牌请求,利用所述令牌验证信息对令牌请求中的域内令牌进行验证,并在验证成功时将生成的跨域令牌返回给令牌适配器。
2. 根据权利要求1所述的系统,其特征在于,所述令牌管理子系统包括 域内令牌捕获器,用于捕获认证中心返回给令牌适配器的域内令牌;利用签名算法对令牌验证信息进行签名,获得验证信息签名结果,所述令牌验 证信息由捕获到的域内令牌确定;将令牌验证信息和验证信息签名结果一并 发送给域内令牌验证管理器;域内令牌验证管理器,用于根据验证信息签名结果对令牌验证信息进行 验证,并在验证成功时保存所述令牌验证信息;还用于在接收到令牌适配器 发送的令牌请求时,利用保存的令牌验证信息对令牌请求中携带的域内令牌 进行验证,并在验证成功时向跨域令牌管理器发送令牌请求,将跨域令牌管 理器返回的跨域令牌转发给令牌适配器;跨域令牌管理器,用于在接收到域内令牌验证管理器发送的令牌请求 时,生成跨域令牌,将生成的跨域令牌返回给域内令牌验证管理器。
3. 根据权利要求2所述的系统,其特征在于,所述域内令牌捕获器包括 捕获单元,用于捕获认证中心返回给令牌适配器的域内令牌,将捕获到的域内令牌作为令牌验证信息送给第 一签名执行单元;第一签名执行单元,用于利用签名算法对输入的信息进行签名,获得验 证信息签名结果,并将令牌验证信息和获得的验证信息签名结果输出给第一 收发单元;第 一收发单元,将令牌验证信息和验证信息签名结果发送给域内令牌验 证管理器。
4. 根据权利要求3所述的系统,其特征在于,所述域内令牌捕获器进一步包括第一存储单元,用于保存发送方签名相关信息,所述发送方签名相关信 息包括所有的运算次数以及所有的哈希运算结果,其中,所述运算次数与哈 希运算结果一一对应,每一个哈希运算结果是对产生的随机数进行相应运算 次数的哈希运算结果;第一选择单元,用于按照顺序从第一存储单元中选择出一个运算次数和 对应的哈希运算结果,并将选出的结果提供给第 一签名执行单元;所述第一收发单元进一步用于在将令牌验证信息和验证信息签名结果 发送给域内令牌验证管理器时,将运算次数一并发送给域内令牌验证管理 器。
5. 根据权利要求3所述的系统,其特征在于,所述域内令牌捕获器进一 步包括第一存储单元,用于保存上一次参与签名运算的发送方签名相关信息, 所述发送方签名相关信息包括一个运算次数和对应的一个哈希运算结果,其 中,所述哈希运算结果是对产生的随机数进行相应运算次数的哈希运算结果;第一计算单元,用于根据第一存储单元中上一次参与签名运算的发送方 签名相关信息计算出当前的发送方签名相关信息,并提供给第一签名执行单 元;所述第一收发单元进一步用于在将令牌验证信息和验证信息签名结果发送给域内令牌验证管理器时,将运算次数一并发送给域内令牌验证管理 器。
6. 根据权利要求2所述的系统,其特征在于,所述域内令牌验证管理器 包括第二收发单元,用于接收来自域内令牌捕获器的令牌验证信息和验证信 息签名结果,所迷令牌验证信息为域内令牌;将令牌验证信息输出给第二签 名执行单元,将验证信息签名结果输出给第一判别单元;还用于接收令牌适 配器发送的令牌请求,并将令牌请求中的域内令牌输出给第二判别单元;还用于将跨域令牌管理器返回的跨域令牌转发给令牌适配器;第二签名执行单元,用于根据签名算法对输入的信息进行签名,获得验证信息签名结果,并输出给第一判别单元;第一判别单元,用于判断第二签名执行单元和第二收发单元输入的验证信息签名结果是否一致,如果一致,则确定验证成功,并将令牌验证信息保 存到令牌验证信息存储单元;第二判别单元,用于判断第二收发单元输入的域内令牌与令牌验证信息 存储单元中保存的令牌验证信息是否一致,如果一致,则确定验证成功,并 向跨域令牌管理器发送令牌请求;令牌验证信息存储单元,用于保存验证成功的令牌验证信息。
7. 根据权利要求6所述的系统,其特征在于,所述第二收发单元进一步 用于,在接收到令牌验证信息和验证信息签名结果时,还接收到运算次数, 并将运算次数提供给第二签名执行单元;所述域内令牌验证管理器进一 步包括第二存储单元,用于保存接收方签名相关信息,所述接收方签名相关信 息包括所有的哈希运算结果,所述哈希运算结果是对随机数进行各次哈希运 算的结果,所述随机数与域内令牌捕获器中的所述随机数相同;第二选择单元,用于按照顺序从第二存储单元中选择出一个哈希运算结果,并将选出的结果提供给第二签名执行单元。
8. 根据权利要求6所述的系统,其特征在于,所述第二收发单元进一步 用于,在接收到令牌验证信息和验证信息签名结果时,还接收到运算次数, 并将运算次数提供给第二签名执行单元;所述域内令牌验证管理器进一步包括第二存储单元,用于保存上一次参与签名运算的接收方签名相关信息, 所述接收方签名相关信息包括一个哈希运算结果,所述哈希运算结果是对随 机数进行上一次哈希运算的结果,所述随机数与域内令牌捕获器中所述随机 数相同;第二计算单元,用于根据第二存储单元中上一次参与签名运算的接收方 签名相关信息计算出当前的接收方签名相关信息,并提供给第二签名执行单元。
9. 根据权利要求1所述的系统,其特征在于,所述令牌适配器包括第三收发单元,用于将用户终端提交的登录信息转发给i^证中心;在获 得由认证中心返回的域内令牌时,利用获得的域内令牌向令牌管理子系统发 送令牌请求,接收返回的跨域令牌,并将获得的跨域令牌返回给用户终端; 还用于将获得域内令牌和跨域令牌对应地保存到第三存储单元;第三存储单元,用于保存域内令牌和对应的跨域令牌。
10. 根据权利要求9所述的系统,其特征在于,所述令牌适配器进一步包括令牌替换单元,用于将第三收发单元发来的 令牌认证请求中的跨域令牌替换为第三存储单元中对应的域内令牌,并将替 换后的令牌认证请求通过第三收发单元发送给认证中心;令牌适配器中的第三收发单元进一步用于在用户访问域内应用服务 时,将接收到的携带有跨域令牌的令牌认证请求发送给替换单元;将替换单 元返回的令牌认证请求转发给认证中心;4妄收认证中心返回的令牌认证响 应,并将令牌认证响应提供给用户访问的应用服务。
11. 根据权利要求1所述的系统,其特征在于,所述令牌管理子系统进 一步用于在用户终端利用跨域令牌对域外应用服务进行跨域访问时,接收 来自域外应用服务的携带有跨域令牌的令牌认证请求,利用事先生成的跨域 令牌对令牌认证请求中的跨域令牌进行验证,并将令牌认证响应返回给域外 应用服务。
12. —种提供跨域令牌的方法,包括令牌适配器201将用户终端提交的登录信息转发给认证中心; 认证中心利用事先设置的用户鉴权方法对登录信息进行验证,并在验证 成功时将生成的域内令牌返回给令牌适配器;令牌管理子系统捕获认证中心返回给令牌适配器的域内令牌,根据捕获到令牌适配器发送的携带有域内令牌的令牌请求时,利用所述令牌验证信息 对令牌请求中的域内令牌进行验证,并在验证成功时将生成的跨域令牌返回 给令牌适配器;令牌适配器将获得的跨域令牌返回给用户终端。
13. 根据权利要求12所述的方法,其特征在于,所述令牌管理子系统包 括域内令牌捕获器、域内令牌验证管理器和跨域令牌管理器;所述令牌管理 子系统捕获认证中心返回给令牌适配器的域内令牌,根据捕获到的域内令牌确定并保存用于验证域内令牌合法性的令牌验证信息的步骤包括所述域内令牌捕获器捕获认证中心返回给令牌适配器的域内令牌,利用 签名算法对令牌验证信息进行签名,获得—验证信息签名结果,并将令牌验证 信息和验证信息签名结果一并发送给域内令牌验证管理器,所述令牌验证信息由捕获到的域内令牌确定;所述域内令牌验证管理器根据验证信息签名结果对令牌验证信息进行 验证,并在验证成功时保存所述令牌验证信息。
14. 根据权利要求13所述的方法,其特征在于,所述令牌管理子系统在 接收到令牌适配器发送的令牌请求时,利用所述令牌验证信息对令牌请求中 的域内令牌进行验证,在验证成功时将生成的跨域令牌返回给令牌适配器的 步骤包括所述域内令牌—险证管理器接收来自令牌适配器的令牌请求,利用保存的 令牌验证信息对令牌请求中的域内令牌进行验证,在验证成功时向跨域令牌 管理器发送令牌请求;所述跨域令牌管理器生成跨域令牌,并将生成的跨域令牌返回给域内令 牌验证管理器;域内令牌验证管理器将获得的跨域令牌返回给令牌适配器。
15. 根据权利要求14所述的方法,其特征在于,所述域内令牌捕获器利 用签名算法对令牌验证信息进行签名,获得验证信息签名结果的步骤包括所述域内令牌捕获器将捕获到的令牌作为令牌验证信息,利用签名算法 直接对令牌验证信息进行签名运算,将签名运算的结果作为验证信息签名结 果。
16. 根据权利要求15所述的方法,其特征在于,所述域内令牌验证管理 器根据验证信息签名结果对令牌验证信息进行验证的步骤包括所述域内令牌验证管理器将接收到的令牌验证信息直接进行签名运算, 获得验证信息签名结果;判断计算出的验证信息签名结果与接收到的验证信 息签名结果是否一致,如果一致,则确定验证成功,否则,验证失败。
17. 根据权利要求16所述的方法,其特征在于,所述域内令牌验证管理 器利用所述保存的令牌验证信息对令牌请求中的域内令牌进行验证的步骤 包括所述域内令牌验证管理器将令牌请求中的域内令牌与保存的令牌验证信息进行比较,如果一致,则确定验证成功;否则,验证失败。
18. 根据权利要求14所述的方法,其特征在于,所述域内令牌捕获器利 用签名算法对令牌验证信息进行签名,获得验证信息签名结果的方法包括将域内令牌作为令牌验证信息,将当前的运算次数、对产生的随机数进 行相应运算次数的哈希运算的结果作为发送方签名相关信息,将令牌验证信 息和发送方签名相关信息一并进行签名运算,并将签名运算的结果作为验证 信息签名结果。
19. 根据权利要求18所述的方法,其特征在于,所述域内令牌验证管理 器根据验证信息签名结果对令牌验证信息进行验证的方法包括所述域内令牌验证管理器将域内令牌捕获器发送来的令牌验证信息、运 算次数以及自身提供的对随机数进行哈希运算的结果一并进行签名运算,获 得验证信息签名结果;判断计算出的验证信息签名结果与域内令牌捕获器发 送来的验证信息签名结果是否一致,如果一致,则确定验证成功;否则,验 i正失败。
20. 根据权利要求19所述的方法,其特征在于,在所述用户终端向认证 中心提交登录信息之前,该方法进一步包括XI.域内令牌捕获器将产生的随机数和自身ID号进行签名运算,获得 发送方随机数签名结果;X2.域内令牌捕获器利用与域内令牌验证管理器之间的共享密钥和对 称加密算法,将发送方随机数签名结果和随机数一并进行加密,获得发送方 加密结果,并将发送方加密结果发送给域内令牌验证管理器;X3.域内令牌验证管理器对发送方加密结果进行解密,获得其中的发送 方随机数签名结果、随机数和发送方ID号;X4.域内令牌验证管理器将发送方ID1和随机数再次进行签名运算,获 得发送方随机数签名结果,并判断计算出的发送方随机数签名结果与接收到 的发送方随机数签名结果是否相同,如果相同,则继续执行步骤X5;X5.域内令牌验证管理器将随机数和自身ID号进行签名运算,获得接 收方随机数签名结果;X6.域内令牌验证管理器利用共享密钥和对称加密算法,将接收方随机 数签名结果和所述随机数一并进行加密,获得接收方加密结果,并将接收方 加密结果发送给域内令牌捕获器;X7.域内令牌捕获器对接收方加密结果进行解密,获得其中的接收方随机数签名结果、随机数和接收方ID号;X8.域内令牌捕获器将接收到的接收方ID号和所述随机数再次进行签 名运算,获得接收方随机数签名结果,并判断计算出的接收方随机数签名结 果与接收到的接收方随机数签名结果是否相同,如果相同,则结束协商过程。
全文摘要
本发明提供一种提供跨域令牌的系统和方法,用户终端向认证中心提交登录信息,认证中心利用用户鉴权方法对登录信息进行验证,在验证成功时将生成的域内令牌返回给令牌适配器;令牌管理子系统捕获认证中心返回给令牌适配器的域内令牌,根据捕获到的域内令牌确定并保存令牌验证信息;在接收到令牌适配器发送的携带有域内令牌的令牌请求时,利用令牌验证信息对令牌请求中的域内令牌进行验证,并在验证成功时将生成的跨域令牌通过令牌适配器返回给用户终端。应用本发明方案,可以不必对原有的认证中心进行大量更改,也不必替换原有的认证中心,就可以达到向用户终端提供跨域令牌的目的,从而可以充分利用原有仅支持域内令牌的系统,节约了成本。
文档编号H04L9/32GK101534192SQ20081008535
公开日2009年9月16日 申请日期2008年3月14日 优先权日2008年3月14日
发明者史密特·沃尔夫冈, 郭代飞, 隋爱芬 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1