Nothing Special   »   [go: up one dir, main page]

CN102378974A - 使用访问图来提供对数据项的访问 - Google Patents

使用访问图来提供对数据项的访问 Download PDF

Info

Publication number
CN102378974A
CN102378974A CN2010800161997A CN201080016199A CN102378974A CN 102378974 A CN102378974 A CN 102378974A CN 2010800161997 A CN2010800161997 A CN 2010800161997A CN 201080016199 A CN201080016199 A CN 201080016199A CN 102378974 A CN102378974 A CN 102378974A
Authority
CN
China
Prior art keywords
data item
node
information
visit
key
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
CN2010800161997A
Other languages
English (en)
Other versions
CN102378974B (zh
Inventor
A·V·奥尔洛夫
D·V·斯塔罗斯京
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102378974A publication Critical patent/CN102378974A/zh
Application granted granted Critical
Publication of CN102378974B publication Critical patent/CN102378974B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (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)
  • Information Transfer Between Computers (AREA)

Abstract

描述了用于使用一个或多个访问图来控制对数据项的访问的方法。该方法需要将与访问相关的信息的压缩包分发到涉及访问图的接收方。接收方可以使用与访问相关的信息来通过该访问图以离线操作模式访问数据项。在一种实现中,与访问相关的信息包括与访问图中的节点之间的边相关联的标志。一种类型的标志可以将数据项链接到访问图的两个或更多节点。这种类型的标志可以被用来实现两个或更多策略因素之间的逻辑AND运算。

Description

使用访问图来提供对数据项的访问
背景技术
系统可以提供访问控制模型来管理与它分发到接收方的数据项(如文档等等)相关联的访问权限。该模型帮助降低未经授权的实体可以访问数据项的风险。
在线类型的访问控制模型使用集中式策略基础结构来控制数据项的传播。例如,在此方法中,接收方可以从集中式策略基础结构请求访问数据项的许可证。集中式策略基础结构可以咨询策略信息来确定接收方是否有权接收数据项。如果有权,则集中式策略基础结构可以向接收方提供使用许可证。使用许可证允许接收方访问数据项,通常在有限量的时间内。然而,这种类型的模型并不能轻松地适应于其中用户希望以离线方式访问数据项的情况。在离线设置中,接收方可能不能访问集中式策略基础结构。
其他访问控制模型通过向接收方分发加密密钥来解决上文所提及的问题。例如,一种类型的模型提供包括节点集合的访问图。节点定义各自的访问类。该模型将密钥指定到访问图中的各自的节点。该模型可以通过为该接收方提供与访问图中的对应的节点相关联的密钥来允许接收方访问特定访问类。因此,此模型可以允许用户以离线操作模式(例如,通过预先向用户分发适当的密钥)访问数据项。?然而,除了别的可能的缺点之外,此模型在其对将控制对数据项的访问的不同类型的策略考虑进行有效地并且灵活地表达的能力方面具有局限性。
发明内容
描述了允许接收方使用由一个或多个访问图所提供的节点结构来以离线方式访问数据项的方法。该方法通过将数据项链接到节点结构,例如,从而将数据项当作节点结构的节点,来完成此功能。然后,该方法将与访问相关的信息的压缩包分发到接收方。与访问相关的信息允许接收方通过由节点结构所定义的连接来访问数据项。
例如,该方法可能需要将图信息分发到接收方。图信息可包括:节点结构信息,其描述由一个或多个访问图所提供的节点结构的至少一部分;标签信息,其提供与所述节点结构中的一组节点相关联的标签;标志信息,其提供与所述节点结构中的节点之间的一组边相关联的标志;以及,密钥信息,其提供授权所述接收方访问所述节点结构的至少一部分的一组加密密钥。该方法还需要与链接信息一起向接收方提供数据项。使用内容密钥来保护数据项。链接信息将数据项与节点结构相关联。接收方可以使用图信息和链接信息来访问内容密钥,例如,通过发现节点结构中的“通向”数据项的路径。接收方可以使用内容密钥来解密数据项。
根据另一个说明性方面,链接信息包括标志,其将数据项与节点结构中的一个或多个节点相关联。例如,链接信息可包括标志,该标志使用逻辑AND运算来将数据项与两个节点(节点1和节点2)相关联。例如,标志可以被表达为:y12,d=Kd XOR H((K1 XOR K2),Ld).这里,y12,d表示标志,Kd是与数据项相关联的密钥,K1表示与链接到数据项的节点1相关联的密钥,K2表示与链接到数据项的节点2相关联的密钥,以及,Ld是与数据项相关联的标签。
除了别的潜在特征之外,该方法可以允许接收方以离线方式访问数据项,例如,无需连接到集中式策略基础结构。该方法也可以使用与访问相关的信息的经济包来适应访问权限的分发。该方法还提供用于表达任何类型的策略考虑的有效而灵活的机制,包括涉及两个或更多策略因素的逻辑组合的复杂策略考虑。
上面的方法可以显现在各种类型的系统、组件,方法、计算机可读介质、数据结构等等中。
提供本发明内容是为了以精简的形式介绍一些概念;这些概念在以下详细描述中进一步描述。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
图1示出了用于允许接收方以离线方式访问数据项的说明性电子系统。
图2示出了与一个或多个访问图相关联的说明性节点结构。图2还示出了可以使用链接信息将数据项与节点结构相关联的方式。
图3是演示了如何使用与节点结构中的节点相关联的密钥信息来导出与下属(后代)节点相关联的密钥信息的示例。
图4是演示一个访问图中的节点如何链接到另一个访问图中的节点的示例。
图5是演示了一个访问图中的节点如何可以链接到数据项的示例。
图6是演示了如何使用逻辑AND运算来将节点结构中的两个节点链接到数据项的示例。
图7是演示了如何使用逻辑AND运算来将节点结构中的节点链接到数据项的另一个示例。
图8是演示了如何使用逻辑AND运算来将节点结构中的节点链接到数据项的另一个示例。
图9是演示了如何可以将本地许可功能与下载的与访问相关的信息一起使用来控制对数据项的访问的示例。
图10是演示了如何将与报告层次结构相关联的访问图链接到与单元层次结构相关联的访问图,以及如何将数据项链接到所产生的节点结构的示例。
图11是根据一个说明性实现的提供图1的系统的操作的总览的过程。
图12是说明了如何可以使用图1的图信息分发(GID)模块来生成图信息的过程。
图13是说明了如何可以使用图1的GID模块来向接收方提供图信息的过程。
图14是说明了如何可以使用图1的系统来将链接信息和数据项一起提供给接收方的过程。
图15示出了可以被用来实现前面的附图中所示出的特征的任何方面的说明性处理功能。
在整个说明书和附图中,使用相同的标号来指示相同的组件和特征。系列100的编号表示图1中的特征,系列200编号表示图2中的特征,系列300编号表示图3中的特征,以此类推。
具体实施方式
本公开阐述了用于使用一个或多个访问图来访问数据项的方法。本发明是按如下方式来组织的。部分A描述了用于提供对数据项的离线访问的说明性系统。部分B描述了说明部分A的系统的操作的说明性方法。部分C描述了可以被用来实现部分A和B所描述的特征的任何方面的说明性处理功能。
作为正文前的图文,一些附图是在一个或多个结构组件(各自称为功能、模块、特征、元件等等)的上下文中来描述概念的。附图所示出的各种组件可以以任何方式来实现,例如,通过软件、硬件(例如,离散逻辑组件等等)、固件等等,或这些实现的任何组合。在一种情况下,附图中所示出的将各种组件分离为不同的单元可以反映在实际实现中使用对应的不同的组件。可另选地,或者另外,附图中所示出的任何单个组件都可以通过多个实际组件来实现。可另选地,或者另外,对附图中的任何两个或更多单独的组件的描绘可以反映由单一实际组件所执行的不同的功能。要依次讨论的图15提供了关于附图所示出的功能的一个说明性实现的更多细节。
其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一顺序执行的不同的框。这样的实现是说明性的,非限制性的。可以将此处所描述的某些框分组在一起,并在单一操作中执行,可以将某些框分解为多个组件框,还可以以不同于此处所示出的顺序来执行某些框(包括以并行方式执行框)。流程图所示出的框可以通过软件、硬件(例如,离散逻辑组件等等)、固件、手动处理等等,或这些实现的任何组合来实现。
至于术语,短语“被配置成”包含任何类型的功能可以被构建来执行已标识的操作的任何方式。功能可以被配置成使用,例如,软件、硬件(例如,离散逻辑组件等等)、固件等等,和/或其任何组合来执行操作。
术语“逻辑”包含用于执行任务的任何功能。例如,流程图中所示出的每一个操作都对应于用于执行该操作的逻辑组件。操作可以使用,例如,软件、硬件(例如,离散逻辑组件等等)、固件等等,和/或其任何组合来执行操作。
A.说明性系统
A.1.系统概述
图1示出了用于控制对数据项的访问权限的说明性电子系统100(简称为“系统”)。术语“数据项”应该从广义上理解。数据项是指任何实体出于任何理由希望保护的任何信息单元。数据项可以涉及文档项、图像项、视频项、音频项、代码文件项、标签语言项等等,或其任何组合。此外,数据项可以涉及更加包含性的项的一部分,如文档内的页面,代码文件内的对象或子例程等等。
系统100通过控制实体可以访问数据项的条件来保护数据项。下列公开将可以接收数据项的实体称为“接收方”。在某些情况下,接收方可以是指为各种目的接收和消费数据项的用户或用户组。可另选地,或另外,接收方可以是指接收数据项的计算功能。对于什么可以构成在此处所使用的接收方没有限制。
图1标识了系统100的两个主要组件:图信息分发(GID)模块102和接收器模块104。GID模块102通过向接收器模块104发送简洁的与访问相关的信息的包来操作。接收器模块104使用与访问相关的信息来访问数据项。接收器模块104可以表示多个接收器模块(未示出)中的一个。每一个接收器模块都可以与为任何目的试图访问数据项的任何类型的接收方相关联。例如,接收器模块104可以表示由人接收方操作的计算设备。
图2是说明哪些可以构成与访问相关的信息的媒介。为便于理解,在进一步说明图1之前,将讨论此图。
图2描绘了访问图(202,204,…206)的集合。每一个访问图都提供关于特定主题或尺度的信息。例如,一个访问图可以提供关于一个机构内的报告职责的信息。此访问图被称为与报告相关的访问图。另一个访问图可以描述一个机构内的单元。此访问图被称为与单元相关的访问图。另一个访问图可以描述一个机构内的角色等等。此访问图被称为与角色相关的访问图。对于哪些可以构成访问图没有限制。在一个特定和非限定性的情况下,访问图中的节点可以定义各自的访问类。
可以制定项访问策略,这是由访问图(202,204,…206)表达的信息组合。例如,策略可以指定数据项对于在一个机构的特定单元u内具有特定角色r的接收方是访问的,其中,角色信息被相对于与角色相关的访问图标识,单元信息被相对于与单元相关的访问图标识。
访问图内的信息可以被表示为节点的集合。例如,与报告相关的访问图可包括对应于机构内的成员的节点。此外,访问图可包括将节点连接在一起的链接(或边)。例如,在与报告相关的访问图中,与经理相关联的节点可包括连接到与经理的雇员相关联的节点的链接。这样的访问图可以构成有向图,只要连接节点的链接具有方向性。例如,与经理相关联的节点包括“指向”与经理的雇员相关联的链接。在此示例中,这样的访问图可以采取包括父子关系的节点的层次结构的形式。但是,其他访问图可以采用组织节点的其他方式。
图2还示出了在不同的层次结构中表达节点之间的关系的图之间的关系信息208。例如,图之间的关系信息208可包括将与报告相关的访问图中的经理节点连接到与单元相关的的访问图内的特定单元节点的链接。总起来说,访问图(202,204,…206)和图之间的关系信息208定义节点结构。术语“节点结构信息”是指描述节点结构内的节点和这些节点的互连的信息。
如下文参考随后的图比较详细地描述的,节点结构中的每一个节点都可包括加密密钥(K)和与其相关联的标签(L)。密钥(K)描述了可以通过任何类型的密码算法来生成的非公共信息。密钥可以被接收方用来获取对与密钥相关联的节点的访问。标签(L)描述表示节点的公共信息。此外,连接任何两个节点i和j的每一个链接都包括与其相关联的公共标志。要依次描述的图3提供了关于说明性节点结构中的密钥、标签,以及标志之间的说明性关系的附加信息。
密钥信息共同地指在节点结构内所使用的密钥。标签信息是指在节点结构内所使用的标签。标志信息是指在节点结构内所使用的标志。通用术语“图信息”包含诸如节点结构信息、密钥信息、标签信息,以及标志信息之类的关于节点结构的各种特征的信息。
图2还示出了可以使用一个或多个链接将数据项210与节点结构相关联。更具体而言,数据项210可以被视为节点,如同节点结构内的任何其他节点。如此,数据项210可包括私钥以及与其相关联的公共标签。更具体而言,与数据项210相关联的密钥构成可以被接收器模块104用来解密数据项的内容密钥(Kd)。此外,将数据项210连接到节点结构的其余部分的链接可包括一个或多个与其相关联的标志。链接信息212对应于指定数据项210如何连接到节点结构的上文所描述的信息。
与访问相关的信息是指与链接信息212一起的图信息(包括节点结构信息、密钥信息、标签信息,以及标志信息)。以下面更详细地描述的方式,系统100将与访问相关的信息的简洁包传递到接收器模块104。接收器模块104使用与访问相关的信息来访问它有权接收的数据项。接收器模块104通过使用所提供的与访问相关的信息来从图中揭示附加的密钥信息,有效地遵循通过所述节点结构的路径来执行此任务,所述路径最终通向与“找寻”的数据项相关联的内容密钥。被转发到接收器模块104的与访问相关的信息被视为简洁的,因为它提供允许接收器模块104跟踪到数据项210的路径的足够的信息,但是,不必作为整体包含与节点结构相关联的与访问相关的信息的全部。
利用关于访问图的使用的上述引导性讨论,现在返回到图1。从GID模块102开始,此模块包括(或可以被概念化为包括)执行个别功能的许多组件。一个或多个图提供方(106,108,…110)提供用于构成(图2的)节点结构的访问图信息。例如,一个图提供方可以对应于提供关于一个机构内的成员的信息的人力资源实体。因此,此图提供方可以充当为与报告相关的访问图提供信息的源。此处对可以与GID模块102进行交互的图提供方的类型没有限制。一个或多个图提供方可以表示相对于GID模块102独立的实体。可另选地,或另外,一个或多个图提供方可以由与GID模块102相关联的同一个实体来管理。
一个或多个提供方界面(112,114,…116)与各自的图提供方(106,108,…110)进行交互。提供方界面(112,114,…116),例如,从各自的图提供方(106,108,…110)接收访问图信息。提供方界面(112,114,…116)可以使用任何类型的方法来接收访问图信息,如图提供方(106,108,…110)独立地向提供方界面(112,114,…116)发送访问图信息的推技术,提供方界面(112,114,…116)从图提供方(106,108,…110)请求访问图信息的拉技术等等。在执行此交互时,提供方界面(112,114,…116)可以适应图提供方(106,108,…110)所使用的不同的协议。
提供方界面(112,114,…116)可以将访问图信息格式化为具有一致格式的各个访问图。然后,提供方界面(112,114,…116)可以将访问图存储在主要访问图存储118中。总起来说,访问图可以构成节点结构,如参考图2所讨论的。也可以补充节点结构以包括链接不同的访问图之间的节点的图之间的关系信息208。此外,节点结构可以保存指出节点结构的不同的部分的起源的信息。例如,节点结构可以维护指出与报告相关的访问图中的节点起源于人力资源实体的信息。
图管理器模块120执行涉及在主要访问图存储118中提供的节点结构的各种功能。例如,图管理器模块120可以将密钥信息、标签信息,以及标志信息添加到节点结构中。如参考图2所说明的,密钥信息和标签信息对应于与节点结构中的个别节点相关联的私钥和公共标签。标志信息对应于与节点结构内的节点之间的边相关联的公共标志。稍后的附图将说明如何将密钥信息、标签信息,以及标志信息关联在一起。在每一次对节点结构更新时,例如,当从图提供方(106,108,…110)接收到新的信息,图管理器模块120都可以重新计算密钥信息、标签信息,以及标志信息。
图管理器模块120也可以在选择要被发送到接收器模块104的图信息的简洁包中起作用。从功能上看,图管理器模块120通过选择仅足以允许接收器模块104访问适当的数据项的一组图信息来执行此任务。如此,知道要被访问的数据项是控制哪些图信息适于发送到接收器模块104的一个因素。一般而言,图管理器模块120可以不必作为整体发送与节点结构相关联的整组图信息。如此,图管理器模块120可以试图避免将图信息的过度包括或过度确定的包发送到接收模块104。
如上文所描述的,接收器模块104可以表示多个接收器模块(未示出)中的一个。每一个接收器模块(以及相关联的接收方)可以具有对整组图信息的不同的部分的个别授权。因此,GID模块102可以将图信息的不同的包发送到不同的各自的接收器模块。
提供方同步器模块122与接收器模块104的互补接收器同步器模块124进行交互,以将图信息发送到接收器模块104。再次,图信息可包括节点结构信息、密钥信息、标签信息,以及标志信息的简洁包。提供方同步器模块122可以以任何基础提供图信息。在一种情况下,提供方同步器模块122周期性地发送图信息,如一天一次,或一小时一次等等。可另选地,或另外,提供方同步器模块122基于触发事件来发送图信息。一个这样的触发事件可以对应于从图提供方(106,108,…110)接收到新访问图信息的指示。另一个触发事件可以对应于来自接收器模块104的对于图信息的表达的请求等等。对于提供方同步器模块122可以用来向接收器模块104发送图信息的协议没有限制。
在一种实现中,提供方同步器模块122可以在它确定接收器模块104有权接收图信息之后向接收器模块104发送图信息。例如,对于节点结构中的每一个节点,提供方同步器模块122可以确定接收器模块104是否有权接收该节点的私钥。如果有,则提供方同步器模块122可以授权将该密钥传播到接收器模块104。为执行此任务,提供方同步器模块122可以咨询适当的图提供方(106,108,…110)。例如,假设正被讨论的节点描述是从人力资源实体收集的信息。在此情况下,提供方同步器模块122可以咨询此特定图提供方以确定接收方是否有权接收此节点的私钥。提供方同步器模块122可以使用在节点结构中捕捉的连接性信息来标识节点结构的不同部分的源。
为执行上面的功能,提供方同步器模块122可以执行映射操作,该操作将接收方与节点结构中的考虑中的节点相关。例如,假设考虑中的节点起源于与单元相关的访问图。提供方同步器模块122可以确定正在操作接收器模块104的人p是否与由考虑中的节点所表示的单元相关联。提供方同步器模块122可以通过咨询图提供方(其是考虑中的节点的源),或通过咨询映射信息的某种其他源,来作出此确定。
项提供方模块126执行向接收器模块104发送一个或多个数据项的任务。在一种情况下,系统100可以集成GID模块102和项提供方模块126,以便项项提供方模块126表示GID模块102内的功能模块。在另一种情况下,系统100可以将GID模块和项提供方模块126实现为两个单独的单元(可以由同一个实体或不同的各自的实体来管理它们)。此外,可以在不同的各自的位置或相同的位置实现GID模块102和项提供方模块126。在任何情况下,项提供方模块126都可以与GID模块102进行交互以执行其功能。虽然未示出,但是,系统100可包括多个项提供方模块。例如,每一个项提供方模块126都可以从各自的创作实体或发布实体提供数据项。一个或多个项提供方模块也可以与接收器模块104位于同一本地环境内。
项提供方模块126执行与向接收器模块104提供数据项相关联的各种功能。例如,项提供方模块126可以使用内容密钥(Kd)将原始数据项128加密为已加密的数据项130。项提供方模块126也可以将数据项链接到节点结构。在这样做时,系统100将数据项当作访问类节点,正如节点结构中的起源于各种访问图的其他节点一样。
项提供方模块126可以与图管理器模块120一起工作,以定义表征与数据项相关联的节点(例如,“数据节点”)的信息。例如,节点可包括内容密钥Kd和公共标签Ld。此外,项提供方模块126可以与图管理器模块120一起工作,以添加一个或多个标志,以描述将数据项连接到节点结构的链接。如参考图2所讨论的,链接和标志在此统称为链接信息。在一种情况下,数据项构成节点结构内的虚拟节点。在此方法中,数据项以及其链接信息与节点结构中的其他节点分开存储(由访问图定义)。链接信息虚拟地将数据项链接到节点结构。
最后,项提供方模块126将已加密的数据项130与链接信息一起提供到接收器模块104。系统100可以使用不同的协议来将数据项和链接信息发送到接收器模块104。在一种情况下,可以使用提供方同步器模块122来将数据项和链接信息提供到接收器模块104。在另一种情况下,项提供方模块126可以使用独立的信息路径(以及可能,独立通信协议)来将数据项和链接信息发送到接收器模块104。将数据项和链接信息传输到接收器模块104的动作可以使用任何方法,如基于推的方法(其中,项提供方模块126启动传输),基于拉的方法(其中,接收器模块104通过请求它来启动传输)等等。
GID模块102和项提供方模块126可以可任选地加密它们发送到接收器模块104的与访问相关的信息。例如,GID模块102和项提供方模块126可以使用与特定接收方相关联的密钥信息来加密它发送到该接收方的与访问相关的信息,从而降低未经授权的实体可以访问与访问相关的信息的风险。
现在转向接收器模块104,接收器模块104包括本地访问图存储132。本地访问图存储132存储如由接收器同步器模块124接收到的由GID模块102所发送的图信息。本地访问图存储132也可以可任选地存储由项提供方模块126发送给它(直接或间接地)的已加密的数据项和链接信息。如上文所描述的,图信息和链接信息构成允许接收器模块104访问数据项的与访问相关的信息的经济包。
项访问模块134构成使用图信息和链接信息来实际执行访问数据项的任务的代理。为执行此任务,项访问模块134依赖于路径查找器模块136。路径查找器模块136使用图信息和链接信息来确立通过节点结构来检索数据项的内容密钥(Kd)的路径。一旦被访问,项访问模块134可以使用内容密钥来解密数据项以提供经解密的数据项138。关于项访问模块134和路径查找器模块136操作的方式的附加信息将被推迟到下面的部分A.2。除由图信息和链接信息(统称为“与访问相关的信息”)所定义的约束之外,许可证可以控制接收器模块104对数据项的访问。例如,许可证可以设置用户被允许使用与访问相关的信息来访问数据项的时长。
接收器模块104随着时间的推移更新图信息和链接信息,例如,周期性地或以任何其他基础。因此,本地访问图存储132可以维护与访问相关的信息的多个版本。接收器模块104可以使用不同的策略来管理和使用不同版本的与访问相关的信息。在一种情况下,接收器模块104可以保留与访问相关的信息的旧的(非当前)版本,准许接收器模块104访问链接到旧的与访问相关的信息的对应的旧的(以前接收到的)数据项。然而,在一种情况下,接收器模块104可以禁止使用旧的与访问相关的信息来访问链接到与访问相关的信息的比较新的版本的新接收到的数据项。
在一种情况下,GID模块102和项提供方模块126可以在每一次更新与访问相关的信息时发送与访问相关的信息的完整的副本。在另一种情况下,GID模块102和项提供方模块126可以在每一次更新时发送增量。这些增量可以有选择地提供与访问相关的信息中的相对于与访问相关的信息的最近先前的版本已经变化的部分。可以使用其他策略来提供和维护与访问相关的信息。
概括地说,分发到接收器模块104的与访问相关的信息有效地表示控制对数据项的访问的策略考虑。通过预先分发此与访问相关的信息,GID模块102预先实施由与访问相关的信息所表达的策略考虑。此方面允许接收器模块104以离线操作模式访问和消费数据项。在离线操作模式下,接收器模块104不需要访问集中式策略基础结构以确定它是否被授权访问数据项。因此,此方法在其中接收器模块104没有对集中式报告基础结构的访问权限的那些环境中特别有益(虽然该方法可以用于任何环境中)。
可另选地,GID模块102(或某种其他访问控制服务)也可以提供在线处理功能140。在线处理功能140以在线操作模式控制对数据项的访问。例如,应来自接收器模块104的请求,在线处理功能140通过引用中心存储的策略考虑(未示出)来确定接收器模块104是否有权接收数据项。如果在线处理功能140确定接收器模块104被授权接收数据项,则可以提供使用许可证等等。
在一种实现中,系统100可以使用在线模式或者离线模式来作出访问决定。取决于各种上下文因素,系统100可以在这些模式之间选择。例如,如果在线处理功能140可用,接收器模块104可以依赖于此模块作出决策。如果在线处理功能140不可用,则接收器模块104可以基于存储在其本地访问图存储132中的预先分发的与访问相关的信息来在离线模式下操作。在另一种情况下,接收器模块104可以试图在离线模式下访问数据项。如果由于某种原因它不能在离线模式下执行此功能,则它可以试图使用在线模式来访问数据项。用于组合在线模式和离线模式的其他策略也是可以的。
就物理实现而言,GID模块102可以与可被一个或多个接收器模块104访问的计算机实现的服务相关联。例如,GID模块102可以通过一个或多个服务器类型的计算机、一个或多个数据存储等等来实现。GID模块102可以在单一站点提供或可以分布在多个站点上。项提供方模块126可以同样与计算机实现的服务相关联。该服务可以与GID模块102集成或者与GID模块102分开实现(至少部分地)。
接收器模块104可以与用于访问数据项的任何类型的功能相关联。在一种情况下,接收器模块104可以表示由人接收方操作的计算设备,如通用计算机、膝上型计算机、个人数字助理类型的设备、移动电话设备、游戏控制台等等。接收方可以操作计算设备以任何目的访问任何应用环境中的数据项。
在另一种情况下,接收器模块104可以表示用于访问数据项的计算机实现的本地服务。例如,接收器模块104可以通过一个或多个本地服务器类型的计算机、数据存储等等来实现。一个或多个最终用户类型的接收方可以与这样的本地服务进行交互,以消费可通过本地服务访问的数据项。GID模块102和接收器模块104的其他实现也是可以的。
网络(未示出)可以耦合GID模块102和接收器模块104。网络可以对应于广域网(例如,因特网)、局域网、点到点连接等等,或其任何组合。网络可以通过硬连线的链路、无线链路、路由器、名称服务器、网关等等的任何组合来实现。网络可以由任何协议或协议组合来管制。
A.2.说明性链接策略
图3-10提供关于节点结构内的节点之间的可能的关系的更多细节。因此,这些图形阐明接收器模块104如何可以使用与访问相关的信息的有限的集合来最终“到达”与它试图访问的数据项相关联的节点。这允许接收器模块104访问与数据项相关联的内容密钥(Kd),然后使用内容密钥来解密数据项。用比喻,可以将揭示内容密钥的过程比作跟踪节点结构中的通向内容密钥的路径,连续地揭示沿着该途径的中间密钥。
从图3开始,此图示出了用于使用与父节点相关联的密钥来导出与链接的子节点相关联的密钥的通用策略。此策略基于Mikhail J.Atallah等人所著的“Dynamic and Efficient Key Management for Access Hierarchies(动态和有效的访问层次的密钥管理)”(Proceedings of the 12th ACMConference on Computer and Communications(第12届计算机和通信ACM会议上的会刊),2005,pp.190-202)。
更具体而言,图3示出了有向图中的四个节点(302、304、306,以及308)。节点304和306是相对于父节点302的子节点。节点308是相对于父节点304和306的子节点。假设,在派生开始时,给接收方提供与父节点302相关联的密钥(K1)。还给接收方提供与所有节点相关联的公共标签(L1,L2,L3,L4),以及将节点连接在一起的公共标志(y12,y13,y23,y34)。
接收方可以分别导出与节点304、306,以及308相关联的所有其他密钥(K2、K3、K4),给定上述“种子”信息。首先,任何两个链接的节点i和j之间的任何标志(其中,i是j的父),可以呈现形式yij=Kj XOR H(Ki,Lj),其中,yij是链接节点i和j的边的标志值,Ki是与节点i相关联的密钥,Kj是与节点j相关联的密钥,Lj是与节点j相关联的公共标签,“XOR”是指逻辑“异或”运算,而H(Ki,Lj)是指Ki和Lj的散列(通过任何类型的散列算法来提供)。给定此表达式,接收方可以计算与节点304相关联的密钥K2,以及与节点306相关联的密钥K3。获得了K2或者K3,接收方可以生成与节点308相关联的密钥K4。以此方式,接收方可以通过从K1的初始种子密钥开始揭示密钥,(以及与节点和边相关联的公共信息),连续地沿着节点的层次结构往下走。请注意,不需要给接收方提供节点结构中的所有密钥,只需K1
进一步请注意,在一种实现中,接收方不被允许使用与后代节点相关联的密钥来导出与父节点相关联的密钥。例如,假设给接收方提供了密钥K2,但不提供密钥K1。在此情况下,由于散列函数的本性,密钥K2无法用于导出密钥K1。同样,被提供了密钥K2的接收方不能使用节点结构来导出密钥K3,反之亦然。
图1-2和4-15呈现了图3所示出的方法没有暗示的对图3所示出的密钥派生方法的改进。
例如,图4示出了用于将数据项402与访问图406中的节点404相关联的方法。假设,例如,节点404标识与报告相关的访问图406内的雇员p。在此情况下,标志ypd可以被用来表达节点404和数据项402之间的链接。标志可以采取ypd=Kd XOR H(Kp,Ld)的形式,其中,Kd是与数据项402相关联的密钥(例如,对应于数据项402的内容密钥),Kp是与节点404相关联的密钥,而Ld是指与数据项402相关联的公共标签。如此,给定了ypd、Kp,以及Ld,接收方可以计算密钥Kd。如上文所描述的,数据项402可以被视为虚拟节点,只要数据项402和标志ypd不必与节点结构(与访问图相关联的)的其他节点存储在一起。
图5示出了用于将第一访问图504中的节点502与另一个访问图508中的节点506相关联的方法。假设,例如,节点502对应于与单元相关的访问图504内的单元u,而节点506标识与报告相关的访问图508内的雇员p。在此情况下,标志ypu可以被用来表达人p节点506和单元u节点502之间的链接。标志可以采取ypu=Ku XOR H(Kp,Lu)的形式,其中,Ku是与单元u节点502相关联的密钥,Kp是与人p节点506相关联的密钥,而Lu是指与单元u节点502相关联的公共标签。如此,给定了ypu、Kp,以及Lu,接收方可以计算Ku
图6示出了数据项602可以与节点结构中的两个或更多节点相关联的方法。例如,数据项602与第一访问图606中的节点604和另一个访问图610中的节点608相关联。假设,例如,节点604对应于与角色相关的访问图606内的角色r,而节点608标识与单元相关的访问图610内的单元u。在此情况下,标志yur,d可以表达与角色r节点604和单元u节点608相关联的策略因素的逻辑组合。即,标志yur,d可以指定,如果接收方与角色r和单元u两者都相关联,接收方有权访问数据项602,因此,拥有这些节点(604,608)的对应的密钥。标志可以采取yur,d=Kd XOR H((Ku XOR Kr),Ld)的形式,其中,Kd是与数据项602相关联的密钥,Kr是与角色r节点604相关联的密钥,Ku是与单元u节点608相关联的密钥,而Ld是指与数据项602相关联的公共标签。这里,单一标志表示两个链接,例如,将数据项602与角色r节点604连接的链接,以及将数据项602连接到单元u节点608连接的链接。给定了yur,d、Kr、Ku以及Lu,接收方可以计算Kd。图6示出了对于两个策略因素的逻辑AND运算,但是,图6所示出的方法可以被扩展以对于两个以上的策略因素执行逻辑AND运算。
图7示出了数据项702可以以上文对于图6所描述的方式使用逻辑AND组合与节点结构中的两个或更多节点相关联的方法。即,数据项702可以耦合到第一访问图706中的节点704和另一个访问图710中的节点708。假设,例如,节点704对应于与角色相关的访问图706内的角色r,而节点708标识与单元相关的访问图710内的单元u。再次,标志yur,d可以将节点704和708的逻辑组合表达为yur,d=Kd XOR H((Ku XOR Kr),Ld),其中,此表达式中的项如上所述。另外,图7还示出了访问图714(如与报告相关的访问图)的节点712(如人节点p)可以使用标志ypd=Kd XOR H(Kp,Ld)连接到数据项702,其中,Kd是与数据项702相关联的密钥,Kp是与人p节点712相关联的密钥,而Ld是指与数据项702相关联的公共标签。事实上,图7所示出的关系表达了如果:a)接收方具有角色r并属于单元u;或者b)接收方对应于人p,则接收方可以访问数据项702。如此,给定:a)yur,d、Kr、Ku,以及Ld,或者,b)ypd、Kp,以及Ld,接收方可以计算Kd
图8示出了其中可以使用两个逻辑AND运算来将节点结构中的三个节点与数据项802相关联的示例。即,数据项802连接到第一访问图806(如与报告相关的访问图)中的节点804(如人p节点)。数据项802还连接到另一个访问图810(如与角色相关的访问图)中的节点808(如角色r节点)。数据项802还连接到另一个访问图814(如与单元相关的访问图)中的节点812(如单元u节点)。在此情况下,标志ypr,d可以表达如果接收方对应于具有角色r的人p,接收方有权访问数据项802。标志yur,d表达如果接收方具有角色r并附属于单元u,接收方可以可另选地访问数据项802。标志ypr,d可以采取ypr,d=Kd XOR H((Kp XOR Kr),Ld)的形式,而标志yur,d可以采取yur,d=Kd XOR H((Ku XOR Kr),Ld)的形式,其中,这些表达式中的术语如上所述。如此,给定:a)ypr,d、Kr、Kp,以及Lu,或者,b)yur,d、Kr、Ku,以及Lu,接收方可以计算Kd
图9与图8的类似之处在于,数据项902连接到第一访问图906(如与报告相关的访问图)中的节点904(如人p节点),以及另一个访问图910(如与单元相关的访问图)中的另一个节点(如单元u节点)。另外,图9还示出了随对本地许可功能912的批准,进行对数据项902的访问。在一种情况下,本地许可功能912可以表示相对于图1的在线处理功能140对于接收器模块104更加本地的任何类型的功能。例如,接收器模块104可以将本地许可功能912实现为接收器模块104的组件。可另选地,接收器模块104可以访问实现本地许可功能912的单独的模块。例如,本地许可功能912可以通过被视为相对于接收器模块104是本地的一个或多个服务器类型的计算设备来实现。(在这方面,提供数据项902的项提供方模块126可以相对于接收器模块104是远程的或者本地的。)
本地许可功能912可以应用任何类型的策略考虑来确定接收器模块104是否有权访问数据项902。如果符合这些策略考虑,则本地许可功能912可以将许可密钥K1提供到接收器模块104。许可密钥K1表示除从GID模块102向接收器模块104提供的一组许可密钥(例如,Kr和Ku)之外所提供的密钥。
在一种实现中,本地许可功能912可以可任选地将其决定基于本质上是上下文的一个或多个策略考虑,如由一个或多个上下文因素914所表示的。只作为一个代表性的示例,本地许可功能912可包括标识移动接收器模块104的当前位置的位置确定功能(例如,GPS功能)。本地许可功能912可以作为位置确定功能的输出的函数来生成密钥K1。例如,如果接收器模块104在其中接收器模块104被授权接收数据项902的某一地理区域内,则本地许可功能912可以生成密钥K1。此示例只是可以被用来将本地许可考虑应用到对接收器模块104在任何给定时间是否有权访问数据项902的确定的各种策略考虑的说明。
图9示出了密钥K1可以以任何方式与节点结构中的其他节点组合以表达控制对数据项902的访问的复杂条件。例如,图9中的标志(yp1,d和yu1,d)指出,如果:a)接收方与雇员p相关联,并被授予了密钥K1;或者b)接收方附属于单元u,并被授予了密钥K1,则接收器模块104可以访问数据项902。应用于GPS情况,这些表达式可以表达,如果接收方在给定地理区域内,并且是人p或者附属于单元u,则他或她有权接收数据项902。这只是一个示例。可以形成其他链接以表达将本地许可功能912链接到访问图的节点结构的其他逻辑关系。
在一种情况下,本地许可功能912可以内部执行用于计算数据项902的内容密钥Kd的散列操作。在此方法中,由本地许可功能912所生成的内容密钥K1不必在由本地许可功能912所定义的访问控制周边的外面释放。这有助于阻止未经授权的实体访问内容密钥K1,最终访问数据项902。
本地许可功能的使用表示对实施权限管理策略的任务的混合解决方案。即,在一种方法中,接收器模块104通过引用在线处理功能140来确定它是否被允许访问数据项902。在线处理功能140通过引用集中式策略考虑来作出授权决定。在另一种方法中,接收器模块104通过引用存储在本地访问图存储132中的预先分发的与访问相关的信息来确定接收方是否有权访问数据项。结果,与访问相关的信息表达控制对数据项的访问的预先实施的策略考虑组。在图9中,接收器模块104依赖于对本地许可功能912的动态分析(“运行时”,可能,上下文相关的),以及反映在与访问相关的信息中的预先实施的策略考虑两者。因此,图9的实现是完全依赖于动态许可服务的第一解决方案和完全依赖于预先分发的与访问相关的信息的第二解决方案之间的混合。
图10呈现了组合参考前面的图形阐述的一些原理的示例。此示例示出了两个访问图。第一(最顶端的)访问图对应于与报告相关的访问图。此访问图标识一个机构内的成员以及其成员之间的报告链接。例如,与报告相关的访问图指出,unit21的雇员报告到unit21的经理,unit21的经理报告到unit2的经理,而unit2的经理报告到起决定作用的机构经理。
第二(最底层的)访问图对应于与单元相关的访问图。此访问图标识机构内的单元以及这些单元之间的关系。例如,与单元相关的访问图指出,unit22是unit2的一部分,而unit2是整个机构的一部分。在两个图中,假定与任何子节点相关联的数据项对其链接的祖先节点可用。鉴于此特征,与单元相关的访问图被颠倒(“上下倒置”),以确保子单元被给予对对于它们的各自的父单元可用的数据项的访问。
假设有许多将与报告相关的访问图的节点连接到与单元相关的访问图的节点的图之间的链接。例如,链接可以从与报告相关的访问图的unit22经理节点指向与单元相关的访问图的unit22节点。图管理器模块120可以将标志yu22m,u22=Ku22 XOR H(Ku22m,Lu22)指定到此链接,其中,Ku22是指与unit22节点相关联的密钥,Ku22m是指与unit22经理节点相关联的密钥,而Lu22是指与unit22节点相关联的公共标签。进一步假设,数据项1002与使用标志yu2,d=Kd XOR H(Ku2,Ld)的unit2节点相关联,其中,Kd是指与数据项1002相关联的密钥(其对应于用于解密数据项1002的内容密钥),Ku2是指与unit2节点相关联的密钥,而Ld是指与数据项1002相关联的公共标签。图信息以及与这些访问图相关联的链接信息可以被用来接收与数据项1002相关联的内容密钥Kd。可以通过基本上遵循访问图中的链接,从接收方拥有私钥的节点开始,来执行此任务。
一般而言,图10所示出的链接信息的类型可以被用来表达节点结构中的节点之间的替换的关系。例如,经理可以对一个机构的另一个部分具有特殊关系,该关系没有反映在从图提供方(106,108,…110)接收到的标准访问图信息中。可以使用链接以及对应的标志来表达此关系。这样的链接可以表达特定访问图内的或两个不同的访问图之间的替换的关系。
路径查找器模块136(图1的)执行发现通过由一个或多个访问图所定义的节点结构的路径以定位接收方被授权访问的所希望的数据项的角色。可以使用任何类型的图搜索算法来发现此路径。在一种情况下,路径查找器模块136可以通过首先标识接收方拥有其密钥的节点来发现可用的路径。这些节点表示起始点。然后,路径查找器模块136可以遵循从这些起始节点发出的路径,标识最终链接到数据项的那些路径。路径查找器模块136也可以更有效地应用各种算法(如广度优先算法等等)来对节点结构进行搜索。
GID模块102的图管理器模块120可以生成图信息以减轻图循环发生。在图循环中,路径查找器模块136可以被“粘”在节点结构内的不在一个数据项结束的循环中。为减轻此现象,图管理器模块120可以在节点结构中提供降低图循环的风险的附加的节点。
B.说明性过程
图11-14是示出了图1的系统100的操作的过程。由于在部分A已经描述了构成系统100的操作的基础的原理,在此部分以概述的方式说明某些操作。
图11是根据一个说明性实现的提供图1的系统100的操作的总览的过程。
在框1102中,GID模块102向接收方提供图信息。图信息可包括节点结构信息(其描述由一个或多个访问图所提供的节点结构的一部分),标签信息(其提供与节点结构中的节点相关联的一组公共标签),标志信息(其提供与节点结构中的边相关联的一组标志),以及密钥信息(其提供接收方有权接收的一组秘密密钥,密钥与节点结构中的各自的节点相关联)。
在框1104中,项提供方模块126向接收方提供数据项。利用内容密钥(Kd)加密数据项。
在框1106中,项提供方模块126可以向接收方提供链接信息。链接信息描述数据项如何与节点结构相关联。链接信息和数据项可以与节点结构分开存储,如此,将数据项确立为节点结构的虚拟节点。链接信息本身可包括描述数据项如何链接到节点结构的一个或多个标志。
在框1108中,接收器模块104接收图信息、已加密的数据项,以及链接信息。
在框1110中,接收器模块104使用接收到的信息来发现节点结构内的通向与数据项相关联的内容密钥(Kd)的路径。
在框1112中,接收器模块104使用导出的内容密钥(Kd)来解密数据项。
图12是说明了如何可以使用图1的GID模块102来生成图信息的过程。
在框1202中,GID模块102从一个或多个图提供方(106,108,…110)接收访问图信息。例如,一个这样的图提供方可以对应于人力资源实体,该实体提供可以被用来填充与报告相关的访问图的信息。
在框1204中,GID模块102将它接收到的访问图信息形成为多个访问图,然后,将访问图存储在主访问图存储118中。总起来说,访问图中的节点定义节点结构。
在框1206中,GID模块102的图管理器模块120生成与节点结构相关联的密钥、标签,以及标志。框1206导致生成图信息。如上所述,图信息可包括节点结构信息、密钥信息、标签信息,以及标志信息。
图13是说明了如何可以使用图1的GID模块102来向接收方提供图信息的过程。
在框1302中,GID模块102确定接收方是否具有接收图信息的权限。例如,假设图信息的发布涉及节点结构内的一个或多个节点。GID模块102可以确定接收方是否被授权访问与这些节点相关联的信息,因此,接收方是否被授权接收与这些节点相关联的密钥。GID模块102可以通过咨询与节点结构中的涉及的节点相关联的一个或多个图提供方(106,108,…110)来作出此确定。节点结构保存指出节点结构中的节点的源的链接。
在框1304中,GID模块1304确定适于发送到接收方的图信息集。如上文所讨论的,包括允许接收方访问数据项的该图信息包可能是适当的,但是,不以别的方式过度包括。
在框1306中,GID模块102的提供方同步器模块122向接收方提供图信息。
图14是说明了如何可以使用图1的GID模块102来向接收方与链接信息一起提供数据项的过程。
在框1402中,项提供方模块126可以利用内容密钥(Kd)来加密数据项。
在框1404中,项提供方模块126可以确定哪些策略考虑将用于控制对数据项的访问。因而这又确定数据项链接到节点结构的方式,如一个或多个标志所定义的。第一类型的标志可以使用单一链接将数据项链接到节点结构。第二类型的标志可以使用两个或更多链接将数据项链接到节点结构。后一类型的标志可以被用来表达两个或更多策略因素之间的逻辑AND运算。与数据项相关联的标签和标志构成链接信息。
在框1406中,系统100可以与链接信息一起存储已加密的数据项。如上文所描述的,系统100可以与节点结构分开地存储数据项和链接信息;此方面使数据项变为节点结构的虚拟链接。
在框1408中,系统100可以向接收方提供数据项和链接信息。
C.代表性的处理功能
图15阐述了可以被用来实现上文所描述的功能的任何方面的说明性电气数据处理功能1500。参考图1,例如,图15所示出的处理功能1500的类型可用于实现系统100的任何方面,如GID模块102、接收器模块104等等。在一种情况下,处理功能1500可以对应于包括一个或多个处理设备的任何类型的计算设备。
处理功能1500可包括诸如RAM 1502和ROM 1504之类的易失性和非易失性存储器,以及一个或多个处理设备1506。处理功能1500还可任选地包括诸如硬盘模块、光盘模块等等之类的各种介质设备1508。当处理设备1506执行由存储器(例如,RAM 1502、ROM 1504或在别处)维护的指令时,处理功能1500可以执行上文所标识的各种操作。更一般而言,指令及其他信息可以存储在任何计算机可读介质1510上,包括,但不仅限于,静态存储器存储设备、磁存储设备、光存储设备等等。术语“计算机可读介质”还包含多个存储设备。术语“计算机可读介质”还包含,例如,通过有线、电缆、无线传输等等,从第一位置传输到第二位置的信号。
处理功能1500还包括用于接收来自用户的各种输入(通过输入模块1514),以及用于向用户提供各种输出(通过输出模块)的输入/输出模块1512。一个特定的输出机制可包括呈现模块1516和相关联的图形用户界面(GUI)1518。处理功能1500还可以包括用于通过一个或多个通信管道1522与其他设备交换数据的一个或多个网络接口1520。一个或多个通信总线1524可通信地将上文所描述的组件耦合在一起。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种用于提供对数据项的离线访问的方法(1100),包括:
向接收方提供(1102)图信息,所述图信息包括:
节点结构信息,其描述由一个或多个访问图所提供的节点结构的至少一部分;
标签信息,其提供与所述节点结构中的一组节点相关联的标签;
标志信息,其提供与所述节点结构中的节点之间的一组边相关联的标志;以及
密钥信息,其提供授权所述接收方访问所述节点结构的至少一部分的一组密钥;
向所述接收方提供(1104)数据项,所述数据项被使用内容密钥来保护;以及
向所述接收方提供(1106)链接信息,所述链接信息将所述数据项与所述节点结构相关联,
所述图信息和所述链接信息允许所述接收方访问所述内容密钥,并使用所述内容密钥来解密所述数据项。
2.如权利要求1所述的方法,其特征在于,所述访问图中的每一个都对应于组织化的结构的一个方面。
3.如权利要求1所述的方法,其特征在于,所述密钥组中的密钥授予对应于所述节点结构内的已标识的节点的访问权,所述访问权扩展到所述已标识的节点的后代的一个或多个节点。
4.如权利要求1所述的方法,其特征在于,标志将第一访问图中的第一节点与所述节点结构中的第二节点相关联。
5.如权利要求1所述的方法,其特征在于,所述链接信息包括标志,其将所述数据项与所述节点结构中的节点相关联。
6.如权利要求1所述的方法,其特征在于,所述链接信息包括标志,其将所述数据项与所述节点结构中的至少两个节点相关联。
7.如权利要求6所述的方法,其特征在于,所述标志使用逻辑AND运算来将所述数据项与所述至少两个节点相关联。
8.如权利要求6所述的方法,其特征在于,所述标志通过下列公式来表达:
y12,d=Kd XOR H((K1 XOR K2),Ld),
其中,y12,d表示所述标志,Kd是与所述数据项相关联的密钥,K1表示与链接到所述数据项的第一节点相关联的密钥,K2表示与链接到所述数据项的第二节点相关联的密钥,而Ld是与所述数据项相关联的标签。
9.如权利要求1所述的方法,其特征在于,还包括,在将所述图信息发送到所述接收方之前,确定所述接收方是否有权接收所述图信息。
10.用于存储计算机可读指令的计算机可读介质(1510),当由一个或多个处理设备(1506)执行所述计算机可读指令时提供电子图管理器模块(120),所述计算机可读的指令包括:
被配置成生成将数据项与节点结构中的至少两个节点相关的标志的逻辑(1206),所述节点结构是由一个或多个访问图所提供的,
所述标志,与提供的图信息一起,允许接收方访问所述数据项。
11.如权利要求10所述的计算机可读介质,其特征在于,所述标志使用逻辑AND运算来将所述数据项与所述至少两个节点相关。
12.如权利要求10所述的计算机可读介质,其特征在于,所述标志通过下列公式来表达:
y12,d=Kd XOR H((K1 XOR K2),Ld),
其中,y12,d表示所述标志,Kd是与所述数据项相关联的密钥,K1表示与链接到所述数据项的第一节点相关联的密钥,K2表示与链接到所述数据项的第二节点相关联的密钥,而Ld是与所述数据项相关联的标签。
13.用于访问数据项的接收器模块(104),包括:
用于接收图信息的接收器同步器模块(124),所述图信息涉及与一个或多个访问图相关联的节点结构,所述数据项通过涉及所述节点结构中的至少一个其他节点的数据节点来表示;以及
用于使用所述图信息来跟踪通过所述节点结构来访问所述数据项的路径的项访问模块(134)。
14.如权利要求13所述的接收器模块,其特征在于,所述数据项与所述节点结构中的两个或更多节点相关。
15.如权利要求13所述的接收器模块,其特征在于,所述项访问模块依赖于本地许可功能来访问所述数据项。
CN2010800161997A 2009-04-01 2010-04-01 使用访问图来提供对数据项的访问 Expired - Fee Related CN102378974B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/416,164 2009-04-01
US12/416,164 US8256010B2 (en) 2009-04-01 2009-04-01 Providing access to a data item using access graphs
PCT/US2010/029712 WO2010115059A2 (en) 2009-04-01 2010-04-01 Providing access to a data item using access graphs

