Secure Publishing of XML Documents Bhavani Thuraisingham October 29, 2010.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

UDDI v3.0 (Universal Description, Discovery and Integration)
Using Multi-Encryption to Provide Secure and Controlled Access to XML Documents Tomasz Müldner, Jodrey School of Computer Science, Acadia University, Wolfville,
Digital Signatures and Hash Functions. Digital Signatures.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
6/1/20151 Digital Signature and Public Key Infrastructure Course:COSC Instructor:Professor Anvari Student ID: Name:Xin Wen Date:11/25/00.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Secure Knowledge Management Dr. Bhavani Thuraisingham The National Science Foundation September 2004.
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
DSAC (Digital Signature Aggregation and Chaining) Digital Signature Aggregation & Chaining An approach to ensure integrity of outsourced databases.
DSAC (Digital Signature Aggregation and Chaining) Digital Signature Aggregation & Chaining An approach to ensure integrity of outsourced databases.
Long-term Archive Service Requirements draft-ietf-ltans-reqs-00.txt.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Secure Knowledge Management: and.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
Effectively Integrating Information Technology (IT) Security into the Acquisition Process Section 5: Security Controls.
Selective and Authentic Third-Party distribution of XML Documents - Yashaswini Harsha Kumar - Netaji Mandava (Oct 16 th 2006)
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Cryptography, Authentication and Digital Signatures
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Introduction1-1 Data Communications and Computer Networks Chapter 6 CS 3830 Lecture 31 Omar Meqdadi Department of Computer Science and Software Engineering.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
Chapter 16 Security Introduction to CS 1 st Semester, 2012 Sanghyun Park.
Secure and Selective Authentication and Access Control of XML Documents Bhavani Thuraisingham April 8, 2009 Lecture #22.
Dr. Bhavani Thuraisingham August 2006 Building Trustworthy Semantic Webs Unit #1: Introduction to The Semantic Web.
MagicNET: Security System for Protection of Mobile Agents.
Digital Forensics Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #4 Data Acquisition September 8, 2008.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
XML Meta Documents Security Based on Extended Provisional Authorization.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #22 Secure Web Information.
Dr. Bhavani Thuraisingham The University of Texas at Dallas Trustworthy Semantic Webs March 25, 2011 Data and Applications Security Developments and Directions.
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Dr. Bhavani Thuraisingham September 2006 Building Trustworthy Semantic Webs Lecture #5 ] XML and XML Security.
Dr. Bhavani Thuraisingham September 24, 2008 Building Trustworthy Semantic Webs Lecture #9: RDF and RDF Security.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #24 Semantic Web and Security.
Dr. Bhavani Thuraisingham September 18, 2006 Building Trustworthy Semantic Webs Lecture #9: Logic and Inference Rules.
Dr. Bhavani Thuraisingham January 14, 2011 Building Trustworthy Semantic Webs Lecture #1: Introduction to Trustworthy Semantic Web.
Task Force CoRD Meeting / XML Security for Statistical Data Exchange Gregory Farmakis Agilis SA.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #19 Digital Libraries, Semantic.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
Data and Applications Security Developments and Directions
Building Trustworthy Semantic Webs
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Building Trustworthy Semantic Webs
Securing XML Documents Through Merkle Hash Trees
Data and Applications Security Developments and Directions
Information and Security Analytics
Data and Applications Security Developments and Directions
Lecture #6: RDF and RDF Security Dr. Bhavani Thuraisingham
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Building Trustworthy Semantic Webs
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Addressing confidentiality issue in third party xml publication
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Electronic Payment Security Technologies
Access Control in Data Management Systems
Instructor Materials Chapter 5: Ensuring Integrity
Data and Applications Security Developments and Directions
Data and Applications Security Developments and Directions
Ensuring Correctness over Untrusted Private Database
Presentation transcript:

Secure Publishing of XML Documents Bhavani Thuraisingham October 29, 2010

Motivation Digital Evidence Represented in XML (eXtensivle Markup Language) XML documents have to be secured XML has become the standard document interchange language for the web XML is a critical technology for the semantic web RDF and other specifications are built on XML XML documents must satisfy security and privacy policies Challenges: Access Control, Secure publishing, Secure Web Services Applications, Securing RDF, Secure semantic web, Temporal models, Privacy, Handling evolving XML specifications Based on paper published in IEEE Transactions on Knowledge and Data Engineering, October 2004 (Bertino, Ferrari, Carminati, Thuraisingham)

