一种云计算服务统一认证的方法和系统的制作方法

文档序号:7763838阅读:262来源:国知局
专利名称:一种云计算服务统一认证的方法和系统的制作方法
技术领域
本发明涉及云计算技术领域,尤其涉及一种云计算服务统一认证的方法和系统。
背景技术
随着计算机技术的快速发展,云计算正在越来越受关注,无论是互联网厂商和运营商,还是通信厂商和基础网络运营商,都对云计算表现出极大的关注。狭义的云计算是指互联网技术(IT,Internet Technology)基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源;广义的云计算是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务,云计算具有超大规模、虚拟化、安全可靠等优点。对于网络运营商而言,云计算可以使运营成本和操作维护成本大大降低,达到节能减排的目的,除此之外,还可以扩大运营的范围,而不仅仅受限于管道运营。在云计算环境下,一切资源都是可以运营的,都可以作为服务提供,包括应用程序、软件、平台、处理能力、存储、 网络、计算资源以及其他基础设施等。对于用户而言,云计算使得随时、随地消费服务成为可能,用户可以不需要大量投资而获得运营业务所需的IT资源,完全可以根据自己的需求来租用,IT资源像水、电和煤气一样,按需获取和计费。云计算一般有三种主要的服务模式,基础设施即服务(IaaS,hfrastructureas a Service,)、平台即服务(PaaS,Platform as a Service)和软件即服务(SaaS,Software as a Service)。在云计算场景下,大量的用户信息都集中在云计算提供商,与传统的互联网业务相比,其信息更集中、信息资产价值更高、面临的攻击也会更多,这就要求云计算服务提供商能够有更强大的用户认证机制来保障只有合法的用户才能够访问被授权的资源。身份联盟是一种能够简化用户登录的方法,是指将来自不同服务提供商的帐户和身份提供商(或认证中心)的帐户链接起来。联盟身份后,将创建一个唯一的标识符或联盟令牌,将在不同服务提供商中建立的用户身份链接起来。通过这种方式可以使得当用户登录身份提供商获得认证令牌后,该认证令牌就可以自由的用于访问与该身份提供商有联盟关系的所有服务提供商。身份联盟与传统的集中式用户管理不同,服务提供商的帐户信息不需要集中保存在某个认证中心的服务器中,而只需要在认证中心保存一些映射关系即可,这能够减少因为身份提供商损坏或倒闭而导致的单点失效问题,并能更有效的保护帐户的安全,帐户信息的遗失风险也能得到有效的分散。身份联盟已经是单点登录的一种非常有效的解决方案,有着非常广泛的实际应用。目前网络上应用的身份联盟方案一般都是基于一些主要的标准规范,例如自由联盟 (Liberty Alliance)的身份联盟框架(ID-FF,Identity FederationFramework),结构化信 ;窗、标准促进组织(OASIS, Organization for theAdvancement of Structured Information Standards)的安全声明标记语目(SAML,Security Assertion Markup Language)以及 WS-Federation规范,这些规范是目前主流的身份联盟规范,应用非常广泛。一般情况下,一个身份联盟内的所有服务提供商和身份提供商都是基于同一标准规范来实现的,因为只有使用相同的规范,才可能保证身份联盟令牌能够被所有的联盟成员识别,由此才能够实现联盟令牌在整个联盟中的自由传递。如果某些服务提供商或身份提供商支持的身份联盟规范不一致,那么联盟就无法建立,传统的解决办法是服务提供商或者身份提供商尽可能多的去实现身份联盟标准规范,以保证能够和其他各方实现联盟。然而,这种做法代价很高, 造成服务提供商或者身份提供商的开销大大增加。

