利用机器生成的认证令牌操作服务的技术的制作方法

文档序号:11892566阅读:366来源:国知局
利用机器生成的认证令牌操作服务的技术的制作方法与工艺

利用目前可用于设计计算与通信系统的各种高速发展的方法,很多用户可能需要访问用于托管系统的一个或多个服务的服务器,为了测试、升级、调试、开发、部署和/或维护这些服务器的目的。然而,用户的增加也会伴随着用户账户、访问水平和关联的安全风险的增加。



技术实现要素:

下面提供了简要的发明内容,以便于提供对本文所描述的一些新颖实施例的基本理解。该发明内容不是泛泛的概览,也不旨在确定主要/关键元素或者界定其范围。其唯一的用途是以简化的形式呈现一些概念作为后面呈现的更详细说明的前序。

各个实施例总体上涉及到通过利用机器生成的认证令牌来操作服务以增强网络安全性的技术。一些实施例特别地涉及到用于管理与一个或多个服务账户相关联的认证令牌的技术。

在一个实施例中,例如,一种装置可以包括:处理器电路;以及由处理器电路执行的服务器应用。服务器应用可以包括管理组件,该管理组件至少部分地基于与客户的第一账户相关联的客户认证信息来建立与客户端设备的安全连接,接收对与客户的第一账户相关联的一个或多个账户的账户信息的请求,经由客户端设备将与第一账户相关联的第二账户的账户信息提供给客户,接收生成第二账户的认证令牌的请求,以及基于与所述客户相关联的所述客户认证信息来验证生成所述认证令牌的所述请求。服务器应用还可以包括:令牌生成组件,其用于生成第二账户的认证令牌;以及通知组件,其用于在安全的连接上经由客户端设备将认证令牌提供给客户以便客户使用。描述了其它实施例并要求保护。

为了实现上述目的以及相关的目的,本文结合下面的说明书和附图阐述了一些示例性的方面。这些方面表明可以实现本文公开的原理的各种方式,并且所有方面及等同物旨在落入所要求保护的主题的范围内。其它优点和新颖特征将根据以下结合附图考虑的具体实施方式而变得显而易见。

附图说明

图1示出了用于服务账户的认证令牌管理系统的示例。

图2示出了用于管理服务账户的认证令牌的认证令牌管理系统的用户接口视图的示例。

图3A示出了接收对与客户相关联的服务账户的请求的认证令牌管理应用的逻辑流程的示例。

图3B示出了接收对生成用于服务账户的认证令牌的请求的认证令牌管理应用的逻辑流程的示例。

图3C示出了用于令牌管理代理应用的逻辑流程的示例。

图3D示出了请求相关联的服务账户以及请求相关联的服务账户的认证令牌的生成的客户端设备的逻辑流程的示例。

图4示出了计算体系结构的示例。

具体实施方式

各个实施例总体上涉及提供对用于一个或多个账户的认证令牌的管理的认证令牌管理系统。通过使用认证令牌管理系统来生成认证令牌(例如,口令、密码、密钥、个人标识号(PIN)、加密令牌等)来替代用于电子系统的一些或全部账户的全部人类创建的认证令牌,电子系统的安全性和隐私性可得到大幅提升。为了实现这些以及其它的改进,认证令牌管理系统通常可布置成基于多因素认证协议(例如,使用智能卡和关联PIN的两因素认证)来认证客户(例如,用户、工程师、承包商、顾客和/或软件/硬件组件),使用例如联合身份应用(例如,活动目录联合服务(AD FS))或者任何其它互联网信息服务(IIS)认证提供商来基于多因素认证协议验证客户的认证。

利用当前可用于设计软件即服务(SaaS)系统的各种高速发展的方法,许多用户(例如,测试者、工程师、承包商、内部顾客和/或外部顾客)可能需要访问用于托管SaaS系统的一个或多个服务的服务器,为了日常测试、升级、调试、开发、部署和/或维护这些服务器的目的。由于大量用户需要访问服务器,每个用户可被授予一个或多个用户账户来访问这些服务器。然而,随着SaaS系统增加,用户账户数量和相关联的安全风险也增加。这是因为,每个额外的用户账户会对攻击者暴露潜在的进入点,结果,增大了攻击者获得非授权访问权的攻击表面或向量。当一些用户账户为了执行它们的日常任务而具有提升的特权(例如,管理特权)时,这些潜在的进入点变得尤其成问题。虽然各种认证方法当前可用于确保这些账户不易于受到攻击者危害,但是使用人类创建的口令一直是脆弱的,尤其当人类创建的口令趋于短、简单且经常跨多个账户重用时。这些因素与SaaS系统中可用的大量账户相结合造成了攻击者会通过例如危害与Saas系统的一个或多个账户相关联的人类口令来获得非授权访问权的很大的风险和概率。攻击者的这种非授权访问权会对商业带来极大的伤害并且导致顾客有严重的安全性和隐私性担忧。

在各个实施例中,为了使得客户(例如,用户、工程师、承包商、顾客和/或软件/硬件组件)能够取回与他们的客户账户相关联的一个或多个服务账户,认证令牌管理系统通常可布置成接收对于服务账户的集合的一个或多个客户请求,以及响应于一个或多个客户请求而提供服务账户的集合和与服务账户相关联的服务账户信息(例如,服务账户标识符、服务账户角色、服务账户范围、服务账户生存期、服务账户状态等)。一旦已经接收到对服务账户集合的请求,认证令牌管理系统可以进一步布置成认证一个或多个接收到的请求。在请求已经被验证后,认证令牌管理系统可布置成至少部分地基于代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹)经由会暴露数据中心中的公共端点的代理应用来取回或取得一个或多个服务账户并且向客户端设备提供所取回的一个或多个服务账户。

为使得客户能够以安全的方式为一个或多个服务账户生成认证令牌,认证令牌管理系统通常可以布置成通过安全的连接(例如,使用超文本传输协议安全(HTTPS)的可信且加密的连接)经由各种网络互连接收一个或多个请求以生成用于服务账户的认证令牌。一旦已经接收到生成一个或多个认证令牌的请求,认证令牌管理系统可进一步布置成验证接收到的一个或多个请求。在已经验证了请求后,认证令牌管理系统可布置成至少部分地基于客户认证信息来生成用于一个或多个服务账户的认证令牌。

为了以安全的方式生成认证令牌,认证令牌管理系统可通常布置成使用一个或多个安全硬件和/或软件组件(例如,可信平台模块(Trusted Platform Module(TPM))、MICROSOFT.NET框架库(Framework Library)的System.Web.Security.Membership等)通过认证令牌管理系统的服务器设备来生成认证令牌。一旦通过服务器设备生成了认证令牌,认证令牌管理系统的服务器设备可进一步布置成请求至少部分地基于代理认证信息(例如,认证令牌管理应用与令牌管理代理应用之间的共享安全数字证书以及共享秘密数字证书的数字指纹或拇指指纹)经由代理应用更新或设置针对服务账户的认证令牌。代理应用可布置成请求管理服务账户的目录服务服务器设备和/或与管理服务账户的目录服务服务器设备通信以利用所生成的认证令牌来更新或设置现有的认证令牌。

为进一步使得一个或多个服务账户安全,认证令牌管理系统通常布置成配置所生成的认证令牌不能变,以使得一旦已经为服务账户生成了认证令牌则客户不可以修改或更新认证令牌(例如,修改或更新认证令牌为较弱的认证令牌)。此外,认证令牌管理系统可进一步布置成生成唯一的认证令牌,以使得SaaS系统中没有两个服务账户可具有相同的认证令牌。在认证令牌包括口令、密钥、密码、PIN等的实施例中,认证令牌管理系统可布置成生成包括随机生成的字母数字字符和/或符号的序列的认证令牌。生成的字母数字字符和/或符号的序列可以至少部分地基于长度参数(例如,25-30个字符和/或符号)和/或字符类/符号参数(例如,至少20个字母数字字符和至少五个符号)在复杂度上变化。

一旦已经生成了认证令牌,认证令牌管理系统可以通常布置成经由代理应用至少部分地基于代理认证信息来设置或更新为服务账户生成的认证令牌。在一些实施例中,认证令牌管理系统可进一步受限制,以使得客户可被受限于仅执行有限集合的动作(例如,取回与代理认证信息相关联的服务账户以及更新或设置用于服务账户的口令)以及仅关于他们自己的服务账户来执行那些有限集合的动作。另外,认证令牌管理系统可进一步布置成将生成的认证令牌提供给客户端设备以便编程访问(例如,拷贝)、安全存储和/或经由各种网络互连通过安全的连接来显示。

在服务账户可选地与有限的生存期、有限的角色和/或有限的范围相关联的实施例中(例如,恰好及时提供的账户(just-in-time provisioned account)或JIT账户),认证令牌可以在服务账户的生存期内(例如,4个小时,最多96个小时)生存或持续。而且,服务账户的生存期结束时,认证令牌管理系统可以布置成重设与该服务账户相关联的认证令牌,以使得与该服务账户相关联的任何活跃的令牌(例如,访问令牌)失效。

结果,通过使客户能够安全地请求和生成与一个或多个服务账户相关联的新的认证令牌,可以大幅地减弱攻击者使用基于认证令牌的攻击来危害一个或多个服务账户的能力。另外,因为所生成的认证令牌相比于人类创建的口令复杂得多,所以通过使用复杂的认证令牌可以缓解传统的强力程序,甚至是一些基于社会工程的攻击,因为这些令牌可能难以或者甚至不可能经由普通的手段和/或媒介物(例如,口头传达)来精确地传达。此外,通过用对于每个服务账户而言是随机和/或唯一的机器生成的认证令牌来取代全部人类创建的口令,攻击者通过例如使用共享认证令牌来危害一个或多个服务账户的能力会进一步减弱。在一个或多个服务账户可进一步与有限的生存期相关联的实施例中,攻击者使用受危害的服务账户的访问将进一步受限制,因为这些服务账户在他们被禁用之前具有有限的生存期。通过这种方式,SaaS系统的安全性和隐私性会大幅提高。

一般参考本文所使用的注释和术语,下面的详细说明以在计算机或计算机网络上执行的程序过程的形式呈现。这些过程描述和表示由本领域技术人员使用以将其工作的实质最有效地传达给本领域其他技术人员。

过程在此处一般认为是得到期望结果的自相容的操作序列。这些操作是那些需要对物理量的物理操纵的操作。通常,虽然不是必要的,但是这些量可呈现为能够进行存储、传递、组合、比较以及以其它方式操纵的电、磁或光信号的形式。有时证实方便的是,尤其是为了共同使用的原因,将这些信号称为位、值、元件、符号、字符、项、数字等。然而,应当注意的是,所有这些以及类似的术语与适当的物理量相关联且仅仅是适用于那些量的便用标签。

此外,所执行的操作通常以诸如添加或比较的术语称谓,这些术语通常与人类操作员所执行的脑力操作相关联。在构成一个或多个实施例的部分的本文所描述的任意操作中,在大多数情况下不需要或不期望人类操作器的这种能力。相反,操作是机器操作。用于执行各个实施例的操作的有用机器包括通用数字计算机或类似的设备。

各个实施例还涉及用于执行这些操作的装置或系统。该装置可特别地构造为用于所需的目的,或者其可以包括由存储在计算机中的计算机程序选择地激活或重配置的通用计算机。本文所提出的过程并非本质上与特定计算机或其它装置相关。各个通用机器可与依照本文的教导撰写的程序一起使用,或者其可证实方便构造为更专业的用于执行所需的方法步骤的装置。用于各种这类机器的所需结构将从给出的说明中显现。

现在参考附图,其中在通篇中相似的附图标记用于指代相似的元件。在下面的说明中,为了说明的目的,阐述了大量具体细节,以便于提供对本发明的全面理解。然而,显而易见的是能够在不具有这些具体细节的情况实施新颖的实施例。在其它情况下,公知的结构和设备以框图形式显示是为了便于对其进行说明。旨在涵盖与所要求保护的主题一致的所有的改进方案、等同方案和可选方案。

图1示出了认证令牌管理系统100的实施例。在各个实施例中,认证令牌管理系统100可以实现于企业计算环境150(例如,云存储系统、数据中心等)或者利用企业计算环境150来实现,该企业计算环境150包括一个或多个客户102-a(例如,用户、工程师、承包者、顾客和/或软件/硬件组件),其中每个客户(例如,客户102-1或102-2)可以与一个或多个客户账户相关联并且一个或多个客户账户的每个客户账户可进一步与客户账户信息相关联。客户账户信息可包括但不限于,客户账户认证信息(例如,用户主体名称(UPN)、账户标识符、账户口令或其散列和/或盐化衍生物(salted derivative)、账户域、智能卡证书和相关联的PIN、生物计量信息等)、客户账户授权信息(例如,客户账户角色和范围信息、访问许可、相关联群组等)和/或与一个或多个客户102-a的认证和授权相关的任何其它信息。

