基于认证输入属性的选择性授权的制作方法

文档序号:7942342阅读:92来源:国知局
专利名称:基于认证输入属性的选择性授权的制作方法
基于认证输入属性的选择性授权背景随着以不断增大的频率使得有价值或敏感的联网资源可以通过计算机网络来访 问,存在着对于选择性地控制对包括应用程序、数据、和服务在内的这些资源的联网访问的 同等增加的需求。对较不敏感或较少价值的联网资源的访问可以基于登录身份和口令来充 分控制。然而,其他联网资源需要由更复杂认证方法和系统所提供的增强保护。例如,希 望访问基于web的资源的用户除登录身份和口令之外当前可提供特别发放的web浏览器 "cookie,,。然而,当前,没有基于诸如输入的强度、输入的类型、以及对于输入中呈现的用户 身份的信任度等认证输入属性来提供对联网资源的区别化访问的成熟的端对端解决方案。 认证输入的类型是该输入的性质(例如,口令、生物测定数据、身份证书等)。此外,在其中 认证输入是口令的示例中,强度可以指该口令的字符长度。最后,对于认证输入中呈现的用 户身份的信任度可以与在其下获得该认证输入的管理规则的严格性相关。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。本文描述了用于基于认证输入属性来实现对联网资源的选择性访问的各种技术 的各实施例。在一个实施例中,一种方法包括在认证授权机构处使用认证协议接收认证输 入。该认证输入与客户机相关联。该方法还包括提供该认证输入的一个或多个表示,其中 这些表示中的每一个都表示该认证输入的一个属性。在一附加实施例中,该方法还包括在服务器处接收来自客户机的访问请求,该访 问请求包括认证输入的一个或多个表示。该方法还包括对照服务器可访问的授权策略来比 较该一个或多个表示。如果该一个或多个表示满足授权策略的要求,则该方法还包括准许 对资源的访问。在另一实施例中,一种具有计算机可执行指令的计算机可读介质,该指令在被执 行时执行各个动作,这些动作包括在认证授权机构处使用认证协议接收认证输入。该认证 输入与客户机相关联。这些动作还包括在认证授权机构处确认认证输入。此外,这些动作 包括使用认证协议向客户机返回令牌。该令牌包括从已确认的认证输入创建的表示。在又一实施例中,一种用于提供对联网资源的选择性访问的系统包括一个或多个 处理器。该系统还包括用于存储供该一个或多个处理器执行的多个计算机可执行指令的存 储器。该计算机可执行指令包括用于在认证授权机构处使用认证协议接收认证输入。该认 证输入与客户机相关联。该计算机可执行指令还包括用于提供该认证输入的一个或多个表 示的指令,其中这些表示中的每一个都表示该认证输入的一个属性。结合附图阅读下面的详细描述,则其他实施例会变得更加显而易见。附图简述参考附图来描述详细描述。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同的附图中使用相同的附图标记来指示相似或相同的项。

