A FineGrained Access Control System for XML Documents - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

A FineGrained Access Control System for XML Documents

Description:

Ernesto Damiani, Sabrina De Capitani Di Vimercati, Stefano ... Deutsch and Tannen 2001. Mendelzon and Wood 1995. 52. Requester's View On Documents. performance ... – PowerPoint PPT presentation

Number of Views:115
Avg rating:3.0/5.0
Slides: 63
Provided by: sun114
Category:

less

Transcript and Presenter's Notes

Title: A FineGrained Access Control System for XML Documents


1
A Fine-Grained Access Control System for XML
Documents
  • Chen Yang
  • imchy_at_is.pku.edu.cn
  • 2005?5?27?

2
  • Ernesto Damiani, Sabrina De Capitani Di
    Vimercati, Stefano Paraboschi, and Pierangela
    Samarati, A Fine-Grained Access Control System
    for XML Documents, ACM Transactions on
    Information and System Security, Vol. 5, No. 2,
    May 2002, Pages 169-202.

3
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

4
Introduction
  • Different approaches have been proposed that
    address the problem of protecting information in
    a Web system, but these approaches typically
    operate at the file-system level.
  • Part of this problem is due to the limitations of
    HTML, historically used to design Web documents.

5
Introduction
  • The extensible markup language (XML) is de facto
    the standard language for the exchange of
    information on the Internet and represents an
    important opportunity to provide fine-grained
    access control.
  • XML, XSL, XLink, XPath
  • This paper exploits XMLs own capabilities to
    define and implement an authorization model for
    regulating access to XML documents.

6
Introduction
  • The rationale for their approach is defining an
    XML markup for a set of security elements
    describing the protection requirements of XML
    documents.
  • This security markup can be used to provide both
    instance and schema-level authorizations at the
    granularity of XML elements.

7
Introduction
  • The enforcement of the requirements stated by the
    authorizations produces a view of the documents
    for each requester the view includes only the
    information that the requester is entitled to
    see.

8
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

9
Preliminary Concepts
10
Preliminary Concepts
11
Preliminary Concepts
12
Preliminary Concepts
13
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

14
Authorization Subjects
  • Subjects requesting access are characterized by a
    triple ltuser-id, IP-address, sym-addressgt.
  • e.g., ltchenyang, 162.105.70.202, is.pku.edu.cngt

15
Authorization Subjects
  • Their model also supports user groups and
    location patterns.
  • A group is a set of users defined at the server.
  • Groups do not need to be disjoint and can be
    nested.
  • A location pattern is an expression identifying a
    set of physical locations. ()
  • e.g., 162.105.. or 162.105., .pku.edu.cn

16
Authorization Subjects
  • Definition Hierarchy. A hierarchy is a triple (X,
    Y, ), where is a partial order on Y, called
    the dominance relation, and X Y is the set of
    minimal elements of Y with respect to the partial
    order.

17
Authorization Subjects
  • A user-group hierarchy UGH (U, UG, UG), where
    U is a set of user identifiers and UG U?G, with
    G a set of group names in which users are
    organized. Given two elements x, y ? UG, x UG y
    if and only if x is a member of y. In most
    practical applications the hierarchy is rooted at
    a group, called Public or Any, to whom everybody
    (directly or indirectly) belongs.

18
Authorization Subjects
  • An IP hierarchy IPH (I, IP, IP), where I is a
    set of completely specified numerical addresses
    and IP is a set of IP patterns. Given two
    elements x, y ? IP, x IP y if and only if each
    component of y is either the wild card character
    or is equal to the corresponding (positionwise
    from left to right) component of x.

19
Authorization Subjects
  • A symbolic name hierarchy SNH (S, SN, SN),
    where S is a set of completely specified symbolic
    names and SN is a set of symbolic name patterns.
    Given two elements x, y ? SN, x SN y if and only
    if each component of y is either the wild card
    character or is equal to the corresponding
    (positionwise from right to left) component of x.

20
Authorization Subjects
21
Authorization Subjects
  • User-group hierarchies are arbitrary DAGs, and IP
    and symbolic name hierarchies are necessarily
    trees.
  • Only the user-group hierarchy needs to be
    explicitly defined and stored at the server (or
    retrieved at access control time).

22
Authorization Subjects
  • We allow the specification of authorizations with
    reference to both user/group and location, not
    only to one of them.