一个或多个客户102-a可使用一个或多个客户账户来请求其相关联的服务账户以及使用诸如例如数据中心142中的一个或多个资源和/或资产,数据中心包括布置成提供一个或多个电子系统的一个或多个服务的一个或多个服务器设备140-i-j。在一个实施例中,电子系统可以包括SaaS系统,其可以包括但不限于MICROSOFT Office 365,MICROSOFT Exchange Online MICROSOFT SharePoint Online,MICROSOFT Dynamics CRM以及其它SaaS系统。实施例不一定限于一类电子系统。

数据中心142中的服务器设备140-i-j可经由网络互连112进一步在彼此之间互连从而提供SaaS系统托管的各种服务。可以意识到,在各个实施例中的服务器设备140-i-j仅为了图示而不是限定的目的而提及。因此,在各个实施例中的服务器设备140-i-j中的任一个或全部可以由诸如例如虚拟设备、工作站、计算设备、移动设备、应用、服务和/或其他软件/硬件组件的任何其他资源和/或资产来替代。

还值得注意的是,本文所使用的“a”和“b”和“c”以及类似的指示符旨在作为代表任何正整数的变量。因此,例如,如果实现方式设置了值a=2,则客户102-a的完整集合可以包括客户102-1和102-2。在另一示例中,如果实现方式设置了值i=1以及j=6,则服务器设备140-i-j的完整集合可以包括服务器设备140-1-1、140-1-2、140-1-3、140-1-4、140-1-5以及140-1-6。实施例不限于该上下文。

在各个实施例中,认证令牌管理系统100可以包括由客户102-a使用的一个或多个客户端设备104-b(例如,膝上型设备、计算机、手机、工作站或任何其他计算设备)以用于经由网络互连112来访问或服务一个或多个SaaS系统的服务器设备140-i-j(例如,测试、升级、调试、开发、部署、使用和/或维护SaaS系统的一个或多个资源和/或资产)。网络互连112可以通常布置成通过使用一个或多个网络设备(例如,中继器、桥接器、集线器、交换机、路由器、网关、负荷平衡器等)的一个或多个网络(例如,内联网和/或互联网)来提供企业计算环境150中的各种设备、组件、应用、服务器、资源和/或资产之间的网络连接。

在各个实施例中,客户端设备104-b中的至少一些,诸如例如客户端设备104-2,可以与身份输入和/或输出(I/O)设备164(例如,智能读卡器)通信耦合,用于与物理身份令牌(例如,智能卡)通信,从而读取且认证或辅助认证与客户相关联的物理身份令牌中所包含的客户认证信息(例如,数字智能卡证书)。另外地或者可替代地,其他客户端设备104-b,诸如例如,客户端设备104-1,可以与加密模块(例如,TPM(未示出))通信耦合,该加密模块被配置为读取且认证或者辅助认证与客户相关联的虚拟身份令牌。

另外地或者可替代地,客户端设备104-b中的至少一些,诸如例如客户端设备104-2,还可以与认证令牌数据库166(例如,Password Safe)通信耦合,用于使用一种或多种加密算法(例如,Twofish对称密钥块密码)以加密格式安全地存储至少服务账户标识符及其相关联的认证令牌。因此,在各个实施例中,客户端设备104-2可被配置为自动加密提供给客户102-2的任何认证令牌并且将其存储在认证令牌数据库166中,认证令牌数据库166可使客户102-2之后经由客户端设备104-2取回先前存储的服务账户标识符及其相关联的认证令牌,以用于访问数据中心142中的一个或多个资源和/或资产。

在各个实施例中,认证令牌管理系统100,尤其是数据中心142,可以包括或者集成有一个或多个目录服务服务器设备130-l,目录服务服务器设备通常可布置成执行除了其他应用之外的目录服务应用(未示出),从而将包括一个或多个服务器设备140-i-j的数据中心142组织成一个或多个逻辑组、逻辑子组和/或逻辑子子组的层级(例如,森林132-k,域136-d和/或组织单元134-e-f)。目录服务服务器设备130-l还可以布置成将该层级存储在包括目录服务信息的一个或多个目录服务数据库(未示出)中。

一个或多个目录服务服务器设备130-l可以包括与一个或多个服务账户相关联的服务账户信息,以使得一个或多个目录服务服务器设备130-l可以认证来自一个或多个客户102-a的使用服务账户来访问一个或多个资源和/或资产的访问请求。服务账户信息可以包括但不限于服务账户认证信息(例如,用户主体名称(UPN)、账户标识符、账户认证令牌、账户域、智能卡证书、生物计量等)、服务账户授权信息(例如,服务账户角色和范围信息、服务账户访问许可、服务账户相关联群组等)、服务账户生存期信息(例如,服务账户的生存期)、目录服务信息(例如,与服务账户相关联的目录服务服务器设备)、和/或与一个或多个服务账户的认证、授权和生存期相关的任何其他信息。

在各个实施例中,每个目录服务服务器设备(例如,目录服务服务器设备130-1)可以包括或实现目录服务应用(未示出)。示例性的目录服务应用可包括但不限于MICROSOFT活动目录(Active Directory)、eDirectory、Open Directory、Internet Directory(OID)、Tivoli Directory Server、或者任何其他实现目录访问协议(Directory Access Protocol(DAP))、轻量目录访问协议(Lightweight Directory Access Protocol(LDAP))、和/或国际电信联盟(ITU)电信标准化部(ITU-T)颁布的X.500标准的应用。

通过示例的方式,目录服务服务器设备130-1可以包括或实现MICROSOFT活动目录的至少一部分(例如,活动目录域服务,活动目录域控制器,活动目录数据存储等)。一个或多个目录服务服务器设备130-l中的每个目录服务服务器设备(例如,目录服务服务器设备130-1)可以布置成管理诸如例如森林132-1的顶级逻辑组。一个或多个森林132-k可以包括一个或多个较低逻辑组,例如,逻辑子组,诸如例如域136-d。一个或多个域136-d中的每个域(例如,域136-1)可布置成管理较低级的逻辑组,例如,逻辑子子组,诸如例如,组织单元134-e-f。任选地,域136-d可以进一步逻辑分组成森林132-k与域136-d之间的一个或多个中间逻辑组,诸如例如树(未示出)。一个或多个组织单元134-e-f中的每个组织单元(例如,组织单元134-1-1)可包括一个或多个资源和/或资产,诸如例如服务器设备140-g-h。

可以意识到,各个实施例中的森林132-k,域136-d,和/或组织单元134-e-f仅为了示例而不是限制的目的而提及。因此,各个实施例中的森林132-k,域136-d,和/或组织单元134-e-f中的任意一个或全部对于给定的实现方式可替代成它们的实质上等同物。例如,在目录服务服务器设备130-1可以包括或实现NOVELL eDirectory的至少一部分的一种实现方式中,森林132-k,域136-d,和/或组织单元134-e-f可以分别替代成NOVELL eDirectory中实现的树、分区和组织单元。实施例不限于该上下文。

在一些实施例中,数据中心142中的每个域(例如,域136-1)可以任选地包括一个或多个违反界限138-g-h,以便于包含可能已危害一个或多个服务账户的一个或多个攻击者的横向移动。例如,域136-1可以包括违反界限138-1-1和138-1-2。另外地,在这些实施例的一些实现方式中,违反界限138-g-h可以独立于一个或多个组织单元134-e-f。例如,在域136-1中,组织单元134-1-1,134-1-2,134-1-3可以跨过违反界限138-1-1和138-1-2,使得单个违反界限,诸如违反界限138-1-1可以包括来自全部三个组织单元134-1-1,134-1-2,134-1-3的资源和/或资产,诸如例如服务器设备140-1-1,140-1-2,140-1-3。在其他域中,违反界限138-g-h可以与一个或多个组织单元134-e-f共存,使得单个违反界限可包括来自单个组织单元134-e-f的资源和/或资产。实施例不限于该上下文。

在一些实施例中,一个或多个违反界限138-g-h可以任选地由一个或多个目录服务服务器设备130-l管理且布置成准许或提供针对可与安全界限(例如,一个或多个违反界限138-g-h中的违反界限)相关联的一个或多个服务账户的一组访问许可,以使得一个或多个服务账户可以访问安全界限内的一个或多个资源和/或资产。为确保对服务账户有访问权的攻击者不能使用“传递(pass)散列攻击”(即,攻击者的横向移动)在一个或多个违反界限138-g-h之间和之中移动,一个或多个违反界限138-g-h中的每个违反界限(例如,违反界限138-1-1和138-1-2)可以进一步任选地布置成包括相互排斥和/或非重叠的资源和/或资产的集合,以使得在任何违反界限138-g-h之间没有重叠。

在一个或多个违反界限138-g-h的一个示例性的实现方式中,一个或多个目录服务服务器设备130-l的目录服务应用(未示出)可布置成管理一个或多个违反界限安全组168-m-n中的每个违反界限安全组和/或为其分配对一个或多个资源和/或资产的一组访问许可,以使得添加到违反界限安全组中的任何成员(例如,一个或多个服务账户)可以根据该组访问许可来访问安全组所管理的一个或多个资源和/或资产。为了包含已经获得了对受危害的服务账户的访问权的攻击者的横向移动,一个或多个目录服务服务器设备130-l可进一步布置成管理一个或多个相互排斥或非重叠的违反界限安全组168-m-n中的一个或多个资源和/或资产,以使得没有任何单一资源和/或资产是能够从作为两个不同的违反界限安全组的成员的服务账户来访问或服务的。

可以意识到,虽然在各个实施例中仅示出了有限数量的违反界限安全组(例如,违反界限安全组168-1-1,168-1-2,和168-m-1),但是一个或多个目录服务服务器设备130-l可被配置针对与服务账户相关联的一个或多个角色管理多个群组(例如,远程访问群组、调试群组等),其中每个群组可以与与角色相关联的一组访问许可(例如,对一个或多个资源和/或资产的远程访问,对一个或多个资源和/或资产的调试,等等)相关联,使得服务账户可以嵌套方式成为多个群组的成员,从而实现基于角色的访问控制(RBAC)。实施例不限于该上下文。

在各个实施例中,认证令牌管理系统100可进一步包括服务器设备108,该服务器设备108通常可布置成执行除了其他应用之外的目录服务应用110。目录服务应用110通常可布置成存储且提供与客户102-a的一个或多个客户账户相关联的客户账户信息。目录服务应用110还可以布置成存储组织层级信息,该组织层级信息包括一个或多个客户102-a可以是其成员或附属机构的组织(例如,公司)的层级结构。目录服务应用110可进一步布置成经由认证令牌管理应用172来认证或辅助认证请求用于一个或多个服务账户的认证令牌的一个或多个客户102-a。示例性的目录服务应用或实现方式可以包括但不限于之前结合目录服务服务器设备130-l所论述的那些。

为了认证或促进认证请求用于一个或多个服务账户的认证令牌的一个或多个客户102-a,目录服务应用110还可以暴露和/或实现一个或多个应用程序接口(API)。管理员管理应用114和/或令牌管理应用172可以使用一个或多个API来基于与一个或多个客户102-a相关联的客户账户信息(例如,客户账户标识符或客户账户UPN以及客户账户口令)来认证请求服务账户和/或用于服务账户的认证令牌的一个或多个客户102-a。

通过示例的方式,管理员管理应用114和/或认证令牌管理应用172可以通过经由网络互连112使用目录服务应用110的一个或多个API和/或一个或多个本地程序调用(LPC)和/或远程程序调用(RPC)机制,基于接收到的客户账户标识符或客户账户UPN以及客户账户口令来认证一个或多个客户102-a。可以意识到,示例性的API可以包括但不限于,目录访问协议(DAP)API、轻量目录访问协议(LDAP)API、MICROSOFT活动目录服务接口(ADSI)API、MICROSOFT消息传递API(MAPI)、MICROSOFT目录系统代理(DSA)API和/或任何其他使能认证客户102-a的API。

另外或者替代地,认证令牌管理系统100可以包括服务器设备160,该服务器设备160通常可布置成执行联合身份应用162以及其他应用。联合身份应用162通常可布置成使用一个或多个认证协议(例如,Kerberos协议)来提供多因素认证(例如,使用智能卡、口令/pin和/或手指纹的两因素认证)。认证因素可以包括但不限于,知识因素,即客户所知的某事物(例如,口令、密码、密钥、PIN等)、所有权因素,即客户所拥有的某事物(例如,智能卡、虚拟智能卡、安全令牌等)、固有特性因素,即客户所是的某事物(例如,手指纹、虹膜模式、视网膜模式、生物计量等),和/或任何其他可用于辅助客户的标识和/或认证的因素。因此,在一些实施例中,联合身份应用162可以与身份输入和/或输出(I/O)设备164和/或目录服务应用110联合被布置成提供对一个或多个客户102-a的认证。