Example XML Document NSF Patents Asset Year: 2003 Name: UTD Expenses Dept Author Short-desc ID Annual report Assets Asset Equipment Books Patent Other Tot Funds Date 6/1/03 Type Amout 1m$ Date Dept UTD Tech-details Patent Cash CS Fund

9/12/20154 Users Publishing Service WEB Push/Pull modes Security requirements: Confidentiality Integrity Authenticity Completeness Publishing service: how it works A new class of information-centered applications based on Data dissemination Possible scenarios: Information commerce (Digital libraries, Electronic news, etc.) Intra-company information systems

Subject Credentials, Protection Objects and Policy Base Subjects are given access to XML documents or portions of documents depending on user ID and/or Credentials Credential specification is based on credentials a subject has Professor is a credential; Secretary is a credential Protection objects are objects to which access is controlled Entire XML documents or portions of XML documents Policy base stores security policies for protecting the XML source contents

Subject Credential Base Example Alice Brown UTD CS Security John James UTD CS Senior

9/12/20157 Policy Base Example......

Access Control Strategy Subjects request access to XML documents under two modes: Browsing and authoring With browsing access subject can read/navigate documents Authoring access is needed to modify, delete, append documents Access control module checks the policy based and applies policy specs Views of the document are created based on credentials and policy specs In case of conflict, least access privilege rule is enforced Works for Push/Pull modes

System Architecture for Access Control User Pull/Query Push/result XML Documents X-AccessX-Admin Admin Tools Policy base Credential base

9/12/ Third-Party Architecture Credential base policy base XML Source User/Subject Owner Publisher Query Reply document SE-XML credentials The Owner is the producer of information It specifies access control policies The Publisher is responsible for managing (a portion of) the Owner information and answering subject queries Goal: Untrusted Publisher with respect to Authenticity and Completeness checking

Subject Owner Interaction Subjects register with Owner during subscription phase; during this phase subject is assigned by owner credentials stored at the owner site Owner returns to the subject the Subject Policy Configuration (policy identifiers) that apply to the subject signed with the private key of the owner Example: If polices P1 and P2 apply to John (e.g. CS prof) and policy P6 applies to Jane (IST secretary), owner Joe sends John P1 and P2 and to Jane P6 signed with Joe’s private key

9/12/ owner1 CS Texas VtaUBIxliHS1hzrqkKhYVTtYrafVSmCoJPkUVKYXCA7yVdc7a/ne5sgIg0tGGRe3 /D2Xg6Fbwp3SAKK/Ref1teZCpD0nlkx89GOIIcw8o9R3Mb2YY/slk5+Fu0xxWXlB YuWKWWNsXENKTkgiXL4mB1SUt4bmF6YG4lTxfxduVAw= Subject Policy Configuration P1, P2

Owner Publisher Interaction For each document the owner sends the publisher the following information Information on which subjects can access which portions of the document according to the policy base (I.e. access control policies) Policy element which describes the policies for the document is also inserted Also for each element e based on the policies applied to e, the owner inserts policy configuration (binary string) converted to hexadecimal representation Merkle Signature of each document The document together with the security information is called “Security Enhanced Document” (SE-XML) and will enable the subject to verify the authenticity of the document Additional information encoded in the document called Secure Structure is used by the subject to verify completeness of the result

9/12/ Policy Configuration/Policy Element Consider the element e of an XML document d The policy configuration of e consists of a binary string, of m bits where the i-th bit is equal to: 1 if the policies, whose identifier is i, is applied on e 0 otherwise SE-XML document has information about the set of the m policies applied to the document: 1, 2, 3, 4, 5, 6, 7 For each element, policy information in hexadecimal representation is also inserted Where m is the number of policies applied on document d

9/12/ Policy Configuration: example Consider the short-descr element of the CS dept: The only policies applied to it are: 1st and 4th policy (i.e. P1, P4) According to the Policy element, these policies are located in the first and fourth position of the policy configuration The policy configuration associated with short-descr element is short-descr ’s PC value is 90 (hexadecimal representation)