23
Authorization Subjects
  • Definition Authorization subject hierarchy. The
    authorization subject hierarchy is a hierarchy
    ASH (R, AS, AS), where R ltUISgt, AS
    ltUGIPSNgt, and ltugi, ipi, snigt AS ltugj, ipj,
    snjgt , if and only if ugi UG ugj, ipi IP ipj,
    and sni SN snj.

24
Authorization Subjects
  • Authorizations can be defined with reference to
    any of the elements of ASH.
  • e.g.
  • ltchenyang, , gt
  • ltPublic, 162.105.70.202, gt
  • ltchenyang, ,is.pku.edu.cngt

25
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

26
Authorization Objects
  • URI path expressions
  • Definition Path expression. A path expression on
    a document tree is a sequence of element names or
    predefined functions separated by character /
    (slash) l1/l2//ln. Path expressions may
    terminate with an attribute name as the last term
    of the sequence. Attribute names are
    syntactically distinguished by preceding them
    with special character _at_.

27
Authorization Objects
  • absolute or relative
  • path expression may contain "." or ".." or "//"
  • /department//leader
  • path expressions may also include functions
  • The name of a function and its arguments are
    separated by a double colon .
  • research/ancestordepartment
  • ps/attributexlinkhref
  • /department/childmedical staff//city

28
Authorization Objects
29
Authorization Objects
  • The syntax for XPath expressions also permits us
    to associate conditions with the nodes of a path.
  • Conditional expressions may be combined via and
    and or operators to build Boolean expressions.

30
Authorization Objects
  • e.g.
  • /department/research/project/publications/psposit
    ion()1
  • /department./_at_name "Medicine" and ./division
    "Cardiology"/medical staff/nurse
  • /department/research/project./_at_type"public"1

31
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

32
Access Authorization Specifications
  • Basic Features of the Access Authorizations
  • granularity from DTD (meaning the set of its
    instances) to single elements/attributes within
    individual documents
  • authorizations can be positive or negative
  • local/recursive authorizations
  • authorizations propagate until overridden by an
    authorization on a more specific object

33
Access Authorization Specifications
  • Basic Features of the Access Authorizations
  • (organization) DTD-level, (site) DTD-level,
    instance-level
  • "most specific takes precedence" principle
  • allow users to specify instance-level
    authorizations as soft and DTD-level
    authorizations as hard

34
Access Authorization Specifications
  • The priority order from the highest to the
    lowest is LDH, RDH, L, R, LD, RD, LS, and RS

35
Access Authorization Specifications
  • Access Authorizations
  • Definition Access Authorization. An access
    authorization a ? Auth is a five-tuple of the
    form ltsubject, object, action, sign, typegt,
    where
  • subject ? AS is the subject to whom the
    authorization is granted
  • object is either a URI in Obj or is of the form
    URIPE
  • action read is the action being authorized or
    forbidden
  • sign ? , - is the sign of the authorization
  • type ? LDH, RDH, L, R, LD, RD, LS, RS is the
    type of the authorization

36
Access Authorization Specifications
37
Access Authorization Specifications
  • Example
  • Hospital's policy (organization DTD-level)
  • Department and division names are publicly
    accessible. a-b
  • Information about the name and home address of
    medical staff and of patients must be accessible
    to the members of Administrative group connected
    from domain .hospital.com. c-d
  • Information about the salary of the medical staff
    and the cost of the therapy of all patients of
    the hospital must be accessible to the members of
    group Administrative connected from host
    159.101.80.5. e-f Everybody else must be
    explicitly forbidden access to this information.
    g-h

38
Access Authorization Specifications
  • Example
  • department's policy (site DTD-level)
  • Information about medical staff working in the
    Medicine department with exception of their
    salary and home address, is publicly accessible.
    i-j-k
  • Information about patients hospitalized in a
    given division is accessible only to the
    physicians working in the same division. m-n
  • Information about the research activity of the
    Medicines divisions is accessible only to the
    medical staff of the hospital. o-p

39
Access Authorization Specifications
  • Example
  • division's policy (instance level)
  • Information about private projects of the
    Cardiology division is accessible to the
    physicians working in the Cardiology division
    when connected from network 159.. q No one
    else can access information about private
    projects. r
  • Information about patients illnesses is
    accessible to nurses of the Cardiology division
    unless otherwise stated at the DTD level. s
  • Information about name, drug, and room of
    patients hospitalized in the Cardiology division
    is accessible to the members of NurseC group.
    t-u-v

