CN1829949A - 用于将多个安全组表示为单个数据对象的系统和方法 - Google Patents

用于将多个安全组表示为单个数据对象的系统和方法 Download PDF

Info

Publication number
CN1829949A
CN1829949A CNA2004800219009A CN200480021900A CN1829949A CN 1829949 A CN1829949 A CN 1829949A CN A2004800219009 A CNA2004800219009 A CN A2004800219009A CN 200480021900 A CN200480021900 A CN 200480021900A CN 1829949 A CN1829949 A CN 1829949A
Authority
CN
China
Prior art keywords
group
value
mask
group identifier
mask value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800219009A
Other languages
English (en)
Other versions
CN100361037C (zh
Inventor
朱利安尼·F.·霍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1829949A publication Critical patent/CN1829949A/zh
Application granted granted Critical
Publication of CN100361037C publication Critical patent/CN100361037C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Alarm Systems (AREA)

Abstract

本发明提供一种用于将多个安全组表示为单个数据对象的系统和方法。通过该系统和方法,创建由组集值和掩码值组成的复合组对象。复合组对象通过组集值表示多个组。掩码值用来施加到在认证处理期间接收的组标识符,以生成与组集值相比较的值,从而确定组标识符是否是复合组的一部分。例如,在授权处理的第一步骤中,将在授权请求中接收的组标识符与复合组数据对象的掩码值进行按位求与。在第二步骤中,将掩蔽后的来自所接收请求的组标识符与复合组对象的组集值相比较。该比较可以采取这样的形式,即掩蔽组集值,并且将掩蔽后的组集值与掩蔽后的来自所接收请求的组标识符相比较。如果这两个值相匹配,则准予访问。如果这两个值不匹配,则拒绝访问。

Description

用于将多个安全组表示 为单个数据对象的系统和方法
技术领域
本发明涉及一种用于将多个安全组表示为单个数据对象的系统和方法。更具体地说,本发明涉及一种用于使用复合组值(complex groupvalue)和掩码值(mask value)来表示和认证多个安全组的机制。
背景技术
在大多数大规模计算系统中,用户和资源典型地以组安排,以便管理系统安全。例如,可以提供访问控制列表,以便管理由计算系统的其它资源和/或用户对资源的访问。访问控制列表是与文件、目录或其它资源相关联的一组数据,其定义用户、组、处理(process)或设备所具有以便访问它的权限。例如,可以为“管理员”建立组,并且可以将用户的标识符添加到该组,以指定该用户为“管理员”。如果资源的访问控制列表指示了只能向“管理员”提供对资源的访问,则其标识符属于“管理员”组的用户将能够访问该资源。
很多大型计算系统的一个问题是计算机系统中的组标识符的激增。当用户或资源请求对另一个资源的访问时,平均起来,认证必须遍历整个组列表的一半,以识别与请求访问的用户或资源相关联的组,然后确定是否存在访问权限。也就是,随着在计算机系统中所使用的组数增加,执行认证处理所需的时间也增加。这导致了计算机系统的性能的降低。
这样,具有一种用于以确定是否准许对资源的访问无需遍历较大的组标识符列表的方式表示用户/资源组的系统和方法将是有利的。
发明内容
本发明提供了一种用于将多个安全组表示为单个数据对象的系统和方法。通过本发明的系统和方法,创建由组集值和掩码值组成的复合组对象。复合组对象通过组集值表示多个组。掩码值用来施加到在认证处理期间接收的组标识符,以生成与组集值相比较的值,从而确定组标识符是否是复合组的一部分。
例如,本发明的授权处理是两步骤操作。在该处理的第一步骤中,将在授权请求中接收的组标识符与复合组的掩码值进行按位求与。在第二步骤中,将掩蔽(mask)后的来自所接收请求的组标识符与复合组对象的组集值相比较。例如,该比较可以采取这样的形式,即掩蔽组集值,并且将掩蔽后的组集值与掩蔽后的来自所接收请求的组标识符相比较。如果这两个值相匹配,则准予访问。如果这两个值不匹配,则拒绝访问。
这样,通过本发明,可以使用相同的组集值来表示多个不同组。可以向多个资源提供不同的掩码值,以便识别组集值中的哪些组被授权访问相关资源。结果,可以向多个资源提供复合组对象,其全都具有相同的组集值,但是可以针对它们的特定目的而具有不同的掩码值。
通过本发明,授权对给定资源的访问所需的处理量保持相同,而与组数无关。可以通过增加组集值和掩码值中的位数来增加另外的组。然而,授权处理将总是由这样的两步骤处理组成,即对所接收的组标识符进行掩蔽,并且将掩蔽后的组标识符与资源的复合组对象的组集值相比较。换句话说,由计算系统维护的“组”结构的大小不会显著地影响本发明的授权处理的性能。
本发明的这些和其它特性和优点将在下面对优选实施例的详细描述中加以描述,或者根据下面详细描述,它们对于本领域的普通技术人员而言将会变得清楚。
附图说明
被认为是本发明特征的新颖特性在所附权利要求中加以阐述。然而,通过参考下面结合附图阅读的对说明性实施例的详细描述,将最佳地理解本发明本身以及优选使用方式及其另外的目的和优点,其中:
图1是可以实现本发明的分布式数据处理环境的示例图;
图2是可以实现本发明的服务器计算设备的示例图;
图3是可以实现本发明的客户端或独立计算设备的示例图;
图4是根据本发明实施例的复合组数据对象的示例图;
图5是示出根据本发明示例性实施例的数据流的示例图;
图6是可以与本发明的实施例一起使用的组集值和各种掩码值的示例图;以及
图7是概述本发明一个实施例的示例性操作的流程图。
具体实施方式
本发明提供了一种用于基于表示多个用户/资源组的单个数据对象而认证资源访问请求的机制。本发明优选地在分布式数据处理环境中实现,其中存在可以通过一个或多个网络访问该分布式数据处理环境的资源的多个用户/资源组。然而,本发明也可以在独立计算设备中实现。因此,提供图1-3中的下图是为了提供用于随后描述本发明的操作的上下文。
现在参照附图,图1示出了可以实现本发明的数据处理系统的网络的图示。网络数据处理系统100是可以实现本发明的计算机网络。网络数据处理系统100包含网络102,其是用来在网络数据处理系统100内连接在一起的各个设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤缆线的连接。
在所示例子中,服务器104与存储单元106一起连接到网络102。另外,客户端108、110和112连接到网络102。这些客户端108、110和112可以例如是个人计算机或网络计算机。在所示例子中,服务器104向客户端108-112提供数据,例如引导文件、操作系统映象、以及应用程序。客户端108、110和112是服务器104的客户端。网络数据处理系统100可以包括未示出的另外服务器、客户端、以及其它设备。在所示例子中,网络数据处理系统100是因特网,其中网络102表示使用传输控制协议/网际协议(TCP/IP)协议集以便相互通信的网络和网关的全球集合。因特网的心脏处是主节点或主机计算机之间的高速数据通信线的中枢,其由成千上万的传送数据和消息的商业、政府、教育和其它计算机系统组成。当然,网络数据处理系统100也可以被实现为多种不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而不作为本发明的架构限制。
参照图2,示出了根据本发明优选实施例的可以作为服务器如图1中的服务器104而实现的数据处理系统的方框图。数据处理系统200可以是对称多处理器(SMP)系统,其包括连接到系统总线206的多个处理器202和204。可选地,可以采用单处理器系统。另外,连接到系统总线206的是存储器控制器/高速缓存208,其向本地存储器209提供接口。I/O总线桥210连接到系统总线206,并且向I/O总线212提供接口。存储器控制器/高速缓存208和I/O总线桥210可以如图所示集成在一起。
连接到I/O总线212的外围组件互连(PCI)总线桥214向PCI本地总线216提供接口。多个调制解调器可以连接到PCI本地总线216。典型的PCI总线实现将支持四个PCI扩展槽或内插连接器。与图1中的客户端108-112的通信链路可以通过调制解调器218和网络适配器220来提供,其中调制解调器218和网络适配器220通过内插连接器连接到PCI本地总线216。
另外的PCI总线桥222和214为另外的PCI本地总线226和228提供接口,由此可以支持另外的调制解调器或网络适配器。以这种方式,数据处理系统200允许连接到多个网络计算机。存储器映射图形适配器230和硬盘232也可以如图所示直接或间接地连接到I/O总线212。
本领域的普通技术人员应当理解,图2所示的硬件可以变化。例如,作为对所示硬件的补充或替代,也可以使用其它外围设备如光盘驱动器等。所示例子不旨在暗含对本发明的架构限制。
图2所示的数据处理系统可以例如是运行高级交互执行(AIX)操作系统或LINUX操作系统的IBM eServer pSeries系统,其是国际商业机器公司、阿芒克、纽约的产品。
现在参照图3,示出了可以实现本发明的数据处理系统的方框图。数据处理系统300可以是如图1所示的客户端计算机,或者可以是独立计算设备。数据处理系统300采用外围组件互连(PCI)本地总线架构。虽然所示例子采用PCI总线,但是也可以使用其它总线架构如加速图形端口(AGP)和工业标准架构(ISA)。处理器302和主存储器304通过PCI桥308连接到PCI本地总线306。PCI桥308还可以包括用于处理器302的集成存储器控制器和高速缓冲存储器。另外的与PCI本地总线306的连接可以通过直接组件互连或通过内插板来进行。在所示例子中,局域网(LAN)适配器310、SCSI主机总线适配器312、以及扩展总线接口314通过直接组件互连而连接到PCI本地总线306。相反,音频适配器316、图形适配器318和音频/视频适配器319通过插入到扩展槽中的内插板而连接到PCI本地总线306。扩展总线接口314为键盘和鼠标适配器320、调制解调器322和另外的存储器324提供连接。小型计算机系统接口(SCSI)主机总线适配器312为硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330提供连接。典型的PCI本地总线实现将支持三个或四个PCI扩展槽或内插连接器。
操作系统运行在处理器302上,并且用来协调图3的数据处理系统300内的各个组件,以及提供对其的控制。操作系统可以是可购得的操作系统,例如可从微软公司获得的Windows XP。面向对象的编程系统如Java可以结合操作系统运行,并且提供从在数据处理系统300上执行的Java程序或应用程序到操作系统的调用。“Java”是太阳微系统公司的商标。操作系统、面向对象的编程系统以及应用程序或程序的指令位于存储设备如硬盘驱动器326上,并且可以被装载到主存储器304中,以便由处理器302执行。
本领域的普通技术人员应当理解,图3中的硬件可以根据实现而变化。作为图3所示的硬件的补充或替代,可以使用其它内部硬件或外围设备如快闪只读存储器(ROM)、等效非易失性存储器或光盘驱动器等。另外,本发明的处理可被应用于多处理器数据处理系统。
作为另一个例子,数据处理系统300可以是被配置成是可引导的而不依赖于某种网络通信接口的独立系统。作为另一个例子,数据处理系统300可以是个人数字助理(PDA)设备,其配置有ROM和/或快闪ROM,以便提供非易失性存储器来存储操作系统文件和/或用户生成的数据。
图3所示的例子和上述例子不旨在暗含架构限制。例如,除了采取PDA的形式之外,数据处理系统300也可以是笔记本计算机或手持计算机。数据处理系统300也可以是信息站(kiosk)或万维网设备(webappliance)。
如上所述,本发明提供了一种用于将多个安全组表示为单个数据对象的系统和方法。该单个数据对象这里被称作“复合组”数据对象或者C组对象。C组对象被创建为包括组集值和掩码值的数据对象。组集值表示多个组,并且掩码值表示对于相关资源具有特定重要性的组集的子集。
例如,在分布式数据处理环境中,可能存在数百个用户/资源组,其全都由组集值表示。例如,企业可以被划分成区域地点、部门、工作组等。每个区域地点可以具有其自己的超组,每个区域地点的每个部门可以具有其自己的子组,每个区域地点的每个部门内的每个工作组可以具有其自己的子子组,等等。这些组中的每一个可以由单个组集值表示。可选地,可以使用少量的组集值来标识这些组的不同部分。
掩码值用来掩蔽(mask out)对于确定请求者是否被授权访问相关资源而不是必要的组标识符的位。也就是,例如,组标识符可以包括区域标识符、部门标识符、以及工作组标识符。如果资源要可用于特定区域机构(reginal office)的所有用户/资源,则该资源的掩码可以掩蔽与部门标识符和工作组标识符相关联的所有位。也就是,该掩码将允许区域标识符的全部或至少一些位通过,同时清除与部门标识符和工作组标识符相关联的位。
作为具体示例,假定组标识符是1010 0011 1001。上述掩码值可以采取1111 0000 0000的形式。该掩码值指示对相关资源的访问不依赖于部门或工作组,而是基于用户/资源是否隶属于特定区域机构。可以将掩码值施加到组标识符,以仅仅获得对于授权处理具有重要性的那些位。也就是,可以将掩码值与组标识符进行按位求与,以获得与请求者即提交了访问请求的用户/资源或处理相关联的掩蔽后的组标识符。在上面示例中,对掩码值与组标识符进行按位求与将产生1010 0000 0000的掩蔽后的组标识符。
比较所得到的掩蔽后的组标识符和与资源相关联的C组对象中的组集值。例如,该比较可以涉及以类似于上面关于请求者的组标识符讨论的方式用相关的掩码值掩蔽组集值,以获得掩蔽后的组集值。例如,假定组集值是1010 1001 1000。通过将掩码值施加到组集值,即对掩码值和组集值进行按位求与,产生下面的掩蔽后的组集值:1010 00000000。
然后,进行掩蔽后的组标识符与掩蔽后的组集值的比较,以确定它们是否匹配。如果它们匹配,则这意味着请求者是由组集值表示的组的一部分。结果,由于C组对象标识被授权访问资源的那些用户/资源组,并且请求者的组标识符是由C组对象表示的组中的一个或多个组的一部分,因此准予对资源的访问。
图4是根据本发明实施例的复合组数据对象的示例图。如图4所示,复合组数据对象或C组对象400包括组集值410和掩码值420。组集值410表示实现本发明的数据处理系统的多个用户/资源组。在相同数据处理系统内的多个不同C组对象400中可以利用相同的组集值410。
掩码值420提供了这样的机制,其用于标识必须由请求者的组标识符匹配以便成功地执行认证处理的组集值410的一部分。也就是,掩码值420提供了针对特定目的的C组对象400的可定制性。例如,两个不同的资源可以具有这样的C组对象,其具有相同的组集值410,但是具有不同的掩码值420。可以使用一个掩码值来指定仅仅管理员级用户能够访问相关资源,同时可以使用其它掩码值来指定与特定部门相关联的所有用户可以被给予对相关资源的访问。
如前所述,一旦针对特定资源或资源组创建了C组对象400,则由计算设备如服务器或独立计算机使用该C组对象400,以执行认证处理。该认证处理确定对访问特定资源的请求者是否与被准予访问特定资源的组相关联。
图5是示出根据本发明示例性实施例的数据流的示例图,其用于使用C组对象来授权对相关资源的访问。图5所示的特定示例性操作用于分布式数据处理环境。应当理解,通过独立计算设备,关于图5所述的处理完全可以在相同的计算设备内执行,而不脱离本发明的精神和范围。
如图5所示,客户端设备510的用户/资源或处理可以将访问请求传送到服务器520。访问请求将包括被请求访问的资源的标识符、以及请求者即在客户端设备510中生成了访问请求的用户/资源或处理的标识符。该请求者标识符被称作组标识符,这是因为它在分布式数据处理系统中标识用户/资源或处理所属的组。
一旦从客户端设备510接收到访问请求,服务器520就从存储设备530中检索在访问请求中指定的资源的复合组数据对象。复合组数据对象或C组对象包括组集值和掩码值。例如,通过对掩码值与组标识符和组集值进行按位求与,将掩码值施加到来自访问请求的组标识符和组集值。其结果是掩蔽后的组标识符和掩蔽后的组集值。然后,比较掩蔽后的组标识符和掩蔽后的组集值,以确定是否存在匹配。如果是,则准予对资源的访问。否则,如果不存在匹配,则拒绝访问。
如前所述,组集值表示多个组。可以使用掩码值来从该多个组中选择可以被提供对特定资源的访问的组子集。掩码值和组集值可以针对多个不同的组架构而实现,其中这些组架构例如包括分级组架构、组类别成员关系类型架构、或者分级和组类别成员关系类型架构的混合。在图6中提供了这些不同的架构如何由本发明的组集值和掩码值支持的例子。
图6是可以与本发明的实施例一起使用的组集值和各种掩码值的示例图。如图6所示,可以在复合组数据对象中提供组集值600。如下所述,该组集值600可以基于由实现本发明的分布式数据处理系统使用的组架构的类型而表示不同的含义。另外,如下所述,掩码值可以根据数据处理系统中的组架构而以多种不同方式组织。在所示特定例子中,在每个示例架构中将使用相同的组集值600,但是使用不同的掩码值,以便说明基于数据处理系统的组架构解释组集值的区别。
如图6所示,基本上存在三个不同的实现本发明的组架构:分级、组类别成员关系(或者被简称作“类别”)、以及混合式组架构。下面描述在这些架构的每一个中本发明的实现。
在分级组成员关系的情况下,组集值表示由复合组数据对象表示的“顶级”分级组。掩码值阐明了请求者必须与其相关联以便获得对资源的访问的特定分级组。该掩码值组织可以以“<分级结构>/全部”表示,其中“<分级结构>”是宽度为<n>位的字段内的特定位模式。“全部”是具有宽度<大小>-<n>位的“0”位串,其中“<大小>”是以位为单位的组集值的宽度。在所示例子中,<大小>是12位,<n>是8位,并且“全部”串的宽度为4位。
在图6所示的特定例子中,分级掩码被分解成表示特定数据处理系统的分级结构的各个级别的位串。例如,该分级结构的高级别由标识区域机构的“物理地点”610表示。“物理地点”610的子集是“部门”620,并且“部门”的子集是“工作组”630。这样,通过图6所示的分级掩码值,可以将物理地点、部门和工作组的各种组合指定为允许访问特定资源。
在所示例子中,掩码值是1101 1100 0000。物理地点610和部门620表示掩码值的“<分级结构>”,并且工作组630是“全部”0位串。这样,由610和620中的掩码值指定的请求者的组标识符的特定分级位必须匹配组集值600。
作为例子,假定请求者的组标识符是1011 1011 1111。图6中的分级掩码值指示了请求者必须与由位串610表示的一个或多个物理地点相关联,并且必须与由位串620表示的一个或多个部门相关联。在该特定例子中,请求者与其相关联的特定工作组对于确定请求是否被授权是无关紧要的。
当将请求者的组标识符值与掩码值进行求与时,其结果是10011000 0000。当将分级掩码值与组集值进行求与时,其结果是1001 10000000,因此存在匹配。这样,请求者将被提供对资源的访问。另一方面,如果请求者的组标识符是1101 1011 1111,则施加掩码的结果将是1101 1000 0000,并且将不存在匹配。从而,请求者将不被提供对资源的访问。
在组类别成员关系架构或者简称的“类别”架构的情况下,组集值可以表示“低级别”成员关系,其中掩码值表示请求者必须与其相关联以便获得对资源的访问的一个或多个类别。这种类型的掩码值可以以“全部/<类别>”表示,其中“全部”同样是0位串。在这种情况下,“全部”的宽度为<n>位,其中<n>是用来选择组集值的分级部分的掩码值的宽度。“<类别>”部分是具有宽度<大小>-<n>位的字段内的特定位模式,其中“<大小>”是以位为单位的组集值的宽度。
在图6所示的特定例子中,类别掩码被分解成表示特定物理地点640、部门650和工作组660的位串。在所示例子中,<大小>将同样为12位,<n>将是8位,因为这两个部分640和650用来表示特定分级结构,并且<类别>将是4位。如图所示,分级结构位在类别掩码中已被清除,使得它们对于确定对相关资源的访问请求是否被授权是无关紧要的。只有请求者与其相关联的特定工作组对于该授权处理是重要的,而与特定的物理地点或部门无关,即只有请求者的类别是重要的。
在所示例子中,被允许访问特定资源的请求者仅仅是与由工作组部分0101表示的工作组相关联的那些请求者。任何其它工作组如1101、1000、1111等将不能够访问特定资源。然而,例如,如果类别掩码值被修改为0000 0000 1101,则其组标识符的工作组部分具有01x1形式的任何工作组将能够访问相关资源,其中x是0或1。类似地,如果类别掩码值被修改为0000 0000 0101,则其组标识符的工作组部分具有x1x1形式的任何工作组将能够访问相关资源,而与工作组的特定物理地点或部门无关,其中x是0或1。
在混合式组架构的情况下,组集值被划分为多个位字段。在所示例子中,组集值被划分成表示特定数据库的字段670、表示特定部门的字段680、以及表示特定任务的字段690。例如,每个字段具有其自己的宽度<i>、<j>和<k>。在所示例子中,<i>、<j>和<k>中的每一个的宽度为4位,然而,在其它实现中,这些宽度中的每一个可以相互不同。这些字段相互之间的依赖性或独立性是实现特定的,然而,依赖性或独立性的任何措施可以由该混合式架构表示。
例如,如图6所示,混合掩码值具有值1101 0000 1111。该掩码值意味着对相关资源的访问依赖于数据库和正被执行的特定任务。请求者的特定部门对于对资源的访问的授权是不重要的。结果,其组标识符具有以下形式10x1 xxxx 0101的任何请求者将被准予对资源的访问,其中x是0或1。
这样,本发明允许由具有组集值和掩码值的单个复合组数据对象表示多个用户/资源/处理组。授权请求的处理涉及将复合组数据对象的掩码值施加到请求者的组标识符和复合组数据对象的组集值,以确定是否存在匹配。如果是,则向请求者准予对访问资源的授权。如果不存在匹配,则拒绝访问。由于施加掩码和确定匹配的处理是认证访问请求所需的唯一处理,因此特定数据处理系统的组架构的大小不会显著影响认证处理的性能。处理更复杂的组架构只需在组集值和掩码值的部分中提供附加位。
另外,本发明在处理各种组架构上提供了很大灵活性。例如,本发明可以用来定义诸如“会计”、“营销”、“研究”的数据库子组,并且定义诸如“备份”、“创建”等的数据库任务。然后,对于这些不同的子组和数据库任务,可以以混合且匹配的方式定义组集值。
例如,备份数据库的授权可以要求允许访问“备份”工具的组或复合组(其具有请求者在“备份”组中具有成员关系的请求者)、以及允许访问数据的组或复合组(其具有这样的要求,即请求者在与数据相关联的某组中具有成员关系)。在被表达为组和复合组的情况下,用户将被要求在传统组“备份”中、或者在具有“全部/备份”作为其值(也就是,除了选择“备份”功能性的那些位之外,起始全都为零的掩码值)的复合组中具有成员关系。另外,用户还将被要求在允许访问特定数据的组或复合组中具有成员关系。例如,由组“数据库/总部/会计”拥有的文件将要求具有该特定值的传统组、允许访问所有“数据库”(例如,数据库/全部)文件、所有“总部”文件(例如,全部/总部/全部)、所有“会计”文件(例如,全部/全部/会计)或者某其它组合如数据库/全部/会计的复合组。
图7是概述本发明一个实施例的示例性操作的流程图。应当理解,流程图中的每个块、以及流程图中的多个块的组合可以通过计算机程序指令实现。这些计算机程序指令可以被提供给处理器或其它可编程数据处理设备,以产生一种机器,使得在处理器或其它可编程数据处理设备上执行的指令创建用于实现在一个或多个流程图块中指定的功能的装置。这些计算机程序指令还可以被存储在计算机可读存储器或存储介质中,其可以引导处理器和其它可编程数据处理设备以特定方式工作,使得存储在计算机可读存储器或存储介质中的指令产生包括实现在一个或多个流程图块中指定的功能的指令装置的产品。
从而,流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的装置的组合、以及用于执行指定功能的程序指令装置。还应当理解,流程图中的每个块、以及流程图中的多个块的组合可以通过执行指定功能或步骤的基于专用硬件的计算机系统实现,或者通过专用硬件和计算机指令的组合实现。
如图7所示,该操作通过接收具有与请求者相关联的组标识符的访问请求并且识别期望访问的资源(步骤710)。然后,检索与资源相关联的复合组对象(步骤720)。如前所述,该复合组对象包括组集值和掩码值。
然后,将复合组掩码值施加到请求者的组标识符,即在访问请求中接收的组标识符(步骤730)。如前所述,例如,将掩码值施加到组标识符可以包括对掩码值与组标识符进行按位求与,以获得掩蔽后的请求者的组标识符。
还将复合组掩码值施加到复合组中的组集值(步骤740)。同样,这可以涉及对复合组掩码值与组集值进行按位求与,以获得掩蔽后的组集值。应当注意,由于步骤740的结果具有不变值,因此可以在创建复合组数据对象时执行该步骤。
比较所得到的掩蔽后的组集值和掩蔽后的请求者的组标识符(步骤750),并且确定它们是否匹配(步骤760)。如果否,则拒绝对资源的访问(步骤770)。如果它们匹配,则准予访问(步骤780)。然后,授权处理结束。
这样,本发明提供了一种用于将多个用户/资源组表示为单个组数据对象的系统和方法。通过本发明,可以使用相同的组集值来表示多个不同组。可以向资源提供不同的掩码值,以便识别组集值中的哪些组被授权访问相关资源。结果,可以向多个资源提供复合组对象,其全都具有相同的组集值,但是可以针对它们的特定目的而具有不同的掩码值。
通过本发明,授权对给定资源的访问所需的处理量保持相同,而与组数无关。可以通过增加组集值和掩码值中的位数来增加另外的组。然而,授权处理将总是由这样的两步骤处理组成,即对所接收的组标识符进行掩蔽,并且将掩蔽后的组标识符与资源的复合组对象的组集值相比较。换句话说,由计算系统维护的“组”结构的大小不会显著地影响本发明的授权处理的性能。
如上所述,本发明尤其有用于实现分布式计算系统资源的访问控制列表。另外,本发明可以与其它访问控制机制一起使用,而不脱离本发明的精神和范围。简而言之,访问相关实体所需的成员关系可以由组集值和掩码值表示的任何控制机制可以利用本发明。
值得注意的是,虽然本发明是在全功能数据处理系统的上下文中描述的,但是本领域的普通技术人员应当理解,本发明的处理能够以包含指令的计算机可读介质的形式和各种形式分发,并且本发明都同样适用,而与实际用来执行分发的信号承载介质的特定类型无关。计算机可读介质的例子包括可记录型介质,例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,以及传输型介质,例如数字和模拟通信链路、使用诸如射频和光波传输的传输形式的有线或无线通信链路。计算机可读介质可以采取编码格式的形式,其中编码格式为了在特定数据处理系统中实际使用而被解码。
本发明的描述是为了示例说明的目的而提供的,而不旨在是彻底无遗漏的,或者局限于所公开的实施例。很多修改和变更对于本领域的普通技术人员将是清楚的。选择和描述该实施例是为了最佳地说明本发明的原理及其实际应用,并且使得本领域的其他普通技术人员能够理解本发明,以便实现适于特定预期用途的具有各种修改的各种实施例。

Claims (24)

1.一种在数据处理系统中认证访问请求的方法,包括:
接收访问请求,其中访问请求包括组标识符,并且指定被请求访问的资源;
检索与资源相关联的复合组数据对象,其中复合组数据对象包括表示多个请求者组的组集值和掩码值;以及
基于组标识符、组集值和掩码值而认证访问请求。
2.如权利要求1所述的方法,其中基于组标识符、组集值和掩码值而认证请求包括:
将掩码值施加到组标识符,以生成掩蔽后的组标识符;以及
比较掩蔽后的组标识符与组集值。
3.如权利要求2所述的方法,其中比较掩蔽后的组标识符与组集值包括:
将掩码值施加到组集值,以生成掩蔽后的组集值;以及
比较掩蔽后的组标识符与掩蔽后的组集值。
4.如权利要求3所述的方法,其中如果掩蔽后的组标识符匹配掩蔽后的组集值,则授权访问请求。
5.如权利要求3所述的方法,其中如果掩蔽后的组标识符不匹配掩蔽后的组集值,则拒绝访问请求。
6.如权利要求2所述的方法,其中将掩码值施加到组标识符包括对掩码值和组标识符进行按位求与。
7.如权利要求3所述的方法,其中将掩码值施加到组集值包括对掩码值和组集值进行按位求与。
8.如权利要求1所述的方法,其中掩码值是分级组成员关系掩码值、组类别成员关系掩码值、以及混合掩码值之一。
9.一种计算机可读介质中的计算机程序产品,用于在数据处理系统中认证访问请求,包括:
第一指令,用于接收访问请求,其中访问请求包括组标识符,并且指定被请求访问的资源;
第二指令,用于检索与资源相关联的复合组数据对象,其中复合组数据对象包括表示多个请求者组的组集值和掩码值;以及
第三指令,用于基于组标识符、组集值和掩码值而认证访问请求。
10.如权利要求9所述的计算机程序产品,其中用于基于组标识符、组集值和掩码值而认证请求的第三指令包括:
用于将掩码值施加到组标识符以生成掩蔽后的组标识符的指令;以及
用于比较掩蔽后的组标识符与组集值的指令。
11.如权利要求10所述的计算机程序产品,其中用于比较掩蔽后的组标识符与组集值的指令包括:
用于将掩码值施加到组集值以生成掩蔽后的组集值的指令;以及
用于比较掩蔽后的组标识符与掩蔽后的组集值的指令。
12.如权利要求11所述的计算机程序产品,其中如果掩蔽后的组标识符匹配掩蔽后的组集值,则授权访问请求。
13.如权利要求11所述的计算机程序产品,其中如果掩蔽后的组标识符不匹配掩蔽后的组集值,则拒绝访问请求。
14.如权利要求10所述的计算机程序产品,其中用于将掩码值施加到组标识符的指令包括用于对掩码值和组标识符进行按位求与的指令。
15.如权利要求11所述的计算机程序产品,其中用于将掩码值施加到组集值的指令包括用于对掩码值和组集值进行按位求与的指令。
16.如权利要求9所述的计算机程序产品,其中掩码值是分级组成员关系掩码值、组类别成员关系掩码值、以及混合掩码值之一。
17.一种用于在数据处理系统中认证访问请求的装置,包括:
用于接收访问请求的部件,其中访问请求包括组标识符,并且指定被请求访问的资源;
用于检索与资源相关联的复合组数据对象的部件,其中复合组数据对象包括表示多个请求者组的组集值和掩码值;以及
用于基于组标识符、组集值和掩码值而认证访问请求的部件。
18.如权利要求17所述的装置,其中用于基于组标识符、组集值和掩码值而认证请求的部件包括:
用于将掩码值施加到组标识符以生成掩蔽后的组标识符的部件;以及
用于比较掩蔽后的组标识符与组集值的部件。
19.如权利要求18所述的装置,其中用于比较掩蔽后的组标识符与组集值的部件包括:
用于将掩码值施加到组集值以生成掩蔽后的组集值的部件;以及
用于比较掩蔽后的组标识符与掩蔽后的组集值的部件。
20.如权利要求19所述的装置,其中如果掩蔽后的组标识符匹配掩蔽后的组集值,则授权访问请求。
21.如权利要求19所述的装置,其中如果掩蔽后的组标识符不匹配掩蔽后的组集值,则拒绝访问请求。
22.如权利要求18所述的装置,其中用于将掩码值施加到组标识符的部件包括用于对掩码值和组标识符进行按位求与的部件。
23.如权利要求19所述的装置,其中用于将掩码值施加到组集值的部件包括用于对掩码值和组集值进行按位求与的部件。
24.如权利要求17所述的装置,其中掩码值是分级组成员关系掩码值、组类别成员关系掩码值、以及混合掩码值之一。
CNB2004800219009A 2003-06-05 2004-04-23 用于在数据处理系统中认证访问请求的方法与装置 Expired - Lifetime CN100361037C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/455,165 2003-06-05
US10/455,165 US7480798B2 (en) 2003-06-05 2003-06-05 System and method for representing multiple security groups as a single data object

Publications (2)

Publication Number Publication Date
CN1829949A true CN1829949A (zh) 2006-09-06
CN100361037C CN100361037C (zh) 2008-01-09

Family

ID=33510410

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800219009A Expired - Lifetime CN100361037C (zh) 2003-06-05 2004-04-23 用于在数据处理系统中认证访问请求的方法与装置

Country Status (7)

Country Link
US (2) US7480798B2 (zh)
EP (1) EP1634137B1 (zh)
KR (1) KR100773002B1 (zh)
CN (1) CN100361037C (zh)
AT (1) ATE465464T1 (zh)
DE (1) DE602004026722D1 (zh)
WO (1) WO2004109480A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526347B2 (en) * 2003-02-18 2009-04-28 Fisher-Rosemount Systems, Inc. Security for objects in a process plant configuration system
US7698683B1 (en) * 2003-03-18 2010-04-13 Troux Technologies Adaptive system for dynamic object-oriented schemas
US8234223B1 (en) 2005-04-28 2012-07-31 Troux Technologies, Inc. Method and system for calculating cost of an asset using a data model
US20070061593A1 (en) * 2005-09-15 2007-03-15 Ufuk Celikkan Sending secured data
US20070079382A1 (en) * 2005-09-15 2007-04-05 Ufuk Celikkan Authorizing computer services
US8214877B1 (en) * 2006-05-22 2012-07-03 Troux Technologies System and method for the implementation of policies
US8230484B1 (en) * 2007-05-01 2012-07-24 Emc Corporation Control of resource access privileges via agent authentication
US8001604B2 (en) * 2007-11-06 2011-08-16 International Business Machines Corporation Method and apparatus for masking child user authorizations from adverse use against a parent user
US8635592B1 (en) 2011-02-08 2014-01-21 Troux Technologies, Inc. Method and system for tailoring software functionality
US8479302B1 (en) * 2011-02-28 2013-07-02 Emc Corporation Access control via organization charts
US9495393B2 (en) 2011-07-27 2016-11-15 EMC IP Holding Company, LLC System and method for reviewing role definitions
US9280581B1 (en) 2013-03-12 2016-03-08 Troux Technologies, Inc. Method and system for determination of data completeness for analytic data calculations
KR20150077643A (ko) * 2013-12-30 2015-07-08 한국전자통신연구원 다중사용자 무선통신시스템에서 사용자를 식별하는 장치 및 방법
US9548897B2 (en) 2014-01-17 2017-01-17 Amazon Technologies, Inc. Network entity registry for network entity handles included in network traffic policies enforced for a provider network
CN110858833B (zh) 2018-08-22 2022-09-30 京东方科技集团股份有限公司 访问控制策略配置方法、装置和系统以及存储介质
CN113612730B (zh) * 2021-07-05 2023-04-07 裕太微电子股份有限公司 一种acl访问规则控制方法、处理装置及系统
US11928517B2 (en) * 2021-07-08 2024-03-12 EMC IP Holding Company LLC Feature resource self-tuning and rebalancing

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
JPH087709B2 (ja) * 1989-05-15 1996-01-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン アクセス特権制御方法及びシステム
US5129083A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Conditional object creating system having different object pointers for accessing a set of data structure objects
US5263157A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
US5173939A (en) * 1990-09-28 1992-12-22 Digital Equipment Corporation Access control subsystem and method for distributed computer system using compound principals
US5315657A (en) * 1990-09-28 1994-05-24 Digital Equipment Corporation Compound principals in access control lists
US5454101A (en) * 1992-09-15 1995-09-26 Universal Firmware Industries, Ltd. Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets
US5454039A (en) * 1993-12-06 1995-09-26 International Business Machines Corporation Software-efficient pseudorandom function and the use thereof for encryption
EP0752652B1 (en) * 1995-07-03 1998-12-16 Sun Microsystems, Inc. System and method for implementing a hierarchical policy for computer system administration
US5787427A (en) * 1996-01-03 1998-07-28 International Business Machines Corporation Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
US5768519A (en) * 1996-01-18 1998-06-16 Microsoft Corporation Method and apparatus for merging user accounts from a source security domain into a target security domain
US6023765A (en) * 1996-12-06 2000-02-08 The United States Of America As Represented By The Secretary Of Commerce Implementation of role-based access control in multi-level secure systems
US6125408A (en) * 1997-03-10 2000-09-26 Compaq Computer Corporation Resource type prioritization in generating a device configuration
US6408336B1 (en) * 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US5878415A (en) * 1997-03-20 1999-03-02 Novell, Inc. Controlling access to objects in a hierarchical database
US6064656A (en) 1997-10-31 2000-05-16 Sun Microsystems, Inc. Distributed system and method for controlling access control to network resources
US6202066B1 (en) * 1997-11-19 2001-03-13 The United States Of America As Represented By The Secretary Of Commerce Implementation of role/group permission association using object access type
US6044466A (en) * 1997-11-25 2000-03-28 International Business Machines Corp. Flexible and dynamic derivation of permissions
JP3867388B2 (ja) * 1998-02-12 2007-01-10 富士ゼロックス株式会社 条件付き認証装置および方法
JPH11313102A (ja) * 1998-02-27 1999-11-09 Fujitsu Ltd アクセス制御リスト生成方法及びその装置
US6457130B2 (en) * 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6772350B1 (en) * 1998-05-15 2004-08-03 E.Piphany, Inc. System and method for controlling access to resources in a distributed environment
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6412070B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Extensible security system and method for controlling access to objects in a computing environment
US6625603B1 (en) * 1998-09-21 2003-09-23 Microsoft Corporation Object type specific access control
US6532505B1 (en) * 1999-11-12 2003-03-11 Infineon Technologies Ag Universal resource access controller
US6651096B1 (en) * 1999-04-20 2003-11-18 Cisco Technology, Inc. Method and apparatus for organizing, storing and evaluating access control lists
US6581060B1 (en) * 2000-06-21 2003-06-17 International Business Machines Corporation System and method for RDBMS to protect records in accordance with non-RDBMS access control rules
US7350204B2 (en) * 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US7305701B2 (en) * 2001-04-30 2007-12-04 Microsoft Corporation Methods and arrangements for controlling access to resources based on authentication method
US7152046B2 (en) * 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US7380271B2 (en) * 2001-07-12 2008-05-27 International Business Machines Corporation Grouped access control list actions
US6910041B2 (en) * 2001-08-23 2005-06-21 International Business Machines Corporation Authorization model for administration
US7249379B2 (en) * 2002-02-01 2007-07-24 Systems Advisory Group Enterprises, Inc. Method and apparatus for implementing process-based security in a computer system
US6678828B1 (en) * 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US7107538B1 (en) * 2002-09-12 2006-09-12 Novell, Inc. Enforcing security on an attribute of an object
US20040088563A1 (en) * 2002-11-01 2004-05-06 Hogan Dirk J. Computer access authorization
US7900240B2 (en) * 2003-05-28 2011-03-01 Citrix Systems, Inc. Multilayer access control security system
CA2459004A1 (en) * 2004-02-20 2005-08-20 Ibm Canada Limited - Ibm Canada Limitee Method and system to control data acces using security label components
US7484237B2 (en) * 2004-05-13 2009-01-27 Hewlett-Packard Development Company, L.P. Method and apparatus for role-based security policy management
US7827402B2 (en) * 2004-12-01 2010-11-02 Cisco Technology, Inc. Method and apparatus for ingress filtering using security group information

Also Published As

Publication number Publication date
WO2004109480A2 (en) 2004-12-16
KR100773002B1 (ko) 2007-11-05
DE602004026722D1 (de) 2010-06-02
EP1634137A2 (en) 2006-03-15
ATE465464T1 (de) 2010-05-15
EP1634137B1 (en) 2010-04-21
CN100361037C (zh) 2008-01-09
US20090100510A1 (en) 2009-04-16
US7757277B2 (en) 2010-07-13
US7480798B2 (en) 2009-01-20
KR20060023962A (ko) 2006-03-15
WO2004109480A3 (en) 2005-06-16
US20050021952A1 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
CN100361037C (zh) 用于在数据处理系统中认证访问请求的方法与装置
US7149849B2 (en) Caching based on access rights in connection with a content management server system or the like
CN1770169A (zh) 向用户/组授予访问控制列表所有权的访问控制系统和方法
CN1224905C (zh) 在群集计算机系统中的执行资源动作的方法
CN1202481C (zh) 辨别名自动查找方法和系统
CN1914881A (zh) 通过代理证书产生在网格中进行相互授权
CN1292117A (zh) 基于事件的分布式系统中传送行为的方法和装置
CN1659547A (zh) 具有可插入体系结构的键值仓库
CN1728149A (zh) 用于发现并连接到数据源的方法、系统和装置
CN1713179A (zh) 在对象模型中的影响分析
CN1735011A (zh) 检测网格指令的方法和装置
CN1811767A (zh) 用于提供带有自动搜索菜单的用户界面的系统和方法
CN101038635A (zh) 一种工作流管理系统流程权限控制系统及其实现方法
CN1893372A (zh) 用于授权的方法与系统
CN1573757A (zh) 自动任务生成器的方法和系统
CN1526109A (zh) 用于被分割的对等计算的方法与装置
CN1848851A (zh) 创建轻量目录访问协议数据交换格式片段的方法与计算机
US20090157737A1 (en) Database Trigger Modification System and Method
CN1691587A (zh) 授权访问网格资源所用的方法和装置
US8516086B2 (en) Generalized credential and protocol management of infrastructure
CN1801097A (zh) 用于使用md4校验和链接跨机器事务的方法和系统
CN1645799A (zh) 基于远程代理的分布式统一数据存取系统
CN101044456A (zh) 快速将计算机设置到同机种资源池中
CN1777154A (zh) 用于对应用组件的接口的方法和系统
CN1829962A (zh) 数据所有权的动态再分配

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20080109

CX01 Expiry of patent term