dr. bhavani thuraisingham

34
Dr. Bhavani Thuraisingham September 24, 2008 Building Trustworthy Semantic Webs Lecture #9: RDF and RDF Security

Upload: jethro

Post on 06-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

Building Trustworthy Semantic Webs Lecture #9: RDF and RDF Security. Dr. Bhavani Thuraisingham. September 24, 2008. Objective of the Unit. This unit will provide an overview of RDF and then discuss some security issues. Outline of the Unit. Why RDF? What is RDF? RDF Specifications - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dr. Bhavani Thuraisingham

Dr. Bhavani Thuraisingham

September 24, 2008

Building Trustworthy Semantic Webs

Lecture #9: RDF and RDF Security

Page 2: Dr. Bhavani Thuraisingham

204/20/23 21:17

Objective of the Unit

0 This unit will provide an overview of RDF and then discuss some security issues

Page 3: Dr. Bhavani Thuraisingham

304/20/23 21:17

Outline of the Unit

0 Why RDF?

0 What is RDF?

0 RDF Specifications

0 RDF Schema (RFDS)

0 RDF Axiomatic Semantics and Inferencing

0 RQL

0 Policies in RDF

0 Summary and Directions

0 Examples throughout the lecture

Page 4: Dr. Bhavani Thuraisingham

404/20/23 21:17

Why RDF?

0 XML cannot be used to specify semantics0 Example:

- Professor is a subclass of Academic Staff- Professor inherits all properties of Academic Staff

0 RDF was specified so that the inadequacies of XML could be handled

0 RDF uses XML Syntax0 Additional constructs are needed for RDF

Page 5: Dr. Bhavani Thuraisingham

504/20/23 21:17

RDF

0 Resource Description Framework is the essence of the semantic web

0 Adds semantics with the use of ontologies, XML syntax0 RDF Concepts

- Basic Model =Resources, Properties and Statements

- Container Model=Bag, Sequence and Alternative

Page 6: Dr. Bhavani Thuraisingham

604/20/23 21:17

RDF Basics

0 Resource: Everything is a resource- Person, Vehicle, etc.

0 Property: properties describe relationships between resources- E.g., Invented

0 Statement: (Object, Property, Value) Triple- Berners Lee invented the Semantic Web

Page 7: Dr. Bhavani Thuraisingham

704/20/23 21:17

RDF Specification

<rdf: RDF xmlns: rdf = “http://w3c.org/1999/02-22-rdf-syntax-ns#” xmlns: xsd = “http:// - - - xmlns: uni = “http:// - - - -

<rdf: Description: rdf: about = “949352” <uni: name = Berners Lee</uni:name> <uni: title> Professor < uni:title> </rdf: Description>

<rdf: Description rdf: about: “ZZZ”< uni: bookname> semantic web <uni:bookname>< uni: authoredby: Berners Lee <uni:authoredby>

</rdf: Description>

</rdf: RDF>

Page 8: Dr. Bhavani Thuraisingham

804/20/23 21:17

Example0 The following example illustrates a part of an RDF document describing books:

Building_Trustworthy_Semantic_Webs and

Managing_and_Mining_Multimedia_Databases. They belong to Class ‘Book’ and have

properties: author, publisher, year and ISBN.

0 <?xml version="1.0"?>

0 <rdf:RDF

0 xmlns:book="http://www.example.com/book#"

0 xmlns:owl="http://www.w3.org/2002/07/owl#"

0 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

0 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

0 <book:Book rdf:ID="Building_Trustworthy_Semantic_Webs">

0 <book:author>Bhavani Thuraisingham</book:author>

0 <book:publisher>Auerbach Publications</book:publisher>

0 <book:year>2007</book:year>

Page 9: Dr. Bhavani Thuraisingham

904/20/23 21:17

Example

0 <book:ISBN>0849350808</book:ISBN>

0 </book:Book>

0 <book:Book rdf:ID="Managing_and_Mining_Multimedia_Databases">

0 <book:author>Bhavani Thuraisingham</book:author>