40
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

41
Requester's View On Documents
  • Document Tree Labeling
  • this paper associates with each node n an array,
    n.veclabel, of eight components
  • t?LDH,RDH,L,R,LD,RD,LS,RS
  • n.veclabelt.sign , - or e
  • n.veclabelt.Allowed
  • n.veclabelt.Denied
  • n.finlabel

42
Requester's View On Documents
43
Requester's View On Documents
  • conflict resolution policy
  • most specific subject takes precedence
  • denials take precedence
  • permissions take precedence
  • nothing takes precedence
  • This paper combines two conflict resolution
    policies.
  • most specific subject/denials take precedence

44
Requester's View On Documents
45
Requester's View On Documents
46
Requester's View On Documents
  • the three values , -, and e are interpreted as
    values of three-valued logic of Lukasiewicz
  • e is mapped to 0 (false)
  • is mapped to 1 (true)
  • - is mapped to ½ (indeterminate)
  • n.veclabelt.sign ? (-n.veclabelt.sign ?
    p.veclabelt.sign)
  • n.veclabelt.sign ? p.veclabelt.sign
  • masklocal sets to e the sign field of components
    LDH, L, LD, and LS.

47
Requester's View On Documents
48
Requester's View On Documents
49
Requester's View On Documents
  • The pruned document may be not valid with respect
    to the DTD referenced by the original XML
    document.
  • To avoid this problem, a loosening transformation
    is applied to the DTD.
  • Loosening a DTD simply means to define as
    optional all the elements and attributes marked
    as required in the original DTD.

50
Requester's View On Documents
51
Requester's View On Documents
  • performance
  • authorization objects
  • XPath
  • exponential time for the evaluation of path
    expressions
  • several works identify restrictions on XPath that
    reduce its complexity characteristics
  • Buneman et al. 2000
  • Deutsch and Tannen 2001
  • Mendelzon and Wood 1995

52
Requester's View On Documents
  • performance
  • the evaluation of node labels
  • InitialLabel linear in the number of
    authorizations associated with the document
  • GetFinalLabel and Prune linear in the number of
    nodes in the document
  • SetLabel quadratic in the highest number of
    authorizations of a given type that are
    associated with the node
  • It is, however, legitimate to assume the number
    of such authorizations to be very small, and
    limited by a reasonable constant, making the
    SetLabel method also linear in the number of
    nodes in the document.

53
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

54
Supporting Write Actions
  • insert, delete, and update
  • Insert operations are evaluated by executing the
    labeling process on the document with the new
    node inserted.
  • positive ?insert successfully
  • negative ? remains unchanged
  • Deletion of a node is permitted only if the
    labeling of the document produces a final
    positive label for the node to be deleted.

55
Supporting Write Actions
  • Updates are evaluated by executing the labeling
    process on both the existing document and on the
    document that results from the execution of the
    update.
  • if the final label associated with the node being
    updated is positive in both versions the
    operation is completed successfully
  • otherwise it is rejected

56
Supporting Write Actions
  • When the XML document is modified, the system
    must also check the correctness of the document
    with respect to the DTD and, if the document is
    not valid, the write must not be accepted.
  • write requests often refer to sets of nodes
    (typically a subtree in the document)
  • a transactional mechanism based on the deferral
    of controls

57
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

58
Software Architecture
59
Software Architecture
  • Parsing
  • the syntax check
  • obtain an object-oriented document graph
    according to the DOM format
  • Compute view
  • Compute-view algorithm
  • Unparsing

60
Software Architecture
  • The Java Implementation
  • http//seclab.dti.unimi.it/xml-sec
  • DOM API IBMs XML4J processor

61
Contents
  • Introduction
  • Preliminary Concepts
  • Authorization Subjects
  • Authorization Objects
  • Access Authorization Specifications
  • Requester's View On Documents
  • Supporting Write Actions
  • Software Architecture
  • Conclusions

62
Conclusions
  • The access control system proves simple and of
    easy integration with existing applications.
  • future work
  • the consideration of requests in the form of
    generic queries
  • extension of the model to role- and
    credential-based authorizations
  • the investigation of performance optimizations
Write a Comment
User Comments (0)
About PowerShow.com