在各个实施例中,联合身份应用162可进一步布置成提供安全令牌服务(STS)并且向一个或多个客户102-a和/或权利要求使能应用发布一个或多个安全令牌(例如,安全断言标记语言(SAML)令牌),从而一个或多个权利要求使能应用可以标识和/或建立与客户的可信连接,而不必直接接收和/或处理与一个或多个客户102-a相关联的客户账户信息(例如,用户主体名称(UPN)、账户标识符、账户口令或其散列衍生物、账户域、智能卡证书等)。示例性的联合身份应用可包括但不限于,MICROSOFT活动目录联合服务(AD FS)、MICROSFT联合网关或任何其他被配置为发布包括断言先前认证的客户的身份的权利要求(claims)的安全令牌的联合身份服务提供商。

在各个实施例中,不是直接基于客户账户标识符或客户账户UPN、客户账户口令来认证一个或多个客户102-a,管理员管理应用114和/或令牌管理应用172可以布置为权利要求使能应用,并且因此,被配置为接收来自一个或多个客户端设备104-b的由联合身份应用162发布的安全令牌,从而认证和/或授权一个或多个客户102-a。因此,管理员管理应用114和/或认证令牌管理应用172可以至少部分地基于接收到的安全令牌来认证且标识请求访问应用的客户102-a。接收到的安全令牌还可以包括一个或多个权利要求,其可以包括与一个或多个客户102-a相关联的客户账户信息。任选地,接收到的安全令牌可进一步包括指示用于认证一个或多个客户102-a的认证因素、机制和/或方法(例如,智能卡和PIN,账户标识符和账户口令、账户标识符和生物计量指纹等)的认证类型信息。

通过示例的方式,通过使用身份令牌(即,所有权因素)与身份I/O设备164相连接以及经由与客户端设备104-2通信耦合的标准输入设备(例如,键盘)输入相关联的PIN(即,知识因素),客户102-2可首先请求使用两因素认证来认证客户端设备104-2。目录服务应用110(例如,MICROSOFT活动目录目录服务(AD DS))可以随后接收来自客户端设备104-2的请求以至少部分地基于由客户端设备104-2认证和/或验证的身份令牌(例如,与客户102-2相关联的智能卡)协商用于客户102-2的票据授予票据(Ticket Granting Ticket)(例如,Kerberos票)。一旦客户102-2已经过认证,目录服务应用110可随后提供TGT给客户端设备104-2。任选地,目录服务应用110可另外地在TGT中包括表明已经使用身份令牌和相关联PIN而不是传统的客户账户标识符或客户账户UPN以及相关联的客户账户口令认证了客户102-2的信息(例如,安全标识符(SID),其标识安全群组,该安全群组可以包括已经通过智能卡和相关联PIN认证的一个或多个客户102-a)。

继续上面的说明,权利要求使能应用(例如,管理员管理应用114和/或令牌管理应用172)可以随后经由客户端设备104-2接收来自客户102-2的访问请求。响应于访问请求,权利要求使能应用可以将客户端设备104-2重新引导至权利要求使能应用的可信STS提供商,即,联合身份应用162(例如,MICROSOFT AD FS),其中联合身份应用162可以与目录服务应用110通信且与客户端设备104-2协商以为客户端设备104-2提供安全令牌(例如,SAML令牌)。任选地,联合身份应用162可另外地在安全令牌中包括表明已经利用客户的身份令牌和相关联PIN认证了客户102-2的认证类型信息。

仍继续上面的说明,权利要求使能应用可随后接收来自客户端设备104-2的安全令牌(例如,SAML令牌),其由联合身份应用162提供,其中权利要求使能应用可通过判定安全令牌是否由诸如例如联合身份应用162的可信联合身份应用所有发布来认证或验证安全令牌。为促进随后与权利要求使能应用的通信的认证,权利要求使能应用还可以将可信会话cookie(例如,FedAuth cookie)提供给客户端设备104-2以便后续通信。任选地,权利要求使能应用可以基于身份令牌的使用来判定客户102-2是否被认证,例如通过判定安全令牌是否包括表明客户102-2已经由身份令牌和相关联PIN认证的用于包含客户102-2的安全群组的SID。当客户102-2没有基于客户的身份令牌被认证时,权利要求使能应用可拒绝客户端设备104-2访问权利要求使能应用。通过这种方式,可以在客户端设备104-2与权利要求使能应用之间建立针对已经基于至少两因素认证即身份令牌(即,所有权因素)和相关联PIN(即,知识因素)认证的客户102-a的至少一个可信连接。

在各个实施例中,认证令牌管理系统100可以进一步任选地包括服务器设备106,其可以任选地布置成执行管理员管理应用114以及其他应用。管理员管理应用114通常可布置成认证请求一个或多个服务账户的一个或多个客户102-a以及从一个或多个客户102-a接收访问一个或多个服务器设备的请求,升高访问许可,以及认证从客户102-a接收到的一个或多个请求。另外地,管理员管理应用114可以进一步布置成管理、授权、提供以及使能一个或多个服务账户。此外,管理员管理应用114可以布置成应客户102-a的请求向一些服务账户提供提升的访问许可以及受限的角色、受限的范围和受限的生存期,另外称为正及时(just-in-time)(JIT)提供的账户(即,JIT账户),并且将与所提供的服务账户(例如,提供的JIT账户)相关联的服务账户信息通知给客户102-a。

为使得一个或多个客户102-a被认证,管理员管理应用114可以布置成经由客户端设备104-b从一个或多个客户102-a请求和/或接收客户账户信息的至少一部分(例如,账户UPN,账户标识符,和/或账户口令),其中接收到的客户账户信息可与一个或多个客户102-a的客户账户相关联。一旦客户账户信息被接收到,管理员管理应用114可进一步布置成经由网络互连112和目录服务应用110的一个或多个API进行通信以认证接收到的与一个或多个客户102-a相关联的客户账户信息(例如,账户UPN,账户标识符,和/或账户口令)。

另外地和/或可替代地,管理员管理应用114可以包括权利要求使能应用,其布置成接收来自一个或多个客户端设备104-b的由联合身份应用162发布的安全令牌(例如,SAML令牌)。管理员管理应用114可进一步布置成基于接收到的安全令牌来认证和标识请求服务账户的一个或多个客户102-a。接收到的安全令牌可以包括一个或多个权利要求,其可以包括与一个或多个客户102-a相关联的客户账户信息。通过使用从客户端设备104-b接收到的安全令牌,管理员管理应用114可以与一个或多个客户端设备104-b建立至少可信的连接。为进一步保护可信连接免于攻击者危害或妨害,管理员管理应用114还可以使用一个或多个安全通信协议(例如,超文本传输协议安全(HTTPS))来建立加密连接。通过这种方式,安全连接(例如,可信且加密的连接)可以建立在管理员管理应用114与请求一个或多个服务账户的一个或多个客户端设备104-b之间。

在一些实施例中,一旦一个或多个客户102-a已经被认证,管理员管理应用114可布置成使得一个或多个认证客户102-a输入服务账户请求信息从而请求一个或多个服务账户以访问数据中心142中的一个或多个资源和/或资产。服务账户请求信息可以包括但不限于,待执行的一个或多个动作或任务、一个或多个服务器设备140-i-j,以及与一个或多个动作或任务相关联的请求的生存期信息。请求的生存期信息可包括但不限于服务账户过期或者被禁用时的具体时间或经过的时间,和/或服务账户被去除时的具体时间或经过的时间。任选地,管理员管理应用114可以将服务账户的请求生存期信息限制为94小时或4天的上限值,使得任何对生存期大于96小时(例如,4天)的服务账户的请求都将被限制为96小时或4天。实施例不限于该上下文。

在一些实施例中,管理员管理应用114可布置成通过至少部分地基于基于接收到的服务账户请求信息(例如,待执行的一个或多个动作或任务以及一个或多个服务器设备140-i-j)以及现有服务账户的服务账户角色和范围信息而确定的请求的角色和范围信息来取回与客户相关联的现有服务账户来提供服务账户。另外地或者可替代地,管理员管理应用114可布置成通过至少部分地基于经由客户端设备104-b从一个或多个客户102-a接收到的请求的角色和范围信息和现有服务账户的服务账户角色和范围信息来取回与客户相关联的现有服务账户来提供服务账户。

示例性的请求的角色和/或服务账户角色可以包括但不限于管理员、后备操作者、调试者、远程用户、测试者等。可以意识到,每个角色可以进一步与可准许和/或拒绝对一个或多个资源和/或资产和/或的一个或多个资源和/或资产的组件的访问的一组访问许可相关联。示例性的请求范围和/或服务账户范围可以包括但不限于,包括一个或多个服务器设备140-1-1,14-1-2,14-1-3或者任何其他资源和/或资产和/或资源和/或资产的组件的违反界限138-1-1。

在一些实施例中,管理员管理应用114可布置成判定针对客户是否已经存在具有相同或基本相似的请求角色和范围的服务账户。当针对客户已经存在的服务账户的服务账户角色和范围与所请求的角色和范围相同或基本相似时,管理员管理应用114随后可布置成从服务账户数据库126取回现有的服务账户。

可替选地,当管理员管理应用114判定针对该客户不存在具有所请求角色和范围的服务账户时,账户提供组件120可被配置为自动地为该客户创建新的服务账户。这还称为服务账户的懒惰提供,其中管理员管理应用114可被配置为仅当针对该客户还不存在具有等同或基本相似角色和范围的先前的服务账户时才创建服务账户。

在一些实施例中,管理员管理应用114可以进一步布置成至少部分地基于服务账户请求信息(例如,所请求的角色和范围信息,请求的生存期信息等)以及客户账户信息来创建新服务账户及其相关联的服务账户信息。例如,假设客户102-2的客户账户信息可以包括客户账户UPN“EllenAdams@.contoso.com”,而且请求的角色包括远程用户和调试者且请求的范围包括违反界限138-1-1。管理员管理应用114可以利用包括服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”的服务账户信息来创建新的服务账户,使得客户102-2可以至少部分地基于该UPN来标识至少该服务账户的一个或多个角色。可替代地,管理员管理应用114还可以将新创建的服务账户存储在服务账户数据库126中并且将新创建的服务账户与该客户的客户账户相关联。

为确保一个或多个目录服务服务器设备130-l管理的资源和/或资产能够由一个或多个客户102-a使用新创建的服务账户访问和/或服务,管理员管理应用114可以进一步布置成标识管理一个或多个违反界限138-g-h的适当的目录服务服务器设备,其包括客户请求访问和/或服务的一个或多个资源和/或资产。一旦标识出适当的目录服务服务器设备,管理员管理应用114可进一步布置成经由网络互连112以及标识的目录服务服务器设备的一个或多个API与标识的目录服务服务器设备进行通信,从而创建服务账户。可替代地,管理员管理应用114可以布置成将新创建的服务账户和相关联服务账户信息存储在服务账户数据库126中并且将新创建的服务账户和相关联的服务账户信息与客户账户相关联,从而使其可被取回和重用。

在一些实施例中,一旦已经取回或创建服务账户,管理员管理应用114可进一步布置成至少部分地基于请求的角色和范围信息来使能服务账户,以使得取回的或创建的服务账户具有与客户请求的相同的角色和范围。这还确保了,所创建或取回的每个服务账户包括对客户请求的资源和/或资产进行访问或执行服务所需的一组最小范围的访问许可。为使能服务账户,管理员管理应用114可以进一步布置成至少部分地基于请求的角色和范围信息准许或提供对服务账户一组访问许可。

为确保将一组恰当的访问许可准许或提供给所提供的服务账户,管理员管理应用114可布置成标识用于管理适当的违反界限安全群组168-m-n的目录服务服务器设备且标识被配置为准许通过使用网络互连112以及一个或多个目录服务服务器设备130-l的目录服务应用(未示出)的一个或多个API访问一个或多个资源和/或资产的一个或多个违反界限安全群组168-m-n。一旦适当的目录服务服务器设备以及一个或多个违反界限安全群组168-m-n已经被标识出,管理员管理应用114可被配置为与标识的目录服务服务器设备进行通信以将提供的服务账户与标识的违反界限安全群组相关联。

在一些实施例中,管理员管理应用114可布置成通过将服务账户作为成员添加到一个或多个违反界限安全群组168-m-n中来将服务账户与违反界限安全群组168-m-n相关联,从而使得服务账户可被准许访问与违反界限安全群组相关联的违反界限内的一个或多个资源和/或资产的一组访问许可。为进一步限制攻击者使用受危害的服务账户会导致的影响的范围,管理员管理应用114可被进一步布置成限制服务账户可与之相关联的违反界限安全群组168-m-n的数量(例如,每个服务账户可仅与单个违反界限安全群组相关联)。