0 <book:publisher>CRC Press</book:publisher>

0 <book:year>2001</book:year>

0 <book:ISBN>0849300371</book:ISBN>

0 </book:Book>

0 </rdf:RDF>

Page 10: Dr. Bhavani Thuraisingham

1004/20/23 21:17

RDF Schema

0 Need RDF Schema to specify statements such as professor is a subclass of academic staff

<rdfs: Class rdf: ID = “professor”

<rdfs: comment>

The class of Professors

All professors are Academic Staff Members.

<rdfs: comment>

<rdfs: subClassof rdf: resource = “academicStaffMember”/>

<rdfs: Class>

Page 11: Dr. Bhavani Thuraisingham

1104/20/23 21:17

Example

0 <The RDF schema for the above RDF document is as follows:

0 <?xml version="1.0"?>

0 <rdf:RDF

xmlns:owl="http://www.w3.org/2002/07/owl#"

0 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

0 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

0 xmlns:wsp="http://www.w3.org/2004/08/20-ws-pol-pos/ns#">

0 <rdfs:Class rdf:ID="Book">

0 <rdfs:comment>Book Class</rdfs:comment>

0 <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-

ns#Resource"/>

0 </rdfs:Class>

Page 12: Dr. Bhavani Thuraisingham

1204/20/23 21:17

Example

0 <rdf:Property rdf:ID="author">

0 <rdfs:Comment>Author of the book</rdfs:Comment>

0 <rdfs:domain rdf:resource="#Book"/>

0 <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/>

0 </rdf:Property>

0

0 <rdf:Property rdf:ID="publisher">

0 <rdfs:Comment>Publisher of the book</rdfs:Comment>

0 <rdfs:domain rdf:resource="#Book"/>

0 <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/>

0 </rdf:Property>

0

Page 13: Dr. Bhavani Thuraisingham

1304/20/23 21:17

Example

0 <rdf:Property rdf:ID="year">

0 <rdfs:Comment>Year of first publication of the book</rdfs:Comment>

0 <rdfs:domain rdf:resource="#Book"/>

0 <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/>

0 </rdf:Property>

0

0 <rdf:Property rdf:ID="ISBN">

0 <rdfs:Comment>ISBN of the book</rdfs:Comment>

0 <rdfs:domain rdf:resource="#Book"/>

0 <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Literal"/>

0 </rdf:Property>

0

0 </rdf:RDF>

Page 14: Dr. Bhavani Thuraisingham

1404/20/23 21:17

RDF Container Model

0 Bag: Unordered container, may contain multiple occurrences- Rdf: Bag

0 Seq: Ordered container, may contain multiple occurrences- Rdf: Seq

0 Alt: a set of alternatives- Rdf: Alt

Page 15: Dr. Bhavani Thuraisingham

1504/20/23 21:17

RDF and Security

0 RDF specifications have been given for Attributes, Types Nesting, Containers, etc.

0 How can security policies be included in the specification0 Example: consider the statement “Berners Les is the Author

of the book Semantic Web”0 Do we allow access to the connection between author and

book? Do we allow access to the connection but not to the author name and book name?

Page 16: Dr. Bhavani Thuraisingham

1604/20/23 21:17

RDF Policy Specification

<rdf: RDF xmlns: rdf = “http://w3c.org/1999/02-22-rdf-syntax-ns#” xmlns: xsd = “http:// - - - xmlns: uni = “http:// - - - -

<rdf: Description: rdf: about = “949352” <uni: name = Berners Lee</uni:name> <uni: title> Professor < uni:title>Level = L1 </rdf: Description>

<rdf: Description rdf: about: “ZZZ”< uni: bookname> semantic web <uni:bookname>< uni: authoredby: Berners Lee <uni:authoredby>

Level = L2</rdf: Description>

</rdf: RDF>

Page 17: Dr. Bhavani Thuraisingham

1704/20/23 21:17

Policy Specification

0 The examples we have discussed earlier show how certain policies may be specified for RDF documents. A more detailed example is given below.

