IP Library Granted Patent US 7,913,172
Granted Patent B2
US 7,913,172 · App. 11/849,267 · Granted Mar 22, 2011

Fine-grained, label-based, XML access control model

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,913,172
App. No.
11/849,267
Granted
Mar 22, 2011
Kind
B2
Abstract

A method for controlling access to an XML document includes referencing a schema definition comprising a path security label definition associated with a sibling-to-sibling path of an XML document. An XML document may then be validated by comparing it with the schema definition. This validation may include verifying that the XML document has a path security label associated with a sibling-to-sibling path that is at least as restrictive as that specified by the path security label definition. An access security label may be assigned to a user seeking to access the sibling-to-sibling path. The path security label and the access security label may then be compared, using pre-determined access rules, to determine whether the user is authorized to access the sibling-to-sibling path. Access to the sibling-to-sibling path may then be granted or denied according to the access rules.

Claims (25)

1. A computer program product comprising a nontransitory computer-readable medium having computer usable program code executable to perform operations to control access to an Extensible Markup Language (XML) document comprising a plurality of nodes and a plurality of paths between each of the nodes, the operations of the computer program product comprising:

referencing a schema definition comprising a path security label definition associated with a sibling-to-sibling pa˜ relationship of an XML document,

the path security label definition defining access rights for the sibling-to-sibling relationship, the sibling-to-sibling relationship comprising a relationship between a first child node and a second child node, the first child node and the second child node descending from a parent node, the XML document further comprising a parent path security label definition associated with a parent-to-child path, the parent path security label definition defining access rights for the parent-to-child path, the parent-to-child path comprising a path between the parent node and the first child node, while simultaneously denying access to all paths leading to the first child node;

receiving an XML document to be validated by comparison with the schema definition;

comparing the XML document to the schema definition;

verifying that the XML document has a path security label associated with the sibling-to-sibling relationship that is at least as restrictive as that specified by the path security label definition of the schema definition for the first child node and the second child node associated with the sibling-to-sibling relationship;

determining an access security label assigned to a user seeking to access the sibling-to-sibling relationship protected by the path security label;

comparing, using pre-determined access rules, the additional path security label to the access security label to determine whether the user is authorized to access the parent-to-child path;

comparing, using the pre-determined access rules, the path security label to the access security label to determine whether the user is authorized to access the sibling-to-sibling relationship; and

controlling access to the sibling-to-sibling relationship and the parent-to-child path for the first child node in accordance with the access rules.

2. The computer program product of claim 1 , wherein the sibling-to-sibling relationship is specified in the schema definition using at least one Xpath expression.

3. The computer program product of claim 1 , wherein the schema definition is selected from the group consisting of a document type definition (DTD) and an XML schema definition (XSD).

4. The computer program product of claim 1 , wherein the access security label assigned to a user is assigned by a user issuing a Standardized Query Language (SQL) command utilizing a SQL extension to assign the access security label.

5. A computer program product to control access to an Extensible Markup Language (XML) document comprising a plurality of nodes and a plurality of paths between each of the nodes, the computer program product comprising a nontransitory computer-readable medium storing a program of computer-readable instruction that when executed on a computer causes the computer to:

generate a schema definition comprising a path security label definition associated with a sibling-to-sibling relationship of an XML document, the path security label definition defining access rights for the sibling-to-sibling relationship, the sibling-to-sibling relationship comprising a relationship between a first child node and a second child node, the first child node and the second child node descending from a parent node, the XML document further comprising a parent path security label definition associated with a parent-to-child path, the parent path security label definition defining access rights for the parent-to-child path, the parent-to-child path comprising a path between the parent node and the first child node, while simultaneously denying access to all paths leading to the first child node;

receive an XML document to be validated by comparison with the schema definition;

compare the XML document to the schema definition;

verify that the XML document has a path security label associated with the sibling-to-sibling relationship that is at least as restrictive as that specified by the path security label definition;

assign an access security label to a user seeking to access the sibling-to-sibling relationship protected by the path security label;

compare, using pre-determined access rules, the additional path security label to the access security label to determine whether the user is authorized to access the parent-to-child path;

compare, using the pre-determined access rules, the path security label to the access security label to determine whether the user is authorized to access the sibling-to-sibling relationship; and

control access to the sibling-to-sibling relationship and the parent-to-child path for the first child node in accordance with the access rules.

6. The computer program product of claim 5 , wherein the sibling-to-sibling relationship is specified in the schema definition using at least one Xpath expression.

7. The computer program product of claim 5 , wherein the schema definition is selected from the group consisting of a document type definition (DTD) and an XML schema definition (XSD).

8. The computer program product of claim 5 , wherein assigning an access security label comprises utilizing a Standardized Query Language (SQL) extension to assign the access security label.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2007
From: RJAIBI, WALID
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020109/0037 →
Continuity (1)
Related Publication 20090063951A1 · Mar 5, 2009