在一些实施例中,管理员管理应用114可进一步布置成使能具有有限生存期的一个或多个服务账户。为确保在有限生存期内使能一个或多个服务账户,管理员管理应用114可进一步布置成基于服务账户生存期信息或预定义服务账户生存期信息来管理与每个服务账户相关联的生存期。管理员管理应用114可进一步布置成在已经经过了按服务账户生存期信息或预定义服务账户生存期信息所指示的一段时间后禁用和/或去除一个或多个服务账户。可以意识到,服务账户生存期信息可以包括但不限于当服务账户过期或被禁用时的具体时间或经过的时间以及服务账户被去除时的具体时间或经过的时间。

在一些实施例中,对于给定的实现方式,可以基于经由客户端设备104-b从一个或多个客户102-a接收到的服务账户请求信息来确定和/或获得服务账户生存期信息。在其他实施例中,可基于服务账户角色和范围信息所指示的一个或多个角色来确定和/或获得服务账户生存期信息,其中一些角色(例如,远程用户和调试者)会具有2小时的相关联服务账户生存期,而其他角色(例如,后备操作者)可具有4小时的相关联生存期。实施例不限于该上下文。

在一个示例性实施例中,服务账户的生存期可以从服务账户被提供(例如,由管理员管理应用114提供)的时间开始并且在基于服务账户生存期信息的规定时间或经过的时间结束。替选地,服务账户的生存期可以从服务账户被首次使用(例如,客户试图使用服务账户来访问资源和/或资产)的时间开始且在基于服务账户生存期信息的规定时间或经过的时间结束。示例性的实施例不限于该上下文。

在另一示例性实施例中,当一个或多个客户102-a访问由一个或多个目录服务服务器设备130-l管理的一个或多个资源和/或资产时,管理员管理应用114可进一步布置成经由网络互连112接收来自一个或多个目录服务服务器设备130-l的一个或多个访问批准请求。管理员管理应用114可被进一步布置成,当服务账户的生存期尚未到期时,自动地批准或允许一个或多个客户102-a访问由相应的目录服务服务器设备130-l管理的一个或多个资源和/或资产。

可替代地,管理员管理应用114可布置成,当服务账户的生存期已经到期时,自动拒绝一个或多个客户102-a对由相应的目录服务服务器设备130-l管理的一个或多个资源和/或资产的任何访问。另外,在一个实施例中,管理员管理应用114还可布置成禁用服务账户和/或将服务账户与一个或多个违反界限安全群组解除关联。

在一个示例性的实施例中,管理员管理应用114可通过拒绝全部的访问批准请求来禁用服务账户并且生成新的认证令牌,而不将新生成的认证令牌给客户102-a。而且,管理员管理应用114可以生成新的认证令牌,通过请求例如认证令牌管理应用172重置服务账户的认证令牌,而不将新生成的认证令牌提供给客户102-a。管理员管理应用114还可以通过将服务账户从一个或多个违反界限安全群组中的成员关系去除来将服务账户解除关联。

另外地或者替选地,管理员管理应用114可以进一步布置成对于任何被使能的服务账户周期性地扫描服务账户数据库126并且基于服务账户生存期信息来禁用生存期已经到期的任何服务账户。在一些实施例中,被禁用的服务账户也将立即终止(例如,被迫注销)当前在使用的任何服务账户及其相关联的活动动作或任务。为确保管理一个或多个资源和/或资产的一个或多个目录服务器设备130-l恰当地与服务账户数据库126同步,管理员管理应用114可进一步布置成经由网络互连112以及目录服务服务器设备130-l的目录服务应用的一个或多个API进行通信以更新服务账户的服务账户生存期信息和/或禁用生存期到期的任何服务账户。

