Access Control Policy Translation and Verification Within Heterogeneous Data Federations Gregory Leighton Denilson Barbosa University of Alberta June 11,

Slides:



Advertisements
Similar presentations
A Polynomial-Time Algorithm for Global Value Numbering SAS 2004 Sumit Gulwani George C. Necula.
Advertisements

Chungnam National University DataBase System Lab
Software Requirements
SPLGraph: Towards a Formalism for Software Product Lines Itay Maman IBM Research – Haifa Goetz Botterweck Lero – The Irish software Engineering Research.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Relational Database and Data Modeling
Presented to: By: Date: Federal Aviation Administration Registry/Repository in a SOA Environment SOA Brown Bag #5 SWIM Team March 9, 2011.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Addition Facts
Relational data objects 1 Lecture 6. Relational data objects 2 Answer to last lectures activity.
1 Term 2, 2004, Lecture 3, NormalisationMarian Ursu, Department of Computing, Goldsmiths College Normalisation 5.
Limitations of the relational model 1. 2 Overview application areas for which the relational model is inadequate - reasons drawbacks of relational DBMSs.
Formal Models of Computation Part III Computability & Complexity
Database Design: ER Modelling (Continued)
|epcc| NeSC Workshop Open Issues in Grid Scheduling Ali Anjomshoaa EPCC, University of Edinburgh Tuesday, 21 October 2003 Overview of a Grid Scheduling.
Dr. Alexandra I. Cristea CS 319: Theory of Databases: C3.
Dr. A.I. Cristea CS 319: Theory of Databases: FDs.
ZMQS ZMQS
Reductions Complexity ©D.Moshkovitz.
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
INTERNET PROTOCOLS Class 9 CSCI 6433 David C. Roberts Entire contents copyright 2011, David C. Roberts, all rights reserved.
Configuration management
Software change management
1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
1 Lecture 5: SQL Schema & Views. 2 Data Definition in SQL So far we have see the Data Manipulation Language, DML Next: Data Definition Language (DDL)
Information Systems Today: Managing in the Digital World
A Normal Form for XML Documents Marcelo Arenas Leonid Libkin Department of Computer Science University of Toronto.
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
3 Logic The Study of What’s True or False or Somewhere in Between.
Creating Tables. 2 home back first prev next last What Will I Learn? List and provide an example of each of the number, character, and date data types.
A D ICHOTOMY ON T HE C OMPLEXITY OF C ONSISTENT Q UERY A NSWERING FOR A TOMS W ITH S IMPLE K EYS Paris Koutris Dan Suciu University of Washington.
Software Requirements
Squares and Square Root WALK. Solve each problem REVIEW:
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
Computing Structural Similarity of Source XML Schemas against Domain XML Schema Jianxin Li 1 Chengfei Liu 1 Jeffrey Xu Yu 2 Jixue Liu 3 Guoren Wang 4 Chi.
Introduction to Databases
XML: Extensible Markup Language
Kleene's Theorem We have defined the regular languages, using regular expressions, which are convenient to write down and use. We have also defined the.
Addition 1’s to 20.
25 seconds left…...
Introduction to Computability Theory
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Conjunctive Grammars and Alternating Automata Tamar Aizikowitz and Michael Kaminski Technion – Israel Institute of Technology WoLLIC 2008 Heriot-Watt University.
Week 1.
Distributed DBMS©M. T. Özsu & P. Valduriez Ch.15/1 Outline Introduction Background Distributed Database Design Database Integration Semantic Data Control.
ANHAI DOAN ALON HALEVY ZACHARY IVES CHAPTER 14: DATA PROVENANCE PRINCIPLES OF DATA INTEGRATION.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.

Advanced Topics in Algorithms and Data Structures
This document and the information therein are the property of Morpho, They must not be copied or communicated to a third party without the prior written.
Using Multi-Encryption to Provide Secure and Controlled Access to XML Documents Tomasz Müldner, Jodrey School of Computer Science, Acadia University, Wolfville,
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Firewall Policy Queries Author: Alex X. Liu, Mohamed G. Gouda Publisher: IEEE Transaction on Parallel and Distributed Systems 2009 Presenter: Chen-Yu Chang.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
Database Systems and XML David Wu CS 632 April 23, 2001.
Page 1 Multidatabase Querying by Context Ramon Lawrence, Ken Barker Multidatabase Querying by Context.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
XML-to-Relational Schema Mapping Algorithm ODTDMap Speaker: Artem Chebotko* Wayne State University Joint work with Mustafa Atay,
Selective and Authentic Third-Party distribution of XML Documents - Yashaswini Harsha Kumar - Netaji Mandava (Oct 16 th 2006)
Semantic Analysis Legality checks –Check that program obey all rules of the language that are not described by a context-free grammar Disambiguation –Name.
The main mathematical concepts that are used in this research are presented in this section. Definition 1: XML tree is composed of many subtrees of different.
1 Tutorial 14 Validating Documents with Schemas Exploring the XML Schema Vocabulary.
XML Access Control Koukis Dimitris Padeleris Pashalis.
Access Control Policy Languages in XML Lê Anh Vũ Võ Thành Vinh
Lecture 9: Query Complexity Tuesday, January 30, 2001.
XML: Extensible Markup Language
Presentation transcript:

