CN1801146A - 用于确定访问控制的方法和装置 - Google Patents

用于确定访问控制的方法和装置 Download PDF

Info

Publication number
CN1801146A
CN1801146A CNA2005101151349A CN200510115134A CN1801146A CN 1801146 A CN1801146 A CN 1801146A CN A2005101151349 A CNA2005101151349 A CN A2005101151349A CN 200510115134 A CN200510115134 A CN 200510115134A CN 1801146 A CN1801146 A CN 1801146A
Authority
CN
China
Prior art keywords
visit
mentioned
access control
end value
allowed
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
CNA2005101151349A
Other languages
English (en)
Other versions
CN100452037C (zh
Inventor
戚乃箴
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 CN1801146A publication Critical patent/CN1801146A/zh
Application granted granted Critical
Publication of CN100452037C publication Critical patent/CN100452037C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

当利用策略确定用户的访问是否应该被允许时,本发明的访问控制确定装置以预定路径表达该用户对数据源的访问,根据该预定路径从所存储的策略中检索出适合的策略,根据该预定路径计算访问允许值,根据该预定路径以及策略检索单元已检索出的策略计算访问结果值,以及根据该访问允许值和访问结果值确定该用户对数据源的访问是否应该被允许。

Description

用于确定访问控制的方法和装置
技术领域
本发明涉及通过使用策略确定访问控制结果的方法。更具体地,本发明涉及用于当用户试图访问存储在数据库服务器中的数据时确定结果的装置及其方法。
背景技术
为了获取要被处理的数据,迄今为止所执行的是访问存储该数据的数据库服务器。在这种访问中,用户使用作为客户机的计算机终端,通过经由局域网(LAN)和/或因特网访问数据库服务器来获取该数据。所存储的数据以可扩展标记语言(XML)或超文本标记语言(HTML)来描述。具体地,以XML描述的文档称为XML文档。XML文档被认为是分层构造的文档,其能够根据信息提供者的意图被分层构造。这种XML文档被广泛应用于从诸如基因信息数据库的大型数据库到诸如医疗记录的小型数据库。
这里,存在这样的情况,其中数据库的管理员对XML文档进行设置,该设置使得当一个用户访问该数据库时,该访问依据该用户而被拒绝。例如,医院中的医疗记录数据库的管理员必须进行控制以便病人不能访问他/她自己的医疗记录数据。
具体而言,已知一种其中利用称作策略的规则来执行访问控制的方法。例如,该策略是根据用户的姓名、职务、部门等等来确定的。
然后,使用策略,对如Windows(注册商标)文件系统所采用的每个文件或每个文件夹执行访问控制。因此,能够防止不被允许的用户或用户组访问相关的文件或文件夹。
然而,存在这样的情况,其中需要这样的控制,即对于一个用户允许对文件的一部分的访问,而拒绝对该文件的剩余部分的访问。
例如,假设医疗记录作为一个XML文档被创建并存储在数据库中。在这种情况下,优选的是医生能够访问全部医疗记录信息,但是实习医生只能够访问病人的诊断信息。然而,利用上述的访问控制方法,只能够逐个文件来设置此策略。因此,对于XML文档的一部分执行访问控制是不可能的。
作为解决这种问题的方法,已知有使能够访问XML文档的每个内部结构单元的控制装置(日本专利特开2001-273285,下文称作专利文献1)。在专利文献1中,公开了一种通过将策略并入到XML文档中来控制对该文档的每个内部结构单元的访问的访问控制装置。专利文献1的XML文档包括作为数据库数据的记录以及为每个记录设置的策略。当用户访问XML文档的一部分时,该访问控制装置读取所并入的策略并控制该访问。
然而,该访问控制装置在数据库中的记录数量巨大时并不适合。这是因为当数据库中的记录数量增加时,用于控制对这些记录的访问的策略数量也增加,从而该XML文档变得非常庞大。
例如,对于基因信息,在某些情况下,XML文档的记录的数据大小会变为1千兆字节或更多。另外,企业、学术团体等大量用户会访问该XML文档。因此,为访问该XML文档的大量用户中的每位用户设置策略是必要的,而这些策略的数据量则变得很庞大。因此,记录的数据量和策略的数据量都会变得庞大,而该XML文档的文件也变得非常庞大。
在这种情况下,已知有一种将策略与XML文档分离并将策略构造为数据库的方法(Naishin,Michiharu Kudo,“Access control model UsingPathtables for XML Database(使用XML数据库的路径表的访问控制模型)”,计算机安全组,信息处理学会,2003年11月14日;下文称为非专利文献1)。非专利文献1公开了一种将策略构造为表数据库的方法(下文称为“表映射型数据库”)。表映射型数据库由用于指定XML文档的特定部分的路径表达式以及分别与这些路径表达式对应的条件组成。当用户进行访问的时候,访问控制装置计算对应于该访问请求的路径表达式。然后,访问控制装置从表中读出与该路径表达式对应的结果,并确定对该XML文档的由该路径表达式所指定的部分的访问是否应该被允许。
当使用上述表映射型数据库时,存在这样的情况,其中用于确定用户对XML文档的一部分的访问是否应该被允许的策略(下文中,在表映射型数据库情况下的策略称为“条目”)的数量不为1,而是要检索多个条目。例如,假设这样的情况,其中属于会计部门的Daniel试图访问/会计部门/工资单。系统检索策略“Daniel能够访问/会计部门以/会计部门下的所有路径”,作为第一策略。该系统还检索策略“Daniel不能访问/会计部门/工资单”,作为第二策略。当以这种方式检索到了多个策略时,分别检查这多个条目,并确定该用户的访问是否应该被允许。因此,其中设置大量策略的系统可导致这样的情况,其中由系统检索到的条目数量变得很多。在这种情况下,用于确定可访问性的计算复杂度变高。
同时,除了表映射方法以外,还有称为“匹配方法”的方法,该方法使用采用树结构的策略来确定访问。利用该方法,与将策略构造为树结构的数据的表映射方法相比,可以降低策略的数据量。
甚至是在使用匹配方法的情况下,当检索到的策略数量很大时,确定可访问性所需要的计算复杂度也变高。这将利用图6来进行解释。图6示出了在匹配方法中用于确定可访问性的算法的例子。这里,为了指定XML文档的一部分,使用路径语言。具体而言,Pi是一个路径(其是有关一个对象的索引,其中对该对象的访问由策略来控制,该索引包括关于处于控制下的用户的名字以及关于该XML文档中的一个位置的信息,其中该位置是对其的访问被受控制的一个对象),以及Pi=/e1/e2/e3/……/ei+1中的ei对应于一个节点(其是上述的用户名或该XML文档中的位置)。策略包括路径和访问控制结果Q。访问控制结果是关于可访问性的信息,诸如访问可能、访问不可能等。
图6显示了当路径由n个节点构成并且访问控制结果的数量(策略数量)为Q时所使用的算法。在该算法中,计算循环与节点数相对应的次数,并且在每次重复中,计算都循环与访问控制结果的数量相对应的次数,从而总计算复杂度变为n|Q|。换句话说,当使用策略执行访问控制时,执行n|Q|次计算来确定指示可访问性的访问控制结果。在数据库具有大量策略、或数据库具有大量节点(其是庞大的XML文档,是之后要描述的具有许多对象的数据库)的情况下,计算复杂度变得巨大,并且数据库的效率被降低。
发明内容
鉴于上述问题,本发明的目的在于提供一种确定方法,利用这种方法,当使用策略控制对数据源(XML文档等)的访问时计算复杂度被保持得尽可能低。
一种访问控制确定装置,其在用户试图访问数据源时,根据该用户确定该访问是否应该被允许,该装置包括:
访问接收单元,其以预定路径表达该用户对数据源的访问;
策略存储单元,其存储策略,每一策略都包括以路径语言表达的控制路径以及表示该访问是否应该被允许的控制结果;
策略检索单元,其根据上述预定路径从上述策略中检索出适合的策略;
访问允许值计算单元,其根据上述预定路径计算访问允许值;
访问结果值计算单元,其根据上述预定路径以及上述策略检索单元检索出的策略,计算访问结果值;以及
访问确定单元,其根据上述访问允许值和上述访问结果值确定该用户对数据源的访问是否应该被允许。
根据本发明,当利用策略确定用户的访问是否应该被允许时,该访问控制确定装置中的访问接收单元以预定路径表达该用户对数据源的访问;该访问控制确定装置中的策略存储单元存储策略,每一策略都包括以路径语言表达的控制路径以及表示该访问是否应该被允许的控制结果;该访问控制确定装置中的策略检索单元根据上述预定路径从所存储的策略中检索出适合的策略;该访问控制确定装置中的访问允许值计算单元根据上述预定路径计算访问允许值;该访问控制确定装置中的访问结果值计算单元根据上述预定路径以及上述策略检索单元检索出的策略计算访问结果值;以及该访问控制确定装置中的访问确定单元根据上述访问允许值和访问结果值确定该用户对数据源的访问是否应该被允许。
因此,利用本发明,当确定访问是否应该被允许时,计算出访问允许值和访问结果值便足够。具体而言,确定访问控制结果所需要的计算复杂度被保持在数字(获得访问结果值所需的计算次数)+(获得访问允许值所需的计算次数),即保持在|Q+1|,其是通过将获得访问允许值所需的计算数量(1)与访问控制结果的数量(策略数量)相加而得到的。因此,可以通过比传统的计算复杂度n|Q|要小的计算量来确定访问是否应该被允许。
附图说明
为了更加透彻地理解本发明及其优势,现在参照结合附图作出的下列描述。
图1是示出本发明的访问控制确定系统的硬件配置的图示;
图2是示出用户终端的硬件配置的图示;
图3是示出访问控制确定装置的硬件配置的图示;
图4是示出由访问控制确定装置执行的操作的流程图;
图5示出了本发明中所使用的数据源的例子;
图6是示出当存在多个策略时作出访问控制确定的传统算法的图示。
具体实施方式
下面将参照附图给出对本发明优选实施例的描述。
如图1所示,访问控制确定系统1包括多个用户终端20、经由通信线路网络30与用户终端20连接的访问控制确定装置10以及同样经由通信线路网络30与访问控制确定装置10连接的数据源存储装置31。
如图2所示,用户终端20包括诸如CRT显示器和液晶显示器的显示装置21,诸如键盘、十键小键盘和鼠标的输入装置22,诸如硬盘和存储器的存储装置23,诸如CPU的控制装置24,以及诸如连接到通信线路网络30的网卡之类的通信装置25。用户终端20具有能够使用户经由通信线路网络30访问作为数据源的数据的客户端功能。当用户访问数据源的一部分时,用户终端20传送对数据源的该部分执行诸如读取、写入和更新的动作的访问请求。这里,用户终端20可以是计算机终端或个人数字助理。
通信线路网络30是连接访问控制确定装置10和用户终端20的网络。通信线路网络30可以是局域网(LAN)或因特网。
数据源存储装置31是其中存储了诸如XML文档的数据源的装置。例如,数据源存储装置31可以是诸如硬盘的存储装置。而且,数据源存储装置31可以如图1所示安装在访问控制确定装置10之外,或内置于访问控制确定装置10之内。数据源可以是作为文件存储的XML文档等。数据源的该部分是诸如XML文档的数据源的部分区域。例如,该区域是该XML文档中由标签封住的一个区域。
如图3所示,访问控制确定装置10包括通信单元11、访问接收单元12、策略检索单元13、策略存储单元16以及访问确定机构500。访问确定机构500包括访问允许值计算单元14、访问结果值计算单元15和访问确定单元17。
访问控制确定装置10可以是通用计算机。换句话说,访问控制确定装置10的功能可以由这样的访问控制确定装置10来实现,其包括中央处理单元(下文称为“CPU”)、存储器、I/O接口、海量存储设备、输入输出设备(显示器、扬声器、键盘和鼠标)。
通信单元11连接到通信线路网络30并进行通信。通信单元11可以是网络接口,也可以是调制解调器、LAN卡、LAN板等。
访问接收单元12是从用户接收对XML文档的一部分的访问的单元。对数据源的访问由用户终端20的客户端功能实现。访问接收单元12接收该访问。访问接收单元12根据进行该访问的用户的名字、用户的区域、试图访问的该XML文档的位置的信息识别节点,并根据该节点创建路径表达式。所创建的路径表达式被传送给策略检索单元13。
策略检索单元13根据访问接收单元12所创建的路径表达式,从策略存储单元16中检索适合的策略。换句话说,策略检索单元13从策略存储单元16检索与构成该路径表达式的每个节点相对应的策略。
策略存储单元16是其中存储了策略的单元。策略存储单元16可以是诸如通用硬盘和存储器的装置,或可以是用于将策略存储在诸如DVD和CD的存储介质上的装置。策略检索单元13从存储在策略存储单元16中的策略当中检索出适合的策略。
访问确定机构500可以包括在如图3所示的访问控制确定装置10中,或可以包括在访问控制确定装置10之外作为不同的硬件设备(诸如计算机)。
访问允许值计算单元14是用于计算访问允许值的装置。这里,访问允许值是用于对访问赋予允许的标准值。访问允许值计算单元14根据访问接收单元12所创建的路径表达式计算访问允许值。访问允许值计算单元14将该计算结果传送给访问确定单元17。
访问结果值计算单元15是用于计算访问结果值的装置。这里,访问结果值是根据访问接收单元12所创建的路径表达式和策略检索单元13检索出的策略计算出的值。访问结果值计算单元15将该计算结果传送给访问确定单元17。
访问确定单元17是用于根据访问允许值计算单元14计算出的访问允许值和访问结果值计算单元15计算出的访问结果值来确定访问是否应该被允许的装置。在确定访问是否应该被允许之后,访问确定单元17可以访问数据源存储装置31,并根据访问是否应该被允许的确定,将包括在XML文档中的、该确定是对其作出的那一部分中的信息提供给用户终端20。
下面将参照图4的流程图给出对访问控制确定装置10的每个装置所执行的特定操作的描述。
首先,从用户终端20向访问控制确定装置10传送对存储在数据源存储装置31中的数据源(XML文档等)的一部分的访问请求(S01)。同用户终端20的情况一样,该请求可以经由通信线路网络30被传送给访问控制确定装置10。另一方面,由于访问控制确定装置10包括诸如键盘的输入装置,所以来自用户的请求可以被直接传送给访问控制确定装置10,而不使用通信线路网络30。
访问控制确定装置10的访问接收单元12从用户终端20接收该请求,并利用预定的路径表达该请求(S02)。该路径是其中集中了关于该请求的信息的字符串。这里,例如关于该请求的信息包括进行访问的用户所属于的位置、同一用户的名字以及有关试图访问的数据源的位置的信息。
根据该路径信息,访问控制确定装置10的策略检索单元13从策略存储单元16检索适合于该路径的策略(S03)。检索到的适合于该路径的策略的数量未必是1。换句话说,存在这样的情况,其中对于一个路径存在多个检索到的策略。
接下来,访问确定机构500的访问允许值计算单元14计算访问允许值(S04)。访问允许值只是基于访问接收单元12所表达的路径而被计算出的。
同时,访问结果值计算单元15根据策略检索单元13检索到的策略和访问接收单元12所表达的路径,计算访问结果值(S05)。如果策略检索单元13检索到多个策略,则访问结果值是通过使用检索到的所有策略而计算出的。
访问确定单元17通过使用在以上步骤中计算出的访问允许值和访问结果值,确定该访问是否应该被允许(S06)。具体而言,该确定是通过将访问允许值和访问结果值的值(字符串)进行比较而作出的。如果访问确定单元17确定用户的访问不应该被允许,则访问确定单元17可以结束该过程而不执行进一步的处理,或者可以将访问已经被拒绝的信息传送给用户终端20。
如果访问确定单元17确定该用户的访问可被允许,则访问确定单元17访问数据源存储装置31,并在用户终端20的显示装置21上进行对数据源的所请求访问的部分的显示。
(XPath)
下面将给出对作为本发明中所使用的“路径”的例子的XPath的说明。XPath用于定义对其的访问受控制的对象。换句话说,XPath定义用于指定XML文档的某一部分的语法。更为具体地,通过使用Xpath,即使在XML文档中没有嵌入的索引或其他,也可以指定该XML文档中所期望的位置。
作为典型策略的例子,假设输入策略“Alice能够看到个人信息,但是不能看到秘密信息;Bob不能看到个人信息也不能看到秘密信息”。为了简化该策略,使用以下面表1中所示的路径表达语言描述的访问控制策略。对于表1的路径表达式语言的一部分,可以使用XML路径语言(XPath)。
表1
  名称   说明   例子
  主体类型   组、用户ID、功能   用户ID
  主体   访问用户的标识符   Alice
  对象   指定所访问文档的一个位置的路径表达式   /site/people
  模式动作   +:访问可能/-:访问不可能R:读出,W:写入,U:更新,D:删除如果字母是大写字母,则所有的后续节点都能够访问。如果字母是小写字母,则只能访问相关节点   -R,+r
首先,对使用表1的路径表达语言进行解释。主体类型确定主体是哪一种。例如,可以将用户ID作为主体类型,而将用户名作为主体。另外,可以将组作为主体类型而将组名作为主体。附带地,对象是对其访问受控制的对象,其指定用户实际上进行访问的数据源的位置或部分。由对象所指定的路径表达式中的每个元素都被定义为路径值。模式动作是当主体和对象的条件满足时有效的确定的内容。例如确定的内容可以是对于读出的“允许访问”或“拒绝访问”的内容,或者“可以访问”或“拒绝访问”的内容。在该例子中,所描述的是当用户试图允许数据被读出时所作出的确定。然而,本发明同样可以应用于对用户的写入访问是否应该被允许的确定、对用户的更新访问是否应该被允许的确定以及对用户的删除访问是否应该被允许的确定。
模式动作+R意味着在层次中不高于对象所指定的部分的所有节点都能够被读取。另一方面,+r意味着只有在相关层次级别的节点能够被读取。当+R作为模式动作时,上层节点能够为下层节点确定所有的模式动作。
本文中,将与下层节点相对的上层节点描述为父节点或祖先节点,而将与上层节点相对的下层节点描述为子节点或后继节点。
而且,模式动作未必是确定的最终结果。例如,在使用来自数据源的数据值利用条件确定访问是否应该被允许的情况下,模式动作可以是应该由数据值满足的判定表达式。
判定表达式是在从数据源读取数据值并且根据该数据值执行访问控制时所使用的确定表达式。当该判定表达式的条件满足时,使用对该节点设置的模式动作的确定内容。换句话说,判定表达式意味着当从数据源读出对应于条件变量x的数据值并且该数据值满足判定表达式的内容时(例如,当该值大于100时),作出访问是否应该被允许的决定。
访问控制策略由一个或多个规则组成。例如,一个规则表示如下。(表达式1)
<主体类型,主体,对象,模式动作>          ...(1)
如表达式(2)所示,下面将描述当使用访问控制策略时的上述对Alice和Bob的策略。这里,假设个人信息位于XML文档中路径/site/people指定的位置,并且类似地,秘密信息位于/site/secret指定的位置。在表达式(2)中,在访问控制策略中描述了三个规则。
<USERID,Alice,/site/people,+R>
<USERID,Alice,/site/secret,-R>
<USERID,Bob,/site,-R>         ...(2)
例如,如果用户(Alice)要访问的节点对象的路径表达式是/site/people/alice,则整个路径表达为(USERID,Alice,/site/people/alice)。响应该路径表达式,策略检索单元13检索适合的策略。在表达式(2)中的规则当中,策略检索单元13检索<USERID,Alice,/site/people,+R>。
(表达式3)
<USERID,Alice,/a/c//d,+R>            …(3)
如表达式(3)所示,对象可包括“//”。在这种情况下,例如,无论在/a/c/下存在什么层次,Alice都能够访问该层次之下的/d。换句话说,“//”意味着无论第三层次级别是什么样的路径值,都可以访问该级别之下的/d。
作为其中对象包括“//”的情况的例子,当存在两个访问控制策略<用户ID,Seki,/a,+r>和<UID,Seki,/a//c,-R>,并且要被访问的节点的路径表达式是/a/b/c/d时,要应用的策略(每个包括控制路径和控制结果的一对策略)就是<USERID,Seki,/a,+r>和<UID,Seki,/a//c,-R>。尤其是当//包括在控制策略中时,控制路径是P(/a/b/c/d)中由控制策略中的对象(/a//c)所匹配的部分,该部分是(/a/b/c)。
以这种方式,可以使用Xpath描述访问控制策略,并且该策略存储于策略存储单元16中。策略检索单元13根据试图访问的访问接收单元12构造到表达式中的路径,在策略存储单元16存储的策略当中搜索适合的策略。
(策略检索和访问控制确定的技术)
在现有技术中,关于用于检索策略和作出访问决定的机制,下面将进行如表2所示的研究。
表2
  类别   方法   访问相关性
  表映射方法   路径和访问条件存储在表中。在执行时,使用节点的路径表达式检索   在创建访问条件时保证访问相关性。
  访问条件,并且进一步的评估给出对该节点的控制结果。之前为每个XML文档计算出控制结果并将其存储在映射中。无需评估访问该节点的控制结果,可快速获得控制结果。   在创建映射时保证访问相关性。
  过滤方法   将访问控制策略转换为过滤树。在执行时,使用节点的路径表达式快速地搜索相匹配的策略。如果找到了策略,则控制结果变为“允许访问”。   只管理“允许访问”。而且,假定“允许访问”节点的所有下游节点都“允许访问”。
  自动机方法   将访问控制策略转换为自动机。使用要被访问的节点的路径表达式,对这些自动机进行状态转换。根据在过程结束时所达到的唯一结束状态获得控制结果。   由于不执行相关性检查,所以访问控制策略有必要保证相关性。
  匹配方法   将访问控制策略转换为匹配树。使用要被访问的节点的路径表达式,搜索相匹配的控制结果。根据这样找到的控制结果确定对节点的控制结果。   可以快速并同时找到多个适和于从根节点到要被访问节点的那些节点的控制结果。当评估控制结果时,检查是否满足相关性。
在上述非专利文献1中描述了一种表映射方法的技术。除了该文献,这种技术也在2002年VLDB中T.Yu、D.Srivastava、L.V.S.Lakshmanan和H.V.Jagadish的“Compressed Accessibility Map:Efficient AccessControl for XML(压缩可访问性映射:对XML的有效访问控制)”中有所描述,例如,其中访问决定是使用表作出的。过滤方法是在2000年VLDB中M.Altinel和M.Franklin的“Efficient filtering of XML documents forselective dissemination of information(用于信息的选择性传播的XML文档的有效过滤)”中描述的技术,例如,其中只有可访问部分由策略定义。自动机方法是在2003年ACM CCS中M.Murata、A.Tozawa、M.Kudo和H.Satoshi的“XML Access Control Using Static Analysis(使用静态分析的XML访问控制)”中描述的技术,其设置复杂的访问控制策略。匹配方法是其中利用转换为树结构的访问控制策略执行访问控制的方法。例如,该方法在日本专利申请2004-191425中有所描述。
存在这样的情况,其中当使用这些各种方法执行访问控制时,根据依据访问请求所表达的XPath表达式检索多个策略,并且根据这多个策略作出决定。在这种情况下,就出现了为这多个策略中的每个策略执行计算的必要性。在本发明中,提出了一种对多个策略有效地执行计算的方法。
因此,当通过如上所述对多个策略中的每个策略执行计算而作出访问决定时,即使是使用了除表2中描述的那些方法之外的访问控制方法,本发明也是可适用的。
[先决条件]
现在给出对本发明提出的方法的先决条件的说明。先决条件是大致以下两点:(1)对因多个策略而产生的冲突的解决方法;以及(2)缺省的控制结果。
现在给出对(1)的说明。如果检索到多个策略,则存在其中在这多个策略之中产生冲突的情况。具体而言,当“允许访问”和“拒绝访问”的控制同时应用于一个节点时,会产生这种冲突。管理员允许访问确定单元17存储这样一种优先级,即在冲突产生时优先选择“拒绝访问”和“允许访问”中的一个。以这种方式,当冲突产生时,访问确定单元17能够确定要优先选择哪种结果。
现在给出对(2)的说明。对于访问不受访问控制策略控制的节点来说,有必要提前确定使用“允许访问”和“拒绝访问”中的哪一个。这是缺省控制结果。通常,在确保安全性的系统中,使用“拒绝访问”作为缺省控制结果。
(计算方法和确定方法)
在策略检索单元13检索到多个策略之后,访问确定机构500计算访问允许值和访问结果值。访问控制确定装置10的访问允许直计算单元14计算访问允许值。访问允许值是对于访问试图到达的节点来说可允许的最小值。另一方面,访问控制确定装置10的访问结果值计算单元15计算访问结果值。访问结果值是根据检索到的访问控制策略而计算出的。
根据计算出的访问允许值和访问结果值,访问确定单元17进行访问确定。具体而言,当(访问结果值)≥(访问允许值)时(当访问允许值和访问结果值都由数字表示时),允许访问。
(计算顺序)
访问确定单元17接收从策略检索单元13获得的一组的多个策略(每个包括控制路径和控制结果)作为输入,解决这些控制结果之间的冲突,并确定控制结果。冲突的解决可以通过以路径长度的升序检查每一对(控制路径和控制结果)来执行。作为例子,冲突解决方法的顺序如下。使路径长度为n。从其中n=1的一对开始按顺序执行检查。
表3
当控制结果为+r时,检查1、2和3相对于n+1或者更大,是否也保持+r。
当控制结果为+R时,检查3相对于n+1或者更大,是否也保持+R。
控制结果不为-R是必要的。
例如,假设对于路径/a/b/c/d,已获得了如下所示的组(控制路径和控制结果)。
(表达式4)
(/a,+r)
(/a/b,+r)
(/a/b/c,+R)
由于当n=1,2(路径/a和/a/b)时控制结果是+r,所以检查n=3的情况。然而,由于n=3(路径/a/b/c)的控制结果是+R,所以如果n=4(路径/a/b/c/d)的控制结果不是-R便满足。因此,应该允许访问。为了有效地实现上述的冲突解决方法,一种有效的方法是,其中对一组策略(控制路径和控制结果)以控制路径的长度的顺序进行分类,然后计算访问结果值。
下面将给出对使用该访问结果值的访问确定单元17的实现的详细说明。
(访问结果值)
现在将给出对访问结果值计算单元15根据已被试图访问的路径和访问控制策略计算访问结果值的具体方法的说明。在访问控制策略中出现的模式动作确定策略的控制结果。例如,+r指示不带有对后继节点的访问传播的允许。+R指示带有对后继节点的访问传播的允许。另一方面,-R指示带有对后继节点的访问传播的拒绝。这些访问控制结果由不同的数据结构表示,并且被允许相对于节点反映出来,以计算访问控制值,其中这些节点是包括在路径中需要这些控制策略的节点。
下面将解释具体实现。例如,可以想到各个控制结果由表4和5中所示的数字或字符串表示。另外,在表4中,也写入了对访问不受控制的路径的描述(N/A)。在这种情况下,其相应路径和后继节点都未被定义。
表4
  模式动作   数字   含意   控制结果
  +r   2   不带有对后继节点的访问传播的允许   允许访问对象。对后继节点的访问未定义。
  +R   3   带有对后继节点的访问传播的允许   允许访问对象和后继节点。
  -R   0   带有对后继节点的访问传播的拒绝   拒绝访问对象和后继节点。
  N/A   1   其路径和后继节点都未被定义。
表5
  模式动作   字符串   含意   控制结果
  +r   c   不带有对后继节点的访问传播的允许   允许访问对象。对后继节点的访问未定义。
  +R   d   带有对后继节点的访问传播的允许   允许访问对象和后继节点。
  -R   a   带有对后继节点的访问传播的拒绝   拒绝访问对象和后继节点。
  N/A   b   其路径和后继节点都未被定义。
首先,给出对使用表4中的数字的方法的说明。使要被访问的节点en的路径表达式P表示为/e1/e2/…/ei/…/en。利用与表4中各个模式动作相对应的数字,从根节点e1到要被访问的节点en,可以用数字代替每个节点。从而,可以生成访问结果值。如下是用于生成路径P=/e1/e2/…/ei/…/en的访问结果值Effect的算法。
(计算访问结果值所使用的算法示例)
假设在每一对都包括要应用于路径P的控制路径和控制结果的一组对中,存在m个元素,任意控制路径是Qj,且其长度是|Qj|。另外,对应的控制结果是Ej。在该计算方法中,首先,初始化长度为n的阵列effect,以使所有的元素都设置为1。而且,与节点ei相对应的阵列的元素是effect[i]。根据下面表6中所示的流程计算出访问结果值Effect。附带地,假设//未出现在控制路径中。
表6
Effect=0

    For(j=0;j<m;j++)

    If(Ej==‘-R’)then

    Effect=0//给予“拒绝访问”比“允许访问”高的优先级
        <!-- SIPO <DP n="16"> -->
        <dp n="d16"/>
  return
  Else

      If(Ej==‘+r’)then

         If(effect[|Qj|-1]==3‖effect[|Qj|-1]==2)then
continue

         Else effect[|Qj|-1]=2//当effect[|Qj|-1=1时

     Else                //当Ej=‘+R’时

         If(effect[|Qj|-1]==1‖effect[|Qj|-1]==2)then

                  effect[|Qj|-1]==3

         Else continue

     End if
End if
End for
For(i=n-1;i>=0;i--)
Effect=Effect+effect[i]*10(n-1-i)
End for
下面将列举一个使用表6中所示的算法的简单例子。这里,只考虑访问控制策略的对象部分。假设路径P是/a/b/c/d/e,并且存在每对都包括要应用的控制路径和控制结果的三对:(1)(/a,+r)、(2)(/a/b,+R)以及(3)(/a/b/c/d/e,+r)。在上述条件之下,使用上述算法计算出访问结果值。
作为初始值,阵列effect成为{1,1,1,1,1}。当(1)已被处理时,将+r的控制结果应用于/a。因此,effect[0]成为2,并且该阵列成为{2,1,1,1,1}。当(2)已被处理时,effect[1]成为3,并且阵列成为{2,3,1,1,1}。另外,当(3)已被处理时,effect[4]成为2,并且该阵列成为{2,3,1,1,2}。因此,访问结果值成为23112。
也可以通过使用表5中的字符串利用类似的算法计算结果值。然而,当最后计算Effect时,有必要使用不同的算法。
表7
For(i=n-1;i>=0;i--)
Effect=Effect.append(effect[i])
End for
这里,append是将新的字符串添加到字符串Effect的右侧的方法。下面将列举一个简单的例子。假设P是/a/b/c/d/e,并且存在每对都包括要应用的控制路径和控制结果的三对:(1)(/a/b/c/d/e,+r)、(2)(/a,+r)以及(3)(/a/b,+R)。在上述条件之下,使用上述算法计算出访问结果值。作为初始值,阵列effect成为{‘b’,‘b’,‘b’,‘b’,‘b’}。当(1)已被处理时,effect[4]成为‘c’,并且该阵列成为{‘b’,‘b’,‘b’,‘b’,‘c’},因为+r的控制结果被应用于/a/b/c/d/e。当(2)已被处理时,effect[0]成为‘c’,并且该阵列成为{‘c’,‘b’,‘b’,‘b’,‘c’}。另外,当(3)已被处理时,effect[1]成为‘d’,并且该阵列成为{‘c’,‘d’,‘b’,‘b’,‘c’}。因此,访问结果值成为“cdbbc”。
另一方面,如果在控制路径中包括‘//’,则有必要预先将适合的控制路径扩展为P,并增加该控制路径。例如,当控制路径为/a//b时,控制结果是+r,而当P是/a/b/d/b/e/b时,扩展的控制路径是/a/b、/a/b/d/b和/a/b/d/b/e/b,以使每对都包括控制路径和控制结果的对的数量变为3对。这些控制路径分别是(/a/b,+r)、(/a/b/d/b,+r)和(/a/b/d/b/e/b,+r)。(访问允许值)
下面将给出对访问允许值计算单元14根据已试图访问的路径计算访问允许值的具体方法的描述。访问允许值是访问被允许所必需的最小访问结果值。如上所述,是否应该允许访问依赖于对按照分层结构的祖先节点的控制结果。因此,允许对路径的访问的必要条件是对其所有祖先节点的访问也被允许。使要被访问的节点en的路径表达式P表示为/e1/e2/.../ei/.../en。对访问P的允许意味着允许对从e1到en所有节点的访问。为了满足这一点,必需满足以下两个条件。
(1)从节点e1到节点en没有节点被定义为-R。(2)从e1到en的所有节点都被定义为+r,或者其控制结果没有被定义的所有节点都具有定义为+R的祖先节点。
为了满足条件(1),在从e1到en的节点的数字表示中不出现零是充分条件。另外,满足条件(2)的充分条件以正则表达式表示为(2)+或(2)*3(1|2|3)*。另一方面,当使用字符串时,该条件表示为(c)+或*d(b|c|d)*。如下是数字表达式情况下的一个例子:当P是/a/b/c/d/e时,满足条件(2)的访问结果值是22222、23111、23211、23221、23222、23311、23321、23322、23331、23332、23333、31111或32111...(省略由3开头的其他值)。因此,发现访问结果值的最小值是22222。因此,根据‘从e1到en被定义为+r的所有节点’生成的访问结果值是访问允许值。
作为例子,如下是用于生成P=/e1/e2/.../ei/.../en的访问允许值minEffect的算法。表8示出了在使用数字表达式的情况下的生成算法,而表9示出了在使用字符串的情况下的生成算法。
表8
minEffect=0
For(i=n-1;i>=0;i--)
MinEffect=minEffect+2*10(n-1-i)
End for
表9
minEffect=‘ ’
For(i=n-1;i>=0;i--)
minEffect=minEffect.append(‘c’)
End for
(关于访问确定)
访问确定单元17利用所输入的访问允许值minEffect和访问结果值Effect确定控制结果。具体地,如下面表10所示。
表10
If Effect≥minEffect then
    Accessible    //允许访问
Else
   Inaccessible    //拒绝访问
End if
当利用数字作出访问决定时,至于比较,是比较数字的大小。当使用字符串时,对规定顺序的字符串进行比较。规定顺序可以是字母表的顺序,其是字典上的比较(a->b->c->d),或者也可以这样定义,即首先按照除了字母顺序之外的顺序规定字符串的优先级(例如,a具有比c高的优先级),然后,使用该规定顺序作为字符串的优先级。
图5示出了医疗记录的特定XML文档的一部分。该XML文档包括病人信息(诸如姓名、性别、地址、职业和医疗保险公司名称)、病历(诸如日期、症状、诊断、医生信息以及治疗)。假设如下定义了护士的访问控制策略。
(表达式5)
(1)(ROLEID,nurse,/patients,+r)
(2)(ROLEID,nurse,/patients/patient,+r)
(3)(ROLEID,nurse,/patients/patient/submitted,+r)
(4)(ROLEID,nurse,/patients//name,+R)
(5)(ROLEID,nurse,/patients/patient/therapy,+R)
这些访问控制策略将护士定义为能够读取病人的姓名和治疗及其后继节点的人。另外,这些策略将护士定义为能够从提交的元素的存在与否而获知是否存在病人的病历,但是不能读取具体内容的人。
例如,当护士访问/patients/patient/name/firstname时,策略检索单元13的输出是每对都包括要应用的控制路径和控制结果的一组对,并且更为具体地如下所示。
(表达式6)
(/patients,+r)                       (根据策略(1))
(/patients/patient,+r)               (根据策略(2))
(/patients/patient/name,+R)                 (根据策略(4))
由于/patients/patient/name满足/patients//name,所以能够基于策略(4)获得/patients/patient/name的控制路径。
(使用数字的确定)
由访问允许值计算单元14计算出访问允许值minEffect。根据上述算法,minEffect=2222。同时,由访问结果值计算单元15计算出访问结果值。首先,生成阵列effect[4],其初始状态设置为{1,1,1,1}。然后,顺序处理每一对都包括控制路径和控制结果的一组对。基于(/patients,+r),effect[0]=2。基于(/patients/patient,+r),effect[1]=2。另外,基于(/patients/patient/name,+R),effect[2]=3。因此,/patients/patient/name/firstname的访问结果值(Effect)是2231。因此,由于Effect>minEffect(访问允许值),所以对/patients/patient/name/firstname的访问会被允许。
同时,当护士访问/patients/patient/submitted/doctor/name/firstname时,策略检索单元13的输出如下所示。
(表达式7)
(1)(/patients,+r)                        (根据策略(1))
(2)(/patients/patient,+r)                (根据策略(2))
(3)(/patients/patient/submitted,+r)      (根据策略(3))
(4)(/patients/patient/submitted/doctor/name,+R)    (根据策略(4))
由于/patients/patient/submitted/doctor/name满足/patients//name,所以能够根据策略(4)获得/patients/patient/submitted/doctor/name的控制路径。
由访问允许值计算单元14计算出访问允许值minEffect。根据上述算法,minEffect==222222。同时,由访问结果值计算单元15计算出访问结果值Effect。首先,生成阵列effect[6],其初始状态为{1,1,1,1,1,1}。然后,顺序处理每一对都包括控制路径和控制结果的一组对。基于(/patients,+r),effect[0]=2。基于(/patients/patient,+r),effect[1]=2。另外,基于(/patients/patient/submitted,+r),effect[2]=2。基于(/patients/patient/submitted/doctor/name,+R),effect[4]=3。因此,对于/patients/patient/submitted/doctor/name/firstname的访问结果值,Effect=222131。
因此,由于访问允许值和访问结果值之间的比较而得出Effect<minEffect,所以对于/patients/patient/submitted/doctor/name/firstname的访问会被拒绝。正如从Effect的值得知,由于不允许对/patients/patient/submitted/doctor进行访问,所以控制结果对于所有祖先节点的相关性不被满足,从而得出Effect的值小于minEffect的值。因此,对于/patients/patient/submitted/doctor/name/firstname的访问会被拒绝。
接下来,本发明提出的方法也能够处理这样的情况,即其中利用判定表达式对节点添加限制,并执行基于数据值的访问控制。对于图5所示的XML文档的一部分,为病人定义访问控制策略。
(表达式8)
(1)(ROLEID,patient,/patients,+r)
(2)(ROLEID,patient,/patients/patient[@id=$uid],+r)
(3)(ROLEID,patient,/patients/patient[@id=$uid]/therapy,+R)
假设$uid是系统函数,是每个病人具有的唯一标识ID。当病人标识ID为100($uid=100)的用户试图访问图5中所示的XML文档中的/patients/patient/therapy/amount时,要满足策略(2)和(3)中包括的关于病人的判定表达式@id=$uid。因此,每一对都包括控制路径和控制结果的一组对包括三项。具体地,这些对如下所示。
(表达式9)
(1)(/patients,+r)                            (根据策略(1))
(2)(/patients/patient,+r)                    (根据策略(2))
(3)(/patients/patient/therapy,+R)            (根据策略(3))
由访问允许值计算单元14计算出访问允许值minEffect。根据上述算法,minEffect=2222。同时,由访问结果值计算单元15计算出访问结果值。首先,生成阵列effect[4],其初始状态被设置为{1,1,1,1}。然后,顺序处理每一对都包括控制路径和控制结果的一组对。基于(/patients,+r),effect[0]=2。基于(/patients/patient,+r),effect[1]=2。另外,基于(/patients/patient/therapy,+R),effect[2]=3。因此,对于/patients/patient/therapy/amount的访问结果值,Effect=2231。因此,病人将被允许访问/patients/patient/therapy/amount。
当uid为101的病人试图访问同一XML文档中的/patients/patient/therapy/amount时,每一对都包括控制路径和控制结果的一组对变为仅(/patients,+r),因为未满足判定表达式@id=$uid。因此,由于访问结果值Effect变成2111,这小于minEffect的值,所以该访问会被拒绝。
(使用字符串的确定)
假设对于作为护士的用户的访问控制策略定义如下。
(表达式10)
(1)(ROLEID,nurse,/patients,+r)
(2)(ROLEID,nurse,/patients/patient,+r)
(3)(ROLEID,nurse,/patients/patient/submitted,+r)
(4)(ROLEID,nurse,/patients//name,+R)
(5)(ROLEID,nurse,/patients/patient/therapy,+R)
这些访问控制策略将护士定义为能够读取病人的姓名和治疗及其后继节点的人。另外,这些策略将护士定义为能够从所提交的元素的存在与否而获知是否存在病人的病历,但是不能读取具体内容的人。
当作为护士的用户访问/patients/patient/name/firstname时,策略检索单元13的输出是每一对都包括要应用的控制路径和控制结果的一组对,并且更为具体地如下所示。
(表达式11)
(/patients,+r)                                 (根据策略(1))
(/patients/patient,+r)                         (根据策略(2))
(/patients/patient/name,+R)                    (根据策略(4))
因为/patients/patient/name满足/patients//name,所以能够根据策略(4)获的/patients/patient/name的控制路径。
由访问允许值计算单元14计算访问允许值minEffect。根据上述算法,minEffect=“cccc”。同时,由访问结果值计算单元15计算访问结果值Effect。首先,生成阵列effect[4],其初始状态设置为{‘b’,‘b’,‘b’,‘b’}。然后,顺序处理每一对都包括控制路径和控制结果的一组对。基于(/patients,+r),effect[0]=‘c’。基于(/patients/patient,+r),effect[1]=‘c’。另外,基于(/patients/patient/name,+R),effect[2]=‘d’。因此,/patients/patient/name/firstname的访问结果值是“ccdb”。因此,由于“ccdb”>“cccc”,也就是(访问结果值Effect)>(访问允许值minEffect),所以对/patients/patient/name/firstname的访问会被允许。
同时,当护士访问/patients/patient/submitted/doctor/name/firstname时,策略检索单元13的输出如下所示。
(表达式12)
(1)(/patients,+r)                              (根据策略(1))
(2)(/patients/patient,+r)                      (根据策略(2))
(3)(/patients/patient/submitted,+r)            (根据策略(3))
(4)(/patients/patient/submitted/doctor/name,+R)     (根据策略(4))
由于/patients/patient/submitted/doctor/name满足/patients//name,所以能够基于策略(4)获得/patients/patient/submitted/doctor/name的控制路径。
由访问允许值计算单元14计算访问允许值minEffect。根据上述算法,minEffect=“cccccc”。同时,由访问结果值计算单元15计算访问结果值Effect。首先,生成阵列effect[6],其初始状态为{‘b’,‘b’,‘b’,‘b’,‘b’,‘b’}。然后,顺序处理每一对都包括控制路径和控制结果的一组对。基于(/patients,+r),effect[0]=‘c’。基于(/patients/patient,+r),effect[1]=‘c’。另外,基于(/patients/patient/submitted,+r),effect[2]=‘c’。基于(/patients/patient/submitted/doctor/name,+R),effect[4]=‘d’。因此,对于/patients/patient/submitted/doctor/name/firstname的访问结果值,Effect=“cccbdb”。
因此,由于“cccbdb”>“cccccc”,也就是(访问结果值Effect)<(访问允许值minEffect),所以对于/patients/patient/submitted/doctor/name/firstname的访问会被拒绝。正如根据Effect的值所知,由于不允许对/patients/patient/submitted/doctor进行访问,所以控制结果对于所有祖先节点的相关性不被满足,从而得出Effect的值小于minEffect的值。因此,对于/patients/patient/submitted/doctor/name/firstname的访问会被拒绝。
实现这样的实施例的确定访问控制的方法可以由在计算机或服务器上执行的程序来实现。作为这种程序的存储介质,可以列举出诸如DVD、MO或PD之类的光存储介质,磁带介质,半导体存储器等。另外,该程序可以经由使用诸如硬盘或RAM的存储设备作为存储介质的网络来提供,其中这些存储设备是提供在连接到专用通信网络或因特网的服务器系统中的。
在上文中,尽管已经对本发明的实施例进行了描述,但这只是示例,而并不具体限定本发明。本发明实施例中描述的效果只作为根据本发明所产生的最优选效果。本发明的效果并不限于本发明实施例中所描述的效果。
利用本发明,当确定访问是否应该被允许时,计算出访问允许值和访问结果值便足够。具体而言,确定访问控制结果所需要的计算复杂度被保持在数字(获得访问结果值所需的计算次数)+(获得访问允许值所需的计算次数),即保持在|Q+1|,其是通过将获得访问允许值所需的计算数量(1)与访问控制结果数量(策略数量)相加得到的。因此,可以通过比传统计算复杂度n|Q|要小的计算量来确定访问是否应该被允许。
尽管已经详细描述了本发明的优选实施例,但是应该理解的是,在不背离由所附权利要求定义的本发明的精神和范围的情况下,能够在其中作出多种改变、替换和变换。
本发明并不只应用于其中许多用户访问具有大量数据的数据源的数据库管理系统,而且也应用于这样的数据库管理系统,即其中具有大量数据的多个数据源存储在物理上不同的服务器或其他设备上,并且许多用户访问这些数据源。

Claims (21)

1.一种访问控制确定装置,其在用户试图访问数据源的情况下,根据该用户确定该访问是否应该被允许,该装置包括:
访问接收单元,其以预定路径表达该用户对数据源的访问;
策略存储单元,其存储策略,每一策略都包括以路径语言表达的控制路径以及表示该访问是否应该被允许的控制结果;
策略检索单元,其根据上述预定路径从上述策略中检索出适合的策略;
访问允许值计算单元,其根据上述预定路径计算访问允许值;
访问结果值计算单元,其根据上述预定路径以及上述策略检索单元检索出的策略,计算访问结果值;以及
访问确定单元,其根据上述访问允许值和上述访问结果值确定该用户对数据源的访问是否应该被允许。
2.根据权利要求1的访问控制确定装置,其是利用计算机实现的。
3.根据权利要求1的访问控制确定装置,其中对于上述策略检索单元检索出的一组策略,上述访问结果值计算单元按控制路径长度顺序计算访问结果值。
4.根据权利要求1的访问控制确定装置,其中上述数据源是结构化文档。
5.根据权利要求1的访问控制确定装置,其中上述访问允许值和访问结果值由数字表示,并且上述访问确定单元使用这些数字确定该访问是否应该被允许。
6.根据权利要求1的访问控制确定装置,其中上述访问允许值和访问结果值使用已被定义了优先级的字符表示,并且上述访问确定单元使用这些字符确定该访问是否应该被允许。
7.根据权利要求1的访问控制确定装置,其中上述路径语言是XPath。
8.一种访问控制确定方法,其在用户终端与访问控制确定装置以通信线路网络连接时,当使用该用户终端的用户试图访问数据源时,根据该用户确定该访问是否应该被允许,该方法包括步骤:
利用该访问控制确定装置中的访问接收单元,以预定路径表达该用户对数据源的访问;
利用该访问控制确定装置中的策略存储单元,存储策略,每一策略都包括以路径语言表达的控制路径以及表示该访问是否应该被允许的控制结果;
利用该访问控制确定装置中的策略检索单元,根据上述预定路径从上述策略中检索出适合的策略;
利用该访问控制确定装置中的访问允许值计算单元,根据上述预定路径计算访问允许值;
利用该访问控制确定装置中的访问结果值计算单元,根据上述预定路径以及上述策略检索单元检索出的策略计算访问结果值;以及
利用该访问控制确定装置中的访问确定单元,根据上述访问允许值和访问结果值确定该用户对数据源的访问是否应该被允许。
9.根据权利要求8的访问控制确定方法,其是利用计算机实现的。
10.根据权利要求8的访问控制确定方法,其中上述计算访问结果值的步骤包括,利用上述访问结果值计算单元,对于上述策略检索单元检索出的一组策略,按控制路径长度顺序计算访问结果值。
11.根据权利要求8的访问控制确定方法,其中上述数据源是结构化文档。
12.根据权利要求8的访问控制确定方法,其中:
在上述计算访问允许值的步骤中,使用数字计算该访问允许值;
在上述计算访问结果值的步骤中,使用数字计算该访问结果值;以及
在上述确定访问是否应该被允许的步骤中,上述访问确定单元利用上述使用数字的访问允许值和上述使用数字的访问结果值确定该访问是否应该被允许。
13.根据权利要求8的访问控制确定方法,其中:
在上述计算访问允许值的步骤中,使用已被定义了优先级的字符计算该访问允许值;
在上述计算访问结果值的步骤中,使用已被定义了优先级的字符计算该访问结果值;以及
在上述确定访问是否应该被允许的步骤中,上述访问确定单元利用上述使用字符的访问允许值和上述使用字符的访问结果值确定该访问是否应该被允许。
14.根据权利要求8的访问控制确定方法,其中上述路径语言是XPath。
15.一种实现访问控制确定方法的程序,该方法在用户终端与访问控制确定装置以通信线路网络连接时,当使用该用户终端的用户试图访问数据源时,根据该用户确定该访问是否应该被允许,该方法包括步骤:
利用该访问控制确定装置中的访问接收单元,以预定路径表达该用户对数据源的访问;
利用该访问控制确定装置中的策略存储单元,存储策略,每一策略都包括以路径语言表达的控制路径以及表示该访问是否应该被允许的控制结果;
利用该访问控制确定装置中的策略检索单元,根据上述预定路径从上述策略中检索出适合的策略;
利用该访问控制确定装置中的访问允许值计算单元,根据上述预定路径计算访问允许值;
利用该访问控制确定装置中的访问结果值计算单元,根据上述预定路径以及上述策略检索单元检索出的策略计算访问结果值;以及
利用该访问控制确定装置中的访问确定单元,根据上述访问允许值和访问结果值确定该用户对数据源的访问是否应该被允许。
16.根据权利要求15的实现访问控制确定方法的程序,其中
上述计算访问结果值的步骤包括,利用上述访问结果值计算单元,对于上述策略检索单元检索出的一组策略,按控制路径长度顺序计算访问结果值。
17.根据权利要求15的实现访问控制确定方法的程序,其中上述数据源是结构化文档。
18.根据权利要求15的实现访问控制确定方法的程序,其中:
在上述计算访问允许值的步骤中,使用数字计算该访问允许值;
在上述计算访问结果值的步骤中,使用数字计算该访问结果值;以及
在上述确定访问是否应该被允许的步骤中,上述访问确定单元利用上述使用数字的访问允许值和上述使用数字的访问结果值确定该访问是否应该被允许。
19.根据权利要求15的实现访问控制确定方法的程序,其中:
在上述计算访问允许值的步骤中,使用已被定义了优先级的字符计算该访问允许值;
在上述计算访问结果值的步骤中,使用已被定义了优先级的字符计算该访问结果值;以及
在上述确定访问是否应该被允许的步骤中,上述访问确定单元利用上述使用字符的访问允许值和上述使用字符的访问结果值确定该访问是否应该被允许。
20.根据权利要求15的实现访问控制确定方法的程序,其中上述路径语言是XPath。
21.一种计算机可读存储介质,具有存储在其上的根据权利要求15的实现访问控制确定方法的程序。
CNB2005101151349A 2004-11-26 2005-11-10 用于确定访问控制的方法和装置 Expired - Fee Related CN100452037C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP343090/2004 2004-11-26
JP2004343090A JP4301513B2 (ja) 2004-11-26 2004-11-26 ポリシーを用いたアクセス制御効果の判定方法

Publications (2)

Publication Number Publication Date
CN1801146A true CN1801146A (zh) 2006-07-12
CN100452037C CN100452037C (zh) 2009-01-14

Family

ID=36568434

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101151349A Expired - Fee Related CN100452037C (zh) 2004-11-26 2005-11-10 用于确定访问控制的方法和装置

Country Status (3)

Country Link
US (1) US7630984B2 (zh)
JP (1) JP4301513B2 (zh)
CN (1) CN100452037C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340501A (zh) * 2011-07-14 2012-02-01 广东爱科数字科技有限公司 一种综合平台的隐私信息保护方法
CN104737195A (zh) * 2012-08-15 2015-06-24 惠普发展公司,有限责任合伙企业 具有密钥旋转信息的元数据树

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417678B2 (en) * 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
US7805449B1 (en) 2004-10-28 2010-09-28 Stored IQ System, method and apparatus for enterprise policy management
WO2004012379A2 (en) * 2002-07-30 2004-02-05 Deepfile Corporation Method and apparatus for managing file systems and file-based data storage
KR100677116B1 (ko) * 2004-04-02 2007-02-02 삼성전자주식회사 사이클릭 레퍼런싱 방법/장치, 파싱 방법/장치 및 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US8510331B1 (en) 2004-10-28 2013-08-13 Storediq, Inc. System and method for a desktop agent for use in managing file systems
US7478419B2 (en) * 2005-03-09 2009-01-13 Sun Microsystems, Inc. Automated policy constraint matching for computing resources
US7962513B1 (en) * 2005-10-31 2011-06-14 Crossroads Systems, Inc. System and method for defining and implementing policies in a database system
FR2896602B1 (fr) * 2006-01-26 2008-06-06 Commissariat Energie Atomique Procede de gestion de documents electroniques
US10031830B2 (en) * 2006-10-13 2018-07-24 International Business Machines Corporation Apparatus, system, and method for database management extensions
US9183321B2 (en) * 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
JP4882671B2 (ja) * 2006-11-01 2012-02-22 富士通株式会社 アクセス制御方法及びアクセス制御システム並びにプログラム
US8145655B2 (en) * 2007-06-22 2012-03-27 International Business Machines Corporation Generating information on database queries in source code into object code compiled from the source code
US7831621B1 (en) 2007-09-27 2010-11-09 Crossroads Systems, Inc. System and method for summarizing and reporting impact of database statements
US8145572B2 (en) * 2007-10-19 2012-03-27 Kabushiki Kaisha Toshiba Information processing apparatus, content processing method, and computer program product thereof
US8463815B1 (en) 2007-11-13 2013-06-11 Storediq, Inc. System and method for access controls
JP5482667B2 (ja) 2009-02-10 2014-05-07 日本電気株式会社 ポリシー管理装置、ポリシー管理システム、それに用いる方法およびプログラム
US8880989B2 (en) * 2012-01-30 2014-11-04 Microsoft Corporation Educating users and enforcing data dissemination policies
US9087039B2 (en) 2012-02-07 2015-07-21 Microsoft Technology Licensing, Llc Language independent probabilistic content matching
JP6002609B2 (ja) * 2013-03-19 2016-10-05 株式会社エヌ・ティ・ティ・データ 情報端末、制御方法、制御プログラム
US20160019360A1 (en) 2013-12-04 2016-01-21 Apple Inc. Wellness aggregator
CN116584928A (zh) 2014-09-02 2023-08-15 苹果公司 身体活动和健身监视器
CN113521710A (zh) 2015-08-20 2021-10-22 苹果公司 基于运动的表盘和复杂功能块
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
US10736543B2 (en) 2016-09-22 2020-08-11 Apple Inc. Workout monitor interface
US10845955B2 (en) 2017-05-15 2020-11-24 Apple Inc. Displaying a scrollable list of affordances associated with physical activities
JP6805196B2 (ja) * 2018-02-23 2020-12-23 日本電信電話株式会社 ポリシー競合解消システム及びポリシー競合解消方法
US11317833B2 (en) 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
CN113892077A (zh) 2019-06-01 2022-01-04 苹果公司 多模式活动跟踪用户界面
US11152100B2 (en) 2019-06-01 2021-10-19 Apple Inc. Health application user interfaces
JP7264953B2 (ja) * 2020-01-06 2023-04-25 アップル インコーポレイテッド 生理学的データの提示
DK202070613A1 (en) 2020-02-14 2021-10-15 Apple Inc User interfaces for workout content
DK181037B1 (en) 2020-06-02 2022-10-10 Apple Inc User interfaces for health applications
WO2022245669A1 (en) 2021-05-15 2022-11-24 Apple Inc. User interfaces for group workouts
US11977729B2 (en) 2022-06-05 2024-05-07 Apple Inc. Physical activity information user interfaces
US12023567B2 (en) 2022-06-05 2024-07-02 Apple Inc. User interfaces for physical activity information

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281003B2 (en) * 1998-10-05 2007-10-09 Oracle International Corporation Database fine-grained access control
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
JP2002278838A (ja) * 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
SE523140C2 (sv) * 2002-07-02 2004-03-30 Telia Ab Skyddsanordning i datorsystem avsedd att skydda en fil med en säkerhetspolicy i ett system för tillämpning av säkerhetspolicy
US7961594B2 (en) * 2002-10-23 2011-06-14 Onaro, Inc. Methods and systems for history analysis for access paths in networks
GB2410354B (en) * 2002-10-23 2005-12-28 Onaro Method and system for validating logical end-to-end access paths in storage area networks
US7127461B1 (en) * 2002-11-27 2006-10-24 Microsoft Corporation Controlling access to objects with rules for a work management environment
US20040148278A1 (en) * 2003-01-22 2004-07-29 Amir Milo System and method for providing content warehouse
JP3982623B2 (ja) * 2003-03-25 2007-09-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、データベース検索システム及びプログラム
US20040213086A1 (en) * 2003-04-25 2004-10-28 Terzian Berj A. Enhanced prompts for setting or resetting digital time displays
US8250093B2 (en) * 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US7478100B2 (en) * 2003-09-05 2009-01-13 Oracle International Corporation Method and mechanism for efficient storage and query of XML documents based on paths
US7398265B2 (en) * 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
JP4793839B2 (ja) * 2004-06-29 2011-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 木構造データによるアクセス制御手段
US20060080316A1 (en) * 2004-10-08 2006-04-13 Meridio Ltd Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof
US7346609B2 (en) * 2004-11-16 2008-03-18 International Business Machines Corporation Streaming XPath algorithm for XPath value index key generation
US7433870B2 (en) * 2004-12-27 2008-10-07 Lucent Technologies Inc. Method and apparatus for secure processing of XML-based documents

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340501A (zh) * 2011-07-14 2012-02-01 广东爱科数字科技有限公司 一种综合平台的隐私信息保护方法
CN104737195A (zh) * 2012-08-15 2015-06-24 惠普发展公司,有限责任合伙企业 具有密钥旋转信息的元数据树
US11373736B2 (en) 2012-08-15 2022-06-28 Micro Focus Llc Metadata tree with key rotation information

Also Published As

Publication number Publication date
CN100452037C (zh) 2009-01-14
US20060117014A1 (en) 2006-06-01
JP4301513B2 (ja) 2009-07-22
US7630984B2 (en) 2009-12-08
JP2006155104A (ja) 2006-06-15

Similar Documents

Publication Publication Date Title
CN1801146A (zh) 用于确定访问控制的方法和装置
CN100336059C (zh) 智能使用用户数据以抢先阻止违反访问控制的查询的执行
CN1290041C (zh) 用于改进文件管理的方法和装置
CN1260665C (zh) 用于管理可换存储媒体的设备和方法
CN101080714A (zh) 用于由数据库服务器执行文件操作的基础结构
CN1321277A (zh) 数据库系统
CN1768325A (zh) 公开内容的抽象数据库抽象中的规则应用管理
CN1881245A (zh) 文档管理系统、客户终端、服务器、客户端程序和服务器程序
CN1856790A (zh) 使用本体的信息访问
CN1786955A (zh) 用于管理相互相关的数据对象的方法和系统
CN1698033A (zh) 有效管理企业的可配置组件的系统和方法
CN1392954A (zh) 缺陷知识库
CN1633650A (zh) 用户认证方法及用户认证系统
CN1278623A (zh) 信息处理方法、信息终端支持服务器和储存信息处理程序的存储媒介
CN1703048A (zh) 网络服务应用协议和soap处理模型
CN101061688A (zh) 基于简单网络管理协议的网络管理设备和方法
CN1573753A (zh) 数据库对象脚本生成方法和系统
CN101047707A (zh) 发起设备能力信息协商的方法及系统
CN1859402A (zh) Xml文档管理系统及其方法与xml文档访问控制方法
CN1846207A (zh) 类型路径索引
CN1144004A (zh) 多个客户机共有的数据库系统、数据更新方法及面向文字处理装置的应用
CN1533149A (zh) 图像处理系统
CN1828606A (zh) 信息提供方法以及门户站点系统
CN1203430C (zh) 数据管理系统和数据管理方法
CN1664838A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20151110

EXPY Termination of patent right or utility model