从访问检查机制的本机表示中抽象安全策略以及将其变换到该表示的制作方法

文档序号:7677277阅读:104来源:国知局
专利名称:从访问检查机制的本机表示中抽象安全策略以及将其变换到该表示的制作方法
从访问检查机制的本机表示中抽象安全策略以及将其变换到该表示
背景
安全策略配置通常是"单向"的; 一旦配置了意图,则从已被配置的意图 中查询和测量意图即使不是不可能也是极其困难的。 一般地,可被表达的通常 不符合需要被表达的。在意图与详细配置紧密地耦合在一起时,对意图的改变 是极其困难的。另外,传统访问检査机制已经没用但仍然存在,因为通常所配 置的策略不能被容易地迁移。为分析该系统,所有访问必须被忠实地审计并被 仔细地与包含在所配置的安全策略中的意图相协调,因而要求大量人工。结果, 用户面对以下问题
1. 无法集中地定义可在跨管理域分布的多个文件服务器上实施的访问 控制策略
2. 无法集中地定义用于多个应用程序的、独立于每一应用程序中的授 权评估机制的访问控制策略
3. 没有统一的方法来集中地定义用于跨管理域分布的资源的审计数据 集合策略
4. 无法标识违背所定义的访问控制策略的访问
5. 无法自动地检查所定义的访问控制策略和授权评估机制行为之间的
一致性
6. 无法跨应用程序和策略存储分组资源以应用共同授权策略
7. 没有用于支持对于资源的权限和指定授权策略的委托的商业友好的 用户体验(UX)。
8. 没有容易的机制来向其他主体或机制委托个人许可来在主体之间以 紧密限制的方式共享管理性负担
问题的根源是没有与访问检查机制本机的意图分开地显式保存策略意图。 策略用一个目的来配置供访问检查机制用来指示访问是否应被授予。考虑到 这一点,策略表示则偏向于优化访问检查的性能,这无疑是重要的。但所付出 的代价是极其难于发觉所配置的事物的意义。即使在同质环境中,如具有相同 的或类似的访问控制列表(ACL)配置的多个不同的共享,系统地辨别相同的策略被应用于所有这些共享并且因而重新捕获策略后的意图也是不容易且通 常是不可能的。异质环境使该问题恶化。在策略深深陷入访问检查实现的本机 表示中时,很少有机会从在本机控制机制中被配置的事物中提取抽象策略。由 于策略意图本身不是独立地持久保持和管理的,所以不可能表达比底层访问检 査机制所允许的更丰富的任何事物。这意味着最终在意图和本机策略配置格式 中的该意图的实现之间存在很大的差异。
因此,所需的是解决现有技术的缺点的过程和系统。
概述
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一 些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨 在用于帮助确定所要求保护的主题的范围。
考虑到以上所标识的本领域的缺点,提供了从访问检査机制的本机表示中
抽象安全策略以及将其变换到该表示。对于若干实施例,用于实现计算机资源
访问控制策略的方法包括从访问检査机制中抽象访问控制策略。访问检查机制
具有可能比访问控制策略更受限的本机策略表达能力。同样,用于实现计算机
资源访问安全策略的系统包括用于审计资源访问的装置,和提供特定的经审计
的访问为何被允许的原因(根据访问控制策略)的装置。所提供的原因是独立 于具有比访问控制策略更受限的策略表达能力的访问检査机制而从该访问控
制策略本身构建的。
以下是本发明的其它优点和特征的描述。
附图
参考附图进一步描述了从访问检査机制的本机表示中抽象安全策略以及 将其变换到该表示,附图中-