Access Control Policy Translation and Verification Within Heterogeneous Data Federations Gregory Leighton Denilson Barbosa University of Alberta June 11, 2010

Outline Problem setting, challenges, and background Access control policy translation Verification of translated access control policies – Static analysis – Dynamic analysis Expressing translated policies in XACML Open issues & future work June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 2

PROBLEM SETTING, CHALLENGES, & BACKGROUND June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 3

Problem Setting June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 4 PatientSSN A. Smith B. Wilson PnameSSNAge F. Brown C. Murray patients patient namessn patient “A. Smith”“ ” namessn “B. Wilson”“ ” namessnage “C. Murray”“ ””65” Data Source 1Data Source n 11 nn … Each publishing function  I is a contract specifying how relational database contents are exposed as XML to the larger data federation A1A1 AnAn … Each data source also has an access control policy A i defined over the local database Each data source also defines an identity mapping function I, specifying an assignment of each local user to one or more federated identities

Challenges Individual data sources are often independently maintained – Each ACP is defined over a set of local identities – Need a centralized user authentication system capable of translating local identities into federated identities valid across the federation, without violating need to know principle Many access control models for relational and XML data already exist… but translating from one to the other must be done manually and is non-trivial due to several factors – “Real world” relational ACPs can be very large (hundreds of rules defined over a large set of database objects) – Hierarchical nature of XML introduces extra difficulties (when is it appropriate for permissions to be propagated from a parent node to a child?) – Combining ACPs originating from different data sources can lead to policy conflicts June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 5

We represent the publishing function  as a publishing transducer (Fan et al 2007) where – Q is a set of states; –  is a finite tag alphabet; – q 0 is the designated start state associated with the root tag r   ; –  is a finite set of transduction rules. Transduction rules are of the form (q, a)  (q 1, a 1,  1 (x 1 ; y 1 )),…, (q k, a k,  k (x k ; y k ))  = (Q, , q 0,  ) XML Publishing Transducers States in Q Tags in Σ Queries on D and/or local node register Conjunctive (=,≠) OR F.O. (=) OR inflationary fixpoint (=) 6ACP Translation/Verification Within Heterogeneous Data FederationsJune 11, 2010 ____