在服务账户被启动之后,管理员管理应用114可以被布置成经由一个或多个客户端设备104-b将一个或多个通知消息中的服务账户信息通知且提供给一个或多个客户102-a。示例性的通知消息可包括但不限于,移动SMS消息传递、自动语音呼叫、电子邮件、交互式基于web的形式、web警告、基于互联网和/或内联网的消息传递应用、或者任何其他将提升访问许可的批准和/或拒绝通知给一个或多个客户102-a以及为一个或多个客户102-a提供请求批准信息、监督批准信息和/或服务账户信息的手段。为促进客户设置或生成认证令牌,管理员管理应用114可进一步布置成在一个或多个通知消息中提供引用(例如,URL,诸如“https://AuthenticationTokenManagementFrontEnd”或“https://AuthenticationTokenManagementFrontEnd.contoso.com”)给认证令牌管理应用172,使得一个或多个客户102-a可以访问认证令牌管理应用172从而设置和/或生成用于一个或多个提供的服务账户的一个或多个认证令牌。

通过示例说明的方式,假设具有名称“Ellen Adams”且客户账户UPN“EllenAdams@contoso.com”的客户102-2请求服务账户以至少通过客户端设备104-2与管理员管理应用114之间的加密连接访问一个或多个服务器设备140-i-j。作为对请求的回应,管理员管理应用114可首先基于客户账户UPN(例如,“EllenAdams@contoso.com”)和客户账户口令来认证访问管理员管理应用114的客户102-2以建立安全连接(例如,可信且加密的连接)。替选地,管理员管理应用114可以基于两因素认证(例如,智能卡和相关联PIN)和接收到的安全令牌来认证客户102-2以建立安全连接。一旦经过认证,客户102-2可以请求服务账户通过建立的安全连接以请求的4小时的生存期远程地调试服务器设备140-1-1。作为对该请求的回应,管理员管理应用114可以确定和/或接收从客户102-2接收的具有包含了远程用户和调试者的请求角色和违反界限138-1-1的请求范围的访问许可的服务账户的请求角色和范围信息。

继续上述的示例说明,管理员管理应用114随后可以基于与客户102-2相关联的客户账户信息以及服务账户请求信息(例如,请求角色和范围信息)来判定是否授权对服务账户的提供,从而确保对具有在客户102-2的客户账户范围内或者与其一致的一组范围许可的服务账户的请求。一旦请求已经过授权,则管理员管理应用114可以判定服务账户数据库126中是否已经存在针对客户102-2的具有与请求的角色和范围相同或基本相似的角色和范围的现有服务账户。

仍继续上面的示例说明以及假设管理员管理应用114已经判定不存在现有的服务账户,则管理员管理应用114可以标识一个或多个目录服务服务器设备130-l中的使用违反界限安全群组168-1-1实现违反界限138-1-1的目录服务服务器设备130-1。管理员管理应用114可通过至少经由网络互连112以及目录服务服务器设备130-1的目录服务应用(未示出)的一个或多个API来提供服务账户,使得客户102-2能够访问目录服务服务器设备130-1所管理的服务器设备140-1-1,140-1-2,140-1-3,140-1-4,140-1-5,140-1-6。

仍继续上面的说明,管理员管理应用114还可以将违反界限安全群组168-1-1标识为被配置为准予对服务器设备140-1-1,140-1-2,140-1-3的一组访问许可的违反界限安全群组。管理员管理应用114可进一步通过将提供的服务账户添加到至少所标识的违反界限安全群组168-1-1中从而准予所提供的服务账户对服务器设备140-1-1,140-1-2,140-1-3的一组访问许可而进一步相关联。可以意识到,管理员管理应用114还可以通过将所提供的服务账户添加到其他群组(例如,远程用户群组,调试者群组等)中从而准予作为与远程用户和调试者的访问许可来相关联,使得所提供的服务账户可由客户102-2使用来对服务器设备140-1-1,140-1-2,140-1-3执行远程调试。

仍继续上面的示例说明,管理员管理应用114还可以基于从指示服务账户生存期是4小时的从请求的生存期获得的所确定的服务账户生存期信息来使能提供的服务账户。假设服务账户在下午12点提供给客户102-2且提供的服务账户的生存期从服务账户被提供的时间即下午12点开始,使得当服务账户的生存期在下午4点结束时,管理员管理应用114可以禁用服务账户且使用认证令牌管理应用172将与提供的服务账户相关联的认证令牌重置两次,从而强制使与服务账户相关联的任何活动令牌(例如,在服务器设备140-1-1上的一个或多个过程的执行中使用的访问令牌)过期。仍继续上面的示例说明,一旦使能服务账户,则管理员管理应用114可以经由客户端设备104-2将服务账户标识符或服务账户UPN(例如,“EllenAdams_RemoteDebugger@domain136-1.contoso.com”)以及对认证令牌管理应用172的引用(例如,URL,诸如“https://AuthenticationTokenManagementFrontEnd”或“https://AuthenticationTokenManagementFrontEnd.contoso.com”)通知客户102-2,使得客户102-2可以访问认证管理应用172以设置和/或生成用于提供的服务账户的认证令牌。客户102-2随后可使用具有生成的认证令牌的所提供的服务账户,经由客户端设备104-2和网络互连112在下午4点之前远程地调试服务器设备140-1-1(例如,使用远程桌面协议(RDP))。

在各个实施例中,认证令牌管理系统100可进一步包括服务器设备170,该服务器设备可以通常布置成执行认证令牌管理应用172以及其他应用。认证令牌管理应用172通常布置成对访问认证令牌管理应用172或请求生成用于服务账户的认证令牌的一个或多个客户102-a进行认证。认证令牌管理应用172可以布置成经由网络互连112和一个或多个客户端设备104-b接收来自一个或多个客户102-a的请求以生成用于一个或多个服务账户的一个或多个认证令牌。此外,认证令牌管理应用172可布置成经由网络互连112和一个或多个客户端设备104-b为客户102-a提供与服务账户相关联的服务账户信息以及为一个或多个客户102-a生成的认证令牌。另外地,认证令牌管理应用172可进一步布置成管理、生成、重置以及请求更新和/或设置用于一个或多个服务账户的一个或多个认证令牌。

在各个实施例中,认证令牌管理应用172可以包括认证令牌管理组件174。认证令牌管理组件174通常可布置成对请求访问认证令牌管理应用172的一个或多个客户102-a进行认证或验证、取回一个或多个服务账户的服务账户信息和/或生成由一个或多个目录服务服务器设备130-l中的一个或多个目录服务应用(未示出)和/或管理员管理应用114所管理的一个或多个服务账户的认证令牌。认证令牌管理组件174还可以布置成取回并提供由一个或多个目录服务服务器设备130-l中的一个或多个目录服务应用(未示出)和/或管理员管理应用114所管理的一个或多个服务账户的服务账户信息。此外,认证令牌管理组件174还可以布置成接收来自管理员管理应用114的对一个或多个服务账户的认证令牌重置请求。

为使得能认证一个或多个客户102-a,认证令牌管理组件174可被配置成经由客户端设备104-b从一个或多个客户102-a请求和/或接收客户账户信息(例如,账户UPN,账户标识符和/或账户口令)的至少一部分,其中接收到的客户账户信息可与一个或多个客户102-a的客户账户相关联。一旦客户账户信息被接收到,认证令牌管理组件174可进一步布置成经由网络互连112和目录服务应用110的一个或多个API进行通信以认证与一个或多个客户102-a相关联的接收到的客户账户信息(例如,账户UPN,账户标识符和/或账户口令)。

另外地或者可替代地,认证令牌管理组件174可以包括被配置为从一个或多个客户端设备104-b接收联合身份应用162所发布的安全令牌(例如,SAML令牌)的权利要求使能应用。认证令牌管理组件174可被进一步配置为基于接收到的安全令牌来认证并标识请求服务账户的一个或多个客户102-a。接收到的安全令牌可以包括一个或多个权利要求,其可以包括与一个或多个客户102-a相关联的客户账户信息。通过使用从客户端设备104-b接收到的安全令牌,认证令牌管理应用172可以建立与一个或多个客户端设备104-b的至少可信的连接。任选地,认证令牌管理组件174可以进一步将可信的会话cookie(例如,FedAuth cookie)提供给一个或多个客户端设备104-b,使得认证令牌管理组件174可以建立与一个或多个客户端设备104-b的可信连接,用于在认证令牌管理应用172与一个或多个客户端设备104-b之间的任何后续通信。

可以意识到,在可信会话cookie没有提供给一个或多个客户端设备104-b以保持用于后续通信的可信会话的实例中,认证令牌管理组件174可被配置为对从一个或多个客户端设备104-b接收到的取回服务账户信息或者生成认证令牌的每个请求进行验证。例如,认证令牌管理组件174可以通过核验接收到的安全令牌由例如联合身份应用162的可信STS提供商发布以及请求生成认证令牌的客户已经基于两因素认证(例如,智能卡和相关联PIN)进行了认证来验证请求。

为了进一步保护可信的连接免于受到攻击者危害或妨害,认证令牌管理组件174还可以使用一个或多个安全通信协议(例如,超文本传输协议安全(HTTPS)来建立加密连接。通过这种方式,可以在认证令牌管理应用172与一个或多个客户端设备104-b之间建立安全的连接(例如,可信且加密的连接)用于管理一个或多个服务账户的一个或多个认证令牌。

一旦在认证令牌管理应用172与一个或多个客户端设备104-b的每个客户端设备之间建立安全的连接,认证令牌管理组件174可被配置为通过相应的安全连接经由客户端设备104-b从客户102-a接收对与客户的客户账户相关联的一个或多个服务账户的服务账户信息的一个或多个请求。认证令牌管理组件174可被配置为至少部分地基于客户账户信息(例如,客户账户标识符、客户账户UPN等),响应于接收到的一个或多个请求,而经由认证令牌代理组件178请求并取回一个或多个服务账户的服务账户信息。

一旦已经经由认证令牌代理组件178取回一个或多个服务账户的服务账户信息,认证令牌管理组件174可以被配置为将一个或多个服务账户的服务账户信息提供给一个或多个客户端设备104-b,用于显示给一个或多个客户102-a和/或使得一个或多个客户102-b能够生成一个或多个认证令牌。另外地或者可替代地,认证令牌管理组件174可被配置为响应于接收到与一个或多个客户端设备104-a和/或客户102-a相关联的安全令牌,至少部分地基于客户账户信息自动地取回并提供一个或多个服务账户。

基于提供给一个或多个客户端设备104-b的一个或多个服务账户的服务账户信息,一个或多个客户端设备104-b可被配置为接收请求生成用于一个或多个服务账户的一个或多个认证令牌的一个或多个客户102-a输入(例如,键盘输入、鼠标输入、触摸输入等)。认证令牌管理组件174可被进一步配置成经由一个或多个客户端设备104-b从一个或多个客户102-a接收生成一个或多个认证令牌的一个或多个请求。可以意识到,生成认证令牌的每个请求可以与令牌请求信息相关联,令牌请求信息可包括但不限于,服务账户信息,诸如服务账户标识符,服务账户UPN,和/或标识服务账户的任何其他信息。

另外,为进一步确保认证令牌的生成的安全性,认证令牌管理组件174可被进一步配置为通过判定已经被请求为其生成认证令牌的服务账户是否与客户账户相关联来对为服务账户生成认证令牌的请求和令牌请求信息进行验证,使得客户被限制为仅能够针对与其客户账户相关联的服务账户生成认证令牌。认证令牌管理组件174可被进一步配置为,当认证令牌管理组件174判定请求为其生成认证令牌的服务账户不与客户账户相关联时,拒绝针对该服务账户生成认证令牌的任何请求。

可以进一步意识到,对于任选地与服务账户生存期信息所指示的至少有限生存期相关联的服务账户,生成的认证令牌可以是活的或者持续与服务账户保持使能或活动相同的时段。因此如之前所述,在服务账户的生存期结束时,即,当服务账户的生存期到期且服务账户被禁用时,认证令牌管理组件174可被配置为接收将到期的服务账户的认证令牌重置至少一次(或两次或更多次)的请求而使得与服务账户相关联的任何活动的令牌(例如,访问令牌)到期。可以意识到,重置认证令牌的每个请求可以与令牌重置信息相关联,令牌重置信息可包括但不限于,服务账户信息,诸如服务账户标识符,服务账户UPN,和/或任何其他标识期望对其进行服务账户认证令牌的重置的到期的服务账户的信息。

在各个实施例中,认证令牌管理应用172可以包括认证令牌生成组件176。认证令牌生成组件176通常布置成,在认证令牌管理组件174已经验证了生成一个或多个认证令牌的请求之后,针对一个或多个服务账户生成具有不同复杂度的一个或多个认证令牌。另外地或者可替代地,认证令牌生成组件176可进一步布置成,响应于重置针对一个或多个服务账户的认证令牌的请求,为服务账户生成一个或多个认证令牌。认证令牌生成组件176可以进一步布置成经由认证令牌代理组件178来更新或设置针对一个或多个服务账户生成的认证令牌。

为以安全的方式生成认证令牌,认证令牌生成组件176可被配置为通过使用一个或多个安全硬件和/或软件组件(例如,可信平台模块(TPM),MICROSOFT.NET架构库的System.Web.Security.Membership等)来生成认证令牌。而且,通过认证令牌生成组件176生成的认证令牌可以包括使用例如通过一个或多个安全硬件和/或软件组件实现的一个或多个密码学安全的随机数发生器和/或散列函数以一种或多种格式(例如,通用字符集(UCS)转换格式—8位(UTF-8),UTF—16位(UTF-16)、基本串或二进制串(BSTR),C-String等)编码的随机字符串和/或随机数据(例如,随机字节等)。另外,认证令牌生成组件176可以至少基于长度/大小参数和/或字符类参数来生成认证令牌。

在认证令牌可以包括明文随机口令、密码、密钥、PIN等的一些实施例中,长度/大小参数可以规定由认证令牌生成组件176生成的最小长度(例如,25个字符)。可替代地,长度参数可以规定范围(例如,25个字符至30个字符之间),使得认证令牌生成组件176可以生成落入范围的上下限内且包含该范围的上下限的不同长度的明文随机口令。为进一步确保明文随机口令的安全性,长度参数可以被配置为规定以长度为数百或甚至数千字符生成明文随机口令,使得一个或多个人类客户102-a会在经由普通手段和/或媒介物(例如,手写笔记、口语传达等)精确地记住和/或传达生成的随机口令时遇到实质性的困难。

在认证令牌可以包括明文随机口令、密码、密钥、PIN等的那些实施例中,字符类参数可用于规定字符类的一个或多个组合,使得认证令牌生成组件176可以生成包括在一个或多个特定字符类中的至少一个字符的认证令牌。示例性的字符类可以包括但不限于小写字母(例如,a至z)、大写字母(例如,A至Z)、符号(例如,“`~!@#$%^&*()[]{};:’”,.?//*-+”),数字(例如,数字0至9),或者可以以一种或多种格式(例如,UTF-8,UTF-16等)限定的任何其他字符类。

在认证令牌可以包括明文随机口令、密码、密钥、PIN等的那些实施例中,认证令牌生成组件176可以进一步被配置为生成包括在标准输入设备(例如,标准104键的键盘)上包含的一个或多个字符类的认证令牌,从而利于通过使用标准输入设备来输入认证令牌,而不管与一个或多个服务账户相关联的语言和/或场所信息。一旦认证令牌已经生成,认证令牌生成组件176可被配置为至少部分地基于代理认证信息(例如,认证令牌代理组件178与令牌管理代理应用192之间的共享秘密数字证书以及共享秘密数字证书的数字指纹或拇指指纹),经由认证令牌代理组件178来更新或设置用于一个或多个服务账户的认证令牌。

为确保每个生成的认证令牌是唯一且不会再次被用于不同的服务账户,认证令牌生成组件176可被进一步配置为将一个或多个先前生成或使用过的认证令牌的摘要或散列存储在认证令牌冲突数据库(未示出)中。因此,在一个示例性的实现方式中,认证令牌生成组件176可以被配置为生成认证令牌,确定或计算生成的认证令牌的散列或摘要,并且搜索或通过将散列或摘要进行比较而将新生成的认证令牌与那些存储在认证令牌冲突数据库中的认证令牌进行匹配,从而判定先前生成的认证令牌是否已经使用和/或生成。如果未发现匹配,则认证令牌生成组件176可以将新生成的认证令牌的散列或摘要存储在认证令牌冲突数据库中,并且新生成的认证令牌可用于更新服务账户。如果发现匹配,则认证令牌生成组件176可随后生成新的认证令牌,并且重复上述过程,直至生成了唯一认证令牌。

可意识到,一旦生成了认证令牌且生成的认证令牌用于更新或设置用于服务账户的认证令牌,则一旦其丢失可以不为一个或多个客户102-a恢复生成的认证令牌。因此,在一些实施例中,通过认证令牌生成组件176生成的每个认证令牌也可以是不可恢复的、不变的和/或唯一的认证令牌。实施例不限于该上下文。

可以进一步意识到,认证令牌生成组件176可被配置为是认证令牌管理系统100中用于生成认证令牌的唯一组件,使得认证令牌生成可以在集中的位置执行,即,在认证令牌管理应用170内执行,从而可以确保和监控认证令牌的生成。

在各个实施例中,认证令牌管理应用172可包括认证令牌代理组件178。认证令牌代理组件178可通常布置成存储代理认证信息,并且使用一个或多个安全通信协议(例如,HTTPS)和代理认证信息来建立至少一个经由网络互连112与执行于服务器设备190上的令牌管理代理应用192的加密连接。而且,为使能至少一个加密连接的建立,包含在数据中心142中的令牌管理代理应用192可以暴露或实现公共端点,使得认证令牌代理组件178可以与令牌管理代理应用连接且建立至少与令牌管理代理应用的加密连接。

在各个实施例中,认证令牌代理组件178可以进一步布置成经由建立的加密连接来管理且与令牌管理代理应用192通信。认证令牌代理组件178还可以布置成通过经由网络互连112与令牌管理代理应用192通信来取回一个或多个服务账户的服务账户信息。认证令牌代理组件178还可以布置为通过建立的加密连接从令牌管理代理应用192接收一个或多个服务账户的服务账户信息。认证令牌代理组件178可以进一步布置成通过建立的加密连接经由与令牌管理代理应用192通信来请求更新或设置所生成的一个或多个服务账户的认证令牌。

为了取回与一个或多个客户102-a相关联的一个或多个服务账户,通过经由建立的加密连接提供至少客户账户信息(例如,客户账户标识符、客户账户UPN等)以及由认证令牌代理组件178存储的代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹)的部分,认证令牌代理组件178可以从令牌管理代理应用192来请求一个或多个服务账户的服务账户信息。作为对请求的回应,认证令牌代理组件178还可以通过建立的加密连接接收所请求的与一个或多个客户102-a相关联的一个或多个服务账户的服务账户信息。

为了更新或设置用于与一个或多个客户102-a相关联的一个或多个服务账户的认证令牌,认证令牌代理组件178可以被配置为,通过经由建立的加密连接提供至少服务账户信息(里人,服务账户标识符,服务账户UPN等)、生成的认证令牌、以及代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹)的一部分,请求更新或设置所生成的一个或多个服务账户的认证令牌。

为了确保所生成的认证令牌不会由一个或多个客户102-a使用服务账户在后来进行更新或修改或恢复,认证令牌代理组件178可被配置为通过建立的加密连接经由令牌管理代理应用192请求更新或设置所生成的认证令牌为不可恢复的和/或不可变的认证令牌(至少关于一个或多个服务账户)。

为了重置用于一个或多个服务账户的一个或多个认证令牌,认证令牌代理组件178可被配置为,通过经由建立的加密连接来至少提供至少服务账户信息(例如,服务账户标识符、服务账户UPN等)、生成的认证令牌,以及代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹),请求更新或设置一个或多个服务账户的认证令牌。

在各个实施例中,认证令牌管理应用172可以进一步包括认证令牌通知组件180。认证令牌通知组件180可通常布置成经由先前建立的在认证令牌管理应用172与一个或多个客户端设备104-b之间的安全连接将生成的认证令牌提供给一个或多个客户102-a。

在一个实施例中,认证令牌通知组件180可以被配置为经由先前建立的安全连接来将至少生成的认证令牌提供给一个或多个客户端设备104-b作为隐藏元素或非可视元素并且使得一个或多个客户端设备104-b能够以编程方式访问(例如,编程剪切板访问和/或文档对象模型(DOM)访问)认证令牌。任选地,认证令牌通知组件180还可以被配置为将与认证令牌相关联的服务账户标识符或服务账户UPN提供作为用于编程访问的隐藏元素或非可视元素。

另外地或者可替代地,认证令牌通知组件180还可以被配置为响应于客户102-a显露认证令牌的要求而将生成的认证令牌提供作为能够被显露在客户端设备104-b上的元素。任选地,认证令牌通知组件180还可以被配置为,响应于客户102-a显露认证令牌的要求而提供与认证令牌相关联的服务账户标识符或服务账户UPN作为能够显露在客户端设备104-b上的可视元素,使得服务账户标识符和/或服务账户UPN以及生成的认证令牌可同时对一个或多个客户102-a显示以及可见。

一旦一个或多个客户端设备104-b接收到认证令牌,客户端设备104-b可以使用一个或多个加密算法(例如,Twofish对称密钥块密码)以一种加密格式自动且安全地将服务账户标识符和/或服务账户UPN以及相关联的认证令牌存储在认证令牌数据库166(例如,Password Safe)中。可以意识到,在一个或多个客户端设备104-b接收到由认证令牌通知组件180提供的生成的认证令牌之后,生成的认证令牌可以在后来的时候不可访问、不可见或者不可恢复,除非认证令牌由一个或多个客户102-a存储在例如认证令牌数据库166或其他地方(例如,如果可能是,手写)。一旦存储,一个或多个客户102-a随后可以取回存储的服务账户标识符和/或服务账户UPN,以及相关联的认证令牌,以访问一个或多个资源和/或资产(例如,服务器设备140-i-j)。

可以意识到,在响应于为一个或多个服务账户重置认证令牌的请求而生成认证令牌的实例中,认证令牌通知组件180可以被配置为不将生成的认证令牌通过相应的安全连接经由客户端设备104-b提供给客户102-a。

可以进一步意识到,通过使用管理员管理应用114与认证令牌管理应用172相结合来提供一个或多个服务账户以生成用于一个或多个提供的服务账户的认证令牌,在一些实施例中,数据中心142中的一个或多个SaaS系统中的每个服务账户可替代成机器生成的认证令牌或者使用机器生成的认证令牌。

通过示例说明的方式,假设具有名称“Ellen Adams”且客户账户UPN“EllenAdams@contoso.com”的客户102-2请求服务账户以在请求的4小时生存期内远程地调试服务器设备140-1-1。作为对服务账户请求的回应,管理员管理应用114为服务账户提供服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”,并且经由客户端设备104-2将有关服务账户UPN以及到认证令牌管理应用172的URL“https://AuthenticationTokenManagementFrontEnd”或“https://AuthenticationTokenManagementFrontEnd.contoso.com”通知客户102-2。客户102-2随后可以经由执行于客户端设备104-2上的客户端应用(例如,web浏览器)来请求通过至少加密的连接访问认证管理应用172。

继续上面的示例说明,并且响应于访问认证管理应用172的请求,认证令牌管理组件174可以首先基于客户账户UPN(例如,“EllenAdams@contoso.com”)以及客户账户口令来认证访问认证令牌管理应用172的客户102-2,从而建立安全连接(例如,可信且加密的连接)。可替代地,认证令牌管理组件174可基于两因素认证(例如智能卡和相关联PIN)和接收到的安全令牌来认证客户102-2以建立安全的连接。一旦经过认证,客户102-2可以经由客户端设备104-2(例如,异步javascript(AJAX)POST)经由建立的安全连接来请求与客户账户UPN“EllenAdams@contoso.com”相关联的一个或多个服务账户。

仍继续上面的示例说明,响应于对一个或多个服务账户的请求或者基于客户102-2的成功认证而自动地,认证令牌管理组件174随后可以经由认证令牌代理组件178来请求与客户账户UPN“EllenAdams@contoso.com”相关联的一个或多个服务账户的服务账户信息。而且,认证令牌代理组件178随后可以针对数据中心142所包含的令牌管理代理应用192所暴露的公共端点来发出取回服务账户信息的请求(例如,远程PowerShell命令)。该请求可以包括但不限于,客户账户UPN“EllenAdams@contoso.com”以及代理认证信息的一部分,诸如共享秘密证书的数字指纹或拇指指纹。认证令牌管理组件174随后可以接收一个或多个服务账户的服务账户信息,其可以包括但不限于,具有服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”的先前提供的服务账户的服务账户信息。

仍继续上面的示例说明,认证令牌管理组件174随后可以将与客户102-2相关联的接收到的服务账户信息提供给客户端设备104-2的客户端应用,诸如例如web浏览器中的网页。提供给客户端设备104-2的客户端应用的一个或多个服务账户的服务账户信息的示例性的实施例图示在图2中。响应于服务账户信息,客户102-2可以经由客户端设备104-2(例如,AJAX POST)请求生成用于服务账户标识符或服务账户UPN所标识的服务账户的认证令牌。

仍继续上面的示例说明,以及响应于生成认证令牌的请求,认证令牌生成组件176可以基于长度参数(例如,8个字符)和字符类参数(例如,a-z,A-Z,0-9和符号)来生成例如唯一明文随机口令,使得示例性的明文随机口令可以包括“Xe2&a^%5”。可以意识到,示例性的明文随机口令仅为了理解的目的而提供,因为实际上,生成的认证令牌,诸如示例性的明文随机口令,可以包括实质上更多的字符(例如,长度为25-30个字符或者甚至100至100,000个字符)并且可以实质上更加复杂。

仍继续上面的示例说明,在诸如示例性的明文随机口令的认证令牌已经生成之后,认证令牌生成组件176可以经由认证令牌代理组件178发出将认证令牌更新或设置成示例性的明文随机口令“Xe2&a^%5”的请求。而且,认证令牌代理组件178随后可以向由数据中心142中包含的令牌管理代理应用192所暴露的公共端点发出更新或设置认证令牌的请求(例如,远程PowerShell命令)。请求可以包括但不限于,服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”,示例性的明文随机口令“Xe2&a^%5”,以及代理认证信息的部分,诸如共享秘密证书的数字指纹或拇指指纹。

仍继续上面的示例说明,在已经为服务账户更新或设置了认证令牌之后,认证令牌通知组件180可以通过建立的安全连接(例如,使用HTTPS的可信且加密的连接)经由客户端设备104-2向客户102-2通知和/或提供至少示例性的明文随机口令“Xe2&a^%5”(例如,以JavaScript Object Notation(JSON)阵列存储)作为客户端设备104-2的web浏览器上的网页中的隐藏div。任选地,隐藏div还可以包含服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”。

仍继续上面的示例说明,在认证令牌通知组件180已经为客户102-2通知和/或提供了示例性的明文随机口令和/或服务账户UPN之后,客户102-2随后可以经由客户端设备104-2的剪切板来访问示例性的明文随机口令“Xe2&a^%5”和/或服务账户UPN,并且将示例性的明文随机口令“Xe2&a^%5”和/或服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”存储在与客户端设备104-2通信耦合的认证令牌数据库166诸如例如Password Safe中。另外地或者可替代地,响应于客户102-2显露示例性的明文随机口令的需求,示例性的明文随机口令和/或服务账户UPN可以呈现为能够显露在客户端设备104-2上的元素(即,“按需显露”)。另外地或者可替代地,与客户端设备104-2上的web浏览器相关联的插件组件可以被配置为经由DOM对象自动地访问示例性的明文随机口令“Xe2&a^%5”和/或服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”并且将示例性的明文随机口令和/或服务账户UPN自动地存储在认证令牌数据库166中,而无需任何来自客户102-2的输入。

仍继续上面的说明,在示例性的明文随机口令和/或服务账户UPN已经通过建立的安全连接经由客户端设备104-2提供给客户102-2之后,客户102-2随后可以使用由服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”标识的提供的服务账户通过示例性的明文随机口令“Xe2&a^%5”在服务账户生存期4小时内访问且远程调试数据中心142中的服务器设备140-1-1(例如,使用远程桌面协议(RDP))。

在各个实施例中,认证令牌管理系统100的数据中心142可以包括服务器设备190,服务器设备190通常可布置成执行令牌管理代理应用192以及其他应用。令牌管理代理应用192可经由数据中心142中的一个或多个网络和/或网络互连112与一个或多个目录服务服务器设备130-l通信耦合,以便于取回一个或多个服务账户的服务账户信息和/或更新或设置一个或多个服务账户的一个或多个认证令牌。

令牌管理代理应用192通常可布置成暴露或实现数据中心142中的公共端点,以使认证令牌管理应用172能够连接且至少建立认证令牌管理应用172与令牌管理代理应用192之间的加密连接(例如,使用HTTPS协议的加密连接)。令牌管理代理应用192可以布置成存储可用于至少建立加密连接的代理认证信息。令牌管理代理应用192可进一步布置成接收对服务账户信息的请求,取回服务账户信息,以及更新或设置一个或多个服务账户的认证令牌。

在各个实施例中,令牌管理代理应用192可以包括服务账户取回组件194。服务账户取回组件194通常可布置成通过建立的加密连接从认证令牌代理组件178接收对服务账户信息的请求,从一个或多个目录服务服务器设备130-l的一个或多个目录服务应用取回服务账户信息,以及通过建立的加密连接将取回的服务账户信息提供给认证令牌代理组件178。

在一个实施例中,服务账户取回组件194可以被配置为接收取回与客户账户相关联的服务账户信息的请求。每个请求可包括至少客户账户信息(例如,客户账户标识符、客户账户UPN等)以及代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹)的一部分。响应于接收到的对服务账户信息的请求,服务账户取回组件194可被配置为基于接收的代理认证信息的部分来授权接收的请求。

一旦请求被授权,服务账户取回组件194可以被进一步配置为经由网络互连112以及一个或多个目录服务服务器设备130-l的目录服务应用(未示出)的一个或多个API进行通信以取回与客户账户标识符或客户账户UPN标识的客户账户相关联的一个或多个服务账户的服务账户信息。一旦服务账户信息已经被取回,服务账户取回组件194可以被配置为通过建立的加密连接将取回的一个或多个服务账户的服务账户信息提供给认证代理组件178。

在各个实施例中,令牌管理代理应用192可进一步包括认证令牌更新组件196。认证令牌更新组件196可以通常布置成接收更新请求以及更新或设置与服务账户相关联的一个或多个认证令牌。

在一个实施例中,认证令牌更新组件196可以被配置为接收更新或设置一个或多个服务账户的认证令牌的更新请求。每个请求可以包括至少服务账户信息(例如,服务账户标识符,服务账户UPN等)、要更新或设置的服务账户的生成的认证令牌以及代理认证信息(例如,共享秘密数字证书的数字指纹或拇指指纹)的一部分。响应于接收到的更新服务账户的认证令牌的请求,认证令牌更新组件196可以被配置为基于接收到的代理认证信息的部分来授权接收到的请求。

一旦请求已经过授权,认证令牌更新组件196可被配置为至少部分地基于包含在与服务账户相关联的服务账户信息中的目录服务信息(例如,与服务账户相关联的目录服务服务器设备)来标识管理服务账户的适当的目录服务服务器设备。可以意识到,包括目录服务信息的服务账户信息可由认证令牌管理组件174应请求而提供。

一旦目录服务服务器设备已被标识出,认证令牌更新组件196可以被进一步配置为经由网络互连112以及标识的目录服务服务器设备的目录服务应用(未示出)的一个或多个API进行通信以利用接收到的生成的认证令牌来更新或设置由服务账户标识符或服务账户UPN标识的服务账户的认证令牌。

为了确保认证令牌在可用形式下不可恢复,在一些实施例中,标识的目录服务服务器设备可以仅存储生成的认证令牌的加密单向散列或生成的认证令牌的盐化版本,使得即使当目录服务服务器设备受危害时,原始认证令牌也不可以由攻击者恢复。

可以意识到,在期望不可变的认证令牌的实现方式中,认证令牌更新组件196可被进一步配置为经由网络互连112以及标识的目录服务服务器设备的目录服务应用(未示出)的一个或多个API进行通信以将接收到的用于服务账户的生成的认证令牌更新或设置为不可变认证令牌(至少关于一个或多个服务账户),以使得一个或多个服务账户可以不具有更新与一个或多个服务账户相关联的认证令牌的所必要的访问许可。

在上述实施例的非限制的示例性实现方式中,令牌管理代理应用192可以由存储在服务器设备190上的服务账户取回壳脚本(例如,MICROSOFT GetAccountsForUser.psl PowerSheel脚本)以及认证令牌更新壳脚本(例如,MICROSOFT ResetPassowrd.psl PowerSheel脚本)来实现。另外,服务设备190还可以包括被配置为执行服务账户取回壳脚本和认证令牌更新壳脚本的具有访问许可的代理账户。

继续上文的非限制的示例性实现方式,作为对取回服务账户的请求的回应,令牌管理代理应用192可以被配置为基于接收到的包含代理认证信息的共享数字证书的数字指纹或拇指指纹来标识代理账户,代理认证信息可映射到在服务器设备190与服务器设备170之间共享的共享秘密数字证书,并且共享秘密数字证书进一步映射到代理账户。令牌管理代理应用192可以随后执行服务账户取回壳脚本,其被布置成基于共享秘密数字证书和/或标识的代理账户来通过客户账户标识符或客户账户UPN的输入参数以及执行策略来从一个或多个目录服务器服务设备130-l取回一个或多个服务账户。

继续上面的非限制的示例性的实现方式,并且作为对更新或设置用于服务账户的认证令牌的请求的回应,令牌管理代理应用192可以被配置为以上文关于取回服务账户的请求类似的方式标识代理账户。令牌管理代理应用192可以随后执行认证令牌更新壳脚本,其被布置成基于共享秘密数字证书和/或标识的代理账户,通过服务账户标识符和针对服务账户要更新或设置的生成的认证令牌的输入参数以及执行策略来更新由一个或多个目录服务器服务设备130-l管理或者与一个或多个目录服务器服务设备130-l相关联的服务账户的认证令牌。

为进一步确保与一个或多个服务账户相关联的认证令牌的安全性,在一些实施例中,令牌管理代理应用192可被配置为仅包括服务账户取回组件194以及认证令牌更新组件196。因此,在一些实施例的一些非限制的示例性的实现方式中,服务器设备190的代理账户还可以被配置为仅执行服务账户取回壳脚本以及认证令牌更新壳脚本。通过该方式,客户可仅限于能够对服务器设备190和/或令牌管理代理应用192执行两种不同的动作。

通过示例的方式,假设接收的客户账户信息指示客户102-2具有名称“Ellen Adams”和客户账户UPN“Ellenadams@contoso.com”并且先前已经请求服务账户以在请求的4小时的生存期内远程调试服务器设备140-1-1。另外,响应于对服务账户的请求,管理员管理应用114为服务账户提供了服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”、远程用户和调试者的服务账户角色以及违反界限138-1-1的服务账户范围。此外,响应于为上述服务账户生成认证令牌的请求,认证令牌管理组件176生成示例性的明文随机口令“Xe2&a^%5”。

继续上文的示例说明,响应于来自认证令牌代理组件178的取回与客户账户UPN“Ellenadams@contoso.com”相关联的一个或多个服务账户的请求,服务账户取回组件194可以经由网络互连112以及目录服务服务器设备130-l的目录服务应用(未示出)的一个或多个API进行通信以取回与客户账户UPN“Ellenadams@contoso.com”相关联的一个或多个服务账户且将由服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”标识的服务账户的服务账户信息提供给认证令牌代理组件178。

继续上文的示例说明,响应于针对由服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”标识的服务账户利用示例性的明文随机口令“Xe2&a^%5”来更新或设置认证令牌的请求,认证令牌更新组件196可以基于在服务账户信息中所包含的目录服务信息而将目录服务服务器设备130-1标识为与上述服务账户UPN所标识的服务账户相关联或者管理上述服务账户UPN所标识的服务账户的目录服务器服务设备。一旦目录服务服务器设备130-1被标识,认证令牌更新组件196可以经由网络互连112以及目录服务服务器设备130-1的目录服务应用(未示出)的一个或多个API进行通信以将由上述服务账户UPN标识的服务账户的认证令牌更新或设置成示例性的明文随机口令“Xe2&a^%5”,其中客户102-2可随后使用服务账户UPN“EllenAdams_RemoteDebugger@domain136-1.contoso.com”和示例性的明文随机口令“Xe2&a^%5”来访问违反界限138-1-1中的服务器设备140-1-1,140-1-2,140-1-3。

可以通过使用用于一个或多个服务账户的机器生成的认证令牌来实现的至少一个技术优势是,机器生成的认证令牌相比于人类创建的口令而言实质上更加复杂,并且通过使用复杂的认证令牌可以缓解传统的强力程序,甚至可以缓解一些基于社会工程的攻击,因为这些令牌很难或者甚至不可能经由普通的手段和/或媒介物(例如,口头传达)来精确地传送。此外,通过用对于数据中心中的一些或者甚至全部服务账户而言是随机的和/或唯一的机器生成的认证令牌来取代全部的人类创建的口令,攻击者通过例如使用共享认证令牌来损害一个或多个服务账户的能力会进一步削弱。在一个或多个服务账户可进一步与有限的生存期相关联的实施例中,攻击者使用受危害的服务账户进行的访问将进一步受限,因为这些服务账户可在它们被禁用之前具有有限的生存期。通过这种方式,可大幅改善数据中心中的SaaS系统的安全和隐私。

虽然图1所示的认证令牌管理系统100在某拓扑结构中具有有限数量的元素,可以意识到,认证令牌管理系统100可在替代的拓扑结构中根据给定实现方式的需要而包括更多或更少的元素。类似地,虽然各个实施例示出了企业计算环境150包含了一个或多个客户端设备104-b、服务器设备106、服务器设备108、服务器设备160、服务器设备170、服务器设备130-l和一个或多个森林132-k,但可以意识到,对于给定的实现方式,客户和/或服务器设备中的至少一些可位于企业计算环境150之外。此外,虽然各个实施例还可以示出了数据中心142包含服务器设备190、服务器设备130-l以及一个或多个森林132-k,但可以意识到,对于一些实现方式,数据中心142可进一步包含一个或多个客户端设备104-b、服务器设备106、服务器设备108、服务器设备160以及服务器设备170。

图2示出了用于认证令牌管理系统100的用户接口视图200的示例性的实施例。在一个或多个客户端设备104-b上执行的客户端应用202可以生成适合呈现于一个或多个客户端设备104-b的电子显示器上的用户接口视图200。用户接口视图200还可以使得客户102-a(例如,客户102-2)能够与认证令牌管理系统100交互。客户端应用202可实现为在执行于如用户接口视图200中所示的客户端设备104-2的一个或多个电子设备上的web浏览器中实现的独立web应用。web浏览器可以包括但不限于,诸如INTERNETNETSCAPE等。web浏览器还可以支持计算机编程语言、标准、web协议、和/或客户端应用202所需的技术。一些计算机编程语言、标准、web协议、和/或技术可以包括但不限于,HTML、XHTML、XML、JavaScript、ECMAScript、Jscript、Basic、VISUALVISUALScripting Edition(VBScript)、CSS、Asynchronous JavaScript和XML(AJAX)、Python、C#/.net、和/或其它适合的编程,脚本或基于VM的语言。

在各实现方式中,web浏览器可以基于由认证令牌管理应用172提供给web浏览器的信息和可执行计算机程序指令而生成包括一个或多个图形用户接口(GUI)的用户接口视图200。web浏览器可以包括语言解释器,诸如脚本解释器,其解释并执行以诸如HTML、XHMTL、XML、AJAX、VBScript和/或其它脚本编程语言的计算机编程语言编写的计算机程序指令以生成用户接口视图200。

在客户端设备104-2上执行的客户端应用202的用户接口视图200可以包括,当客户端设备104-2访问认证令牌管理应用172时呈现给客户102-2的网页204被成功地认证。网页204可以包括客户账户信息,诸如与客户账户相关联的名称(例如,“Ellen Adams”)和客户账户UPN(例如,“EllenAdams@contoso.com”)以及使得客户102-2能够请求与客户102-2相关联的一个或多个服务账户的最新服务账户信息的更新账户按钮206。

用户接口视图200还可以包括一行或多行212-p,并且每行可以包括但不限于,标识服务账户的服务账户标识符或服务账户UPN,指示提供的服务账户的一个或多个角色的服务账户角色、指示提供的服务账户的范围的服务账户范围、指示在服务账户到期之前剩余的年数、周数、天数、小时数、分钟数和/或秒数的服务账户生存期,以及指示服务账户是否仍活动或者已到期的服务账户状态。

用户接口视图200还可以包括一个或多个口令生成按钮208-o,其中每个口令生成按钮可与服务账户标识符或服务账户UPN相关联。客户102-2随后可经由输入设备(例如,触摸输入设备、鼠标输入设备、键盘设备等)使用姿势210来选择口令生成按钮以请求为服务账户标识符或服务账户UPN标识的服务账户生成明文随机口令。为确保服务账户和/或认证令牌的安全性,可以意识到,客户端应用202可被配置为对于具有到期的服务账户状态的服务账户禁用口令生成按钮(例如,口令生成按钮208-2)。另外地或者可替代地,客户端应用202可进一步被配置为对于已经为具有活动服务账户状态的服务账户生成了明文随机口令的服务账户禁用口令生成按钮,使得可以防止可能已经丢失或忘记生成的明文随机口令的客户生成新的明文随机口令。

本文包含了代表用于执行公开的体系结构的新颖方面的示例性的方法的一组流程图。虽然为了简化说明的目的,在本文示出的一个或多个方法,例如,以流程图或流示意图的形式,被显示和描述为一系列动作,但是应当理解和意识到方法不受动作顺序限制,据此,一些动作可以按与其不同的顺序发生和/或与本文所示和描述的其它动作同时发生。例如,本领域技术人员将理解和意识到,方法可替代地表示为一系列相关的状态或事件,诸如状态图。而且,对于新颖的实现方式不需要方法中示出的全部动作。

图3A示出了逻辑流300的一个实施例。逻辑流300可以代表本文所描述的一个或多个实施例所执行的操作中的一些或全部。

在图3A所示的示例性的实施例中,逻辑流300可以开始于框302,并且可以在框304处至少部分地基于客户认证信息来建立与客户端设备的安全连接。例如,在客户102-2已经利用包括数字智能卡证书的智能卡和相关联PIN对客户端设备104-2进行认证以建立可信连接之后,认证令牌管理组件174可以基于接收到的可信联合身份应用162发布的安全令牌来认证客户102-2。认证令牌管理组件174可进一步使用一个或多个安全通信协议(例如,HTTPS)来建立与客户端设备104-2的安全连接(即,可信且加密的连接)。

在框306处,逻辑流300可以接收来自客户端设备的对服务账户的账户信息的请求。例如,认证令牌管理组件174可以经由客户端设备104-2从客户102-2接收对与客户102-2的客户账户相关联的一个或多个服务账户的请求。

在框308处,逻辑流300可以至少部分地基于客户认证信息来请求服务账户的账户信息。例如,响应于从客户端设备104-2接收到的对与客户102-2的客户账户相关联的一个或多个服务账户的请求,认证令牌管理组件174可经由认证令牌代理组件178从令牌管理代理应用192请求与客户102-2的客户账户相关联的一个或多个服务账户的服务账户信息。

逻辑流300可以在框310处接收服务账户的账户信息。例如,响应于对一个或多个账户的服务账户信息的请求,认证令牌管理组件174可以经由认证令牌代理组件178接收与客户102-2的客户账户相关联的一个或多个服务账户的服务账户信息。

在框312处,逻辑流300可以将服务账户的账户信息提供给客户端设备,并且在框314结束。例如,响应于从令牌管理代理应用192接收到服务账户信息,认证令牌管理组件174可以提供接收到的与客户102-2的客户账户相关联的一个或多个服务账户的服务账户信息。实施例不限于这些示例。

图3B示出了逻辑流320的一个实施例。逻辑流320可以代表由本文所述的一个或多个实施例所执行的操作的一些或全部。

在图3B所示的示例性的实施例中,逻辑流320可以开始于框322并且可以在框324处从客户端设备接收为服务账户生成认证令牌的请求。例如,认证令牌管理组件174可以从客户端设备104-2接收为与客户102-2的客户账户相关联的服务账户生成认证令牌的请求。

在框326处,逻辑流320可以对从客户端设备接收到的请求进行验证以为服务账户生成认证令牌。例如,通过核验接收到的安全令牌是由例如联合身份应用162的可信STS提供商发布的并且核验请求生成认证令牌的客户102-2已经基于两因素认证(例如,智能卡和相关联PIN)进行了认证,认证令牌管理组件174可以对从客户端设备接收到的为服务账户生成认证令牌的请求进行验证。

在框328处,逻辑流320可以为服务账户生成认证令牌。例如,认证令牌生成组件176可以基于长度参数和字符类参数来生成明文随机口令。

在框330处,逻辑流320可以将服务账户信息、认证令牌和代理认证信息的一部分提供给认证令牌管理代理应用。例如,认证令牌生成组件176可以经由认证代理组件178将服务账户信息(例如,服务账户标识符或服务账户UPN)、生成的认证令牌、以及共享秘密数字证书的数字指纹或拇指指纹提供给令牌管理代理应用192,从而为服务账户信息所标识的服务账户来更新或设置所生成的认证令牌。

逻辑流320可以在框332处将至少认证令牌提供给客户端设备并且在框334处结束。例如,认证令牌通知组件180可以将至少隐藏div中的生成的认证令牌经由客户端设备104-2通知或提供给客户102-2以供存储在认证令牌数据库166中。实施例不限于这些示例。

图3C示出了逻辑流340的一个实施例。逻辑流340可以代表本文所描述的一个或多个实施例执行的操作的全部或一些。

在图3C所示的图示的实施例中,逻辑流340可以开始于框342并且在框344处可以至少部分地基于客户账户信息来接收对服务账户的账户信息的请求。例如,服务账户取回组件194可以接收对与客户账户信息中包含的客户账户标识符或客户账户UPN所标识的客户账户相关联的一个或多个服务账户的服务账户信息的请求。该请求可包括客户账户信息以及代理认证信息的一部分。

在框346处,逻辑流340可以至少部分地基于客户账户信息来从目录服务服务器设备取回服务账户的账户信息。例如,服务账户取回组件194可以经由数据中心142中的一个或多个网络和/或网络互连112以及一个或多个目录服务服务器设备130-l的目录服务应用的一个或多个API进行通信以取回与客户账户信息中所包含的客户账户标识符或客户账户UPN所标识的客户账户相关联的服务账户信息。

在框348处,逻辑流340可以将服务账户的账户信息提供给认证令牌管理应用。例如,服务账户取回组件194可以提供所取回的与客户账户信息中所包含的客户账户标识符或客户账户UPN所标识的客户102-2的客户账户相关联的一个或多个服务账户的服务账户信息。

在框350处,逻辑流340可以从认证令牌管理应用接收为服务账户更新或设置认证令牌的请求。例如,认证令牌更新组件196可以从认证令牌代理组件178接收为服务账户更新或设置认证令牌的请求。该请求可包括服务账户信息、认证令牌以及代理认证信息的一部分。

在框352处,逻辑流340可以为目录服务服务器设备所管理的服务账户更新或设置认证令牌,并且在框354结束。例如,认证令牌更新组件196可以针对服务账户信息中所包含的服务账户标识符或服务账户UPN所标识的服务账户利用接收到的认证令牌来更新或设置认证令牌。实施例不限于这些示例。

图3D示出了逻辑流360的一个实施例。逻辑流360可以代表本文所描述的一个或多个实施例所执行的操作的一些或全部。

在图3D所示的示例性实施例中,逻辑流360可开始于框362,并且在框364处至少部分地基于客户认证信息来建立与认证令牌管理应用的安全连接。例如,客户端设备104-2可以将安全令牌提供给认证令牌管理组件174,并且在客户102-2已经使用包括数字智能卡证书的智能卡和相关联PIN对客户端设备104-2进行了认证以建立可信连接之后,认证令牌管理组件174可以基于由可信联合身份应用162发布的安全令牌来认证客户102-2。客户端设备104-2还可以使用一个或多个安全通信协议(例如,HTTPS)来建立与认证令牌管理应用172的安全连接(即,可信且加密的连接)。

在框366处,逻辑流360可以请求服务账户的账户信息。例如,客户端设备104-2可以请求与具有由客户账户信息中包含的客户账户标识符或客户账户UPN所标识的客户账户的客户102-2相关联的一个或多个服务账户的服务账户信息。

在框368处,逻辑流360可以从认证令牌管理应用接收服务账户的账户信息。例如,响应于对服务账户信息的请求,客户102-2经由客户端设备104-2可以接收与客户102-2的客户账户相关联的一个或多个服务账户的服务账户信息。

在框370处,逻辑流360可以请求为服务账户生成认证令牌。例如,客户端设备104-2可以请求为服务账户信息中包含的服务账户标识符或服务账户UPN所标识的服务账户生成明文随机口令。

在框372处,逻辑流360可以接收来自的认证令牌管理应用的至少生成的认证令牌。例如,客户端设备104-2可以至少接收为服务账户生成的认证令牌作为网页中的隐藏元素。另外,客户端设备104-2还可以接收同一网页上的服务账户标识符或服务账户UPN。

在框374处,逻辑流360可以将至少认证令牌存储在认证令牌数据库中。例如,客户102-2经由客户端设备104-2可以将接收到的服务账户的认证令牌存储在认证令牌数据库166中。示例性的认证令牌数据库166可以包括但不限于,Password Safe。另外,客户102-2经由客户端设备104-2还可以将与接收到的认证令牌相关联的服务账户标识符或服务账户UPN存储在认证令牌数据库166中。

在框376处,逻辑流360可以从认证令牌数据库取回至少认证令牌。例如,客户102-2经由客户端设备104-2可以从认证令牌数据库166取回至少存储的认证令牌。另外地,客户102-2经由客户端设备104-2还可以从认证令牌数据库166取回与接收到的认证令牌相关联的服务账户标识符或服务账户UPN。

在框378处逻辑流360可以使用至少认证令牌来访问服务器设备,并在框380处结束。例如,客户102-2随后可使用所取回的认证令牌和服务账户UPN使用例如远程桌面协议经由客户端设备104-2来访问服务器设备140-1-1。实施例不限于这些示例。

图4示出了适合于实现如之前所描述的各个实施例的示例性的计算体系结构400的实施例。在一个实施例中,计算体系结构400可以包括客户端设备和/或服务器设备的部分或者实现为客户端设备和/或服务器设备的部分。实施例不限于该上下文。

如本申请中所使用的,术语“系统”和“部件”意在指代计算机相关实体、或者是硬件、硬件和软件的组合、软件、或执行中软件、其示例由示例性的计算体系结构400来提供。例如,部件可以是但不限于是在处理器上运行的过程、处理器、硬盘驱动器、多个存储驱动器(光和/或磁存储介质)、对象、可执行程序、执行线程、程序和/或计算机。通过示例的方式,在服务器上运行的应用和服务器两者都能够是组件。一个或多个组件能够驻存在过程和/或执行线程内,并且组件能够位于一个计算机上或者分布在两个或更多个计算机之间。此外,可以通过各种类型的通信介质将组件彼此通信耦合以协调操作。协调可以涉及到单向或双向信息交换。例如,组件可以传达为经由通信介质传送的信号形式的信息。信息可以实现为分配给各信号线路的信号。在这种分配中,每个消息均是信号。然而,进一步的实施例可替代地采用数据消息。可以跨各种连接发送这些数据消息。示例性的连接包括并行接口、串行接口和总线接口。

计算体系结构400包括各种共同的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等。然而,实施例不限于通过计算体系结构400实现的实施方案。

如图4所示,计算体系结构400包括处理单元404、系统存储器406和系统总线408。处理单元404可以是各种商用处理器中的任一种,包括但不限于:和处理器;应用、嵌入式和安全处理器;和和处理器;和Cell处理器;Core(2)以及处理器;以及类似处理器。双核微处理器、多核处理器,以及其它多处理器体系结构也可以用作处理单元404。

系统总线408提供用于系统组件的接口,包括但不限于系统存储器406到处理单元404。系统总线408可以是多种类型的总线结构中的任一种,其可利用多种商用总线体系结构中的任一种与存储器总线(具有或不具有存储器控制器)、外围设备总线和本地总线互连。接口适配器可经由插槽体系结构连接至系统总线408。示例性的插槽体系结构可以包括但不限于加速图形端口(AGP)、卡总线、(扩展)工业标准体系结构((E)ISA)、微信道体系结构(MCA)、NuBus、外围组件互连(扩展)(PCI(X))、PCI Express、个人计算机存储器卡国际联合(PCMCIA)等。

计算体系结构400可以包括或实现各种制造品。制造品可以包括存储逻辑的计算机可读存储介质。计算机可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或非可移除存储器、可擦除或非可擦除存储器、可写或可再写存储器等。逻辑的示例可以包括利用任何适合类型的代码实现的可执行计算机程序指令,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等等。实施例还可以至少部分地实现为在非暂态性计算机可读介质中或上所包含的指令,其可以通过一个或多个处理器来读取和执行以使能本文所描述的操作的执行。

系统存储器406可以包括以一个或多个高速存储器单元形式的各种类型的计算机可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦写可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、诸如铁电聚合物存储器的聚合物存储器、双向存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁或光卡、诸如冗余独立磁盘阵列(RAID)驱动器的设备阵列、固态存储器设备(例如,USB存储器、固态驱动器(SSD))和适合于存储信息的任何其它类型的存储介质。在图4所示的示例性实施例中,系统存储器406可以包括非易失性存储器410和/或易失性存储器412。基本输入/输出系统(BIOS)能够存储在非易失性存储器410中。

计算机402可以包括以一个或多个低速存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(HDD)414、从可移除磁盘418读取或写到可移除磁盘418的磁软盘驱动器(FDD)416、以及从可移除光盘422读取或写到可移除光盘422的光盘驱动器420(例如,CD-ROM或DVD)。HDD 414、FDD 416和光盘驱动器420可以分别通过HDD接口424、FDD接口426和光学驱动接口428连接到系统总线408。用于外部驱动实现的HDD接口424可以包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两种。

驱动器和相关联的计算机可读介质提供了数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块能够存储在驱动器和存储器单元410、412中,包括操作系统430、一个或多个应用程序432、其它程序模块434和程序数据436。在一个实施例中,一个或多个应用程序432、其它程序模块434和程序数据436可以包括例如系统100的各种应用和/或组件。

用户能够通过一个或多个有线/无线输入设备将命令和信息输入到计算机402中,输入设备例如键盘438和指针设备,诸如鼠标440。其它输入设备可以包括麦克风、红外(IR)远程控制、射频(RF)远程控制、游戏板、触针笔、读卡器、dongle、指纹读取器、手套、图形平板式计算机、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容、电阻等)、跟踪球、跟踪板、传感器、触针等。这些以及其它的输入设备通常通过与系统总线408耦合的输入设备接口442连接到处理单元404,但是能够通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其它接口来连接。

监控器444或其它类型的显示设备经由诸如视频适配器446的接口也连接到系统总线408。监控器444可以在计算机402的内部或外部。除了监控器444之外,计算机通常包括其它外围输出设备,诸如扬声器、打印机等。

计算机402可以经由到诸如远程计算机448的一个或多个远程计算机的有线和/或无线通信利用逻辑连接在网络环境中操作。远程计算机448可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设施、同级设备或其它共用网络节点,并且通常包括针对计算机402描述的元件中的许多或全部,但是为了简要的目的,仅示出了存储器/存储设备450。所描述的逻辑连接包括到局域网(LAN)452和/或例如广域网(WAN)454的较大型网络的有线/无线连接。这些LAN和WAN联网环境常见于办公室和公司、并且方便企业广域计算机网络,诸如内联网,所有这些可连接到例如因特网的全球通信网络。

当在LAN联网环境中使用时,计算机402通过有线和/或无线通信网络接口或适配器456连接到LAN 452。适配器456能够便于到LAN 452的有线和/或无线通信,其还可以包括布置在其上用于与适配器456的无线功能通信的无线接入点。

当在WAN联网环境中使用时,计算机402可以包括调制解调器458,或者连接到WAN 454上的通信服务器,或者具有用于在WAN 454上建立通信的其他手段。调制解调器458可以是内部或外部的以及有线的和/或无线的设备,其经由输入设备接口442连接到系统总线408。在联网环境中,针对计算机402或其部分所描述的程序模块能够存储在远程存储器/存储设备450中。将理解的是,图示的网络连接是示例性的,并且能够使用建立计算机之间的通信链路的其它手段。

计算机402可操作以利用IEEE 802族标准与有线和无线设备或实体通信,诸如可操作地布置在无线通信中的无线设备(例如,IEEE 802.11空中调制技术)。这至少包括Wi-Fi(或无线保真度)、WiMax和BluetoothTM无线技术以及其它技术。因此,通信可以是预先定义的结构,如同常规网络或者仅为至少两个设备之间的自组通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、g、n等)的无线电技术来提供安全的、可靠的、快速的无线连接。Wi-Fi网络能够用于将计算机彼此连接,连接到因特网,以及连接到有线网络(其使用IEEE 802.3相关介质和功能)。

可以使用表述“一个实施例”或“实施例”连同其衍生语来描述一些实施例。这些术语表示,结合实施例所描述的特定的特征、结构或特性包含在至少一个实施例中。在说明书中各处短语“在一个实施例中”的出现不一定都指代同一实施例。此外,可以利用表述“耦合”以及“连接”连同其衍生语来描述一些实施例。这些术语不一定意在彼此同义。例如,可以利用术语“连接”和/或“耦合”来描述一些实施例以表明两个或更多个元件彼此直接物理接触或电接触。然而,术语“耦合”还可以表示两个或更多个元件彼此不直接接触,但是仍相互配合或者彼此交互。

应强调的是,提供了公开的摘要以允许读者快速地确定技术公开的性质。应理解的是,其不用于解释或限制权利要求的范围或含义。另外,在前面的详细说明中,能够看出为了使本公开流线化,各个特征在单个实施例中组合在一起。该公开方法不应解释为反映所要求保护的实施例要求比在每项权利要求中明确记述的特征更多的特征的意图。相反,如下面的权利要求所反映的,发明的主题在于少于单个公开实施例的全部特征。因此,下面的权利要求特此合并于具体实施方式中,其中每项权利要求独立地作为单个实施例。在随附的权利要求书中,术语“包括”和“在其中”分别用作相应术语“包含”和“其中”的普通英语等同词。此外,术语“第一”、“第二”、“第三”等仅作为标签使用,而不意在对其对象施加数字要求。

上文所描述的包括所公开的体系结构的示例。当然,不可能描述部件和/或方法的每个可构思的组合,但是本领域普通技术人员可以认识到许多另外的组合和置换是可能的。因此,新颖的体系结构旨在涵盖落在随附权利要求的精神和范围内的全部这样的替换、修改和变型例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1