0 <?xml version="1.0"?>

0 <rdf:RDF

0 xmlns:book="http://www.example.com/book#"

0 xmlns:owl="http://www.w3.org/2002/07/owl#"

0 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

0 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

0 <book:Book rdf:ID="Building_Trustworthy_Semantic_Webs">

0 <book:author>Bhavani Thuraisingham</book:author>

0 Level = Secret

0 <book:publisher>Auerbach Publications</book:publisher>

0 Level = Confidential

Page 18: Dr. Bhavani Thuraisingham

1804/20/23 21:17

Policy Specification

0 <book:year>2007</book:year>

0 Level = Unclassified

0 <book:ISBN>0849350808</book:ISBN>

0 Level = Confidential

0 </book:Book>

0

0 <book:Book rdf:ID="Managing_and_Mining_Multimedia_Databases">

0 Level = Confidential

0 <book:author>Bhavani Thuraisingham</book:author>

0 Level = Secret

0 <book:publisher>CRC Press</book:publisher>

0 Level = Unclassified

Page 19: Dr. Bhavani Thuraisingham

1904/20/23 21:17

Policy Specification

0 <book:year>2001</book:year>

0 Level = Unclassified

0 <book:ISBN>0849300371</book:ISBN>

0 Level = Unclassified

0 </book:Book>

0 </rdf:RDF>

Page 20: Dr. Bhavani Thuraisingham

2004/20/23 21:17

RDF Schema: Security Policies

0 How can security policies be specified?

<rdfs: Class rdf: ID = “professor”

<rdfs: comment>

The class of Professors

All professors are Academic Staff Members.

<rdfs: comment>

<rdfs: subClassof rdf: resource = “academicStaffMember”/>

Level = L

<rdfs: Class>

Page 21: Dr. Bhavani Thuraisingham

2104/20/23 21:17

RDF Axiomatic Semantics

0 First order logic to specify formulas and inferencing- Built in functions (First) and predicates (Type)- Modus Ponens- From A and If A then B, deduce B

0 Example: All containers are Resources- Type(?C, Container) Type(?c, Resource)- If we have Type(A, Container) then we can infer

(Type A, Resource)

Page 22: Dr. Bhavani Thuraisingham

2204/20/23 21:17

RDF Inferencing

0 While first order logic provides a proof system, it will be computationally infeasible

0 As a result horn clause logic was developed for logic programming; this is still computationally expensive

0 RDF uses If then Rules

0 IF E contains the triples (?u, rdfs: subClassof, ?v)

and (?v, rdfs: subClassof ?w)

THEN

E also contains the triple (?u, rdfs: subClassOf, ?w)

That is, if u is a subclass of v, and v is a subclass of w, then u is a subclass of w

Page 23: Dr. Bhavani Thuraisingham

2304/20/23 21:17

RDF Query

0 One can query RDF using XML, but this will be very difficult as RDF is much richer than XML

0 Is there an analogy between say XQuery and a query language for RDF?

0 RQL – an SQL-like language has been developed for RDF0 Select from “RDF document” where some “condition”

Page 24: Dr. Bhavani Thuraisingham

2404/20/23 21:17

Policies in RDF

0 How can policies be specified?0 Should policies be specified as shown in the examples,

extensions to RDF syntax?0 Should policies be specified as RDF documents?0 Is there an analogy to XPath expressions for RDF policies?

- <policy-spec cred-expr = “//Professor[department = ‘CS’]” target = “annual_ report.xml” path = “//Patent[@Dept = ‘CS’]//Node()” priv = “VIEW”/>

Page 25: Dr. Bhavani Thuraisingham

2504/20/23 21:17

Example Policies

0 Temporal Access Control

- After 1/1/05, only doctors have access to medical records

0 Role-based Access Control

- Manager has access to salary information

- Project leader has access to project budgets, but he does not have access to salary information

- What happens is the manager is also the project leader?

0 Positive and Negative Authorizations

- John has write access to EMP