发明内容
有鉴于此,本发明的主要目的在于提供一种云计算服务统一认证的方法和系统, 以实现云计算服务的统一认证,并实现用户在云计算服务提供商和与之有联盟关系的所有服务提供商之间的单点登录。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种云计算服务统一认证的方法,该方法包括身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,根据所述身份联盟机制和规范对所述身份令牌进行转换,得到所述服务提供商支持的联盟令牌,并将所述联盟令牌发送至对应的服务提供商;所述服务提供商对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务。该方法进一步包括所述身份联盟对所述身份令牌进行解析得到有效身份数据,将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译,将翻译得到的数据封装为所述服务提供商支持的联盟令牌。在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之前,该方法进一步包括在用户登录云计算服务提供商时,所述云计算服务提供商根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,该方法进一步包括所述身份联盟网关确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。所述请求服务的服务提供商信息包括服务提供商域名信息、服务提供商支持的身份联盟机制和规范。所述有效身份数据包括以下至少之一认证信息、授权信息、属性信息。本发明还提供了一种云计算服务统一认证的系统,该系统包括云计算服务提供商、服务提供商和身份联盟网关,其中,所述身份联盟网关,用于获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,根据所述身份联盟机制和规范对所述身份令牌进行转换,得到所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商;所述服务提供商,用于对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务;所述云计算服务提供商,用于为服务提供商提供身份联盟服务。所述身份联盟网关进一步包括身份令牌解析单元,用于对所述身份令牌进行解析得到有效身份数据;身份令牌格式翻译单元,用于将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译;联盟令牌封装单元,用于将翻译得到的数据封装为所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商。所述云计算服务提供商进一步用于,在用户登录所述云计算服务提供商时,根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。所述身份令牌解析单元进一步用于,在获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。本发明还提供了一种身份联盟网关,包括身份令牌解析单元,用于获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,对所述身份令牌进行解析得到有效身份数据;身份令牌格式翻译单元,用于将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译;联盟令牌封装单元,将翻译得到的数据封装为所述服务提供商支持的联盟令牌, 将所述联盟令牌发送至对应的服务提供商。所述身份令牌解析单元进一步用于,在获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。所述服务提供商对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务。所述云计算服务提供商在有用户登录时,根据用户提供的身份标识和认证凭证, 对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。本发明所提供的一种云计算服务统一认证的方法和系统,通过在云计算服务提供商内部署身份联盟网关,使得云计算服务提供商可以借助其联盟其他服务提供商的帐户, 这些服务提供商可以基于不同的身份联盟机制和规范,由此实现用户在云计算服务提供商和与之有联盟关系的所有服务提供商之间的单点登录,从而大大改善用户访问服务的体验。