9/12/ Publisher Policy evaluation: example 1. Decrypt with the Public key of the Owner the policies applied to the subject (i.e., the Subject Policy Configuration) P1, P2 2.Match the obtained policy identifiers with the identifiers contained in the Policy element i.e. match P1, P2 with P1, P2, P3, P4, P5, P6, P7 3.Find the policies applicable to the element specified in the query (e.g., short description element) P1, P4 4.Find the matching policies from steps 2 and 3 P1 The only policies applied on Short-descr element is “P1”

9/12/ Policy Information Merkle Signature XML Document SE-XML Document Security Enhanced XML document

9/12/ MhX(Author)=h(h(Author)||h(Author.value)) MhX(title)=h(h(title)||h(title.value)) title Author paragraph Politic_page Literary_page Paragraphs title date title Author titleAuthor topic titleAuthor topic titleAuthor topic titleAuthor topic Article Newspaper Frontpage Leading Sport_page news Politic paragraph MhX(paragraph)=h(h(paragraph)||h(paragraph.content)|| MhX(Author)||MhX(title)) Merkle Signature Example

9/12/ MhX(Newspaper)=h(h(Newspaper)||h(Newspaper.content)|| MhX ()……||MhX()||…||MhX()) title Author Politic_page Literary_page Paragraphs title date title Author titleAuthor topic titleAuthor topic titleAuthor topic titleAuthor topic Article Newspaper Frontpage Leading Sport_page news Politic paragraph MhX(Newspaper) Merkle Signature of Newspaper XML file Merkle Signature Example

9/12/ Security Enhanced XML document: Example 1,2,3,4,5,6, /AnnualReport>

9/12/ ,2,3,4,5,6,7 /x > Secure Structure Example

Subject Publisher Interaction The subject submits queries to publisher; it also sends its subject policy configuration Publisher computes a view of the requested documents based on access control policies for the subject set by the owner To verify the authenticity of the answer, subject must recompute the same bottom up hash value signed by owner (i.e. Merkle signature) and compare it with the Merkle signature generated by the owner and inserted by the publisher Subject may not get the entire document; therefore publisher sends to the subject additional hash values that refer to the missing portions of the document Subject verifies the authenticity of the document

9/12/ Merkle Hash Paths

9/12/ <x x ="rVR5DQ" x ="QTQXS“ Sign="OD2mc9aVV/tP4g3TG+1kr4sFhdio="> 1,2,3,4,5,6,7 <x x ="fNhtL" x ="hgKID" x ="..." PC_ATTR="080808"/> <x x ="gPd39" x ="hgKID" x ="..." PC_ATTR="060602"/> <x x ="o4GpM" x ="yr0QjJ" x ="..." PC_ATTR="060602"/> /x > Completeness Verification Verify authenticity and integrity of ST by using the Merkle Signature Verify the completness 1.Translate the submitted query 2.Evaluate the obtained query on the secure structure 3.Check the policy configuration 4.Hash the result answer received by the Publisher 5.Match it with the obtained node- set. x /*

Applications to Digital Forensics Owner is the FBI person who collects the forensics Publisher is the FBI web site that may be hacked (e.g., CENTCOM was hacked recently – 60 minutes CBS Nov 8, 2009) Subject is an FBI agent located anywhere in the US or in the world Digital evidence represented as an XML document (XML is now used for digital evidence) Not all agents have access to all evidence Policies set by owner will specify who has access to what

APPENDIX Bhavani Thuraisingham November 11, 2009

Reply Document Generation Algorithm Reply Generator Algorithm Input: SE-XML version of XML document d; A query q on d submitted by s; the policy configuration of s Output: Reply document r Evaluate q on d and return a well-formed XML document containing all and only the nodes satisfying q Determine which access control policies apply to each node satisfying q Remove from node-set the nodes that s is not authorized to see based on information in SE-XML for d All the attributes in the resulting document are replaced with an AtteibuteElement element An additional attribute called MhPath is inserted in each node to be returned to s Insert Merkle signature of d Rebuild document by taking the set of nodes returned from the above steps and transform into a well-formed document

Example Reply Document Reply document generated by Publisher to an IST Professor who requests all the patents of CS department MhPath attribute associated with Short-descr contains all the hash values needed to computer the Merkle has value of Patent starting from Short-descr. Patent Authors Short-descr Sign MhPath