图1是表示适用于从访问检查机制的本机表示中抽象安全策略以及将其 变换到该表示的示例性计算设备的框图2示出其中可以实现执行从访问检査机制的本机表示中抽象安全策略 以及将其变换到该表示的多个计算机化过程的示例性网络化计算环境;
图3是示出使用示例安全策略计算许可表示的框图4是示出使用启用委托的附加示例安全策略计算许可表示的框图;图5是示出将所得示例许可注入访问检查机制的表示的框图6是示出提供从示例访问和审计事件所得的证据的框图;以及
图7是示出实现从访问检查机制的示例性本机表示中抽象安全策略以及
将其变换到该表示的示例系统的框图。
详细描述
在以下描述和附图中描述了某些具体细节,以提供对本发明的各个实施例 的全面理解.通常与计算和软件技术相关联的某些公知细节将不在以下公开中 描述,以避免不必要地使本发明的各实施例晦涩难懂。此外,相关领域的普通 技术人员可以理解,他们可以无需以下描述的细节中的一个或多个而实现本发 明的其它实施例。最后,尽管在以下公开中参考了步骤和序列来描述各个方法, 但是如此的描述是为了提供本发明的实施例的清楚实现,且步骤以及步骤序列 不应被认为是实现本发明所必需的。
示例计算环境
参考图l,示出了表示适用于实现上述过程的示例性计算设备的框图。例 如,实现用于从访问检查机制的本机表示中抽象安全策略以及将其变换到该表 示的过程和方法的计算机可执行指令可以驻留在如图1中所示的这样一个计算 环境中和/或在该计算环境中执行。计算系统环境220只是合适计算环境的一 个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该把计算 环境220解释为对示例性操作环境220中示出的任一组件或其组合有任何依赖 性或要求。例如,计算机游戏控制台也可包括诸如以下描述的用于实现上述过 程的那些项目。
本发明的各方面可用于众多其它通用或专用计算系统环境或配置。适合在 本发明中使用的公知的计算系统、环境和/或配置的示例包括,但不限于,个人 计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的 系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包含 上述系统或设备中的任一个的分布式计算机环境等。
本发明的各方面可在诸如程序模块等由计算机执行的计算机可执行指令 的一般上下文中描述。 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明的各方面也可以在 其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。 在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远 程计算机存储介质中。
用于实现本发明各方面的示例性系统包括计算机241形式的通用计算设 备。计算机241的组件可以包括,但不限于,处理单元259、系统存储器222 和将包括系统存储器在内的各种系统组件耦合至处理单元259的系统总线 221。系统总线221可以是几种类型的总线结构中的任何一种,包括存储器总 线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总 线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总 线、微通道体系结构(MCA)总线、增强型ISA (EISA)总线、视频电子技 术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互 连(PCI)总线及其后继标准一PCI Express标准。
计算机241通常包括各种计算机可读介质。计算机可读介质可以是能由计 算机241访问的任何可用介质,而且包含易失性、非易失性介质以及可移动和 不可移动介质。作为示例而非局限,计算机可读介质可以包括计算机存储介质 和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、 程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移 动和不可移动介质。计算机存储介质包括,但不限于,RAM、 ROM、 EEPROM、 闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、 磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以 由计算机241访问的任何其它介质。通信介质通常以诸如载波或其它传输机制 等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据, 并包括任何信息传递介质。术语"已调制数据信号"指的是其一个或多个特征 以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介 质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、 红外线和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之 内。系统存储器222包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM) 223和随机存取存储器(RAM) 260。基本输入/输出系 统224 (BIOS)包含有助于诸如启动时在计算机241中的元件之间传递信息的 基本例程,它通常被存储在ROM223中。RAM260通常包含处理单元259可 以立即访问和/或目前正在其上操作的数据和域程序模块。作为示例而非局限, 图l示出了操作系统225、应用程序226、其它程序模块227和程序数据228。
计算机241也可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图l示出了对不可移动、非易失性磁介质进行读写的硬 盘驱动器238,对可移动、非易失性磁盘254进行读写的磁盘驱动器239,以 及对诸如CD ROM或其它光学介质等可移动、非易失性光盘253进行读写的 光盘驱动器240。可以在示例性操作环境中使用的其它可移动/不可移动、易失 性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、 数字录像带、固态RAM、固态ROM等等。硬盘驱动器238通常由诸如接口 234等不可移动存储器接口连接至系统总线221,磁盘驱动器239和光盘驱动 器240通常由诸如接口 235等可移动存储器接口连接至系统总线221。
以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算 机241提供对计算机可读指令、数据结构、程序模块和其它数据的存储。例如, 在图1中,示出硬盘驱动器238储存操作系统258、应用程序257、其它程序 模块256和程序数据255。注意,这些组件可以与操作系统225、应用程序226、 其它程序模块227和程序数据228相同,也可以与它们不同。操作系统258、 应用程序257、其它程序模块256和程序数据255在这里被标注了不同的标号 是为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘251和 定点设备252 (通常指鼠标、跟踪球或触摸垫)向计算机241输入命令和信息。 其它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、 扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口 236连 接至处理单元259,但也可以由其它接口或总线结构,诸如并行端口、游戏端 口或通用串行总线(USB)连接。监视器242或其它类型的显示设备也经由诸 如非安全或安全视频接口 232等接口连接至系统总线221。示例性安全视频接 口标准是高清晰度多媒体接口 (HDMI)标准。除监视器以外,计算机也可以包括诸如扬声器244和打印机243等其它外围输出设备,其可以通过输出外围 接口 233连接。
计算机241可使用至一个或多个远程计算机,如远程计算机246的逻辑连 接在网络化环境中操作。远程计算机246可以是个人计算机、服务器、路由器、 网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机241 描述的许多或所有元件,尽管在图1中只示出存储器存储设备247。图l中所 示逻辑连接包括局域网(LAN) 245和广域网(WAN) 249,但也可以包括其 它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中 是常见的。
当在LAN联网环境中使用时,计算机241通过网络接口或适配器237连 接至LAN245。当在WAN联网环境中使用时,计算机241通常包括调制解调 器250或用于通过诸如因特网等WAN 249建立通信的其它装置。调制解调器 250可以是内置或外置的,它可以通过用户输入接口 236或其它适当的机制连 接至系统总线221。在网络化环境中,相对于计算机241所描述的程序模块或 其部分可被储存在远程存储器存储设备中。作为示例而非局限,图l示出了远 程应用程序248驻留在存储器设备247上。可以理解,所示的网络连接是示例 性的,且可以使用在计算机之间建立通信链路的其它手段。
应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时以两者 的组合来实现。因此,本发明的方法和装置,或其某些方面或部分,可以采用 包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形 介质中的程序代码(即,指令)的形式,其中,当程序代码被加载至诸如计算 机等机器并由其执行时,该机器成为用于实施本发明的装置。在程序代码在可 编程计算机上执行的情况下,计算设备通常包括处理器、该处理器可读的存储
介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、 以及至少一个输出设备。 一个或多个程序可以例如,通过使用API、可重用控 件等实现或利用结合本发明描述的过程。这样的程序优选地用高级过程语言或 面向对象编程语言来实现,以与计算机系统通信。然而,如果需要,程序可以 用汇编语言或机器语言来实现。在任何情形中,语言可以是编译的或解释的语 言,且与硬件实现相结合。尽管示例性实施例可涉及在一个或多个独立计算机系统的上下文中利 用本发明的各方面,但本发明不受此限制,而是可以结合任何计算环境, 诸如网络或分布式计算环境来实现。而且,本发明的各方面可以在多个处 理芯片或设备中实现或跨多个处理芯片或设备实现,且存储可以类似地跨 多个设备来实现。这样的设备可以包括,个人计算机、网络服务器、手持 式设备、超级计算机或集成在诸如汽车和飞机等其它系统中的计算机。
考虑到可以根据图1中提供的通用架构构建的各种计算环境,此处提 供的系统和方法不能被解释为以任何方式限于某一特定的计算体系结构。 相反,本发明不应限于任何单个实施例,而是应该根据所附权利要求书的 广度和范围来解释。
接着参考图2,示出了其中可实现执行上述过程的计算机化过程的示例性 网络化计算环境。例如,并行计算可以是这样的网络化环境的一部分,图2的 网络上的各个客户机使用和/或实现从访问检査机制的本机表示中抽象安全策 略以及将其变换到该表示。本领域的普通技术人员可以理解,网络可以连接任
何计算机或其它客户机或服务器设备,或处于分布式计算环境中。就此,含有 任何数量的处理、存储器或存储单元,以及同时发生的任何数量的应用程序和 进程的任何计算机系统或环境被认为适用于本发明所提供的系统和方法。
分布式计算通过计算设备和系统之间的交换提供了计算机资源和服务的 共享。这些资源和服务包括信息的交换、文件的高速缓存存储和磁盘存储。分 布式计算利用网络连接,允许客户机利用它们的集体力量来使整个企业受益。 就此,各种设备可以含有其中蕴含此处所描述各进程的应用程序、对象或资源。
图2提供了示例性的网络化或分布式计算环境的示意图。该环境包括计算 设备271、 272、 276和277,以及对象273、 274和275,还有数据库278。这 些实体271、 272、 273、 274、 275、 276、 277和278中的每一个可以包括或使 用程序、方法、数据存储、可编程逻辑等。实体271、 272、 273、 274、 275、 276、 277和278可以横跨诸如PDA、音频/视频设备、MP3播放器、个人计算 机等的相同或不同设备的各部分。每一实体271、 272、 273、 274、 275、 276、 277和278可以经由通信网络270与另一实体271、 272、 273、 274、 275、 276、277和278通信。就此,任何实体可以负责维护和更新数据库278或其它存储 元件。
网络270本身可以包括向图2的系统提供服务的其它计算实体,且其本身 可以表示多个互连的网络。根据本发明的一方面,每一实体271、 272、 273、 274、 275、 276、 277和278可以包括可使用API或其它对象、软件、固件和/ 或硬件来请求其它实体271、 272、 273、 274、 275、 276、 277和278中的一个 或多个的服务的离散的功能性程序模块。
也可以理解,诸如275等对象可以主存于另一计算设备276上。因此,尽
管所示的物理环境可以将所连接的设备示为计算机,但是这样的图示仅是示例 性的,并且该物理环境可以被替换地描述或描绘成含有诸如PDA、电视机、 MP3播放器等的各种数字设备,以及诸如接口、 COM对象等软件对象。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统 可以由有线或无线系统、本地网络或广泛分布的网络连接在一起。目前,许多 网络被耦合至因特网,后者从而为广泛分布的计算提供基础架构并涵盖多个不 同的网络。无论是否被耦合至因特网,任何这样的基础架构都可以用于本发明 所提供的系统和方法。
网络基础架构可以允许诸如客户机/服务器、对等或混合体系结构等各种 网络拓扑结构。"客户机"是使用与它无关的另一类或组的服务的一个类或组 中的成员。在计算中,客户机是进程,即大致上是请求由另一程序提供的服务 的一组指令或任务。客户机进程利用所请求的服务,而不必"知道"有关其它 程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其在网络化 系统中,客户机通常是访问由例如服务器等另一计算机提供的共享的网络资源 的计算机。在图2的示例中,取决于情境,任何实体271、 272、 273、 274、 275、 276、 277和278可以被认为是客户机、服务器或两者。
服务器通常,但不必须是可通过诸如因特网等远程或本地网络访问的远程 计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在 第二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并 允许多个客户机利用服务器的信息收集能力。任何软件对象可以跨多个计算设
备或对象分布。客户机和服务器利用由协议层提供的功能来彼此通信。例如,超文本传输
协议(HTTP)是结合万维网(WWW),即"Web"使用的常见协议。通常, 诸如网际协议(IP)地址或诸如统一资源定位器(URL)等其它引用的计算机 网络地址可以用于彼此标识服务器或客户计算机。网络地址可以被称为URL 地址。可以通过通信介质来提供通信,例如客户机和服务器可以通过TCP/IP 连接来彼此耦合以进行大容量通信。
考虑到可以根据图2中提供的通用架构构建的各种计算环境,以及在诸如 图2的网络环境中的计算中可能发生的进一步变化,此处提供的系统和方法不 能被解释为以任何方式限于某一特定的计算体系结构或操作系统。相反,本发 明不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解 释。
抽象和访问检査机制
从软件开发进行类推,随着包含在高级语言中的抽象的出现,软件管理变 得(相对地)更加简单。甚至想象单独用像汇编等贴近硬件的语言来开发大规 模软件项目都是困难的。大部分当代程序是不太考虑底层执行环境来编写的, 并依赖编译器来保存语义。诸如编译器优化等低级代码的各种变换可以使得取 回原始高级意图变得不可能。如此,程序的意义存在于独立于其执行环境的模 型中。人们可以查询并理解程序所需要的许多方面(当然不是以图灵机完全 (Turing-complete)语言所编写的程序中的所有方面,)而不必实际地运行它。
安全策略保证类似的处理。当前,安全策略表示机制大部分是独立的数据 片断,并且其可表达性都是特别的。即使简单的逻辑模型、语言或抽象都很难 管理意图。安全策略不需要编程语言的表达能力;只需要足够的允许策略语句 复合的语义。主要目标是策略的意义应当独立于访问检査机制可分辨。就此看 来,此处所描述的安全策略管理证明对于安全策略和访问检查机制之间的独立 性是有用的。为此,使用允许表达访问控制中的普遍的各种形式的语句和断言 的语言并提供用该语言中的表达进行推论的能力,即,执行查询、逻辑计算和 导出证据。
该语言是表达性策略模型或策略语言,独立于访问检查机制且是足够丰富 以捕获意义。注意,具有以下性质的任何语言都可能是合适的。可表达性
a. 指定将主体映射到资源和将主体映射到属性或特性,包括特性值的
断言的能力
b. 指定谁做出这些断言的能力
c. 指定在正在做出其它(或类似)断言的其它主体上判定的断言的能 力。其范围可以从非常具体到非常概括。
d. 使用这些可表达性原语构造更高级的策略构造的能力。即,原语并 非是过度限制其可表达性范围。
声明性语义和单调性
a. 组成和组合断言并导出同一组结果而不管其被处理的顺序是可能的。
b. 用从策略语句构造的"证据"来证明结果是可能的。
c. 添加新的断言或规则而不从现有断言中推出相互抵触的结论是可 能的。可以准许撤销规则。
计算易处理性
a. 以高效的方式计算声明性断言的结果是可能的。
b. 分析和查询审计线索是高效的。
标识后端访问检查机制(或该后端的某个所需子集)的原语。即,由现有 访问检査机制使用来作出允许访问的决定的数据。这些原语的示例是角色定义 和角色分配(授权管理器(AzMan)和ASP.NET);权限管理许可证(RMS、 IPP) ; ACL (文件共享、防火墙等)。
这些原语随后在策略语言中被表征为判定(predicate)。例如,ACL中的 访问控制条目(ACE)可以对应于判定"chuckrcanreadfoo.txt (chuckr可以阅 读foo.txt)"。对于AzMan应用程序,另一示例可以是"chuckr is in the role developer (chuckr的角色是开发者)"。取决于不同的访问检査机制,可以有 许多这样的原语。这些原语被称为许可。
随后计算所得的声明性策略的许可。取决于适用性的范围,出于效率的目
的,可以使用试探方法来标识需要考虑的策略的子集以供计算结果许可,但本发明并未谈到这点。假定每次该策略被无效时都重新创建许可。所得许可被用 来配置适当的本机访问检查机制。访问检査在做出访问请求时使用这些配置。 在进行访问时创建审计事件,且这些与在策略模型抽象中所表示的策略相 协调,从而得到策略驱动的审计信息。另外,可在该策略上独立于访问检査机 制做出查询以充分理解该策略允许什么访问以及为何允许这些访问。 示例场景
以下示例示出意图与实现的分离以及在低级访问检査机制中配置该意图 的意义。
以下示例描述在具有非常有限的表达性能力的系统上对自由支配访问控 制系统的建模。具体地,访问检查机制可以表示的唯一的信息是特定主体可以 在特定资源上执行什么动作。注意,出于该示例的目的,假定其甚至缺少记录 谁是所有者的能力。以上特性的语句被认为是由系统所发出的。系统本身可以 用密钥来标识或建模。
接着参考图3,所示是显示使用下面的示例安全策略计算许可表示的框图。
斜体的语句是不能在访问控制系统中表达的,但可在该策略模型中表示的
语句。这些语句反映策略301背后的意图。非斜体的语句是可在访问控制系统 中表达的,且是该实现可以处理的语句。这些是"许可"303。
目标是从策略语句(即,斜体语句301)中推断出可在访问控制系统中表 达什么(即,非斜体语句303)。
以下策略规则301捕获上述行为
勿菜系统说主体"0 " ^资瀕"Z " 齐K/7菜主沐"O"说主体^""对资,"Z"遂疗动《7" 姬,系统说主伴^"W资,"z"遂疗动/f "r〃
假定已知以下信息305:
系统说尸故r ^/oo. W从上面看出,逻辑地推断出307以下许可303是可能的
系统说Ravi可以读取foo.txt 系统说John可以打印foo.txt
另外,所有者可以将其所有或部分能力委托给其选择的任何人。接着参考 图4,所示是显示使用关于委托的附加示例安全策略计算许可表示的框图。策 略301的以下语句401表示,在该示例中,Peter将其提供对foo.txt的读许可 的能力委托给Bob。
,/7菜5。6说主伴1" V以度攻/oo.加 剪,iW说主体柳鍵攻/oo.加
假定已知以下附加信息405:
逻辑地推断出307以下结果是可能的
Peter说Tom可以读取foo.txt 并随后逻辑地推断出307以下许可403: 系统说Tom可以读取foo.txt
接着参考图5,所示是将所得示例许可注入到访问检查机制的表示中的框 图。被注入501到访问检查机制的表示503中以实现安全策略301的是这些非 斜体的语句403、 303 (即,许可)。接着参考图6,示出提供从示例访问和审计事件所得的证据的框图。假定
Tom确实读取了 foo.txt601,且创建了对应的审计事件603。使用策略语句301 计算了 Tom被允许读取foo.txt的完整的原因605。
艮口,提供了从策略语句301本身构建的以下证据605。
Tom可以读取foo.txt是因为
系统说Tom可以读取foo.txt是因为 系统说Peter是foo.txt的所有者 并且Peter说Tom可以读取foo.txt是因为 Bob说Tom可以读取foo.txt。
以上答案完全独立于本机访问检査机制503中的配置。其是何事为什么发 生的真实的策略审计线索并是从策略语句301本身系统地计算的。当然可以用 诸如时间戳、做出语句的位置等各类额外信息来扩充这些审计线索和策略语 句。
接着参考图7,所示是实现从访问检査机制的本机表示中抽象安全策略以 及将其变换到该表示的示例系统的框图。注意,图7示出一个可能的表现,且 提供相同或类似结果的其它表现也是可能的并已被构想。
通过合适的策略驱动的用户界面703向用户展示支持委托的基于角色的 访问控制(RBAC)机制701。配置策略的用户只査看其被允许査看或配置的 策略的那些方面。 一旦这一策略被配置后,则在作为系统中心的核心策略模型 705中捕获其意义。
核心策略模型705被用于以下目的
用作所有策略的共同表示以支持可能已通过不同的视图配置的策略的 统一查询。
驱动用户体验和用户视图(例如,管理员将其特权委托给助手的结果是 将导致该助手的用户体验改变为反映其新的管理性特权)。
允许以适于访问检查机制(例如,ACL和AzMan角色)707的格式计 算许可表示。 用所展示的审计模型711的策略来合理化表现为审计事件709的访问以 确定该策略是如何接纳该访问的。
具有大部分以上特征的系统有效地向例如AzMan角色和ACL添加细粒度 委托能力而不改变任何低级访问检査机制713。
总之,从访问检査机制中抽象访问控制策略允许比访问检査机制所准许的 更丰富的策略表达(使用具有语义的声明性模型或命令性(impertitive)模型)。 关于诸如谁访问什么资源等任何访问査询的证据类原因是独立于提供访问的 访问检査机制从策略语句本身来构建的。"如果一怎么办(what-if)"能力査询 策略以理解改变该策略的影响而不用实际地改变访问检査配置。许可被跨多个 访问检查机制地配置,作为从单组策略语句计算逻辑结果的结果。对访问进行 审计并向访问提供基于策略的原因,且标识与策略不一致的访问尝试。这可以 帮助解决策略过度宽松的问题,在此情况下,审计可以帮助发现策略中的漏洞。 其还创建允许调查者(公司的和官方的两者)确定谁将其访问用于恶意目的的 法庭线索。
此处所述的各种系统、方法和技术可使用硬件或软件或两者的适当组合来 实现。由此,本发明的方法和装置或其特定方面或部分可采取包含在诸如软盘、 CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码 (即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执 行时,该机器成为用于实现本发明的装置。在程序代码在可编程计算机上执行 的情形中,计算机一般包括处理器、该处理器可读的存储介质(包括易失性和 非易失性的存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。 一个或多个程序优选地以高级过程或面向对象编程语言实现以与计算机系统 通信。然而,如果需要,程序可以用汇编语言或机器语言来实现。在任何情形 中,语言可以是编译的或解释的语言,且与硬件实现相结合。
本发明的方法和装置也可以具体化为通过某种传输介质,比如通过电线或 电缆、光纤或任何其它形式的传输来传输的程序代码的形式,其中,当程序代 码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机、录像机 等机器接收、加载并执行时,该机器成为用于实现本发明的装置。当在通用处理器上实现时,该程序代码与处理器相结合以提供一种用于执行本发明的索引 功能的独特装置。
尽管已结合各个附图的优选实施方式对本发明进行了描述,但是可以理 解,可以使用其它类似的实施方式或可以对所描述的实施方式进行修改或添加 以实现本发明的相同功能而不背离本发明。此外,应当强调,此处可构想包括 手持式设备操作系统以及其它专用硬件/软件接口系统的各种计算机平台,尤其 当无线联网设备的数量持续增长时。因此,本发明不应局限于任何单一实施方 式,而应根据所附权利要求书的广度和范围来解释。
最后,此处所描述的各公开实施例可适用于在其它处理器体系结构、 基于计算机的系统、或系统虚拟化中使用,且在此所做的公开明确地预期 了这些实施例,并且因此,本发明不应限于此处所描述的具体实施例而应 被更广泛地解释。
权利要求
1. 一种用于实现计算机资源访问控制策略的方法,包括从访问检查机制中抽象访问控制策略,所述访问检查机制具有与所述访问控制策略相等的或更受限的策略表达能力。
2. 如权利要求1所述的方法,其特征在于,还包括 从访问控制策略语句计算逻辑结果;以及基于所计算的逻辑结果,跨至少一个访问检査机制来配置许可。
3. 如权利要求2所述的方法,其特征在于,所述许可被跨多个访问检査机 制配置。
4. 如权利要求3所述的方法,其特征在于,还包括 接收关于对资源的访问的查询;提供所述查询的结果以及根据所述访问控制策略为何提供所述特定结果 的原因,所述原因是独立于所述访问检查机制而从所述访问控制策略本身构建 的。
5. 如权利要求4所述的方法,其特征在于,还包括 查询所述访问控制策略以确定改变所述访问控制策略的影响;以及 提供详述所述改变所述访问控制策略的影响的信息而不改变所述访问检査配置。
6. 如权利要求5所述的方法,其特征在于,还包括 审计资源访问;以及提供根据所述访问控制策略为何允许特定的经审计的访问的原因,所述原 因是独立于所述访问检查机制而从所述访问控制策略本身构建的。
7. —种其上具有用于执行如权利要求1所述的步骤的指令的计算机可读 介质。
8. —种其上具有用于执行如权利要求2所述的步骤的指令的计算机可读 介质。
9. 一种其上具有用于执行如权利要求3所述的步骤的指令的计算机可读 介质。
10. —种其上具有用于执行如权利要求4所述的步骤的指令的计算机可读介质。
11. 一种其上具有用于执行如权利要求5所述的步骤的指令的计算机可 读介质。
12. —种其上具有用于执行如权利要求6所述的步骤的指令的计算机可 读介质。
13. —种用于实现计算机资源访问控制策略的系统,包括 用于从访问检查机制中抽象访问控制策略的装置,所述访问检查机制具有与所述访问控制策略相等的或更受限的策略表达能力。
14. 如权利要求13所述的系统,其特征在于,还包括用于从访问控制策略语句计算逻辑结果的装置;以及 用于基于所计算的逻辑结果跨至少一个访问检查机制来配置许可的装置。
15. 如权利要求14所述的系统,其特征在于,所述许可被跨多个访问 检查机制配置。
16. 如权利要求15所述的系统,其特征在于,还包括 用于接收关于对资源的访问的査询的装置;用于提供所述査询的结果以及根据所述访问控制策略为何提供所述特定 结果的原因的装置,所述原因是独立于所述访问检査机制而从所述访问控制策 略本身构建的。
17. 如权利要求16所述的系统,其特征在于,还包括 用于查询所述访问控制策略以确定改变所述访问控制策略的影响的装置;以及用于提供详述所述改变所述访问控制策略的影响的信息而不改变所述访 问检查配置的装置。
18. 如权利要求5所述的系统,其特征在于,还包括 用于审计资源访问的装置;以及用于提供根据所述访问控制策略为何允许特定的经审计的访问的原因的 装置,所述原因是独立于所述访问检査机制而从所述访问控制策略本身构建 的。
19. 一种用于实现计算机资源访问安全策略的系统,包括 用于审计资源访问的装置;以及用于提供原因根据所述访问控制策略为何允许特定的经审计的访问的原 因的装置,所述原因是独立于具有比所述访问控制策略更受限的策略表达能力 的访问检查机制而从所述访问控制策略本身构建的。
20. 如权利要求19所述的系统,其特征在于,还包括用于独立于所述访问检查机制,基于所述访问控制策略本身来标识与 所述访问安全策略不一致的资源访问尝试的装置。
全文摘要
从访问检查机制中抽象访问控制策略允许比访问检查机制所准许的更丰富的使用具有语义的声明性模型的策略表达。此外,抽象访问控制策略允许跨多个访问检查机制的统一的策略表达。提供了关于诸如谁访问什么资源等任何访问查询的、独立于提供访问的访问检查机制从策略语句本身来构建的证据类原因。对访问进行审计并基于访问控制策略提供了关于访问的基于策略的原因。
文档编号H04L9/32GK101461177SQ200780020231
公开日2009年6月17日 申请日期2007年5月31日 优先权日2006年6月2日
发明者C·F·罗斯三世, D·M·麦克弗森, M·帕拉玛斯万姆, P·J·里奇, R·N·潘德雅, R·P·佩鲁玛, S·纳特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1