Publications (2)

Publication Number Publication Date
CN102378974A true CN102378974A (zh) 2012-03-14
CN102378974B CN102378974B (zh) 2013-10-30

Family

ID=42827066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800161997A Expired - Fee Related CN102378974B (zh) 2009-04-01 2010-04-01 使用访问图来提供对数据项的访问

Country Status (13)

Country Link
US (1) US8256010B2 (zh)
EP (1) EP2414953A2 (zh)
JP (1) JP2012523050A (zh)
KR (1) KR20120002582A (zh)
CN (1) CN102378974B (zh)
AU (1) AU2010232525B2 (zh)
BR (1) BRPI1012698A2 (zh)
CA (1) CA2755507A1 (zh)
CL (1) CL2011002419A1 (zh)
IL (1) IL215293A0 (zh)
MX (1) MX2011010289A (zh)
RU (1) RU2011140008A (zh)
WO (1) WO2010115059A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713313A (zh) * 2016-12-22 2017-05-24 河海大学 一种基于起源图抽象的访问控制方法
CN107548493A (zh) * 2014-05-22 2018-01-05 普契尼国际有限公司 保护有向无环图
CN109478278A (zh) * 2016-07-05 2019-03-15 区块链控股有限公司 用于控制外部进程或系统的区块链实现的控制方法和系统
CN110955903A (zh) * 2019-11-22 2020-04-03 支付宝(杭州)信息技术有限公司 基于智能图计算的隐私资源权限控制方法、装置及设备

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274793A1 (en) * 2009-04-27 2010-10-28 Nokia Corporation Method and apparatus of configuring for services based on document flows
US20100293182A1 (en) * 2009-05-18 2010-11-18 Nokia Corporation Method and apparatus for viewing documents in a database
US8868502B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Organizing versioning according to permissions
US8938599B2 (en) * 2012-03-15 2015-01-20 Hewlett-Packard Development Company, L. P. Distributed graph storage system
US20150180872A1 (en) * 2013-12-20 2015-06-25 Cube, Co. System and method for hierarchical resource permissions and role management in a multitenant environment
US10623514B2 (en) 2015-10-13 2020-04-14 Home Box Office, Inc. Resource response expansion
US10656935B2 (en) 2015-10-13 2020-05-19 Home Box Office, Inc. Maintaining and updating software versions via hierarchy
WO2017093258A1 (en) * 2015-11-30 2017-06-08 Nagravision S.A. Method to track the dissemination of a data set
JP6652771B2 (ja) * 2016-03-22 2020-02-26 アセンブローグ株式会社 アクセス管理方法、情報処理装置、プログラム、及び記録媒体
US10044832B2 (en) 2016-08-30 2018-08-07 Home Box Office, Inc. Data request multiplexing
US10698740B2 (en) 2017-05-02 2020-06-30 Home Box Office, Inc. Virtual graph nodes
US11379598B2 (en) * 2018-02-28 2022-07-05 International Business Machines Corporation Knowledge graph access limitation by discovery restrictions
US11640429B2 (en) 2018-10-11 2023-05-02 Home Box Office, Inc. Graph views to improve user interface responsiveness
US11734356B2 (en) * 2020-09-11 2023-08-22 Jpmorgan Chase Bank, N.A. System and method for implementing an open policy agent bridge
CN116975104A (zh) * 2022-04-22 2023-10-31 戴尔产品有限公司 用于查找数据的方法、电子设备和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136607A1 (en) * 2001-03-26 2007-06-14 Galois Connections, Inc. Crypto-pointers for secure data storage
US20080263370A1 (en) * 2005-09-16 2008-10-23 Koninklijke Philips Electronics, N.V. Cryptographic Role-Based Access Control
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011847A (en) * 1995-06-01 2000-01-04 Follendore, Iii; Roy D. Cryptographic access and labeling system
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
JP2002014929A (ja) * 2000-04-26 2002-01-18 Sony Corp アクセス制御システム、アクセス制御方法、およびデバイス、アクセス制御サーバ、アクセス制御サーバ登録サーバ、データ処理装置、並びにプログラム記憶媒体
US20030187749A1 (en) * 2001-03-28 2003-10-02 Ariel Peled Method and system for creation, management and analysis of distribution syndicates
WO2002080446A1 (fr) * 2001-03-29 2002-10-10 Sony Corporation Appareil de traitement d'information
JP2004297778A (ja) * 2003-03-07 2004-10-21 Canon Inc 画像データ暗号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
GB2400526B (en) * 2003-04-08 2005-12-21 Hewlett Packard Development Co Cryptographic key update management
US7930757B2 (en) * 2003-10-31 2011-04-19 Adobe Systems Incorporated Offline access in a document control system
JP2006020292A (ja) * 2004-06-03 2006-01-19 Canon Inc 情報処理方法、情報処理装置
US7882544B2 (en) * 2004-07-12 2011-02-01 International Business Machines Corporation Inherited role-based access control system, method and program product
US20060165040A1 (en) * 2004-11-30 2006-07-27 Rathod Yogesh C System, method, computer program products, standards, SOA infrastructure, search algorithm and a business method thereof for AI enabled information communication and computation (ICC) framework (NetAlter) operated by NetAlter Operating System (NOS) in terms of NetAlter Service Browser (NSB) to device alternative to internet and enterprise & social communication framework engrossing universally distributed grid supercomputing and peer to peer framework
WO2008065347A2 (en) 2006-12-01 2008-06-05 David Irvine Mssan

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136607A1 (en) * 2001-03-26 2007-06-14 Galois Connections, Inc. Crypto-pointers for secure data storage
US20080263370A1 (en) * 2005-09-16 2008-10-23 Koninklijke Philips Electronics, N.V. Cryptographic Role-Based Access Control
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIKHAIL J. ATALLAH, KEITH B. FRIKKEN, AND MARINA BLANTON: "Dynamic and Efficient Key Management for Access Hierarchies", 《PROCEEDING OF THE 12TH ACM CONFERENCE ON COMPUTER AND COMMUNICATION SECURITY》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107548493A (zh) * 2014-05-22 2018-01-05 普契尼国际有限公司 保护有向无环图
CN109478278A (zh) * 2016-07-05 2019-03-15 区块链控股有限公司 用于控制外部进程或系统的区块链实现的控制方法和系统
CN109478278B (zh) * 2016-07-05 2024-03-08 区块链控股有限公司 用于控制外部进程或系统的区块链实现的控制方法和系统
CN106713313A (zh) * 2016-12-22 2017-05-24 河海大学 一种基于起源图抽象的访问控制方法
CN106713313B (zh) * 2016-12-22 2020-05-05 河海大学 一种基于起源图抽象的访问控制方法
CN110955903A (zh) * 2019-11-22 2020-04-03 支付宝(杭州)信息技术有限公司 基于智能图计算的隐私资源权限控制方法、装置及设备
CN110955903B (zh) * 2019-11-22 2021-03-30 支付宝(杭州)信息技术有限公司 基于智能图计算的隐私资源权限控制方法、装置及设备