Authentication: Authenticable Element Document d = (Vd, vd, Ed, Fed) is defined as follows: Vd is the set of all element nodes and attribute nodes in d, vd is the node representing the document element called the document root, Ed is the set of edges in d, and FEd is the edge labeling function Definition 1: Let d = (Vd, vd, Ed, FEd) be an XML document, let g = (Vg, vg, Eg, FEg) be the SE-XML version of d, and r = (Vr, vr, Er, FEr) be the reply document to a query on d submitted by s. Let VT be the set of terminal nodes of r. Let Vr,e be the set of element nodes in the reply document r. For each v in Vr, e, v is authenticable by s iff. there exists vt in VT with v in path(vt) such that it is possible through a recursive bottom up computation to compute the Merkle hash value of vd using only the values in {w.MhPath: w is in path(vt)} Theorem 1: Let g = (Vg, vg, Eg, FEg) be the SE-XML version of an XML document d and r = (Vr, vr, Er, FEr) be the reply document corresponding to a query submitted on d by subject s. Each node in Vr,e is authenticable by s Proof of Theorem is by Induction on the length of the relative path of w with respect to v where v is in VT, w is in Vd and v is in path(w)

Authentication Subject Verification Algorithm Subject Verification Algorithm: Input: Reply document r = (Vr, vr, Er, FEr) Output = True if all nodes in r are authentic. False otherwise Starting from each terminal node in the reply document, the algorithm recomputes the Merkle hash value of the root of document d through a bottom-up computation that uses the values of attributes MhPath of each node belonging to the path connecting the terminal node to the root of the reply document The obtained value is compared with the decryption of the Merkle Signature of d using the Owner’s public key If the two values coincide then all the nodes belonging to the path are authentic, otherwise the algorithm terminates and returns false

Authentication:Authentic Element Definition 2: Let g = (Vg, vg, Eg, FEg) be the SE-XML version of d, and r = (Vr, vr, Er, FEr) be the reply document to a query on d submitted by s. Each node v in Vr, e is authentic iff. V is authenticable by s and the computed Merkle has value of vd is equal to the decryption of Sign.val using the Owner public key Theorem 2: Let s be a subject, q be a query submitted by s, and r be the reply document received by s as an answer to q. Subject verification algorithm returns True iff. Each v in Vr,e is authentic where Vr,e is the set of element nodes in the reply document r Proof: By theorem 1 all nodes of a reply document correspond to elements are authenticable by s. Therefore bt definitions 1 and 2, there exists for each vt in VT a recursive bottom-up computation able to compute Merkle hash value of the root of the document d using only the values of MhPath attributes of all nodes belonging to path (vt), and this value coincides with the decryption of the value of the Sign attribute with the Owner public key The proof is to show that this recursive bottom-up computation is implemented by the Subject Verification Algorithms

Potential Attacks and Performance Issues Attacks Subject attacks Subject Si eavesdropping during subscription phase of subject Sm Subject attacking the secure structure and deducing sensitive attributes Publisher attacks Publisher changes the Sign element in SE-XML Performance Issues Update management Modification of document implies changes to Merkle hash and SE-XML document Storage complexity of security information E.g, SE-XML and Secure Structure

Challenge: Integrating Confidentiality and Authentication Currently the portion of the Publisher that actually enforces the access control policy must be trusted I.e. Trust with respect to Confidentiality Challenge: How can we come up with a unified approach that ensures Confidentiality, Authenticity and Completeness Directions: Apply access control policies to portions of the document and encrypt the views computers; only those authorized to see the views have the keys for decryption Querying encrypted databases

Application: Secure Web Services How authenticity, confidentiality and integrity can be ensured in the presence of an untrusted UDDI? Traditional techniques are not enough! Possible solutions: Integrity, confidentiality: selective encryption of the data managed by the UDDI according to the specified access control policies Authenticity: Merkle hash trees Additional security properties: Completeness Consistency

9/12/ Authenticity ….traditional digital signatures do not fit well in third-party architectures!! Service requestor Service provider UDDI Query BusinessEntity BusinessService BindingTemplate BusinessService tModel PublisherAssertion

9/12/ Merkle Signature An alternative way to sign an XML doc By applying a unique digital signature on an XML doc it is possible to ensure the authenticity of: the whole document any portion of it It uses a different way to compute the digest of XML docs, based on the Merkle tree authentication mechanisms BusinessEntity BusinessService BindingTemplate tModel PublisherAssertion