图1是示出在其上实现对联网资源的选择性访问的示例性网络环境的框图。图2是示出在图1中示出的网络环境上实现的示例性硬件身份证书生成过程的框 图。图3是示出在图1中示出的网络环境上实现的、被配置成提供各个表示的示例性 认证服务器的所选组件的框图。图4是示出在图1中示出的网络环境上实现的、用于向策略证书分配对象标识符 的示例性过程的流程图。图5是在图1中示出的网络环境上实现的、生成存储在身份证书中的发放策略的 表示的示例性过程的流程图。图6是在图1中示出的网络环境上实现的、用于生成表示认证输入的类型属性的 表示的示例性过程的流程图。图7是在图1中示出的网络环境上实现的、生成表示认证输入的类型属性的表示 的示例性过程的流程图。图8是示出在图1中示出的网络环境上实现的、用于使用所生成的表示来访问联 网资源的示例性过程的流程图。图9是示出代表性计算设备的框图。该代表性设备可以是图1中所示的网络环境 的一部分。详细描述本发明针对便于基于认证输入的各属性的对于联网资源的区别化访问的实施例。 具体而言,本文描述的实施例针对提供基于与认证请求相关联的各认证输入属性的各个表 示,其中这些表示中的一些可以被包括在令牌中。这些表示可被定制成根据各认证输入属 性来提供不同的访问许可。这些表示随后被用来得到对目标服务器上的联网资源的区别化 访问。以此方式,本发明的各实施例提供对资源的区别化访问,使得可增强生产力并同时增 加对有价值或敏感的联网资源的保护。以下参考图1-9描述基于认证输入的各个属性来便 于对联网资源的区别化访问的各个示例。示例性系统体系结构图1示出基于用户认证输入来提供联网资源的示例性网络环境100。网络环境100 使用户102能够经由客户机终端106向认证服务器104或向多个认证服务器104认证该用 户的身份。网络环境100可包括广域网(WAN)、局域网(LAN)等中的至少一个。认证服务器 104可以控制对整个网络的访问或控制对网络上的特定域的访问。在各种情况下,认证服务 器104可包括域控制器。在一种情况下,域控制器可包括微软WINDOWS 网络的Kerberos 密钥分发中心(KDC)。在一种情况下,用户102可以通过输入登录身份和口令形式的认证输入108来向 认证服务器104认证该用户的身份。在其他情况下,用户102可以经由发放给用户102的 身份证书来向认证服务器104认证。例如,在一些实施例中,身份证书可以是存储在计算机 可读存储介质中的软件数据的形式。在其他实施例中,身份证书可以采取硬件证书的形式, 该硬件证书被存储为一种被硬连线成集成电路卡(ICC)(也被称为智能卡)的算法。因此, 在其中实现智能卡认证的一些情况下,用户102可以通过向智能卡读卡器110提供智能卡硬件证书以及一个或多个相关联的密码密钥来向认证服务器104认证该用户的身份。智能 卡读卡器110交互式地链接到客户机终端106。然而,可以明白,在替换情况下,身份证书和 /或一个或多个密码密钥还可以被存储在其他计算机可读介质中,包括闪存驱动器、射频识 别(RFID)标签、以及其他便携式数据存储设备。在其他情况下,用户102还可以使用生物测定(例如,指纹、掌纹、视网膜图案等) 形式的认证输入108以及其他类似方法来向认证服务器104认证该用户的身份。此外,用户 102可以经由各种认证协议来向认证服务器104认证该用户的身份。这些认证协议可包括 NT LAN管理器(NTLM)协议、Kerberos协议、web服务(WS)-安全协议、用于Kerberos中的 初始认证的公钥密码(PKINIT)协议、安全套接字层(SSL)协议、以及运输层安全(TLS)协 议。认证服务器104被配置成验证用户102所提供的认证输入108。认证服务器104 可以经由有线连接(例如,LAN、WAN)或无线连接(例如,蜂窝、WiFi、超宽带)之一连接到 网络环境100的其余部分。认证服务器104进而可生成基于诸如用户102等用户所提供的 认证输入的表示112。所生成的表示112中的每一个可以表示认证输入的一个或多个属性。 具体而言,所表示的认证输入属性可包括例如输入的强度、输入的类型、以及对于认证输入 中呈现的用户身份的信任度。根据各实施例,认证服务器104还可被配置成形成令牌114, 其中令牌114中的每一个包括一个或多个所生成的表示112。在一些示例性实施例中,所生 成的令牌114包括Kerberos权证授予权证(TGT)。认证输108的类型是该输入的性质(例如,口令、生物测定数据、身份证书等)。 例如,认证输入可以是用户登录和口令的组合、实现在智能卡中的身份证书、或生物测定输 入。此外,认证输入108的强度指的是认证输入对篡改或绕过的抗性。通常但当然并非排 他地,认证输入108的强度是以定量的方式来测量和比较的。例如,10字符口令可具有比5 字符口令更大的强度(熵)。对于认证输入108中呈现的用户身份的信任度可以与在其下获得认证输入108的 管理规则的严格性相关。例如,可以响应于电子邮件证书请求来简单地发放使得能够访问 有限联网资源的第一类型的身份证书(认证输入108)。或者,可以仅在强制亲身标识验证 之后响应于证书请求来发放使得能够访问更多联网资源的其他类型的数字证书。可以只在 广泛的背景检查之后才发放其他类型的身份证书。这些最后类型的身份证书可以允许证书 的相应持有者访问联网资源或执行对先前类型的身份证书不准许的其他任务。在其中网络环境100包括WINDOWS SERVER 网络的一个或多个示例性实施例中, 对身份证书中的用户身份的信任度(也被称为保证级别)可以由发放策略来定义。换言之, 发放策略是被实现来发放身份证书的一个或多个管理规则。在一个实现中,发放策略可以 存储在策略服务器116上。因此,认证服务器可被配置成访问策略服务器116以检索发放 策略。然而,可以明白,在其他实施例中,发放策略中的至少一些可以直接存储在认证服务 器104上。参考图2进一步解释发放策略以及发放策略与所发放的特定身份证书的关联。图2是根据基于认证输入属性的选择性授权的至少一个实施例的、示出用于发放 具有不同保证级别的身份证书的示例性身份证书生成过程200的框图。生成过程200可以 在用户102向可信方206提供证书请求连同用户标识204时启动。用户标识204可以是用 来验证用户102的身份的任何文档或特征。例如,用户标识204可以是政府发放的照片标识、雇主发放的标识、预先存储的生物测定特征、或其他类似的文档或特征。可信方206是 第三方,该第三便于在双方都信任该第三方的两方(例如,用户102和第二方)之间进行交 互。在这种情况下,第二方是认证服务器104(图1)所控制的网络环境100。可信方206还可以指证书授权机构(CA)。在各种情况下,可信方206可以通过预 先建立的管理规则或发放策略来处理每一证书请求。换言之,发放策略规定标识证书授权 机构(CA)在发放特定类型的身份证书之前执行的标识验证过程。在一些实施例中,发放策 略所规定的标识验证过程可以取决于用户102的性质和/或证书的预期用途。因此,可信方206可以在不证明标识的情况下发放一些类型的身份证书。然而,其 他类型身份证书可由可信方204在用户102满足所需证明要求后发放。例如,发放策略可 以规定可信方206只在亲身标识验证会议之后才发放第一类型的身份证书,在该会议中雇 员提供用户标识文档,如用户标识204。该第一类型的证书使得雇员能够访问敏感的、雇主 所拥有的联网资源。然而,发放策略可以规定可以响应于电子邮件请求而无需附加安全要 求来发放第二类型的证书,因为第二类型的证书只允许客户对购买网站的受限访问。所发放的身份证书可以存储与在其下发放该证书的发放策略有关的信息。例如, 在其中网络环境100 (图1)是WINDOWS SERVER 网络环境的情况下,WINDOWS SERVER 网 络环境可包括四个预定义的发放策略(1)所有发放;(2)低保证;(3)中等保证;以及(4) 高保证。四个发放策略中的每一个在身份证书中由在证书授权机构(CA)处定义的对应的 对象标识符(OID)来表示。对象标识符(OID)随后被包括在相应的发放证书中。因此,在 用户102呈现身份证书时,可检查该身份证书以验证发放策略并确定该级别的发放策略是 否足以执行所请求的动作。根据各实施例,“所有发放”策略包含所有其他发放策略。“所有保证”策略可以由 对象标识符(OID) “2. 5. 29. 32.0”来表示。“低保证”策略准许在没有安全要求的情况下发 放证书。“低保证”策略可以在身份证书中由对象标识符(OID) “1. 3. 6. 1. 4. 1. 311. 21. 8. χ. y. ζ. 1. 400”表示,其中该对象标识符的χ. y. ζ部分是对每一 WINDOWS SERVER 森林唯一的 随机生成的数字序列。此外,“中等保证”对象标识符(OID)可以表示具有用于发放的附加安全要求的身 份证书。例如,在与智能卡发放者(可信方206)的面对面会议中发放的智能卡证书可被认 为是“中等保证”证书并包含中等保证对象标识符。示例性“中等保证”对象标识符(OID) 是 “1. 3. 6. 1. 4. 1. 311. 21. 8. x. y. ζ. 1. 401”,其中该对象标识符的 x. y. ζ 部分是对 WINDOWS SERVER森林唯一的随机生成的数字序列。另外,“高保证对象标识符”被用来表示在最高安全情况下发放的证书。例如,密钥 恢复代理证书的发放需要附加背景检查和来自指定批准者的数字签名。这是由于持有这一 证书的用户102能够从WINDOWSSERVER 网络恢复私钥材料的事实。示例性“高保证”对象 标识符(OID)是“1. 3. 6. 1. 4. 1. 311. 21. 8. x. y. ζ. 1. 402”,其中该对象标识符的x. y. ζ部分 是对WINDOWS SERVER 森林唯一的随机生成的数字序列。然而,还可以明白,可以创建其他对象标识符(OID)来表示自定义发放策略。例 如,买家/卖家关系中涉及的两个组织可以定义表示特定购买量的身份证书的自定义对象 标识符(OID)。应用程序随后可以使用这些对象标识符(OID)来识别买家是否具有用于特 定量购买的适当签字权。
7
尽管一些身份证书208可以是存储在计算机可读存储介质中的软件数据的形式, 但其他身份证书208可以采取被硬连线成集成电路卡(ICC)(也被称为智能卡)的硬件证 书的形式。这些卡由证书存储介质210表示。如以下进一步描述地,身份证书208还可作 为认证输入被提交给认证服务器104,以便生成一个或多个对应的表示。返回图1,认证服务器104可生成基于诸如用户102等用户所提供的认证输入108 的表示112。所生成的表示112表示认证输入的一个或多个属性。具体而言,所表示的认证 输入属性可包括认证输入108的强度、认证输入108的类型、以及对于认证输入108中呈现 的用户身份的信任度。对应的表示112可以是对象标识符(OID)、全局唯一标识符(GUID)、 安全标识符(SID)、或强表示的形式。根据一些实施例,对应表示112是使用抽象句法表示 法.1(ASN. 1)、可扩展标记语言(XML)、或可扩展权限标记语言(XrML)之一来格式化的。在其中认证输入是身份证书的实施例中,认证服务器104可以修改身份证书来将 表示112存储在所生成的令牌114中。在其中所生成的令牌114是Kerberos权证授予权 证(TGT)的实施例中,认证服务器104可以将表示112作为(TGT)的特权属性证书(PAC)的 一部分来存储。此外,认证服务器104可以将Kerberos TGT转发到用户102计划访问的服 务器,如目标服务器118。目标服务器118可以是基于Windows 操作系统的目标服务器。 然而,还可以明白,在附加实施例中,表示112还能存储在其他形式的令牌114中,包括授权 令牌、服务令牌、或安全断言标记语言(SAML)令牌。继续参考图1,用户102可以使用可包括在令牌114中的一个或多个所生成的表 示112来访问目标服务器118上的一个或多个联网资源。在一种情况下,用户102可以向 目标服务器118提交资源访问请求120连同一个或多个表示112。如本文描述地,网络资 源是计算环境中的一个或多个计算设备提供的任何资源。例如,联网资源可包括操作系统、 邮件服务器、文件存储、web服务器、网关服务器、应用程序、消息收发应用程序、协作应用程 序、日历应用程序、打印服务、以及基本上任何其他类型的计算数据、设备、或服务。例如,联 网资源可以是存储在目标服务器118上的任何应用程序、数据、或服务。目标服务器118进而使用授权策略来确认一个或多个表示112。如上所述,表示 112可以包括在令牌114中。在各实施例中,目标服务器118可以对照存储在服务器内的 授权策略来比较这些表示。或者,目标服务器118可以对照目标服务器118从策略服务器 116访问的授权策略来确认表示112。在一个实施例中,如果一个或多个表示112指示用户102被准许访问一个或多个 所需联网资源和/或在目标服务器118上执行特定任务,则给予用户102执行这些任务的 权限和/或向其准许对这些联网资源的访问。另一方面,如果表示112不准许用户102访 问所需联网资源,则向用户拒绝权限和/或访问。目标服务器118可经由客户机终端106 将访问/许可决定(即,访问/许可的准许或拒绝)中继给用户102。图3示出示例性认证服务器104的所选组件。示例性认证服务器104可包括由诸 如在图9中描述的计算环境900等计算设备执行的计算机程序指令。程序指令或模块可包 括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件和数据结构。认证 服务器104的所选组件可包括发放策略模块302、强度分析模块304、方法分析模块306、特 权生成器模块308、以及目录服务模块310。在一个实施例中,目录服务模块310可包括被 配置成在Windows 环境中经由组策略来提供认证和授权服务的活动目录。然而,可以明白,也可使用其他目录服务来提供基于策略的认证和授权服务。本领域普通技术人员还可 明白,示例性认证服务器104可包括向用户或其他系统提供认证服务的其他组件。发放策略模块302被配置成从作为身份证书的认证输入中提取发放策略对象标 识符。每一发放策略对象标识符(OID)表示在其下发放身份证书的发放策略或保证级别。 此外,发放策略分析器302可以将发放策略对象标识符(OID)传送到特权生成器模块308。 特权生成器模块308进而可生成一个或多个表示,如在图1中描述的表示112。具体而言, 如以下进一步描述地,特权生成器模块308可以访问目录服务模块310来提供对应于每一 发放策略对象标识符308的表示。在一些实施例中,特权生成器模块308可将一个或多个 表示存储在令牌中,如在图1中进一步描述的令牌114。例如,在其中表示是安全标识符 (SID)的形式的实施例中,特权生成器模块308可以构建Kerberos权证授予权证(TGT),该 Kerberos权证授予权证可在该TGT的特权属性证书(PAC)中包括安全标识符(SID)。强度分析模块304被配置成从认证输入提取强度属性。如上所述,认证输入的属 性可被定义成认证输入对篡改或绕过的抗性。通常,这一抗性可以基于认证输入的置换或 密码复杂度。强度分析模块304还可被配置成将认证输入的强度属性传递到特权生成器模 块308。例如,强度分析模块304可以将口令的字符长度提供给特权生成器模块308。在另 一情况下,强度分析模块304可识别身份证书的编码类型并将其提供给特权生成器308。特 权生成器模块308进而可访问可存储与强度属性相对应的特定表示的目录服务模块310以 检索适当的表示。方法分析模块306被配置成标识认证输入的类型属性。如上所述,认证输入的类 型是该输入的性质(例如,口令、生物测定数据、身份证书等)。类型分析模块306还可被配 置成将认证输入的类型属性传递到特权生成器模块308。例如,类型分析模块306可以通知 特权生成器模块308第一认证输入具有口令的类型属性,第二认证输入具有指纹扫描的类 型属性,等等。特权生成器模块308进而可访问可存储与每一类型属性相对应的表示的目 录服务模块310以检索与各个类型属性相对应的表示。可以明白,尽管提供组策略的目录服务模块310被描述为认证服务器104的一部 分,但目录服务模块310可以位于其他远程位置。例如,目录服务模块310可以位于联网的 策略服务器116中,如参考示例性网络环境100所描述的。示例性过程图4-8示出便于实现对联网资源的区别化访问的示例性过程。图4-8中的示例性 过程被示为逻辑流程图中的框的集合,其表示可以用硬件、软件、或其组合来实现的操作的 序列。在软件的上下文中,各个框表示当由一个或多个处理器执行时完成所述操作的计算 机可执行指令。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型 的例程、程序、对象、组件、数据结构等。描述操作的次序并不旨在被解释为限制,并且任何 数量的所述框可以按任何次序和/或并行地组合以实现该过程。出于讨论的目的,参考图 1的示例性网络环境100来描述这些过程,但它们可在其他系统体系结构中实现。图4是示出用于向策略证书分配对象标识符的示例性过程400的框图。该示例性 过程可以针对被用于WINDOWS SERVER 网络中的区别化访问的身份证书来实现。在判定框 402,根据发放策略响应于请求来发放身份证书。在身份证书的发放期间,诸如可信方202 等证书授权机构(CA)可以确定发放策略的发放策略对象标识符(OID)是否存在。在一个实施例中,证书授权机构(CA)可以通过搜索诸如目录服务模块310等活动目录来针对与发 放策略相对应的预先生成的对象标识符(OID)作出这一判定。如果在判定框402,证书授权机构(CA)确定发放策略不存在(判定框402的 “否”),则该过程可前进至框404。在框404,证书授权机构(CA)可为该发放策略创建对象 标识符(OID)。在框404,证书授权机构(CA)可将对象标识符(OID)存储在活动目录中。或 者,如果确定发放策略的对象标识符(OID)确实存在,则过程400前进至框406。在框406, 证书授权机构(CA)可以从活动目录中选择发放策略的适当对象标识符(OID)并将其包括 在身份证书中。将发放策略对象标识符(OID)包括在所发放的证书中指示该证书满足与该 发放策略相关联的发放要求。在框408,证书授权机构(CA)可以确定包括在身份证书中的对象标识符(OID)是 否被映射到特定身份组。换言之,证书授权机构(CA)可以确定对象标识符(OID)是否是一 身份组的成员。根据各实施例,每一身份组可以由定义其成员关系的组策略来管控。在一 个实施例中,组策略存储在策略服务器116中。组策略可以就用于访问联网资源以及执行 任务的安全策略来控制组成员,这些任务包括审计、软件安装、登录/注销脚本、文件夹重 定向、以及其他任务。因此,如果证书授权机构(CA)确定对象标识符(OID)未被映射到身份组(在判定 框408的“否”),过程400可前进至框410。在框410,证书授权机构(CA)可在活动目录中 为对象标识符创建新身份组。然而,如果确定对象标识符(OID)已经被映射到身份组(在 判定框408的“是”),则在框412,证书授权机构(CA)可以从活动目录中检索对象标识符 (OID)的现有身份组信息。在框414,证书授权机构(CA)可以将组的标识作为属性添加到 发放策略的对象标识符。因此,在一个实施例中,具有等同对象标识符(OID)的身份证书可 以提供对相同联网资源的访问和执行相同任务的能力。在判定框416,证书授权机构(CA)可以确定附加发放策略是否被应用于该身份证 书。这种情况可以例如在身份证书在一个或多个发放策略下发放时发生。例如,身份证书可 以旨在用于由不同的发放策略管控的多个目的。因此,如果证书授权机构(CA)确定附加策 略被应用于身份证书(在判定框416的“是”),过程400可以循环回框402,其中执行对象 标识符到发放策略的分配。然而,如果证书授权机构(CA)确定没有应用附加发放策略(在 判定框416的“否”),则过程400可在框418终止。图5是示出为身份证书、以表示的形式生成关于发放策略的信息的示例性过程 500的框图,其中该身份证书是在该发放策略下发放的。该示例性过程可以针对被用于 WINDOWS SERVER网络中的区别化访问的身份证书来实现。在框502,用户102可以使用包括身份证书的认证输入来启动认证过程。例如,用 户102可以提交认证输入以访问目标服务器118上的联网资源。身份证书可以是软件证书 或硬件证书。认证输入可以由认证服务器104接收。在框504,认证服务器104可以处理身 份证书以提取发放策略对象标识符(OID)。在判定框506,认证服务器104可以确定是否已 经提取了发放策略对象标识符(OID)。如果未提取发放策略对象,如由于身份证书未在任何 已知发放策略下发放的事实,(在判定框506的“否”),则在框508,认证服务器104可以分 配默认阈相关安全标识符(SID)。在一个实现中,默认安全标识符(SID)指示对于经由身份 证书呈现的用户身份的默认信任级别。这一默认信任级别可以是最低信任级别。例如,与其他信任级别相比,这一最低信任级别可以提供对网络资源或任务的相当少的访问。然而,如果成功提取了发放策略对象标识符(OID)(在判定框504的“是”),则在框 508,认证服务器104可以将对应的组安全标识符(SID)分配给发放策略对象标识符(OID)。 根据各个示例,认证服务器104可以使用多种机制来分配组安全标识符(SID)。这些机制包 括创建将发放策略标识符(OID)与活动目录中的预定义的安全标识符(SID)相关联的静态 列表映射。此外,预定义安全标识符(SID)可以通过使用发放策略对象标识符(OID)作为 该安全标识符(SID)的种子值来创建。安全标识符(SID)中的每一个进而可被映射到特定 组。安全标识符(SID)的这一映射与在图4中描述的对象标识符(OID)的映射相类似。因此,在各种情况下,每一组安全标识符(SID)可以由组策略来管控。在一个实 施例中,组策略存储在策略服务器116中。组策略可以使目标服务器118能够基于安全标 识符(SID)来控制对其联网资源的访问以及控制执行任务,这些任务包括审计、软件安装、 登录/注销脚本、文件夹重定向、以及其他任务。例如,组策略可以规定只有在安全标识符 (OID)指示身份证书与高保证级别相关联才准许对特定网络资源的访问。在判定框510,认证服务器104可以确定身份证书的附加发放策略对象标识符 (OID)是否存在。如果认证服务器104确定附加发放策略对象标识符(OID)存在(在判定 框510的“是”),则过程500可以循环回框508。在返回到框508后,另一组策略安全标识 符(SID)可被分配给附加发放策略对象标识符(OID)。然而,如果认证服务器104确定没有 附加发放策略对象标识符被分配给身份证书,则过程500可直接前进至框512。在框512,认证服务器104可以用一个或多个所分配的安全标识符(SID)来构建令 牌,如图1中描述的令牌114。在一个实施例中,认证服务器104可以创建包括所分配的安 全标识符(SID)连同相关联的身份证书的令牌。例如,认证服务器104可以构建Kerberos 权证授予权证(TGT)形式的、在该TGT的特权属性证书(PAC)中包括安全标识符(SID)的 令牌。图6是示出用于生成表示认证输入的类型属性的表示的示例性过程600的框图。 在框602,用户102可以使用认证输入来启动认证过程。例如,用户102可以提交认证输入 以访问目标服务器118上的联网资源。认证输入可以由认证服务器104接收。在框604,认证服务器104可以处理认证输入,确定该认证输入的类型属性。在判 定框606,认证服务器104可以确定认证输入的类型属性是否相关,即是否能够被映射到存 储在活动目录中的预定义的安全标识符(SID)。根据各实施例,安全标识符(SID)与认证 输入类型属性之间的相关可以使用多种机制来预定义。这些机制包括创建将认证输入类型 与驻留在活动目录中的预定义的安全标识符(SID)相关联的静态列表映射。安全标识符 (SID)中的每一个进而可被映射到特定组。安全标识符(SID)的这一映射与在图4中描述 的对象标识符(OID)的映射相类似。因此,在各种情况下,每一组安全标识符(SID)可以由组策略来管控。在一个实施 例中,组策略存储在策略服务器116中。组策略可以使目标服务器118能够基于安全标识 符(SID)来控制用于对其联网资源进行访问的安全策略以及控制执行任务,这些任务包括 审计、软件安装、登录/注销脚本、文件夹重定向、以及其他任务。例如,类型属性的组策略 可以规定在安全标识符(SID)指示认证输入是生物测定输入的情况下准许对特定网络资 源的访问,而在认证输入不是生物测定输入的情况下不准许访问。
返回到图6,如果认证服务器104确定认证输入类型不与预定义的安全标识符 (SID)相关联,(判定606的“否”),则过程600可前进至框608。在框608,认证服务器104 可以将默认安全标识符(SID)分配给类型属性。默认安全标识符(SID)可以指示与认证输 入类型相关联的默认信任级别。例如,与其他信任级别相比,这一最低信任级别可以提供对 网络资源或任务的相当少的访问。然而,如果认证服务器104确定认证输入类型与活动目录中的预定义的安全标识 符(SID)相关联,(判定606的“是”),则过程600可前进至框610。在框610,可以从活动 目录检索与认证输入类型相对应的安全标识符(SID)并将其分配给类型属性。在框612,认 证服务器104可以用一个或多个所分配的安全标识符(SID)来构建令牌,如图1中描述的 令牌114。图7是示出生成表示认证输入的类型属性的表示的示例性过程700的框图。在框 702,用户102可以使用认证输入来启动认证过程。例如,用户102可以提交认证输入以访 问目标服务器118上的联网资源。认证输入可以由认证服务器104接收。在框704,认证服务器104可以处理认证输入,确定该认证输入的强度属性。在判 定框706,认证服务器104可以确定认证输入的强度属性是否被映射,即是否关联于存储在 活动目录中的预定义的安全标识符(SID)。根据各实施例,安全标识符(SID)与认证输入强 度属性之间的相关可以使用多种机制来预定义。这些机制包括创建将认证输入类型与驻留 在活动目录中的预定义的安全标识符(SID)相关联的静态列表映射。安全标识符(SID)中 的每一个进而可被映射到特定组。安全标识符(SID)的这一映射与在图4中描述的对象标 识符(OID)的映射相类似。因此,在各种情况下,每一组安全标识符(SID)可以由组策略来管控。在一个实施 例中,组策略存储在策略服务器116中。组策略可以使目标服务器118能够基于安全标识 符(SID)来控制用于对其联网资源进行访问的安全策略以及控制执行任务,这些任务包括 审计、软件安装、登录/注销脚本、文件夹重定向、以及其他任务。例如,强度属性的组策略 可以规定在安全标识符(SID)指示认证输入是10字符长度的口令的情况下准许对特定网 络资源的访问,而在认证输入是小于10字符长度的口令的情况下不准许访问。返回到图7,如果认证服务器104确定认证输入强度属性不能够与预定义的安全 标识符(SID)相关联,(判定706的“否”),则过程700可前进至框708。在框708,认证服 务器104可以将默认安全标识符分配给安全标识符(SID)。默认安全标识符(SID)可以指 示与认证输入强度相关联的默认信任级别。例如,与其他信任级别相比,这一最低信任级别 可以提供对网络资源或任务的相当少的访问。然而,如果认证服务器104确定认证输入强度属性能够与活动目录中的预定义的 安全标识符(SID)相关联,(判定706的“是”),则过程700可前进至框708。在框708,可 以从活动目录检索与认证输入强度属性相对应的安全标识符(SID)并将其分配给强度属 性。在框710,认证服务器104可以用一个或多个所分配的安全标识符(SID)来构建令 牌,如图1中描述的令牌114。换言之,安全标识符(SID)与身份证书相关联。在一个实施 例中,认证服务器104可以修改身份证书以存储包括所分配的安全标识符(SID)的令牌。可以明白,在图5-7中描述的各安全标识符(SID)还可以被称为表示,如在图1中描述的表示112。这些表示可以使得诸如用户102等用户能够在诸如目标服务器118等目 标服务器上访问一个或多个所需联网资源和/或执行特定任务。例如,服务器管理员可以 配置将诸如目标服务器118等服务器上的网络资源与反映同身份证书相关联的保证级别 的各安全标识符(SID)相关的一个或多个访问控制设置。此外,在替换实施例中,除安全标识符(SID)之外,可以从其他形式的数据表示 中构建表示。在这些实施例中,这些表示还可以由对象标识符(0ID)、全局唯一标识符 (GUID)、或强表示来表示。尽管每一认证属性(例如,发放策略、强度、以及类型)被描述为由单独的组策略 来管控。可以明白,在其他实施例中,各策略集合可以经由逻辑运算符来组合以基于多个认 证输入属性来确定对联网资源的访问的许可性和/或在目标服务器上的任务的执行。例 如,多个策略可以经由逻辑运算符函数来组合,以使得目标服务器上的联网资源只在认证 输入是身份证书并且存储在该身份证书中的安全标识符指示其在至少中等保证的发放策 略下发放的情况下才可被访问。图8是示出用于使用所生成的、可被包括在令牌中的表示以访问联网资源的示例 性过程800的框图。所生成的表示可包括表示112,并且令牌可包括令牌114。在框802,诸 如目标服务器118等目标服务器可以从诸如用户102等用户接收包括认证输入的资源访问 请求。在一个实施例中,这些认证输入是经由认证协议传输的,认证协议包括NT LAN管理 器(NTLM)协议、Kerberos协议、web服务(WS)-安全协议、用于Kerberos中的初始认证的 公钥密码(PKINIT)协议、安全套接字层(SSL)协议、或运输层安全(TLS)协议之一。在一 个实施例中,用户102可以经由客户机终端106提交资源访问请求,如在图1中所示。如本 文所使用地,资源访问请求指的是访问目标服务器上的一个或多个联网资源的请求和/或 在诸如目标服务器上的118等目标服务器上执行一个或多个任务的请求。如上所述,认证输入包括口令、生物测定特征、以及身份证书中的至少一个。然而, 可以明白,还可以从用户接收其他形式的身份确认数据,假如该身份确认数据包括诸如类 型和强度等属性或包含与在其下向用户分配身份确认数据的发放策略有关的一些信息。在其中认证输入是身份证书的实施例中,目标服务器上的118可以获得存储在该 证书中的认证输入属性。在其他情况下,目标服务器118可以向认证服务器104请求认证 输入的属性。认证服务器104进而可将认证输入的一个或多个属性转发到目标服务器118。在替换实施例中,用户102可以通过向中间层服务器提供认证输入来登录。在一 个实施例中,中间层服务器是驻留在诸如客户机终端106等用户客户机终端与诸如目标服 务器118等数据管理服务器之间的服务器。中间层服务器可被配置成将认证输入转发到目 标服务器。对认证输入的转发可以使用各种机制来执行,包括Kerberos委托和用于用户到 代理的服务(S4U2代理)。在这些情况下,诸如发放策略信息等认证输入的属性也可以从中 间层服务器转发到目标服务器。在框804,目标服务器118可以获得包括用于认证输入的各属性的组策略的本地 授权策略。在一个实施例中,授权策略中的组策略可以用抽象句法表示法.1(ASN. 1)、可扩 展标记语言(XML)、或可扩展权限标记语言(XrML)之一来格式化。认证输入属性包括在其 下发放身份证书的发放策略以及认证输入的强度和类型。组策略管控目标服务器118上的 联网资源访问以及控制目标服务器118上的执行任务,这些任务包括审计、软件安装、登录/注销脚本、文件夹重定向、以及其他任务。在一个实施例中,本地授权策略存储在目标服务 器118的活动目录中。在框806,目标服务器118可以使用认证策略来确认认证输入。根据各实施例, 该确认可以由目标服务器118上的应用程序、操作系统、资源管理器、或授权系统之一来执 行。具体而言,目标服务器118可以获得表示对应的认证输入属性的一个或多个表示。该 一个或多个表示可以存储在令牌中。此外,目标服务器118可以将这些表示与一个或多个 组策略相比较以确定用户102可访问的联网资源和任务的列表。该一个或多个组策略存储 在目标服务器118上或另选地存储在策略服务器116上。在框808,目标服务器118可以确 定用户102对资源(例如,网络资源和/或任务)的访问的许可性。具体而言,目标服务器 118可以将资源访问请求中的特定联网资源和任务与可访问的联网资源和任务的列表进行 比较。由此,作出关于用户是否可访问该资源的判定。在框810,将目标服务器118关于对资源的访问的许可性的判定通知给用户102。 根据各实施例,目标服务器102可被配置成在诸如用户102所使用的客户机终端等远程终 端的用户界面上呈现通知。示例性计算环境图9示出可被用来实现本文描述的选择性联网资源访问技术和机制的代表性计 算设备900。例如,认证服务器104(图1)可以在代表性计算设备900上实现。然而,可以 容易地明白,可在其他计算设备、系统和环境中实现该选择性联网资源技术和机制的各实 施例。图9所示的计算设备900所示的计算设备只是计算设备的一个示例,且并非旨在对 计算机和网络体系结构的使用范围或功能提出任何限制。计算设备900也不应被解释成对 于在该示例计算设备中所示出的任一组件或其组合有任何依赖或要求。在一非常基本的配置中,计算设备900通常包括至少一个处理单元902和系统 存储器904。取决于计算设备的确切配置和类型,系统存储器904可以是易失性的(诸如 RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器904通常包括操 作系统906、一个或多个程序模块908,并且可包括程序数据910。操作系统906包括基于组 件的框架912,其支持组件(包括属性和事件)、对象、继承、多态性、反射,并且提供面向对 象的基于组件的应用程序编程接口(API),诸如但决不限于由华盛顿州雷蒙德市的微软公 司制造的.NET 框架的API。设备900具有由虚线914划分的非常基本的配置。同样,一 终端可具有更少的组件,但将与可具有这一基本配置的计算设备交互。计算设备900还可具有附加特征或功能。例如,计算设备900还可包括附加数据 存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。这样的附加存储在图9 中由可移动存储916和不可移动存储918例示。计算机存储介质可包括以用于存储诸如计 算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和 非易失性、可移动和不可移动介质。系统存储器904、可移动存储916和不可移动存储918 都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、R0M、EEPR0M、闪存或其 他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其 他磁性存储设备、或能用于存储所需信息且可以由计算设备900访问的任何其他介质。任 何这样的计算机存储介质都可以是设备900的一部分。计算设备900还可具有诸如键盘、 鼠标、笔、话音输入设备、触摸输入设备等输入设备920。还可包括诸如显示器、扬声器、打印机等输出设备922。这些设备在本领域是公知的,因此不在此详细讨论。计算设备900还可包含允许该设备诸如通过网络来与其他计算设备926进行通信 的通信连接924。这些网络可包括有线网络以及无线网络。通信连接924是通信介质的一 个示例。通信介质通常可以具体化为计算机可读指令、数据结构、程序模块等。可以理解,计算设备900只是合适的设备的一个示例,并不旨在对所述各实施例 的使用范围或功能提出任何限制。适用于各实施例的其他公知的计算设备、系统、环境和/ 或配置包括但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基 于微处理器的系统、机顶盒、游戏控制台、可编程消费者电子产品、网络PC、小型计算机、大 型计算机、包括上述系统或设备中的任一个的分布式计算机环境等。提供基于认证输入的属性的对联网资源的区别化访问可以增强安全性。这一增强 的安全性对保护高端、有价值、昂贵、或敏感资源、应用程序、或数据而言尤其重要。因此,根 据本发明的各实施例可以用来确保只有预期授权并且被正确认证的示图才能访问这些资 源。结论总而言之,尽管用对结构特征和/或方法动作专用的语言描述了各实施例,但可 以理解,所附权利要求书中定义的主题不必限于所述具体特征或动作。相反,这些具体特征 和动作是作为实现权利要求的所要求保护的主题的示例性形式而公开的。
1权利要求
一种方法,包括在认证授权机构处使用认证协议接收认证输入,所述认证输入与客户机相关联(502、602、702);以及提供所述认证输入的一个或多个表示,所述表示中的每一个都表示所述认证输入的一属性(512、612、712)。
2.如权利要求1所述的方法,其特征在于,还包括在服务器处从客户机接收访问请求(802),所述访问请求包括所述认证输入的所述一 个或多个表示;对照所述服务器可以访问的授权策略来比较所述一个或多个表示(806);以及如果所述一个或多个表示满足所述授权策略的要求,则准许对资源的访问(808)。
3.如权利要求1所述的方法,其特征在于,还包括使用所述认证协议将令牌返回所述 客户机,所述令牌包括从经确认的认证输入创建的所述一个或多个表示,其中接收访问请 求包括接收包括所述一个或多个表示的令牌。
4.如权利要求3所述的方法,其特征在于,所述认证授权机构包括基于Windows的网络 中的Kerberos密钥分发中心(KDC),并且所述令牌包括Kerberos权证授予权证(TCG),并 且其中所述表示被包含在所述KerberosTGT的特权属性证书(PAC)中。
5.如权利要求1所述的方法,其特征在于,所述认证输入包括强度属性、类型属性、以 及类型属性中的至少一个。
6.如权利要求2所述的方法,其特征在于,还包括将准许对所述资源的访问通知给所 述客户机(810)。
7.如权利要求2所述的方法,其特征在于,所述授权策略基于各个表示来提供不同的 访问级别,并且其中准许对服务器的访问包括基于所述一个或多个表示所表示的一个或多 个属性来授予特定访问级别。
8.如权利要求5所述的方法,其特征在于,所述认证输入包括口令、硬件身份证书、或 软件身份证书中的至少一个,并且其中所述类型属性被配置成将所述认证输入标识为包括 口令、基于硬件的输入、或基于软件的输入中的至少一个。
9.如权利要求5所述的方法,其特征在于,所述强度属性被配置成标识口令的置换复 杂度或身份证书的密码复杂度之一。
10.如权利要求5所述的方法,其特征在于,所述类型属性被配置成将所述认证输入标 识为是通过面对面请求、本地网络请求、或远程网络请求之一获得的。
11.如权利要求2所述的方法,其特征在于,所述授权策略存储在本地位置或联网远程 位置之一中。
12.如权利要求2所述的方法,其特征在于,所述服务器是基于Windows的服务器,并且 所述本地位置是位于所述基于Windows的服务器上的活动目录。
13.如权利要求2所述的方法,其特征在于,所述资源是资源服务器上的操作系统、应 用程序、或服务之一。
14.如权利要求2所述的方法,其特征在于,比较所述一个或多个表示包括使用应用程 序、操作系统、资源管理器、或授权系统中的至少一个来对照授权策略比较所述一个或多个表示。
15.如权利要求2所述的方法,其特征在于,所述表示与所述授权策略中的至少一个是 用抽象句法表示法.1(ASN. 1)、可扩展标记语言(XML)、或可扩展权限标记语言(XrML)之一 来格式化的。
16.一种方法,包括在认证授权机构处使用认证协议接收认证输入,所述认证输入与客户机相关联(502、 602,702);以及使用所述认证协议将令牌返回所述客户机,所述令牌包括一个或多个表示,其中每一 声明都表示所述认证输入的一属性(512、612、712)。
17.如权利要求16所述的方法,其特征在于,所述表示包括由对象标识符(OID)、全局 唯一标识符(⑶ID)、安全标识符(SID)、以及强表示之一所表示的表示。
18.如权利要求16所述的方法,其特征在于,所述令牌包括授权令牌、服务令牌、或安 全断言标记语言(SAML)令牌。
19.如权利要求16所述的方法,其特征在于,所述认证协议是NTLAN管理器(NTLM) 协议、Kerberos协议、web服务(WS)-安全协议、用于Kerberos中的初始认证的公钥密码 (PKINIT)协议、安全套接字层(SSL)协议、以及运输层安全(TLS)协议之一。
20.一种系统,所述系统包括用于分析认证输入的第一组件(304、306),其中所述认证输入与客户机相关联;以及用于提供所述认证输入的一个或多个表示的第二组件(308),其中所述表示中的每一 个都表示所述认证输入的一属性。
全文摘要
公开了用于基于认证输入属性来提供区别化访问的各实施例。根据一个实施例,一种方法包括在认证授权机构处使用认证协议接收认证输入。该认证输入与客户机相关联。该方法还包括提供该认证输入的一个或多个表示,其中这些表示中的每一个都表示该认证输入的一属性。
文档编号H04L9/32GK101911585SQ200880124249
公开日2010年12月8日 申请日期2008年12月9日 优先权日2008年1月4日
发明者A·卢瑟, D·B·克洛斯, M·F·诺瓦克, O·Y·谢卡尔, P·J·里奇, T·C·琼斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1