Also Published As

Publication number Publication date
KR20120002582A (ko) 2012-01-06
JP2012523050A (ja) 2012-09-27
IL215293A0 (en) 2011-12-29
BRPI1012698A2 (pt) 2019-09-24
WO2010115059A3 (en) 2011-01-20
CL2011002419A1 (es) 2012-06-15
MX2011010289A (es) 2011-10-19
AU2010232525B2 (en) 2014-07-03
RU2011140008A (ru) 2013-04-10
EP2414953A2 (en) 2012-02-08
US8256010B2 (en) 2012-08-28
WO2010115059A2 (en) 2010-10-07
US20100257204A1 (en) 2010-10-07
CN102378974B (zh) 2013-10-30
AU2010232525A1 (en) 2011-10-13
CA2755507A1 (en) 2010-10-07

Similar Documents

Publication Publication Date Title
CN102378974B (zh) 使用访问图来提供对数据项的访问
Kumar et al. Attribute based encryption in cloud computing: A survey, gap analysis, and future directions
CN111368319B (zh) 一种联邦学习环境下基于区块链的数据安全访问方法
Gao et al. BSSPD: A Blockchain‐Based Security Sharing Scheme for Personal Data with Fine‐Grained Access Control
CN108989026B (zh) 一种发布/订阅环境下用户属性可撤销的方法
CN110024352A (zh) 用于iot装置的分散式数据存储和处理
Alboaie et al. Private data system enabling self-sovereign storage managed by executable choreographies
Edemacu et al. Collaborative ehealth privacy and security: An access control with attribute revocation based on OBDD access structure
CN101310544A (zh) 用于跟踪分发到局域网中媒体设备的内容的使用的方法
Ning et al. Traceable CP-ABE with short ciphertexts: How to catch people selling decryption devices on ebay efficiently
CN115964751A (zh) 一种属性分类和等级划分的数据安全存储与访问控制方法
CN106326666A (zh) 一种健康档案信息管理服务系统
US20060015514A1 (en) Information processing method and information processing apparatus
Blundo et al. Efficient key management for enforcing access control in outsourced scenarios
Vaidya et al. A computer-aided feature-based encryption model with concealed access structure for medical Internet of Things
Al-Sabri et al. Building a cloud storage encryption (cse) architecture for enhancing cloud security
CN103391187B (zh) 一种云存储安全控制的方法
Al-Sakran et al. Efficient Cryptographic Technique for Securing and Accessing Outsourced Data
Zhang et al. A ciphertext-policy attribute-based encryption based on Multi-valued decision diagram
Semwal et al. Blockchain graphs (BCGs) to support right-to-be-forgotten “RTBF” in blockchains
Srinivasa Rao et al. De-Centralized Cloud Data Storage for Privacy-Preserving of Data Using Fog
Gondil et al. ABE and Bloom Filter Based Searchable Attribute-Based Encryption Scheme over Cloud Data
Shree et al. An multi-authority attribute based encryption for personal health record in cloud computing
Huang et al. Decentralized Privacy Preservation in Smart Cities
Lavanya et al. Efficient Auditing Scheme for Secure Data Storage in Fog

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131030

Termination date: 20150401

EXPY Termination of patent right or utility model