专利名称:用于分布式混合企业的灵活端点顺从和强认证的制作方法
技术领域:
本发明涉及用于分布式混合企业的灵活端点顺从和强认证。
背景技术:
云计算成为日益流行的范例,在云计算中,通过一个或多个网络将诸如软件,硬件,以及数据存储之类的计算资源作为服务提供给远程计算机。这些资源在多个实体之间分享,并且由每个实体按要求进行访问。在典型的商业排列中,支持资源的物理基础设施 (例如,服务器,存储系统,通信基础设施等等)由云计算提供商拥有和/或操作,云计算提供商根据达成一致的服务级和计帐方法来将资源作为服务通过因特网递送给客户。这个范例对许多企业有吸引力,原因是它以低的在前资本支出提供对计算的就绪访问和存储能力。即使对于具有灵活资本预算的大型企业,云计算是一种用来满足需求尖峰的成本效率选项。当企业将其数据和/或应用中的更多个迁移至云(例如,将主存在云计算提供商的通过因特网可到达的服务器上)时,新的安全质询出现了。例如,最好是根据在企业自己管理的网络中实施的相同的访问控制策略,企业可能希望将对主存在云服务器上的资源的访问限于经授权用户。图1示出了控制访问在云中主存的资源的常规解决方案。在这个示例中,多个应用(例如,110A,110B,…)和数据存储器(例如,115A,115B,…)被主存在云设备105处的一个或多个服务器上。这些应用和数据存储器中的一个或多个代表可作为云设备105的客户的企业而被主存。企业还操作具有一个或多个服务器(例如,180A,180B,…)的它自己的内部网络155,该一个或多个服务器提供了与云中主存的服务相同或不同的服务。虽然未示出,但是,企业网络155可包括诸如客户计算机和存储设备之类的其它网络设备。当企业的雇员(例如,用户195)希望访问企业资源(例如,检查他的电子邮件, 运行商业应用,从公司的数据库中检索文档等等)时,他被提醒使用他的计算机(例如,客户计算机190)来经历认证过程,以证明他是他声称的那个人。视企业的安全需要,认证过程或多或少是苛刻的。例如,如果用户试图从企业网络155外部的连接点访问企业网络 155(例如,服务器180A,180B,…中的一个)内部的服务器提供的服务,则他被提醒向企业认证服务器160标识他自己(例如,通过提供他的用户名),并且提供认证服务器160可用来验证他的身份的一个或多个用户凭证(例如,口令)。认证服务器进一步判断用户是否被授权来访问所请求的服务,例如,根据一个或多个企业访问策略和企业组织等级中用户的角色。另外,如果用户195希望使用客户计算机190连到企业网络155上,则他被提醒经历端点顺从检查过程。例如,用户被提醒将关于客户计算机190的健康声明提供给健康策略服务器(示未出)。基于健康声明,健康策略服务器验证一个或多个保护部件是否安装在客户计算机190上,并且如果是,验证他们是否被恰当地配置和操作。例如,健康策略服务器检查是否安装了一个或多个补丁来修补操作系统部件中的弱点。作为另一个示例,健康策略服务器可检查是否安装了并且采用恰当的操作参数配置了诸如个人防火墙或防病毒程序之类的保护软件工具。如果用户试图访问云中主存的服务,他被提醒用云认证服务器120经历认证过程,云认证服务器120可复制企业认证服务器160的一些或所有访问控制功能。例如,云认证服务器120可复制企业身份管理和访问策略基础设施,所以,它以与企业认证服务器160 相同的方式做出决定。
发明内容
提供了系统,方法和装置,用来控制访问云中主存的资源,而无需将企业的身份管理和访问策略基础设施复制给云。在一些实施例中,云设备将用户认证和/或授权任务委托给在企业管理的网络中部署的访问网关。访问网关可访问企业的内部身份管理和访问策略基础设施,并且可因用户请求访问云中主存的资源而执行访问控制协议。访问网关的访问控制决定可被封装到安全令牌里,该安全令牌由云设备处访问控制部件信任的安全令牌服务生成。用户可将这个令牌提交给云中的访问控制部件,作为他被授权访问所请求的资源的证据。如果访问控制部件成功地验证了安全令牌,则准许用户访问资源。访问网关使用各种技术来认证和/或授权用户。例如,访问网关提醒用户经历多因素认证过程,藉此用户可基于至少两个独立的因素来向访问网关证明他的身份。作为另一个示例,访问网关将一个或多个企业访问控制策略应用于用户身份和所请求的资源,以确定是否应该准许或拒绝用户的访问请求。作为再一个示例,访问网关提醒用户将他的计算机提交给健康检查。在一些实施例中,提供了一种方法,该方法供客户计算机用来访问至少一个服务提供商控制的至少一个服务器所主存的至少一个资源。该方法包括向由不同于至少一个服务提供商的至少一个企业控制的访问控制网关发送与客户计算机的用户相关联的认证信息和关于客户计算机的健康声明;从访问控制网关接收安全令牌;将从访问控制网关接收到的安全令牌发送给主存至少一个资源的至少一个服务器;以及从至少一个服务器访问至少一个资源。在一些另外的实施例中,提供了一种客户计算机,该客户计算机用于访问由至少一个服务提供商控制的至少一个服务器所主存的至少一个资源。客户计算机包括至少一个处理器,该至少一个处理器被编程为向由不同于至少一个服务提供商的至少一个企业控制的访问控制网关发送声称指示客户计算机被授权访问至少一个资源的访问请求信息;从访问控制网关接收安全令牌;将从访问控制网关接收到的安全令牌发送给主存至少一个资源的至少一个服务器;以及从至少一个服务器访问至少一个资源。在再一些另外的实施例中,提供了其上编码有指令的至少一种非瞬态计算机可读介质,当指令由至少一个处理器执行时,执行一种供至少一个企业控制的访问网关使用的方法。该方法包括从客户计算机接收声称指示客户计算机被授权访问由至少一个服务器主存的至少一个资源的访问请求信息,该至少一个服务器由不同于至少一个企业的至少一个服务提供商控制;至少部分地基于访问请求信息来确定客户计算机是否被授权访问至少一个资源,如果确定客户计算机被授权访问至少一个资源,则从至少一个服务器信任的安全令牌服务请求安全令牌;以及将安全令牌发送给客户计算机,该安全令牌将被呈现给至少一个服务器以获得对至少一个资源的访问。前面是本发明的非限制性概述,它由所附权利要求来限定。
附图并不旨在按比例绘制。为了清楚起见,并不是每一个部件在每一张附图中都做出标记图1示出了控制访问云中主存的资源的常规解决方案;图2示出了根据一些实施例的控制访问云中主存的资源的示例系统;图3示出了根据一些实施例的客户计算机、客户计算机所请求的主存资源、以及主存资源信任的云安全令牌服务(security token service (STS))之间的示例性交互序列;图4示出了根据一些实施例的客户计算机,企业STS,以及公布企业STS的企业访问网关之间的示例性交互序列;以及图5示意性地示出了示例计算机,在它上面实现了本公开的各个发明方面。
具体实施例方式发明人认识到和意识到控制访问云中主存的资源的现有解决方案存在许多缺点。 例如,复制企业的身份管理和云中的访问策略基础设施的常规方法十分昂贵,特别是对于具有大量雇员和/或实现复杂的访问控制策略的企业。另外,当云中的复制基础设施不再与企业的内部网络中的基础设施同步时,资源的安全受到威胁。例如,在复制基础设施与内部基础设施同步之前,具有撤销或期满的特权的用户在时间窗期间能够访问云中主存的资源。因此,复制身份管理和访问策略基础设施需要经常地更新,以维持它的有效性,这样增加了云中主存资源的成本。而且,企业不愿意将它的身份管理和访问策略基础设施委托给云设备,原因是对那些信息的妥协会导致未经授权地访问所有企业服务,甚至那些不是云中主存的服务(例如,在企业的管理网络内部的服务器提供的服务)。相反,企业可试图只将基础设施里与控制访问云中主存的资源相关的部分复制给云。这种方法涉及基础设施的一些重新设计,并且再次地,实现起来是十分昂贵的。简而言之,发明人认识到和意识到建立和/或维持用来控制访问云中主存的资源的常规解决方案十分昂贵,并且常规解决方案不能提供另人满意的安全保证级别。因此,在一些公开的实施例中,提供了系统,方法和装置,用来控制访问在云中主存资源,无需将企业的身份管理和访问策略基础设施复制到云。例如,在一些实施例中,可提供了访问网关部件,以实现按照常规由云中的认证服务器(例如,图1所示的云认证服务器120)实现的一些访问控制功能。访问网关可在由企业(例如,图1所示的企业网络155)控制的内部网络中部署,并且可访问企业现有的身份管理和访问策略基础设施(例如,通过诸如企业认证服务器160之类的现有认证服务器)。 替换地,访问网关在也由企业管理的非武装区(demilitarized zone (DMZ))中部署,但是可通过一个或多个防火墙与内部网络相隔离。在一些实施例中,访问网关因用户请求访问云中主存的资源而执行访问控制协议,并且向云中部署的一个或多个访问控制部件传送协议结果,访问网关最终准许或拒绝访问所请求的资源。例如,如果用户成功地完成了访问请求序列,则访问网关给用户提供了安全令牌,用户将安全令牌呈现给云中的访问控制部件,作为用户被授权访问所请求的资源的证据。在准许访问之前,云中的访问控制部件可验证安全令牌由本身是访问网关的获信任实体或访问网关从中获取安全令牌的一些其它实体生成。例如,在一些实施例中,根据活动目录联合服务(Active Directory Federation Services (ADFS))标准(例如,ADFS 第二版)或使用SAML协议,可实现云中的访问控制部件和生成安全令牌的实体之间的信任关系。访问网关使用各种技术认证用户。例如,在一些实施例中,访问网关可提醒用户经历多因素认证过程,通过多因素认证过程,用户基于至少两个独立的因素来向访问网关证明他的身份。因素的例子包括,但并不限定于,一段秘密信息(例如,口令,通行短语,或随机产生的密钥),唯一性物理对象(例如,护照,信用卡,智能卡,或硬件令牌),以及用户的一些个人物理特征(例如,指纹,声音印记,脸部轮廓,虹膜扫描等等)。授权所使用的因素的数目和类型视与未经授权的访问相关联的危险(例如,如通过可能是由未经授权的访问的实例导致的结果的损害程度所测量)而定。除了认证用户,访问网关使用各种技术来确定用户是否被授权来访问所请求的资源。例如,在一些实施例中,访问网关将一个或多个企业访问控制策略应用于用户身份和所请求的资源,从而确定是应该准许还是拒绝访问请求。例如,访问网关检查用户是否是企业内部的采购员,并且由此,被授权运行企业资源计划(Enterprise Resource Planning (ERP))应用。作为另一个示例,在准许用户访问能够执行银行转账的应用之前,访问网关可要求用户经历多因素(例如,2因素)认证。在一些另外的实施例中,访问网关提醒用户将他的计算机(例如,客户计算机 195)提交给健康检查,来作为认证过程的部分。例如,计算机在它上面安装了一个或多个健康代理,这些健康代理被编程为收集关于计算机的配置和/或操作状态信息。将收集到的信息格式化成健康说明,后者可被传送给访问网关进行检查。作为更为具体的示例,根据美国华盛顿州雷德蒙市的微软公司提供的网络访问保护""(Network Access Protection (NAP))框架,可实现机器健康检查。如在此所使用,术语“企业”指具有由用户远程访问的一个或多个计算资源的任何实体。在企业控制的一个或多个内部服务器和/或云计算提供商控制的一个或多个云服务器上主存这些计算资源。企业的例子包括,但并不限定于,企业,非赢利组织,大学,以及政府实体。此外,如果实体参与操作,维持,掌管,和/或管理系统部件,则系统部件(例如,硬件或软件部件)由实体来控制。实体可能拥有或可能不拥有系统部件或者具有对其的排他性控制,并且物理上,系统部件可能在,或可能不在实体的基地上。术语“安全令牌”(或,简单地“令牌”)可以指为了用户认证和/或授权的目的而使用的任何适合的信息组。例如,令牌包括标识用户的信息,他的属性和/或他的访问许可。这些信息可被表达为一个或多个安全断言标记语言(SAML)断言(例如,根据SAML 2.0 版)。然而,封装这些信息的任何方式也是适合的,因为与安全令牌的内容和/或格式相关的发明方面并不限定于使用任何特定语言或标准。下列是与用来控制访问云中主存的资源的发明系统,方法和装置相关的各种概念和实施例的更为具体的描述。应该了解,由于所公开的概念并不限定于任何特定的实现方式,如上介绍和如下更为具体地论述的各种概念可以许多方式中的任何方式来实现。例如, 由于其它排列也是适合的,本公开并不限定于各个附图中所示的部件的特定排列。特定实现和应用的这些示例只提供用于示例性的目的。图2示出了根据本公开的一些实施例的用于控制访问云中主存的资源的示例系统。在这个示例中,访问网关部件260在企业的内部网络155中部署。如上所论述,在替换的实施例中,访问网关部件260在企业管理的网络的非武装区中部署,通过一个或多个防火墙与内部网络155相隔离。在任一配置中,访问网关部件260可在由企业控制的网络领域中部署,并且可直接地(例如,直接访问存储用户身份信息和/或访问策略的一个或多个数据库)或通过一个或多个内部服务器(例如,如图2所示的企业认证服务器160)间接地访问企业的身份管理和访问策略基础设施,这取决于企业的受管理网络的系统拓扑。在这种方式中,访问网关部件能够在企业的安全域中认证用户,并且确定用户是否被授权访问所请求的企业资源。在图2所示的示例中,访问网关部件260访问企业安全令牌服务(Security Token ServiCe(STS))270,企业安全令牌服务270可以是任何适合的网络部件——配置成发出云设备105处的访问控制部件所信任的安全令牌,例如,云STS 220。虽然企业STS 270和云 STS 220可驻留在两个不同的安全域(例如,分别用于企业和云设备的域)中,但是,可使用适合的联合身份框架(例如,ADFS第二版)建立从云STS 220到企业STS 270的跨域信任关系。这种信任关系允许云设备105将用户认证和/或授权任务委托给企业域中的访问网关部件260。例如,与在云中执行认证和/或授权不同,认证和/或授权可由企业网络155中的访问网关部件260执行,并且结果被封装在企业STS 270产生的安全令牌中。因为云STS 220信任企业STS 270,所以,基于安全令牌中包含的信息准许或拒绝访问云中主存的资源。例如,如果安全令牌包含用户(例如,用户195)被授权访问特定资源的断言且云STS 220验证令牌的确是由企业STS 270产生的,则云STS 220准许用户访问资源,无需独立地实施用户认证和/或授权。由于在此所公开的发明概念并不限于任何特定配置和/或各方之间的交互序列, 因此用户195,云设备105和访问网关部件260之间的精确交互可以任何适合的方式来实现。例如,在一些实施例中,当用户195希望访问一个或多个云服务器(例如,应用110A, 110B,···,或数据存储115A,115B,…中的一个)上主存的资源时,他可首先联系云设备105。 基于接收请求,主存所请求的资源的服务器可将用户195重定向到服务器所信任的STS,例如,云STS220。在一些实现(例如,根据SAML体系结构)中,云STS 220可以是主存所请求的资源的服务器所信任的仅有的STS,且也可以具有关于用户195可被进一步重定向至的其它获信任STS的信息。例如,云STS 220把用户195重定向至云STS 220所信任的企业 STS 270。应该了解,只要每次用户195被重定向至不同STS时保持信任关系,可以重定向用户195任何次数。就是说,仅当第一 STS信任第二 STS,第一 STS才可将用户195重定向至第二 STS。替换地,用户195可能完全不被重定向至任何中间STS。替代地,假定服务器信任企业STS 270,主存所请求的资源的服务器可立刻把用户195重定向至企业STS 270。
在图2所示的示例中,企业STS 270由访问网关部件260 “公布”(例如,使得可从诸如因特网的外部网络访问)。这种配置允许访问网关部件沈0截取定向至企业STS 270的任何通信。例如,当用户195从云STS 220被重定向至企业STS 270时,访问网关部件260 可截取那个通信,并且就用户195启动访问控制协议。只有在用户195根据访问控制协议圆满地完成了访问请求序列之后,访问网关部件260才可从企业STS 270请求安全令牌,因此,安全令牌作为用户195被访问网关部件260正确地认证和/或授权的证据。再次,由于其它序列和/或类型的交互也是适合的,因此用户195,云设备105和访问网关部件260之间如上所述的交互只是示例性的。例如,在替换的实施例中,当用户195 希望访问云中主存的资源时,他可直接联系访问网关部件260,而无需被云中的任何部件重定向。如上所论述,由于在此所公开的发明概念并不限定于任何特定访问控制技术,访问网关部件260可以使用任何数目的适合的技术来认证和/或授权用户195。例如,访问网关部件260请求用户195经历多因素认证,或一些其它形式的强认证。访问网关部件260可在自己上执行一些或所有认证任务,如果其完成那些认证任务所需的信息的话。这些信息的示例包括,但并不限定于,与用户身份相关联的密码密钥,与用户个人物理特征(例如, 指纹,声音印记,脸部轮廓,虹膜扫描等等)相关的信息,和/或与用户所拥有的物理对象 (例如,用户身份证的磁性指纹)相关的信息。替换地,访问网关部件260将从用户195接收到的一些信息(例如,用户凭证)转发给企业认证服务器160,企业认证服务器160代表访问网关部件260使用所转发的信息来认证用户195。相似地,如果访问网关部件260访问了相关信息(例如,访问策略信息),访问网关部件260可在它上面执行用户授权,或者它可请求企业认证服务器160 (或一些其它适合的授权服务器)代表它执行用户授权。在后面的例子中,访问网关部件260将诸如用户身份 (例如,如企业认证服务器160所认证的)和/或标识所请求的资源的信息(例如,以包括在用户访问请求中的统一资源定位符(Uniform Resource Locator)的形式)之类的任何相关的信息转发给所选的服务器。在一些另外的实施例中,访问网关部件260提醒用户195将他的计算机提交给健康检查,来作为授权程序的部分。在这个上下文中,客户计算机的“健康”可以指客户计算机的一个或多个保护部件的配置和/或操作状态。保护部件包括软件和/或硬件部件,例如, 防病毒软件,防火墙,和/或获取和安装补丁以修复系统弱点的操作系统更新管理器。当这个部件的操作状态指示部件是否正在操作或被禁用时,这个部件的配置信息包括为部件所设置的特定操作参数。如上所论述,客户计算机195在它的上面安装了一个或多个健康代理,这些健康代理可被编程为收集配置和/或操作状态信息。例如,根据美国华盛顿州雷德蒙市的微软公司提供的网络访问保护""(Network Access Protection (NAP))框架,可将收集到的信息格式化成健康声明。健康声明可被传送给访问网关部件260进行检查。再次,如果访问网关部件260访问了用于企业的机器健康策略,则访问网关部件260可在它自己上面检查健康声明,或者它可将健康声明转发给健康策略服务器280进行评估。如果用户成功完成了访问网关部件沈0实现的所有(或阈值数目的)访问控制程序,则访问网关部件260可从企业STS 270请求安全令牌,并且将安全令牌传送给用户195,用户195进而可将令牌转发给将用户195重定向至企业STS 270的实体(例如,云STS 220)。云STS 220可验证令牌是由企业STS 270产生的,并且令牌的内容指示用户195被授权访问所请求的资源。如果验证成功,则云STS可产生第二安全令牌,并且将第二安全令牌传送给用户195,接着,用户195可把第二令牌转发给主存所请求的资源的服务器以进行验证。如果服务器成功验证了第二令牌,则它可准许用户195访问资源。本领域的技术人员应该了解,令牌产生和验证的这个过程可以反复用于用户195通过其被重定向的每个中间 STS。虽然结合图2描述了实现的特定细节,但是,应该了解,在此所公开的发明概念并不限定于任何特定的实现模式。例如,虽然访问网关和企业STS在图2中显示为两个独立的部件,但是,他们可以一起被实现为单个部件,或以任何其它适合的配置来实现。作为另一个示例,访问网关部件260使用的任何访问控制技术可由第三方软件实现。例如,第三方多因素认证部件可被安装在访问网关部件260或代表访问网关部件260执行用户认证的认证服务器160上。图3示出了根据一些实施例的客户计算机310,客户计算机310请求的主存资源 320,以及主存资源320信任的云STS 220之间的示例性交互序列。客户计算机310是图 2所示的客户计算机195,而主存资源320是图2所示的由云设备105主存的应用110A, 110B,…和数据存储115A,115B…中的一个。同样地,云STS 330是图2所示的云STS 220。在图3所示的示例中,在动作340,客户计算机310通过将访问请求发送给主存资源320来启动交互。客户计算机310可以任何适合的方式,例如,通过统一资源定位符 (URL),来标识主存资源320。在一些实施例中,访问请求还可标识客户计算机310的用户, 例如,通过包括用户名。在动作345,主存资源320通过重定向客户计算机310来从主存资源320信任的云STS 330获取安全令牌来作出响应。例如,主存资源320可向客户计算机310提供网络地址和/或用于云STS 330的任何其它标识信息。在一些实施例中,主存资源320可进一步指定要从云STS 330获取的一种类型的安全令牌。如主存资源320所指令的,在动作350,客户计算机310将对安全令牌的请求提交给云STS 330,这个请求可以任何适合的方式标识主存资源320和/或希望访问主存资源 320的客户计算机310的用户。在动作355,云STS 330通过重定向客户计算机310来从云STS 330信任的企业 STS (例如,图2所示的企业STS 270)获取安全令牌来作出响应。与动作345相类似,在一些实施例中,云STS 330可向客户计算机310提供了网络地址和/或用于企业STS的任何其它标识信息。云STS 330可进一步指定一要从企业STS获取的一种类型的安全令牌。如云STS 330所指令的,在动作360,客户计算机310从企业STS获取安全令牌(此后叫做“企业安全令牌”)。如上所论述,企业安全令牌可包括指示客户计算机310和它的用户已正确地认证和/或被授权访问主存资源320的一个或多个SAML 2.0断言。而且,在一些实施例中,企业安全令牌可包括企业STS产生的一个或多个电子签名,来作为企业安全令牌的真实性的证据。结合图4在下面描述了客户计算机310和企业STS之间的交互的详细示例,客户计算机310通过企业STS获取企业安全令牌。
继续到动作365,客户计算机310将企业安全令牌提交给云STS 330以进行验证。 在动作370,云STS 330验证令牌是由云STS 330信任的企业STS产生的(例如,通过验证所附的签名是由企业STS产生的),并且令牌的内容指示客户计算机310和它的用户被授权来访问主存资源320。如果验证成功,则云STS 330在动作375产生第二安全令牌(此后叫做“云安全令牌”),并且在动作380将云安全令牌传送给客户计算机310。如果验证失败, 在一些实施例中,客户计算机310可被告知失败和/或被重定向至不同的STS来获取另一个安全令牌。在动作385,客户计算机310将云安全令牌转发给主存资源320以进行验证。主存资源320在动作390以与所执行的验证相类似的方式验证云安全令牌。如果验证成功,则在动作395,主存资源320向客户计算机310准许访问。如果验证失败,则客户计算机310 被拒绝访问主存资源320,并且在一些实现中,被重定向至不同的STS来获取另一个安全令牌。继续到图4,根据一些实施例,示出了客户计算机310,企业STS 420 (例如,图2所示的企业STS 270),以及公布企业STS 420的企业访问网关410 (例如,图2所示的访问网关部件260)之间的示例性交互序列。通过这些相互作用,客户计算机310从企业STS 420 获取指示客户计算机310和它的用户被授权访问云主存的资源(例如,图3所示的主存资源320)的安全令牌。如上所论述,企业访问网关410公布企业STS 420可允许企业访问网关410截取定向到企业STS 420的通信。例如,在动作430,当客户计算机310从企业STS420请求安全令牌时,在动作435,企业访问网关410截取那个通信,并且通过在动作440生成安全质询以及在动作445将安全质询传送给客户计算机310来就客户计算机310启动访问控制协议。 安全质询的内容可视企业访问网关410使用的访问控制技术而变化。例如,如上所论述,安全质询可包括用于多因素认证和/或机器健康检查的质询。在动作450,客户计算机310可收集相关信息,并且准备对从企业访问网关410接收到的质询的安全响应。例如,客户计算机310可通过提供多个用户凭证来响应多因素认证质询,如本领域所知的。作为另一个示例,客户计算机310可使用一个或多个客户健康代理来收集健康信息,并且准备要包括在安全响应中的健康声明。在动作455,客户计算机310将经组装的安全响应传送给企业访问网关410,在动作460,企业访问网关410验证安全响应中的每一个分量以进行用户认证和/或授权。例如, 企业访问网关410可检索与用户声称的身份相关联的认证信息,并且确定用户是否真的是他声称的那个人。作为另一个示例,企业访问网关410可检索访问策略信息,并且确定用户是否被授权访问所请求的资源。作为再一个示例,企业访问网关410可检索机器健康策略信息,并且确定客户计算机310是否是足够健康(例如,不像是被计算机病毒感染)来访问所请求的资源。替换地,企业访问网关410请求一个或多个适合的服务器(例如,认证服务器160和健康策略服务器280)来执行任何如上所述的验证。如果企业访问网关410在动作460确定客户计算机310和它的用户被授权访问所请求的资源,则它从企业STS 420请求安全令牌。作为响应,企业STS 420在动作470产生所请求的令牌,并且在动作475将所请求的令牌传送给企业访问网关410。如上所论述,这个企业安全令牌可指示客户计算机310和它的用户成功通过企业访问网关410实现的访问控制测试,例如强认证和机器健康检查。在动作480,企业访问网关410将企业安全令牌转发给客户计算机310,因此,客户计算机向云中的访问控制部件(例如,图3所示的云STS 330)呈现企业安全令牌,来获得对所期望的资源(例如,图3所示的主存资源320)的访问。图5示意性地示出了示例计算机1000,在它上面可以实现本公开的各个发明方面。例如,在此所述的任何网络部件在诸如计算机1000的计算机上实现,网络部件包括,但并不限定于,客户计算机190,云安全令牌服务220,访问网关260,企业安全令牌服务270, 认证服务器160,以及健康策略服务器280,图2中所示的所有部件。在图5所示的示例中,计算机1000包括具有一个或多个处理器的处理单元1001 和可包括易失性和/或非易失性存储器的存储器1002。除了系统存储器1002之外,计算机 1000还可包括存储1005 (例如,一个或多个磁盘驱动)。存储器1002可以存储一个或多个指令,用于对处理单元1001编程来执行在此所述的任何功能。存储器1002还可以存储一个或多个应用程序和/或应用程序设计接口功能。计算机1000可具有一个或多个输入设备和/或输出设备,诸如图5中所解说的设备1006和1007。这些设备主要可被用来呈现用户界面。可被用来提供用户界面的输出设备的示例包括用于可视地呈现输出的打印机或显示屏和用于可听地呈现输出的扬声器或其它声音生成设备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字化输入板等定点设备。作为另一示例,计算机可以通过语音识别或以其他可听格式来接收输入信息。如图5中所示,计算机1000还可包括使能经由各种网络(例如,网络1020)进行通信的一个或多个网络接口(例如,网络接口 1010)。网络的示例包括局域网或广域网,诸如企业网或因特网。这些网络可以基于任何合适的技术并可以根据任何合适的协议来操作, 并且可以包括无线网络、有线网络或光纤网络。至此描述了本发明的至少一个实施例的若干方面,可以理解,本领域的技术人员可容易地想到各种更改、修改和改进。这样的更改、修改和改进旨在是本发明的一部分,且旨在处于本发明的精神和范围内。从而,上述描述和附图仅用作示例。可以用多种方式中的任一种来实现本发明的上述实施例。例如,可使用硬件、软件或其组合来实现各实施例。当使用软件实现时,该软件代码可在无论是在单个计算机中提供的还是在多个计算机之间分布的任何合适的处理器或处理器的集合上执行。而且,此处略述的各种方法或过程可被编码为可在采用各种操作系统或平台中任何一种的一个或多个处理器上执行的软件。此外,这样的软件可使用多种合适的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且它们还可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。就此,本发明可被具体化为用一个或多个程序编码的非暂态计算机可读介质(例如,计算机存储器、一个或多个软盘、紧致盘、光盘、磁带、闪存、现场可编程门阵列或其他半导体器件中的电路配置,或其他非瞬态有形的计算机存储介质),当这些程序在一个或多个计算机或其他处理器上执行时,它们执行实现本发明的上述各个实施例的方法。这一个或多个计算机可读介质可以是可移植的,使得其上存储的一个或多个程序可被加载到一个或多个不同的计算机或其他处理器上以便实现本发明上述的各个方面。此处以一般的意义使用术语“程序”或“软件”来指可被用来对计算机或其他处理器编程以实现本发明上述的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应当理解,根据本实施例的一个方面,当被执行时实现本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以按模块化的方式分布在多个不同的计算机或处理器之间以实现本发明的各方面。计算机可执行指令可以具有可由一个或多个计算机或其他设备执行的各种形式, 诸如程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以按需在各个实施例中进行组合或分布。而且,数据结构能以任何合适的形式存储在计算机可读介质上。为简化说明,数据结构可被示为具有通过该数据结构中的位置而相关的字段。这些关系同样可以通过对各字段的存储分配传达各字段之间的关系的计算机可读介质中的位置来得到。然而,可以使用任何合适的机制来在数据结构的各字段中的信息之间建立关系,例如通过使用指针、标签、 或在数据元素之间建立关系的其他机制。本发明的各个方面可单独、组合或以未在前述实施例中特别讨论的各种安排来使用,从而并不将其应用限于前述描述中所述或附图形中所示的组件的细节和安排。例如,可使用任何方式将一个实施例中描述的各方面与其它实施例中描述的各方面组合。同样,本发明可被具体化为方法,其示例已经提供。作为该方法的一部分所执行的动作可以按任何合适的方式来排序。因此,可以构建各个实施例,其中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些动作,即使这些动作在各说明性实施例中被示为顺序动作。在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、先后次序或顺序、 或者方法的各动作执行的时间顺序,而仅用作将具有某一名字的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区分开的标签以区分各权利要求元素。同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。此处对 “包括”、“包含”、或“具有”、“含有”、“涉及”及其变型的使用旨在包括其后所列的项目及其等效物以及其他项目。
1权利要求
1.一种用于访问由至少一个服务器(105)主存的至少一个资源(110Α,110Β,···,115Α, 115Β,…)的客户计算机(190),所述至少一个服务器(105)由至少一个服务提供商控制, 所述客户计算机包括至少一个处理器(1001),所述至少一个处理器(1001)被编程为向由不同于所述至少一个服务提供商的至少一个企业控制的访问控制网关(260)发送指示声称指示所述客户计算机(190)被授权访问所述至少一个资源(110Α,110Β,…, 115Α,115Β,…)的访问请求信息;接收来自所述访问控制网关(260)的安全令牌;向主存所述至少一个资源(110Α,110Β,…,115Α,115Β,…)的所述至少一个服务器 (105)发送从所述访问控制网关(260)接收到的所述安全令牌;以及从所述至少一个服务器(105)访问所述至少一个资源(110Α,110Β,…,115Α, 115Β,…)。
2.如权利要求1所述的客户计算机(190),其特征在于,所述至少一个处理器(1001) 被进一步编程为向所述访问控制网关(260)发送对所述安全令牌的请求;以及从所述访问控制网关(260)接收至少一个安全质询,其中响应于对所述安全令牌的请求,所述访问控制网关(260)发送所述至少一个安全质询,并且其中响应所述至少一个安全质询,所述至少一个处理器(1001)被编程为发送所述访问请求信息。
3.如权利要求1所述的客户计算机(190),其特征在于,所述至少一个处理器(1001) 被进一步编程为向所述至少一个服务器(105)发送对访问所述至少一个资源(110Α,110Β,…,115Α, 115Β,…)的请求;以及从所述至少一个服务器(105)接收联系所述访问控制网关(260)的指令,作为访问所述至少一个资源(110Α,110Β,…,115Α,115Β,…)的先决条件。
4.如权利要求1所述的客户计算机(190),其特征在于,所述访问请求信息包括包括以下的组中选择的至少两个用户凭证秘密知识凭证、物理对象凭证、以及个人物理特征凭证。
5.如权利要求1所述的客户计算机(190),其特征在于,所述访问请求信息包括关于所述客户计算机(190)的至少一个保护部件的配置信息,所述至少一个保护部件是从包括以下的组中选择的防病毒软件、防火墙、以及操作系统补丁。
6.一种供由至少一个企业控制的访问网关(260)来使用的方法,所述方法包括 从客户计算机(190)接收声称指示所述客户计算机(190)被授权访问由至少一个服务器(105)主存的至少一个资源(ΙΙΟΑ,ΙΙΟΒ,…,115Α,115Β,…)的访问请求信息,所述至少一个服务器(105)由不同于所述至少一个企业的至少一个服务提供商控制;至少部分地基于所述访问请求信息来确定所述客户计算机(190)是否被授权访问所述至少一种资源(110Α,110Β,…,115Α,115Β,…);以及如果确定所述客户计算机(190)被授权访问所述至少一个资源(110Α,110Β,…,115Α, 115Β,…),则向所述客户计算机(190)发送安全令牌,所述安全令牌将被呈现给所述至少一个服务器(105)以获得对所述至少一种资源(ΙΙΟΑ,ΙΙΟΒ,…,115Α,115Β,…)的访问。
7.如权利要求6所述的方法,其特征在于,进一步包括从所述客户计算机(190)接收对所述安全令牌的请求;以及响应对所述安全令牌的所述请求,将至少一个安全质询发送给所述客户计算机(190), 其中所述客户计算机(190)响应所述至少一个安全质询发送所述访问请求信息。
8.如权利要求6所述的方法,其特征在于,进一步包括从所述至少一个服务器(10 信任的安全令牌服务(270)请求所述安全令牌。
9.如权利要求6所述的方法,其特征在于,确定所述客户计算机(190)是否被授权访问所述至少一个资源包括将包括一个或多个用户凭证的所述访问请求信息中的至少一些转发给由所述至少一个企业控制的认证服务器(160)。
10.如权利要求6所述的方法,其特征在于,确定所述客户计算机(190)是否被授权访问所述至少一个资源包括将包括关于所述客户计算机(190)的配置信息的所述访问请求信息中的至少一些转发给所述至少一个企业控制的健康策略服务器080)。
全文摘要
本文描述了用于分布式混合企业的灵活端点顺从和强认证。用来访问由云服务提供商中的至少一个服务器主存的至少一个资源的系统、方法和装置。在一些实施例中,客户计算机将与客户计算机的用户相关联的认证信息和关于客户计算机的健康声明发送给企业的受管理网络中部署的访问控制网关。访问控制网关认证用户,并且确定用户是否被授权访问在云中主存的至少一个资源。如果用户认证和授权成功了,则访问控制网关从访问控制部件信任的安全令牌服务请求安全令牌,并且将安全令牌转发给客户计算机。客户计算机将安全令牌发送给云中的访问部件,以从至少一个服务器访问至少一个资源。
文档编号H04L29/06GK102281286SQ201110170880
公开日2011年12月14日 申请日期2011年6月13日 优先权日2010年6月14日
发明者A·卡里夫, D·科肖, E, (J)·尼斯塔德特, E·托夫宾, O·阿纳尼耶夫 申请人:微软公司