- John does not have read access to DEPT

- John does not have write access to Salary attribute in EMP

- How are conflicts resolved?

Page 26: Dr. Bhavani Thuraisingham

2604/20/23 21:17

Privacy Policies

0 Privacy constraints processing

- Simple Constraint: an attribute of a document is private

- Content-based constraint: If document contains information about X, then it is private

- Association-based Constraint: Two or more documents taken together is private; individually each document is public

- Release constraint: After X is released Y becomes private

0 Augment a database system with a privacy controller for constraint processing

Page 27: Dr. Bhavani Thuraisingham

2704/20/23 21:17

Policies,in RDF

0 Now, in previous examples, we have specified policies for RDF documents. Now, can we use RDF to specify policies? That is, how can RDF be used to specify the following policy?

0 “Only those attending a class from a professor has read access to the lecture notes of the professor”

0 Below we specify this policy in RDF.

0 </rdf:RDF>

0 xmlns:uni=http://www.w3.org/2002/07/universityonto#

0 xmlns:policy="http://www.example.com/policyonto#"

0 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

0 <uni:LectureNotes rdf:ID="Data_Quality.doc">

0 <uni:Author>Bhavani Thuraisingham</uni:author>

0 <policy:AccessBy rdf:resource=http://localhost/bhavani/cs609/>

0 </rdf:RDF>

Page 28: Dr. Bhavani Thuraisingham

2804/20/23 21:17

Policies in RDF

0 <rdf:RDF

0 xmlns:uni=http://www.w3.org/2002/07/universityonto#

0 xmlns:policy="http://www.example.com/policyonto#"

0 xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#>

0 <uni:Class rdf:ID="cs609">

0 <uni:taughtyBy>Bhavani Thuraisingham</book:author>

0 </rdf:RDF>

Page 29: Dr. Bhavani Thuraisingham

2904/20/23 21:17

Access Control Strategy0 Subjects request access to RDF documents under two modes: Browsing and

authoring

- With browsing access subject can read/navigate documents- Authoring access is needed to modify, delete, append documents

0 Access control module checks the policy based and applies policy specs0 Views of the document are created based on credentials and policy specs0 In case of conflict, least access privilege rule is enforced0 Works for Push/Pull modes0 Query Modification?

Page 30: Dr. Bhavani Thuraisingham

3004/20/23 21:17

System Architecture for Access Control

UserPull/Query Push/result

RDFDocuments

RDF-Access

RDF-AdminAdmin Tools

Policybase

Credentialbase

Page 31: Dr. Bhavani Thuraisingham

3104/20/23 21:17

RDF Databases

0 Data is presented as RDF documents

0 Query language: RQL

0 Query optimization

0 Managing transactions on RDF documents

0 Metadata management: RDF Schemas?

0 Access methods and index strategies

0 RDF security and integrity management

Page 32: Dr. Bhavani Thuraisingham

3204/20/23 21:17

RDF Databases

0 select Book, NumInStock

0 from {Book} book:authoredBy {Author}

0 . book:Stock {NumInStock}

0 Where Author Like “Bhavani*”

0 using namespace

0 book = http://www.example.com/book#

0 The requestor does not have access to the number of book copies in the stock. Therefore, new modified Query:

0 select Book

0 from {Book} book:authoredBy {Author}

0 Where Author Like “Bhavani*”

0 using namespace

0 book = http://www.example.com/book#

Page 33: Dr. Bhavani Thuraisingham

3304/20/23 21:17

Inference/Privacy Control

Policies

Ontologies

Rules

RDF DatabaseRDFDocumentsWeb Pages, Databases

Inference Engine/Rules Processor

Interface to the Semantic WebTechnologyBy UTD

Page 34: Dr. Bhavani Thuraisingham

3404/20/23 21:17

Summary and Directions

0 RDF is beginning to be used

0 Very little work on RDF security

0 How can we specify the policies discussed in this unit in RDF?

0 How can query modification be carried out for RDF documents?

0 Design access control for RDF databases