图1为本发明实施例中云计算服务身份联盟系统的框架示意图;图2为本发明实施例中身份联盟网关的内部结构示意图;图3为本发明实施例中在身份联盟场景下的用户请求云服务的认证流程图。
具体实施例方式下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。在云计算的环境下,许多服务提供商都有云化的需求,他们希望通过将传统的、不易扩展的、建设和运维成本都很高的系统建设模式转变为基于云计算的建设模式,由此降低运维和管理开销,改善系统的扩展性,提高基础设施的利用率。基于这些需求,许多服务提供商都可以通过租用云计算服务提供商提供的资源来达到上述目的。同样,云计算服务提供商也有提供多样化云计算服务的诉求,云计算服务提供商可以自己开发服务,也可以通过和诸多专业的服务提供商结盟以整个联盟的方式向用户提供丰富多彩的服务。对于这种情况,云计算服务提供商希望能够向用户提供和以往一致的用户登录体验,而感觉不到联盟的存在,同时结盟的各个服务提供商也不希望帐户数据由云计算服务提供商集中存储和管理,以保护自己的用户资源。在这种情况下,云计算服务提供商可能呈现给用户的是多种身份联盟机制异构的服务提供商所提供的服务。为了使用户有很好的单点登录体验,本发明的技术方案提供联合各种不同身份联盟机制的身份联盟网关功能,使得基于不同联盟机制的服务提供商可以实现联盟,同时云计算服务提供商也可以将身份联盟作为一种身份服务提供,即身份即服务(IDaaS, Identity as a Service)0本发明的目的即是通过在云计算服务提供商内部署身份联盟网关,使得云计算服务提供商可以借助其联盟其他服务提供商的帐户,这些服务提供商可以基于不同的身份联盟机制和规范,由此实现用户在云计算服务提供商和与之有联盟关系的所有服务提供商之间的单点登录。单点登录意味着用户仅仅需要在一处登录,就可以访问联盟内的其他所有服务,而不需要多次重复的登录。单点登录大大改善了用户访问服务的体验。本发明实施例所提供的一种云计算服务的统一认证框架,如图1所示,该框架包括用户、服务提供商、云计算服务提供商。其中,用户既可以是服务提供商的服务签约者,也可以是云计算服务提供商的服务签约者;云计算服务提供商提供基础设施、平台或增值服务等的租赁服务,这些服务既可以提供给服务提供商也可以提供给用户。云计算服务提供商为了让用户可以方便快捷的访问服务提供商提供的服务,也可以提供统一认证服务,通过身份联盟网关实现和服务提供商的身份结盟。在图1所示的认证框架中,身份联盟网关需要维护联盟中的各服务提供商的映射关系,如图1中所示,身份联盟网关中维护的映射关系包括各服务提供商信息及其各自所支持的身份联盟机制和规范,当然,身份联盟网关中需要预先配置各种身份联盟机制和规范,并具备不同身份联盟机制和规范之间的互通功能,即要能实现不同身份联盟机制和规范之间的互译。身份联盟网关的功能示意图,如图2所示。用户可以通过身份联盟网关实现其在多个服务提供商和云计算服务提供商内帐户的联盟,由此实现统一认证,简化访问多个服务的繁琐认证过程。身份联盟网关可以作为多种不同身份联盟机制的适配器,使得基于不同联盟机制和规范的服务提供商及云计算服务提供商可以实现结盟。基于身份联盟网关所实现的一种云计算服务统一认证的方法,具体为身份联盟网关在获取到用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范时,根据身份联盟机制和规范对身份令牌进行转换,得到服务提供商支持的联盟令牌,并将联盟令牌发送至对应的服务提供商;服务提供商对接收的联盟令牌进行验证,并在验证通过后向用户提供被请求的服务。进一步的,在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之前,该方法还可以包括在用户登录云计算服务提供商时,所述云计算服务提供商根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。进一步的,在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,该方法还可以包括所述身份联盟网关确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。另外,如图2所示,本发明实施例中的身份联盟网关包括身份令牌解析单元10、 身份令牌格式翻译单元20和联盟令牌封装单元30。其中,身份令牌解析单元10,用于获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,对身份令牌进行解析得到有效身份数据(包括以下至少之一认证信息、授权信息、属性信息);身份令牌格式翻译单元20,用于将所述有效身份数据根据服务提供商支持的身份联盟机制和规范进行翻译;联盟令牌封装单元30,将翻译得到的数据封装为所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商。服务提供商对接收的联盟令牌进行验证,并在验证通过后向用户提供被请求的服务。进一步的,身份令牌解析单元10还可以在获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。一旦云计算服务提供商与服务提供商结盟后,用户就可以在这些服务之间实现单点登录,具体的认证和服务请求流程如图3所示,主要包括以下步骤步骤301,用户登录云计算服务提供商。步骤302,云计算服务提供商根据用户的身份标识和认证凭证对用户进行认证,通过认证后,向用户返回身份令牌。步骤303,用户将身份令牌以及请求服务的提供商信息(包括但不仅限于服务提供商域名信息、服务提供商支持的身份联盟机制和规范)发送至身份联盟网关。步骤304,身份联盟网关根据收到的数据,将身份令牌翻译为该服务提供商可以识别的联盟令牌。身份联盟网关接收用户提供的身份令牌和请求服务的服务提供商信息后,对身份令牌进行解析得到有效身份数据,并根据服务提供商信息获取服务提供商支持的身份联盟机制和规范;然后,将有效身份数据根据服务提供商支持的身份联盟机制和规范进行翻译, 并将翻译得到的数据封装为服务提供商支持的联盟令牌。步骤305,身份联盟网关将联盟令牌发送至用户请求的服务的提供商。步骤306,服务的提供商验证联盟令牌。步骤307,如果联盟令牌通过验证,服务的提供商向用户提供被请求的服务。需要说明的是,在服务提供商与云计算服务提供商结盟后,可以在身份联盟网关中注册服务提供商的域名信息、支持的联盟机制和规范信息等,则上述流程中的步骤303 中,用户仅仅只需要提供认证令牌和需要访问的服务的提供商域名信息至身份联盟网关即可。身份联盟网关可以集中部署在云计算服务提供商,通过这种方式,云计算服务提供商可以对用户提供除了传统的SaaS、PaaS和IaaS服务外,还可以提供IDaaS服务,扩充了云计算服务提供商的服务范围。当然,实际应用中也可以将身份联盟网关分布式的部署在各个服务提供商侧。综上所述,本发明通过在云计算服务提供商内部署身份联盟网关,使得云计算服务提供商可以借助其联盟其他服务提供商的帐户,这些服务提供商可以基于不同的身份联盟机制和规范,由此实现用户在云计算服务提供商和与之有联盟关系的所有服务提供商之间的单点登录,从而大大改善用户访问服务的体验。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种云计算服务统一认证的方法,其特征在于,该方法包括身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,根据所述身份联盟机制和规范对所述身份令牌进行转换,得到所述服务提供商支持的联盟令牌,并将所述联盟令牌发送至对应的服务提供商;所述服务提供商对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务。
2.根据权利要求1所述云计算服务统一认证的方法,其特征在于,该方法进一步包括所述身份联盟对所述身份令牌进行解析得到有效身份数据,将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译,将翻译得到的数据封装为所述服务提供商支持的联盟令牌。
3.根据权利要求1所述云计算服务统一认证的方法,其特征在于,在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之前, 该方法进一步包括在用户登录云计算服务提供商时,所述云计算服务提供商根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。
4.根据权利要求1所述云计算服务统一认证的方法,其特征在于,在所述身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后, 该方法进一步包括所述身份联盟网关确定用户请求服务的服务提供商是否已与云计算服务提供商联盟, 如果是,则继续执行后续操作;否则,不再执行后续操作。
5.根据权利要求1至4任一项所述云计算服务统一认证的方法,其特征在于,所述请求服务的服务提供商信息包括服务提供商域名信息、服务提供商支持的身份联盟机制和规范。
6.根据权利要求1至4任一项所述云计算服务统一认证的方法,其特征在于,所述有效身份数据包括以下至少之一认证信息、授权信息、属性信息。
7.—种云计算服务统一认证的系统,其特征在于,该系统包括云计算服务提供商、月艮务提供商和身份联盟网关,其中,所述身份联盟网关,用于获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,根据所述身份联盟机制和规范对所述身份令牌进行转换,得到所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商;所述服务提供商,用于对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务;所述云计算服务提供商,用于为服务提供商提供身份联盟服务。
8.根据权利要求7所述云计算服务统一认证的系统,其特征在于,所述身份联盟网关进一步包括身份令牌解析单元,用于对所述身份令牌进行解析得到有效身份数据;身份令牌格式翻译单元,用于将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译;联盟令牌封装单元,用于将翻译得到的数据封装为所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商。
9.根据权利要求7所述云计算服务统一认证的系统,其特征在于,所述云计算服务提供商进一步用于,在用户登录所述云计算服务提供商时,根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。
10.根据权利要求7所述云计算服务统一认证的系统,其特征在于,所述身份令牌解析单元进一步用于,在获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。
11.一种身份联盟网关,其特征在于,包括身份令牌解析单元,用于获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,对所述身份令牌进行解析得到有效身份数据;身份令牌格式翻译单元,用于将所述有效身份数据根据所述服务提供商支持的身份联盟机制和规范进行翻译;联盟令牌封装单元,将翻译得到的数据封装为所述服务提供商支持的联盟令牌,将所述联盟令牌发送至对应的服务提供商。
12.根据权利要求11所述身份联盟网关,其特征在于,所述身份令牌解析单元进一步用于,在获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范之后,确定用户请求服务的服务提供商是否已与云计算服务提供商联盟,如果是,则继续执行后续操作;否则,不再执行后续操作。
13.根据权利要求11或12所述身份联盟网关,其特征在于,所述服务提供商对接收的联盟令牌进行验证,并在验证通过后向所述用户提供被请求的服务。
14.根据权利要求11或12所述身份联盟网关,其特征在于,所述云计算服务提供商在有用户登录时,根据用户提供的身份标识和认证凭证,对所述用户进行认证,并在认证通过后向所述用户返回身份令牌。
全文摘要
本发明公开了一种云计算服务统一认证的方法和系统,方法包括身份联盟网关获取用户的身份令牌和用户请求服务的服务提供商所支持的身份联盟机制和规范,根据身份联盟机制和规范对身份令牌进行转换,得到服务提供商支持的联盟令牌,并将联盟令牌发送至对应的服务提供商;服务提供商对接收的联盟令牌进行验证,并在验证通过后向用户提供被请求的服务。通过本发明,实现了云计算服务的统一认证,并实现了用户在云计算服务提供商和与之有联盟关系的所有服务提供商之间的单点登录。
文档编号H04L29/06GK102457376SQ20101052733
公开日2012年5月16日 申请日期2010年10月29日 优先权日2010年10月29日
发明者林兆骥, 陈小华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1