ACP Translation/Verification Within Heterogeneous Data Federations 7 ssnnameage Carol Doug45 (q 0,patients) (q 1,patient) (q (q 1,name)(q 1,age) (q (q 1 name)(q 1,age) Carol Doug45 ssnnameage Carol31 ssn name Carol age 31 Transduction Rule:

ACCESS CONTROL POLICY TRANSLATION June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 8

June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 9 Access Control Models for XML Many XML access control models have been proposed, specifying how permissions may be specified over an XML tree – Policy language (typically, an XPath fragment) – Rule scope (node, node+attributes, node+text, node+ descendents,…) – Conflict resolution policy, default semantics (allow vs. deny) But… these models say nothing about how an SQL access control policy can be equivalently expressed over a published XML tree! What’s needed: the ability to augment a publishing function  with additional information needed to preserve the original SQL ACP A over the published XML document  (D) – a secure publishing function ʹ

ACP Translation Framework June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 10 ACP Translator Rel. Schema S Rel. ACP A Publishing Function  Identity Mapping I Secure Publishing Function  We represent a secure publishing function as a secure publishing transducer (SPT), which extends the definition of a publishing transducer in two ways: Each tree node generated during the transduction process is assigned an access bitstring, recording the relevant permissions for that node Additional transduction rules are needed to model conditional access permissions (i.e., separate rules are needed to handle both possibilities: where the condition is/is not satisfied)

June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 11 Preservation of Access Control Policies A secure publishing function  ʹ preserves an SQL access control policy A if, for each federated ID f and permission p, the following conditions are satisfied over the XML tree  ʹ(D): 1.(Sufficiency condition) For every relational database object o made accessible to f by A under permission p, the XML representation of o in  ʹ(D) is also accessible to f within the context of permission p. 2.(Necessity condition) The XML representation of a database object o in  ʹ(D) is only made accessible to f within the context of p if o was originally made accessible to f by A under permission p.

June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 12 Transduction Rules Each rule in has the form where is a state in ; is a tag in ; and each are access bitstrings; and is a query on and/or the local node register. Example access bitstring: st bit: Carol holds “select” permission 2 nd bit: Carol holds grant option for “select” 3 rd bit: Carol holds “insert” permission 4 th bit: Carol does not hold grant option for “insert” 5 th bit: Doug holds “select” permission 6 th bit: Doug does not hold grant option for “select” 7 th bit: Doug does not hold “insert” permission 8 th bit: Doug does not hold grant option for “insert” In general, bitstrings will be of length

June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 13 Expressibility Problem For arbitrary relational database D with schema S, relational ACP A, and publishing function , can one always find a secure publishing function ʹ that preserves A over  (D)? Result: an algorithm for solving the expressibility problem (see paper) – Applicable when  can be expressed as a publishing transducer – Time complexity:

VERIFICATION OF TRANSLATED ACCESS CONTROL POLICIES June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 14

Verification of Translated ACPs Two Problem Variants Dynamic VerificationStatic Verification June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 15 Policy Verifier SAI  (D)(D)   (D)  ? Policy Verifier SAI     ? D Inputs: rel. schema S; rel. ACP A; identity mapping function I; S.P.T.   ; database instance D (for dynamic variant only)

Dynamic Verification June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 16 Applicable for scenarios where database contents do not change frequently (e.g., archival data) Procedure: 1.Derive S.P.T.   from supplied inputs S, A, I, and  2.For specific database instance D, obtain XML trees X 1 =   (D) and X 2 =  (D) and ensure that, at each tree position, the corresponding nodes in X 1 and X 2 i.Have the same label ii.Have the same number of children iii.Have the same bitstring assignment

Static Verification June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 17 Procedure: 1.Derive S.P.T.   from supplied inputs , S, A, and I 2.Verification of supplied S.P.T.  succeeds iff the following conditions are met: i.For every database D conforming to schema S,   (D) =  (D) ii.Relational ACP A and access bitstrings in  share the same semantics

Verification of Translated ACPs Computational Complexity June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 18 We consider the complexity of deciding both problem variants for various classes of S.P.T.s SPT ( L,S,A ), where L denotes the language of queries appearing in transduction rules (FO or CQ); S is either TP or RL, indicating whether each node register in produced XML tree stores a single tuple or a relation; and A specifies the complexity of queries appearing in the relational ACP rules (FO or CQ) SPT nr ( L,S,A ) denotes subclass of S.P.T.’s w/o recursion in transduction rules

Verification of Translated ACPs Computational Complexity June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 19 SPT classDynamic Verification Static Verification SPT( L,rl, A )2EXPTIMEundecidable SPT( L,tp, A) EXPTIMEundecidable SPT nr (FO,tp, A )PTIMEundecidable SPT nr (CQ,tp, A )PTIME  3 P -complete Dynamic verification: complexity is dominated by cost of materializing XML trees, given S.P.T.s  and   Static verification: complexity is dominated by need to decide equivalence b/w S.P.T.s  and  

EXPRESSING TRANSLATED ACPS IN XACML June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 20

Generating XACML From a Translated ACP June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 21 XACML Generator  XACML Policy Process is done at the schema level – only once for each  Generated XACML policy is applicable to all generated XML trees  (D)

Expressing Translated ACPs in XACML June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 22 Procedure: 1.Construct a rule reachability graph (RRG) from transduction rules in  Nodes are transduction rules; edge (i, j) indicates that i-th rule contains reference to j-th rule in its RHS and is labelled with the associated  query 2.Traverse RRG in preorder If last travelled edge is labelled with a conditional  query, need to resolve the condition into an equivalent XPath expression (see paper) Each time the bitstrings for a parent and child node in the RRG differ, a new XACML policy rule is created 3.Created XACML policy rules sharing the same subset of federated IDs as their subject are combined into a single policy rule

Future Work June 11, 2010 ACP Translation/Verification Within Heterogeneous Data Federations 23 Policy Translation Automating the discovery of a “smallest set” of federated identities needed to preserve semantics of each relational ACP, while also obeying need to know principle Minimization of secure publishing transducers Minimizing number of transduction rules Minimizing queries in each transduction rule Policy Verification In general, verification is difficult or undecidable – can subclasses of S.P.T.s for which verification is more tractable be identified? Consider additional problem variants Translated policy is specified as an XACML policy, not a S.P.T. List of federated users is not fixed – requires reasoning about ACPs instead of bitstrings

Final Slide Thank you Questions? June 11, ACP Translation/Verification Within Heterogeneous Data Federations